-
Firefox: controllers page
-
setup: redirect to login if admin user exists
-
setup: toggle visibility
-
Fix cards page loading performance (cf. #43) - [x] network request is taking 1.5s - [x] incremental loading - [x] sort cards list server side - [x] prefetch - [x]
tabular.modified
- [x] cache querySelector - [x] cache querySelectorAll - [x] per page cache implementation i.e. pass it intomodified
- [x] windmill - [x] nightly builds - [x] fade-in on loaded - [x] pre-populate cache on refresh - [x] sort rows by creation + name/number - [x] modified(...,options) - [x] scrollbar is gone after change to grid layout? - [x] Safari loading windmill doesn't go away``` - [x] rollback-all is really slow - [x] commit-all is really slow - [x] 'name' header overwritten on vscroll - [x] overview refresh errors - [x] refresh windmill is not showing - [x] scroll 'new' row into view -
Virtual lists - (?) content-visiblity - https://nolanlawson.com/2024/09/18/improving-rendering-performance-with-css-content-visibility - https://github.com/google/tachometer - [ ] Rework percolate/modified to use :has selector - https://www.joshwcomeau.com/css/has/
-
Occasional initialisation error: ./db.js does not provide an export named DB - Browser load issue maybe? (fixes itself with a page reload) - Check load order in HTML
-
Rationalise SASS styles - [ ] Everything everywhere should import _uhppoted first
-
(?) https://www.gnu.org/software/recutils/ - https://git.sr.ht/~timetoplatypus/recfile
-
(?) Maybe invoke CanXXX from object lists
-
(?) Set cookie.Secure to true for TLS requests
-
Figure out some way to secure users.json against manual rewriting
-
SCRAM authentication https://tools.ietf.org/html/rfc5802) - SubtleCrypto - PAKE (?) - https://en.wikipedia.org/wiki/WebAuthn
- Custom 'mode' dropdown to handle option click so that list can be updated asynchronously - https://stackoverflow.com/questions/3518002/how-can-i-set-the-default-value-for-an-html-select-element
- 'door' select chooses first item if list changes while select is open
- Optimize page display - [ ] Realize e.g. two pages and repopulate OIDs a la Android RecyclerView - https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API - [ ] Render/realize only if updated - [ ] (?) Keep DB in local storage
- https://vladimir.varank.in/notes/2022/05/a-real-life-use-case-for-generics-in-go-api-for-client-side-pagination/
-
refresh
is overwriting pending group edits - Replace dataset.original with value from DB
- validate Local::Device timezone on initialization
- limit number of pending 'update' requests (e.g. if device is not responding)
- Authzed
- Look into Temporal for date/time stuff
- https://tls-anvil.com/docs/Quick-Start/index
- https://jakub-m.github.io/2022/07/17/laport-clocks-formal.html
- (?) UCAN
- System font stack (https://llccing.github.io/30-seconds-of-css/)
-
(?)s Rework login to use Authorization header with Basic/Digest
-
Use browser local storage for DB - (?) ETags - https://ieftimov.com/posts/conditional-http-get-fastest-requests-need-no-response-body/
-
https://www.theregister.com/2022/06/20/redbean_2_a_singlefile_web
-
(?) Multi-tenant - https://stanislas.blog/2021/08/firecracker/
-
(?) Appliance - https://gokrazy.org
-
(?) Rearchitecture as data+rules
-
(?) Rearchitecture with channels
-
Rethink passing DBC to every call - it's only for the logs and maybe the audit trail could be updated from the catalog ?? - (?) broadcast channel - (?) event bus - (?) condition handlers a la Lisp - (?) package audit logger - ... although ... could be useful for (upcoming) server sent events
-
(?) 'Natural' number type (i.e. starts at 1) for device ID, card number, etc
-
Fix Firefox layout - https://css-tricks.com/snippets/css/better-helvetica/
-
Loading bar a la cybercode - progresss - indefinite
-
User menu - automatic logout enabled/timeout - (?) Export to uhppoted.conf - 'export' command line argument - 'export' admin menu option - 'auto-export' option (?)
- (?) Import from uhppoted.conf - 'import' command line argument - 'import' admin menu option - 'auto-import' option (?)
-
MAYBE: Store all values in catalog and 'realize' local copies from cache
-
Rename 'address' to 'endpoint' - https://networkengineering.stackexchange.com/questions/9429/what-is-the-proper-term-for-ipaddress-hostnameport
-
(?) Generate schema.js from catalog.Schema
-
favicon:https://nedbatchelder.com/blog/202012/favicons_with_imagemagick.html
-
Logo - https://math.stackexchange.com/questions/3742825/why-is-the-penrose-triangle-impossible - https://jn3008.tumblr.com/post/618100274778783744
-
Use 'modular' naming convention for colours, etc. e.g. tabular-row-colour
-
Cards - unit tests for auth rules - add - shadow DOM ??? - wrap templating in a decent error handler - redirect to error page - custom webelement (https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) - pin selected rows - virtual DOM - search & pin - labels from translations - apply to all (pinned ?) columns - simultaneous editing (?) -- use hash of DB to identify changes
-
MemDB - Rather use sync.Map - keep historical copies on save (for undo/revert) - git (?) - unit tests for ACL rules
-
tabular - Empty list: make first row a 'new' row (?) - filter columns - genericize JS:refresh - 'faceted' filtering (https://ux.stackexchange.com/questions/48992/sorting-filtering-on-infinite-scrolling-data-table)
-
(?) Restructure using event sourcing -- https://kickstarter.engineering/event-sourcing-made-simple-4a2625113224 -- CQRS
-
(?) Morton codes for catalog
-
TOML files
-
Hamburger menu (?)
-
Use shadow DOM for datetime combobox
-
Server events in addition to/rather-than refresh - https://jvns.ca/blog/2021/01/12/day-36--server-sent-events-are-cool--and-a-fun-bug/
-
Lighthouse test (Chrome dev tools)
-
CRDT - https://josephg.com/blog/crdts-go-brrr - [Braid](https://braid.org
-
Redesign using RDF/OWL triples ? - https://github.com/severin-lemaignan/minimalkb - https://www.w3.org/TR/rdf11-primer/#section-triple
-
'Macro' keys
-
Zootier input fields (e.g. https://css-tricks.com/float-labels-css)
-
Support alternative auth providers e.g. auth0
-
gitdb (?)
-
UI widgets and frameworks: - Shoelace - WebFlow - ExpertX - gridstack - toptal - Tabulator - Arwes - https://blog.datawrapper.de/beautifulcolors/ - http://csszengarden.com/219 - Colorways (for themes) - https://thenounproject.com - retool - plurid - []
-
Model editing in TLA+ -- e.g. add -> delete on rollback deletes -- e.g. add -> commit only enabled after modified
- SVG favicon
- https://security.stackexchange.com/questions/180357/store-auth-token-in-cookie-or-header
- https://auth0.com/docs/tokens/concepts/token-storage
- https://stackoverflow.com/questions/12130582/setting-cookies-with-net-http
- https://thewhitetulip.gitbooks.io/webapp-with-golang-anti-textbook/manuscript/4.0authentication.html
- https://jonathanmh.com/example-json-web-tokens-vanilla-javascript/
- https://golangcode.com/api-auth-with-jwt/
- https://github.com/cristalhq/jwt
- CSS Tabs
- WenAuthN
- ZUI
- plurid
- git/content-addressable filesystem
- Firefox: bug #1730211
- https://stackoverflow.com/questions/1728284/create-clone-of-table-row-and-append-to-table-in-javascript
- https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
- https://stackoverflow.com/questions/11688279/jquery-infinite-scroll-on-a-table
- https://uxdesign.cc/build-an-infinite-scroll-table-without-scroll-event-listener-5949ce8e9a32
- https://www.dusanstam.com/posts/material-ui-table-with-infinite-scroll
- http://scrollmagic.io/examples/advanced/infinite_scrolling.html
- https://github.com/janpaepke/ScrollMagic
- JSON-LS
- Microdata
- Vercel
- Riffle
- SASL
- https://maori.geek.nz/golang-desktop-app-webview-vs-lorca-vs-electron-a5e6b2869391
- https://github.com/wailsapp/wails
- https://blog.chromium.org/2022/12/introducing-passkeys-in-chrome.html
- https://replicache.dev/