Commit Graph

284 Commits

Author SHA1 Message Date
talksik 61a6904cc2 add nav bar to sign in flow 2026-04-16 09:14:50 -07:00
Arjun Patel 567884433d fix: render correct meta key in keyboard hints on Windows/Linux (#168)
Hardcoded ⌘ glyphs in compose hints were misleading on non-mac
platforms. Add a tiny platform helper sourced from the existing
window.electronWindow.platform bridge and substitute "Ctrl" off mac.
Closes #167.

https://claude.ai/code/session_01YZY4wUqACT7mgibHr2Yncx

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-16 09:04:29 -07:00
talksik 7da3ec6ab6 build: set windows icons properly 2026-04-15 13:32:53 -07:00
talksik ae38234e17 chore: bump version 2026-04-15 13:24:32 -07:00
talksik b508499dbd ci: fix no metadata for azure 2026-04-15 12:41:36 -07:00
talksik 111acb445c ci: fix duplicate signtool flags 2026-04-15 12:25:13 -07:00
talksik 6755ab9a1b ci: use newer sign tool for windows
The electron forge one won't support azure trusted account signing
2026-04-15 12:12:13 -07:00
talksik 772d8cf3e1 ci: enable debug for windows sign 2026-04-15 11:46:57 -07:00
talksik a03200472f ci: log windows sign failure 2026-04-15 11:30:32 -07:00
talksik 46170eb5d3 fix: prevent writing to nonexistent firestore docs
Using the same livekit project means we may receive events for another
environment, though we should eventually separate the environments.
2026-04-15 11:02:56 -07:00
talksik 17f84d5425 ci: adjust scripts to use correct file 2026-04-15 10:11:47 -07:00
talksik dd8e7da911 ci: setup windows with signing and gcs publish 2026-04-15 10:04:29 -07:00
talksik 07f02ecfeb use universal window controls across platforms 2026-04-15 08:03:32 -07:00
talksik 637342cb92 prevent remote release 2026-04-14 20:39:51 -07:00
talksik cee7958e03 ci: add preliminary windows build setup 2026-04-14 20:03:16 -07:00
talksik c2d0ed254b fix: improve messaging for reset
Closes #163
2026-04-14 19:04:54 -07:00
talksik 226b284ad2 fix: plan summary not refreshing after purchase 2026-04-14 19:04:31 -07:00
talksik f987f04ff0 chore: bump version 2026-04-14 15:20:55 -07:00
Arjun Patel 67826b92c0 implement paywall (#161)
* implement core foundation

* inject deps

* fix incorrect migration

* tail migration

* use transaction for migration

* fix: inject deps for tests

* cleanup billing management for admin

* upgrade stripe sdk to v85

* set price env variables

* cleanup billing management

* allow multiple dev windows

* fix: settings scroll

* feat: show nice video thumbnail in listview

* feat: implement freemium restrictions

* remove unnecessary comments

* refactor

* docs

* format

* tweak network settings better hierarchy
2026-04-14 15:18:32 -07:00
talksik aff18d82db format 2026-04-14 10:59:53 -07:00
talksik fe2a003e94 fix: huddles not launching reliably
Closes #160
Race condition preventing proper initialization.
2026-04-14 07:58:45 -07:00
talksik 91a973b7fb chore: bump version 2026-04-13 10:44:40 -07:00
talksik 4e76ce902f fix: show proper app version 2026-04-13 10:41:19 -07:00
talksik ae91145762 feat: support url scheme to launch app
Closes #159
2026-04-13 10:41:11 -07:00
talksik f676baf8b3 cleanup video audio settings view 2026-04-13 10:39:58 -07:00
talksik 38bd098ca6 feat: select input devices for recordings
Closes #68
2026-04-13 10:29:10 -07:00
talksik 106254ef83 setup electron app for production 2026-04-13 10:03:23 -07:00
talksik 1579de8c6d feat: shift + arrows to seek track 2026-04-13 09:31:25 -07:00
talksik 3659863647 fix(orion): missing env variable 2026-04-13 09:29:44 -07:00
talksik 1cdaac66db show esc keybinding hint for recording 2026-04-13 09:14:22 -07:00
talksik f2b439cc86 fix: prevent stream exit during overlays 2026-04-13 09:11:46 -07:00
talksik 67091e9d13 fix: prevent exit countdown on playback blocked 2026-04-13 09:06:22 -07:00
talksik bf6fdd15b5 refactor: rename playback suspender 2026-04-13 09:03:24 -07:00
talksik 81a82eee38 fix: text message not showing attachments upon sending
Closes #154
The sender of the message wouldn't see the children particle since we
only fetch the children once. And perhaps the firestore local cache
doesn't have the children particles or some other race condition. But
now, we fetch the live children.

This should anyways use the same number of reads as before since
attachments do not change.
2026-04-13 08:59:34 -07:00
talksik bca45c5e89 chore: bump version 2026-04-12 14:16:01 -07:00
Arjun Patel 5b6924f7ca feat: support image lightbox viewer and file download (#151)
* feat: add lightbox overlay with nice mechanics

* ui tweak for top bar in stream view

* support locally downloading attachments
2026-04-12 14:14:23 -07:00
talksik dbe61e447a fix: persist selected streams tab
This used to navigate me back to the open streams tab even if I click a
stream in the closed list
2026-04-12 13:44:35 -07:00
talksik af0a319399 docs: adjust claude.md 2026-04-12 13:34:49 -07:00
talksik 5a6db9bd48 fix: harden production electron app behavior
- No developer tools or zoom
- No refresh window
- Open links externally
2026-04-12 13:30:18 -07:00
Arjun Patel e1d2bf11da feat: soft-delete particles within a stream (#149)
Lets a particle's creator delete their own message from the TopBar
dropdown. Other viewers see a "This particle was deleted" tombstone in
place and playback auto-advances after ~2s, keeping indices stable for
concurrent watchers.

- Add optional deleted_at / deleted_by_human_id to non-container
  particle variants and isParticleDeleted helper.
- Add softDeleteParticle Firestore helper.
- New DeleteParticleOverlay confirmation and DeletedParticleView
  tombstone.
- Hide reactions (bar + 1-7 keybinding) on tombstoned particles.
- Show "Deleted particle" + Trash2 icon in the stream list preview.

Closes #146

https://claude.ai/code/session_01M2ShnZPvWfQzzvuu3Xm8b9

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-12 13:18:10 -07:00
talksik 6b20fc2ee6 debug log 2026-04-12 13:16:46 -07:00
talksik be9cf6c5f0 fix: prevent stream click navigation during text edit 2026-04-12 12:15:59 -07:00
Arjun Patel 7568ceb80d feat: extract text editor and allow editing (#150) 2026-04-12 12:13:25 -07:00
Arjun Patel f03868e65b feat: paginate closed streams tab (#148)
Closed streams grow unbounded as teams age and can reach 1000s of items,
while open streams stay bounded by active work. Switch the streams list
to subscribe per-status so each tab only pulls what it renders, and cap
the closed tab to a 50-item window that grows via a Load more action.

The open tab remains unbounded so per-row realtime features — autoplay,
huddle indicators — keep full coverage of the streams that matter.
Closed streams are archived and don't need push behavior, which side-
steps the autoplay baseline-reset and huddle-on-page-2 risks that made
pagination complicated for the open tab.

Refs flowy-live/llink#138.

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-12 11:55:23 -07:00
talksik bea723a90a refactor: extract topbar component into separate file 2026-04-12 11:25:35 -07:00
talksik f64380c421 feat: manage stream name and members
Closes #99
Closes #28
2026-04-12 11:20:05 -07:00
talksik e58edaddd3 feat: send email notifications for network invites
Closes #126
2026-04-12 10:45:24 -07:00
talksik bfa970d706 fix: simplify window / app close behavior
Closes #142
2026-04-12 10:22:21 -07:00
talksik 484ee9d4fb fix: longer markdown content hidden
Added scroll to longer content and padding to avoid conflicting with
stream view peripheral controls and panels
2026-04-12 10:12:06 -07:00
Arjun Patel 2bc4ce7060 fix: unreliable websocket functionality (#144)
* increases timeout

* refactor: reuse constants for redis db

* avoid closing connection on pong error

* fix: prevent electron from pausing timer executions

Our pings could be paused when our app is backgrounded.

* refactor: remove unnecessary refs

* fix: presence unreliable within same pod

It was broadcasting presence changes to other pods, but not notifying
clients connected to the same pod
2026-04-12 10:00:11 -07:00