Commit Graph

75 Commits

Author SHA1 Message Date
Jorge Manrubia 36488278a8 Merge pull request #1052 from basecamp/caching
Add more caching
2025-09-09 12:31:46 +02:00
Jorge Manrubia 0864c91770 Add timezone to etag 2025-09-09 11:32:31 +02:00
Stanko Krtalić 24cb5da194 Make Fizzy Ask staff-only (#1037)
* Make Fizzy Ask invisible but usable by staff

* Remove unused span

* Prevent non-staff users from creating or browsing messages

* Extract staff-only into a mixin

* Keep existing markup, use the utility class we already have

---------

Co-authored-by: Jason Zimdars <jz@37signals.com>
2025-09-09 11:23:31 +02:00
Jorge Manrubia cfa0149564 Persist timezones in the server
Add a beacon to persist timezones when these change (or the first time)
2025-09-05 12:11:57 +02:00
Jorge Manrubia c8569ce8b9 Split indexed_by into two filters: indexed by and sort by
https://3.basecamp.com/2914079/buckets/37331921/todos/8877489555#__recording_8987808963
2025-08-21 19:12:54 +02:00
Jorge Manrubia 5896a21499 Support filter by collection in different screens
We want to filter in the same screen for cards/events but not when viewing a card or from other screens. This adds a controller action to flag the actions where this is supported
2025-08-21 14:19:13 +02:00
Jorge Manrubia 109a95ac6f Tidy up settings 2025-08-21 13:25:47 +02:00
Jorge Manrubia d6fe0d919c Reorganize ƒilter's menu templates (WIP) 2025-08-20 12:20:18 +02:00
Mike Dalessio 5540b0fd1b Make sure session cookie has the correct path for the tenant
ref: https://fizzy.37signals.com/5986089/collections/7/cards/1234
2025-08-10 18:53:52 -04:00
Mike Dalessio 988b20a36d Introduce turbo_stream_flash helper and use it for collection edit
The collections/{entropy,publications,workflows} controllers all
respond via turbo stream, and now also provide a flash message.
2025-08-07 15:04:45 -04:00
Mike Dalessio 57269b1b9c Allow local authentication with LOCAL_AUTHENTICATION=1
You can touch `tmp/local-auth.txt` to persist this setting.
2025-08-06 17:05:35 -04:00
Mike Dalessio 8e13ce5b78 Drop Current.account and just use Account.sole
I had reintroduced this in dacb53b8 after David removed it in
6bbf68a4, but now I agree we don't need it.

Also, fix a CORS error when trying to redirect a user to an untenanted
path after login (see
https://fizzy.37signals.com/5986089/collections/2/cards/1032).
2025-07-20 13:00:09 -04:00
Jason Zimdars e77710c6b6 Cards inherit their collection's publication status 2025-07-09 10:08:47 -05:00
Mike Dalessio 0c341d14e1 Untenanted access in authenticated controllers should request auth 2025-07-03 10:05:55 -04:00
Mike Dalessio da69bd1689 Remove local authentication code 2025-07-02 11:59:21 -04:00
Jason Zimdars 1cb9ccdf15 Comparing params is fragile, use id for saved filters 2025-06-26 17:57:30 -05:00
Jason Zimdars ae12a7294c New UI for exposing filter options and saving/deleting them 2025-06-25 19:00:47 -05:00
Jorge Manrubia 2821cf9850 Extract common concern 2025-06-24 12:45:15 +02:00
Mike Dalessio d0dcb6dfa8 Redirect unauthenticated users to Launchpad 2025-06-20 17:14:58 -04:00
Mike Dalessio ee60e8dd01 Signup::AccountsController suppports signing up with a new identity 2025-06-20 15:16:57 -04:00
Mike Dalessio dacb53b8b1 Launchpad login works for existing 37id identities 2025-06-20 15:16:56 -04:00
Mike Dalessio 319e4223e4 Add request details to Current 2025-06-20 15:16:56 -04:00
Kevin McConnell 63ddb23585 Opt out of writer affinity on readings controller 2025-06-16 15:05:47 +01:00
Jorge Manrubia 0cb3648785 Extract concern with common column-related code 2025-06-12 12:48:10 +02:00
Jorge Manrubia a979daddf3 Reuse filter scope 2025-06-12 12:39:33 +02:00
Jorge Manrubia 7013b7f378 Pagination working for public collections 2025-06-09 14:36:53 +02:00
Jason Zimdars bd5d17ff26 Clear indexed_by, too 2025-06-05 16:56:26 -05:00
Jorge Manrubia 540254def4 Fix tests after removing the index action
The show action makes more sense in the controller. Also, the filter
scoped was failing due to Rails raising on missing actions (because we
have deleted the index action). Inlining the concern fixes it and clarifies
where this action is implemented.
2025-06-05 09:12:07 +02:00
Jason Zimdars d17134cb5c Detect platform and label the correct hotkey shortcut
Yes, Platform Agent is overkill for just this but there isn't a one-size JS solution for updating both input placeholders and other HTML text and we're likely to need it later for other things like displaying platform-specific PWA prompts.
2025-05-27 12:14:24 -05:00
Jason Zimdars 7ee65608c9 Show user's activity right on their profile screen 2025-05-22 16:18:28 -05:00
Jason Zimdars 0a500612da Just set the clear filter so restore_collections_filter_from_cookie can do the right thing 2025-05-13 08:24:48 -05:00
Jason Zimdars 368ae5ce6a Handle case where no params are sent because nothing is checked 2025-05-12 22:23:16 -05:00
Mike Dalessio 7dee9ed9d6 Log the authenticated user
to help track down issues reported by individuals in the logs
2025-05-07 17:13:25 -04:00
Jorge Manrubia 76fc4aeb0e Order method 2025-04-26 09:10:58 +02:00
Jorge Manrubia 6fb0d88079 Tidy up 2025-04-25 08:22:21 +02:00
Jorge Manrubia 55059e968b Fix collection filtering persistence via cookies 2025-04-25 07:22:54 +02:00
Jorge Manrubia 0be58f50a5 Add comment about something that is pending 2025-04-24 18:53:45 +02:00
Jorge Manrubia 79df3bcb2a Compact things a bit 2025-04-24 17:15:41 +02:00
Jorge Manrubia 8e136875ad Inline method 2025-04-24 16:53:00 +02:00
Jorge Manrubia 2652e21055 Remove noisy filter actions 2025-04-24 16:41:40 +02:00
Jorge Manrubia 5277086611 Use plural for consistency 2025-04-24 16:27:41 +02:00
Jorge Manrubia 4aedb70e70 Move to method 2025-04-24 16:27:19 +02:00
Jorge Manrubia b5737ee9ed Rename 2025-04-24 16:06:28 +02:00
Jorge Manrubia a9ad52e390 Rename for consistency 2025-04-24 16:02:32 +02:00
Jorge Manrubia b29d66296a Rename 2025-04-24 14:46:59 +02:00
Jorge Manrubia 92e913d0d5 Rename 2025-04-24 14:30:16 +02:00
Jorge Manrubia 13b0c0fc41 First pass to tidy up activity time rendering 2025-04-24 12:28:16 +02:00
Jorge Manrubia 965100df51 Access events through collections 2025-04-24 12:28:16 +02:00
Jorge Manrubia 54f4bd5144 Generalize event's cards as eventable,add collection
Lots to tidy up but this is working
2025-04-24 12:28:16 +02:00
Jorge Manrubia 3e1a2bcc7e Use morphing to replace the card and exclude turbo frames from being replaced
Reconnecting the frames result in a visible flickering.

This also prevents flickering in the avatars when replacing the card container.
2025-04-21 09:24:57 +02:00