Commit Graph

145 Commits

Author SHA1 Message Date
Jorge Manrubia aa656dc2f4 Add scopes and filters for falling back soon and auto closing soon 2025-06-27 13:39:17 +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 c500a2f178 format 2025-06-24 13:34:52 +02:00
Jorge Manrubia 7371147e5f Separate search paths 2025-06-24 13:32:31 +02:00
Jorge Manrubia e59b7fcd18 Format 2025-06-24 10:45:11 +02:00
Jorge Manrubia 0997b45e37 Make searchable work with multiple fields and index card descriptions as separated columns 2025-06-24 08:03:25 +02:00
Jorge Manrubia 6907d07d07 Don't choke when a card is missing its stage
This can happen if the stage was destroyed
2025-06-19 08:25:48 +02:00
Jorge Manrubia 5107eebbdb Fix: calculate days here 2025-06-05 16:38:59 +02:00
Jorge Manrubia 2e60fcdf98 Dynamic bubble timers 2025-06-05 16:11:48 +02:00
Jorge Manrubia 310b8ad4e9 Make sure we only detect activity spikes when we should
The detection logic wasn't really working before
2025-06-05 15:49:27 +02:00
Jorge Manrubia e70827b2ca Parametrize method instead of hanving methods hanging around
If we need more complex calculations for those we can extract again
2025-06-05 15:23:15 +02:00
Jorge Manrubia 0ac937b208 Rename 2025-06-05 15:20:36 +02:00
Jorge Manrubia 6688ca3e82 Consider reopened cards as an activity spike 2025-06-05 15:16:13 +02:00
Jorge Manrubia 35731980fb extract method 2025-06-05 14:06:21 +02:00
Jorge Manrubia 7c657a2bd9 Support stalled filtering 2025-06-05 12:07:55 +02:00
Jorge Manrubia 6fec61edf4 Tweak params 2025-06-05 11:19:03 +02:00
Jorge Manrubia 20c1119674 Wip for showing stalled 2025-06-04 17:18:10 +02:00
Jorge Manrubia 9cdc34f0ae Basic tests for detecting stalled cards 2025-06-04 17:18:01 +02:00
Jorge Manrubia 84fdeb4a5e Track events when reopening cards 2025-06-04 17:18:01 +02:00
Jorge Manrubia b790da9617 WIP for stalled cards 2025-06-04 17:18:01 +02:00
Jorge Manrubia 5dc33c304c Restore reminder period I replaced by mistake 2025-06-04 17:17:47 +02:00
Jorge Manrubia a6ffbf7ec6 Rename method 2025-06-04 14:56:19 +02:00
Jorge Manrubia db86d17880 Refactor to introduce an entropy model
Instead of keeping two tracks of similar logic (auto-reconsider / auto-close).
2025-06-04 14:40:02 +02:00
Jorge Manrubia 653186a8b9 Remove unneeded parenthesis 2025-06-04 12:59:02 +02:00
Jorge Manrubia b35aefd07b Format 2025-06-04 12:58:33 +02:00
Jorge Manrubia b8b8a2fa03 Simpler 2025-06-04 12:58:17 +02:00
Jorge Manrubia dd78ec2db2 Shortcut to grab the default entropy configuration 2025-06-04 12:56:11 +02:00
Jorge Manrubia f721bc2c0a Format 2025-06-04 12:52:11 +02:00
Jorge Manrubia 75ce06733a Review entropy tests to include the new behavior and settings 2025-06-04 12:45:04 +02:00
Jorge Manrubia 23f3c42114 Use the new setting to calculate the auto_reconsider_period 2025-06-04 12:34:17 +02:00
Jorge Manrubia f4bbab1485 More concise 2025-06-04 12:13:36 +02:00
Jorge Manrubia f3e6f1e5e0 This is clearer imo 2025-06-04 12:12:10 +02:00
Jorge Manrubia ae1ad9c509 Extract scope to clarify semantics 2025-06-04 12:04:11 +02:00
Jorge Manrubia 741a6faaf5 Consider the new recording period for stagnated cards 2025-06-04 12:01:09 +02:00
Jorge Manrubia 6501604a5f All the collections are "auto closing now" 2025-06-04 11:44:18 +02:00
Jorge Manrubia 91787a3523 Revamp entropy configuraiton
- Move both settings to its dedicated model entropy configuration
- A collection can have an entropy configuration, or will default to the account if not
2025-06-04 10:41:08 +02:00
Jason Zimdars acfc7da551 Merge pull request #548 from basecamp/change-collection
Change collection
2025-06-03 08:56:00 -05:00
Mike Dalessio 3a5ce1ca4c No need to delegate auto_closing? anymore
Related to #568
2025-06-02 12:41:55 -04:00
Jorge Manrubia 08c5abfbdb Extract common method to query when entropy is cleaned
We were always quering auto_close_at
https://37s.fizzy.37signals.com/collections/2/cards/743
2025-06-02 18:04:14 +02:00
Jason Zimdars 902a99ca56 Merge branch 'main' into change-collection
* main: (25 commits)
  Add controller to retarget links
  Use more complete regexp
  dep: bundle update
  refactor: Extract a Card::Entropy concern
  Autolink emails and URLs at rendering time
  Remove the "mirror" storage service
  Update production storage to write to the Pure blob store
  Clean up the purestorage config, and add explanatory comments.
  Drop the action_text_markdowns table
  Mount mission control under `/admin/jobs`
  dep: add mission_control-jobs
  Flip the storage mirror to write to Pure as the primary
  Production mirrors Active Storage to `:purestorage`
  Make sure Sentry is configured for the beta env.
  Update lexical
  update lexical
  update lexical
  Create a distinct "beta" environment
  Revert "Patch for cards missing description"
  Add a kamal "ssh" alias
  ...
2025-06-02 09:34:01 -05:00
Mike Dalessio 28ed744d0c refactor: Extract a Card::Entropy concern
to encompass behavior related to auto-closing and auto-reconsidering.

Note that putting this code in a single place reveals an asymmetry
between the actions:

- Auto-closing period is an optional attribute of a collection
- Auto-reconsidering period is hard-coded to 30 days for all collections
2025-06-01 16:50:12 -04:00
Jason Zimdars ac53f9ee21 Need to do this in one transaction 2025-05-29 23:25:29 -05:00
Jason Zimdars c1cc1f8fca Track events for changing collections 2025-05-29 22:54:28 -05:00
Jason Zimdars c6c9e0d5fc Rework system events
- Restyle system events so they don't look like comments and aren't attributed to the system user
- Ensure the event creator is included in the description so it's clear who did it.
- Walk back system comment replacement. Yes, it potentially avoids embarassing people when they change their mind, it's also losing data. If two intentional assigments happen in proximity, we've been only showing the latest one,.
2025-05-28 15:26:41 -05:00
Jorge Manrubia f5ecb41446 Merge pull request #483 from basecamp/fizzy-llm-experiment
Fizz Do with AI
2025-05-16 17:39:01 +02:00
Mike Dalessio 388fe2de73 Introduce a stimulus controller for bubbles
The "closing soon" bubbles were introduced in #406, and the "falling
back" bubbles in #500. However, these bubbles are part of the cached
card and so as time passes, the relative time doesn't change unless
the card is touched.

This PR introduces a stimulus controller for bubbles, which takes care
of:

- making the bubble visible during the reminder period
- calculating the relative number of days until entropy kicks in
- rendering appropriate text around the day count

ref: https://37s.fizzy.37signals.com/collections/693169850/cards/999009091
2025-05-16 10:27:00 -04:00
Mike Dalessio bdbc0aa909 Merge pull request #500 from basecamp/considering-bubble
Considering bubble
2025-05-16 10:26:50 -04: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 29fb57ac36 Event comments should reference the actual assignees 2025-05-16 13:57:26 +02:00
Jorge Manrubia b568711809 Add cache for embed in queries 2025-05-16 13:29:18 +02:00