Commit Graph

1374 Commits

Author SHA1 Message Date
Donal McBreen e8abc66eba MySQL search
Add a single search_index table for full-text search of cards and
comments.

For the search there is a full-text index on the title and content
columns. The board_ids is also included in the table and accessible
board ids are pre-loaded and included in the search query. This allows
us to filter out inaccessible records before joining with other tables.

Right now the search is just using boolean search. This would give us
a bunch of syntax options
(see https://dev.mysql.com/doc/refman/8.4/en/fulltext-boolean.html)
except the search query filters those out.

I've removed the searchable_by method for now - everything is built
on the assumption that there's a single search index table and all data
must fit into it.

Queries are written in SQL, we don't have a SearchIndex ActiveRecord
model. That's because we'll likely want to shard the table and it will
be simpler to just keep with the raw SQL for that.

There's no stemming, highlighting or snippet extraction yet - we are
dumping the full description in the search results.

Data can be reindexed with the search:reindex rake task.
2025-11-17 09:12:17 -05:00
Stanko K.R. 32d96db7d9 Replace card id with card number 2025-11-17 09:12:15 -05:00
Kevin McConnell 915c1202f8 Initial minimal primary/replica switching 2025-11-17 09:11:57 -05:00
Mike Dalessio ff8d786144 Filter boards by account 2025-11-17 09:11:57 -05:00
Mike Dalessio dbf66f9a50 Constrain user queries to the current or relevant account 2025-11-17 09:11:57 -05:00
Mike Dalessio b5197fe6d3 Fix notifications to use the user's account 2025-11-17 09:11:57 -05:00
Mike Dalessio 9697f7b43d Replace some instances of Current.account with model account 2025-11-17 09:11:57 -05:00
Stanko K.R. 8b1ca5e7fb Remove unused account associations 2025-11-17 09:11:42 -05:00
Stanko K.R. ba3f6b188e Add account_id to everything 2025-11-17 09:11:42 -05:00
Mike Dalessio 7bd697f75e test: Skip search tests, fix others, and skip a few hard ones 2025-11-17 09:11:42 -05:00
Mike Dalessio 006aa4d6b3 Tests need to set up the script_name properly
which requires tweaking fixtures for the memberships and the account
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 4ad1718d86 Stub searchable functionality and start to restore login/auth 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
Stanko K.R. 6705b5225f Remove the untenanted database 2025-11-17 09:11:36 -05:00
Mike Dalessio 4d3c265042 Rip out activerecord-tenanting
Co-authored-by: Stanko K.R. <stanko@stanko.io>
2025-11-17 09:11:35 -05:00
Jorge Manrubia d6b602b7d7 Restore refreshes: make sure they play well with cards in editing mode 2025-11-14 15:37:43 +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 80d309cd22 Keep current logical names for colors
So that the db values are not tied to the specific CSS
2025-11-14 11:44:04 +01:00
Jorge Manrubia 956a7aafad Revert "Revert "Color a11y"" 2025-11-14 11:24:55 +01:00
Jorge Manrubia 6413570985 Revert "Color a11y" 2025-11-14 11:21:52 +01:00
Jorge Manrubia 06b762c0a8 Move default color to the column 2025-11-14 11:15:09 +01:00
Jorge Manrubia b1e087e7c9 Introduce a proper color poro to represent colors
Instead of managing a hash throgh the app
2025-11-14 11:09:39 +01:00
Andy Smith 2b0fd0909d Fix test 2025-11-13 17:32:36 -06:00
Andy Smith 8ad0d05750 Add column color names 2025-11-13 17:30:01 -06:00
Jorge Manrubia 66c5005169 Disable temporarily 2025-11-13 17:01:00 +01:00
Jorge Manrubia 0267223749 Re-enable live updates for card permas 2025-11-13 14:49:17 +01:00
Jorge Manrubia 9903a37243 Fix tests 2025-11-12 11:37:06 +01:00
Jorge Manrubia dba3b2d65d Remove nil param 2025-11-12 11:25:51 +01:00
Jorge Manrubia 56a85c261b Remove plain text mentions
They can cause duplicates

https://app.fizzy.do/5986089/cards/2874

Closes #https://github.com/basecamp/fizzy/pull/1549
2025-11-11 10:01:59 +01:00
Jason Zimdars 657905ff6c Update to match navigation changes 2025-11-10 13:44:42 -06:00
Jorge Manrubia f5440833a9 Order method 2025-11-10 16:21:46 +01:00
Jorge Manrubia 590a63c422 Move helpers salad to a presenter column when rendering the timeline 2025-11-10 15:52:59 +01:00
Jorge Manrubia b13823305b Always include assignees when notifying of published cards 2025-11-10 13:08:51 +01:00
Jorge Manrubia b686936230 Fix: extract mentions when publishing cards
This wasn't working when creation and publishing happened on separated instances
of the same record, which is what happens when you edit a draft and then you
publish it

https://app.fizzy.do/5986089/cards/2835/edit
2025-11-10 13:08:29 +01:00
Stanko K.R. 3f4d500103 Unify sign in and sign up 2025-11-07 07:06:25 +01:00
Jorge Manrubia 3a831e390f Clean watchers when losing access to board
https://app.fizzy.do/5986089/cards/2814
2025-11-06 22:02:12 +01:00
Jorge Manrubia 676c2a42fe Always use the creator name for the plain text form
You does not make sense for webhooks
2025-11-06 14:16:01 +01:00
Jorge Manrubia 6fcb51703d Format 2025-11-06 11:44:03 +01:00
Jorge Manrubia 0c48e5f30a No need to escape here 2025-11-06 11:43:22 +01:00
Jorge Manrubia e4cb5579f0 Order methods 2025-11-06 11:02:20 +01:00
Jorge Manrubia f5dfcd461c Rename method 2025-11-06 11:01:21 +01:00
Jorge Manrubia c926d7ad6c Extract description object to remove the helper salad
Lots of repetition with the helpers and params
2025-11-06 10:56:07 +01:00
Jason Zimdars 52bf429772 Add some ordering words to help the flow 2025-11-05 16:38:04 -06:00
Jorge Manrubia b78ca68b2b Restore streams since we rely on those for deleting boosts
https://app.fizzy.do/5986089/cards/2811
2025-11-05 21:31:08 +01:00
Jorge Manrubia 05eba71552 Order of concerns 2025-11-05 19:19:26 +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 193cc26a98 Make sure only admins or collection creators can toggle the all access setting 2025-11-05 15:51:19 +01:00
Jorge Manrubia 26df0095bc Rename concern 2025-11-05 14:27:19 +01:00
Jorge Manrubia dec90c24f5 Fix: constant name 2025-11-05 14:26:59 +01:00