Commit graph

78 commits

Author SHA1 Message Date
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
e6ed8a5687 mark alumni 2026-02-18 13:44:34 -05:00
alex ren
6f50cce10c
Updated blueprint auth scenario to add user to #blueprint-drafts channel (#174) 2026-02-11 12:19:23 -05:00
Leo
58ae9ef23d
add campfire satelites onboarding scenario (#176)
* add campfire satelites onboarding scenario

* fix lint

---------

Co-authored-by: 24c02 <163450896+24c02@users.noreply.github.com>
2026-02-11 12:15:23 -05:00
24c02
9ad611e013 disable signing requirement for slack authn requests? 2026-02-10 16:53:52 -05:00
24c02
f4ea2b2d69 channeling 2026-02-04 13:24:46 -05:00
EvanStreams
34b2246120
New join default now SCG in #welcome-to-hack-club (#172) 2026-02-02 13:12:38 -05:00
24c02
85277ec32a oops
This reverts commit d8b3afe963.
2026-01-26 17:14:14 -05:00
24c02
d8b3afe963 fix airtable eid? 2026-01-22 15:44:56 -05:00
nora
e24a195765
airtable sso? (#170) 2026-01-21 16:53:52 -05:00
nora
93c8fa990f
better DX (#168) 2026-01-20 23:10:23 -05:00
24c02
c97f4fe1aa sfskdjhfksjhf 2026-01-15 18:38:51 -05:00
Parth
a85e953b43
feat: add pyramid-scheme to ft promotion channels (#166)
* feat: add pyramid-scheme to ft promotion channels

* chore: oops, forgot channel config
2026-01-14 18:04:39 -05:00
Clay Nicholson
bfc2fd79b0
Added Blueprint and Campfire (#159)
* Add Blueprint and Campfire custom join pages

* fixed CSS

* removed zone identifiers

* linter chill

* made it an attribute

* lint

* indent...

---------

Co-authored-by: 24c02 <163450896+24c02@users.noreply.github.com>
2026-01-14 14:45:02 -05:00
24c02
7f1f59a72b hasn't been a thing for a while 2026-01-13 16:45:34 -05:00
24c02
d5dbb20a87 nicer route 2026-01-13 16:19:28 -05:00
24c02
c3123509ec lil' bit of copy 2026-01-13 16:10:48 -05:00
24c02
38995c3572 fix addresses.add_new i18n 2026-01-13 15:52:16 -05:00
Mahad Kalam
5562fe2c06
WebAuthn/passkeys support (#53)
god i hope any of this works
2026-01-13 15:48:21 -05:00
nora
3c90b9321d
analytics (#156) 2026-01-13 12:06:36 -05:00
24c02
9857f041ec fix kosovo 2026-01-06 13:23:53 -05:00
24c02
3e87d7ec6d lint...... 2026-01-03 21:15:56 -05:00
24c02
feb1d54495 kosovo 2026-01-03 21:14:51 -05:00
nora
94858d563b
New email new me! (#151) 2026-01-01 17:47:36 -05:00
24c02
c645d9538f waow 2025-12-30 20:28:04 -05:00
nora
3c70ca8c28
switch error handling to sentry 2025-12-29 16:19:10 -05:00
24c02
69c2507793 rails_pulse delenda est 2025-12-29 10:26:02 -05:00
24c02
10b287ecb2 AHAHAHAHAHAHAHA 2025-12-26 17:47:41 -05:00
24c02
10b6ba0bc4 hoo brother... 2025-12-23 14:44:11 -05:00
24c02
506bd073da add rails_pulse crons 2025-12-23 14:10:26 -05:00
24c02
14ee4700f2 fix middleware order? 2025-12-23 14:02:34 -05:00
24c02
3aec5f6692 try fix thing? 2025-12-22 22:38:00 -05:00
24c02
7bfec1f399 fix staging? 2025-12-22 22:24:25 -05:00
nora
5c9f1d9665
add rails pulse? (#124)
* rails pulse?

* route filter

* disable auth

* no schema yet!
2025-12-22 14:29:29 -05:00
24c02
a606ee9167 ugh 2025-12-19 12:31:13 -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
24c02
fb2935200c enable refresh tokens? 2025-12-17 12:38:09 -05:00
nora
d2dcc70e82
flavor dlavor (#110) 2025-12-17 12:23:08 -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
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
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
nora
7056d70b21
Proper slack onboarding (#87)
* slack invite circuit breaker

* add slack onboardingscenario
2025-12-08 15:23:16 -05:00