- Chats/PM: message bubbles (own messages right with accent, others left),
compact meta, all via the existing .chat-message-self hooks — no view changes.
- Forums: shrink the oversized vote widget to a small horizontal bar, flatten
the nested boxes into one clean comment block, indent replies by depth so
threads read as threads, tone down the highlighted-reply frame.
- Reply/compose: Signal-style row — a growing text box plus a round send
button with a ↩ / ➤ glyph (CSS ::before), instead of the full-width bar.
- All in the OasisMobile theme (loads after mobile.css so it wins by cascade);
where epsylon forces !important on the forum layout we match it, scoped to
the forum/chat widgets. No client JS, no changes to any feature view.
- Turn the header Personal/Community tabs into links to
/activity?hive=personal|community, so they work on every page (they take
you to the home and filter the hexagons), not only while already on
/activity — no more dead buttons off the home.
- Drop the "All" tab: entering shows all 10 categories; clicking a filter
that is already active toggles it off and shows all again.
- Filter the hive server-side (renderHiveNav reads the request filter set
by the middleware) instead of the CSS radio-hack, and drop the now-dead
half-filter CSS. Active tab is highlighted via the .active class.
Fixes the previous commit, which only added the new UI keys (menuCommunity,
menuAll, filter, bb*) to English and thus broke the per-language consistency
check. Add them (plus peerLastChange) to all 11 language files — Spanish
translated, the rest English placeholders to be localized — so every
language has the same key set. i18n test back to green (12/12).
- Personal/Community/All header tabs now filter the home hexagon nav (default
All shows the 10; Personal/Community show their 5) via the CSS radio-hack.
Removed the square-accordion sidebars (.sidebar-left/.sidebar-right) they
replaced.
- Wrap the dense activity filter strip (RECENT/ALL/MINE/…) in a collapsible
FILTER dropdown, hidden by default, keeping the hexagons visible above.
- Add the missing English i18n keys (menuCommunity, menuAll, filter, bb*).
Version bump to 0.9.1 in package.json (root and src/server, the one the
app reports) reflecting the mobile navigation work over Oasis 0.9.0:
topbar, hexagon nav and customizable bottom bar. Replace the README
header with a short 0.9.1 note.
Move the theme content into epsylon's existing OasisMobile.css and drop
the separate OasisMobileUX.css, so there is no new theme file: his mobile
theme just carries the UX styles now. Set themes.current back to
OasisMobile. Same visual result; on mobile builds the theme still loads
after mobile.css so it wins by cascade without !important.
Add a short header describing this as the Oasis 0.9.0 Android UX layer
(topbar, hexagon nav, customizable bottom bar) delivered as a selectable
theme on top of epsylon's Oasis, keeping mobile.css/OasisMobile.css
untouched. The original Oasis README follows below.
renderBottomBar now returns early when OASIS_MOBILE !== '1' (same guard
as renderHiveNav), instead of emitting an inline style="display:none" to
hide it on desktop. The localhost CSP is style-src 'self' without
unsafe-inline, so that inline attribute was blocked there and the bar
could show on the Linux build. Rendering the bar only on mobile removes
the inline style entirely and keeps desktop unaffected.
No change to mobile output (the bar already rendered without inline
style on mobile). Follow-up from the UX security review.
renderMobileTopbar read global.__OASIS_SELF_AVATAR__, but nothing ever
set it, so the top-right circle always fell back to the default avatar
(noticeable in the start/welcome flow, where the profile card showed the
real picture but the topbar circle did not).
Populate the global in the throttled refresh middleware from
about.image(self): build /image/256/<blob> when a picture exists, else
leave it null so the topbar uses the default avatar.
- Link the theme after mobile.css on mobile builds (OASIS_MOBILE=1) so
it wins by cascade; removed ~420 !important, keeping only the few that
override epsylon's inline styles.
- Reveal the quick bar without !important: the inline display:none is
emitted only on desktop.
- Remove unused oasis-mobile-nav.js (it was never linked and would be
blocked by CSP script-src 'none' on clearnet).
- epsylon's mobile.css and OasisMobile.css left untouched.
Rebase onto upstream 0.9.0. Mobile topbar (logo->home, avatar->profile),
hexagon category nav (hive) and bottom bar; remove the six top-bar
buttons (inbox/pm/publish/search/graphos/peers) that cluttered the header.
Theme OasisMobileUX carries topbar/hexagon/bottombar styles.
- Selectable Oasis-Mobile-UX theme; mobile.css kept intact
- Hexagon category launcher on home (10 categories with expandable modules)
- Customizable bottom bar (up to 4 shortcuts, Peers/Invites fixed)
- Empty states and collapsible activity filters