Commit graph

222 commits

Author SHA1 Message Date
nora
3e456b98aa
Address autocomplete! (#115)
* first shot

* it works!

* fix addr portal start action

* fix add address button

* pass in country

* that should do it!

* wew!

* lint
2025-12-19 12:20:18 -05:00
24c02
224b9ae42c fix oauthwelcome background? 2025-12-18 12:48:05 -05:00
24c02
e82b7b4fb4 prefer programs with onboarding scenarios 2025-12-18 12:44:11 -05:00
24c02
dc73779ed0 moar flavor 2025-12-18 12:33:11 -05:00
24c02
06a617f6ec logotown 2025-12-17 18:11:42 -05:00
24c02
7b0041ecc1 document refresh tokens 2025-12-17 12:51:18 -05:00
24c02
577450ebd0 better refresh tokens 2025-12-17 12:51:12 -05:00
24c02
fb2935200c enable refresh tokens? 2025-12-17 12:38:09 -05:00
24c02
4bb69a5694 dang it 2025-12-17 12:33:15 -05:00
nora
d2dcc70e82
flavor dlavor (#110) 2025-12-17 12:23:08 -05:00
24c02
48f5e080b2 stupid nits 2025-12-15 20:41:25 -05:00
Neon
54670597cf
fix: CORS allow * on external (#108) 2025-12-15 14:29:22 -05:00
nora
92eebe783b
add portal start copy (#109) 2025-12-15 12:09:56 -05:00
24c02
2c19dbc689 [oauth2] another pass 2025-12-11 20:28:05 -05:00
24c02
98ad9e1fbf [oauth2] better consent screen 2025-12-11 20:02:07 -05:00
24c02
5674cba40b [onboarding] refactor flavortown cookie clicker 2025-12-10 11:44:53 -05:00
24c02
f54dc41c3e [flavortown] no DM channel 2025-12-10 11:42:11 -05:00
24c02
0603d2a988 thanks lux! 2025-12-09 23:27:15 -05:00
24c02
33a49fec5e MORE MODULO 2025-12-09 22:40:25 -05:00
24c02
20f3b1bb6d cookie clicker 2025-12-09 22:30:35 -05:00
24c02
30025d56d5 use real emojis 2025-12-09 22:25:17 -05:00
24c02
7309c63cd9 promoted on all buttons? 2025-12-09 22:16:15 -05:00
24c02
61519852bd fix reveal 2025-12-09 21:48:14 -05:00
24c02
03537aeb8e fix address spec 2025-12-09 21:33:17 -05:00
24c02
3f9990d877 try to untangle this mess? 2025-12-09 21:32:27 -05:00
24c02
4b9e2368bf our users are not immune to stuttering 2025-12-09 21:15:41 -05:00
24c02
eb9dc771eb fix action IDs again AGAIN 2025-12-09 21:15:25 -05:00
24c02
81f4f9fab6 oh lol 2025-12-09 21:02:55 -05:00
24c02
aba8dfa69d fix dino? 2025-12-09 20:58:09 -05:00
24c02
8ce5102319 ralsei has a job 2025-12-09 20:47:07 -05:00
24c02
5f41bb5b60 actually wire up the thing 2025-12-09 20:45:51 -05:00
24c02
f2444e8e4c ugh 2025-12-09 20:36:55 -05:00
24c02
063e6c1286 absolutely zeited 2025-12-09 20:24:45 -05:00
nora
0bd3d609bb
Flavortown onboarding (#97)
* add flavortown scenario and channels

* add special app support for SSO grid

* add flavortown app card

* downcase

* add onboarding scenario to program

* cooked

* RALSEI ENGINE IS A REAL ENGINE NOW
2025-12-09 20:13:24 -05:00
24c02
d44b3106bd protocol do 2025-12-09 15:56:09 -05:00
24c02
b2da133bbf fix https in staging? 2025-12-09 15:49:35 -05:00
24c02
5f1bf6d7e4 add error on linking existing identity 2025-12-09 15:47:13 -05:00
nora
105e4b7a7c
Now you're thinking with portals! (#89)
* Extract verification flow logic into VerificationFlow concern

Move document submission handling and helper methods from
VerificationsController into a reusable concern:
- setup_document_step, handle_document_submission
- process_legal_name, process_aadhaar_number
- create_verification, document_params
- verification_should_redirect? helper

Extract document form into shared partial for reuse across
regular and portal verification flows.

* Extract address building into AddressManagement concern

Move build_address helper into a shared concern for reuse
between AddressesController and Portal::AddressesController.

* Add PortalFlow concern and base controller for external app flows

PortalFlow provides secure redirect handling for portal flows:
- Validates return URLs against registered Program redirect URIs
- Stores validated URLs in session to prevent tampering
- Allows localhost in non-production environments
- Provides redirect helpers with portal_status query param

Portal::BaseController uses logged_out layout with portal_wrapper
content block for minimal UI.

* Add portal controllers and routes for external app integration

Portal::VerificationsController handles document verification flow
triggered by external OAuth apps, with status-based redirects.

Portal::AddressesController handles address collection with manage
view for users who already have addresses.

Routes:
- GET/POST/DELETE /portal/verify
- GET/POST /portal/address
- GET /portal/address/done

Also adds make_primary member route to addresses resource.

* Add HTMX support to AddressesController for dynamic updates

Refactor AddressesController:
- Extract create/primary logic into helper methods
- Add HTMX-aware response methods for partial updates
- Support portal context detection for shared address list

Add partials:
- _address_list.html.erb: Shared address list with HTMX actions
- _edit_form.html.erb: Inline edit form for HTMX requests
- Update _form.html.erb with HTMX form attributes when target provided

Address list supports both regular and portal contexts with
appropriate HTMX targets and translations.

* Add portal views and translations

Portal views:
- verifications/document.html.erb: Document upload for portal flow
- verifications/pending.html.erb: Pending verification status
- addresses/portal.html.erb: Initial address collection form
- addresses/manage.html.erb: Address list for existing addresses

Update logged_out layout to support portal_wrapper content block
with minimal brand header for portal flows. Add HTMX CSRF header.

Add translations for portal verification and address flows.

* Add Program.official scope and update address styles

Add scope to filter HQ-official programs.

Update address styles for portal and HTMX address management:
- Improved address card layout with flex
- Add address card and button styles
- Pending verification card styles
- Portal done button styling

* fix address nit?
2025-12-09 12:46:05 -05:00
nora
fffc8e31aa
Onboarding changes (#90)
* make dm channel optional

* remove ndc test

* add waiting-room channel ID

* swap announcements & waiting room
2025-12-08 19:13:32 -05:00
24c02
39bfc6f21a Try non-default channel for Accountpheus DM 2025-12-08 16:13:27 -05:00
nora
3561cdd75c
[Tutorial] move RalseiEngine to a proper DM channel (#88)
* add identities.slack_dm_channel_id

* update ralseiengine to use it
2025-12-08 16:01:04 -05:00
nora
7056d70b21
Proper slack onboarding (#87)
* slack invite circuit breaker

* add slack onboardingscenario
2025-12-08 15:23:16 -05:00
24c02
720405b46d nuke helpers in phlex 2025-12-08 14:27:10 -05:00
Copilot
81e7c300a0
Fix SQL query table reference from users to backend_users (#84)
* Initial plan

* Fix SQL query to use correct table name backend_users instead of users

Co-authored-by: 24c02 <163450896+24c02@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: 24c02 <163450896+24c02@users.noreply.github.com>
2025-12-08 14:12:58 -05:00
nora
20c064c563
add login_hint support (#86) 2025-12-08 14:00:09 -05:00
24c02
aa879c419a lindt 2025-12-05 21:57:28 -05:00
24c02
b5d6e5bc56 fix for signup -> oauth 2025-12-05 21:52:17 -05:00
24c02
1a3c5869f0 fix #80? 2025-12-05 18:28:04 -05:00
24c02
89228f97f8 fix oauth authorization on domain redirect 2025-12-05 15:08:13 -05:00
24c02
1391e08d5d ack! 2025-12-05 14:37:32 -05:00