Rob Zolkos
bb54b859dc
Add workflow column filtering to cards ( #2787 )
2026-04-14 13:14:14 -04:00
Ítalo Matos
fbc586646f
Refactor: improve query scope composition with merge syntax ( #2131 )
...
* Refactor: improve query scope composition with merge syntax
Replace manual WHERE clause concatenation with Rails' merge method
for more elegant and maintainable scope composition across Card,
Comment, and Filter models. This approach better follows Rails
conventions and improves code readability.
* Extend scope composition improvements to Card::Closeable
Apply the same nested hash syntax pattern to closures table references
in order and where clauses.
* Remove unnecessary outer braces from where clause
---------
Co-authored-by: Jeremy Daer <jeremy@37signals.com >
2025-12-13 10:10:13 -08:00
Mike Dalessio
50fe973105
Remove N+1 on the cards board.
2025-11-27 11:30:54 -05:00
Mike Dalessio
378705a30d
Deduplicate filter results
...
when both a card and that card's comments match the search term, we
don't want to show it multiple times.
ref: https://app.fizzy.do/5986089/cards/3030
2025-11-19 17:51:38 -05:00
Jorge Manrubia
4a86e3a298
Don't show closed carsd when filtering by "added by"
...
You can still select the done filter if you want to.
https://app.fizzy.do/5986089/cards/2639
2025-11-18 11:40:01 +01:00
Stanko K.R.
4f4bf5bee1
Fix potential crash due to execution of default blocks
2025-11-17 09:12:40 -05:00
Stanko K.R.
8fa9566c07
Update sign up
2025-11-17 09:12:40 -05:00
Donal McBreen
fc56ad9d7c
Combine uuid-old and uuid branch changes
...
- Switch to binary 16 for UUID keys
- Remove AccountScopedRecord base class, all model use binary uuids now
- Fix the search sql to serialize uuids properly
- Patch the MySQL schema dumper to output binary lengths
2025-11-17 09:12:34 -05:00
Mike Dalessio
e4011ef211
Update primary keys on customer data to UUIDs
...
- schema changes to primary and foreign keys
- fixture changes
- customer data models subclass AccountScopedRecord
- import script updated
2025-11-17 09:12:30 -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
Stanko K.R.
ba3f6b188e
Add account_id to everything
2025-11-17 09:11:42 -05:00
Jorge Manrubia
03a345609e
Baseline replacing collection with board across code
2025-11-05 13:31:54 +01:00
Jason Zimdars
1fcf28abcf
Don't include drafted cards in filtered views
2025-11-04 21:53:50 -06:00
Jason Zimdars
2ab737b032
Open should mean everything except closed and not now
2025-10-29 16:07:29 -05:00
Jason Zimdars
e2c9df7c43
Include drafts in filter collection
2025-10-15 20:34:03 -05:00
Jorge Manrubia
d2838fc3d8
Show completed cards when filtering cards by creator
2025-10-14 10:35:18 +02:00
Jorge Manrubia
7cb575b329
Exclude drafts from filtered cards
2025-10-07 10:32:10 +02:00
Jorge Manrubia
24f1394ca3
Remove workflows code, remove more unused code
2025-09-28 20:39:47 +02:00
Jorge Manrubia
2f6a639682
Prepare entropy code for the new auto postpone approach
2025-09-24 16:22:42 +02:00
Jorge Manrubia
55a22f98e3
Submit and refresh results as you type terms
2025-09-12 18:25:27 +02:00
Jorge Manrubia
a6b2944f54
Array not needed
2025-09-09 12:15:04 +02:00
Jorge Manrubia
1366ccc8df
Add caching and http caching to the cards index screen
2025-09-09 12:05:16 +02:00
Jorge Manrubia
61fd84ab5e
Add server-side caching and HTTP caching when serving events in the timeline
2025-09-09 11:30:05 +02:00
Jason Zimdars
70b07f856f
Use inquiry method
2025-08-31 15:28:01 -05:00
Jason Zimdars
f80ef52f81
Workflow stage filter should only apply to cards in doing
...
No other column has Workflows so they should be unaffected by the filter
2025-08-28 20:54:23 -05:00
Jorge Manrubia
2eaf462efd
Fix: queries were failing due to using the wrong alias
2025-08-22 09:23:35 +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
5ad2d09eae
Move the hack to fetch completed cards to the insight command logic
...
We need to rework this as part of the filters revamp. "indexed_by" being
a mix of filters keeps biting us.
2025-07-24 16:48:05 +02:00
Jorge Manrubia
fc26329daf
Restore default to open cards. Use special "all" value instead.
...
The change could have side effects (e.g: when running commands).
This also include further changes.
2025-07-24 16:48:04 +02:00
Jorge Manrubia
dd28e3d1e9
Replace special value with just not asuming that filters are about open cards by default
2025-07-24 16:48:03 +02:00
Jorge Manrubia
9d0887f6bd
Use a workaround with a special indexed_by filter to "query all"
2025-07-24 16:48:02 +02:00
Jorge Manrubia
1c6adf54a8
Restore semantic searches
2025-07-24 16:47:57 +02:00
Jorge Manrubia
cd9955d938
Add "close by" filter
2025-07-03 14:32:03 +02:00
Jorge Manrubia
4d5017b671
Add chip filters for the new time window filters
...
rename close => closure to ease interpretation by the LLM
2025-06-27 13:38:45 +02:00
Jorge Manrubia
3fbfa1404c
Add support for filtering by creation or completion windows of times
2025-06-27 13:38:22 +02:00
Jorge Manrubia
9e3dbb0858
Remove semantic searches
...
We may revisit in the future but we'll go with keyword search only for launch
2025-06-25 09:36:14 +02:00
Jorge Manrubia
7371147e5f
Separate search paths
2025-06-24 13:32:31 +02:00
Jorge Manrubia
5fe5419905
Move similarity search to a param
...
To keep current tests working. This is all quite experimental. Used as a sandbox for now.
2025-05-16 14:16:14 +02:00
Jorge Manrubia
280beb0db7
Arbitrary groups include closed cards
2025-05-08 09:52:49 +02:00
Jorge Manrubia
561e9fad0c
Support selecting multiple cards by using a list of numbers (separated by comma, or space)
...
https://3.basecamp.com/2914079/buckets/37331921/todos/8620236700#__recording_8620273944
2025-05-07 11:30:58 +02:00
David Heinemeier Hansson
7a46fd0948
Stick with open/close as a consistent pair instead of active/close
2025-04-22 12:08:56 +02:00
David Heinemeier Hansson
cacee0febb
Remove anemic scope
2025-04-18 17:18:13 +02:00
Jorge Manrubia
695247ae9b
Paginate collection cards
2025-04-10 15:09:56 +02:00
Jorge Manrubia
723e6d94f5
Rename bubbles => cards
2025-04-09 14:50:58 +02:00
Jorge Manrubia
cf8331dad7
No need to modify this filter, it was already working well
2025-04-03 14:25:48 +02:00
Jorge Manrubia
5a2b7c5abd
Rework buckets index using proper queries and tidy up
2025-04-03 13:26:16 +02:00
Jorge Manrubia
796ee44158
Tidy up header templates for listing buckets
2025-04-03 12:53:19 +02:00
Jason Zimdars
fb01444a88
"Added by…" is a more useful filter than "Assigned by…"
2025-02-20 16:07:07 -06:00
Kevin McConnell
85d5f7d7d7
Allow filtering by stage
2025-01-24 10:28:12 +00:00