Commit Graph

395 Commits

Author SHA1 Message Date
Jose Farias ae497aae85 Clear up dependency destruction chain
Buckets destroy their bubbles, which destroy their thread entries, which destroy their threadables, which is how comments end up destroyed, and then rollups end up deleting their events
2024-10-23 14:51:12 -06:00
Jose Farias 3e5b902e76 Move thread to its own partial 2024-10-23 14:28:21 -06:00
Jose Farias 5221807847 Render threadables 2024-10-23 14:12:28 -06:00
Jose Farias 35a31e3203 Model threadables 2024-10-23 14:10:04 -06:00
Jose Farias 06ea38a9f7 Denormalize event data 2024-10-23 13:38:00 -06:00
Jose Farias 0a5854e02e Merge pull request #121 from basecamp/workflows-spike
Spike workflows
2024-10-22 11:32:44 -06:00
Jose Farias c74dce6002 Remove unnecessary turbo_confirms 2024-10-22 10:50:33 -06:00
Jose Farias 79670c04c3 Remove unnecessary parens 2024-10-22 10:49:08 -06:00
Jose Farias 6a9ffe3103 Remove unnecessary calls to #id 2024-10-22 10:45:32 -06:00
Jeremy Daer 0ea5719431 Ruby 3.3.5 (#122) 2024-10-21 21:42:51 -07:00
Jose Farias d2667ba04a Fix tag test 2024-10-21 21:40:51 -07:00
Jose Farias 876f1d0564 Use params.expect 2024-10-21 16:02:08 -06:00
Jose Farias b182124358 Account for workflow path de-nesting 2024-10-21 15:57:54 -06:00
Jose Farias 34df819e30 Fix tag test 2024-10-21 15:50:15 -06:00
Jason Zimdars 128fc22eb1 Make it look like the filter 2024-10-21 16:39:39 -05:00
Jose Farias b0565fbf20 Spike workflows 2024-10-21 15:33:30 -06:00
Jason Zimdars 7e6890cb46 Fix linter error 2024-10-21 16:09:31 -05:00
Jason Zimdars bb0282d24c Ensure text wraps nicely 2024-10-21 16:03:51 -05:00
Jason Zimdars 6e5b71ea99 Make this a one-liner, no need for hierarchy 2024-10-21 16:03:41 -05:00
David Heinemeier Hansson b1f5498914 Encapsulate tagging as a taggable domain method
Tag scope control should not float around in the controller
2024-10-19 20:14:59 -07:00
David Heinemeier Hansson c00dcd8c66 Already comes as a hash 2024-10-19 19:55:14 -07:00
David Heinemeier Hansson 255435a38f No need for a non-standard factory method for something this simple 2024-10-19 19:53:20 -07:00
David Heinemeier Hansson 139fa7afdc No need for this to be in a transaction
If you update the name by itself, it is fine. We generally want to be
very careful about having txn spans, since all the work done within them
will block the sqlite writer.
2024-10-19 19:51:25 -07:00
David Heinemeier Hansson 0c5778495e Resolve bubble to bucket_bubble for ease of redirecting 2024-10-19 19:48:31 -07:00
David Heinemeier Hansson e75e585f03 Routes are actually ensuring the id is always there 2024-10-19 19:37:46 -07:00
David Heinemeier Hansson aef3c8ca32 No need to specify the extension now 2024-10-19 19:36:23 -07:00
David Heinemeier Hansson e3f7930dcd Unlikely we are going to need this 2024-10-19 19:35:21 -07:00
David Heinemeier Hansson b8e93c4f8a Extract render svg as a real renderer 2024-10-19 19:31:48 -07:00
David Heinemeier Hansson 15b0d6e818 Simplify join code svg rendering
There are no other formats, so dont use the multiformat structure, but
prepare for a render svg upstream.
2024-10-19 19:19:12 -07:00
David Heinemeier Hansson b53a2b8880 Fix url reference 2024-10-19 19:07:48 -07:00
David Heinemeier Hansson b7efd04a43 Use _path consistently in the controllers when not changing host 2024-10-19 19:00:04 -07:00
David Heinemeier Hansson 6c5db3826b Merge pull request #120 from basecamp/use-params-expect
Use the new params#expect syntax where applicable
2024-10-20 03:57:48 +02:00
David Heinemeier Hansson 2995c1571f Use the new params#expect syntax where applicable
To ensure we don't get spurious 500s when we can serve 400s on bad data
2024-10-19 18:53:41 -07:00
David Heinemeier Hansson 87008796b1 Merge pull request #119 from basecamp/add-caching
Add caching
2024-10-20 03:36:08 +02:00
David Heinemeier Hansson cdcf2500c1 Another spot where we need to move a Current.user check to a stimulus controller to cache 2024-10-19 18:31:21 -07:00
David Heinemeier Hansson 53afd0d93c Note that Current.user cannot be referenced within partials that must be cached 2024-10-19 17:51:09 -07:00
David Heinemeier Hansson 716e14998f Note that we need to keep all partials cacheable, so no dynamic path munging 2024-10-19 17:46:36 -07:00
David Heinemeier Hansson 1d404830f4 Must touch to bust bubble caches 2024-10-19 17:42:06 -07:00
David Heinemeier Hansson 6ee10c0ad0 Merge branch 'main' into add-caching
* main:
  Extract explaining variable and move work outside the transaction constraint
2024-10-19 17:10:41 -07:00
David Heinemeier Hansson 7bd882f33c Extract explaining variable and move work outside the transaction constraint 2024-10-19 17:10:32 -07:00
David Heinemeier Hansson 0bffcb8b86 Actually need to do all work outside of transaction loop
We can be more efficient as just as descriptive with an explaining
variable
2024-10-19 17:08:05 -07:00
David Heinemeier Hansson 942eb9fd64 Extract explaining method
And keep parent method at a consistent level of abstraction
2024-10-19 17:03:37 -07:00
David Heinemeier Hansson 32d1792cb2 Fetch bubbles index with multiget cache 2024-10-19 16:50:19 -07:00
David Heinemeier Hansson cd14fda395 Cache bubble partial on itself 2024-10-19 16:50:05 -07:00
David Heinemeier Hansson 5d06e5449f Etag the bubbles#show 2024-10-19 16:49:51 -07:00
David Heinemeier Hansson 23d81c07c1 Use Rails 8.0 rc1 2024-10-19 16:42:13 -07:00
David Heinemeier Hansson e2c9048581 Only load from app, not all plugins etc
This will prevent loading trix for example
2024-10-18 12:49:12 -07:00
Jose Farias b349e31d88 Reorder routes 2024-10-18 11:46:50 -06:00
Jose Farias fdfd7a963a Merge pull request #116 from basecamp/bubble-filter
Pull out Bucket::BubbleFilter
2024-10-18 11:17:34 -06:00
Jose Farias d9d473723b Clean up Bucket::BubbleFilter initializer 2024-10-18 11:15:53 -06:00