# Interactive dogfood results — 11 September 2026 The requested end-to-end filesystem workflows passed on the Mac, Windows VM and SmartNAS Ubuntu services. These checks preceded publication of 0.2.1; the report records the tested environments and workflows, not a guarantee for every server, ACL or browser. See [published-artifact validation](../../VALIDATION.md#published-021-artifacts) for release checks. Tests used actual Chromium/Playwright clicks, text entry, file choosers and browser downloads. Filesystem API calls were made by the application. Separate integration tests and filesystem/hash inspection verified results. Test environments were isolated from existing services and user data. ## Environments | Service host | Browser used | Storage exercised | | --- | --- | --- | | Mac, Apple Silicon | Headed Chromium on the Mac | Local filesystem; real SmartNAS SMB and NFSv4 | | Windows 11 VM, Python 3.12 | Chromium on the Mac; additional native Windows Chromium runs in headless mode | Local filesystem; real SmartNAS SMB and NFSv4 | | SmartNAS, Ubuntu 26.04, Python 3.14 | Headed Chromium on the Mac over an SSH tunnel | Local filesystem; its actual SMB and NFSv4 services | Native Windows Chromium separately passed local operations, transfers and scanner controls. Protocol operation checks on the Windows service used the browser on the Mac; those protocol workers ran on Windows. Ubuntu required the repository-pinned libnfs 6+ build: its installed version was 5.0.2. The library was built in the test directory and selected with `LIBNFS_LIBRARY`. Its secure NFS export rejected the unprivileged Ubuntu connection; a separate privileged test service, matching the documented system-service model, passed. No export permissions were changed. Mac and Windows NFS checks required no additional privilege changes. NFS writes used a dedicated directory owned by the export's squashed identity. The root export was not writable by that identity, and the application correctly failed the attempted root-level creation. SMB used existing BWS credentials, entered directly into the test UI; credentials were not printed or committed. Traces were disabled for runs involving those credentials. ## Verified workflows | Workflow | Evidence / scope | | --- | --- | | Browse local folders | Mac, Windows and Ubuntu; native Windows Chromium also passed | | Manually map SMB and NFSv4; browse real share/export | All three service hosts | | Create folders; create, edit, reopen and delete a text file; delete folders | Local filesystems on all three hosts; both real protocols on each host | | Favourite a folder, reload, reopen it, remove favourite | All three hosts, local and both protocols; SMB favourites retained encrypted credentials sufficiently to reconnect after reload | | Multi-file upload and text readback | Mac, Ubuntu and native Windows Chromium | | Cancel or confirm an overwrite prompt | Original preserved on cancel; replacement content verified on confirm, on all three platforms | | Cancel an active upload | Chromium upload throughput limited during an actual Ubuntu-bound upload; cancellation preserved the original file | | Batch copy between separate sessions; rename; move between sessions | Mac, Ubuntu and native Windows Chromium; destination verified, moved source absent, unrelated copied file retained | | Direct binary download | Actual browser download saved and compared byte-for-byte with the uploaded fixture on all three platforms | | Scanner start/stop/restart, custom CIDRs, close | Mac, Ubuntu and native Windows Chromium | | Scanner names and policy | Actual SmartNAS DNS name and IP displayed; NetBIOS column showed unavailable where the server did not answer. Out-of-policy ranges were rejected. Unit coverage also verifies simultaneous DNS/NetBIOS/IP values | | Save host SMB credentials, reload and reuse; forget credentials; unmount | Actual SmartNAS connection through the Mac service; share enumeration and reconnection verified | | Invalid/valid login; cancel/confirm logout | Mac UI; authenticated browsing ended after confirmation | | Read-only UI | File preview remained readable, Save was disabled, folder creation denied | | Filtering, sorting and narrow layout | Mac Chromium; 390-pixel viewport checked visually and by geometry, including opening/closing the sidebar without shrinking the file pane | | Staged multipart ZIP, pause/resume, download, extraction, purge | Actual network tests described below | The transfer and protocol exercises deleted their successful test trees. Failed-run leftovers, test favourites, the exported test directory and verified staged archives were subsequently removed. Existing NAS files and export configuration were preserved. Private test installations and the original synthetic source file remain available for review; downloaded artifacts remain on the Mac. ## Actual network multipart downloads ### SmartNAS-hosted batch → Mac Selected `network-100MiB.bin` (104,857,600 bytes) and `notes.txt` (19 bytes) through checkboxes. Chose ZIP, Custom, 40 MiB parts, and Start packing. Downloaded all three parts through Chromium to the Mac over the SSH network connection: | Part | Bytes | | --- | ---: | | selection.zip.001 | 41,943,040 | | selection.zip.002 | 41,943,040 | | selection.zip.003 | 20,971,855 | Joined the saved parts in order, passed ZIP CRC validation, extracted both files and compared their contents with the source fixture. 100 MiB file SHA-256: `af5dad64be58d4214a029ada597512a6e7cdb6bff06a96fcd47ebc52af6c531d` Notes SHA-256: `2c7ce8e7cefee9b62515ac4d0b78975c2506867b0eb2b3ef48b8f1484cdda530` The user's regular Chrome blocked the split-file download under its organisation policy. The user requested a dedicated Chromium/Playwright setup, which completed it. ### SmartNAS SMB → Mac-hosted packing → browser download Placed the same synthetic 100 MiB source in the dedicated exported test directory. Manually connected the Mac service to SMB, selected the file and started a 40 MiB multipart job. Paused packing through the UI, verified the paused state, resumed, and waited for completion. Downloaded the three resulting parts through Chromium, joined them, passed ZIP CRC validation, extracted the file and matched the same SHA-256 above. This additionally proves the archive worker reads the file over SMB from the actual NAS rather than only packing local storage. Cancelled the purge confirmation and verified the links remained. Confirmed purge, checked that its freed-byte count exactly equalled the downloaded part sizes, and used Clear purged to remove the record. Earlier completed jobs also survived the Ubuntu service restarts performed during native-library setup. ## Bugs found and fixed - **Installed CLI import collision:** Impacket installs a neighbouring `smbclient.py` script that shadowed smbprotocol's package when launching `remotefs`. The launcher now excludes its own directory from the import path. Subprocess regressions cover both launcher names and spawned workers. The normal installed CLI then passed the real SMB UI test. - **SMB replacement and conflicts on non-executable files:** the library's rename helper requested execute access on an existing destination. The adapted transaction requests metadata access, retains atomic/no-overwrite behavior, and checks resolved share identity. The upstream MIT notice is included in source/wheel distributions. The Samba fixture now creates non-executable files and passes replacement/conflict checks. - **Context menu blocking subsequent actions:** Upload and Paste could leave the menu overlay behind. Enabled actions now dismiss the menu before executing, preserving selection. Transfer runs and a regression test passed. - **Mobile sidebar squeezing the file list:** below 700 pixels the expanded sidebar now overlays the pane, has close/dismiss controls, and closes on navigation. Visual and geometry checks passed at 390 pixels; a regression verifies the pane columns remain stable. ## Supporting checks and artifacts - 126 Python tests passed, one skipped. - 10 frontend tests passed after the menu and mobile fixes. - Real Samba/NFS-Ganesha integration passed binary write/read/archive/conflict/replacement/copy/folder-move/delete, with non-executable SMB files. - Updated wheel built; adapted-code licence inclusion checked. Final builds installed into the isolated Windows and Ubuntu environments. - CI also runs packaging, native-library loading and platform checks. See the draft PR for the final commit's status. Local evidence is under `/tmp/remotefs-dogfood-20260911/chromium/`: per-host operation/transfer/scanner result JSON, screenshots, Playwright traces for synthetic-credential runs, `download-result.json`, downloaded/extracted batch files, and `smb-packed/result.json` with the second archive. Native Windows evidence is also retained in that VM's `remotefs-review-20260911/browser-evidence` directory; result JSON was copied into `chromium/native-windows/` on the Mac. These are temporary review artifacts, not shipped fixtures.