Repository navigation
Redesign shared browser pages with responsive local assets - #32
Merged
storytellerF merged 1 commit intoOct 2, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Redesign Feiya's browser file-sharing, login, and messaging pages with a green sidebar layout on desktop and compact top navigation on phones. The file page now exposes loading, empty, failure, and retry states; messaging supports multiline drafts, connection feedback, explicit reconnect, and copying on LAN HTTP. Styles, scripts, and licensed Phosphor icons are bundled locally, removing the pages' CDN dependencies.
Network state and asynchronous work live in a DOM-independent Host inside a dedicated Worker. Draft editing stays synchronous in the page, and reconnecting does not replay messages.
Add explicit routes for
/login,/, and/messages, make/web/*available before login, and namespace HTML resources underfeiya/. Real-router tests exposed a collision with a dependency'sindex.html; removing the broad classpath static mapping ensures the intended page is served.Validation
:app:testDebugUnitTest: 63 tests passed, including real Ktor HTTP route, session, login, and bundled-resource coverage.:app:assembleDebug: passed.npm --prefix tests/web test: 6 Host tests passed.npm --prefix tests/web run test:browser: Chromium desktop/mobile checks passed for downloads, SSE refresh, empty/error/retry states, long filenames, literal untrusted text, sending/copying, IME input, disconnect/reconnect, invalid passwords, and passwordless login. No page JavaScript errors or external asset requests in the passing run.DEVELOPMENT.md.Browser interaction checks use mock HTTP/SSE/WebSocket endpoints. Ktor routing is tested separately on the JVM. An installed-device end-to-end flow and Alpha/Release builds were not run for this change. No CI workflow changes.