The page's script is TypeScript in web/src, built and minified with swc
- web/src/*.ts: the script that was inline in index.html and login.html, split along its existing sections. Still one scope, concatenated in order, not modules. - web/build.mjs strips the types, puts the script in the page and minifies it with swc; build.rs runs it into OUT_DIR and web.rs include_str!s the result. 137 KB -> 106 KB. - npx tsc -p . type-checks web/src, loosely; the handful of annotations it needed change no behaviour. - The Docker build installs node and swc (npm ci --omit=dev). - Two list requests racing no longer let the older one win, and switching tabs clears the selection it closes, which made a browser test flaky. Closes #23, #24. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,9 +18,13 @@ The long form, with what was wrong before and how it was found, is in
|
||||
- Add a feed asks only for the feed; Popular and Directory in the sidebar are where you browse.
|
||||
- On a phone, an item's files, with play and delete, sit above its show notes rather than below
|
||||
them, where long notes left them looking missing.
|
||||
- The page is served minified, about a quarter smaller. Its script is now TypeScript in
|
||||
`web/src`, type-checked, and built with swc; building ipx needs node.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Switching tabs straight after marking everything read no longer shows the previous tab's
|
||||
items: of two lists asked for at once, only the later one is shown.
|
||||
- An item you open stays read. A list refresh that crossed with marking it read could put its
|
||||
unread dot back until the next refresh.
|
||||
- On the Unread tab, the item you were reading leaves the list as soon as you move to the next
|
||||
|
||||
Reference in New Issue
Block a user