Commit Graph
100 Commits
Author SHA1 Message Date
Gabe Kangas 2d44f86035 Add additional information to key verification error 2022-07-06 21:46:03 -07:00
Gabe Kangas 14f405bf58 Fix followers pagination UI 2022-07-05 12:53:21 -07:00
Gabe Kangas 3741196de6 Standardize endpoint name and fix doc. Closes #1966 2022-06-20 08:46:53 -07:00
Gabe Kangas 6ff8c89246 Move to the Eartlhy job for the nightly Docker build. Closes #1953 2022-06-20 08:08:03 -07:00
Gabe Kangas 2baad77c5a Support running tests within Earthly container 2022-06-20 08:04:04 -07:00
Gabe Kangas 62a580b72c Use Earthly setup action instead of manually downloading 2022-06-19 10:41:15 -07:00
Gabe Kangas 078462b246 Remove additional branching 2022-06-19 10:32:12 -07:00
Gabe Kangas a137d7ebb9 Support multi-platform docker builds with qemu 2022-06-18 23:05:50 -07:00
Gabe Kangas 233a2ccb2f Point to most recent earthly + cd to root on build 2022-06-18 20:46:05 -07:00
Gabe Kangas fce3672bc1 Add nightly build action that uses Earthly. Another step in #1953 2022-06-18 20:23:23 -07:00
Gabe Kangas d214f2390e Pass in the image and tag names separately from the version 2022-06-18 20:19:43 -07:00
Gabe Kangas ee118e905c Add Prometheus endpoint to OpenAPI spec 2022-06-13 13:33:35 -07:00
Gabe Kangas 0f4aab24a8 Tweaks for sig verify error message 2022-06-11 15:17:43 -07:00
Gabe Kangas d6814b516a Require auth middleware only on GET requests 2022-06-05 22:46:46 -07:00
Gabe Kangas 26eebf47d5 Pass back actual error payload 2022-06-05 22:45:20 -07:00
Gabe Kangas c841e4d32d Fix middleware attached to wrong endpoint 2022-06-04 22:41:25 -07:00
Gabe Kangas ab0a46cbd2 Change text to clarify following is on the fediverse 2022-06-04 11:36:09 -07:00
Gabe Kangas 677700414b Allow adjusting latency targets based on buffering events 2022-06-02 23:37:20 -07:00
Gabe KangasandGitHub af1e786c99 Limit seeking to live edge on play event to only if not previously playing. 2022-05-27 12:55:01 -07:00
Gabe KangasandGitHub 1bc12da73a Remove reference to unused var 2022-05-26 12:40:50 -07:00
Gabe KangasandGitHub 73cf043ed7 Reduce max rebuffer events + update log messages 2022-05-26 09:12:53 -07:00
Gabe Kangas afeef6f276 Return and pass around clock skew to be used in latency calculations.
Closes #1920
2022-05-23 15:17:41 -07:00
Gabe Kangas ade4d68c0d Return explicit http 200 2022-05-23 15:12:59 -07:00
Gabe Kangas 677bd9efe3 Re-add missing required auth middleware to callback 2022-05-23 12:34:47 -07:00
Gabe Kangas f097238e24 Remove log message 2022-05-23 12:27:09 -07:00
Gabe Kangas dcac6783dd Remove extra newline 2022-05-16 11:43:57 -07:00
Gabe Kangas d43e3d4e47 Completely give up latency compensation when the latency seems too wrong 2022-05-12 14:21:05 -07:00
Gabe Kangas c1b614ed49 Fix up the wasted CPU transcoding alert message 2022-05-11 17:00:23 -07:00
Gabe Kangas ed0e376bae Do not return a stream health overview if it is zero 2022-05-08 15:58:39 -07:00
Gabe Kangas 21b82ebb2c Fix invalid field name 2022-05-08 15:28:06 -07:00
Gabe KangasandGitHub d1cebb0d88 Increase linter timeout even more to try to fix github workflow error. 2022-05-02 07:01:55 -07:00
Gabe KangasandGitHub e95cf6bc72 Increase linter timeout 2022-05-01 11:53:57 -07:00
Gabe Kangas 2c47ddeef0 Optimize chat history query. Helps #1890 2022-05-01 00:07:33 -07:00
Gabe Kangas 8a343d0324 Remove extranious response 2022-04-30 23:16:48 -07:00
Gabe Kangas b6d575a286 Set value on cache miss 2022-04-30 23:16:08 -07:00
Gabe Kangas e6804d0233 Fix cache warming not firing. Closes #1889 2022-04-30 23:15:57 -07:00
Gabe KangasandGitHub 339d596fd3 Reduce the amount of chat backlog we keep. 2022-04-29 18:30:54 -07:00
Gabe KangasandGitHub cbbf2970c1 Fix typo 2022-04-27 23:16:09 -07:00
Gabe Kangas b378728eba Add mediaType to federated attachments + fix image description. For #1840 2022-04-27 16:35:36 -07:00
Gabe Kangas a1377c3338 Fix text 2022-04-27 15:09:28 -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 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 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 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
Gabe Kangas 7f1f8c39c3 Some notify popup tweaks
- Added back the border on the notification button.
- Removed border on the notification popup close button.
- Made entire popup clickable instead of just the text.
- Changed cursor style to as a hint that it's clickable.
- Renamed selectors to be called notify.
2022-04-17 12:27:52 -07:00
Gabe Kangas 770b5d05f0 If tab is in the background then instant jump to bottom w/o animation 2022-04-16 21:54:13 -07:00
Gabe Kangas 926560cd02 Add extended content type for ActivityPub objects. Closes #1827 2022-04-15 22:44:40 -07:00
Gabe KangasandGitHub ab189ad75d Update link 2022-04-15 14:36:22 -07:00
Gabe KangasandGitHub 01de43e6dc Explicitly set go version in linter config. 2022-04-12 12:14:42 -07:00
Gabe KangasandGitHub 1199532e18 Use useNetworkInformationApi in playback. 2022-04-11 21:20:38 -07:00
Gabe Kangas e11698e23b Remove schedule from renovate 2022-04-10 00:20:38 -07:00
Gabe Kangas ace57114c0 Simplify how the stream health messages are generated 2022-04-09 23:02:50 -07:00
Gabe Kangas 38ae7a3da3 Update browserslist 2022-04-08 23:57:03 -07:00
Gabe Kangas d2be4a4ed8 Add the word enable for clarity 2022-04-08 23:14:10 -07:00
Gabe Kangas 568ecc7ddf Remove antipating an initial time jump 2022-04-08 20:09:38 -07:00
Gabe Kangas 4ed02d4e0f Fix the min/max latency thresholds 2022-04-08 15:09:47 -07:00
Gabe Kangas e46f8e2a66 Troubleshoot misskey follows
Store the original follow request object and use it for approvals.
Closes #1690
2022-04-08 13:33:30 -07:00
Gabe Kangas f8181fd036 Do not make metrics api call if there is no data to send 2022-04-08 13:22:48 -07:00
Gabe Kangas d4cbf07055 Allow latency compenstation if bandwidth is fast enough or there are enough segments buffered 2022-04-08 13:22:48 -07:00
Gabe Kangas 6b909b2c47 Do not report playback metrics if the network is not in use 2022-04-08 13:22:48 -07:00
Gabe Kangas 9b2ef76773 Move CreateSignedRequest to the activitypub/crypto package 2022-04-07 13:44:36 -07:00
Gabe Kangas e4589a4462 Experiment with supporting h2c 2022-04-07 11:43:26 -07:00
Gabe Kangas 2a6bebfb2a Add a bit of sanity to the stream health messages 2022-04-07 00:14:23 -07:00
Gabe Kangas 422ae35e67 Typo in gitignore 2022-04-06 22:43:47 -07:00
Gabe Kangas 329eb7e318 Adjust how latency jumps are determined 2022-04-06 22:26:37 -07:00
Gabe Kangas a6b1d0ec94 Do not collect playback metrics when paused 2022-04-06 22:20:51 -07:00
Gabe Kangas 748ada13d3 Do not set bool on timer 2022-04-06 19:10:55 -07:00
Gabe Kangas 0254afea71 Reduce latency jump amount 2022-04-06 18:47:30 -07:00
Gabe Kangas c5cbb210c2 Update when and how to show video settings menu 2022-04-06 18:32:50 -07:00
Gabe Kangas 179e7ab7ca Allow time jumps to compenstate for large latency 2022-04-06 18:31:10 -07:00
Gabe Kangas 9fd32a9301 Update gitignore 2022-04-05 17:25:45 -07:00
Gabe Kangas 3054d3d097 Add latency compensation toggle in video settings menu 2022-04-05 16:58:42 -07:00
Gabe Kangas d0bd511101 Tweak compensator ramp up + add slight ramp down 2022-04-04 21:00:07 -07:00
Gabe Kangas 823f952b9c Limit the amount the latency compensates at once with a ramp up 2022-04-04 13:46:52 -07:00
Gabe Kangas 037583be23 Add custom suggestion error to disable video passthrough 2022-03-30 14:02:49 -07:00
Gabe Kangas c50536ff81 Pull player metrics out of the player. Support safari errors/buffering events 2022-03-29 17:33:36 -07:00
Gabe Kangas 1e19e2a50e Surface the % of players represented in metrics 2022-03-27 16:27:38 -07:00
Gabe Kangas 9f6151359f Track buffering events as errors differently in playback metrics 2022-03-27 14:45:21 -07:00
Gabe Kangas 78b0f7addc Allow latency compensator to be a little more aggressive 2022-03-27 14:44:50 -07:00
Gabe Kangas 44afc9c1ea Guard against browsers not running VHS 2022-03-26 18:34:57 -07:00
Gabe Kangas cd4f19108a Cleanup and simplify stream health overview 2022-03-26 16:13:06 -07:00
Gabe Kangas 35801ff33a Add CPU monitoring to stream health overview 2022-03-26 13:01:23 -07:00
Gabe Kangas 83cec52104 Log out more values to help test + tweak latency compensator 2022-03-26 12:36:41 -07:00
Gabe Kangas 9300ebb015 Increase browser push notification TTL 2022-03-25 19:48:37 -07:00
Gabe Kangas 7b4110467b mod tidy 2022-03-25 19:08:38 -07:00
Gabe Kangas 5a2584d8ea Continued tweaking of latency compensation 2022-03-25 14:24:56 -07:00