Commit Graph
100 Commits
Author SHA1 Message Date
Gabe Kangas f69463f536 Remove period 2022-01-31 16:03:26 -08:00
Gabe Kangas 3f974ce7db Remove references to config file. #1697 2022-01-31 16:01:34 -08:00
Gabe Kangas ade392e5db Do not log stream key when changing it 2022-01-31 13:23:50 -08:00
Gabe Kangas 65f0673dba Add a sanity check to make sure the actor IRI exists 2022-01-30 13:14:56 -08:00
Gabe Kangas 4e76fff0d0 Add support for resolving Application actors and fix error handling with failed resolution. Fixes #1710 2022-01-30 11:44:17 -08:00
Gabe Kangas f272542e40 Persistent HTTP connections seem to work now. Re-enabling. 2022-01-27 20:22:04 -08:00
Gabe Kangas 0d77856cb9 Simplify saving segments to disk 2022-01-27 20:14:19 -08:00
Gabe Kangas 8bc40486f8 Quiet, linter 2022-01-27 14:58:31 -08:00
Gabe Kangas 7b7bbe405b mod tidy 2022-01-27 14:54:49 -08:00
Gabe Kangas d2fd6a95e9 15 -> 16 per page 2022-01-27 14:40:36 -08:00
Gabe Kangas 9e918d144e Use bolder user icon in header. closes #1704 2022-01-27 14:39:40 -08:00
Gabe Kangas e0cb7c9fe4 Simplify appending the offline segment to playlist 2022-01-27 14:34:25 -08:00
Gabe Kangas 172082f56c Increase retries to improve stability for low duration segment playlists 2022-01-27 14:25:48 -08:00
Gabe Kangas e4b1217af8 Do not return clientID in chat history API. Closes #1547 2022-01-25 20:13:41 -08:00
Gabe Kangas 56878b8bbe Order followers 2022-01-24 15:39:32 -08:00
Gabe Kangas 88b20803b7 Add missing link to chat payload. Closes #1692 2022-01-24 14:56:32 -08:00
Gabe Kangas 50b0bfbc4e Move follower count to tab title. Closes #1698 2022-01-24 14:35:15 -08:00
Gabe Kangas 8943be9bf9 Add pagination + update layout of followers 2022-01-24 14:24:43 -08:00
Gabe Kangas 720824d519 Update OG tags test 2022-01-22 21:10:52 -08:00
Gabe Kangas 580a6077e1 Support Mastodon+Twitter cards via HTML embed player in OG tags. 2022-01-22 21:04:45 -08:00
Gabe Kangas bd14b70679 Fix janky hashtag detection. Closes #1686 2022-01-20 20:01:05 -08:00
Gabe Kangas bb3bbc0eaf Demote error level 2022-01-20 17:33:42 -08:00
Gabe Kangas 7f41b2df7c Strip any trailing slash when saving server URL 2022-01-20 17:07:15 -08:00
Gabe Kangas a471707a54 Fix misskey-specific error of existing-but-null avatar. Closes #1689 2022-01-20 14:56:04 -08:00
Gabe Kangas 372b1059c0 Reduce the breakpoint width for single column mode. closes #1688 2022-01-20 14:31:53 -08:00
Gabe Kangas dbf9776a6e Fix error in video embed. Closes #1687 2022-01-20 14:18:51 -08:00
Gabe Kangas 3b0dafba9a Return error in API response. Return all fields in message+user query 2022-01-18 15:38:23 -08:00
Gabe Kangas 055f4468a0 Update API spec for 0.0.11. Closes #1666 2022-01-18 14:42:24 -08:00
Gabe Kangas 9a875722b1 Add server URL to profile data. Closes https://github.com/owncast/owncast/issues/1675 2022-01-17 20:01:58 -08:00
Gabe Kangas 9226e783ff Only warn about svg logo once. Closes #1668 2022-01-13 20:49:28 -08:00
Gabe Kangas 6545a9573e Increase width for modals on mobile. Closes #1669 2022-01-13 20:39:35 -08:00
Gabe Kangas 08586eaa0e Respect the 5min chat enabled buffer. Closes #1661 2022-01-13 13:37:23 -08:00
Gabe Kangas d262510469 Replace default social link icon.
The old one, a globe, looked like people were linking to a map or
something.
2022-01-13 13:07:08 -08:00
Gabe Kangas 44cb952c29 Increase the timeout buffer so viewer count doesn't jump around when not pinging 2022-01-12 21:03:50 -08:00
Gabe Kangas 3ab5298f7f Fix the modals being too high. Closes #1664 2022-01-12 20:26:25 -08:00
Gabe Kangas 995080b478 Guard against invalid chat messages with no user object 2022-01-12 20:23:01 -08:00
Gabe Kangas 01d83064da Make acct webfinger prefix optional. Closes #1662" 2022-01-12 19:56:55 -08:00
Gabe Kangas 9eecf1c902 Handle create requests but immediately throw an error that we ignore them 2022-01-12 18:42:33 -08:00
Gabe Kangas 4df4126e8c I should probably just remove the dupl linter 2022-01-12 16:29:22 -08:00
Gabe Kangas 24a57f9076 Small cleanup 2022-01-12 15:16:24 -08:00
Gabe Kangas 36f8a54c91 Remove old doc 2022-01-12 14:08:28 -08:00
Gabe Kangas 5723c8a0a0 Optimize images 2022-01-12 14:01:26 -08:00
045a0a2afd Social features / ActivityPub federation (#1629)
* Support webfinger requests for the live account. Closes https://github.com/owncast/owncast/issues/1193

* Support for actor requests. Returns response for live actor. Closes https://github.com/owncast/owncast/issues/1203

* Handle follow and unfollow requests. Closes
https://github.com/owncast/owncast/issues/1191 and https://github.com/owncast/owncast/issues/1205 and https://github.com/owncast/owncast/issues/1206 and https://github.com/owncast/owncast/issues/1194

* Add basic support for sending out text activities. For https://github.com/owncast/owncast/issues/1192

* Some error handling and passing of dynamic local account names.

* Add hardcoded example image attachment to test post

* Centralize the map of accounts and inboxes

* No longer disable the preview generator based on YP toggle

* Send a federated message to followers when stream starts. For https://github.com/owncast/owncast/issues/1192

* Placeholder for attaching tags

* Add image description

* Save and get to outbox persistence. Return using outbox endpoint for actor

* Pass payloads to be handled through the gochan

* Handle undo follow requests explitly, not all undo requests

* Add API for manually sending simple federated messages. Closes #1215

* Verify inbox requests. Closes #1321

* Add route to fetch a single AP object by ID. For #1329

* Add responses to fediverse nodeinfo requests

* Set and get federation config values for admin

* Handle host-meta requests

* Do not send out message if disabled. Use saved go live message.

* Require AP-compatible content types for AP-related requests

* Rename ap models to apmodels for clarity

* Change how content type matching takes place.

* io -> ioutil

* Add stub delete activity callback

* Handle likes and announces to surface engagement in chat. Part of #1229

* Append url to go live posts

* Do not require specific content types for nodeinfo requests

* Add follow engagement chat message via AP

* add owncast user-agent to requests

* Set note visibility to public (for now)

* Fix saving/fetching a single object

* Add support for x-nodeinfo2 responses

* Point to the dev admin branch for ap

* Bundle in dev admin for testing

* Add error logging

* Add AP middleware back

* Point to the new external compatible logo endpoint

* Clean up more AP logging to help testing

* Tweak go live text and link hashtags

* Fix bug in fetching init time

* Send update actor activities when server details/profile is updated

* Add federation config overview to web client config

* Add additional actor properties

* Make the AP middleware checking more flexible when looking at types

* First pass at remote fediverse follow flow. For #1371

* Added a basic AP actor followers endpoint

* WIP client followers API

* Add profile-page reference to webfinger response

* Add aliases to webfinger response

* Fix content-type returned to be expected activitypub+json

* First pass at followers api

* Point at local dev copy of go-fed/activity

* Add custom toot Hashtag objects to posts

* Store additional user details to followers table

* Fix AP followers endpoint. Closes #1204

* Add owncast hashtag as an invisible tag to go live posts

* Reject AP requests when it is disabled

* Add actor util for generating full account user from person object

* Verify inbox requests before performing any other work

* Accept actor update requests

* Fix linter errors in federation branch

* Migrate AP SQL to sqlc for type safe queries

* Use the @unclearParadigm REST parameter helper

* Fix verifying post ID on AP engagement

* WIP privacy/request approval

* Style the remote follow modal

* First pass at a followers list component w/ mock data. #1370

* Revert "Use the @unclearParadigm REST parameter helper"

This reverts commit c8af8a413f6f53e7d1a15a7d823ff28be2db3c23.

* Fix get followers API

* Add support for requiring approval. Closes https://github.com/owncast/owncast/issues/1208

* Handle Applications as Actors partly for PeerTube support

* add temp todo list

* check route on load, this might change later

* style followers

* account for just 1 tab case

* Remove mock data. Allow showing follow button even when there are no external actions defined

* Point to actual followers API

* Support fallback img for follower views

* Remove duplicate verification. Add some additional verbose logging

* Bundle dev admin

* Add type to host-meta webfinger template response

* Tweak remote follow modal content

* WIP federation followers refactor

* Do not send pointer to middleware

* Update admin

* Add setting for toggling displaying fediverse engagement. Closes #1404

* Add in-development admin

* Do not enable cors on admin followers api

* Add db migration for updating messages table

* Enable empty string go live messages to disable

* Remove debug messages

* Rework some ActivityPub handling.

Create new Actor->Person handling.
Create new Actor->Service handling.
Add engagement handlers to send chat events and store event objects.
Store inbound activities to new ap_inbound_activities table.

* Support federated engagement events.

Store them in the messages table and surface them via chat events.

* Support federated event engatement in the chat

* Tweak web UI followers handling

* Point go.mod at remote fork instead of local

* Update admin

* Merged in develop. Couple fixes

* Update dev admin

* Update fedi engagement posts.

- Fix incorrect action text.
- Add action icons.

* Set public as to instead of cc for ap msg

* Updated styling for federated actions in chat

* Add support for blocking federated domains. Closes #1209

* Force checking of https in verify step

* Update dev admin

* Return user scopes in chat history api. Closes #1586

* Update dev admin

* Add AP outbound request worker pool. Closes #1571

* Disable (temporarily?) owncast tag on AP posts

* Consolidate creating activity+notes in outbound AP messages

* Add inbox worker pool. Closes #1570

* Update dev admin bundle

* Clean up some logs

* Re-enable inbound verfication

* Save full IRI to outbox instead of path

* Reject if full IRI is not found in outbox

* Use full ActivityPub user account in chat event

* Fix and expand follower APIs

- Add missing IDs to AP follower endpoints
- Split AP follower endpoints into initial request and pages.
- Support pagination in AP requests.

* Include IRI in error message

* Hide chat toggle when chat is hidden. Closes #1606

* Updates to followers pagination

* Set default go live message

* Remove log

* indirect -> direct import

* Updates for inbound federated event handling.

- Keep track of existing events and reject duplicates.
- Change what is sent to chat for surfing federated engagement.
- Keep track if outbound events are automated "go live" events or not.

* Update chat federated engagement.

* Update dev admin.

* Move from being a person to a bot (service). Closes #1619

* Only set server init date if not already set

* Only save notes to outbox able

* Rework private-mode followers/approvals

* API for returning a list of federated actions for #1573

* Fix too-small follower cells and jumpy tabs. Closes #1616 and closes #1516

* Fix shortcuts getting fired on inputs. Fixes #1489 and #1201

* Add spinner, autoclose + other fixes to follow modal. Fixes #1593

* Fix fetching a single object by IRI

* SendFederationMessage -> SendFederatedMessage

* Autolink and create tag objects from manual posts. Closes #1620

* Update dev admin bundle

* Handle engagement from non-automated/live posts

* Reject federated engagement actions if they do not match a local post

* Update dev admin bundle

* A bunch of cleanup

* Fix unused assignments and logic

* Remove unused function

* Add content warning and sentive content flag if stream is NSFW. Closes #1624

* Disable fetching objects by IRI when in private mode. Closes #1623

* Update the error message of the remote follow dialog. closes #1622

* Update dev admin

* Fix NREs throwing in test content

* Fix query that wasn't properly filtering out hidden messages

* Test against user being disabled instead of message visibility

* Fix automated test NRE

* Update comment

* Adjust federated engagement chat views. Closes #1617

* Add additional index to users table

* Add support for removing followers/requests. Closes #1630

* Reject federated actions from blocked actors. #1631

* Use fallback avatar if it fails to load. Closes #1635

* Fix styling of follower list. Closes #1636

* Add basic blurb stating they should follow the server. Closes #1641

* Update dev admin

* Set default go live message in migration. Closes #1642

* Reset the messages table on 0.0.11 schema migration

* Fix js error with moderation actions. Closes #1621

* Add a bit more clarification on follow modal. Closes #1599

* Remove todos

* Split out actor and domain blocking checks

* Check for errors on default values being set

* Clean up actor rejection due to being blocked

* Update dev admin

* Add colon to error to make it easier to read

* Remove markdown rendering of go live message. Reorganize text. Remove content warning. Closes #1645

* Break out the sort+render messages logic so it can be fired on visibility change. Closes #1643

* Do not send profile updates if federation is disabled

* Save follow references to inbound activities table

* Update dev admin

* Add blocked actor test

* Remove the overloaded term of Follow from social links

* Fix test running in memory only

* Remove "just" in engagement messags

* Replace star with heart for like action.

* Update dev admin

* Explicitly set cc as public

* Remove overly using the stream name in fediverse engagement messages

* Some federated/follow UI tweaks

* Remove explicit cc and bcc as they are not required

* Explicitly set the audience

* Remove extra margin

* Add Join Fediverse button to follow modal. Closes #1651

* Do not allow multiple follows to send multiple events. Closes #1650

* Give events a min height

* Do not allow old posts to be liked/shared. Closes #1652

* Remove value from log message

* Alert followers on private mode toggle

* Ignore clicks to follow button if disabled

* Remove underline from action buttons

* Add moderator icon to join message

* Update admin

* Post-merge remove unused var

* Remove pointing at feature branch

Co-authored-by: Ginger Wong <omqmail@gmail.com>
2022-01-12 13:53:10 -08:00
Gabe Kangas 814c65eeb7 Add user icon next to username. Closes #1655 2022-01-12 10:10:49 -08:00
Gabe Kangas 5ff5c87674 Move author flair down by 1px 2022-01-06 21:54:13 -08:00
Gabe Kangas a885e9d7d7 Add DuckDuckGo bot to our bot list 2022-01-06 13:06:44 -08:00
Gabe Kangas 6be0cecc09 Make username in the header more obvious by lightening color 2022-01-06 11:29:25 -08:00
Gabe Kangas f19840dea9 Change message link colors. For #1551 2022-01-05 21:10:22 -08:00
Gabe Kangas b02bf25ff9 Add Rocket.Chat to bot list. Closes #1639 2022-01-05 09:40:17 -08:00
Gabe Kangas da89b7d733 Use smooth scrolling with chat 2021-12-29 13:22:24 -08:00
Gabe Kangas f2e47c99a2 Refactor chat component to fix #1529 2021-12-27 23:00:10 -08:00
Gabe Kangas 4832938fec Add actions to the renderable message list 2021-12-27 11:29:43 -08:00
Gabe KangasandGitHub 59dd06a306 Tweak readme source instructions 2021-12-20 15:17:53 -08:00
Gabe Kangas a964f02089 Force message not rerendering on moderator privilages. Closes #1538 2021-12-18 23:32:51 -08:00
Gabe Kangas 9e0099f865 Update stale PR message 2021-12-15 21:45:21 -08:00
Gabe Kangas 734a5a45ef Non-user chat messages should always render as visible 2021-12-15 17:28:56 -08:00
Gabe KangasandGitHub e6ed6a6849 Don't run CodeQL for dependencies 2021-12-13 10:14:56 -08:00
Gabe Kangas 70027d058f Fix chat react state getting overwritten. Closes #1529 2021-12-12 00:11:38 -08:00
Gabe Kangas f3a8266c99 Fix some chat event types breaking.
- User moderator message was no longer showing
- Name change event was breaking chat
2021-12-11 16:44:39 -08:00
Gabe Kangas c3f9f24624 Fix moderator shield showing incorrectly.
It was being shown for all messages if you're a moderator, instead of
just being shown on messages from moderators.
2021-12-11 16:03:24 -08:00
Gabe Kangas 559c85856f Display moderator status in chat messages 2021-12-09 14:06:48 -08:00
Gabe Kangas 7488dfec37 Optimize images 2021-11-30 17:52:12 -08:00
Gabe Kangas 99f19395e6 Use moderator icon with no background 2021-11-30 15:54:29 -08:00
Gabe Kangas ba906e2609 Give transcoder a larger codec buffer size.
To give the codec a bit more breathing room with compression to maybe
improve possible blockiness in high movement scenes.
2021-11-30 13:40:09 -08:00
Gabe KangasandGitHub 83eb9229ad Auto updater APIs (#1523)
* APIs for querying and executing an update in place.

For #924

* Use the process pid to query systemd for status

* Use parent pid and invocation ID to guess if running from systemd

* Stream cmd output to client + report errors

* Update comment to refer to INVOCATION_ID
2021-11-30 13:15:18 -08:00
Gabe Kangas b052fa410b Update tests 2021-11-26 21:05:18 -08:00
Gabe Kangas 90b1c8639f Reduce max complexity in linter 2021-11-26 20:55:58 -08:00
Gabe Kangas 73e58a7801 Refactor the offline clip handling.
More stable, reduced function complexity.
2021-11-26 20:55:31 -08:00
Gabe Kangas 3585340f1b Update test 2021-11-23 22:02:39 -08:00
Gabe Kangas 2fba39b7c7 Increase the number of segments in HLS playlist.
In testing this is not increasing latency and should improve stability
and reliability for some people, since there will be a larger back
buffer to work from.
2021-11-23 21:54:51 -08:00
Gabe Kangas 00019bf86b Allow for rendering a wider color range for messages 2021-11-17 17:56:52 -08:00
Gabe Kangas 7bf421e506 Add package files to support running fakeChat.js 2021-11-17 17:56:52 -08:00
Gabe Kangas 040c838881 Keep list of renderable message types and check against them 2021-11-17 17:19:58 -08:00
Gabe Kangas 1873151390 Disable caching of some GET apis. Closes #1530 2021-11-16 20:58:50 -08:00
Gabe Kangas d213c4a5b7 Only show moderator flag if you are a moderator. Fixes #1536 2021-11-16 17:59:59 -08:00
Gabe Kangas 7b1d24873e Only act on messages of type CHAT. Closes #1537 2021-11-16 17:46:28 -08:00
Gabe Kangas a14f174183 Fix browser name change test not actually changing name 2021-11-16 17:41:31 -08:00
Gabe KangasandGitHub 06f3644b11 Remove running codeql on a schedule
PRs and pushes only.
2021-11-13 18:49:57 -08:00
Gabe Kangas 32e72883a6 Tweak system message style 2021-11-13 17:44:23 -08:00
Gabe Kangas 5a6a4240ae Add new icons and tweak styles of moderator actions 2021-11-13 17:03:17 -08:00
Gabe Kangas 1e1e7f5cf4 Swap out follow platform icon 2021-11-13 16:48:40 -08:00
Gabe Kangas 97f806440e Make emoji small within the moderator info box. closes #1519 2021-11-12 21:42:50 -08:00
Gabe Kangas ae49e38eb9 Update admin dispatch event workflow 2021-11-12 16:44:38 -08:00
Gabe Kangas c9f8133507 Fix incorrect webhook payload being sent in the new SetMessageVisibilityEvent 2021-11-12 16:28:53 -08:00
Gabe Kangas 464ae9598b Add workflow for accepting bundle admin event 2021-11-12 10:02:04 -08:00
Gabe Kangas cae02f0902 No longer save chat ban state locally. Closes #1518 2021-11-11 15:39:56 -08:00
Gabe Kangas a33646e59f Add test to verify websocket events come through for changing message visibility 2021-11-11 14:27:45 -08:00
Gabe Kangas b9107eab12 Remove warning if geoip test is skipped 2021-11-11 12:43:21 -08:00
Gabe KangasandGitHub f78f1795fe Update stale issue message 2021-11-08 17:51:18 -08:00
Gabe Kangas b7865c92b5 Increase cache duration for resources 2021-11-07 19:53:01 -08:00
Gabe Kangas bb5ef1c5a1 Add words to workspace that spell checkers complain about 2021-11-03 16:28:05 -07:00
Gabe Kangas 676aa96f40 Add support for overriding embedded offline.ts. Closes #1507 2021-11-03 16:27:37 -07:00
Gabe Kangas 6ffa020c5f Updated linter threw new warnings. Fixed. 2021-11-03 09:43:47 -07:00
Gabe Kangas 4a52ba9f35 Update admin 2021-11-02 18:02:03 -07:00
Gabe KangasandGitHub b43c5e674e Rework how hiding messages works. (#1509)
* Rework how hiding messages work. Fixes #1350

* Remove unused function

* Revert to old event name to support previously saved webhooks
2021-11-02 18:00:15 -07:00
Gabe Kangas 3fdae7afb9 Don't codeql the static directory 2021-11-01 18:30:46 -07:00
Gabe Kangas c7d988c7dd Update admin 2021-11-01 18:16:01 -07:00
Gabe Kangas 47b84faefb Silence the browser test error 2021-11-01 00:40:39 -07:00
Gabe Kangas 4c37308e71 Update the HLS flags to adhere to more Apple recommendations 2021-11-01 00:20:08 -07:00
Gabe Kangas 5b38426e31 Tweak video bandwidth values to be < 10% over max 2021-10-31 23:00:11 -07:00