Commit graph

587 commits

Author SHA1 Message Date
Gabe Kangas
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
t1enne
22ea665fa4
fixed chat scroll breaking on single col (#1845) 2022-04-21 10:08:41 -07:00
gabek
dad9e0d16b Prettified Code! 2022-04-21 05:21:35 +00:00
t1enne
cbe469ef87
Chat menu restyle (#1844)
* Chat menu restyle

* Update username.js

updated span to have id #username-display. Needed for tests

* removed chat menu failing tests

* hide form on username change (while same username)

* fixed onusernamechange handler

* resized username label, removed some margins

* removed commented out code
2022-04-20 22:21:02 -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
gabek
89a481ff66 Prettified Code! 2022-04-17 18:59:42 +00:00
t1enne
efbe4bc3a3
Follow popup clickable (#1839)
* Made follow popup clickable

* Fixed follow-poput styling

* had commented out visits check
2022-04-17 11:59:05 -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
t1enne
fe20faf49d
Fixed Firefox positioning caret on the right in chat input (#1834) 2022-04-16 11:00:21 -07:00
Gabe Kangas
1199532e18
Use useNetworkInformationApi in playback. 2022-04-11 21:20:38 -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
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
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
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
c50536ff81
Pull player metrics out of the player. Support safari errors/buffering events 2022-03-29 17:33:36 -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
83cec52104
Log out more values to help test + tweak latency compensator 2022-03-26 12:36:41 -07:00
Gabe Kangas
5a2584d8ea
Continued tweaking of latency compensation 2022-03-25 14:24:56 -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
imgbot[bot]
496eee295c
[ImgBot] Optimize images (#1789)
*Total -- 3,494.01kb -> 3,001.71kb (14.09%)

/webroot/img/user-icon.svg -- 1.48kb -> 0.76kb (48.75%)
/webroot/img/owncast-background.png -- 3,228.15kb -> 2,739.00kb (15.15%)
/webroot/img/emoji/papalparrot.gif -- 2.31kb -> 2.02kb (12.39%)
/webroot/img/emoji/ryangoslingparrot.gif -- 5.86kb -> 5.48kb (6.43%)
/webroot/img/browser-push-notifications-settings.png -- 23.65kb -> 22.26kb (5.86%)
/webroot/img/follow.svg -- 1.67kb -> 1.63kb (2.17%)
/webroot/img/bot.svg -- 6.82kb -> 6.70kb (1.83%)
/webroot/img/repost.svg -- 1.61kb -> 1.59kb (1.52%)
/webroot/img/like.svg -- 1.66kb -> 1.63kb (1.47%)
/webroot/img/emoji/matrixparrot.gif -- 2.02kb -> 2.00kb (0.77%)
/webroot/img/notification-bell.svg -- 0.59kb -> 0.58kb (0.5%)
/webroot/img/emoji/tiedyeparrot.gif -- 32.45kb -> 32.39kb (0.19%)
/webroot/img/emoji/githubparrot.gif -- 27.44kb -> 27.40kb (0.17%)
/webroot/img/emoji/cryptoparrot.gif -- 5.08kb -> 5.07kb (0.08%)
/webroot/img/emoji/alert.gif -- 59.86kb -> 59.84kb (0.04%)
/webroot/img/emoji/fixparrot.gif -- 3.76kb -> 3.76kb (0.03%)
/webroot/img/emoji/tennisparrot.gif -- 55.18kb -> 55.17kb (0.02%)
/webroot/img/emoji/sithparrot.gif -- 17.21kb -> 17.21kb (0.01%)
/webroot/img/emoji/jediparrot.gif -- 17.21kb -> 17.21kb (0.01%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-03-18 20:27:53 -07:00
Gabe Kangas
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
c885d150d4
Tweak latency compensation 2022-03-17 21:10:07 -07:00
Gabe Kangas
d8ead6d954
Allow the latency compensator to be dynamic 2022-03-16 23:34:17 -07:00
Gabe Kangas
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
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
David
6e05c5cd7d
Fix and refactor getCaretPosition (#1782) 2022-03-13 15:36:53 -07:00
Gabe Kangas
c960f6488f
Replace timestamp for cachebuster with rand string. Closes #1781 2022-03-11 12:22:50 -08:00
Gabe Kangas
78c27ddbdd
Add an icon for bot messages. Closes #1172 (#1729) 2022-03-06 20:09:55 -08:00
Gabe Kangas
5e6bc50b59
Handle pagination for the federated actions & followers responses (#1731)
* Add pagination for admin social list

* Use Paginated API for followers tab on frontend
2022-03-06 17:18:51 -08:00