Commit Graph

861 Commits

Author SHA1 Message Date
Stanko K.R. edf837fed3 Drop memberships 2025-11-17 09:12:39 -05:00
Stanko K.R. 5c6b91ef77 Fix incorrect var setting 2025-11-17 09:12:36 -05:00
Stanko K.R. 71a332bb08 Remove dead code 2025-11-17 09:12:17 -05:00
Stanko K.R. db172bae4e Simplify authorization 2025-11-17 09:12:17 -05:00
Stanko K.R. 28a6dfce01 Simplify user deactivation 2025-11-17 09:12:17 -05:00
Stanko K.R. 6858b96619 Simplify join codes 2025-11-17 09:12:17 -05:00
Donal McBreen 3aa4a1a562 Shard the search index into 16 tables
Create search_index_0 to search_index_15 tables and shard each index by
account id. MySQL has no ability to pre-filter fulltext indexes by
another field so this is the best bet for improving performance.

Each fulltest index internally creates 11 sub tables (see
https://dev.mysql.com/doc/refman/8.4/en/innodb-fulltext-index.html) so
actually we have 192 tables in total here.

The search_index table name is generated dynamically based on the
account_id.
2025-11-17 09:12:17 -05:00
Donal McBreen ddd7fe082a Ensure the mentioning scope search works
Include the filter by accessible board ids to avoid large joins from the
search_index table. Drop the unused search scope.
2025-11-17 09:12:17 -05:00
Mike Dalessio dbf66f9a50 Constrain user queries to the current or relevant account 2025-11-17 09:11:57 -05:00
Mike Dalessio 89d1299ec0 Fix authentication on "untenanted" controllers
trying out the name "disallow_account_scope" for this, but I don't
think it's quite right yet.
2025-11-17 09:11:47 -05:00
Mike Dalessio 086a9ceada Revert some auth pieces of "Account.sole → Current.account" 2025-11-17 09:11:45 -05:00
Mike Dalessio 030433b99d Remove debugging statements 2025-11-17 09:11:42 -05:00
Mike Dalessio ec54014832 Add account slug middleware
and set Current.account
2025-11-17 09:11:42 -05:00
Mike Dalessio d41d50d52b Account.sole → Current.account
and some other de-tenant changes, including removing the controller
tenanting concerns
2025-11-17 09:11:40 -05:00
Kevin McConnell dc40d2b5b0 Remove custom read/writer routing 2025-11-17 09:11:28 -05:00
Jorge Manrubia a1bc6b7939 Do not use HTTP caching since the page is full of forms, and can result in 422s due to CSRF tokens
https://app.fizzy.do/5986089/cards/2977
2025-11-17 13:55:23 +01:00
Jorge Manrubia eea9afb639 Fix: dismiss grouped notifications by card from the notifications tray
This also splits the templates into two: index and tray, since the URL now changes.
2025-11-14 12:58:24 +01:00
Jorge Manrubia 0d55c966b3 Fix: setting board entropy was changing the account entropy when not present 2025-11-14 12:10:54 +01:00
Jorge Manrubia 17876b30d4 Manage comments with streams
We replacing the full list of comments within a turbo frame, which didn't feel great when you had several comments.
2025-11-13 17:12:46 +01:00
Jorge Manrubia 6e2d115b71 Http caching for my/menu 2025-11-12 18:27:11 +01:00
Jorge Manrubia 2d96e7c9c6 Use streams to update/remove reactions
Prevents race condition causing flickering https://app.fizzy.do/5986089/cards/2906

This will prevent these from udpating live, but we will tackle that as part of live card
updates with page refreshes, which I will tackle soon.
2025-11-12 18:04:20 +01:00
Jorge Manrubia 285328ec60 Smoother tag updates with streams 2025-11-12 17:29:35 +01:00
Jorge Manrubia 6929f536f2 Merge pull request #1567 from basecamp/permissions-tweak
Enforce several admin-only permissions in the backend
2025-11-12 11:50:21 +01:00
Jorge Manrubia 872537f02c Ensure only admins/creators can publish boards 2025-11-12 11:48:35 +01:00
Jorge Manrubia 39c88cf188 Ensure only admins/creators can touch the board entropy 2025-11-12 11:45:09 +01:00
Jorge Manrubia 9c77ad6029 Admins can't edit the board in general 2025-11-12 11:41:46 +01:00
Jorge Manrubia b7729401b4 Only admins can edit entropy 2025-11-12 11:33:46 +01:00
Jorge Manrubia e67cdd986f Only admins can manage join codes 2025-11-12 11:30:29 +01:00
Jorge Manrubia 7bfcfb57c7 Fix: invalidate http cache when selecting assignees 2025-11-12 11:17:21 +01:00
Jorge Manrubia d36011dcbf Fix: invalidate http cache when selecting tags 2025-11-12 11:12:28 +01:00
Jason Zimdars d9a3ee0e66 Use public layout for centered form look 2025-11-11 15:14:29 -06:00
David Heinemeier Hansson 882cff885c Remove overloaded filtering scope from my menu
Making the filtering object serve the role of loading 4 collections is
not good separation.
2025-11-08 16:54:30 +01:00
David Heinemeier Hansson 1bab9e95aa Don't want to use real credentials in dev either 2025-11-08 16:29:29 +01:00
Stanko K.R. bbe74966a1 Extract saas helpers into a concern 2025-11-07 07:08:24 +01:00
Jason Zimdars 7a58c23e55 Copy edits for unified flow 2025-11-07 07:06:28 +01:00
Stanko K.R. 3f4d500103 Unify sign in and sign up 2025-11-07 07:06:25 +01:00
Mike Dalessio 2205dc7dd5 Print the magic link code from the join screen in dev
Related to d6db4c93
2025-11-06 16:15:31 -05:00
Mike Dalessio d6db4c930b Print the magic link code in the console in development 2025-11-06 14:51:25 -05:00
Jorge Manrubia c31354d6c6 Fix: show columns in the right order
https://app.fizzy.do/5986089/cards/2820
2025-11-06 14:31:19 +01:00
Jorge Manrubia 693c0c0fb2 Redirect to root to avoid changing the path by default 2025-11-05 19:00:50 +01:00
Jorge Manrubia 2af7a9f402 Merge pull request #1498 from basecamp/rename-boards
Rename collections => boards
2025-11-05 18:50:49 +01:00
Jorge Manrubia 3b34703db3 Make sure that only admins or card creators can delete cards 2025-11-05 16:37:43 +01:00
Jorge Manrubia de8e861712 Make sure only admins or collection creators can toggle the individual access settings 2025-11-05 16:04:25 +01:00
Jorge Manrubia 193cc26a98 Make sure only admins or collection creators can toggle the all access setting 2025-11-05 15:51:19 +01:00
Jorge Manrubia b2e2a5d959 Invalidate HTTP cache 2025-11-05 13:49:26 +01:00
Jorge Manrubia 39ec6cf062 Replace collection with board in the code, tests green 2025-11-05 13:41:12 +01:00
Jorge Manrubia 03a345609e Baseline replacing collection with board across code 2025-11-05 13:31:54 +01:00
Stanko K.R. cfdd7ab1cb Prohibit duplicate memberships 2025-11-05 11:57:40 +01:00
Jorge Manrubia 10d14b5774 Don't choke when no collections 2025-11-05 08:31:42 +01:00
Mike Dalessio 739d77e0c6 Only include active users in Lexxy prompts
Specifically, exclude users that are inactive or with role "system".

ref: https://app.fizzy.do/5986089/cards/2760
ref: https://app.fizzy.do/5986089/cards/2789
2025-11-04 18:48:59 -05:00