Commit Graph
100 Commits
Author SHA1 Message Date
danielandClaude Fable 5 500020ce47 fix: match Intel HDA controllers enumerated as subclass 0x01
Restricting the IntelHDA PCI match to subclass 0x03 (e0c02f7) hid the
speakers on modern laptops, where the same HDA controller enumerates
as 0x01 (Multimedia audio controller) when the Smart Sound DSP is
enabled. Match any multimedia subclass instead; legacy AC'97 devices
also report 0x01 but expose an I/O-space BAR0, which Probe already
rejects via the ReadBar0 check.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-10 12:41:28 +02:00
danielandClaude Fable 5 928fe0bbed fix: make BT A2DP output exclusive to one process
The A2DP output is a single unmixed PCM stream. A second process
opening audio while a stream was active would reconfigure the SBC
encoder and media clock under the owner and interleave both apps' PCM
into one ring, garbling playback (e.g. launching DOOM destabilized
Music). Add ClaimOutput/ReleaseOutput pid ownership: the first opener
gets the BT sink, later openers fall back to the HDA mixer, and only
the owner can tear the stream down. The scheduler releases ownership
on process exit so a killed app cannot leak the claim.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-10 12:41:17 +02:00
daniel 9519e174c0 feat: website/docs responsiveness, unified links 2026-07-09 23:21:10 +02:00
danielandClaude Fable 5 e1a5364824 fix: eliminate desktop stall when deleting large files
Deleting a big file froze the desktop for seconds: ext2 FreeBlock did 4
synchronous disk I/Os per data block (bitmap + BGDT read/write), and the
file manager deleted single files inline on the desktop main thread.

- Ext2: batch block frees per block group; keep the bitmap resident,
  clear bits in memory, flush bitmap + BGDT once per group transition.
  Also covers the truncate-on-overwrite path.
- Ext2: refuse to mount volumes with block size > 4096; temp buffers
  throughout the driver are single 4 KiB pages, so larger blocks would
  overflow them (our mkfs always uses 4K).
- Files: route single-file deletes past 4 MiB to the background worker
  + progress dialog; refuse (instead of stalling inline) when another
  file operation already owns the worker.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-09 23:20:19 +02:00
danielandClaude Opus 4.8 349816a63a feat: release notes for 0.1.7; archive 0.1.7 iso; bump version to 0.1.8
Cut the 0.1.7 release (docs/tutorials, HTML man pages, updated man pages,
libc floating-point formatting, DOOM missing-WAD warning, ramdisk copy fix).
Archive the 0.1.7 ISO, publish it to the website, refresh release notes and
the downloads page, and open the 0.1.8 dev cycle (apiVersion 9, BuildNo reset).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-09 12:32:31 +02:00
daniel 674b505f97 feat: add floating-point support to format functions in libc 2026-07-09 11:54:59 +02:00
daniel c3d157e880 feat: add warning in DOOM for missing wad 2026-07-09 11:43:21 +02:00
daniel 52b2d2a0d1 feat: "User's Manual" => "Tutorials" on montaukos.org docs 2026-07-09 11:35:29 +02:00
daniel 5d95140e16 feat: HTML man pages 2026-07-09 11:32:27 +02:00
daniel 5e58875e07 feat: fix ramdisk file copies being incorrectly marked as directories, update man pages 2026-07-09 11:19:06 +02:00
daniel 3d105e952b feat: update readme 2026-07-08 18:31:32 +02:00
daniel 9d87424c7b feat: update readme, add iso to website, website updates 2026-07-08 18:30:11 +02:00
daniel 6846a18363 feat: add new docs & tutorials; cleanup Main.cpp 2026-07-08 16:56:05 +02:00
danielandClaude Fable 5 fdd2a0eae5 feat: release notes for 0.1.6; archive 0.1.6 iso; bump version to 0.1.7
Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-08 16:36:49 +02:00
danielandClaude Fable 5 e0c02f76d3 fix: boot failure on VirtualBox legacy-BIOS VMs (AC'97 probed as HDA)
VirtualBox default VMs expose an AC'97 audio controller (8086:2415,
class 04/subclass 01) whose BAR0 is an I/O-space BAR. The IntelHDA
driver matched any Intel multimedia subclass, and ReadBar0 masked the
I/O BAR's port number into a bogus 'physical address' that MapMMIO
panicked on (non-page-aligned), halting boot.

Two fixes:
- IntelHDA now matches only subclass 0x03 (HD Audio); AC'97 (0x01) is
  a different programming model and is not claimed.
- ReadBar0 returns 0 (no usable MMIO BAR) for I/O-space BARs instead
  of handing a port number to MapMMIO.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-08 16:33:54 +02:00
danielandClaude Fable 5 e930c078a9 feat: release notes for 0.1.5; archive 0.1.5 iso; bump version to 0.1.6
Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-08 16:07:54 +02:00
danielandClaude Fable 5 bd7ad4f5d6 feat: default login-screen wallpaper
Ship a default wallpaper (blossoms by Nikhil Kumar, Unsplash License) in
a new 0:/os/wallpapers/ directory for OS-provided imagery, staged from
programs/data/wallpapers/. login.elf falls back to
0:/os/wallpapers/default.jpg when the desktop config names no wallpaper
or the configured file cannot be opened. Attribution added to
THIRD-PARTY-NOTICES.txt and man legal.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-08 16:07:27 +02:00
danielandClaude Fable 5 fe2cac7475 legal: CA bundle and Intel Bluetooth firmware notices
- THIRD-PARTY-NOTICES.txt gains sections for the Mozilla CA certificate
  bundle (0:/os/certs/ca-certificates.crt; Mozilla CA Certificate
  Program root store as packaged by Debian/Ubuntu ca-certificates,
  MPL-2.0) and the Intel Bluetooth firmware blobs
  (0:/os/firmware/intel/ibt-1040-0041.*, from linux-firmware, Intel
  redistributable firmware license).
- MPL-2.0 full text and Intel's firmware license (with its required
  copyright notice and disclaimer) ship at 0:/os/licenses/.
- Both added to the license's third-party list and man legal.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-08 15:15:47 +02:00
danielandClaude Fable 5 965c57b7a0 legal: TCC and Lua license declarations
- THIRD-PARTY-NOTICES.txt gains sections for the Tiny C Compiler
  (0.9.28rc, LGPL-2.1, modified for MontaukOS; source in
  programs/src/tcc/) and Lua (5.4.8, MIT, Lua.org PUC-Rio).
- LGPL-2.1 full text ships at 0:/os/licenses/LGPL-2.1.txt (copied from
  the vendored TCC COPYING); Lua's MIT text is reproduced in the
  notices file.
- Both components added to the license's third-party list and man legal.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-08 15:09:22 +02:00
danielandClaude Fable 5 841cfc9a54 legal: font license texts on the ISO; permissive source-available MontaukOS license
- Ship each bundled font's license at 0:/os/licenses/: OFL-1.1 copies for
  JetBrains Mono, Noto Serif, and Roboto, and AGPLv3 + font-embedding
  exception for C059 (URW Base 35).
- THIRD-PARTY-NOTICES.txt gains sections for all four font families and
  now describes MontaukOS as source-available.
- license.txt rewritten as the MontaukOS Software License: use, study,
  modify, and redistribute freely with attribution; selling or bundling
  into commercial products still requires permission. Replaces the
  previous no-copy/no-modify/no-redistribute EULA.
- The MontaukOS license itself now also ships on the ISO
  (0:/os/licenses/LICENSE.txt, sourced from the website copy).
- man legal updated: license pointer + full third-party component list.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-08 12:25:39 +02:00
danielandClaude Fable 5 fbf9eec7f3 legal: bundle third-party licenses on the ISO; stop shipping doom1.wad
- New 0:/os/licenses/ directory on the ISO with GPL-3.0.txt (Flat Remix
  icon theme), GPL-2.0.txt (doomgeneric DOOM engine), and NOTICES.txt
  (mirrors montaukos.org/THIRD-PARTY-NOTICES.txt).
- THIRD-PARTY-NOTICES.txt gains a Flat Remix section (GPLv3, attribution,
  modification and corresponding-source statements; the shipped SVGs are
  the source form).
- man legal now lists third-party components and points at 0:/os/licenses/.
- doom1.wad removed from the repo and the build: the shareware WAD is
  proprietary id Software content. doom.elf (GPLv2) still ships; users
  must supply their own WAD.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-08 12:16:55 +02:00
daniel 1d0e8a005e fix: A2DP reconnect fix 2026-07-08 11:57:52 +02:00
danielandClaude Fable 5 99997dd822 fix: display Bluetooth MAC addresses in conventional MSB-first order
bdAddr bytes are stored LSB-first (HCI wire order) throughout the stack,
but the bluetooth app and btbonds tool formatted them LSB-first too, so
every MAC displayed byte-reversed. Print addr[5] down to addr[0] instead.
Display-only change; wire-order parsing and syscalls untouched.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-08 10:57:48 +02:00
daniel f2a7e05620 feat: update montaukos.org site footer text 2026-07-08 10:27:55 +02:00
daniel 78494cb072 feat: add header dependency tracking for programs 2026-07-08 10:24:21 +02:00
daniel 857122c07c cleanup: rename shared libraries to remove 'lib' prefix 2026-07-08 10:12:32 +02:00
daniel 9eccdd9334 cleanup: remove test programs/libraries 2026-07-08 10:06:07 +02:00
daniel ab8c24844e fix: fix desktop app loading cap 2026-07-08 10:00:45 +02:00
danielandClaude Fable 5 c4480a3bf2 feat: reliable Bluetooth pairing, reconnection, and A2DP setup
Four fixes, each a root cause verified on hardware (AX211 + Bose QC Ultra):

1. Link Key Request Reply TRUNCATED: the pending-command queue's params
   buffer was 16 bytes; the reply is 22 (addr 6 + key 16).  The controller
   got 10 key bytes -> every stored-key reconnection failed authentication
   (status 5) since 2026-06-03 (0f16785).  Fresh pairings never touch this
   path, which kept the bug perfectly disguised as a headset quirk.

2. Secure Connections host support (0x0C7A) now enabled: bonds are minted
   as P-256 (Type=7), interoperable with BlueZ's, and SC-bonded peers can
   actually authenticate us.

3. Never write the BD_ADDR override (0xFC31) with the factory address:
   it desyncs the firmware's crypto address from the on-air one and ALL
   SSP pairing fails with status 5.  (The spoofing feature itself was
   already known-cosmetic: the baseband answers pages on the factory
   address regardless.)  import-bluez-bond.sh now removes the override.

4. A2DP channel setup: wait for Encryption Change before dialing L2CAP
   (post-SSP sinks ignore unencrypted CONN_REQ), and LISTEN 2.5s first --
   on reconnection the sink dials AVDTP itself and ignores our dials while
   doing so.  Ends the historical connRsp=FFFF retry-then-give-up failures.

Plus: queued security replies now log delivery + controller status.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-07 19:46:02 +02:00
danielandClaude Fable 5 b39a5f8739 feat: auth-failure bond recovery + BlueZ bond import for dual-boot BT
- On Authentication Failure (Auth Complete status!=0 -- previously swallowed
  silently -- or disconnect reason 0x05), drop the stale local link key so
  the next connect falls back to fresh SSP pairing instead of failing
  identically forever (BlueZ behavior).  Log the link-key exchange.

- scripts/import-bluez-bond.sh: copy a BlueZ link key into the MontaukOS
  key store on the installed root.  Root cause: the AX211 BD_ADDR override
  (0xFC31) is cosmetic -- the baseband answers pages on the FACTORY address,
  so peers see Linux and MontaukOS as ONE device with ONE key slot, and each
  OS's pairing clobbers the other's key.  Sharing identity + key ends the
  fight: both OSes reconnect (incl. autoconnect) without re-pairing.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-07 13:44:47 +02:00
danielandClaude Fable 5 77940cf896 feat: fully async Intel BT firmware bring-up + HCI multi-packet event reassembly
The BT firmware download now runs from the idle loop after boot (zero boot
stall), completing the async goal.  What made every earlier deferral attempt
fail was a months-latent HCI-layer bug, not the deferred environment:

  WaitCommandComplete returned after the FIRST USB packet of an event, but
  events larger than the 64-byte interrupt max-packet (like the AX211's
  96-byte FC05 TLV version response) span several packets.  Sending the next
  command while the tail of the previous response was still in flight wedges
  the AX211 bootloader into permanently ignoring commands.  Boot-time flanterm
  rendering added milliseconds between commands and accidentally paced the
  protocol past the race -- which is why the synchronous bring-up always
  worked and every log-suppressed (deferred) bring-up went mute at FC05 #2,
  regardless of scheduling/MSI/xHCI fixes.

  Fix: reassemble multi-packet Command Complete/Status events in the
  transfer callback; the mailbox is marked ready only when the declared
  event length has fully arrived.  This inherently paces command flow and,
  as a bonus, the TLV version read now sees the full response (sbe_type
  present -> ECDSA/RSA selection is no longer a guess).

Also: per-slot EP0 completion tracking in the xHCI (a waiting ControlTransfer
can no longer be released early by another device's EP0 completion).

Verified on the AX211: instant boot, background download, real BD_ADDR.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-07 12:31:30 +02:00
danielandClaude Fable 5 72f6c4449c feat: fast Intel BT firmware download (bulk-pipelined payload, no timeout burns)
Two fixes, verified on the AX211 (8087:0033), ibt-1040-0041.sfi, 720 KB:

1. TryHeader waited 1500+2000 ms for secure-send results after the CSS and
   key/signature sends, but on success this controller stays SILENT until
   the end of the whole download (traced) -- both timeouts always burned in
   full.  A rejection arrives within milliseconds, so 250 ms windows lose
   nothing and save ~3 s per cold boot.

2. The payload now goes over the bulk OUT endpoint with up to 7 fragments
   in flight (the btusb bootloader path for 0xFC09), replacing ~2900
   synchronous 3-stage EP0 control transfers.  Headers stay on EP0; the
   ACL TX DMA ring is reused (no ACL header, no NOCP credit accounting).
   DrainBulkTx() ensures all bytes reach the controller before waiting for
   the download-complete result.

Also in this branch since main: IRQ-safe BT-TRACE ring (KernelLogStream in
TransferCallback deadlocked on the terminal Mutex from MSI context), xHCI
interrupt-IN ZLP length fix, always-re-arm of the BT event pipe,
InPollContext same-core owner check, TLV version read retry.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-07 11:52:21 +02:00
danielandClaude Fable 5 dc89495011 merge main (charmap) into BT wip branch
Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-07 11:37:11 +02:00
danielandClaude Opus 4.8 45feef596f feat: enlarge and vertically center charmap footer text
Bump the selected character's name (16->19) and metadata (14->15) sizes, and
lay them out as a two-line block vertically centered on the preview glyph box
instead of top-aligned.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 21:26:29 +02:00
danielandClaude Opus 4.8 69100df8ac fix: grey out the charmap Copy button while showing "Copied"
Render the button in its disabled state during the post-copy confirmation
window, matching the Bluetooth app's greyed-out "Scanning..." button.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 21:24:27 +02:00
danielandClaude Opus 4.8 4c5c0fc96f fix: confirm copy via the button label instead of status text
Instead of a separate "Copied to clipboard" line beside the Copy button, flip
the button's own label to "Copied" for ~1.6s after a copy, then back to "Copy".
Simpler and keeps the footer uncluttered.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 21:21:51 +02:00
danielandClaude Opus 4.8 d1bca65cc7 fix: native Copy button and copy confirmation in charmap
The hand-rolled Copy button (bold, custom-shaded accent fill) and the floating
accent "toast" pill both looked out of place. Replace the button with the
canonical mtk::draw_button (BUTTON_PRIMARY), matching the Refresh button in
Devices and buttons elsewhere. Replace the floating pill with a plain
"Copied to clipboard" status line in the footer, right-aligned beside the Copy
button, that fades after ~1.6s — no overlay drawn over the character grid.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 21:18:44 +02:00
danielandClaude Opus 4.8 72e6e870b0 fix: make charmap scrollbar hug the panel edge
The scrollbar was placed inside the padded tile grid, leaving a gap above it
(below the tabs) and beside it (before the window edge). Give the scrollbar
its own viewport spanning the full panel between the tabs and footer, flush to
the right window edge, like the Devices/Music apps. The tile grid keeps its
margins and simply reserves the scrollbar width plus a gap on its right.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 21:13:30 +02:00
danielandClaude Opus 4.8 96cf44785f feat: use the shared mtk scrollbar in charmap
Replace charmap's hand-drawn scrollbar with the mtk scrollbar widgets
(scrollbar_track_rect / scrollbar_thumb_rect / draw_scrollbar), matching the
Devices and Music apps: standard 12px track colored SCROLLBAR_BG/FG with a
draggable thumb. Adds thumb drag, track-click-to-jump, and hover highlight
(mirroring devexplorer's handling); the tile grid reserves an SB_GUTTER on the
right sized from mtk::SCROLLBAR_W. The bar auto-hides when the set fits.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 21:07:19 +02:00
danielandClaude Opus 4.8 75fefa92d8 feat: use the shared mtk tab bar for charmap's top tabs
Replace charmap's bespoke tab drawing/hit-testing with mtk::draw_tab_bar /
mtk::hit_tab_bar so the top tabs match the canonical MontaukOS style used by
the Desktop Settings panel: a surface-colored bar with a bottom border, the
active tab cut out in window_bg with a 3px accent underline, active label in
accent and inactive labels in text_subtle. Tab height is now 36 (theme.tab_h).
Drops the custom hover tint (the canonical style has none).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 21:01:51 +02:00
danielandClaude Opus 4.8 0d67c5b8f7 feat: remove charmap in-window header, float the copy toast
The top header bar duplicated the window-manager title bar. Drop it: tabs
now sit at the top of the content area (window shrinks by the header's
height). The "Copied" confirmation moves from the header to a floating
accent toast anchored to the lower-right of the grid, drawn last.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 20:54:37 +02:00
daniel 8fdc10953b wip: BT firmware debugging 2026-07-06 18:17:06 +02:00
danielandClaude Opus 4.8 a513e2708d feat: add Character Map (charmap) MTK app
A standalone Window Server app for browsing curated sets of characters
and copying them to the clipboard for pasting into other apps.

- Four sets (Latin, Punctuation, Currency, Symbols) shown as a responsive,
  scrollable tile grid with category tabs, a live preview/detail footer,
  and a Copy button.
- Click a tile (or use arrow keys + Enter/Space) to select and copy; a
  transient toast confirms the copy. Mouse wheel scrolls; Tab cycles sets.
- Styled with the MTK theme (accent, surfaces, rounded tiles) to match the
  other Montauk apps, modeled on the calculator app.

The character set is deliberately the single-byte Windows-1252 range the
system font can render (the glyph cache only holds codepoints 0-255).
Copying writes the raw byte, so glyphs render identically here and in every
other single-byte-text Montauk app (copying UTF-8 would render as mojibake).

Registered in programs/GNUmakefile and scripts/install_apps.sh alongside
calculator; menu category "Applications", icon accessories-character-map.svg.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 18:07:23 +02:00
danielandClaude Fable 5 8bf3ceb457 wip: async BT firmware download attempt — DO NOT MERGE, breaks AX211 bring-up
Deferring the Intel BT firmware download off the boot path made the AX211
bootloader stop answering after the first FC05; even the final synchronous
revert freezes boot, so one of the 'neutral' fixes kept in this diff breaks
the bring-up on its own (candidates: BT-TRACE logging inside TransferCallback,
unconditional interrupt-IN re-queue after error completions on a halted EP,
xHCI interrupt-IN ZLP len fix interacting with HID, InPollContext owner
check).  Full history + next experiments in memory notes, 2026-07-05/06.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-06 15:46:06 +02:00
daniel 6a5eafb4fc feat: add Power GUI app (powermgr) 2026-07-05 11:34:27 +02:00
daniel 70702a21b0 feat: HWP scaling, C1E, closed-loop thermal governor for Intel CPUs 2026-07-05 10:51:11 +02:00
daniel daa17a325f fix: RTL-SDR bug fixes and accuracy improvements 2026-07-03 10:36:41 +02:00
daniel 108538f60c feat: add RTL-SDR, R820t drivers, radio APIs, and sdr demo tool 2026-06-22 11:49:16 +02:00
daniel 121f3f2081 cleanup: Bluetooth/A2DP code cleanup 2026-06-21 15:01:37 +02:00
daniel 18eb48e5df cleanup: purge unused sysinfo icon field from DesktopState 2026-06-21 14:33:50 +02:00
daniel d05672f637 fix: remove inaccurate virtual path (virtual://apps) 2026-06-21 14:29:27 +02:00
daniel af8d4f50cb feat: release notes for 0.1.4; archive 0.1.4 iso; bump version to 0.1.5 2026-06-21 12:46:48 +02:00
daniel 2897859c61 feat: auto-generate and verify TCC C API syscall numbers 2026-06-21 12:32:22 +02:00
daniel 06cee7bc32 feat: add btbonds command 2026-06-21 11:16:12 +02:00
daniel fc106e6c71 cleanup: rename Graphics:Cursor => Graphics::Framebuffer 2026-06-21 10:42:27 +02:00
daniel 3f26b8cdb4 feat: introduce bootloader-agnostic Boot Contract, add btlist command to list connected Bluetooth devices 2026-06-20 21:25:24 +02:00
daniel c86650d662 fix: lock crash report ring buffer (SMP race) and guard crashpad crash loop 2026-06-19 19:36:21 +02:00
daniel 925f28068f fix: convention fix, performance improvement in kcp::cstringstream 2026-06-19 18:37:19 +02:00
daniel 240399b0fb cleanup: remove early kernel-mode PanelBar functionality 2026-06-19 18:29:37 +02:00
daniel d93e111783 feat: add proclist command, fix TLS bug, link libc for system programs 2026-06-19 12:03:12 +02:00
daniel bbb6fcf0ee feat: add support for console sessions to crashpad and crash handling in kernel 2026-06-18 12:56:29 +02:00
daniel 233dbd3fdb fix: fix off-by-one in tabcompletion module 2026-06-18 12:21:19 +02:00
daniel a8d706a0d9 cleanup: const and type hygeine in tabcompletion module 2026-06-18 12:20:25 +02:00
daniel 3f91e85a3f fix: fix underflow in tabcompletion module 2026-06-18 12:12:51 +02:00
daniel cb1eb908aa feat: complete command completion in shell 2026-06-18 07:56:00 +02:00
daniel 2b8534f2b3 fix: terminal/klog build fix 2026-06-17 18:24:46 +02:00
daniel 41502ad35f fix: fix Terminal zoom inconsistency 2026-06-17 18:18:46 +02:00
daniel 8a838af5da fix: fix Terminal scrolling issue at zoom 2026-06-17 18:10:07 +02:00
daniel 75411e953f feat: add Console Session mode 2026-06-17 18:00:47 +02:00
daniel 36b03f070d feat: add cwd file matching to shell tab completion 2026-06-17 07:58:41 +02:00
daniel 6d6a41e366 feat: add support for shell builtins to command completion 2026-06-16 18:41:56 +02:00
daniel dea5d1ca59 fix: ensure tab completion is not reliant on single-digit volume number 2026-06-16 14:54:49 +02:00
daniel 21d6fbca95 fix: shell tab completion - ensure loop continues if file with non-.elf extension is encountered 2026-06-16 14:37:58 +02:00
daniel 29c131f65b feat: add rudimentary tab completion for executables to shell 2026-06-16 14:02:46 +02:00
daniel 43d43ac9ea cleanup: namespace Montauk (capital M) => montauk::abi 2026-06-16 09:09:16 +02:00
daniel b6ac5ac994 feat: allow MAC spoofing in Bluetooth stack, show paired devices in Bluetooth app 2026-06-16 08:49:06 +02:00
daniel 2bcc19f0fc fix: prevent NVMe completion-queue desync from breaking reads 2026-06-13 17:41:11 +02:00
daniel f8b86ae131 fix: fix scrolling cutoff for last entry in devexplorer 2026-06-13 17:13:15 +02:00
daniel 7fabfb6419 fix: fix TCP stack bugs 2026-06-13 17:06:54 +02:00
daniel 2c4fa4511a fix: sync template sysroot, add script 2026-06-12 11:56:20 +02:00
daniel f7c69c4ae4 feat: A2DP reliability improvements 2026-06-12 11:48:24 +02:00
daniel e0c8787727 feat: A2DP bluetooth audio working 2026-06-10 16:00:42 +02:00
daniel 4eb4ba4073 fix: fix UI issues in Files app dialogs 2026-06-07 10:56:43 +02:00
daniel 5d0e3ea6ce feat: add commit identifier to release notes for 0.1.3. 2026-06-07 10:36:11 +02:00
daniel 5d0d734e43 feat: release notes for 0.1.3; archive 0.1.3 iso; bump version to 0.1.4 2026-06-07 10:13:56 +02:00
daniel 472c36e992 fix: adjust copyright messages for accuracy to license 2026-06-07 09:34:30 +02:00
daniel 427876afa7 feat: filesystem and Files app support for >64 file entries, 64-bit sizes, async ops, GUI toolkit improvements to devexplorer app 2026-06-07 09:33:46 +02:00
daniel fc5f5cacf0 fix: fix Bluetooth shutdown delay with no active connections 2026-06-06 18:46:35 +02:00
daniel f0943d675f feat: disconnect Bluetooth devices, flush disks on shutdown/reboot, display progress in login.elf window 2026-06-06 18:27:19 +02:00
daniel 5a34376ce5 feat: use MTK toolkit widgets in login.elf, improve login.elf draw performance 2026-06-06 17:32:57 +02:00
daniel 0728dd58e5 feat: Word Processor discovers fonts automatically (via 0:/fonts), UI fix 2026-06-06 10:12:11 +02:00
daniel 8341082bd6 feat: libdialogs GUI tweaks 2026-06-05 19:29:21 +02:00
daniel 87433f3b7f feat: extend Files app marquee selection and highlight to list view 2026-06-04 07:47:42 +02:00
daniel 0f16785c9f feat: Intel BT firmware download, A2dp & Bluetooth audio progress 2026-06-03 18:05:17 +02:00
daniel ee6d1a388e feat: add licensing files 2026-05-30 10:42:56 +02:00
daniel d00c0deaf2 feat: add build numbering 2026-05-30 10:22:40 +02:00
daniel efadda8008 fix: delete redundant 0:/common directory, remove dead 0:/home fallback in Music and Video apps 2026-05-28 20:41:16 +02:00
daniel 89ee6464ac fix: move 0:/etc/ => 0:/os/certs/ 2026-05-28 20:30:00 +02:00
daniel f19b1887af feat: rename desktop-applets.toml => config-applets.toml 2026-05-28 20:01:51 +02:00
daniel ecf1b70e8f fix: fix VFS Delete op for Ramdisk driver 2026-05-27 18:06:27 +02:00