Commit Graph

73 Commits

Author SHA1 Message Date
Asaf Gartner b5d4fe9ba2 Learning jam scaffolding 2024-02-08 22:21:01 +02:00
Asaf Gartner 8bc4b5a66c Added calendars 2024-01-28 19:12:59 +02:00
bvisness 0210a0784b Add Discord login (#106)
This leverages our existing Discord OAuth implementation. Any users with a linked Discord account will be able to log in immediately. When logging in, we request the `email` scope in addition to `identity`, so existing users will be prompted one time to accept the new permissions. On subsequent logins, Discord will skip the prompt.

When linking your Discord account to an existing HMN account, we continue to only request the `identity` scope, so we do not receive the user's Discord email.

Both login and linking go through the same Discord OAuth callback. All flows through the callback try to achieve the same end goal: a logged-in HMN user with a linked Discord account.

Linking works the same as it ever has. Login, however, is different because we do not have a session ID to use as the OAuth state. To account for this, I have added a `pending_login` table that stores a secure unique ID and the eventual destination URL. These pending logins expire after 10 minutes. When we receive the OAuth callback, we look up the pending login by the OAuth `state` and immediately delete it. The destination URL will be used to redirect the user to the right place.

If we have a `discord_user` entry for the OAuth'd Discord user, we immediately log the user into the associated HMN account. This is the typical login case. If we do not have a `discord_user`, but there is exactly one HMN user with the same email address as the Discord user, we will link the two accounts and log into the HMN account.

(It is possible for multiple HMN accounts to have the same email, because we don't have a uniqueness constraint there. We fail the login in this case rather than link to the wrong account.)

Finally, if no associated HMN user exists, a new one will be created. It will use the Discord user's username, email, and avatar. This user will have no password, but they can set or reset a password through the usual flows.

Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: #106
2023-05-06 19:38:50 +00:00
Ben Visness e4dd15d248 Add all jams index 2023-04-22 11:26:07 -05:00
Ben Visness 9b3a972e37 Rework about page, finally
Start foundation / about page work

Add some job descriptions

Add Advocacy role

Make things look barely tolerable

Cloin'd

Better About intro

no fundo

Link from manifesto

swanky changes
2022-12-14 17:49:08 -06:00
Ben Visness 084b13ae34 ...including the nav and stuff 2022-11-05 16:23:12 -05:00
Ben Visness 48af5e650d Better edu home page 2022-10-27 00:20:59 -05:00
Asaf Gartner c489d0ffa9 Consolidated shared editor-related params 2022-09-15 00:44:27 +03:00
Ben Visness 168b210c5b Restore the library since we're not actually rolling out education yet 2022-09-10 12:54:26 -05:00
bvisness d2b34cb87d Initial version of education content (#90)
Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: #90
2022-09-10 16:29:57 +00:00
Asaf Gartner efc7d76cb7 Snippet creation and editing 2022-08-06 00:41:37 +03:00
Ben Visness 62972ae35a Merge remote-tracking branch 'origin/master' into jam-2022 2022-08-04 18:37:51 -05:00
AllanRegush cc731d77a6 Add Conferences Page (#75)
This PR implements the conferences page.

![image](/attachments/fe7b8df7-0833-4b5b-9f61-a9558b70a98f)

![image](/attachments/10f380d6-81ed-4850-87c4-70a84d31e26b)

closes #69

Co-authored-by: Allan Regush <17693494+AllanRegush@users.noreply.github.com>
Reviewed-on: #75
Co-authored-by: AllanRegush <allan@allanregush.com>
Co-committed-by: AllanRegush <allan@allanregush.com>
2022-07-26 15:07:57 +00:00
Asaf Gartner 9d1d249ec0 Added jam/project association. 2022-06-20 01:26:33 +03:00
bvisness d1e63f745b Add Fishbowl archive (#41)
Refs #33

Co-authored-by: Ben Visness <bvisness@gmail.com>
Co-authored-by: ilidemi <belk94@gmail.com>
Reviewed-on: #41
2022-06-12 12:45:56 +00:00
Ben Visness 1cfb9e4033 Fix mailto on crash page 2022-06-01 20:49:19 -05:00
Asaf Gartner 38e93d5208 Added support for unknown filetypes in snippets 2022-04-07 08:19:48 +03:00
Asaf Gartner b2a2b49abe Added the search bar to the footer 2022-02-10 22:27:28 +02:00
Asaf Gartner eb32b04437 Added project links to project edit page 2021-12-26 12:03:25 +02:00
Asaf Gartner c84b6842e2 Admin actions on user profile 2021-12-15 03:17:42 +02:00
Ben Visness 73824a027b Add tag management to projects
Also rearrange that ProjectAndLogos stuff because agh it was so weird
2021-12-07 21:37:52 -06:00
Asaf Gartner cf46e16df5 Edit project 2021-12-04 16:55:45 +02:00
Asaf Gartner 03c82c9d1a New project form 2021-11-25 05:59:51 +02:00
Ben Visness 0cc879df21 Add tags to snippets on timelines 2021-11-11 11:00:46 -08:00
Ben Visness dfbcfbeacc Use new UrlContext for project URLs
Wow that was a lot to change
2021-11-09 20:11:39 -08:00
Ben Visness 4e47c51fa1 Add back project nav 2021-10-27 21:55:42 -05:00
Ben Visness 3324428f8b Tweak news appearance 2021-10-27 21:55:40 -05:00
Ben Visness f8d5f9fce5 Rework the home page 2021-10-27 21:55:40 -05:00
Ben Visness 09e6a15085 Rejigger timelines to avoid explicit types 2021-10-27 21:55:39 -05:00
Ben Visness ccdbad8978 Rework the nav for projects 2.0 2021-10-27 21:55:38 -05:00
Ben Visness a288ae8124 Remove the sitemap from the footer 2021-09-01 21:54:51 -05:00
Ben Visness 1f39b166cb Make many improvements and fixes to the markdown experience 2021-09-01 01:15:13 -05:00
Ben Visness bc39b4c0b7 Clean up TODOs 2021-08-28 12:07:45 -05:00
Asaf Gartner 5fa0a3a7c2 Processed some TODOs 2021-08-28 16:32:27 +03:00
Asaf Gartner cb5c3c403d Internal server error page 2021-08-28 15:21:40 +03:00
Ben Visness 67b86720a9 Add user edit form
Add most of the user settings backend

still need to do discord lol

Add the Discord settings

Add avatar uploads
2021-08-27 17:18:02 -05:00
Asaf Gartner a32f71f862 Password reset and Notices 2021-08-17 08:18:51 +03:00
Ben Visness d92bf9a9b8 Add Discord account linking 2021-08-15 23:40:56 -05:00
Asaf Gartner 660f65ba95 Registration flow and email 2021-08-08 23:05:52 +03:00
Ben Visness 8ecb4a7173 Rework the category/thread data model
Threads can stand alone now. Threads can be attached to resources
directly without requiring a category. In addition, a lot of wiki stuff
and library discussion stuff was deleted because we're not gonna port
it.
2021-07-29 22:49:24 -05:00
Asaf Gartner b41a556fcd Merge branch 'master' of gitssh.handmade.network:hmn/hmn 2021-07-23 06:22:57 +03:00
Asaf Gartner a46fd988f5 Podcasts 2021-07-23 06:09:46 +03:00
Ben Visness a2eacd6d00 Add handling for deleted users in templates 2021-07-21 21:26:28 -05:00
Ben Visness e9ba9b3dde Add permission check on post editing 2021-07-21 21:16:10 -05:00
Ben Visness 1ccf715c2d Add an explicit post reply feature 2021-07-19 22:07:15 -05:00
Asaf Gartner 6c53688e06 Project page 2021-07-08 10:40:30 +03:00
Ben Visness de0b7a08fb Clean up lots of old post fields 2021-07-04 16:24:48 -05:00
Ben Visness 085bd46440 Add mathjax 2021-07-04 15:31:51 -05:00
Ben Visness 00b0383030 Start forum editing experience, including bbcode parser 2021-07-04 15:31:37 -05:00
Asaf Gartner 090e484e72 Snippet page 2021-06-23 23:13:22 +03:00