Commit graph

61 commits

Author SHA1 Message Date
nora
663a8d1f19
forgot to push the rest to #188 (#193)
* frickin validations

* unschema

* better collaborator logic

* buncha cleanup

* see #191
2026-03-02 22:20:19 -05:00
nora
9998147a4e
epic: overhaul program management experience (#188)
* temp commit

* lemme do it

* nope

* let them do it too

* collab invite model

* better visuals on progman

* waow

* danger will robinson

* show apps on backend & link user

* first pass on app auditability!

* no lastnaming admins

* async frame that shit!

* waugh

* can't add yourself

* fix reinvite

* sidebar badging

* lint...

* gotta be on the app!

* let that get rescued by applcon

* already in revoke_all_authorizations

* woag

* the routes you grew up with no longer exist

* what would the UI for that even be?

* sorch

* much better!

* frickin validations
2026-03-02 22:15:13 -05:00
End
e04d3e1119
feat: credential rotation for OAuth apps (#178) 2026-02-26 16:42:51 -05:00
24c02
73f87f0f9f slacked id 2026-02-26 14:58:24 -05:00
24c02
ccd52b2854 promotion lytics? 2026-02-11 12:13:19 -05:00
24c02
011a11f431 brother 2026-02-10 12:50:46 -05:00
nora
742dbcb498
the Flaming Skull of Welcome (#173) 2026-02-04 11:59:44 -05:00
24c02
99412e6030 more prefill attributes? 2026-01-26 14:58:14 -05:00
nora
e24a195765
airtable sso? (#170) 2026-01-21 16:53:52 -05:00
24c02
cbc246bedc actually fix passkey destroy 2026-01-13 16:15:19 -05:00
24c02
62330ede44 require 2fa on CURRENT session 2026-01-13 16:08:18 -05:00
24c02
6c1b4c787c blegh 2026-01-13 16:08:07 -05:00
Mahad Kalam
5562fe2c06
WebAuthn/passkeys support (#53)
god i hope any of this works
2026-01-13 15:48:21 -05:00
24c02
2322d9941d fix user assignment? MAYBE? 2026-01-13 13:10:48 -05:00
24c02
5553544862 more context? 2026-01-13 12:43:54 -05:00
nora
3c90b9321d
analytics (#156) 2026-01-13 12:06:36 -05:00
24c02
421c6f2bf4 only the real bad ones? 2026-01-07 18:29:58 -05:00
24c02
ec35dfc938 rejections by country? 2026-01-07 18:22:24 -05:00
24c02
1d05664d2a thanks rubocop 2026-01-02 00:55:10 -05:00
24c02
35a0768008 lint 🥀 2026-01-01 17:51:35 -05:00
nora
94858d563b
New email new me! (#151) 2026-01-01 17:47:36 -05:00
24c02
34b447d4d0 fix deac? 2026-01-01 13:03:34 -05:00
24c02
928e20e847 visual pass on resemblances 2025-12-30 17:57:09 -05:00
nora
3c70ca8c28
switch error handling to sentry 2025-12-29 16:19:10 -05:00
24c02
75c5b24ca6 fix signup portal view 2025-12-22 13:04:57 -05:00
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
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
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
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
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
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
1391e08d5d ack! 2025-12-05 14:37:32 -05:00
nora
87bb6d4a18
Switch mailers to SES (#72)
* add premailer

* first pass at converting existing mailers

* this EIN is not yours :-P

* remove some css that probably won't work

* that was gonna bug me

* more mailers!

* s/account/auth

* rework 2fa/security mailers

* env vars for SES creds

* add OpenSSL explicitly

* use external logo image

* nuke step_up_code
2025-12-04 16:32:32 -05:00
24c02
19f65de9bc d'oh 2025-12-03 02:35:48 -05:00
24c02
c67523582c lol 2025-12-03 02:14:37 -05:00
nora
7d04469701
[Backend] UI2. (#67)
* first srcl pass!

* HOLY MFIN KBAR

* first last search

* put the borders back

* button!

* oops

* toolbar!

* lol

* bump dreamland, make kbar actually reactive?

* shorter timeout lol

* identity picker component

* nuke that lol

* seen_hints

* woah

* hint sys pt 1

* HINTS

* HINTS AND SHORTCUTS

* styles, BACKSPACE

* nav on home

* bananananana

* click, starring adam sandler

* scrool

* lint pass

* autoed complete

* shut

* brake the man

* dunno why those got unmerged

* path oopsie

* backspace on audit logs

* whitespace

* i thought i told you to shut up

* mr. brakeman
2025-12-03 01:17:37 -05:00
nora
ca58cc3bec
[Backend] Backend::User delenda est. (#66)
kill me
2025-12-03 00:45:07 -05:00
24c02
7d0a98ab11 wehhh 2025-12-03 00:44:07 -05:00
24c02
52adcae032 fix scoping edge cases 2025-12-02 17:39:49 -05:00
24c02
d0721d3ec6 placate brakeman... 2025-12-02 12:51:16 -05:00
24c02
bbc504d886 fix oauth revoke in audit log 2025-12-02 12:29:44 -05:00