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 Kangas and GitHub
af1e786c99
Limit seeking to live edge on play event to only if not previously playing.
2022-05-27 12:55:01 -07:00
Gabe Kangas and GitHub
1bc12da73a
Remove reference to unused var
2022-05-26 12:40:50 -07:00
Gabe Kangas and GitHub
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 Kangas and GitHub
d1cebb0d88
Increase linter timeout even more to try to fix github workflow error.
2022-05-02 07:01:55 -07:00
Gabe Kangas and GitHub
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 Kangas and GitHub
339d596fd3
Reduce the amount of chat backlog we keep.
2022-04-29 18:30:54 -07:00
Gabe Kangas and GitHub
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 Kangas and GitHub
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 Kangas and GitHub
ab189ad75d
Update link
2022-04-15 14:36:22 -07:00
Gabe Kangas and GitHub
01de43e6dc
Explicitly set go version in linter config.
2022-04-12 12:14:42 -07:00
Gabe Kangas and GitHub
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
Gabe Kangas
22578f0ac2
Change how often metrics are collected
2022-03-25 14:20:51 -07:00
Gabe Kangas
410b413b84
Add stream health overview collection + apis
2022-03-24 23:07:05 -07:00
Gabe Kangas
134e784282
Tweak position of moderator icon. Closes #1792
2022-03-21 15:01:30 -07:00
Gabe Kangas
3004432666
Hardcode email notifications in UI to false
2022-03-21 13:50:11 -07:00
Gabe Kangas
d96ddcc6c6
Continued tweaking of latency compensation
2022-03-19 13:17:37 -07:00
Gabe Kangas
d3aa3f87af
doc -> docs as Github needs a specific name
2022-03-19 12:02:34 -07:00
Gabe Kangas
5d360bcdd5
Add SECURITY.md document. Closes #1790
2022-03-19 11:51:48 -07:00
4a17f30da8
Outbound live stream notifications ( #1663 )
...
* First pass at browser, discord, twilio notifications
* Commit updated Javascript packages
* Remove twilio notification support
* Email notifications/smtp support
* Fix Firefox notification support, remove chrome checks
* WIP more email work
* Add support for twitter notifications
* Add stream title to discord and twitter notifications
* Update notification registration modal
* Fix hide/show email section
* Commit updated API documentation
* Commit updated Javascript packages
* Fix post-rebase missing var
* Remove unused var
* Handle unsubscribe errors for browser push
* Standardize email config prop names
* Allow overriding go live email template
* Some notifications cleanup
* Commit updated Javascript packages
* Remove email/smtp/mailjet support
* Remove more references to email notifications
Co-authored-by: Owncast <owncast@owncast.online >
2022-03-18 13:33:23 -07:00
Gabe Kangas
4e415f7257
CC->TO because Mastodon cares for visibility
2022-03-18 13:01:11 -07:00
Gabe Kangas
c885d150d4
Tweak latency compensation
2022-03-17 21:10:07 -07:00
Gabe Kangas
992e819f38
Lock metrics on mutation
2022-03-17 18:07:55 -07:00
Gabe Kangas
d1e39c4c1e
Force uniqueness with previews and logos on the fediverse. Closes #1777 and closes #1776
2022-03-17 13:22:44 -07:00
Gabe Kangas
dc16eafea4
Add git to build step
2022-03-17 00:24:04 -07:00