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
Gabe Kangas
d8ead6d954
Allow the latency compensator to be dynamic
2022-03-16 23:34:17 -07:00
Gabe Kangas
6479220e78
Expand upon playback metrics
2022-03-16 22:49:27 -07:00
Gabe Kangas and GitHub
d84da617b7
Add player latency compensator. Closes #837 ( #1786 )
2022-03-16 18:41:59 -07:00
Gabe Kangas
689b6feef2
Remove rougue import
2022-03-16 17:47:02 -07:00
Gabe Kangas and GitHub
babbcecc9c
Stream performance metrics ( #1785 )
...
* WIP playback metrics
* Playback metrics collecting + APIs. Closes #793
* Cleanup console messages
* Update test
* Increase browser test timeout
* Update browser tests to not fail
2022-03-16 17:34:44 -07:00
Gabe Kangas
c960f6488f
Replace timestamp for cachebuster with rand string. Closes #1781
2022-03-11 12:22:50 -08:00
Gabe Kangas
a8167dc9e0
Fix tests after segment filename change
2022-03-10 14:20:44 -08:00
Gabe Kangas
b9a597299f
Simplify segment filenames. Closes #1778
...
Remove the seconds as an identifier to allow for segments to be written
more than one per second.
2022-03-10 14:14:02 -08:00
Gabe Kangas
994145b609
Fix prometheus viewer count value & rename metrics names
2022-03-09 17:48:53 -08:00
Gabe Kangas
b5d60d9f40
Fix linter warnings
2022-03-07 16:37:04 -08:00
Gabe Kangas
48006d7a79
Fix updated go linter
2022-03-07 11:26:51 -08:00
Gabe Kangas
2743bddf4e
Fix js package build workflow
2022-03-07 11:21:42 -08:00
Gabe Kangas
a8bece63e5
Remove Renovate grouped PRs
2022-03-07 11:17:17 -08:00