Repository navigation
v1.2.25 — one chat everywhere, events you can keep, and Settings that stop eating bandwidth
📦 How to Install / Upgrade
BeanPool is distributed as a Docker container. You can pull the latest version directly from the GitHub Container Registry.
Using Docker Compose:
services:
beanpool:
image: ghcr.io/beanpool-org/beanpool-node:1.2.25
restart: unless-stopped
ports:
- "80:8080"
- "443:8443"
- "4001:4001"
- "4002:4002"
volumes:
- ./data:/app/dataUsing Docker CLI:
docker pull ghcr.io/beanpool-org/beanpool-node:latestWhat's Changed
- Bump the app to v1.2.46 (android 268 / ios 210) by @martyinspace in #1008
- Write the value before the marker, or an interrupted move strands the device by @martyinspace in #1030
- Keep the old dark toggle when the seed write fails by @martyinspace in #1031
- 🎨 Pixel: [native a11y] add accessibilityLabel to submit button in TotpCodeDialog by @martyinspace in #1010
- 🎨 Pixel: [native a11y] add accessibility attributes to NewPostTypeSheet backdrop by @martyinspace in #1028
- ✨ Flow: [manager DX] replace any in EscrowDisputesPanel and DecisionsAdminPanel catch blocks by @martyinspace in #1013
- ✨ Flow: [manager DX] replace any in MemberDetailModal and ThreatReviewModal catch blocks by @martyinspace in #1025
- 📱 Expo: [compatibility] export ErrorBoundary and normalize group-post search params by @martyinspace in #1015
- ⚡ Bolt: [perf] remove redundant myMarketPosts computation in MarketplacePage by @martyinspace in #1023
- 🎨 Palette: [a11y] SuggestChangeForm decorative emoji hiding & focus-visible rings by @martyinspace in #1026
- 🛡️ Sentinel: [security] require admin auth for commons decision tick by @martyinspace in #1021
- 🔨 Forge: [reliability] catch unhandled errors in periodic commons balance persistence timer by @martyinspace in #1022
- 🔒 Vault: [manager security] route snapshot download through API proxy by @martyinspace in #1029
- 🛡️ Sentinel: [security] bound OAuth batch ingest item limit by @martyinspace in #1016
- 🔎 Scout: [test coverage] unlock-cancel by @martyinspace in #1012
- 🔎 Scout: [test coverage] admin-actor-name by @martyinspace in #1027
- 🗺️ Atlas: [manager tests] add sidebar-mode unit tests by @martyinspace in #1020
- Jules register: the 22 Sep batch's phantoms and closes by @martyinspace in #1032
- 🎨 Palette: [a11y] PricingGuideModal touch targets, focus rings, and emoji hiding by @martyinspace in #1011
- Jules: put the 22 Sep closes in each persona's do-not-re-file section by @martyinspace in #1042
- 🖥️ PWA: full-page views clear the desktop sidebar, keep the wallpaper, and cap the New Post panel by @martyinspace in #1043
- Node Settings: the Onboarding Funnel, in People & Safety by @martyinspace in #1044
- 🎨 Palette: [a11y] EventCard decorative emoji hiding and focus ring styling by @martyinspace in #1037
- 📱 Expo: [compatibility] export ErrorBoundary and support string array params in public-profile by @martyinspace in #1038
- 🔎 Scout: [test coverage] admin-queue by @martyinspace in #1039
- 🗺️ Atlas: [manager tests] add unit tests for SubTabStrip component by @martyinspace in #1040
- 🔨 Forge: [reliability] prevent unhandled promise rejection in periodic handshake loop by @martyinspace in #1033
- ✨ Flow: [manager UX] add loading state for DecisionsAdminPanel by @martyinspace in #1035
- docs(jules): register the 23 Sep batch's closes (#1034, #1036, #1041) by @martyinspace in #1046
- Bump the app to v1.2.47 (android 269 / ios 211) by @martyinspace in #1045
- Chat parity, server side: group chats get edit, reactions, reply and delete; DMs get delete by @martyinspace in #1048
- Your photo looks the same on every screen, updates when it changes, and is never overwritten by a link to itself by @martyinspace in #1047
- Groups get a lead convenor: other convenors cannot remove or demote the group's creator by @martyinspace in #1051
- Pulse: YouTube plays in the card, after a tap by @martyinspace in #1050
- Lead convenor follow-ups: honest refusal text, no dead end with observers, and a promotion cannot move a NULL lead by @martyinspace in #1052
- An enterprise can host an event: add the treasury event route, and stop "Post as" failing with "Signature validation failed" by @martyinspace in #1054
- Web app chat: paste or drag a picture in to send it as a photo by @martyinspace in #1053
- Chat parity: one chat experience for DMs, group chats and event chats by @martyinspace in #1049
- Event cards show the event's photo, as the offer cards beside them do by @martyinspace in #1055
- Onboarding Funnel: follow the people who joined, count the in-app steps once per person, drop the stale labels by @martyinspace in #1056
- Live Pulse: each item opens what it is about, and reveals more text on hover by @martyinspace in #1057
- Events, server side: "Your events", reminders each person can set, and delivery that never double-sends by @martyinspace in #1058
- Events, both apps: "Your events" in For you, reminder settings, Share, and Add to calendar by @martyinspace in #1060
- Instagram thumbnails recover again, and a failing item backs off instead of retrying every five minutes by @martyinspace in #1059
- Bump the app to v1.2.48 (android 270 / ios 212) by @martyinspace in #1061
- Group and event chats stop polling when nobody is looking by @martyinspace in #1064
- Groups, both apps: the quiet-lead vote gets its screens by @martyinspace in #1062
- Server: the dead POST /api/commons/decisions/tick route goes by @martyinspace in #1067
- Groups, both apps: a stale vote outcome stops printing under a new warning by @martyinspace in #1065
- A peer that fails oddly no longer skips the rest of the handshake round by @martyinspace in #1066
- A suspended sole owner no longer lets an admin make themselves owner (#1006) by @martyinspace in #1068
- Manager tests: Back waits for the popstate instead of 30ms on the clock by @martyinspace in #1071
- Test-All names the tests that failed, not just the last 150 lines by @martyinspace in #1069
- Web app: chat tests stop losing a 1-second race on a loaded CI runner by @martyinspace in #1072
- PWA: Pricing Guide rows read out their description and seasonal hint by @martyinspace in #1070
- Node Settings tests get the same wait budget the web app got in #1072 by @martyinspace in #1074
- Server declares multiformats, so the Docker image builds again by @martyinspace in #1075
- Node Settings stops downloading the whole node every few seconds by @martyinspace in #1063
- CI stops overloading its own runner by @martyinspace in #1073
- A stray rejected promise no longer restarts a node; a true crash still does, and both leave a record by @martyinspace in #1076
- Node Settings: controls you're not allowed to use say why, to keyboard and screen-reader users by @martyinspace in #1077
- The web app's chat paste/drop tests stop racing the conversation-open effect by @martyinspace in #1078
- Offboarding wizard: the Gift radio stops reading its reason twice by @martyinspace in #1080
- Test-All catches an undeclared server import before it breaks the Docker image by @martyinspace in #1079
- Bump to 1.2.25 ahead of the v1.2.25 tag by @martyinspace in #1081
Full Changelog: v1.2.24...v1.2.25