feat(honeybar): the HoneyOS bar, loaded at runtime
A strip along the top that leads to the other apps of the same system. It is served by HoneyOS; InkNote only says where to find it, through INKNOTE_HONEYBAR_ORIGIN. Empty means no bar and no change at all. The origin is served by the API rather than built into the page, because an image is pulled ready-made and a service worker keeps whole responses: anything frozen into index.html would outlive the setting. Layout follows the bar through --honeybar-h. The body has overflow:hidden, so the surplus height would not have scrolled but been cut off at the bottom; and #root padded itself around the notch that the bar now covers, which would have counted that gap twice. Unit 263/263, all fourteen browser suites green. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2ea448f091
commit
00b1d4469f
12 files changed
+144
-5
No files matched your search
@@ -169,6 +169,26 @@ The web UI listens on port `3000`, the API only inside the compose network. If a
|
||||
reverse proxy sits in front, bind the port to localhost (`"127.0.0.1:3000:80"`),
|
||||
otherwise the app is reachable on the host's address without TLS.
|
||||
|
||||
#### The HoneyOS bar
|
||||
|
||||
`INKNOTE_HONEYBAR_ORIGIN` puts a strip along the top of every page that leads to
|
||||
the other apps of the same system — it is served by HoneyOS, so what it looks
|
||||
like and which apps it lists are settled there, not here. Empty means no bar at
|
||||
all, and nothing about the app changes.
|
||||
|
||||
The value takes effect on restart: the page asks the server for it
|
||||
(`GET /api/public/config`) and loads the script itself. It is deliberately not
|
||||
built into the image — an image is pulled ready-made, and a service worker keeps
|
||||
whole responses, so anything frozen into `index.html` would outlive the setting.
|
||||
|
||||
`INKNOTE_HONEYBAR_KEY` is only needed when HoneyOS sits on a *different site*
|
||||
than InkNote (`honeyos.example.com` vs `notes.example.org`). The browser then
|
||||
withholds the HoneyOS session, and the bar has no other way to ask for the list
|
||||
of apps. Under a shared domain it can stay empty.
|
||||
|
||||
Offline there is no bar — it comes from another server. The app itself is
|
||||
unaffected, which is the right way round for one that is built to work offline.
|
||||
|
||||
---
|
||||
|
||||
## API Reference
|
||||
|
||||
Reference in new issue
Block a user