Commit Graph

262 Commits

Author SHA1 Message Date
Jorge Manrubia 4e72566856 Flatten card resource
We only need the parent collection for creating cards. Carrying it in the
rest of actions is a hassle.
2025-09-10 11:24:23 +02:00
Jorge Manrubia 4cb090a23d Reorder 2025-09-10 09:38:18 +02:00
Jorge Manrubia d533f05c7b Use vanilla resources for handling notifications 2025-09-10 09:17:57 +02:00
Jorge Manrubia cfa0149564 Persist timezones in the server
Add a beacon to persist timezones when these change (or the first time)
2025-09-05 12:11:57 +02:00
Jorge Manrubia 5b68750713 Generate weekly highlights instead of daily ones
https://3.basecamp.com/2914079/buckets/37331921/todos/9010176047
2025-09-01 16:01:19 +02:00
Jorge Manrubia 6f2670d6dd Merge main into bundle-emails branch and resolve conflicts 2025-09-01 11:49:20 +02:00
Mike Dalessio 87d81e608b refactor: remove unused routes associated with "resource :account"
- Drop from 313 unused routes to 306 unused routes
- Use a namespace for the account-related resource routes
- Controllers are nested under the "Account" module now
- Move views from "accounts/" to "account/"
2025-08-28 11:12:24 -04:00
Jorge Manrubia e4ab1366be Add unsubscribe links and headers for emails
https://3.basecamp.com/2914079/buckets/37331921/todos/9002504172
2025-08-28 16:59:24 +02:00
Jorge Manrubia 53144a379c Add option to change the bundled email notification frequency 2025-08-28 11:56:40 +02:00
Jorge Manrubia 65d90b73bd Use URLs instead of paths so that these work from emails
Having to do this is not ideal but it's the simpler way of reusing
other custom route resolvers. The alternative would be to duplicate the code
for resolving comments and such.
2025-08-28 10:32:01 +02:00
Jorge Manrubia 75a830e9b3 Link to the event/notification source directly
E.g: link to comments
2025-08-27 11:46:48 +02:00
Stanko K.R. 9a6fc1f54a Create bar controller 2025-08-22 07:33:00 +02:00
Jorge Manrubia fa82dc0384 Remove code related to Fizzy Do /command support and filtering
https://3.basecamp.com/2914079/buckets/37331921/messages/8961776532
2025-08-18 13:41:20 +02:00
Stanko K.R. 73cc47ba1c Remove unused code 2025-08-14 15:25:09 +02:00
Stanko K.R. 5d982fd3f1 Remove unused route 2025-08-13 15:14:12 +02:00
Stanko K.R. e49c7cb1cb Make sending messages feel snappy 2025-08-13 15:14:12 +02:00
Stanko K.R. 13eeb8574d Add the ask command 2025-08-13 15:14:12 +02:00
Mike Dalessio 57269b1b9c Allow local authentication with LOCAL_AUTHENTICATION=1
You can touch `tmp/local-auth.txt` to persist this setting.
2025-08-06 17:05:35 -04:00
Andy Smith 84b8bb0a43 Add controller, routes, and templates for other error pages 2025-07-29 13:32:00 -05:00
Jason Zimdars 4276aad5a7 Mark notifications as unread from the index 2025-07-23 17:01:59 -05:00
Jason Zimdars dfb6198e94 Merge branch 'main' into web-push
* main: (50 commits)
  Regenerate fixtures
  Let summaries know about collections
  Regenerate fixtures
  More tweaks
  Regenerate fixtures after tweaking prompt
  Fix model selection (I had broken it!)
  Some prompt refinements
  Some of us have basecamp.com email addresses
  Update nokogiri and thor to addres CVEs
  Fix tests
  Format
  Move model options to helper
  Tidy up the admin tool for prompts
  Extract methods
  Format
  Default to the current summary
  Make models selectable
  Add an animated effect for the generating state
  Remove debug
  Wrap them both in the container so the generating state looks right
  ...
2025-07-23 11:50:35 -05:00
Jorge Manrubia 7e5bdf59ec Prefer sandbox over debug for the resource name 2025-07-22 15:57:12 +02:00
Jorge Manrubia 6d26195bc7 Add a debug prompt endpoint so that we can play with the prompts live 2025-07-22 14:33:34 +02:00
Jorge Manrubia 7cd459f2b8 AI Summaries: basic abstractions, functional version 2025-07-22 11:57:39 +02:00
Jason Zimdars 47324eb45a Fix routes to manifest and service-worker, rename controller 2025-07-15 16:42:47 -05:00
Jason Zimdars 8f47db3ced Add service worker and subscriptions controllers 2025-07-15 15:22:32 -05:00
Jason Zimdars e77710c6b6 Cards inherit their collection's publication status 2025-07-09 10:08:47 -05:00
Jorge Manrubia bd7b9a442e Merge branch 'main' into fizzy-do-prompts
* main: (57 commits)
  Untenanted access in authenticated controllers should request auth
  dep: bundle update
  dep: update Rails
  dep: bump AR::Tenanted
  Clean up the cable meta tag
  Fix activity feed pagination to fetch on demand
  Create a "published" event if a card is created published
  Scatter Honcho seeds over a 30 day period
  Fix the PWA manifest to use slugged URLs
  Collection publication edits render a turbo frame
  Collection workflow edits render a turbo frame
  Collection entropy config edits render a turbo frame
  Use automatic sizing where supported
  Introduce a separate controller for collection entropy config
  Add `card_id` to index
  Move to scope and inline method
  Prefer modern syntax
  Fix that stage should be visible above card background
  Indicate opens menu
  Hide dialog targets from screen readers when closed
  ...

# Conflicts:
#	db/schema.rb
#	db/schema_cache.yml
2025-07-03 16:11:00 +02:00
Mike Dalessio ccf961dad2 Merge pull request #696 from basecamp/flavorjones/collection-workflow-save
Collection edit page uses turbo frames to avoid resetting the user access form
2025-07-02 22:28:51 -04:00
Mike Dalessio 36727ba5ea Introduce a separate controller for collection entropy config
which opens the door to rendering turbo frames in the responses to
collection edits.
2025-07-02 17:41:29 -04:00
Jason Zimdars 25a33fb9c8 Merge branch 'main' into card-steps
* main: (22 commits)
  Fix that stage should be visible above card background
  Indicate opens menu
  Hide dialog targets from screen readers when closed
  Mark up as heading for screen reader navigation
  Copy for screen readers
  Don't hide the input so it's accessible to screen readers
  Point skip links to correct anchor, don't navigate with turbo
  There aren't any `li` children so just use `div`
  Use headings for screen reader navigation
  Use `h3` for individual cards in collection view
  Make collection title `h1` for screen reader navigation
  Esc should not propagate when closing dialogs
  squash! Remove session controller actions other than delete
  Screen reader: Use heading for comments navigation
  Remove the invitation codes for now
  Remove session controller actions other than delete
  Correct label for field
  Style
  Screen reader: De-duplicate links for each person in account settings
  Account.signal_account is no longer optional
  ...
2025-07-02 16:09:49 -05:00
Mike Dalessio fa1c5f7279 Remove session controller actions other than delete
and do some general cleanup around sessions controllers and the
sign_in_as test helper
2025-07-02 15:03:28 -04:00
Jason Zimdars f02215c5b7 Add steps to cards 2025-07-01 20:05:20 -05:00
Jorge Manrubia b2f9bf1f2e Stub for command prompts 2025-07-01 18:27:38 +02:00
Jorge Manrubia cae01b777e Add prompt for tags too 2025-07-01 14:58:24 +02:00
Jorge Manrubia 60d243da52 Support direct references such as @user via rich text commands 2025-07-01 14:16:29 +02:00
Jorge Manrubia dfd52fc946 Move queries to its own resource 2025-06-24 12:17:08 +02:00
Jorge Manrubia 67fa9a46a8 Animate the search screen mockup 2025-06-24 09:58:48 +02:00
Jorge Manrubia 124c47b5be Merge branch 'main' into search-page-markup
* main: (67 commits)
  Add jason@37signals.com to the seeds.
  Rework menu sizing
  Firefox has its own psuedo elements
  Allow pop-ups to overflow without breaking the layout
  Style the prompt empty state
  Update lexical
  Scope CSS to custom attachments
  Update to point to version with fix for attachments
  Update AR::Tenanted to address tenant creation raciness
  dep: Update signal_id to quash noisy test warnings
  Update dependences, including Rails and queenbee-plugin
  Update 400/422/500 error pages with latest stock Rails versions
  Remove subdomain listing from the 404 page
  Delete the first runs controller/routes/model
  Redirect unauthenticated users to Launchpad
  Update a few users' email to link to a valid identity.
  Make sure the beta env keeps local authentication (for now)
  Trampoline the Launchpad auth redirect from a GET into a POST
  Add the shared signal_id secret
  Script to create QB and SignalID accounts, and SignalID users
  ...
2025-06-24 06:19:39 +02:00
Mike Dalessio e1609a1aa4 Delete the first runs controller/routes/model
which has been replaced by the signups controller
2025-06-21 10:38:36 -04:00
Mike Dalessio 2c18173f08 Trampoline the Launchpad auth redirect from a GET into a POST
to always route it to the writer.
2025-06-20 15:16:57 -04:00
Mike Dalessio d29bfb9f5a Add a QB API endpoint for plans
- add the shared api token to all environments
- add a single FreeV1 subscription
- add QB routes
- allow the queenbee routes in the tenanting middleware

ref: https://3.basecamp.com/2914079/buckets/37331921/todos/8746302763
2025-06-20 15:16:57 -04:00
Mike Dalessio 1be9ba6ee3 Signup workflow for existing identity 2025-06-20 15:16:57 -04:00
Mike Dalessio ee60e8dd01 Signup::AccountsController suppports signing up with a new identity 2025-06-20 15:16:57 -04:00
Mike Dalessio dacb53b8b1 Launchpad login works for existing 37id identities 2025-06-20 15:16:56 -04:00
Jorge Manrubia 9ddb18792b Only offer users accessible in the collection 2025-06-20 10:44:42 +02:00
Jorge Manrubia 6446e5b409 Select cards with # 2025-06-19 13:00:26 +02:00
Jorge Manrubia cda20600b1 Show mentions in the editor 2025-06-19 12:16:32 +02:00
Andy Smith 33a9bbf043 Stub out search page 2025-06-18 12:47:16 -05:00
Jorge Manrubia f58aaadba5 Drag and drop cards to move between doing/considering 2025-06-12 11:57:53 +02:00