Commit Graph

1191 Commits

Author SHA1 Message Date
Jorge Manrubia 6501604a5f All the collections are "auto closing now" 2025-06-04 11:44:18 +02:00
Jorge Manrubia 3c61fc3cdf Add screen to edit account settings to tweak default entropy configuration 2025-06-04 11:25:10 +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 c0cd5e1967 Merge pull request #566 from basecamp/fix-caching
Invalidate card caches when editing workflows
2025-06-02 18:09:52 +02: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
Jorge Manrubia 51dcf8b25f Invalidate card caches when editing workflows
https://37s.fizzy.37signals.com/collections/2/cards/607
2025-06-02 13:08:54 +02: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 5051e5d53d Linter: TrailingWhitespace 2025-05-29 23:27:28 -05: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 fdc90eb538 Grant access to assignees when changing collections 2025-05-29 22:09:23 -05:00
Jorge Manrubia fa04016cbe Revert "Revert "Replace House with Lexical"" 2025-05-29 14:25:16 +02:00
Jorge Manrubia 08d8b2e5ff Revert "Replace House with Lexical" 2025-05-29 14:22:27 +02:00
Jorge Manrubia 62bef018ea Merge branch 'main' into lexical
* main:
  Don't choke when rendering commands where the card was deleted
  Update tests
  Rework system events
  test: add missing assertions
  dep: bump active_record-tenanted to fix URI support
  Remove hyphen from "Un-do"
  Prevent default when handling keyboard shortcuts
  dep: update AR::Tenanted to support database URIs
  Detect platform and label the correct hotkey shortcut
  Things got too tight
  Don't require TLS for Beamer at the moment
  dep: update dependencies

# Conflicts:
#	Gemfile
#	Gemfile.lock
#	app/assets/stylesheets/comments.css
2025-05-29 12:44:14 +02:00
Jorge Manrubia 3eeba253ad Don't choke when rendering commands where the card was deleted 2025-05-29 00:39:17 +02: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
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
Jorge Manrubia 10b2aad647 Replace House with lexical-powered actiontext 2025-05-23 11:41:08 +02:00
Jason Zimdars 99797ca856 Just basic 2025-05-22 21:55:18 -05:00
Jason Zimdars 701912e977 Accounts get a default workflow and stages 2025-05-22 17:05:38 -05:00
Jason Zimdars 8c2ba6cdc7 Assign a random color to new stages 2025-05-22 16:50:30 -05:00
Jason Zimdars 09c1543227 Assign colors to default stages when you create a workflow 2025-05-22 16:47:43 -05:00
Jason Zimdars c74d5a881f Use the same defaults as Basecamp's card table 2025-05-22 16:43:10 -05:00
Jason Zimdars d79f2f903f Allow filtering activity by user via user profile 2025-05-21 21:57:58 -05:00
Mike Dalessio ecbe040e3e Implement Notification#card
Models now know how to find their cards, rather than trying to
implement this logic in a view helper.
2025-05-21 16:30:18 -04:00
Jason Zimdars 84b6a1291f Fizzy do with AI polish 2025-05-19 17:08:00 -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
Jorge Manrubia 541f24ab0b Limit the tokens we send for embeds
See insight by Donal here https://github.com/basecamp/fizzy/pull/483#discussion_r2084766023
2025-05-16 16:39:18 +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 5ac5b5ebde Add test for the composite command 2025-05-16 15:38:22 +02:00
Jorge Manrubia 2c0f6913ce Test fixes 2025-05-16 15:02:59 +02:00
Jorge Manrubia 7c2a1022a2 Fix test 2025-05-16 14:52:16 +02:00
Jorge Manrubia a5de913608 Improve prompt and tests 2025-05-16 14:49:51 +02:00
Jorge Manrubia 3ccfc165b2 Remove unused command 2025-05-16 14:20:20 +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 0a607fab4c Refresh search embeddings in jobs 2025-05-16 14:00:54 +02:00
Jorge Manrubia 29fb57ac36 Event comments should reference the actual assignees 2025-05-16 13:57:26 +02:00
Jorge Manrubia 54ce3f900c Rename method 2025-05-16 13:29:18 +02:00
Jorge Manrubia 53977fb905 Use symbolized keys 2025-05-16 13:29:18 +02:00
Jorge Manrubia b8f94c4ecb Add VCR and some initial tests 2025-05-16 13:29:18 +02:00
Jorge Manrubia cd0a07740e Make sure that uses insight to reply to questions 2025-05-16 13:29:18 +02:00
Jorge Manrubia c12bf1301b More promot improvements 2025-05-16 13:29:18 +02:00
Jorge Manrubia 95d9cec353 Understand "my cards" better 2025-05-16 13:29:18 +02:00
Jorge Manrubia b867a189ae Place the variable context at the end so that it's more cache friendly 2025-05-16 13:29:18 +02:00
Jorge Manrubia 096933d326 Relax conditions to match collections 2025-05-16 13:29:18 +02:00
Jorge Manrubia 6933449d2d Tweak prefix 2025-05-16 13:29:18 +02:00