2026-04-11 - 2026-10-11

Overview

85 active pull requests
76 active issues
Excluding merges, 1 author has pushed 142 commits to main and 352 commits to all branches. On main, 224 files have changed and there have been 26360 additions and 21724 deletions.

85 pull requests merged by 1 user

Merged #180 fix(auth): don't require a Nostr pubkey to be considered logged in 2026-10-08 18:46:04 +00:00

Merged #179 Ticket waves follow the event's fiat setting 2026-09-30 20:30:49 +00:00

Merged #177 Let the event form submit and say what is wrong 2026-09-29 08:02:09 +00:00

Merged #176 Ticket waves: manage them, buy from them, stop lying about totals 2026-09-29 07:23:44 +00:00

Merged #174 fix(events): stop subtracting sold from amount_tickets 2026-09-27 21:09:35 +00:00

Merged #171 fix(core): read the routing fee from fee, not the absent fee_msat 2026-09-26 12:37:30 +00:00

Merged #169 fix(wallet): gate the received-payment toast on status, not absent pending 2026-09-22 21:16:07 +00:00

Merged #168 fix(wallet): narrow the bolt11 amount section so the build passes 2026-09-22 21:15:59 +00:00

Merged #166 feat(wallet): denominate invoices in any currency the server accepts 2026-09-22 21:06:39 +00:00

Merged #165 fix(base): resolve the sats key in price conversions 2026-09-22 21:06:28 +00:00

Merged #164 fix(wallet): refetch balance and history on resume 2026-09-22 21:06:19 +00:00

Merged #163 fix(wallet): wire websocket config through module install 2026-09-22 21:06:10 +00:00

Merged #162 fix(wallet): send amount_msat when paying an amountless invoice 2026-09-22 21:06:01 +00:00

Merged #161 fix(wallet): read payment status from status, not the unserialized pending 2026-09-22 21:05:44 +00:00

Merged #160 feat(chatelet): let a guest resume a held-but-unpaid booking 2026-09-21 17:58:25 +00:00

Merged #159 fix(chatelet): root-relative routes so room deep links and refreshes work 2026-09-21 17:58:09 +00:00

Merged #158 fix(chatelet): let a min-stay range extend forward (reka span guard) 2026-09-21 12:32:09 +00:00

Merged #157 fix(chatelet): don't offer a check-in that can't fit a minimum stay 2026-09-21 09:57:43 +00:00

Merged #156 feat(chatelet): stay calendar, room gallery + house rules, My bookings 2026-09-21 09:12:07 +00:00

Merged #155 feat(hub): Chatelet tile 2026-09-21 08:30:09 +00:00

Merged #154 feat(chatelet): book a room and pay by Lightning (slice 2) 2026-09-15 21:52:08 +00:00

Merged #142 feat(chatelet): guest booking UI — slice 1 (browse + availability) 2026-09-15 21:07:52 +00:00

Merged #153 feat(events): promo codes — organizer editor and server-validated checkout discount 2026-09-13 16:55:15 +00:00

Merged #152 fix(events): let the event card shrink below its truncated rows (min-w-0) 2026-09-10 04:10:17 +00:00

Merged #151 fix(events): resolve the ticket QR logo through @brand-app-logo 2026-09-09 13:00:01 +00:00

Merged #150 fix(events): pin the sticky buy bar flush above the nav (--bottom-nav-height) 2026-09-09 11:19:47 +00:00

Merged #149 feat(events): surface the buy-ticket CTA above the description + sticky bar 2026-09-09 11:06:00 +00:00

Merged #147 feat(events): warn buyers to check their spam folder for the ticket email 2026-09-08 14:25:38 +00:00

Merged #146 fix(events): let guests default to the card rail in the purchase dialog 2026-09-08 13:24:41 +00:00

Merged #144 feat(events): guest checkout with email delivery, Stripe return flow, public ticket page 2026-09-08 10:25:57 +00:00

Merged #139 feat(libra): expense/income form UI fixes 2026-06-25 20:43:36 +00:00

Merged #138 feat(libra): guide expense description toward categorization 2026-06-25 20:11:54 +00:00

Merged #131 feat(events): handle free tickets in the purchase flow 2026-06-20 09:58:39 +00:00

Merged #130 feat(hub): hide standalones not provisioned on this deploy 2026-06-20 07:28:24 +00:00

Merged #128 feat(layout): re-enable "Back to hub" with a sticky sheet footer 2026-06-19 22:28:44 +00:00

Merged #127 fix(events): collapse own-event draft + relay copy into one card 2026-06-18 22:51:04 +00:00

Merged #116 fix(events): clarify scan-tickets "Remaining" stat as "Not scanned" 2026-06-18 12:45:50 +00:00

Merged #114 feat(ui): UI tweaks round 3 2026-06-18 12:45:30 +00:00

Merged #119 fix(events): keep event-detail ticket counts live after a purchase 2026-06-18 12:44:10 +00:00

Merged #115 feat(events): calendar popup respects the selected category filter 2026-06-18 12:41:18 +00:00

Merged #126 fix(events): publish bookmarks with monotonic created_at (#122) 2026-06-18 12:03:59 +00:00

Merged #125 fix(events): key the events store by addressable coordinate (#121) 2026-06-18 12:03:10 +00:00

Merged #124 chore(test): add vitest runner + smoke test 2026-06-18 11:59:19 +00:00

Merged #113 style(events): frosted-glass calendar popup that shows the feed through it 2026-06-17 10:42:59 +00:00

Merged #112 fix(events): decrement the live like count on un-like 2026-06-17 10:05:08 +00:00

Merged #109 fix(wallet): stop double-deducting balance on outgoing payments 2026-06-17 08:38:06 +00:00

Merged #111 feat(events): real-time favoriting + live like count + post-purchase refresh 2026-06-17 08:36:47 +00:00

Merged #110 feat(events): calendar date-picker popup, remove calendar page, My Tickets filtering 2026-06-17 08:36:14 +00:00

Merged #105 feat(ui): cosmetic tweaks — profile pencil, pills, search, ticket count, map icon, avatar trigger, no overlay animations 2026-06-17 08:35:09 +00:00

Merged #104 feat(branding): per-app banner + per-brand default theme via brand.json 2026-06-15 20:15:49 +00:00

Merged #103 fix(wallet): accept uppercase QR-scanned BOLT11 invoices on send 2026-06-15 20:09:15 +00:00

Merged #102 feat(activities): event name on My tickets + organizer on cards 2026-06-10 23:10:01 +00:00

Merged #91 feat(activities): UI tweaks across feed, detail, hosting, calendar, scan, shell 2026-06-10 16:35:50 +00:00

Merged #100 feat(nix): lib.mkWebapp accepts extraEnv attr 2026-06-10 15:05:12 +00:00

Merged #99 fix(nix): pin pnpm bits to flake's own nixpkgs 2026-06-10 14:20:13 +00:00

Merged #98 feat(nix): flake.nix exposing lib.mkWebapp 2026-06-10 13:52:29 +00:00

Merged #96 feat(branding): brand kit architecture (Phase 1) 2026-06-10 08:17:56 +00:00

Merged #94 refactor(events): rename activities module to events + wire VITE_APP_NAME for per-deployment branding 2026-06-09 18:18:27 +00:00

Merged #93 refactor(libra): redesign transactions list status + type encoding 2026-06-06 21:16:45 +00:00

Merged #92 feat(libra): show voided transactions in standalone 2026-06-06 20:31:58 +00:00

Merged #90 feat(webapp): add color scheme switcher with 7 palettes 2026-06-04 09:51:44 +00:00

Merged #89 fix(activities): surface statsError on the door-scanner page 2026-06-04 09:49:39 +00:00

Merged #88 feat(base): phase-2 bucket-B migration via signEventViaLnbits 2026-06-03 16:50:13 +00:00

Merged #87 fix(activities): route ticket scanner through HTTP, not nostr-transport RPC 2026-06-03 16:34:01 +00:00

Merged #84 chore(api): remove User.prvkey field + thread-through helpers (Q1.2 Option b) 2026-06-03 16:33:49 +00:00

Merged #83 chore(activities): reroute CreateActivityDialog through TicketApiService.createEvent 2026-05-30 15:26:07 +00:00

Merged #82 chore(base): delete nostr-metadata-service + retire webapp-side kind-0 broadcast paths 2026-05-30 15:25:47 +00:00

Merged #81 chore(nostr-feed): delete legacy ScheduledEventService duplicate 2026-05-29 19:33:41 +00:00

Merged #80 chore(nostr-feed): delete dead-code ReactionService + useReactions duplicates 2026-05-29 19:33:28 +00:00

Merged #77 feat(activities): hide past events by default + "Past events" filter chip 2026-05-25 09:49:34 +00:00

Merged #76 feat(activities): backend-truth counts + scanned list, tabs + popup result on Scan Tickets 2026-05-24 21:34:22 +00:00

Merged #73 feat(activities): organizer ticket scanner over Nostr transport 2026-05-24 16:51:13 +00:00

Merged #71 feat(activities): ticket purchase + Nostr-driven inventory sync 2026-05-23 21:19:23 +00:00

Merged #69 feat(activities): notification config on event create + edit 2026-05-23 21:19:06 +00:00

Merged #68 feat(activities): payment-rails pattern + provider-aware checkout 2026-05-23 21:18:54 +00:00

Merged #66 fix(activities): stamp local tz offset on event datetimes before submit 2026-05-23 13:29:48 +00:00

Merged #64 fix(activities): toast on logged-out Create tap instead of opening dialog 2026-05-23 13:22:27 +00:00

Merged #63 chore(deps): bump nostr-tools to ^2.23.3 to match lnbits 2026-05-23 13:09:41 +00:00

Merged #62 build: add workbox-window as explicit devDependency 2026-05-23 09:12:01 +00:00

Merged #61 build: switch from npm to pnpm 2026-05-23 08:37:30 +00:00

Merged #54 feat(restaurant): customer-facing restaurant bundle (v1) 2026-05-11 17:49:19 +00:00

Merged #52 feat(layout): adopt unified AppShell across hub + 7 standalones (Phase B) 2026-05-07 10:37:25 +00:00

Merged #51 feat(layout): unified app-shell primitives (Phase A) 2026-05-07 10:07:33 +00:00

Merged #44 fix(hub): drop hub PWA install to unblock standalone PWAs (#41) 2026-05-06 06:08:58 +00:00

Merged #39 feat(market): migrate order DMs to NIP-17 (NIP-44 + NIP-59) 2026-05-03 14:35:27 +00:00

21 issues closed from 1 user

Closed #143 Ticket total is derived as available + sold — inflates on every organizer edit 2026-09-29 07:23:45 +00:00

Closed #175 Event lists show duplicate cards when a d-tag exists under more than one pubkey 2026-09-27 21:32:13 +00:00

Closed #173 MyEventsPage disables the buy button at half capacity (same bug as events#34) 2026-09-27 21:09:35 +00:00

Closed #170 fee_msat read in core/market/events — the LNbits field is fee 2026-09-26 12:37:31 +00:00

Closed #122 Use monotonic created_at when publishing replaceable events 2026-06-18 12:03:59 +00:00

Closed #121 Key the events store by addressable coordinate (kind:pubkey:dtag), not bare d-tag 2026-06-18 12:03:10 +00:00

Closed #86 Feature Request: When an app is pending, grey it out 2026-06-10 16:35:50 +00:00

Closed #97 Add flake.nix exposing lib.mkWebapp 2026-06-10 13:52:30 +00:00

Closed #95 Brand kit architecture: white-label PWA branding 2026-06-10 08:17:56 +00:00

Closed #79 chore: delete legacy ScheduledEventService (duplicate of TaskService) 2026-05-29 19:33:41 +00:00

Closed #78 chore: consolidate duplicate ReactionService (base/ vs nostr-feed/) 2026-05-29 19:33:28 +00:00

Closed #72 Activities feed shows past events with no indication — hide by default + add a "Past events" filter chip 2026-05-25 09:49:34 +00:00

Closed #59 Roll out client-side image compression to market + profile 2026-05-20 21:48:52 +00:00

Closed #41 PWA install conflict: hub scope: '/' blocks standalone installs on same origin 2026-05-06 06:08:58 +00:00

Closed #19 Standalone app: Extract wallet module as independent PWA 2026-05-05 08:36:50 +00:00

Closed #26 Adopt standalone app UI patterns in the all-in-one AIO app 2026-05-05 08:36:50 +00:00

Closed #20 Standalone app: Extract chat module as independent PWA 2026-05-05 08:36:50 +00:00

Closed #18 Standalone app: Extract marketplace module as independent PWA 2026-05-05 08:36:50 +00:00

Closed #36 auth: validate URL-supplied token before persisting + tighten guards to require populated user 2026-05-05 08:36:50 +00:00

Closed #38 market: self-heal orphan stalls — re-publish kind-30017 when user has merchant but no stall on relay 2026-05-05 08:36:50 +00:00

Closed #27 Make event end date optional with sensible defaults 2026-04-27 16:07:32 +00:00

76 issues created by 1 user

Opened #18 Standalone app: Extract marketplace module as independent PWA 2026-04-20 05:46:11 +00:00

Opened #19 Standalone app: Extract wallet module as independent PWA 2026-04-20 05:47:14 +00:00

Opened #20 Standalone app: Extract chat module as independent PWA 2026-04-20 05:47:15 +00:00

Opened #21 Activities: Category badge shows non-category hashtags (e.g. "OrangePillApp") 2026-04-20 05:48:52 +00:00

Opened #22 Activities: Past events appearing in Upcoming tab 2026-04-20 05:48:54 +00:00

Opened #23 Clean up: delete atio and cfaun branches after unified main is verified 2026-04-25 08:14:29 +00:00

Opened #24 CI: auto-compute npmDepsHash on push to main 2026-04-25 11:59:59 +00:00

Opened #25 Disambiguate task vs activity NIP-52 calendar events on shared relays 2026-04-26 22:13:16 +00:00

Opened #26 Adopt standalone app UI patterns in the all-in-one AIO app 2026-04-27 06:53:34 +00:00

Opened #27 Make event end date optional with sensible defaults 2026-04-27 06:57:17 +00:00

Opened #28 Shared auth across standalone app modules 2026-04-27 15:20:27 +00:00

Opened #29 Consider keeping CreateActivityDialog for unticketed/unapproved community events 2026-04-27 16:13:25 +00:00

Opened #30 Add geolocation picker to event creation and map-based event discovery 2026-04-27 16:20:12 +00:00

Opened #31 Forum: implement Spaces (NIP-72 communities) 2026-05-02 07:25:33 +00:00

Opened #32 Notifications: per-standalone Nostr-scoped, aggregated by hub 2026-05-02 07:25:44 +00:00

Opened #34 Operator-configurable public-vs-private mode per standalone (forum, market, tasks, activities) 2026-05-02 08:52:38 +00:00

Opened #33 Adopt the events-style "log in to do this" toast in forum / market / tasks 2026-05-02 08:52:38 +00:00

Opened #35 Pre-commit secret-scan hook: false positive on prvkey field accesses 2026-05-02 13:38:39 +00:00

Opened #36 auth: validate URL-supplied token before persisting + tighten guards to require populated user 2026-05-03 07:31:31 +00:00

Opened #37 security: add CSP + standard security headers in nginx (demo + prod) 2026-05-03 07:31:51 +00:00

Opened #38 market: self-heal orphan stalls — re-publish kind-30017 when user has merchant but no stall on relay 2026-05-03 08:02:29 +00:00

Opened #40 chat: migrate from NIP-04 to NIP-17 (NIP-44 + NIP-59 gift wrap) 2026-05-03 10:35:07 +00:00

Opened #41 PWA install conflict: hub scope: '/' blocks standalone installs on same origin 2026-05-05 13:46:15 +00:00

Opened #42 Recurring deep-dive: mine patterns from established open-source Nostr apps 2026-05-05 18:07:11 +00:00

Opened #43 Centralize hexToUint8Array and other privkey-handling helpers 2026-05-05 18:13:00 +00:00

Opened #45 Wire currency picker to a real preference store 2026-05-07 09:52:02 +00:00

Opened #46 Notification badge wiring on standalone bottom-nav profile entry 2026-05-07 09:52:35 +00:00

Opened #47 Desktop side-rail variant of the unified app shell 2026-05-07 09:52:36 +00:00

Opened #48 Standalone → hub SSO: token handoff for cross-origin nav back to launcher 2026-05-07 09:52:37 +00:00

Opened #49 Long-press-to-hub gesture as an alternative to the top-right HubPill 2026-05-07 09:52:38 +00:00

Opened #50 Remove redundant per-app SettingsPage.vue views 2026-05-07 09:52:39 +00:00

Opened #53 Review activity-creation affordance against p'a semana — reduce low-effort posts 2026-05-07 11:22:56 +00:00

Opened #55 Cross-cutting "teams" concept: targeted tasks, scoped budgets, and shared rosters 2026-05-13 09:51:09 +00:00

Opened #56 tasks: when task-create lands in the webapp, emit ["event-type", "task"] on kind 31922 2026-05-17 17:46:06 +00:00

Opened #57 tasks: support custom recurrence intervals (every N days/weeks, monthly) 2026-05-17 19:44:18 +00:00

Opened #58 Cross-standalone aggregator feed (new events, marketplace items, forum posts, …) 2026-05-17 21:19:12 +00:00

Opened #59 Roll out client-side image compression to market + profile 2026-05-20 14:54:41 +00:00

Opened #60 Organizer ticket management view (resend email, registration status, refunds) 2026-05-22 10:32:54 +00:00

Opened #65 forum: post score + highlight missing after page refresh on both list and detail views 2026-05-23 13:08:34 +00:00

Opened #67 Activity dateDisplay: detail double-renders same-day; cards omit end time 2026-05-23 13:56:19 +00:00

Opened #70 Standardize 'sat' vs 'sats' currency string end-to-end 2026-05-23 17:53:19 +00:00

Opened #72 Activities feed shows past events with no indication — hide by default + add a "Past events" filter chip 2026-05-23 21:55:03 +00:00

Opened #74 Hub vite server crashes on dep-scan: "virtual:pwa-register imported by tasks-app/main.ts could not be resolved" 2026-05-24 15:32:28 +00:00

Opened #78 chore: consolidate duplicate ReactionService (base/ vs nostr-feed/) 2026-05-28 07:55:08 +00:00

Opened #79 chore: delete legacy ScheduledEventService (duplicate of TaskService) 2026-05-28 11:47:42 +00:00

Opened #85 Feature Request: Ability to manually register someone if they've forgotten their ticket 2026-06-03 11:35:06 +00:00

Opened #86 Feature Request: When an app is pending, grey it out 2026-06-03 11:42:54 +00:00

Opened #95 Brand kit architecture: white-label PWA branding 2026-06-09 19:30:17 +00:00

Opened #97 Add flake.nix exposing lib.mkWebapp 2026-06-09 23:05:17 +00:00

Opened #101 Auto-save profile picture on selection (don't require Update Profile click) 2026-06-10 15:59:29 +00:00

Opened #106 Activities: free (0-price) tickets attempt an invalid zero-amount invoice 2026-06-16 09:45:23 +00:00

Opened #107 Activities: support multiple photos on event creation (like market) 2026-06-16 09:45:42 +00:00

Opened #108 Activities: keywords/tags field on event creation (publish as NIP-52 't' tags) 2026-06-16 09:45:55 +00:00

Opened #117 Activities: show ticket buyer's username + npub in the hoster scan list 2026-06-17 17:11:01 +00:00

Opened #118 Explore: collect buyer email at ticket purchase (needs LNbits email/SMTP server) 2026-06-17 17:14:05 +00:00

Opened #120 Add image cropping to uploads (profile, event, …) 2026-06-17 17:17:32 +00:00

Opened #121 Key the events store by addressable coordinate (kind:pubkey:dtag), not bare d-tag 2026-06-18 11:20:49 +00:00

Opened #122 Use monotonic created_at when publishing replaceable events 2026-06-18 11:20:56 +00:00

Opened #123 Batch nostr subscriptions / profile fetches (subscription grouping) 2026-06-18 11:21:02 +00:00

Opened #129 Hub: hide standalones disabled on deploy instead of greying them out 2026-06-19 22:59:47 +00:00

Opened #132 Hub: wire the inactive (deployed-but-greyed) app state end-to-end 2026-06-20 07:28:33 +00:00

Opened #133 Show an offline/server-unreachable banner so actions don't fail silently 2026-06-23 21:33:09 +00:00

Opened #134 Cash-on-arrival payment method for event tickets 2026-06-24 15:26:57 +00:00

Opened #135 Rework or remove the "pending" ticket state 2026-06-24 15:27:03 +00:00

Opened #136 Event notifications: subscriptions, reminders, updates (infra) 2026-06-24 15:27:09 +00:00

Opened #137 libra: improve expense description helper text to guide categorization (and add an "Other" account) 2026-06-25 12:26:50 +00:00

Opened #140 libra: i18n the expense form (AddExpense.vue) to match the income form 2026-06-25 20:27:17 +00:00

Opened #141 Chatelet guest booking UI — standalone app (Nostr-native) 2026-07-19 22:14:23 +00:00

Opened #143 Ticket total is derived as available + sold — inflates on every organizer edit 2026-09-06 13:35:45 +00:00

Opened #145 Events: guest tickets in My Tickets (localStorage) until account claim exists 2026-09-06 17:55:35 +00:00

Opened #167 Show fiat amounts in wallet transaction history 2026-09-22 21:00:11 +00:00

Opened #170 fee_msat read in core/market/events — the LNbits field is fee 2026-09-22 21:18:29 +00:00

Opened #172 Millisatoshi audit: 1000x display error in market checkout, plus two conversion/unit defects 2026-09-23 07:57:43 +00:00

Opened #173 MyEventsPage disables the buy button at half capacity (same bug as events#34) 2026-09-27 21:04:39 +00:00

Opened #175 Event lists show duplicate cards when a d-tag exists under more than one pubkey 2026-09-27 21:19:41 +00:00

Opened #178 Ten dialogs disable submit on vee-validate's meta.valid, which can be false with zero errors 2026-09-29 08:07:01 +00:00

14 unresolved conversations

Open #3 Feature: Due Dates for Persistent Tasks 2026-06-18 11:21:02 +00:00

Open #2 Feature: PIN security for outgoing wallet payments 2026-06-18 11:20:56 +00:00

Open #1 Feature: Persistent Task List (Work Orders) 2026-06-18 11:20:49 +00:00

Open #5 Feature: Create invoices in fiat currency (EUR, USD, etc.) 2026-05-28 15:12:55 +00:00

Open #15 forum: add search across posts, comments, and submissions 2026-05-23 22:39:48 +00:00

Open #4 Feature: Task Rewards (Lightning Bounties) 2026-05-23 12:39:25 +00:00

Open #17 forum: add NIP-57 zap support to submissions and comments 2026-05-17 21:27:15 +00:00

Open #13 feat(forum): future features (media upload, NIP-72 spaces, bookmarks, profiles, …) 2026-05-17 21:27:14 +00:00

Open #10 Migrate private messaging from NIP-04 to NIP-17 2026-05-17 21:24:25 +00:00

Open #11 Security: Harden Nostr private key (prvkey) handling 2026-05-17 21:24:24 +00:00

Open #12 Send Lightning invoice to chat contact 2026-05-17 21:24:23 +00:00

Open #14 Optimize .env with domain-based defaults for easier deployment 2026-05-17 21:24:21 +00:00

Open #16 Replace LNbits backend with Lightning.Pub 2026-05-17 21:24:19 +00:00

Open #6 New device shows notifications for all existing chats 2026-05-11 15:16:36 +00:00