Commit Graph
26 Commits
Author SHA1 Message Date
fea4339e94 Notifications repository + service (#4565)
* Notifications repository

* feat: notifications repo + service

* fix: remove use of notifications/notifications.go

* Update persistence/notificationsrepository/notificationsrepository.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: remove unused method

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-21 15:34:01 -08:00
80850b15d0 feat: Adds a webhook for when a user follows the stream (#4362)
* feat: Adds a webhook for when a user follow the stream

Frontend:
Adds a checkbox which renders only when social features are enabled.

Backend:
- Defines a new type for the event
- Implements the webhook including unit testing
- Fires the webhook inside the ApproveFollower handler

* Removes unnecessary Type fiels from Events struct

* refactor: renames SendUserFollowedEvent func to FediverseEngagementFollow and fixes linting errors

* fix: fixes unit test to reflect removed Type field from FediverseEngagementFollowEvent

* feat: fires webhook also when manual approvals are not required

* chore: slight cleanup

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2025-11-21 13:47:50 -08:00
CopilotGitHubgabekcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
a0066fcf54 Fix all golangci-lint warnings surfaced by v2.4.0 (#4567)
* Initial plan

* Fix all golangci-lint warnings (21 issues resolved)

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
2025-09-25 20:03:40 -07:00
CopilotGitHubgabekcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
149d80a07d Inline chat moderation request returning 500s (#4412)
* Initial plan

* Initial analysis of inline chat moderation 500 error issue

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* Fix inline chat moderation 500 errors by supporting Authorization header tokens

- Modified RequireUserModerationScopeAccesstoken middleware to check both Authorization header (Bearer tokens) and URL query parameters
- This fixes the issue where inline chat moderation from the web UI was failing with 500 errors
- Maintains backward compatibility with existing code that uses query parameter tokens
- The fix aligns the chat endpoint behavior with the integrations endpoint which already supported Bearer tokens

Addresses the wiring issue between OpenAPI spec and API implementation identified in issue comments.

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* Fix inline chat moderation 500 errors by adding nil pointer checks

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

* Fix nil pointer vulnerabilities across all OpenAPI endpoints

Co-authored-by: gabek <414923+gabek@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gabek <414923+gabek@users.noreply.github.com>
2025-07-04 23:57:03 -07:00
c9a69b281c address activitypub notes to the streamer's follower collection (#4314)
* make a new function to generate appropriate to and cc apub objects

* use new addressing function to set "public" message addressing appropriately with the followers collection

* early return from sending federated message if federation is disabled

* cleanup old addressing code, apply new addressing mechanism to live notifications as well

* linter fix

* Update activitypub/outbox/outbox.go

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2025-05-07 17:35:12 -07:00
Gabe KangasandGitHub 6d97def04a fix(api): fix fediauth code verification. fixes #4316 (#4317) 2025-05-07 14:50:21 -07:00
mahmed2000andGitHub 9a0e487d54 Fix prometheus handlers (#4311)
* fix prometheus handlers not serving responses

* add basic integration test to prometheus handler

* modify .gitignore to ignore all ffmpeg versioned folders instead of just any file exactly matching "ffmpeg"
2025-05-03 23:27:08 -07:00
Gabe Kangas f0650ce760 fix: re-apply initial fix + set content-type header. Fixes #4114 2025-02-23 17:46:16 -08:00
Gabe Kangas d4dec25129 chore(api): add integration version of the status api. Closes #3981 2025-02-11 21:48:33 -08:00
Gabe Kangas 7b88b1099d Revert "fixed write header bug in case of errors in index html (#4185)"
This reverts commit 8af820e60e.
2025-02-11 18:37:13 -08:00
Aziz RmadiandGitHub 8af820e60e fixed write header bug in case of errors in index html (#4185) 2025-01-30 21:21:51 -08:00
8913779f81 Fix IndieAuth endpoint requiring incorrectly defined query param (#4183)
* fix(api): remove incorrectly required query param. Fixes #4163

* Commit updated API documentation

---------

Co-authored-by: Owncast <owncast@owncast.online>
2025-01-29 20:23:41 -08:00
Gabe KangasandGitHub c1f4096e11 chore(go): new chat message db repository. Closes #3081 (#4161) 2025-01-20 16:32:25 -08:00
Gabe Kangas e78d62ce63 chore(go): move stream keys to use generated type. For #3778 2025-01-18 16:38:59 -08:00
Gabe Kangas b3947ef7ea chore(go): move a couple more handlers to use generated types. For #3778 2025-01-18 16:24:35 -08:00
Gabe KangasandGitHub 6abbf8f50c chore(go): create webhooks repository. Closes #4085 (#4146) 2025-01-18 15:40:10 -08:00
Gabe Kangas a38c2d8ddf fix: add ETag header for bot/scraper page. For #4020 2024-12-18 07:28:06 -08:00
Gabe Kangas f59278764b fix: bump bot/webscraper server generated page cache to 1 minute. For #4020 2024-12-18 07:19:31 -08:00
d135d2907a feat(integerations): add route to get user details (#4030)
* feat(integerations): add route to get user details

* Commit updated API documentation

* test(integrations): implement unit test for get user details

---------

Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-11-26 11:30:33 -08:00
Gabe KangasandGitHub 0b5d7c8a4d Config repository (#3988)
* WIP

* fix(test): fix ap test failing

* fix: fix unkeyed fields being used

* chore(tests): clean up browser tests by splitting out federation UI tests
2024-11-15 19:20:58 -08:00
eed34b528e Update API gen, cleanup, add missing property to status response (#3987)
* fix(api): remove invalid tag properties from components

* chore(api): update api validation/linter to use redocly

* fix(api): add missing streamTitle property to status object. Closes #3983

* chore: add redocly config file

* Commit updated API documentation

---------

Co-authored-by: Owncast <owncast@owncast.online>
2024-10-27 15:36:31 -07:00
Gabe Kangas 0fccaa61fe fix(video): fix nil reference exception in playback metrics. Closes #3984 2024-10-26 12:22:19 -07:00
Gabe Kangas 15d0e3dd1f chore(api): move more types to generated ones 2024-07-02 20:37:58 -07:00
Gabe Kangas 96119efa41 chore(api): start moving some types to the codegen types 2024-07-01 22:17:10 -07:00
Gabe Kangas 93c0a20935 chore(api): reorganize handlers into webserver package 2024-07-01 21:44:51 -07:00
Gabe Kangas 5cb4850fce chore(api): reorganize web assets and codegen types+handlers 2024-07-01 20:14:17 -07:00