Commit Graph
100 Commits
Author SHA1 Message Date
Gabe Kangas 99f40e28cb Add placeholders for moderation actions 2022-05-20 13:23:46 -07:00
Gabe Kangas 3c291556e0 Add mock to follower 2022-05-20 13:12:16 -07:00
Gabe Kangas 3bc13fd08a Add more mocks 2022-05-20 12:32:26 -07:00
Gabe Kangas c03be0cf9f Add some detail around how colors are defined 2022-05-19 13:38:05 -07:00
Gabe Kangas 0bf1c7ce48 Add category icons as customizable svgs 2022-05-17 21:20:27 -07:00
Gabe Kangas 0d5d89a1c8 Fix empty state for text field 2022-05-17 17:58:51 -07:00
Gabe Kangas f6525412c8 Fix typo + var defined in generated file 2022-05-17 17:58:06 -07:00
Gabe Kangas 97b2e64f58 Position the logo and title components 2022-05-17 16:08:39 -07:00
Gabe Kangas 51a12dc905 Fix logo to support non-square sizes 2022-05-17 16:08:38 -07:00
Gabe Kangas 8925e1b4e2 Organize stories into folders 2022-05-17 16:08:38 -07:00
Gabe Kangas 8ce045aa9a Fix dark mode on storybook 2022-05-17 16:08:38 -07:00
Gabe Kangas f6eeee2463 Use icon instead of the word viewers 2022-05-16 23:20:56 -07:00
Gabe Kangas 8d7a5d6d6e Add placeholder embed pages 2022-05-16 22:55:22 -07:00
Gabe Kangas 5645f0070f Add start of chat documentation 2022-05-16 22:18:07 -07:00
Gabe Kangas 528ae4c1ad Add logo component and social links 2022-05-16 21:44:09 -07:00
Gabe Kangas a1c06ec9de Add notification reminder popup component 2022-05-16 20:08:22 -07:00
Gabe Kangas f14b8ea8ba Wire up placeholder name change modal 2022-05-13 15:07:49 -07:00
Gabe Kangas e0f8a1f702 More accurately hide/show and track chat state 2022-05-13 14:44:16 -07:00
Gabe Kangas 4b2742739a Fix clarifications of backend vs. frontend source in readme 2022-05-13 12:56:13 -07:00
Gabe Kangas de4ed9bb62 Fix some styling 2022-05-12 21:27:21 -07:00
Gabe Kangas 67cec2dcbb Expand documentation for web project. Closes #1848 2022-05-12 20:58:08 -07:00
Gabe Kangas ae78716572 Add more placeholder components and some mocks 2022-05-12 20:52:19 -07:00
Gabe Kangas d427c0ad70 Organize stories and populate readme 2022-05-12 17:59:40 -07:00
Gabe Kangas ed50016bfc Do not commit built storybook 2022-05-12 17:00:02 -07:00
Gabe Kangas 363787faa3 Add some links and context to readme 2022-05-12 15:41:54 -07:00
Gabe Kangas e0aa5f8522 Use token 2022-05-12 15:22:44 -07:00
Gabe Kangas 2329d3a17d Send event on commits 2022-05-12 15:12:01 -07:00
Gabe Kangas f1e3adbec5 Split up design/style pages 2022-05-12 14:45:56 -07:00
Gabe Kangas 72c01e1b9a Fix web project build errors 2022-05-11 23:31:31 -07:00
Gabe Kangas b66617961d Remove old web workflows and add new ones 2022-05-11 20:41:32 -07:00
Gabe Kangas 8638961b59 Add workflow for building storybook 2022-05-11 20:29:31 -07:00
Gabe Kangas ff6886575f Add player poster 2022-05-10 15:36:09 -07:00
Gabe Kangas 9bb37679c0 Add some images+icons to assets section 2022-05-09 19:02:10 -07:00
Gabe Kangas 92fe213b9b Remove unused images 2022-05-09 16:40:41 -07:00
Gabe Kangas 92a1da4df6 Add custom Modal component 2022-05-09 15:34:02 -07:00
Gabe Kangas 8c7c11cb72 Continue to troubleshoot the emoji picker 2022-05-09 13:44:11 -07:00
Gabe Kangas 717db25d65 Remove no longer valid browser test 2022-05-09 13:08:08 -07:00
Gabe Kangas d6e0b55337 Missing file 2022-05-09 13:06:17 -07:00
Gabe Kangas 97762c17b0 Add viewer ping + volume saving to player 2022-05-08 23:42:40 -07:00
Gabe Kangas 3b3f785984 Use the webpack dev server proxy for requests 2022-05-08 23:28:54 -07:00
Gabe Kangas 2a8b474fa1 Format status bar text 2022-05-08 20:41:26 -07:00
Gabe Kangas 21585f5aea Use title or name in header 2022-05-08 18:05:37 -07:00
Gabe Kangas f835ae5086 Add action buttons and status bar 2022-05-07 16:13:06 -07:00
Gabe Kangas 448c23d097 Use some style values so it looks like this page is making progress 2022-05-07 10:25:04 -07:00
Gabe Kangas c99fcf5ed9 Tweak storybook UI a bit 2022-05-07 01:13:26 -07:00
Gabe Kangas f7a03705a8 Use the generated style variables 2022-05-07 00:36:57 -07:00
Gabe Kangas a78869302e Add style-dictionary definitions 2022-05-06 23:29:44 -07:00
Gabe Kangas 97b957adbe Add WIP external action buttons 2022-05-05 15:01:23 -07:00
Gabe Kangas 44173ac09d WIP emoji picker 2022-05-05 14:43:40 -07:00
Gabe Kangas 66a55401a8 Use slate.js as a rich text editor for chat messages 2022-05-05 13:52:10 -07:00
Gabe Kangas f96bde4f71 Can send a message from text input using submit button 2022-05-04 23:06:35 -07:00
Gabe Kangas c56c45d904 Use contentEditable for chat input field 2022-05-04 16:55:54 -07:00
Gabe Kangas 008f607cf7 Fill out the follower component 2022-05-04 08:56:47 -07:00
Gabe Kangas d65be6013a Add some todo comments 2022-05-03 13:26:04 -07:00
Gabe Kangas 8b07eb7457 Render chat messages that come over the socket 2022-05-03 13:01:50 -07:00
Gabe Kangas 15becc5121 Connect to websocket and start accepting messages 2022-05-02 22:13:36 -07:00
Gabe Kangas a0354d6d49 Handle centralized app state and registration + chat history 2022-05-02 17:45:22 -07:00
Gabe Kangas b590e4f765 Add button to test chat msgs being added 2022-05-01 22:51:57 -07:00
Gabe Kangas 6314ed8667 Add performant list componant for rendering chat messages 2022-05-01 20:56:11 -07:00
Gabe Kangas 457dead455 Add some state logic based on enums 2022-05-01 20:12:34 -07:00
Gabe Kangas 4997c7c5ac Fill out some more components + add application state enums 2022-04-29 15:10:13 -07:00
Gabe Kangas e5d3b0e4ee More blank components and stories to be filled in 2022-04-28 14:36:05 -07:00
Gabe Kangas e0c073171d Rename layout files 2022-04-28 12:57:51 -07:00
Gabe Kangas 91b0db9c2e Add placeholder components to be worked on 2022-04-27 23:19:45 -07:00
Gabe Kangas 07c6faad60 Add basic player component 2022-04-26 19:29:13 -07:00
Gabe Kangas 35546c0c6d Added user registration call 2022-04-26 14:04:35 -07:00
Gabe Kangas 15ca73a438 WIP VideoPoster 2022-04-26 13:50:14 -07:00
Gabe Kangas e2e21d915b Initial api requests + stores + basic layout 2022-04-25 23:10:07 -07:00
Gabe Kangas 21af5ce020 Update readme instructions 2022-04-25 19:10:29 -07:00
Gabe Kangas 23a009d011 Merge remote-tracking branch 'admin/ui-components' into webv2 2022-04-25 18:48:07 -07:00
Gabe Kangas eadd27b6c0 Some Storybook configuration 2022-04-25 15:55:05 -07:00
Gabe Kangas 88bbc80748 Update readme 2022-04-25 15:54:38 -07:00
Gabe Kangas 79bfa0145f Moved admin to /admin and created blank placeholder for v2 frontend 2022-04-25 15:54:37 -07:00
Gabe Kangas be441ae530 Add inter font to project 2022-04-25 15:52:39 -07:00
Gabe Kangas e49948a215 Add colors to storybook 2022-04-25 15:52:39 -07:00
Gabe Kangas 19d6652c7a Add blank colors page to fill in 2022-04-25 15:52:39 -07:00
Gabe Kangas 3ce6fd4cb3 Add support for less variables and using a custom theme 2022-04-25 15:52:38 -07:00
Gabe Kangas 1c77219a75 First pass at component library 2022-04-25 15:52:38 -07:00
Gabe Kangas 7a503fc282 Add auth icon to chat menu. Closes #1879 2022-04-25 15:34:19 -07:00
Gabe Kangas 6ee88f8a7d Throw away latency values that seem invalid 2022-04-25 14:52:33 -07:00
Gabe Kangas b2b791b365 Migrate forbidden and suggested usernames list to string slice. Closes #1873 2022-04-25 14:31:29 -07:00
Gabe Kangas a29d6450cb Add stream health tip of latency buffer level 2022-04-25 14:31:28 -07:00
Gabe Kangas f34cc13225 Add link. Closes #1878 2022-04-25 14:31:28 -07:00
Gabe Kangas 465aeb5c38 Disable chat settings dropdown if chat is disabled. Closes #1875 2022-04-24 19:07:33 -07:00
Gabe Kangas 55ce0c0869 Add some basic validation logic for form. Closes https://github.com/owncast/owncast/issues/1847 2022-04-24 18:44:32 -07:00
Gabe Kangas 29ae557c0f Tweak some stream health text 2022-04-24 16:48:46 -07:00
Gabe Kangas 1e1faec982 Reduce the bandwidth ratio requirement to fire compensator 2022-04-23 18:50:18 -07:00
Gabe Kangas 529cba84fd Refactor migration to loop over each user instead of bulk inserts 2022-04-23 18:12:59 -07:00
Gabe Kangas 514fd17ed9 Access token migration 2022-04-23 18:12:58 -07:00
Gabe Kangas d78e28fd47 Add link to notification documentation 2022-04-22 17:32:25 -07:00
Gabe KangasandGitHub a082cf3a77 Fediverse-based authentication (#1846)
* Able to authenticate user against IndieAuth. For #1273

* WIP server indieauth endpoint. For https://github.com/owncast/owncast/issues/1272

* Add migration to remove access tokens from user

* Add authenticated bool to user for display purposes

* Add indieauth modal and auth flair to display names. For #1273

* Validate URLs and display errors

* Renames, cleanups

* Handle relative auth endpoint paths. Add error handling for missing redirects.

* Disallow using display names in use by registered users. Closes #1810

* Verify code verifier via code challenge on callback

* Use relative path to authorization_endpoint

* Post-rebase fixes

* Use a timestamp instead of a bool for authenticated

* Propertly handle and display error in modal

* Use auth'ed timestamp to derive authenticated flag to display in chat

* Fediverse chat auth via OTP

* Increase validity time just in case

* Add fediverse auth into auth modal

* Text, validation, cleanup updates for fedi auth

* Fix typo

* Remove unused images

* Remove unused file

* Add chat display name to auth modal text
2022-04-22 17:23:14 -07:00
Gabe Kangas 7935bcf5f3 Guard against possible invalid tech usage 2022-04-22 10:49:13 -07:00
Gabe Kangas f173b8deca do not make migration failure fatal temporarily 2022-04-21 21:05:49 -07:00
b835de2dc4 IndieAuth support (#1811)
* Able to authenticate user against IndieAuth. For #1273

* WIP server indieauth endpoint. For https://github.com/owncast/owncast/issues/1272

* Add migration to remove access tokens from user

* Add authenticated bool to user for display purposes

* Add indieauth modal and auth flair to display names. For #1273

* Validate URLs and display errors

* Renames, cleanups

* Handle relative auth endpoint paths. Add error handling for missing redirects.

* Disallow using display names in use by registered users. Closes #1810

* Verify code verifier via code challenge on callback

* Use relative path to authorization_endpoint

* Post-rebase fixes

* Use a timestamp instead of a bool for authenticated

* Propertly handle and display error in modal

* Use auth'ed timestamp to derive authenticated flag to display in chat

* don't redirect unless a URL is present

avoids redirecting to `undefined` if there was an error

* improve error message if owncast server URL isn't set

* fix IndieAuth PKCE implementation

use SHA256 instead of SHA1, generates a longer code verifier (must be 43-128 chars long), fixes URL-safe SHA256 encoding

* return real profile data for IndieAuth response

* check the code verifier in the IndieAuth server

* Linting

* Add new chat settings modal anad split up indieauth ui

* Remove logging error

* Update the IndieAuth modal UI. For #1273

* Add IndieAuth repsonse error checking

* Disable IndieAuth client if server URL is not set.

* Add explicit error messages for specific error types

* Fix bad logic

* Return OAuth-keyed error responses for indieauth server

* Display IndieAuth error in plain text with link to return to main page

* Remove redundant check

* Add additional detail to error

* Hide IndieAuth details behind disclosure details

* Break out migration into two steps because some people have been runing dev in production

* Add auth option to user dropdown

Co-authored-by: Aaron Parecki <aaron@parecki.com>
2022-04-21 14:55:26 -07:00
Gabe Kangas b86537fa91 Restore isModerator bool 2022-04-21 13:48:46 -07:00
Gabe Kangas 0dcfbca318 Fix join msgs switch not firing api call 2022-04-19 12:52:40 -07:00
Gabe Kangas dc4c905dd1 Allow specifying scroll behavior on initial chat history load 2022-04-18 23:48:05 -07:00
Gabe Kangas 61b07ab544 Lint 2022-04-18 23:48:05 -07:00
Gabe Kangas e6b5aecc8f Fix single column chat not scrolling. Closes #1830 2022-04-18 23:48:05 -07:00
Gabe Kangas e306c74520 Increase z-index 2022-04-17 12:47:07 -07:00