2141 Commits

Author SHA1 Message Date
d8344da524 Reformatted directory cleanup function. 2024-07-06 12:18:56 -04:00
a9d1217db7 Resolved use of deprecated package in directory cleanup function. 2024-07-06 11:35:48 -04:00
6558c0eab6 Modified errors in directory cleanup function to provide more information. 2024-07-05 20:16:22 -04:00
e1d09b7572 Fixed regression by ensuring directory cleanup creates directory if it does not exist. 2024-07-04 20:13:16 -04:00
d206429bab Refactored directory cleanup function to remove contents instead of recreating directory. 2024-07-04 19:41:45 -04:00
Owncast
b4239af403 Bundle embedded web app 2024-07-04 21:15:40 +00:00
renovate[bot]
a6bf93f525 chore(deps): update typescript-eslint monorepo to v7.15.0 2024-07-04 18:34:21 +00:00
renovate[bot]
6636b686cd fix(deps): update module github.com/microcosm-cc/bluemonday to v1.0.27 2024-07-04 16:18:17 +00:00
Owncast
8b4922abec Commit screenshots 2024-07-04 04:10:47 +00:00
renovate[bot]
2173aa219d fix(deps): update module github.com/shirou/gopsutil/v3 to v4 (#3814)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-03 13:44:48 -07:00
renovate[bot]
9636fd4619 fix(deps): update module golang.org/x/net to v0.26.0 2024-07-03 18:33:50 +00:00
renovate[bot]
2c88db62a5 fix(deps): update module golang.org/x/mod to v0.18.0 2024-07-03 15:59:50 +00:00
renovate[bot]
df2f548de8 fix(deps): update module golang.org/x/crypto to v0.24.0 2024-07-03 14:21:16 +00:00
Germaine Lee
264876cbd3 Update video passthrough warning banner styling (#3810)
Update styling for better contrast and legibility.

Closes #3798
2024-07-03 07:19:46 -07:00
Germaine Lee
a382a895d0 Update patreon logo to blob from website (#3808)
Updating the Patreon Logo to the blob looking P logo. 

Closes #3807
2024-07-03 07:12:01 -07:00
renovate[bot]
3fa7984d3f fix(deps): update module github.com/oschwald/geoip2-golang to v1.11.0 2024-07-03 10:51:32 +00:00
renovate[bot]
08abb4f635 fix(deps): update module github.com/go-chi/chi/v5 to v5.1.0 2024-07-03 08:11:32 +00:00
renovate[bot]
bce170f47c fix(deps): update module github.com/yuin/goldmark-emoji to v1.0.3 2024-07-03 05:10:02 +00:00
Gabe Kangas
c963512934 chore: move geoip into services directory 2024-07-02 21:26:43 -07:00
Owncast
228e821a5f Commit screenshots 2024-07-03 04:17:21 +00:00
Gabe Kangas
15d0e3dd1f chore(api): move more types to generated ones 2024-07-02 20:37:58 -07:00
renovate[bot]
8f9229d47d fix(deps): update module mvdan.cc/xurls to v2 (#3806)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-02 17:34:16 -07:00
renovate[bot]
29c4e4a350 fix(deps): update module github.com/yuin/goldmark to v1.7.4 2024-07-02 21:47:26 +00:00
renovate[bot]
914fd924d1 fix(deps): update module github.com/gorilla/websocket to v1.5.3 (#3803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-02 14:45:42 -07:00
Gabe Kangas
dd5fa8dd57 chore(docs): add redocly config file 2024-07-02 14:22:04 -07:00
Owncast
dddd6b8f8d Commit updated API documentation 2024-07-02 21:13:05 +00:00
Gabe Kangas
e26525549c chore(docs): attempt to hide opts by marking 204options as internal 2024-07-02 14:09:27 -07:00
Owncast
ca825e8819 Commit updated API documentation 2024-07-02 21:06:52 +00:00
Gabe Kangas
995235eba7 chore(docs): hide opts methods from docs + add logo 2024-07-02 14:04:46 -07:00
Gabe Kangas
7b40006841 chore(docs): Update docs gen path + cli 2024-07-02 14:03:45 -07:00
renovate[bot]
dea1af6990 fix(deps): update module github.com/shirou/gopsutil/v3 to v3.24.5 (#3804)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-02 13:25:30 -07:00
renovate[bot]
8c31cca4d1 fix(deps): update module github.com/aws/aws-sdk-go to v1.54.13 (#3805)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-02 13:03:17 -07:00
G2G2G2G
4c64fa26ac fixing grammar (#3801)
I guess California no speak english
2024-07-02 11:55:25 -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
Owncast
e200692502 Commit screenshots 2024-07-02 04:11:50 +00:00
Gabe Kangas
5cb4850fce chore(api): reorganize web assets and codegen types+handlers 2024-07-01 20:14:17 -07:00
Gabe Kangas
2ccd3aad87 User repository (#3795)
* It builds with the new user repository

* fix(test): fix broken test

* fix(api): fix registration endpoint that was broken after the change

* fix(test): update test to reflect new user repository

* fix: use interface type instead of concrete type

* fix: restore commented out code
2024-07-01 18:58:50 -07:00
Owncast
76be78d1b8 Bundle embedded web app 2024-07-01 12:27:41 +00:00
renovate[bot]
41ec8294b2 chore(deps): lock file maintenance 2024-07-01 12:21:50 +00:00
Owncast
8bb9a026b2 Commit screenshots 2024-07-01 04:11:22 +00:00
Owncast
1ad8dc15d6 Bundle embedded web app 2024-07-01 02:59:02 +00:00
mahmed2000
43fdadd361 Override default videojs volume panel width (#3796) 2024-06-30 19:53:27 -07:00
Owncast
94f42910da Bundle embedded web app 2024-06-30 16:14:16 +00:00
renovate[bot]
a80bdf8ea1 chore(deps): update dependency knip to v5.23.1 2024-06-30 12:15:14 +00:00
Owncast
d9af841b9d Commit screenshots 2024-06-30 04:11:21 +00:00
Owncast
dfdc6cc353 Bundle embedded web app 2024-06-29 08:22:22 +00:00
renovate[bot]
b9f400c809 chore(deps): update dependency @types/node to v20.14.9 2024-06-29 04:31:47 +00:00
Owncast
7e1d9616b6 Commit screenshots 2024-06-29 04:12:07 +00:00
Owncast
8d5c61b72e Bundle embedded web app 2024-06-28 16:52:15 +00:00
renovate[bot]
1c803f636b chore(deps): update dependency knip to v5.23.0 2024-06-28 13:14:09 +00:00
Owncast
9aff5089b9 Commit screenshots 2024-06-28 04:10:55 +00:00
Owncast
9ad0b5c364 Bundle embedded web app 2024-06-27 21:14:11 +00:00
renovate[bot]
75ec8e4fce chore(deps): update typescript-eslint monorepo to v7.14.1 2024-06-27 19:11:01 +00:00
Owncast
e8a8311a33 Bundle embedded web app 2024-06-27 19:10:08 +00:00
renovate[bot]
eb11659940 chore(deps): update dependency knip to v5.22.3 2024-06-27 15:40:06 +00:00
Owncast
bafff45e72 Bundle embedded web app 2024-06-27 15:38:29 +00:00
renovate[bot]
94bb3f3567 chore(deps): update storybook monorepo to v7.6.20 2024-06-27 13:36:04 +00:00
Owncast
0dce87ec5a Bundle embedded web app 2024-06-27 04:25:55 +00:00
Owncast
846ff17221 Commit screenshots 2024-06-27 04:21:33 +00:00
mahmed2000
a7e5f20337 Implement admin password hashing with bcrypt (#3754)
* Add bcrypt hashing helpers

* SetAdminPassword now hashes the password before saving it

* BasicAuth now compares the bcrypt hash for the password

* Modify migration2 to avoid a double password hash when upgrading

* Add migration for bcrypt hashed password

* Do not show admin password hash as initial value

* Update api tests to compare the bcrypt hash of the admin password instead

* Remove old admin password api tests

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-06-26 21:20:22 -07:00
renovate[bot]
51cd16dcc1 chore(deps): update peter-evans/create-or-update-comment digest to 71ac479 2024-06-26 06:05:38 +00:00
Owncast
07fc051086 Bundle embedded web app 2024-06-26 05:48:16 +00:00
Bruno
d10aa36317 added span tag to text (#3789)
Co-authored-by: Begench <forgithubtobegench@gmail.com>
Co-authored-by: Begench <93909709+begench-g@users.noreply.github.com>
2024-06-25 22:42:22 -07:00
Owncast
6b7e686707 Commit screenshots 2024-06-26 04:11:49 +00:00
Owncast
67ad3172d3 Bundle embedded web app 2024-06-25 13:54:16 +00:00
renovate[bot]
28a9daf8b3 chore(deps): update dependency @types/node to v20.14.8 2024-06-25 10:31:52 +00:00
Owncast
4258353d1b Commit screenshots 2024-06-25 04:11:26 +00:00
Owncast
d1a89a8b22 Bundle embedded web app 2024-06-24 15:24:28 +00:00
renovate[bot]
b367ffcff7 chore(deps): lock file maintenance (#3794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-24 08:18:45 -07:00
Owncast
e2b4929dd1 Bundle embedded web app 2024-06-24 14:15:51 +00:00
renovate[bot]
775b4ff6dc chore(deps): update dependency knip to v5.22.2 2024-06-24 10:15:41 +00:00
Owncast
102a8ff168 Bundle embedded web app 2024-06-24 10:14:50 +00:00
renovate[bot]
2526b4fd2e chore(deps): update dependency stylelint-config-standard to v36.0.1 2024-06-24 08:35:59 +00:00
Owncast
2ef5d15dfe Commit screenshots 2024-06-24 04:13:23 +00:00
Owncast
c4d49280bb Bundle embedded web app 2024-06-24 02:09:04 +00:00
renovate[bot]
28b1614769 chore(deps): update dependency @types/node to v20.14.7 2024-06-23 21:19:55 +00:00
Owncast
d663b9ff82 Bundle embedded web app 2024-06-23 21:18:29 +00:00
renovate[bot]
355bfbf338 chore(deps): update dependency typescript to v5.5.2 2024-06-23 18:38:36 +00:00
Owncast
e1431a0afd Bundle embedded web app 2024-06-23 14:18:32 +00:00
renovate[bot]
7337382394 chore(deps): update dependency eslint-plugin-jsx-a11y to v6.9.0 2024-06-23 10:01:57 +00:00
Owncast
6b8e50b5bd Commit screenshots 2024-06-23 04:10:52 +00:00
Owncast
e0cf689396 Bundle embedded web app 2024-06-22 18:49:41 +00:00
renovate[bot]
cac299302f chore(deps): update dependency @types/node to v20.14.6 2024-06-22 16:13:48 +00:00
Owncast
cba7dcf237 Bundle embedded web app 2024-06-22 16:12:26 +00:00
renovate[bot]
2d3d7f284c chore(deps): update dependency knip to v5.22.0 2024-06-22 13:08:24 +00:00
Owncast
f914186a85 Bundle embedded web app 2024-06-22 07:10:25 +00:00
renovate[bot]
4d540628c3 chore(deps): update dependency cypress to v13.12.0 2024-06-22 05:33:45 +00:00
Owncast
35eb4a42de Commit screenshots 2024-06-22 04:11:16 +00:00
Owncast
e2aab760fb Bundle embedded web app 2024-06-22 00:57:11 +00:00
renovate[bot]
fe9aacc1fd chore(deps): update dependency eslint-plugin-react to v7.34.3 2024-06-21 22:50:41 +00:00
Owncast
1281eceac3 Bundle embedded web app 2024-06-21 22:49:26 +00:00
renovate[bot]
aeb674e0c3 chore(deps): update dependency knip to v5.21.2 2024-06-21 19:16:41 +00:00
Owncast
eaa8434902 Bundle embedded web app 2024-06-21 19:15:09 +00:00
renovate[bot]
623463f117 chore(deps): update typescript-eslint monorepo to v7.13.1 (#3792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-21 12:07:47 -07:00
Owncast
ac909963c1 Bundle embedded web app 2024-06-21 18:55:06 +00:00
renovate[bot]
63e0f6da3d chore(deps): update dependency @types/node to v20.14.5 (#3791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-21 11:47:09 -07:00
Owncast
4c0233a601 Bundle embedded web app 2024-06-21 06:53:48 +00:00
renovate[bot]
e0d484f2e2 chore(deps): update dependency sass to v1.77.6 2024-06-21 04:26:43 +00:00
Owncast
97e31e63c2 Commit screenshots 2024-06-21 04:12:43 +00:00
renovate[bot]
e7a6c36055 chore(deps): update alpine docker tag to v3.20.1 2024-06-20 18:42:39 +00:00
Owncast
e3c23af080 Bundle embedded web app 2024-06-20 18:42:02 +00:00
renovate[bot]
6ebc28c524 chore(deps): update dependency knip to v5.21.0 2024-06-20 17:07:24 +00:00
Owncast
4fcce62342 Commit screenshots 2024-06-20 04:12:09 +00:00
dependabot[bot]
4a5f771220 Bump ws from 8.2.3 to 8.17.1 in /test (#3790)
Bumps [ws](https://github.com/websockets/ws) from 8.2.3 to 8.17.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.2.3...8.17.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-19 09:23:01 -07:00
renovate[bot]
933d349095 chore(deps): update peter-evans/create-or-update-comment digest to b9ec247 2024-06-19 09:00:50 +00:00
Owncast
28604ab644 Commit screenshots 2024-06-19 04:12:52 +00:00
renovate[bot]
5f943b4f46 chore(deps): update peter-evans/create-or-update-comment digest to 1f5fc38 2024-06-18 20:04:24 +00:00
Owncast
9ce1b0eaaf Commit screenshots 2024-06-18 04:12:03 +00:00
dependabot[bot]
ef9d36bd03 Bump ws from 7.4.6 to 7.5.10 in /test/automated/hls (#3788)
Bumps [ws](https://github.com/websockets/ws) from 7.4.6 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.4.6...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 17:12:35 -07:00
dependabot[bot]
c23726786a Bump ws from 7.4.6 to 7.5.10 in /test/load (#3787)
Bumps [ws](https://github.com/websockets/ws) from 7.4.6 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.4.6...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 17:00:18 -07:00
Owncast
0ee21156d8 Bundle embedded web app 2024-06-17 12:34:10 +00:00
renovate[bot]
a42425e195 chore(deps): lock file maintenance 2024-06-17 12:28:16 +00:00
Owncast
6113ab8573 Commit screenshots 2024-06-17 04:42:51 +00:00
Owncast
b54c372489 Commit screenshots 2024-06-16 04:11:36 +00:00
Owncast
246c207ca3 Bundle embedded web app 2024-06-16 00:10:28 +00:00
renovate[bot]
d7f3628800 chore(deps): update dependency chromatic to v11.5.4 2024-06-15 18:12:48 +00:00
Owncast
1cacdcd8a7 Bundle embedded web app 2024-06-15 18:11:57 +00:00
renovate[bot]
8e19719f59 chore(deps): update dependency knip to v5.19.0 2024-06-15 16:02:51 +00:00
Owncast
db681b5fa8 Bundle embedded web app 2024-06-15 10:40:33 +00:00
renovate[bot]
217d54815b fix(deps): update nextjs monorepo to v14.2.4 2024-06-15 07:09:03 +00:00
Owncast
4f75a3e258 Commit screenshots 2024-06-15 04:22:34 +00:00
Owncast
efce6c1f54 Bundle embedded web app 2024-06-15 03:38:15 +00:00
renovate[bot]
f3e1e14e21 chore(deps): update dependency sass to v1.77.5 2024-06-15 01:41:09 +00:00
dependabot[bot]
7b867af8c8 Bump braces and jest in /test/automated/api (#3781)
* Bump braces and jest in /test/automated/api

Bumps [braces](https://github.com/micromatch/braces) to 3.0.3 and updates ancestor dependency [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest). These dependencies need to be updated together.


Updates `braces` from 3.0.2 to 3.0.3
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

Updates `jest` from 26.6.3 to 29.7.0
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v29.7.0/packages/jest)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
- dependency-name: jest
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add previous testRunner jasmine2, add ws dependency explicitly (#3784)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mahmed2000 <mahmad2000@protonmail.com>
2024-06-14 11:20:50 -07:00
Owncast
b8f4ba211b Bundle embedded web app 2024-06-14 09:27:47 +00:00
renovate[bot]
6387896c30 chore(deps): update dependency prettier to v3.3.2 2024-06-14 08:27:55 +00:00
Owncast
7171b621c1 Commit screenshots 2024-06-14 04:12:25 +00:00
Owncast
be5bd6f6c2 Bundle embedded web app 2024-06-13 21:29:32 +00:00
renovate[bot]
26b12faabf chore(deps): update typescript-eslint monorepo to v7.13.0 2024-06-13 20:39:54 +00:00
Owncast
f11cc9eb16 Bundle embedded web app 2024-06-13 04:41:53 +00:00
Owncast
16a1de12db Commit updated Storybook stories 2024-06-13 04:38:58 +00:00
mahmed2000
f6045fbd63 Add modal state for browser notifications being denied (#3771) 2024-06-12 21:34:53 -07:00
Owncast
23b9c3226e Commit screenshots 2024-06-13 04:21:59 +00:00
Owncast
a5f14217f2 Bundle embedded web app 2024-06-12 15:48:15 +00:00
renovate[bot]
dbff9dd50d chore(deps): update dependency knip to v5.18.2 2024-06-12 14:53:27 +00:00
renovate[bot]
f274a21271 chore(deps): update peter-evans/create-or-update-comment digest to 86dc0e1 2024-06-12 10:16:46 +00:00
Owncast
3832ea3852 Commit screenshots 2024-06-12 04:11:27 +00:00
Owncast
1b3accf9a6 Bundle embedded web app 2024-06-12 00:54:37 +00:00
renovate[bot]
f1290f70a2 fix(deps): update dependency yaml to v2.4.5 2024-06-11 22:33:11 +00:00
Owncast
7377ebc798 Bundle embedded web app 2024-06-11 18:16:39 +00:00
renovate[bot]
6312e1de98 fix(deps): update dependency yaml to v2.4.4 2024-06-11 16:38:24 +00:00
Owncast
23ecb58471 Bundle embedded web app 2024-06-11 16:37:25 +00:00
renovate[bot]
fb5464a8c5 chore(deps): update dependency knip to v5.18.1 2024-06-11 13:45:01 +00:00
Owncast
a65dd748ea Commit screenshots 2024-06-11 04:11:18 +00:00
dependabot[bot]
c77759a4e2 Bump braces from 3.0.2 to 3.0.3 in /test/load (#3777)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 15:05:03 -07:00
Owncast
b22033049a Bundle embedded web app 2024-06-10 21:56:50 +00:00
renovate[bot]
9d539b6db8 chore(deps): update dependency knip to v5.18.0 2024-06-10 19:29:06 +00:00
Owncast
3f4af08ac3 Bundle embedded web app 2024-06-10 15:21:17 +00:00
renovate[bot]
78e1e69161 fix(deps): update dependency @uiw/react-codemirror to v4.22.2 2024-06-10 12:23:49 +00:00
Owncast
93b8bafd8a Bundle embedded web app 2024-06-10 12:22:47 +00:00
renovate[bot]
aed8e2056c fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.22.2 2024-06-10 06:04:49 +00:00
Owncast
399c7d38c2 Commit screenshots 2024-06-10 04:12:35 +00:00
Owncast
619489ef19 Bundle embedded web app 2024-06-09 13:42:44 +00:00
renovate[bot]
23e2604c22 chore(deps): update dependency chromatic to v11.5.3 2024-06-09 11:12:06 +00:00
Owncast
78757a406b Commit screenshots 2024-06-09 04:12:13 +00:00
Owncast
b41fdf848a Bundle embedded web app 2024-06-08 18:10:59 +00:00
renovate[bot]
cc458f4987 chore(deps): update dependency prettier to v3.3.1 2024-06-08 16:31:17 +00:00
Owncast
721a7826cc Bundle embedded web app 2024-06-08 16:30:17 +00:00
renovate[bot]
fc7ff3b59f chore(deps): update dependency @babel/core to v7.24.7 2024-06-08 13:20:52 +00:00
Owncast
e688ac964c Bundle embedded web app 2024-06-08 13:20:02 +00:00
renovate[bot]
115b22df7c chore(deps): update dependency @types/node to v20.14.2 2024-06-08 10:09:43 +00:00
Owncast
bd720e32e2 Commit screenshots 2024-06-08 04:11:08 +00:00
Owncast
d266f562c9 Bundle embedded web app 2024-06-08 00:55:46 +00:00
renovate[bot]
71ba8b13f2 chore(deps): update dependency cypress to v13.11.0 2024-06-07 21:42:06 +00:00
Owncast
513bac52cf Bundle embedded web app 2024-06-07 06:50:04 +00:00
renovate[bot]
e2b3141058 chore(deps): update dependency @types/node to v20.14.1 2024-06-07 05:16:47 +00:00
Owncast
ac9dfa2160 Commit screenshots 2024-06-07 04:11:51 +00:00
Owncast
92da934ddf Bundle embedded web app 2024-06-07 00:30:06 +00:00
renovate[bot]
465518282f chore(deps): update dependency chromatic to v11.5.1 2024-06-06 22:30:53 +00:00
Owncast
4d9893d40d Bundle embedded web app 2024-06-06 22:29:27 +00:00
renovate[bot]
d60c680b7d chore(deps): update typescript-eslint monorepo to v7.12.0 2024-06-06 18:23:53 +00:00
Owncast
b8f4c6d4a6 Bundle embedded web app 2024-06-06 12:27:04 +00:00
renovate[bot]
3d2304dac8 chore(deps): update dependency knip to v5.17.4 2024-06-06 10:40:24 +00:00
Owncast
a78eab0c2d Commit screenshots 2024-06-06 04:15:10 +00:00
Owncast
3e719f2726 Bundle embedded web app 2024-06-06 00:45:44 +00:00
renovate[bot]
f25ec59220 chore(deps): update dependency @types/node to v20.14.0 2024-06-05 21:14:35 +00:00
Owncast
1dc84d00d6 Bundle embedded web app 2024-06-05 13:05:39 +00:00
renovate[bot]
97e318e1c5 fix(deps): update dependency yaml to v2.4.3 2024-06-05 10:11:27 +00:00
renovate[bot]
43ee6ef4dd chore(deps): update peter-evans/create-or-update-comment digest to 9bb5d83 2024-06-05 07:47:31 +00:00
Owncast
a0d3409422 Commit screenshots 2024-06-05 04:13:04 +00:00
Owncast
732863ec35 Bundle embedded web app 2024-06-04 22:42:12 +00:00
renovate[bot]
e2e84fb516 chore(deps): update dependency prettier to v3.3.0 2024-06-04 18:25:44 +00:00
Owncast
95c3b205a3 Commit screenshots 2024-06-04 04:11:08 +00:00
Owncast
bb70a5c62d Bundle embedded web app 2024-06-04 02:22:51 +00:00
renovate[bot]
a2c987ee9b chore(deps): update dependency chromatic to v11.5.0 2024-06-03 21:42:44 +00:00
Owncast
882f292aeb Bundle embedded web app 2024-06-03 21:41:04 +00:00
renovate[bot]
5a19cd4897 chore(deps): update dependency @types/node to v20.13.0 2024-06-03 20:02:56 +00:00
Owncast
c41f83ff94 Bundle embedded web app 2024-06-03 16:53:05 +00:00
renovate[bot]
63c6484c55 chore(deps): update dependency stylelint-config-standard to v36 (#3676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 09:47:11 -07:00
renovate[bot]
79fb0d4e17 chore(deps): update dependency stylelint to v16 (#3491)
* chore(deps): update dependency stylelint to v16

* Commit updated API documentation

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2024-06-03 09:38:59 -07:00
renovate[bot]
072fe57daf chore(deps): update dependency stylelint-config-standard-scss to v13 (#3677)
* chore(deps): update dependency stylelint-config-standard-scss to v13

* Commit updated API documentation

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2024-06-03 09:00:35 -07:00
Owncast
96a40fbc51 Bundle embedded web app 2024-06-03 06:23:44 +00:00
renovate[bot]
c9d3cd662d chore(deps): update dependency sass to v1.77.4 2024-06-03 04:21:22 +00:00
Owncast
92bc671282 Commit screenshots 2024-06-03 04:13:17 +00:00
Owncast
f971b1851b Bundle embedded web app 2024-06-03 01:22:52 +00:00
renovate[bot]
afdbf3a831 chore(deps): lock file maintenance (#3745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-02 18:17:13 -07:00
Owncast
499dcaa734 Bundle embedded web app 2024-06-02 22:08:12 +00:00
Gabe Kangas
3f6d7affe8 chore(docs): update readme to call out Lambda test for #3734 2024-06-02 15:06:02 -07:00
renovate[bot]
fa7e0c6ee1 chore(deps): update dependency knip to v5.17.3 (#3751)
* chore(deps): update dependency knip to v5.17.3

* fix(js): resolve errors with new version of knip

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-06-02 15:02:24 -07:00
Owncast
77fac8bd27 Commit screenshots 2024-06-02 04:11:28 +00:00
Owncast
d129c33143 Bundle embedded web app 2024-06-02 04:01:05 +00:00
renovate[bot]
6a343272cf chore(deps): update dependency npm to v10.8.1 2024-06-02 03:55:10 +00:00
Owncast
41b39a7863 Bundle embedded web app 2024-06-02 00:09:57 +00:00
renovate[bot]
c6cc8b7931 chore(deps): update dependency sass to v1.77.3 2024-06-01 23:13:19 +00:00
Owncast
390c20e812 Bundle embedded web app 2024-06-01 23:11:15 +00:00
renovate[bot]
5ea6ca5a91 chore(deps): update dependency @types/node to v20.12.13 2024-06-01 20:25:54 +00:00
Owncast
e5e526cbe0 Commit screenshots 2024-06-01 04:16:12 +00:00
Owncast
e500bd7305 Bundle embedded web app 2024-05-31 18:58:42 +00:00
Germaine Lee
ef72021f87 Update README.md (#3756)
- Add MIT license badge
- Update TOC
- Update Contributing and add Backer section that lists backers from Open Collective

(PS. practising my html so that they don't go rusty)
2024-05-31 11:55:40 -07:00
renovate[bot]
81773e568c fix(deps): update dependency ua-parser-js to v1.0.38 2024-05-31 15:11:55 +00:00
Germaine Lee
2a0296116d Update DESIGN.md (#3755)
Removed duplicates of "is a" in sentences.
2024-05-31 08:10:46 -07:00
Owncast
6ac641168d Bundle embedded web app 2024-05-31 13:39:02 +00:00
renovate[bot]
74d51ebaa7 chore(deps): update dependency ts-jest to v29.1.4 2024-05-31 10:13:55 +00:00
Owncast
7339d23c0c Bundle embedded web app 2024-05-31 10:13:07 +00:00
renovate[bot]
27708665b6 chore(deps): update dependency eslint-plugin-react to v7.34.2 2024-05-31 07:01:46 +00:00
Owncast
2bbe497faf Commit screenshots 2024-05-31 04:11:53 +00:00
Owncast
46143e4722 Bundle embedded web app 2024-05-31 02:13:27 +00:00
renovate[bot]
874dc4445a chore(deps): update typescript-eslint monorepo to v7.11.0 2024-05-30 23:02:06 +00:00
mahmed2000
414a8aeed8 Rework utils/restendpointhelper to use the new chi router functionality (#3750)
* Remove old implementation, add new function to work with the chi router

* Use new URL Param function to get clientID instead

* Remove usage of old restendpoint functions

* Fix typo in url param name

* Remove unused tests
2024-05-30 12:31:07 -07:00
Owncast
a529502809 Bundle embedded web app 2024-05-30 15:26:47 +00:00
renovate[bot]
d245cc1ebd chore(deps): update dependency chromatic to v11.4.1 2024-05-30 13:14:56 +00:00
Owncast
eec8743c18 Commit screenshots 2024-05-30 04:11:37 +00:00
Owncast
eb223599f0 Commit screenshots 2024-05-29 04:12:55 +00:00
Owncast
5a773df0d5 Commit screenshots 2024-05-28 04:12:00 +00:00
Owncast
03a7eb9359 Bundle embedded web app 2024-05-27 19:33:42 +00:00
renovate[bot]
21fe8b8831 fix(deps): update dependency react-virtuoso to v4.7.11 2024-05-27 15:54:46 +00:00
Owncast
57d569f7d9 Bundle embedded web app 2024-05-27 15:53:31 +00:00
renovate[bot]
5af8338a92 chore(deps): update dependency @babel/core to v7.24.6 2024-05-27 14:15:53 +00:00
Owncast
7922610442 Commit screenshots 2024-05-27 04:11:08 +00:00
Owncast
cd76c3a22f Bundle embedded web app 2024-05-27 02:29:35 +00:00
renovate[bot]
002107f1c8 chore(deps): update dependency @types/react to v18.3.3 2024-05-26 21:44:37 +00:00
Owncast
d1035a2967 Commit screenshots 2024-05-26 04:10:21 +00:00
Owncast
0022399cd6 Bundle embedded web app 2024-05-25 19:08:41 +00:00
renovate[bot]
a796c2e8fe chore(deps): update dependency css-loader to v7.1.2 2024-05-25 16:03:49 +00:00
Owncast
597a88ec09 Commit screenshots 2024-05-25 04:10:26 +00:00
Owncast
8dccb1f641 Bundle embedded web app 2024-05-25 01:52:09 +00:00
renovate[bot]
52bbbd85e4 chore(deps): update dependency cypress to v13.10.0 2024-05-24 21:09:14 +00:00
Owncast
e2b92d88b2 Bundle embedded web app 2024-05-24 21:07:50 +00:00
renovate[bot]
065ba49821 chore(deps): update dependency chromatic to v11.4.0 2024-05-24 15:24:05 +00:00
Owncast
ac4019ec0f Bundle embedded web app 2024-05-24 09:38:47 +00:00
renovate[bot]
40a05c2dd5 chore(deps): update dependency ts-jest to v29.1.3 2024-05-24 06:54:35 +00:00
Owncast
2caf1de850 Commit screenshots 2024-05-24 04:10:42 +00:00
Owncast
4612540b10 Bundle embedded web app 2024-05-24 00:20:31 +00:00
renovate[bot]
6bf3e12b0a chore(deps): update typescript-eslint monorepo to v7.10.0 2024-05-23 21:29:30 +00:00
Owncast
c4157bcdfd Commit screenshots 2024-05-23 04:11:06 +00:00
renovate[bot]
8f618148c0 chore(deps): update alpine docker tag to v3.20.0 2024-05-22 22:11:57 +00:00
Owncast
6fd81b536a Bundle embedded web app 2024-05-22 13:55:02 +00:00
renovate[bot]
61a6f59838 chore(deps): update dependency npm to v10.8.0 2024-05-22 11:50:49 +00:00
Owncast
ebb7f539b9 Commit screenshots 2024-05-22 04:17:03 +00:00
Owncast
486e89cd87 Bundle embedded web app 2024-05-22 01:56:32 +00:00
renovate[bot]
a0446a51e6 fix(deps): update dependency chart.js to v4.4.3 2024-05-21 15:05:49 +00:00
Owncast
77b98bc6bc Commit screenshots 2024-05-21 04:11:01 +00:00
Gabe Kangas
1f4506d43f Remove link to old broadcast server 2024-05-20 12:44:56 -07:00
Owncast
46369e104b Bundle embedded web app 2024-05-20 17:10:51 +00:00
renovate[bot]
c9de3d3cc1 chore(deps): update dependency sass to v1.77.2 (#3742)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-20 10:03:10 -07:00
Owncast
5b1069cedb Commit screenshots 2024-05-20 04:11:46 +00:00
Owncast
531c5ca1c7 Bundle embedded web app 2024-05-20 03:21:13 +00:00
renovate[bot]
bcb4d53195 fix(deps): update dependency sharp to v0.33.4 2024-05-19 22:34:05 +00:00
Owncast
065efc50db Bundle embedded web app 2024-05-19 22:32:42 +00:00
renovate[bot]
5dc52158d8 fix(deps): update dependency @uiw/react-codemirror to v4.22.1 2024-05-19 16:27:52 +00:00
Owncast
095e83eecd Bundle embedded web app 2024-05-19 16:26:28 +00:00
renovate[bot]
13c3481970 fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.22.1 2024-05-19 09:41:34 +00:00
Owncast
b26ad4e48c Commit screenshots 2024-05-19 04:42:13 +00:00
renovate[bot]
d62a198ab5 fix(deps): update module golang.org/x/net to v0.25.0 2024-05-18 21:39:19 +00:00
Owncast
193dfdffb5 Bundle embedded web app 2024-05-18 21:37:57 +00:00
renovate[bot]
5b88238147 chore(deps): update dependency chromatic to v11.3.5 2024-05-18 16:34:59 +00:00
renovate[bot]
ae977bc748 chore(deps): update golangci/golangci-lint-action action to v6 (#3739)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-18 09:33:27 -07:00
renovate[bot]
a8c44facfc fix(deps): update module github.com/aws/aws-sdk-go to v1.53.5 2024-05-18 11:12:57 +00:00
renovate[bot]
bbccbd102e fix(deps): update module github.com/shirou/gopsutil/v3 to v3.24.4 2024-05-18 08:02:23 +00:00
Owncast
34c59d3c34 Commit screenshots 2024-05-18 04:10:29 +00:00
renovate[bot]
4e13fdb296 fix(deps): update module github.com/prometheus/client_golang to v1.19.1 2024-05-18 00:09:45 +00:00
Owncast
65a1c6835b Bundle embedded web app 2024-05-18 00:08:20 +00:00
renovate[bot]
f4c6b2d4a0 chore(deps): update dependency knip to v5.16.0 2024-05-17 23:26:03 +00:00
Owncast
e48732acbe Bundle embedded web app 2024-05-17 23:24:42 +00:00
renovate[bot]
2fb6ff1637 chore(deps): update dependency mermaid to v10.9.1 2024-05-17 16:33:00 +00:00
Owncast
c11fcb550d Bundle embedded web app 2024-05-17 16:31:26 +00:00
renovate[bot]
d6cd1b0f12 chore(deps): update dependency @types/node to v20.12.12 2024-05-17 06:59:54 +00:00
Owncast
4bca9dd958 Commit screenshots 2024-05-17 04:11:31 +00:00
Owncast
7b9f516305 Bundle embedded web app 2024-05-17 02:55:51 +00:00
renovate[bot]
874bb9511e chore(deps): update typescript-eslint monorepo to v7.9.0 2024-05-16 19:59:41 +00:00
Owncast
070e06718c Bundle embedded web app 2024-05-16 19:58:08 +00:00
renovate[bot]
a740961cd6 chore(deps): update dependency knip to v5.15.1 2024-05-16 07:28:50 +00:00
Owncast
0846e457a1 Commit screenshots 2024-05-16 04:10:35 +00:00
renovate[bot]
d8fe5dc70e chore(deps): update peter-evans/create-or-update-comment digest to 8da4c50 2024-05-15 06:02:04 +00:00
Owncast
929d27a3b7 Commit screenshots 2024-05-15 04:20:45 +00:00
Owncast
dd89543aec Bundle embedded web app 2024-05-14 20:53:08 +00:00
renovate[bot]
7d5551c702 chore(deps): update dependency @types/react to v18.3.2 2024-05-14 12:00:04 +00:00
Owncast
1bcdad7502 Bundle embedded web app 2024-05-14 11:58:43 +00:00
renovate[bot]
f018adb842 chore(deps): update dependency knip to v5.15.0 2024-05-14 07:34:01 +00:00
Owncast
95760cf9b7 Bundle embedded web app 2024-05-14 07:32:47 +00:00
renovate[bot]
3e44d29b7a chore(deps): update dependency sass to v1.77.1 2024-05-14 05:12:24 +00:00
Owncast
3864e9870b Commit screenshots 2024-05-14 04:14:05 +00:00
Owncast
e24831f4cf Bundle embedded web app 2024-05-13 12:10:39 +00:00
renovate[bot]
9e0bb3ff27 chore(deps): update dependency knip to v5.14.0 2024-05-13 11:12:54 +00:00
Owncast
4ceb43b05b Commit screenshots 2024-05-13 04:11:49 +00:00
Owncast
dad0690a1f Commit screenshots 2024-05-12 04:11:10 +00:00
Owncast
72ac80fe34 Bundle embedded web app 2024-05-11 21:32:42 +00:00
renovate[bot]
d9ac224ac2 chore(deps): update dependency chromatic to v11.3.2 2024-05-11 18:29:14 +00:00
Owncast
ee391277b2 Bundle embedded web app 2024-05-11 18:27:48 +00:00
renovate[bot]
a0a8a470ae chore(deps): update dependency @types/node to v20.12.11 2024-05-11 15:45:25 +00:00
Owncast
cacc76603d Commit screenshots 2024-05-11 04:10:55 +00:00
Owncast
f576230ee6 Bundle embedded web app 2024-05-11 01:45:00 +00:00
renovate[bot]
7792102fba chore(deps): update dependency cypress to v13.9.0 2024-05-10 23:12:33 +00:00
Owncast
967b8c5776 Bundle embedded web app 2024-05-10 17:17:35 +00:00
renovate[bot]
dac9a320a5 chore(deps): update dependency knip to v5.13.0 2024-05-10 14:22:35 +00:00
Owncast
04f0a6b153 Bundle embedded web app 2024-05-10 14:21:11 +00:00
renovate[bot]
766a0fb368 chore(deps): update dependency chromatic to v11.3.1 2024-05-10 10:09:19 +00:00
Owncast
a3bf2b1466 Bundle embedded web app 2024-05-10 10:07:58 +00:00
renovate[bot]
da340df397 chore(deps): update dependency sass to v1.77.0 2024-05-10 07:24:34 +00:00
Owncast
f142185191 Commit screenshots 2024-05-10 04:10:59 +00:00
Owncast
613f00bd48 Bundle embedded web app 2024-05-09 22:44:24 +00:00
renovate[bot]
78e4fc90e4 chore(deps): update dependency @types/node to v20.12.10 2024-05-09 20:14:40 +00:00
Owncast
000c4401c1 Bundle embedded web app 2024-05-09 16:31:39 +00:00
renovate[bot]
36537a6ea6 chore(deps): update dependency @types/node to v20.12.9 2024-05-09 14:31:00 +00:00
Owncast
61cf6b1ca0 Bundle embedded web app 2024-05-09 10:51:32 +00:00
renovate[bot]
4ce68d553a chore(deps): update dependency knip to v5.12.3 2024-05-09 08:10:00 +00:00
Owncast
43c64c7874 Commit screenshots 2024-05-09 04:11:52 +00:00
renovate[bot]
a5955b8be6 chore(deps): update peter-evans/create-or-update-comment digest to 34c499d 2024-05-08 10:01:45 +00:00
Owncast
8d4656588d Commit screenshots 2024-05-08 04:10:08 +00:00
Owncast
c29b4d5e34 Bundle embedded web app 2024-05-07 14:51:23 +00:00
renovate[bot]
a44f9c1b6c chore(deps): update dependency knip to v5.12.2 2024-05-07 10:12:56 +00:00
Owncast
1d509d91e2 Commit screenshots 2024-05-07 04:10:39 +00:00
Owncast
9f8108f6ce Bundle embedded web app 2024-05-06 21:42:03 +00:00
renovate[bot]
8748611d21 chore(deps): update dependency knip to v5.12.1 2024-05-06 18:25:04 +00:00
Owncast
eca4e7b8db Commit screenshots 2024-05-06 04:11:13 +00:00
Owncast
cf5b607200 Bundle embedded web app 2024-05-06 00:59:18 +00:00
renovate[bot]
fe96c22be9 chore(deps): update dependency knip to v5.12.0 2024-05-05 21:22:46 +00:00
Owncast
e232358180 Bundle embedded web app 2024-05-05 10:40:29 +00:00
renovate[bot]
5eaac5db31 chore(deps): update dependency @types/markdown-it to v14.1.1 2024-05-05 07:24:20 +00:00
Owncast
0525e9aed6 Bundle embedded web app 2024-05-05 07:23:03 +00:00
renovate[bot]
ebc0104de1 chore(deps): update storybook monorepo to v7.6.19 2024-05-05 07:17:37 +00:00
Owncast
8ef2edeb05 Commit screenshots 2024-05-05 04:12:29 +00:00
Gabe Kangas
aee4699c8b Update spec path in workflow 2024-05-04 18:39:34 -07:00
Owncast
9007ea2d9a Bundle embedded web app 2024-05-04 22:09:54 +00:00
renovate[bot]
19f7fff024 chore(deps): update dependency @types/node to v20.12.8 2024-05-04 19:50:03 +00:00
renovate[bot]
0e6ff12ffe chore(deps): update dependency sass to v1.76.0 2024-05-04 05:12:23 +00:00
Owncast
aba49b532c Commit screenshots 2024-05-04 04:11:36 +00:00
Owncast
971c77f5c0 Bundle embedded web app 2024-05-04 01:28:04 +00:00
renovate[bot]
df19bce74d chore(deps): update dependency npm to v10.7.0 2024-05-03 22:42:15 +00:00
Gabe Kangas
1ca7a877e4 Organize new openapi spec with tags and generate API docs with the new spec 2024-05-03 15:39:59 -07:00
Owncast
ae76abbb34 Bundle embedded web app 2024-05-03 05:09:18 +00:00
mahmed2000
d9ee7578d1 Rework stream duration string formatting for the status bar (#3729)
* Use date-fns formatDuration to generate stream duration string

* Remove unneeded pluralize function
2024-05-02 22:03:26 -07:00
Owncast
da46a2ff7f Commit screenshots 2024-05-03 04:12:11 +00:00
Owncast
48bb70c1ce Bundle embedded web app 2024-05-03 01:04:23 +00:00
renovate[bot]
422a5112ec chore(deps): update typescript-eslint monorepo to v7.8.0 2024-05-02 21:30:17 +00:00
Owncast
48f76fe284 Bundle embedded web app 2024-05-02 21:27:46 +00:00
renovate[bot]
8eb7aedba1 chore(deps): update dependency @babel/core to v7.24.5 2024-05-02 19:31:46 +00:00
Owncast
1f22094d82 Bundle embedded web app 2024-05-02 09:14:31 +00:00
renovate[bot]
4d8e569b0b fix(deps): update dependency @uiw/react-codemirror to v4.22.0 2024-05-02 07:56:30 +00:00
Owncast
14e02df3d6 Bundle embedded web app 2024-05-02 07:54:32 +00:00
renovate[bot]
96cb802b88 fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.22.0 2024-05-02 05:38:28 +00:00
Owncast
56c1a78889 Commit screenshots 2024-05-02 04:11:03 +00:00
Owncast
2ac8e3a475 Commit updated API documentation 2024-05-01 19:22:30 -07:00
Brenden Ehlers
2513b15b40 Spec-based API (#3653)
* chore(deps): update dependency sass to v1.74.1

* Bundle embedded web app

* chore(deps): update dependency typescript to v5.4.4

* Bundle embedded web app

* Commit screenshots

* fix(deps): update module github.com/yuin/goldmark to v1.7.1

* chore(deps): lock file maintenance (#3662)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency @types/node to v20.12.5

* Bundle embedded web app

* fix(deps): update module github.com/shirou/gopsutil/v3 to v3.24.3

* fix(deps): update module github.com/aws/aws-sdk-go to v1.51.17

* fix(deps): update module golang.org/x/net to v0.24.0

* fix(deps): update module golang.org/x/mod to v0.17.0

* add get admin chat clients

* comment out old code

* add get admin logs

* add get admin warnings

* add get admin chat

* add post admin chat messageVisibility

* add post admin chat users enabled

* add post admin chat users ipban create

* add post admin chat users ipban remove

* add get admin chat users ipbans

* chore(deps): update dependency sass-loader to v14 (#3674)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-eslint monorepo to v7 (#3680)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency less-loader to v12 (#3673)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency chromatic to v11 (#3669)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency knip to v5 (#3672)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update nick-fields/retry action to v3 (#3678)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/markdown-it to v14 (#3668)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update chromaui/action action to v11 (#3666)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* Bump version number

* Bundle embedded web app

* Bundle embedded web app

* Bundle embedded web app

* fix(deps): update dependency react-virtuoso to v4.7.8

* Commit screenshots

* Bundle embedded web app

* Optionally disable chat rate limiter and add optional chat slur/language filter (#3681)

* feat(chat): basic profanity filter. For #3139

* feat(chat): add setting for disabling chat spam protection. Closes #3523

* feat(chat): wire up the new chat slur filter to admin and chat. Closes #3139

* Bundle embedded web app

* chore(deps): update peter-evans/create-or-update-comment digest to 48bb05b

* fix(deps): update dependency @codemirror/language-data to v6.5.0

* Bundle embedded web app

* chore(deps): update dependency css-loader to v7 (#3670)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* add get admin chat users disabled

* add get admin chat users setModerator

* add get admin chat users moderators

* add get admin followers

* chore(deps): update tj-actions/changed-files action to v44 (#3679)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Fix for copying stream key without revealing it only copies asterisks (#3663)

* asterisk copy fix for #3460

* rename text to keys for consistency + linting fix

* make onCopy spawn an antd message directly, remove redundant copyText function

---------

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>

* Commit updated Storybook stories

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency css-loader to v7.1.0

* Bundle embedded web app

* chore(deps): update typescript-eslint monorepo to v7.6.0

* Bundle embedded web app

* chore(deps): update dependency @types/react to v18.2.75 (#3686)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* stream offline status embed updated (#3684)

* Commit screenshots

* add get admin followers pending

* add get admin followers blocked

* add post admin followers approve

* add 400 error to admin requests

* add post admin emoji upload

* add post admin emoji delete

* add post admin config adminpass

* add post admin config streamkeys

* add post admin config pagecontent

* add post admin config streamtitle

* add post admin config streamtitle

* add post admin config serversummary

* add post admin config offlinemessage

* add post admin config welcomemessage

* add post admin config chat disable

* add post admin config chat joinmessageenabled

* add post admin config chat establishedusermode

* add post admin config chat forbiddenusernames

* add post admin config chat suggestedusernames

* add post admin config video codec

* add post admin config appearance

* Allow react/no-danger

* Commit screenshots

* Change tag to self-closing since the linter complains otherwise (#3690)

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>

* Bundle embedded web app

* chore(deps): update dependency css-loader to v7.1.1 (#3691)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* chore(deps): update dependency @types/node to v20.12.7 (#3688)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency npm to v10.5.2

* Bundle embedded web app

* chore(deps): update dependency knip to v5.9.4

* Bundle embedded web app

* chore(deps): update dependency typescript to v5.4.5

* Bundle embedded web app

* prevent css-loader v7 renaming default to _default, needed for storybook (#3692)

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>

* Bundle embedded web app

* chore(deps): update dependency cypress to v13.7.3

* Bundle embedded web app

* Fix custom runtimeCaching rules, default runtimeCaching rule order (#3685)

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>

* Bundle embedded web app

* Fixes for aria-live bugs (#3694)

* make the aria-live text adhere to the last message's username

* Wrap lastMessage in an Interweave to handle pre-encoded characters properly

---------

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>

* Bundle embedded web app

* chore(deps): update dependency @types/react to v18.2.77

* Bundle embedded web app

* chore(deps): update dependency @storybook/addon-styling-webpack to v1 (#3667)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* chore(deps): update dependency storybook-addon-fetch-mock to v2 (#3675)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* chore(deps): update dependency sass to v1.75.0

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency sass-loader to v14.2.0

* Bundle embedded web app

* fix(deps): update codemirror

* add get admin webhooks

* add create and delete webhooks

* add get, delete, create access token endpoints

* add update endpoints

* Bundle embedded web app

* fix(deps): update nextjs monorepo to v14.2.0

* Bundle embedded web app

* fix(deps): update nextjs monorepo to v14.2.1

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency @types/markdown-it to v14.0.1

* Bundle embedded web app

* chore(deps): update dependency @types/react to v18.2.78

* Bundle embedded web app

* add send message to connected client

* add deprecated send user message

* add send message to 3rd party

* add send user action

* add update external message visibility

* add update external stream title

* add external get chat messages and fixed error with chat

* add external get clients

* remove options request

* add update logo

* add update tags

* add update ffmpeg path

* add update server port

* add update server ip

* add update rtmp port

* add update websocket host override

* add update custom video serving endpoint

* add update nsfw

* add update directory enabled

* Commit screenshots

* add update social handles

* add update stream latency level

* add update stream output variants

* add update s3 config

* add update server url

* add reset yp registration

* add update external action links

* add update custom styles

* add update custom javascript

* add get video metrics

* add update hide viewer count

* add update search indexing

* Change fediAuth message to be more succinct (#3696)

* Change fediAuth message to be more succint

* Update controllers/auth/fediverse/fediverse.go

for -> from

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>

* Mute the 'stream ended' clip's audio (#3630)

* Mute the 'stream ended' clip's audio

The 'stream ended' clip plays at the at the end of every stream broadcast using owncast.
It currently contains audio that peaks at -7.1db. (according to ffmpeg's volumedetect audio filter)
This can result in a bad experience for viewers if the stream that they were just watching had a much lower average volume, and they had turned up their speakers or headphones to compensate. In extreme cases this could theoretically cause harm to viewers and/or their equipment.
As an admin running owncast, there is no way to remove this audio *except* for patching the file. Even if you do patch the file, you need to notify your viewers to clear their browser caches if they have ever seen the clip, because offline.ts has a cache-control max-age header specifying 365 days. The caching of the previous version of this clip is out of scope of this PR.

This issue is discussed in more detail in #1965.

Unlike my previous attempt in #3332, which removed the audio track, this PR *mutes* the audio.

Specifically, I used this ffmpeg command:
```
ffmpeg -i offline.ts -filter:a "volume=0.0" output.ts
```

There are no other modifications to the clip.

* Commit updated API documentation

* feat(video): make compatible muted offline clip. Rename clip as a v2 so it is not cached

* Fix conflict

* force add new offline file

---------

Co-authored-by: vivlim <vivlim@vivl.im>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>

* Commit screenshots

* chore(tests): retry cypress tests on failure

* fix(deps): update module github.com/aws/aws-sdk-go to v1.51.23

* chore(deps): update dependency @types/video.js to v7.3.58 (#3705)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* fix(deps): update dependency @codemirror/language-data to v6.5.1 (#3706)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* add update message visibility

* add update user status

* add get moderation user details

* create file for /admin/config endpoints

* chore(deps): update dependency style-loader to v4 (#3703)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bundle embedded web app

* chore(deps): update typescript-eslint monorepo to v7.7.0

* Bundle embedded web app

* add non-api endpoints to new router

* add set federation enabled

* add set federation private

* chore(tests): attempt to clean up test flakiness (#3710)

* chore(deps): update dependency @types/react to v18.2.79

* add show federation engagement

* add set federation username

* add set federation go live message

* add set federation blocked domains

* add set discord notification configuration

* add set browser notification configuration

* add prometheus endpoint

* add send federation message

* add get federation activities

* add indie auth documentation

* add changes to indie auth server

* Bundle embedded web app

* add fediverse auth

* add spam protection and slur filter

* Commit screenshots

* fix bug with hls endpoint

* Add effect to set media session metadata (#3713)

* Bundle embedded web app

* chore(deps): update dependency sass-loader to v14.2.1

* Bundle embedded web app

* Commit screenshots

* fix(deps): update nextjs monorepo to v14.2.2

* Bundle embedded web app

* Commit screenshots

* fix(deps): update dependency react-virtuoso to v4.7.9

* Bundle embedded web app

* chore(deps): update dependency cypress to v13.8.0

* Bundle embedded web app

* Commit screenshots

* chore(deps): lock file maintenance

* Bundle embedded web app

* add options requests and reformat operationIds

* chore(go): update to go 1.22 (#3708)

* chore(go): update to go 1.22

* fix: install go before running codeql to fix autobild

* chore(test): explicitly set base crosscompile image

* fix(test): do not point at image with incorrect version of Go

* chore: troubleshoot js autoformating in workflow

* Commit screenshots

* add wildcard to index path

* give /admin/ routes precedence

* fix(deps): update dependency @fontsource/poppins to v5.0.14

* Bundle embedded web app

* Bump formidable and artillery in /test/load (#3718)

Removes [formidable](https://github.com/node-formidable/formidable). It's no longer used after updating ancestor dependency [artillery](https://github.com/artilleryio/artillery). These dependencies need to be updated together.

Removes `formidable`

Updates `artillery` from 2.0.2 to 2.0.10
- [Release notes](https://github.com/artilleryio/artillery/releases)
- [Commits](https://github.com/artilleryio/artillery/compare/artillery-2.0.2...artillery-2.0.10)

---
updated-dependencies:
- dependency-name: formidable
  dependency-type: indirect
- dependency-name: artillery
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Commit screenshots

* chore(deps): update peter-evans/create-or-update-comment digest to da12db3

* fix(deps): update dependency react-virtuoso to v4.7.10

* add verbose logging and update handler precedence

* Bundle embedded web app

* Commit screenshots

* chore(deps): update golangci/golangci-lint-action action to v5 (#3722)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-eslint monorepo to v7.7.1

* Bundle embedded web app

* Commit screenshots

* chore(deps): update dependency knip to v5.10.0

* Bundle embedded web app

* add federation routers

* updated comments to pass linter

* fix bug with mount

* fix linting errors

* add router logs to log files

* update emoji dir

* fixed linting error

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: mahmed2000 <49453542+mahmed2000@users.noreply.github.com>
Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
Co-authored-by: Jeet Chawda <68128367+Jeetch8@users.noreply.github.com>
Co-authored-by: Vivian Lim  <1565930+vivlim@users.noreply.github.com>
Co-authored-by: vivlim <vivlim@vivl.im>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 19:22:27 -07:00
Gabe Kangas
1d49801a27 feat(api): cache thumb and preview in memory for fast retrieval. Help address #3462 2024-05-01 18:56:38 -07:00
Owncast
aa0b74e236 Bundle embedded web app 2024-05-01 12:39:54 +00:00
renovate[bot]
14286f1470 fix(deps): update dependency yaml to v2.4.2 2024-05-01 11:08:56 +00:00
Owncast
a0a40864cc Commit screenshots 2024-05-01 04:11:02 +00:00
Owncast
b583fa67e1 Bundle embedded web app 2024-04-30 09:23:13 +00:00
renovate[bot]
4f43833756 fix(deps): update dependency video.js to v8.12.0 2024-04-30 08:47:44 +00:00
Owncast
c5b1a315ae Bundle embedded web app 2024-04-30 05:16:42 +00:00
renovate[bot]
99dc8fc1c0 chore(deps): update dependency knip to v5.11.0 (#3726)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 22:10:04 -07:00
Owncast
fc741ba4b6 Commit screenshots 2024-04-30 04:12:25 +00:00
Owncast
2249739f4e Bundle embedded web app 2024-04-30 00:42:40 +00:00
renovate[bot]
35f8e989a6 chore(deps): update react monorepo 2024-04-29 23:28:11 +00:00
Owncast
8bf98289f4 Commit screenshots 2024-04-29 04:10:55 +00:00
Owncast
8ef5c8b940 Bundle embedded web app 2024-04-29 00:12:23 +00:00
renovate[bot]
f4b6ab1a5b chore(deps): update react monorepo 2024-04-28 21:33:23 +00:00
Owncast
a04e953a51 Bundle embedded web app 2024-04-28 21:31:14 +00:00
renovate[bot]
2600e62626 chore(deps): update dependency npm to v10.6.0 2024-04-28 19:42:34 +00:00
Owncast
759c4460da Commit screenshots 2024-04-28 04:16:45 +00:00
Owncast
5b60588cd5 Bundle embedded web app 2024-04-27 22:23:59 +00:00
renovate[bot]
fe25271c53 fix(deps): update nextjs monorepo to v14.2.3 2024-04-27 19:53:28 +00:00
Owncast
94ebf11779 Bundle embedded web app 2024-04-27 08:38:41 +00:00
renovate[bot]
94fb37c445 fix(deps): update workbox monorepo to v7.1.0 2024-04-27 04:59:04 +00:00
Owncast
f642ba4f15 Commit screenshots 2024-04-27 04:10:09 +00:00
Owncast
7b108a5489 Bundle embedded web app 2024-04-27 01:44:33 +00:00
renovate[bot]
adb39f382c chore(deps): update dependency cypress to v13.8.1 2024-04-26 23:26:33 +00:00
Owncast
e140f82f00 Bundle embedded web app 2024-04-26 13:21:24 +00:00
renovate[bot]
d39e02811a chore(deps): update dependency knip to v5.10.0 2024-04-26 11:16:39 +00:00
Owncast
e6c974601e Commit screenshots 2024-04-26 04:10:41 +00:00
Owncast
d390b0722d Bundle embedded web app 2024-04-25 21:50:09 +00:00
renovate[bot]
14a4808f9a chore(deps): update typescript-eslint monorepo to v7.7.1 2024-04-25 19:32:21 +00:00
renovate[bot]
c9f50b51a9 chore(deps): update golangci/golangci-lint-action action to v5 (#3722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-25 08:31:57 -07:00
Owncast
95bb90b6ef Commit screenshots 2024-04-25 04:11:42 +00:00
Owncast
23435c554b Bundle embedded web app 2024-04-24 17:42:37 +00:00
renovate[bot]
a6ce15727e fix(deps): update dependency react-virtuoso to v4.7.10 2024-04-24 13:58:33 +00:00
renovate[bot]
5dbf55bfc7 chore(deps): update peter-evans/create-or-update-comment digest to da12db3 2024-04-24 07:42:04 +00:00
Owncast
708b5b2afc Commit screenshots 2024-04-24 04:10:30 +00:00
dependabot[bot]
a33b2d13b6 Bump formidable and artillery in /test/load (#3718)
Removes [formidable](https://github.com/node-formidable/formidable). It's no longer used after updating ancestor dependency [artillery](https://github.com/artilleryio/artillery). These dependencies need to be updated together.


Removes `formidable`

Updates `artillery` from 2.0.2 to 2.0.10
- [Release notes](https://github.com/artilleryio/artillery/releases)
- [Commits](https://github.com/artilleryio/artillery/compare/artillery-2.0.2...artillery-2.0.10)

---
updated-dependencies:
- dependency-name: formidable
  dependency-type: indirect
- dependency-name: artillery
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-23 12:48:16 -07:00
Owncast
983848d706 Bundle embedded web app 2024-04-23 19:00:51 +00:00
renovate[bot]
1d25bd703d fix(deps): update dependency @fontsource/poppins to v5.0.14 2024-04-23 17:22:03 +00:00
Owncast
b2a7d81d12 Commit screenshots 2024-04-23 04:11:37 +00:00
Gabe Kangas
2acbda625b chore: troubleshoot js autoformating in workflow 2024-04-22 18:11:31 -07:00
Gabe Kangas
439da013d8 chore(go): update to go 1.22 (#3708)
* chore(go): update to go 1.22

* fix: install go before running codeql to fix autobild

* chore(test): explicitly set base crosscompile image

* fix(test): do not point at image with incorrect version of Go
2024-04-22 13:23:52 -07:00
Owncast
ac0204104d Bundle embedded web app 2024-04-22 11:48:06 +00:00
renovate[bot]
4767f7f615 chore(deps): lock file maintenance 2024-04-22 11:42:27 +00:00
Owncast
7e30ed3a1f Commit screenshots 2024-04-22 04:10:42 +00:00
Owncast
1349e5cc44 Bundle embedded web app 2024-04-22 03:54:24 +00:00
renovate[bot]
a5442f8723 chore(deps): update dependency cypress to v13.8.0 2024-04-22 01:15:55 +00:00
Owncast
09029e1ccd Bundle embedded web app 2024-04-21 10:43:54 +00:00
renovate[bot]
9616d69158 fix(deps): update dependency react-virtuoso to v4.7.9 2024-04-21 08:16:58 +00:00
Owncast
6eff5f2ceb Commit screenshots 2024-04-21 04:11:22 +00:00
Owncast
72b2598e89 Bundle embedded web app 2024-04-21 03:59:49 +00:00
renovate[bot]
a3c457363e fix(deps): update nextjs monorepo to v14.2.2 2024-04-21 00:25:12 +00:00
Owncast
e40ba1d725 Commit screenshots 2024-04-20 04:10:20 +00:00
Owncast
7d42f01ecb Bundle embedded web app 2024-04-20 01:32:14 +00:00
renovate[bot]
984f5bd562 chore(deps): update dependency sass-loader to v14.2.1 2024-04-19 21:08:33 +00:00
Owncast
65e1a4fc3f Bundle embedded web app 2024-04-19 21:07:12 +00:00
mahmed2000
56eef2e601 Add effect to set media session metadata (#3713) 2024-04-19 14:01:50 -07:00
Owncast
8dd43ea6cc Commit screenshots 2024-04-19 04:21:00 +00:00
Owncast
82271a9b08 Bundle embedded web app 2024-04-19 00:09:04 +00:00
renovate[bot]
288219d40c chore(deps): update dependency @types/react to v18.2.79 2024-04-18 22:12:23 +00:00
Gabe Kangas
9b569f3293 chore(tests): attempt to clean up test flakiness (#3710) 2024-04-18 15:11:06 -07:00
Owncast
fec0e9d11f Bundle embedded web app 2024-04-18 19:59:12 +00:00
renovate[bot]
cd8cf2fc7a chore(deps): update typescript-eslint monorepo to v7.7.0 2024-04-18 19:35:52 +00:00
Owncast
304652047d Bundle embedded web app 2024-04-18 19:34:18 +00:00
renovate[bot]
52243fda36 chore(deps): update dependency style-loader to v4 (#3703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 12:27:31 -07:00
Owncast
47ea42d7f2 Bundle embedded web app 2024-04-18 15:28:43 +00:00
renovate[bot]
30a008d85b fix(deps): update dependency @codemirror/language-data to v6.5.1 (#3706)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 08:23:18 -07:00
Owncast
c6570edfa4 Bundle embedded web app 2024-04-18 15:10:34 +00:00
renovate[bot]
9fa761b130 chore(deps): update dependency @types/video.js to v7.3.58 (#3705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 08:04:51 -07:00
renovate[bot]
4ac08252c1 fix(deps): update module github.com/aws/aws-sdk-go to v1.51.23 2024-04-18 10:18:31 +00:00
Gabe Kangas
799e880718 chore(tests): retry cypress tests on failure 2024-04-17 22:10:39 -07:00
Owncast
201689cb66 Commit screenshots 2024-04-18 04:10:59 +00:00
Vivian Lim ⭐
f81e8dcda7 Mute the 'stream ended' clip's audio (#3630)
* Mute the 'stream ended' clip's audio

The 'stream ended' clip plays at the at the end of every stream broadcast using owncast.
It currently contains audio that peaks at -7.1db. (according to ffmpeg's volumedetect audio filter)
This can result in a bad experience for viewers if the stream that they were just watching had a much lower average volume, and they had turned up their speakers or headphones to compensate. In extreme cases this could theoretically cause harm to viewers and/or their equipment.
As an admin running owncast, there is no way to remove this audio *except* for patching the file. Even if you do patch the file, you need to notify your viewers to clear their browser caches if they have ever seen the clip, because offline.ts has a cache-control max-age header specifying 365 days. The caching of the previous version of this clip is out of scope of this PR.

This issue is discussed in more detail in #1965.

Unlike my previous attempt in #3332, which removed the audio track, this PR *mutes* the audio.

Specifically, I used this ffmpeg command:
```
ffmpeg -i offline.ts -filter:a "volume=0.0" output.ts
```

There are no other modifications to the clip.

* Commit updated API documentation

* feat(video): make compatible muted offline clip. Rename clip as a v2 so it is not cached

* Fix conflict

* force add new offline file

---------

Co-authored-by: vivlim <vivlim@vivl.im>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-04-17 11:44:19 -07:00
mahmed2000
d3b0cb261a Change fediAuth message to be more succinct (#3696)
* Change fediAuth message to be more succint

* Update controllers/auth/fediverse/fediverse.go

for -> from

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-04-17 11:01:32 -07:00
Owncast
3fd18a73ae Commit screenshots 2024-04-17 04:12:19 +00:00
Owncast
6c02683122 Bundle embedded web app 2024-04-16 12:53:44 +00:00
renovate[bot]
26f602a6a5 chore(deps): update dependency @types/react to v18.2.78 2024-04-16 09:44:05 +00:00
Owncast
4380b6c8d9 Bundle embedded web app 2024-04-16 09:42:45 +00:00
renovate[bot]
5a9075d017 chore(deps): update dependency @types/markdown-it to v14.0.1 2024-04-16 08:21:47 +00:00
Owncast
e059c6bcdf Commit screenshots 2024-04-16 04:11:19 +00:00
Owncast
0b93575209 Bundle embedded web app 2024-04-16 03:09:06 +00:00
renovate[bot]
07b5f3b96f fix(deps): update nextjs monorepo to v14.2.1 2024-04-15 22:38:08 +00:00
Owncast
75bab43954 Bundle embedded web app 2024-04-15 18:45:22 +00:00
renovate[bot]
717dd67ffc fix(deps): update nextjs monorepo to v14.2.0 2024-04-15 17:02:11 +00:00
Owncast
a7922c1721 Bundle embedded web app 2024-04-15 17:00:28 +00:00
renovate[bot]
dc742e3d10 fix(deps): update codemirror 2024-04-15 11:59:19 +00:00
Owncast
83ed34d422 Bundle embedded web app 2024-04-15 11:57:36 +00:00
renovate[bot]
1967da067e chore(deps): update dependency sass-loader to v14.2.0 2024-04-15 06:40:43 +00:00
Owncast
b7cd4b6323 Commit screenshots 2024-04-15 04:24:19 +00:00
Owncast
3a11e5a9ab Bundle embedded web app 2024-04-15 03:59:22 +00:00
renovate[bot]
fc997fd49b chore(deps): update dependency sass to v1.75.0 2024-04-15 02:25:22 +00:00
Owncast
3535823e4d Bundle embedded web app 2024-04-15 02:23:55 +00:00
renovate[bot]
f626dbafe0 chore(deps): update dependency storybook-addon-fetch-mock to v2 (#3675)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-14 19:18:36 -07:00
Owncast
cb3d7ea46e Bundle embedded web app 2024-04-15 02:00:43 +00:00
renovate[bot]
0262b449c2 chore(deps): update dependency @storybook/addon-styling-webpack to v1 (#3667)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-14 18:55:16 -07:00
Owncast
ecd68e4d4b Bundle embedded web app 2024-04-15 01:34:25 +00:00
renovate[bot]
6afa3ab832 chore(deps): update dependency @types/react to v18.2.77 2024-04-15 01:29:00 +00:00
Owncast
5762e91a7c Bundle embedded web app 2024-04-15 01:12:22 +00:00
mahmed2000
5a145eb407 Fixes for aria-live bugs (#3694)
* make the aria-live text adhere to the last message's username

* Wrap lastMessage in an Interweave to handle pre-encoded characters properly

---------

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
2024-04-14 18:06:29 -07:00
Owncast
1d3e52d2bb Bundle embedded web app 2024-04-14 22:48:24 +00:00
mahmed2000
1a5e7cb113 Fix custom runtimeCaching rules, default runtimeCaching rule order (#3685)
Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
2024-04-14 15:41:39 -07:00
Owncast
aa4a3024d9 Bundle embedded web app 2024-04-14 20:17:11 +00:00
renovate[bot]
06a40a346e chore(deps): update dependency cypress to v13.7.3 2024-04-14 19:49:39 +00:00
Owncast
59dc83a02a Bundle embedded web app 2024-04-14 19:47:56 +00:00
mahmed2000
57135960cb prevent css-loader v7 renaming default to _default, needed for storybook (#3692)
Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
2024-04-14 12:40:54 -07:00
Owncast
12a6ebed54 Bundle embedded web app 2024-04-14 14:17:48 +00:00
renovate[bot]
16eb1754c7 chore(deps): update dependency typescript to v5.4.5 2024-04-14 10:18:21 +00:00
Owncast
cd06207866 Bundle embedded web app 2024-04-14 10:16:56 +00:00
renovate[bot]
f38d7bb6c8 chore(deps): update dependency knip to v5.9.4 2024-04-14 10:11:24 +00:00
Owncast
ec85a0f264 Bundle embedded web app 2024-04-14 07:33:27 +00:00
renovate[bot]
dc98ac0fe4 chore(deps): update dependency npm to v10.5.2 2024-04-14 04:42:58 +00:00
Owncast
371a42c49d Commit screenshots 2024-04-14 04:25:23 +00:00
Owncast
d9f22f99b1 Bundle embedded web app 2024-04-14 00:22:43 +00:00
renovate[bot]
10147cdf9f chore(deps): update dependency @types/node to v20.12.7 (#3688)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-13 17:16:21 -07:00
Owncast
95819ca1a5 Bundle embedded web app 2024-04-14 00:02:41 +00:00
renovate[bot]
f7906cd7ce chore(deps): update dependency css-loader to v7.1.1 (#3691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-13 16:55:23 -07:00
Owncast
859ff3f082 Bundle embedded web app 2024-04-13 20:59:19 +00:00
mahmed2000
9c3a4acb16 Change tag to self-closing since the linter complains otherwise (#3690)
Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
2024-04-13 13:51:43 -07:00
Owncast
921f4f9e4c Commit screenshots 2024-04-13 04:10:16 +00:00
Gabe Kangas
30d51d81ac Allow react/no-danger 2024-04-12 10:20:06 -07:00
Owncast
3e1cd98e5f Commit screenshots 2024-04-12 04:10:40 +00:00
Jeet Chawda
39078babbe stream offline status embed updated (#3684) 2024-04-11 19:57:25 -07:00
Owncast
3cafe0533c Bundle embedded web app 2024-04-12 01:53:39 +00:00
renovate[bot]
2731b2a26e chore(deps): update dependency @types/react to v18.2.75 (#3686)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 18:48:20 -07:00
Owncast
ac69fc38b0 Bundle embedded web app 2024-04-12 01:31:52 +00:00
renovate[bot]
e604d52f64 chore(deps): update typescript-eslint monorepo to v7.6.0 2024-04-11 22:51:26 +00:00
Owncast
7c11c91324 Bundle embedded web app 2024-04-11 22:49:34 +00:00
renovate[bot]
2c6bba025c chore(deps): update dependency css-loader to v7.1.0 2024-04-11 19:47:06 +00:00
Owncast
87dbb58711 Commit screenshots 2024-04-11 04:11:18 +00:00
Owncast
aa9d799128 Bundle embedded web app 2024-04-10 20:21:21 +00:00
Owncast
f8a3d0559b Commit updated Storybook stories 2024-04-10 20:19:25 +00:00
mahmed2000
de8bc8d41b Fix for copying stream key without revealing it only copies asterisks (#3663)
* asterisk copy fix for #3460

* rename text to keys for consistency + linting fix

* make onCopy spawn an antd message directly, remove redundant copyText function

---------

Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
2024-04-10 13:15:53 -07:00
renovate[bot]
9bbb09c911 chore(deps): update tj-actions/changed-files action to v44 (#3679)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 12:35:43 -07:00
Owncast
e50e4473dd Bundle embedded web app 2024-04-10 15:18:38 +00:00
renovate[bot]
4b52800061 chore(deps): update dependency css-loader to v7 (#3670)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 08:13:06 -07:00
Owncast
c618fb0a4e Bundle embedded web app 2024-04-10 14:37:39 +00:00
renovate[bot]
ecdfd977dd fix(deps): update dependency @codemirror/language-data to v6.5.0 2024-04-10 09:53:30 +00:00
renovate[bot]
92aa873365 chore(deps): update peter-evans/create-or-update-comment digest to 48bb05b 2024-04-10 05:33:12 +00:00
Owncast
e6e73d1750 Bundle embedded web app 2024-04-10 05:32:15 +00:00
Gabe Kangas
a450e62397 Optionally disable chat rate limiter and add optional chat slur/language filter (#3681)
* feat(chat): basic profanity filter. For #3139

* feat(chat): add setting for disabling chat spam protection. Closes #3523

* feat(chat): wire up the new chat slur filter to admin and chat. Closes #3139
2024-04-09 22:25:41 -07:00
Owncast
04eaf8c20e Bundle embedded web app 2024-04-10 04:15:02 +00:00
Owncast
a7134edafb Commit screenshots 2024-04-10 04:10:32 +00:00
renovate[bot]
7837c7656c fix(deps): update dependency react-virtuoso to v4.7.8 2024-04-10 04:09:42 +00:00
Owncast
5792343eef Bundle embedded web app 2024-04-10 02:23:43 +00:00
Owncast
c066cd9035 Bundle embedded web app 2024-04-10 01:58:24 +00:00
Owncast
9e533498a3 Bundle embedded web app 2024-04-10 01:57:05 +00:00
Gabe Kangas
68645ab8e7 Bump version number 2024-04-09 18:56:31 -07:00
Owncast
cd3015466e Bundle embedded web app 2024-04-10 01:51:30 +00:00
renovate[bot]
91788c9087 chore(deps): update chromaui/action action to v11 (#3666)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 18:25:55 -07:00
renovate[bot]
a02e9a5601 chore(deps): update dependency @types/markdown-it to v14 (#3668)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 18:25:22 -07:00
renovate[bot]
a1a879a768 chore(deps): update nick-fields/retry action to v3 (#3678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 18:23:40 -07:00
renovate[bot]
e3c93d9c59 chore(deps): update dependency knip to v5 (#3672)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 18:22:43 -07:00
renovate[bot]
58e11d4880 chore(deps): update dependency chromatic to v11 (#3669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 18:21:53 -07:00
renovate[bot]
568b9cace4 chore(deps): update dependency less-loader to v12 (#3673)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 18:21:21 -07:00
renovate[bot]
dcba3818c6 chore(deps): update typescript-eslint monorepo to v7 (#3680)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 18:20:47 -07:00
renovate[bot]
50ee6426b6 chore(deps): update dependency sass-loader to v14 (#3674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 18:20:13 -07:00
renovate[bot]
a06db37cd9 fix(deps): update module golang.org/x/mod to v0.17.0 2024-04-09 16:18:22 +00:00
renovate[bot]
2d03ea5691 fix(deps): update module golang.org/x/net to v0.24.0 2024-04-09 13:52:36 +00:00
renovate[bot]
9c973f3d5b fix(deps): update module github.com/aws/aws-sdk-go to v1.51.17 2024-04-09 10:14:48 +00:00
renovate[bot]
f4cae0f1dd fix(deps): update module github.com/shirou/gopsutil/v3 to v3.24.3 2024-04-09 06:39:54 +00:00
Owncast
db0ef04127 Bundle embedded web app 2024-04-09 06:38:39 +00:00
renovate[bot]
43e18267b6 chore(deps): update dependency @types/node to v20.12.5 2024-04-09 04:17:47 +00:00
Owncast
50d6443a13 Commit screenshots 2024-04-09 04:12:54 +00:00
Owncast
d7bee391d6 Bundle embedded web app 2024-04-09 01:33:07 +00:00
renovate[bot]
75b4feddeb chore(deps): lock file maintenance (#3662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 18:20:01 -07:00
renovate[bot]
fd271c23f0 fix(deps): update module github.com/yuin/goldmark to v1.7.1 2024-04-08 22:54:43 +00:00
Owncast
e0fcce3efb Commit screenshots 2024-04-08 04:10:43 +00:00
Owncast
10cb2e4b5b Bundle embedded web app 2024-04-07 22:07:22 +00:00
renovate[bot]
ec8bfb3e0f chore(deps): update dependency typescript to v5.4.4 2024-04-07 19:28:08 +00:00
Owncast
6ae3167b61 Bundle embedded web app 2024-04-07 13:31:22 +00:00
renovate[bot]
0ee640ed46 chore(deps): update dependency sass to v1.74.1 2024-04-07 10:36:36 +00:00
Owncast
799693d5e8 Bundle embedded web app 2024-04-07 10:35:13 +00:00
renovate[bot]
9f864e2757 chore(deps): update dependency @types/node to v20.12.4 2024-04-07 05:26:19 +00:00
Owncast
e6d5cbc655 Commit screenshots 2024-04-07 04:12:10 +00:00
Owncast
289a046aca Bundle embedded web app 2024-04-07 02:35:01 +00:00
renovate[bot]
4539bbc44d chore(deps): update dependency css-loader to v6.11.0 2024-04-06 21:10:01 +00:00
Owncast
0f1b41b4d1 Bundle embedded web app 2024-04-06 21:08:19 +00:00
renovate[bot]
ef63822e86 chore(deps): update dependency npm to v10.5.1 2024-04-06 18:11:13 +00:00
Owncast
8064c0163b Bundle embedded web app 2024-04-06 18:09:36 +00:00
renovate[bot]
e5533eac0f chore(deps): update dependency @babel/core to v7.24.4 2024-04-06 17:09:53 +00:00
Owncast
e3c85938c2 Bundle embedded web app 2024-04-06 08:31:57 +00:00
renovate[bot]
d7915e1e13 chore(deps): update dependency cypress to v13.7.2 2024-04-06 04:41:02 +00:00
Owncast
462ed806e4 Commit screenshots 2024-04-06 04:11:05 +00:00
Owncast
02729beaa9 Bundle embedded web app 2024-04-06 00:34:34 +00:00
renovate[bot]
09e3bd1f22 chore(deps): update dependency @types/node to v20.12.3 2024-04-05 23:08:19 +00:00
Owncast
a468e1f85d Bundle embedded web app 2024-04-05 15:23:50 +00:00
renovate[bot]
f2af9b5697 chore(deps): update dependency @types/react to v18.2.74 2024-04-05 13:40:15 +00:00
Owncast
46ab21157f Commit screenshots 2024-04-05 04:16:04 +00:00
Owncast
42b39989f8 Commit screenshots 2024-04-04 04:20:44 +00:00
renovate[bot]
892485064b chore(deps): update peter-evans/create-or-update-comment digest to 8d281ec 2024-04-03 06:57:31 +00:00
Owncast
2831addc6f Bundle embedded web app 2024-04-03 04:12:58 +00:00
Owncast
80b0158d40 Commit screenshots 2024-04-03 04:11:31 +00:00
renovate[bot]
81000dc09d fix(deps): update dependency @fontsource/poppins to v5.0.13 2024-04-03 00:58:28 +00:00
Owncast
7bdb5ec4e6 Bundle embedded web app 2024-04-02 10:25:13 +00:00
renovate[bot]
a13f66ddff chore(deps): update dependency @types/node to v20.12.2 2024-04-02 06:43:51 +00:00
Owncast
35cbe5e861 Commit screenshots 2024-04-02 04:20:50 +00:00
Owncast
cb6775ba32 Commit screenshots 2024-04-01 04:15:53 +00:00
Owncast
6391e35524 Commit updated API documentation 2024-03-31 22:51:31 +00:00
Gabe Kangas
9ebfb67ef3 docs: bump openapi spec version 2024-03-31 15:49:57 -07:00
Owncast
4db8bd6e09 Commit screenshots 2024-03-31 04:13:10 +00:00
Owncast
3c8ec0b050 Bundle embedded web app 2024-03-31 01:44:29 +00:00
renovate[bot]
75bdd54eb9 chore(deps): update dependency @types/react to v18.2.73 (#3654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-30 18:38:40 -07:00
Owncast
28368ce202 Bundle embedded web app 2024-03-30 07:17:59 +00:00
renovate[bot]
341b627f97 chore(deps): update dependency @types/react to v18.2.72 2024-03-30 05:08:13 +00:00
Owncast
76a974979f Commit screenshots 2024-03-30 04:10:09 +00:00
Owncast
d9916134b1 Bundle embedded web app 2024-03-29 13:56:30 +00:00
renovate[bot]
1ea2cb2bed chore(deps): update dependency @types/react to v18.2.71 2024-03-29 10:35:31 +00:00
Owncast
dae199d33d Bundle embedded web app 2024-03-29 04:25:17 +00:00
Owncast
583cb1f353 Commit updated Storybook stories 2024-03-29 04:22:55 +00:00
Gabe Kangas
805f96e271 fix(web): resolve the status bar duration string. Fixes #3652 2024-03-28 21:18:28 -07:00
Owncast
afeb04c9ba Commit screenshots 2024-03-29 04:11:54 +00:00
Owncast
172fea46af Bundle embedded web app 2024-03-28 14:52:42 +00:00
renovate[bot]
0f57648a51 chore(deps): update dependency @types/react to v18.2.70 2024-03-28 11:56:05 +00:00
Owncast
b2c44a1af6 Commit screenshots 2024-03-28 04:10:33 +00:00
Owncast
be8e368d7d Commit screenshots 2024-03-27 04:11:13 +00:00
Owncast
7b88fa62d7 Bundle embedded web app 2024-03-27 00:24:47 +00:00
renovate[bot]
ac3cb54309 fix(deps): update dependency sharp to v0.33.3 2024-03-26 21:16:13 +00:00
Owncast
5c6db59aef Bundle embedded web app 2024-03-26 21:14:40 +00:00
renovate[bot]
a939a07c3e fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.25 2024-03-26 21:08:05 +00:00
Owncast
23a5a24899 Bundle embedded web app 2024-03-26 20:53:48 +00:00
renovate[bot]
c0253f446a fix(deps): update dependency @uiw/react-codemirror to v4.21.25 2024-03-26 17:04:31 +00:00
Owncast
108a9dce9e Bundle embedded web app 2024-03-26 17:02:48 +00:00
renovate[bot]
756a1822d7 chore(deps): update dependency @types/react to v18.2.69 (#3648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 09:54:36 -07:00
Owncast
5946162c1d Commit screenshots 2024-03-26 04:11:12 +00:00
Owncast
677a78dd99 Bundle embedded web app 2024-03-26 02:14:55 +00:00
renovate[bot]
81652fc485 chore(deps): update dependency @types/prop-types to v15.7.12 (#3647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-03-25 19:08:31 -07:00
dependabot[bot]
40942123e6 Bump webpack-dev-middleware from 6.1.1 to 6.1.2 in /web (#3639)
Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v6.1.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v6.1.1...v6.1.2)

---
updated-dependencies:
- dependency-name: webpack-dev-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-25 13:14:07 -07:00
dependabot[bot]
cda2178fe6 Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#3629)
Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-25 13:13:43 -07:00
dependabot[bot]
5dae071c00 Bump follow-redirects from 1.15.4 to 1.15.6 in /test/load (#3632)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-25 13:13:27 -07:00
Owncast
cd5e0913e2 Bundle embedded web app 2024-03-25 19:13:25 +00:00
renovate[bot]
7c9c5880bc chore(deps): lock file maintenance (#3645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 12:03:05 -07:00
Owncast
c79a706f38 Bundle embedded web app 2024-03-25 16:13:47 +00:00
renovate[bot]
9d4f21a4be chore(deps): update dependency cypress to v13.7.1 2024-03-25 16:04:54 +00:00
Owncast
875f8e0ee4 Bundle embedded web app 2024-03-25 13:52:52 +00:00
renovate[bot]
81560036ff fix(deps): update dependency @ant-design/icons to v4.8.3 2024-03-25 10:11:02 +00:00
Owncast
6c4201d63b Commit screenshots 2024-03-25 04:11:45 +00:00
Owncast
d93ed6c642 Bundle embedded web app 2024-03-24 06:48:49 +00:00
renovate[bot]
44157ff715 fix(deps): update dependency autoprefixer to v10.4.19 2024-03-24 04:25:34 +00:00
Owncast
7e6f7a6922 Commit screenshots 2024-03-24 04:10:32 +00:00
Owncast
915d191941 Bundle embedded web app 2024-03-24 01:42:37 +00:00
renovate[bot]
086d88b29d chore(deps): update dependency typescript to v5.4.3 2024-03-23 22:37:14 +00:00
Owncast
e74549cd90 Bundle embedded web app 2024-03-23 16:45:41 +00:00
renovate[bot]
9dd38baaaa chore(deps): update dependency @babel/core to v7.24.3 2024-03-23 13:43:13 +00:00
Owncast
2c4bb19b1f Bundle embedded web app 2024-03-23 10:12:56 +00:00
renovate[bot]
d566978273 chore(deps): update dependency @babel/core to v7.24.1 2024-03-23 10:06:58 +00:00
Owncast
f2214ba351 Commit screenshots 2024-03-23 04:11:34 +00:00
Owncast
01cfcac9db Bundle embedded web app 2024-03-23 04:07:09 +00:00
renovate[bot]
e54dadc331 fix(deps): update nextjs monorepo to v14.1.4 2024-03-23 02:40:20 +00:00
Owncast
9e2722b027 Bundle embedded web app 2024-03-22 22:06:57 +00:00
renovate[bot]
24e47879a0 fix(deps): update dependency antd to v4.24.16 2024-03-22 19:31:14 +00:00
Owncast
4004625350 Bundle embedded web app 2024-03-22 15:29:13 +00:00
renovate[bot]
3491adc2fc chore(deps): update dependency @types/node to v20.11.30 2024-03-22 14:09:25 +00:00
Owncast
3067dea1cd Commit screenshots 2024-03-22 04:10:48 +00:00
Owncast
f3456bbd6d Bundle embedded web app 2024-03-21 23:09:39 +00:00
renovate[bot]
6577a72d7d chore(deps): update dependency @types/node to v20.11.29 2024-03-21 20:03:47 +00:00
Owncast
03033802c5 Bundle embedded web app 2024-03-21 16:04:54 +00:00
renovate[bot]
64123c8577 chore(deps): update dependency @types/react to v18.2.67 2024-03-21 14:42:34 +00:00
Owncast
91c9b16279 Bundle embedded web app 2024-03-21 10:01:20 +00:00
renovate[bot]
55be7be9e5 chore(deps): update dependency @types/react to v18.2.66 2024-03-21 09:55:43 +00:00
Owncast
71fc4ed3d2 Bundle embedded web app 2024-03-21 07:38:04 +00:00
renovate[bot]
0be271b81b fix(deps): update dependency @ant-design/icons to v4.8.2 2024-03-21 05:17:54 +00:00
Owncast
e01576c5d4 Commit screenshots 2024-03-21 04:11:58 +00:00
renovate[bot]
ad1ec85f97 chore(deps): update peter-evans/create-or-update-comment digest to 5e08535 2024-03-20 08:17:34 +00:00
Owncast
00541f8b30 Commit screenshots 2024-03-20 04:20:46 +00:00
Owncast
849cba7af6 Bundle embedded web app 2024-03-19 07:46:40 +00:00
renovate[bot]
987ab309a9 chore(deps): update dependency eslint-plugin-react to v7.34.1 2024-03-19 07:40:08 +00:00
Owncast
7b730a2c8f Commit screenshots 2024-03-19 04:10:49 +00:00
Owncast
a0189b988d Bundle embedded web app 2024-03-18 15:16:12 +00:00
renovate[bot]
46d59a93ea chore(deps): lock file maintenance 2024-03-18 15:09:12 +00:00
Owncast
362e6b4294 Bundle embedded web app 2024-03-18 11:00:20 +00:00
renovate[bot]
f3a54157a1 chore(deps): update dependency @types/node to v20.11.28 2024-03-18 08:03:02 +00:00
Owncast
3ab8e4bb0e Commit screenshots 2024-03-18 04:10:30 +00:00
Owncast
43c383059a Commit screenshots 2024-03-17 04:11:15 +00:00
Owncast
f2f809bd68 Bundle embedded web app 2024-03-17 01:43:39 +00:00
renovate[bot]
1bde1fbf50 chore(deps): update dependency sass to v1.72.0 2024-03-16 21:58:06 +00:00
Owncast
0cd67c6500 Bundle embedded web app 2024-03-16 21:56:48 +00:00
renovate[bot]
9f30855029 chore(deps): update dependency cypress to v13.7.0 2024-03-16 19:35:39 +00:00
Owncast
4916f027e4 Bundle embedded web app 2024-03-16 19:34:46 +00:00
renovate[bot]
2aad414242 chore(deps): update dependency @types/node to v20.11.27 2024-03-16 16:19:52 +00:00
Owncast
a918a24686 Commit screenshots 2024-03-16 04:11:11 +00:00
Owncast
c8d8ea52aa Bundle embedded web app 2024-03-15 11:57:51 +00:00
renovate[bot]
7fc0a96354 fix(deps): update dependency date-fns to v3.4.0 2024-03-15 11:52:12 +00:00
Owncast
9d7897f02f Commit screenshots 2024-03-15 04:12:01 +00:00
Owncast
89de15681c Bundle embedded web app 2024-03-15 03:18:25 +00:00
renovate[bot]
16b6d72053 chore(deps): update dependency @types/react to v18.2.65 2024-03-15 02:04:20 +00:00
Owncast
37bc8e96dc Bundle embedded web app 2024-03-15 02:03:11 +00:00
renovate[bot]
09c033592e chore(deps): update dependency @types/node to v20.11.26 2024-03-14 23:22:18 +00:00
Owncast
e99b87e0c5 Commit screenshots 2024-03-14 04:11:52 +00:00
renovate[bot]
f863bc9b59 chore(deps): update peter-evans/create-or-update-comment digest to 5add1d7 2024-03-13 06:05:28 +00:00
Owncast
f3efc77cc4 Commit screenshots 2024-03-13 04:11:26 +00:00
Owncast
17245bf4ec Commit screenshots 2024-03-12 04:11:46 +00:00
Owncast
ee1e6a4897 Bundle embedded web app 2024-03-11 09:29:30 +00:00
renovate[bot]
160462de6e chore(deps): lock file maintenance 2024-03-11 09:23:53 +00:00
Owncast
044de59451 Commit screenshots 2024-03-11 04:10:41 +00:00
Gabe Kangas
a42071951d feat: add rel-me link attr and enclosing list tags. Closes #3290 2024-03-10 15:48:33 -07:00
Owncast
f84276ac39 Bundle embedded web app 2024-03-10 06:50:29 +00:00
renovate[bot]
03ed9f4875 fix(deps): update nextjs monorepo to v14.1.3 2024-03-10 06:44:24 +00:00
Owncast
eaeb6dbd12 Commit screenshots 2024-03-10 04:10:10 +00:00
Owncast
9f41bd805c Bundle embedded web app 2024-03-10 01:31:56 +00:00
renovate[bot]
874e521333 chore(deps): update dependency typescript to v5.4.2 2024-03-09 21:30:36 +00:00
Owncast
eee9bb5fde Bundle embedded web app 2024-03-09 21:28:56 +00:00
renovate[bot]
b5e0c7a72b chore(deps): update dependency @types/react to v18.2.64 2024-03-09 19:26:29 +00:00
Owncast
73bff6ff0f Bundle embedded web app 2024-03-09 19:25:17 +00:00
renovate[bot]
84192583ed chore(deps): update dependency @types/node to v20.11.25 2024-03-09 17:16:29 +00:00
Owncast
b9f2d6754b Bundle embedded web app 2024-03-09 17:15:24 +00:00
renovate[bot]
e370fe507b fix(deps): update dependency yaml to v2.4.1 2024-03-09 13:15:23 +00:00
Owncast
6b48ffb3c6 Commit screenshots 2024-03-09 04:20:31 +00:00
Owncast
4c15fb324e Bundle embedded web app 2024-03-08 22:51:43 +00:00
renovate[bot]
8985342f1f chore(deps): update dependency @types/react to v18.2.63 (#3624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-08 14:45:46 -08:00
Owncast
3ccce6ac2e Bundle embedded web app 2024-03-08 21:26:13 +00:00
renovate[bot]
9f063b51d6 chore(deps): update dependency mermaid to v10.9.0 2024-03-08 19:31:38 +00:00
renovate[bot]
99ac8ed6a7 fix(deps): update module gopkg.in/evanphx/json-patch.v5 to v5.9.0 2024-03-08 07:05:23 +00:00
Owncast
6e9b6b749a Bundle embedded web app 2024-03-08 07:03:59 +00:00
renovate[bot]
6e31882e86 fix(deps): update nextjs monorepo to v14.1.2 2024-03-08 05:04:38 +00:00
Owncast
e56a0938bc Commit screenshots 2024-03-08 04:30:39 +00:00
Owncast
59c85d17fd Bundle embedded web app 2024-03-08 01:06:59 +00:00
Gabe Kangas
70fdc2c642 fix(web): remove rounded corner in video embed 2024-03-07 17:00:32 -08:00
Owncast
0be0c36c86 Bundle embedded web app 2024-03-07 22:49:25 +00:00
renovate[bot]
9ccb3d00a3 chore(deps): update dependency @types/react to v18.2.62 2024-03-07 18:31:40 +00:00
Owncast
e26ee1259c Bundle embedded web app 2024-03-07 18:30:25 +00:00
renovate[bot]
72a8dfab67 chore(deps): update dependency eslint-plugin-react to v7.34.0 2024-03-07 18:22:55 +00:00
renovate[bot]
bf3194fddb fix(deps): update module golang.org/x/net to v0.22.0 2024-03-07 13:21:55 +00:00
renovate[bot]
b6b7f1a8d5 fix(deps): update module golang.org/x/mod to v0.16.0 2024-03-07 09:43:50 +00:00
Owncast
315b1f2b77 Bundle embedded web app 2024-03-07 09:41:58 +00:00
renovate[bot]
327a4cc5ce fix(deps): update dependency @fontsource/poppins to v5.0.12 2024-03-07 06:03:30 +00:00
Owncast
053d7f5b4c Bundle embedded web app 2024-03-07 06:02:17 +00:00
Gabe Kangas
46d0be3e6d fix(web): fix incorrect image 2024-03-06 21:55:49 -08:00
Owncast
b2604115a4 Bundle embedded web app 2024-03-07 05:25:12 +00:00
renovate[bot]
44eafe69ac fix(deps): update dependency date-fns to v3 (#3619)
* fix(deps): update dependency date-fns to v3

* fix(deps): update usage of date-fns format

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-03-06 21:13:13 -08:00
Owncast
63964f046e Commit screenshots 2024-03-07 04:10:59 +00:00
renovate[bot]
564a48e600 fix(deps): update module github.com/shirou/gopsutil/v3 to v3.24.2 2024-03-07 02:15:50 +00:00
renovate[bot]
34f5fd0114 fix(deps): update module github.com/aws/aws-sdk-go to v1.50.33 2024-03-06 23:03:56 +00:00
renovate[bot]
90895ac68f fix(deps): update module mvdan.cc/xurls to v2 (#3621)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-06 15:02:57 -08:00
renovate[bot]
aba23ddb50 chore(deps): update peter-evans/create-or-update-comment digest to cddb636 2024-03-06 06:12:12 +00:00
Owncast
d73084a7da Bundle embedded web app 2024-03-06 06:11:33 +00:00
Riya Bhatia
1ddba0118e State-changed events modified to be in aria live region (#3469)
* Made changes to chatcontainer, still facing issue with only reading out the newest message

* Added accessibility measure for chat to allow for latest message to be read by screen reader

* Fixed linting errors

* Fixed linting errors pt. 2

* Fixed linting errors, the finale?

* Ok this is actually it i promise

* add username to be read out by screenreader

* fix string concat linter issue

* fix linting indexing issue

* remove test mp4 files

---------

Co-authored-by: melghali <melghali@andrew.cmu.edu>
2024-03-05 22:02:58 -08:00
Aziz Rmadi
45436162bd Hide chat button on mobile when chat is disabled (#3616) 2024-03-05 21:58:17 -08:00
Owncast
8ec4182699 Commit screenshots 2024-03-06 04:11:12 +00:00
Max
96e73576af set content-type for customjavascript (#3612)
* set content-type for customjavascript

* change content-type in order to comply with RFC 9239
2024-03-04 21:40:57 -08:00
Owncast
8491d99eba Commit screenshots 2024-03-05 04:11:08 +00:00
Owncast
65a8a9c50a Bundle embedded web app 2024-03-04 16:23:57 +00:00
renovate[bot]
bcba7965dc chore(deps): lock file maintenance (#3613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-04 08:18:28 -08:00
Owncast
f85da19f92 Bundle embedded web app 2024-03-04 13:05:09 +00:00
renovate[bot]
6a4bfda228 fix(deps): update nextjs monorepo to v14.1.1 2024-03-04 09:53:29 +00:00
Owncast
a8d4d486e4 Bundle embedded web app 2024-03-04 09:51:58 +00:00
renovate[bot]
9d8128306f chore(deps): update dependency @types/video.js to v7.3.57 2024-03-04 06:06:22 +00:00
Owncast
85784f1883 Commit screenshots 2024-03-04 04:29:09 +00:00
renovate[bot]
b604206897 chore(deps): update peter-evans/repository-dispatch action to v3 (#3606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-03 18:58:33 -08:00
renovate[bot]
0b8c93a934 chore(deps): update golangci/golangci-lint-action action to v4 (#3605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-03 18:46:07 -08:00
renovate[bot]
8c13a81be7 chore(deps): update actions/cache action to v4 (#3608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-03 18:45:28 -08:00
Owncast
c6780bd359 Bundle embedded web app 2024-03-03 19:25:11 +00:00
renovate[bot]
2d92fa4e0a chore(deps): update dependency @types/node to v20.11.24 2024-03-03 16:42:35 +00:00
Owncast
abba12fe23 Bundle embedded web app 2024-03-03 16:41:51 +00:00
renovate[bot]
8d1531eac4 chore(deps): update dependency @types/react to v18.2.61 2024-03-03 13:23:25 +00:00
Owncast
dffb23c0c2 Bundle embedded web app 2024-03-03 10:24:31 +00:00
renovate[bot]
282948651c chore(deps): update dependency npm to v10.5.0 2024-03-03 06:04:46 +00:00
Owncast
78df28ceee Commit screenshots 2024-03-03 04:40:30 +00:00
Owncast
5b2a30d442 Bundle embedded web app 2024-03-03 03:22:27 +00:00
renovate[bot]
ec9ef0091d chore(deps): update dependency @types/node to v20.11.22 2024-03-03 03:16:34 +00:00
Owncast
d65c2a1e8a Bundle embedded web app 2024-03-02 22:00:26 +00:00
renovate[bot]
41221e32e4 fix(deps): update dependency chart.js to v4.4.2 2024-03-02 18:13:39 +00:00
Owncast
5564d50b0c Bundle embedded web app 2024-03-02 15:49:16 +00:00
renovate[bot]
756688c188 chore(deps): update dependency @babel/core to v7.24.0 2024-03-02 13:28:09 +00:00
Owncast
33149d6ab8 Commit screenshots 2024-03-02 04:10:30 +00:00
renovate[bot]
a7f7ce1d65 fix(deps): update module github.com/stretchr/testify to v1.9.0 2024-03-01 18:01:55 +00:00
renovate[bot]
446ee8e27a fix(deps): update module github.com/prometheus/client_golang to v1.19.0 2024-03-01 16:34:40 +00:00
renovate[bot]
28f1094b4b fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.22 2024-03-01 16:32:58 +00:00
Owncast
386d8e476a Bundle embedded web app 2024-03-01 12:40:29 +00:00
renovate[bot]
17e073cd9d chore(deps): update dependency @types/react to v18.2.60 2024-03-01 10:54:10 +00:00
renovate[bot]
06dedec90a fix(deps): update module github.com/aws/aws-sdk-go to v1.50.29 2024-03-01 06:59:27 +00:00
Owncast
42ead2d6fe Commit screenshots 2024-03-01 04:13:37 +00:00
Owncast
ccd8d6e1b6 Bundle embedded web app 2024-03-01 01:33:21 +00:00
renovate[bot]
428c9669a6 fix(deps): update dependency yaml to v2.4.0 2024-03-01 01:27:51 +00:00
Owncast
6b753d6185 Bundle embedded web app 2024-02-29 21:55:40 +00:00
renovate[bot]
86939e58f9 chore(deps): update dependency @types/react to v18.2.59 2024-02-29 19:52:15 +00:00
Owncast
f772d6b355 Commit screenshots 2024-02-29 04:11:31 +00:00
Owncast
64a8e6ed3c Bundle embedded web app 2024-02-28 13:03:20 +00:00
renovate[bot]
384b35a8c4 fix(deps): update dependency @uiw/react-codemirror to v4.21.24 2024-02-28 11:16:19 +00:00
renovate[bot]
af544886f1 chore(deps): update peter-evans/create-or-update-comment digest to 4e4c9d2 2024-02-28 07:06:26 +00:00
Owncast
874e178fb1 Commit screenshots 2024-02-28 04:10:42 +00:00
Owncast
fb81fa21a2 Bundle embedded web app 2024-02-28 03:42:33 +00:00
renovate[bot]
3300f7f9fc fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.24 2024-02-28 02:05:43 +00:00
dependabot[bot]
162da792e4 Bump es5-ext from 0.10.53 to 0.10.63 in /test/automated/api (#3603)
Bumps [es5-ext](https://github.com/medikoo/es5-ext) from 0.10.53 to 0.10.63.
- [Release notes](https://github.com/medikoo/es5-ext/releases)
- [Changelog](https://github.com/medikoo/es5-ext/blob/main/CHANGELOG.md)
- [Commits](https://github.com/medikoo/es5-ext/compare/v0.10.53...v0.10.63)

---
updated-dependencies:
- dependency-name: es5-ext
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-26 22:33:19 -08:00
Owncast
13cec2888c Commit screenshots 2024-02-27 04:10:56 +00:00
Owncast
40c7066c28 Bundle embedded web app 2024-02-27 01:01:35 +00:00
renovate[bot]
3b8b7817e4 chore(deps): update dependency eslint to v8.57.0 2024-02-26 21:47:17 +00:00
Owncast
fdb3bd1b90 Bundle embedded web app 2024-02-26 15:57:35 +00:00
renovate[bot]
b8c780741b chore(deps): lock file maintenance 2024-02-26 15:52:24 +00:00
renovate[bot]
454c39b2f1 fix(deps): update dependency sanitize-html to v2.12.1 2024-02-26 13:23:30 +00:00
Owncast
e9f5c2c4b0 Bundle embedded web app 2024-02-26 13:22:46 +00:00
renovate[bot]
0102ab452e chore(deps): update dependency @types/react to v18.2.58 2024-02-26 10:31:25 +00:00
Owncast
b032607816 Bundle embedded web app 2024-02-26 10:30:45 +00:00
renovate[bot]
56ab1d1ee2 fix(deps): update dependency @uiw/react-codemirror to v4.21.23 2024-02-26 07:13:47 +00:00
Owncast
2b880a930d Commit screenshots 2024-02-26 04:10:42 +00:00
Owncast
37c3329f52 Bundle embedded web app 2024-02-26 03:29:14 +00:00
renovate[bot]
959a50fd5a chore(deps): update dependency cypress to v13.6.6 2024-02-26 02:00:10 +00:00
Owncast
f1508ec3ae Bundle embedded web app 2024-02-26 01:59:28 +00:00
renovate[bot]
8244c5a93c chore(deps): update dependency @types/node to v20.11.20 2024-02-25 21:37:32 +00:00
Owncast
2d5bf4d7d2 Bundle embedded web app 2024-02-25 21:36:14 +00:00
renovate[bot]
e2fdc32028 fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.23 (#3600)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-25 13:30:49 -08:00
Owncast
9fc2cb27ef Bundle embedded web app 2024-02-25 21:08:58 +00:00
Gabe Kangas
5ce78fbad4 New offline embed (#3599)
* WIP

* feat(web): add new offline embed view. First step of #2917

* feat(web): support remote fediverse follow flow from embed

* feat(chore): add back offline video embed browser test
2024-02-25 12:52:32 -08:00
Owncast
96c769cf6f Commit screenshots 2024-02-25 04:10:25 +00:00
Owncast
98b5b7cd64 Bundle embedded web app 2024-02-24 18:07:57 +00:00
renovate[bot]
b97301a935 fix(deps): update dependency sanitize-html to v2.12.0 2024-02-24 16:48:40 +00:00
Owncast
f930198430 Bundle embedded web app 2024-02-24 07:12:02 +00:00
renovate[bot]
c7fafec407 chore(deps): update dependency sass to v1.71.1 2024-02-24 04:31:27 +00:00
Owncast
b93e3b420e Commit screenshots 2024-02-24 04:10:59 +00:00
Owncast
4201479395 Bundle embedded web app 2024-02-24 02:27:51 +00:00
renovate[bot]
378263de4d fix(deps): update dependency @codemirror/lang-javascript to v6.2.2 (#3596)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 18:22:20 -08:00
Owncast
69ca8c0276 Bundle embedded web app 2024-02-24 00:54:16 +00:00
renovate[bot]
533bab40f9 chore(deps): update dependency cypress to v13.6.5 2024-02-23 22:43:43 +00:00
Owncast
eec723b034 Bundle embedded web app 2024-02-23 17:29:56 +00:00
renovate[bot]
2cc3c4a2a2 chore(deps): update storybook monorepo to v7.6.17 2024-02-23 13:30:03 +00:00
Owncast
c75513931a Commit screenshots 2024-02-23 04:10:34 +00:00
Owncast
675e9be6db Bundle embedded web app 2024-02-23 00:11:33 +00:00
renovate[bot]
792f2d2934 chore(deps): update dependency @types/react to v18.2.57 2024-02-22 21:53:21 +00:00
Owncast
17561ae021 Bundle embedded web app 2024-02-22 07:57:03 +00:00
renovate[bot]
baa411a8e8 fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.22 2024-02-22 07:51:55 +00:00
Owncast
d654f6b0e9 Bundle embedded web app 2024-02-22 04:51:15 +00:00
Gabe Kangas
82d0b9c121 fix(web): make video embed player fit entire window. Closes #3587 2024-02-21 20:41:25 -08:00
Owncast
c58240ce53 Commit screenshots 2024-02-22 04:13:32 +00:00
Owncast
9aea00a32a Bundle embedded web app 2024-02-21 12:17:03 +00:00
renovate[bot]
ab71c1393d chore(deps): update dependency eslint-plugin-storybook to v0.8.0 2024-02-21 12:10:23 +00:00
renovate[bot]
cfab3a0550 chore(deps): update peter-evans/create-or-update-comment digest to c79b3ca 2024-02-21 07:00:03 +00:00
Owncast
a944cdd5d2 Bundle embedded web app 2024-02-21 06:58:59 +00:00
renovate[bot]
14af7bd813 fix(deps): update dependency @uiw/react-codemirror to v4.21.22 2024-02-21 04:39:19 +00:00
dependabot[bot]
d10f533597 Bump ip from 1.1.8 to 1.1.9 in /test/load (#3593)
Bumps [ip](https://github.com/indutny/node-ip) from 1.1.8 to 1.1.9.
- [Commits](https://github.com/indutny/node-ip/compare/v1.1.8...v1.1.9)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-20 20:37:38 -08:00
Owncast
b1ee7f3754 Commit screenshots 2024-02-21 04:10:08 +00:00
Owncast
b09c7e4e5d Bundle embedded web app 2024-02-20 10:28:27 +00:00
renovate[bot]
3e6e2135f0 chore(deps): update dependency @types/react to v18.2.56 2024-02-20 07:45:01 +00:00
Owncast
71f3389b7c Commit screenshots 2024-02-20 04:11:52 +00:00
renovate[bot]
76515246d9 fix(deps): update module github.com/jellydator/ttlcache/v3 to v3.2.0 (#3591)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-19 16:34:08 -08:00
Owncast
69e6e5d2c9 Bundle embedded web app 2024-02-19 19:22:22 +00:00
renovate[bot]
7341983a61 chore(deps): update dependency sass to v1.71.0 (#3588)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-19 11:16:18 -08:00
Owncast
0bc8a7494e Bundle embedded web app 2024-02-19 18:46:56 +00:00
renovate[bot]
2cb6ad370a chore(deps): update dependency @types/node to v20.11.19 2024-02-19 18:41:42 +00:00
Gabe Kangas
d1f5872b5a chore(test): add followers fixture test data 2024-02-19 07:46:48 -08:00
Owncast
fd36b0f4b1 Bundle embedded web app 2024-02-19 13:30:18 +00:00
renovate[bot]
8f2d4dd295 chore(deps): lock file maintenance 2024-02-19 13:19:39 +00:00
Owncast
9f0abd1fb2 Commit screenshots 2024-02-19 04:10:53 +00:00
Owncast
ad8f249eb1 Bundle embedded web app 2024-02-19 03:20:48 +00:00
Gabe Kangas
7b783ac00e fix(admin): fix admin followers pagination. Closes #3510 2024-02-18 19:14:20 -08:00
Gabe Kangas
eb41bc0af3 chore(test): support followers fixture data for testing 2024-02-18 19:14:19 -08:00
Owncast
3b50e87015 Bundle embedded web app 2024-02-19 00:45:32 +00:00
Pratyay Roy
ff3c1a4587 fix: remove autoscroll to readwrite chat embed input field (#3582) 2024-02-18 16:39:24 -08:00
Gabe Kangas
797e464767 fix(webhooks): fix chat user parted webhook creation error. Closes #3524 2024-02-18 16:20:58 -08:00
Gabe Kangas
ebf64dd17d fix(chat): do not send chat join message
If a user is already connected to chat from elsewhere, do not send an
additional chat join message. Closes #3487
2024-02-18 15:49:50 -08:00
Owncast
19f257151e Bundle embedded web app 2024-02-18 20:04:13 +00:00
renovate[bot]
4cc7b997ee chore(deps): update storybook monorepo to v7.6.16 2024-02-18 16:18:54 +00:00
Owncast
43c224111f Bundle embedded web app 2024-02-18 16:17:24 +00:00
renovate[bot]
c8bcd38a38 chore(deps): update dependency @types/node to v20.11.18 2024-02-18 13:11:46 +00:00
Owncast
ba279b26e8 Commit screenshots 2024-02-18 04:10:18 +00:00
renovate[bot]
cbb839c0bf fix(deps): update module golang.org/x/net to v0.21.0 2024-02-17 07:37:48 +00:00
Owncast
da91786e0a Commit screenshots 2024-02-17 04:17:54 +00:00
renovate[bot]
2333c7539d fix(deps): update module golang.org/x/mod to v0.15.0 2024-02-17 01:23:53 +00:00
renovate[bot]
851805af6b fix(deps): update module github.com/yuin/goldmark to v1.7.0 2024-02-16 22:59:51 +00:00
Owncast
8253765df3 Bundle embedded web app 2024-02-16 19:12:54 +00:00
renovate[bot]
3c2c20d6bc chore(deps): update storybook monorepo to v7.6.15 2024-02-16 16:54:00 +00:00
Owncast
f12bbf86c5 Commit screenshots 2024-02-16 04:09:55 +00:00
Owncast
80af34d370 Bundle embedded web app 2024-02-15 15:38:42 +00:00
renovate[bot]
d61006cce0 chore(deps): update dependency @mdx-js/react to v3.0.1 2024-02-15 13:50:39 +00:00
Owncast
05130beb91 Commit screenshots 2024-02-15 04:10:36 +00:00
renovate[bot]
0251314a97 chore(deps): update peter-evans/create-or-update-comment digest to 16e4c42 2024-02-14 06:31:52 +00:00
Owncast
d3c2b7e1bb Commit screenshots 2024-02-14 04:12:23 +00:00
Owncast
6b2baaa6ad Bundle embedded web app 2024-02-14 01:36:30 +00:00
renovate[bot]
e7307fb90e chore(deps): update storybook monorepo to v7.6.14 2024-02-13 21:29:13 +00:00
Owncast
479e37ab27 Bundle embedded web app 2024-02-13 00:52:10 +00:00
renovate[bot]
cbde11be75 fix(deps): update dependency @codemirror/language-data to v6.4.1 2024-02-12 22:48:34 +00:00
Owncast
129e958b14 Commit screenshots 2024-02-12 04:29:57 +00:00
Owncast
6d3ce52348 Bundle embedded web app 2024-02-12 01:58:46 +00:00
renovate[bot]
37a76ea0b1 chore(deps): update dependency @types/node to v20.11.17 2024-02-11 21:50:28 +00:00
Owncast
c3371ded0b Bundle embedded web app 2024-02-11 11:06:33 +00:00
renovate[bot]
e208775805 chore(deps): update storybook monorepo to v7.6.13 2024-02-11 11:01:13 +00:00
Owncast
3c5bc1d89d Commit screenshots 2024-02-11 04:17:11 +00:00
Owncast
84682370da Bundle embedded web app 2024-02-09 16:29:26 +00:00
renovate[bot]
3e86736a04 chore(deps): update typescript-eslint monorepo to v6.21.0 2024-02-09 16:24:02 +00:00
Owncast
b2d6d0f9e4 Bundle embedded web app 2024-02-09 13:11:30 +00:00
renovate[bot]
803132e3ed chore(deps): update dependency @types/react to v18.2.55 2024-02-09 11:02:56 +00:00
Owncast
5c37f2c763 Commit screenshots 2024-02-09 04:10:24 +00:00
Owncast
513bd65d5c Bundle embedded web app 2024-02-08 22:20:41 +00:00
renovate[bot]
c752373472 chore(deps): update dependency @types/react to v18.2.54 2024-02-08 19:47:58 +00:00
Owncast
a7b63503cb Bundle embedded web app 2024-02-08 09:32:02 +00:00
renovate[bot]
31dd1eba5b chore(deps): update dependency @types/react to v18.2.53 2024-02-08 06:49:59 +00:00
Owncast
09ca6dbf73 Commit screenshots 2024-02-08 04:10:05 +00:00
Owncast
e6aca55145 Bundle embedded web app 2024-02-07 19:05:09 +00:00
renovate[bot]
f6767de266 chore(deps): update nextjs monorepo to v14.1.0 (#3439)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-07 10:57:31 -08:00
Owncast
b8a1d8b3f6 Bundle embedded web app 2024-02-07 18:35:33 +00:00
Gabe Kangas
b14a7c2f44 Try to fix new next+ant build errors 2024-02-07 10:30:18 -08:00
Owncast
4122929220 Bundle embedded web app 2024-02-07 13:24:10 +00:00
renovate[bot]
697ddc8931 chore(deps): update dependency prettier to v3.2.5 2024-02-07 10:04:27 +00:00
renovate[bot]
e40d1f75b8 chore(deps): update peter-evans/create-or-update-comment digest to 804884b 2024-02-07 06:59:41 +00:00
Owncast
202a545303 Bundle embedded web app 2024-02-07 04:12:49 +00:00
Owncast
af4734ddae Commit screenshots 2024-02-07 04:09:59 +00:00
renovate[bot]
8069ca782f chore(deps): update dependency @types/react to v18.2.52 (#3479)
* chore(deps): update dependency @types/react to v18.2.52

* fix(chat): missing placeholder prop in interface

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-02-06 20:07:31 -08:00
Owncast
3734884201 Bundle embedded web app 2024-02-06 04:07:12 +00:00
Varun Gujarathi
b694be1052 fix(admin): sanitize fediverse username (#3437)
* test: add config federation test

* fix: santize fediverse username

fixes #3424

* refactor: remove commented code

* refactor: change username const to usernameValue

* refactor: use shorthand property

* build: move stories page out of build directory

* fix: allow only alphanumeric chars in username

* fix: filter out special chars in username

Added a regex filter to strip non-alphanumeric chars in username field.

* chore: clean unused fields
2024-02-05 20:00:50 -08:00
Owncast
74e9509844 Bundle embedded web app 2024-02-05 16:48:51 +00:00
renovate[bot]
337e1f96d5 chore(deps): lock file maintenance 2024-02-05 16:42:53 +00:00
Owncast
0cb5c2711c Bundle embedded web app 2024-02-05 13:14:10 +00:00
renovate[bot]
d56d913630 chore(deps): update dependency mermaid to v10.8.0 2024-02-05 10:36:23 +00:00
Owncast
1a55eddc4d Bundle embedded web app 2024-02-05 04:15:50 +00:00
renovate[bot]
d098aa45d5 fix(deps): update dependency react-hotkeys-hook to v4.5.0 (#3539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-04 20:08:35 -08:00
Owncast
eb146d9506 Bundle embedded web app 2024-02-05 01:06:09 +00:00
renovate[bot]
289e8778dd chore(deps): update dependency @types/node to v20.11.16 2024-02-04 22:17:08 +00:00
Owncast
762115eaf1 Bundle embedded web app 2024-02-04 22:16:13 +00:00
renovate[bot]
49d8d1cdd1 chore(deps): update dependency @types/jest to v29.5.12 2024-02-04 19:09:51 +00:00
Owncast
7db0a4c226 Bundle embedded web app 2024-02-04 15:24:31 +00:00
renovate[bot]
e89e0519d6 chore(deps): update dependency @types/node to v20.11.15 2024-02-04 10:32:34 +00:00
Owncast
d55b8b9668 Bundle embedded web app 2024-02-03 21:11:13 +00:00
renovate[bot]
0632d07f58 chore(deps): update dependency @types/node to v20.11.14 2024-02-03 20:07:24 +00:00
Owncast
c4d800b3d2 Bundle embedded web app 2024-02-03 20:06:32 +00:00
renovate[bot]
5fef8928a2 chore(deps): update storybook monorepo to v7.6.12 2024-02-03 15:17:30 +00:00
Owncast
d50326d3d7 Bundle embedded web app 2024-02-03 10:33:01 +00:00
renovate[bot]
46bb17e886 chore(deps): update storybook monorepo to v7.6.11 2024-02-03 10:27:06 +00:00
Owncast
e2c5e87d36 Bundle embedded web app 2024-02-03 08:17:53 +00:00
renovate[bot]
87e4ca2a66 chore(deps): update dependency @types/node to v20.11.13 2024-02-03 03:36:21 +00:00
Owncast
789fdd3e2d Bundle embedded web app 2024-02-03 03:35:27 +00:00
renovate[bot]
b28caa3b4d chore(deps): update dependency css-loader to v6.10.0 2024-02-02 22:34:43 +00:00
Owncast
718e5c90df Bundle embedded web app 2024-02-02 22:32:41 +00:00
renovate[bot]
8c6fdc5dfb chore(deps): update dependency cypress to v13.6.4 2024-02-02 19:25:17 +00:00
Owncast
a2b57556d8 Commit screenshots 2024-02-02 04:11:49 +00:00
Owncast
f14e1e31cf Bundle embedded web app 2024-02-01 21:50:00 +00:00
renovate[bot]
f19936914b chore(deps): update typescript-eslint monorepo to v6.20.0 2024-02-01 19:41:27 +00:00
Owncast
f9b1582923 Commit screenshots 2024-02-01 04:10:53 +00:00
Owncast
5d91824a11 Bundle embedded web app 2024-02-01 01:04:38 +00:00
renovate[bot]
6171bf366a chore(deps): update dependency @types/node to v20.11.10 2024-01-31 22:02:32 +00:00
Owncast
c046b6a136 Bundle embedded web app 2024-01-31 16:14:21 +00:00
renovate[bot]
468527392a fix(deps): update dependency react-virtuoso to v4.6.3 2024-01-31 12:27:47 +00:00
Owncast
eec6fc8a39 Bundle embedded web app 2024-01-31 12:27:00 +00:00
renovate[bot]
4b3dea41d6 chore(deps): update dependency @types/node to v20.11.9 2024-01-31 11:09:19 +00:00
renovate[bot]
a918e96ec0 chore(deps): update peter-evans/create-or-update-comment digest to 3509deb 2024-01-31 08:04:13 +00:00
Owncast
9e529e6ae4 Commit screenshots 2024-01-31 04:25:13 +00:00
Owncast
f9138cf1a0 Bundle embedded web app 2024-01-30 18:14:51 +00:00
renovate[bot]
9209939755 chore(deps): update dependency @types/node to v20.11.8 2024-01-30 16:58:46 +00:00
Owncast
3ae6262135 Commit screenshots 2024-01-30 04:10:13 +00:00
Owncast
36d03fdbac Bundle embedded web app 2024-01-29 12:32:02 +00:00
renovate[bot]
17c7defec7 chore(deps): update dependency @types/node to v20.11.7 2024-01-29 06:03:30 +00:00
Owncast
4c2e7d17e6 Commit screenshots 2024-01-29 04:11:43 +00:00
Owncast
21e4b9d764 Bundle embedded web app 2024-01-28 20:44:24 +00:00
renovate[bot]
c41f549792 chore(deps): update dependency @babel/core to v7.23.9 2024-01-28 17:04:57 +00:00
Owncast
366de5527d Commit screenshots 2024-01-28 04:11:10 +00:00
Owncast
71c050ceb2 Bundle embedded web app 2024-01-28 02:27:28 +00:00
renovate[bot]
cfa9ff90a9 chore(deps): update dependency npm to v10.4.0 2024-01-27 22:38:41 +00:00
Owncast
8cda00e233 Bundle embedded web app 2024-01-27 12:11:59 +00:00
renovate[bot]
b766d3d05e chore(deps): update dependency @types/node to v20.11.6 2024-01-27 09:39:44 +00:00
renovate[bot]
8d5970c4aa chore(deps): update alpine docker tag to v3.19.1 2024-01-27 08:34:07 +00:00
Owncast
72b5ab9c17 Commit screenshots 2024-01-27 04:12:36 +00:00
Owncast
4caf1e6877 Bundle embedded web app 2024-01-26 18:33:20 +00:00
renovate[bot]
22edb6c5d2 fix(deps): update dependency @codemirror/lang-html to v6.4.8 2024-01-26 12:43:03 +00:00
Owncast
c681314aaf Commit screenshots 2024-01-26 04:11:05 +00:00
Owncast
ee08a95cdb Bundle embedded web app 2024-01-25 22:15:46 +00:00
renovate[bot]
d9dda6af68 chore(deps): update typescript-eslint monorepo to v6.19.1 2024-01-25 18:54:50 +00:00
Owncast
01548a4d37 Bundle embedded web app 2024-01-25 18:52:50 +00:00
renovate[bot]
d98ac8af24 chore(deps): update dependency ts-jest to v29.1.2 2024-01-25 17:09:09 +00:00
renovate[bot]
a8ac489165 chore(deps): update peter-evans/create-or-update-comment digest to 71345be 2024-01-25 14:18:25 +00:00
Owncast
2b277b95c2 Bundle embedded web app 2024-01-25 14:17:46 +00:00
renovate[bot]
9764917d47 fix(deps): update dependency @codemirror/language-data to v6.4.0 2024-01-25 09:07:42 +00:00
Owncast
047c4a3d82 Commit screenshots 2024-01-25 04:21:41 +00:00
Owncast
b8706be3ef Bundle embedded web app 2024-01-24 22:50:14 +00:00
renovate[bot]
91a835a45d fix(deps): update dependency video.js to v8.10.0 2024-01-24 18:30:26 +00:00
Aziz Rmadi
b532b1545c Modified rate limit conditions to exclude moderators (#3534) 2024-01-24 10:27:38 -08:00
renovate[bot]
8abddf5ced chore(deps): update peter-evans/create-or-update-comment digest to d41bfe3 2024-01-24 06:53:30 +00:00
Owncast
0526f71277 Commit screenshots 2024-01-24 04:20:21 +00:00
Owncast
01c2e11eca Bundle embedded web app 2024-01-23 04:39:28 +00:00
Aziz Rmadi
6c644330e7 Fixed page size stale state on LogTable component (#3516) 2024-01-22 20:31:23 -08:00
Gabe Kangas
841c300431 fix: share local hls file cleanup between s3 and filesystem providers. Fixes #3522 (#3531) 2024-01-22 20:26:36 -08:00
Owncast
8a90e86c5b Commit screenshots 2024-01-23 04:11:16 +00:00
Owncast
8e4079f649 Bundle embedded web app 2024-01-22 13:02:59 +00:00
renovate[bot]
6797fbffa3 chore(deps): lock file maintenance 2024-01-22 12:56:58 +00:00
Owncast
cd66581998 Bundle embedded web app 2024-01-22 04:31:31 +00:00
Gabe Kangas
2b57741397 fix: treat matrix links as regular web urls. Closes #3329 2024-01-21 20:25:05 -08:00
Owncast
f9915c9a72 Commit screenshots 2024-01-22 04:10:54 +00:00
Owncast
10ddd58426 Bundle embedded web app 2024-01-22 03:47:04 +00:00
renovate[bot]
03e35ddd12 chore(deps): update storybook monorepo to v7.6.10 2024-01-22 03:40:12 +00:00
Gabe Kangas
7399bee276 Gek/cache bot search page (#3530)
* feat: add general purpose key/val caching layer

* feat: cache bot/metadata response page for 10 seconds
2024-01-21 17:18:47 -08:00
Owncast
9b698336dc Bundle embedded web app 2024-01-21 23:32:02 +00:00
renovate[bot]
9edeb5df6e chore(deps): update dependency css-loader to v6.9.1 2024-01-21 18:56:36 +00:00
Owncast
44c177aa05 Bundle embedded web app 2024-01-21 10:27:46 +00:00
renovate[bot]
73c805a01b chore(deps): update dependency sass to v1.70.0 2024-01-21 07:21:25 +00:00
Gabe Kangas
1b14800c7d fix(api): protect emoji delete api from path traversal exploit 2024-01-20 20:30:29 -08:00
Owncast
225dc98736 Commit screenshots 2024-01-21 04:10:41 +00:00
Owncast
f1788c0ff5 Bundle embedded web app 2024-01-21 03:24:43 +00:00
renovate[bot]
3b184b0261 chore(deps): update storybook monorepo to v7.6.9 (#3527)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-20 19:18:30 -08:00
Gabe Kangas
c9f70ffa65 chore(tests): need to use more recent node version in browser test 2024-01-20 18:35:07 -08:00
Owncast
32a1ad3dcb Bundle embedded web app 2024-01-21 02:05:30 +00:00
renovate[bot]
2300e6b8b7 chore(deps): update dependency style-dictionary to v3.9.2 2024-01-21 01:58:40 +00:00
Owncast
7bcfe043fe Bundle embedded web app 2024-01-20 21:52:06 +00:00
renovate[bot]
52c4fc2682 fix(deps): update dependency autoprefixer to v10.4.17 2024-01-20 18:26:02 +00:00
Owncast
d05799406a Bundle embedded web app 2024-01-20 18:24:06 +00:00
renovate[bot]
4430cb533d chore(deps): update dependency @types/node to v20.11.5 (#3525)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-20 10:16:54 -08:00
Owncast
d64ee37980 Bundle embedded web app 2024-01-20 16:07:38 +00:00
renovate[bot]
c91c44f4fa chore(deps): update dependency prettier to v3.2.4 2024-01-20 12:31:45 +00:00
Owncast
9b374cf858 Bundle embedded web app 2024-01-20 07:15:15 +00:00
renovate[bot]
dbf3ad93f1 chore(deps): update dependency prettier to v3.2.3 (#3520)
* chore(deps): update dependency prettier to v3.2.3

* chore(js): fix updated prettier whitespace

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-01-19 23:08:07 -08:00
Owncast
66b04cf4dd Commit screenshots 2024-01-20 04:10:32 +00:00
Owncast
9b157102c5 Bundle embedded web app 2024-01-20 00:20:02 +00:00
renovate[bot]
2f20b94749 chore(deps): update dependency cypress to v13.6.3 2024-01-19 21:27:35 +00:00
Owncast
34f87dfa1c Bundle embedded web app 2024-01-19 18:38:52 +00:00
renovate[bot]
49c81c02b7 fix(deps): update dependency @codemirror/lang-markdown to v6.2.4 2024-01-19 16:28:49 +00:00
Owncast
8c50007ebe Bundle embedded web app 2024-01-19 16:27:40 +00:00
renovate[bot]
c247044627 chore(deps): update dependency @types/node to v20.11.4 2024-01-19 13:59:45 +00:00
Owncast
e49e6d9090 Commit screenshots 2024-01-19 04:10:39 +00:00
Owncast
dde92f6676 Bundle embedded web app 2024-01-19 01:50:16 +00:00
renovate[bot]
0e0c42e4a3 chore(deps): update dependency @types/node to v20.11.3 2024-01-18 21:40:02 +00:00
Owncast
42c1323a2f Bundle embedded web app 2024-01-18 21:39:20 +00:00
renovate[bot]
1caccf6ca0 chore(deps): update typescript-eslint monorepo to v6.19.0 2024-01-18 19:33:42 +00:00
Owncast
8884b58297 Bundle embedded web app 2024-01-18 19:32:20 +00:00
renovate[bot]
94f6f7ccb4 chore(deps): update dependency @types/node to v20.11.2 2024-01-18 14:57:30 +00:00
Owncast
3a8b64d371 Bundle embedded web app 2024-01-18 14:56:46 +00:00
renovate[bot]
95a12b2a12 chore(deps): update dependency mermaid to v10.7.0 2024-01-18 10:11:56 +00:00
Owncast
be8d799af2 Bundle embedded web app 2024-01-18 10:09:56 +00:00
renovate[bot]
852c2d56ce chore(deps): update dependency @types/node to v20.11.1 2024-01-18 07:44:01 +00:00
Owncast
0d3d058b69 Commit screenshots 2024-01-18 04:10:55 +00:00
renovate[bot]
b33f834fde chore(deps): update peter-evans/create-or-update-comment digest to b865fac 2024-01-17 07:16:00 +00:00
Owncast
5aa991ffd5 Commit screenshots 2024-01-17 04:10:36 +00:00
Owncast
01c95bf2a9 Commit screenshots 2024-01-16 04:12:17 +00:00
Owncast
686bfd26bb Bundle embedded web app 2024-01-15 21:54:31 +00:00
renovate[bot]
229f7759c3 fix(deps): update dependency sharp to v0.33.2 2024-01-15 21:48:31 +00:00
Owncast
c81e5b7c62 Bundle embedded web app 2024-01-15 20:25:02 +00:00
renovate[bot]
b5c1fa5600 fix(deps): update dependency react-hotkeys-hook to v4.4.4 2024-01-15 19:46:25 +00:00
Owncast
538af9a4e1 Bundle embedded web app 2024-01-15 19:45:16 +00:00
renovate[bot]
f38117a40f chore(deps): update storybook monorepo to v7.6.8 2024-01-15 15:36:58 +00:00
Owncast
147187e1a7 Commit screenshots 2024-01-15 04:19:57 +00:00
Owncast
73f06800a7 Bundle embedded web app 2024-01-14 09:26:45 +00:00
renovate[bot]
dd461e9b3e chore(deps): update dependency @types/node to v20.11.0 2024-01-14 08:00:09 +00:00
Owncast
d2dd2bc01d Commit screenshots 2024-01-14 04:10:56 +00:00
Owncast
127c02d24b Bundle embedded web app 2024-01-14 01:06:46 +00:00
renovate[bot]
ad19e9108c chore(deps): update dependency npm to v10.3.0 2024-01-13 21:44:38 +00:00
Owncast
aeb9181a4b Bundle embedded web app 2024-01-13 07:28:57 +00:00
renovate[bot]
f5e37bc1b2 chore(deps): update dependency eslint-plugin-prettier to v5.1.3 2024-01-13 04:22:17 +00:00
Owncast
7f0f22342b Commit screenshots 2024-01-13 04:11:00 +00:00
Owncast
81382f0b4c Bundle embedded web app 2024-01-13 01:29:07 +00:00
renovate[bot]
4348178273 chore(deps): update dependency css-loader to v6.9.0 2024-01-12 21:25:03 +00:00
Owncast
61b1f9a9aa Bundle embedded web app 2024-01-12 21:23:54 +00:00
renovate[bot]
592c462b38 chore(deps): update dependency style-loader to v3.3.4 2024-01-12 20:01:27 +00:00
Owncast
7b93c73f98 Bundle embedded web app 2024-01-12 20:00:32 +00:00
renovate[bot]
9e029bff38 chore(deps): update dependency @types/node to v20.10.8 2024-01-12 17:20:05 +00:00
Owncast
79fc04ae42 Commit screenshots 2024-01-12 04:13:58 +00:00
Owncast
37f5da66c5 Bundle embedded web app 2024-01-12 00:56:32 +00:00
renovate[bot]
bd7da99ff0 chore(deps): update typescript-eslint monorepo to v6.18.1 2024-01-11 23:34:29 +00:00
Owncast
71f35f138c Commit screenshots 2024-01-11 04:36:19 +00:00
dependabot[bot]
5dc3182367 Bump follow-redirects from 1.15.3 to 1.15.4 in /test/load (#3515)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-10 18:03:37 -08:00
Owncast
ee0625c5b5 Bundle embedded web app 2024-01-10 19:04:17 +00:00
renovate[bot]
f5b0557021 chore(deps): update dependency @types/node to v20.10.7 2024-01-10 17:23:22 +00:00
renovate[bot]
57ffce48a3 chore(deps): update peter-evans/create-or-update-comment digest to 2cbfe8b 2024-01-10 05:54:24 +00:00
Owncast
830ab1f0e7 Bundle embedded web app 2024-01-10 05:53:51 +00:00
Varun Gujarathi
139ec51dde fix: add eventType support for touch devices (#3508)
fixes Not selectable items in quality settings menu #3368
2024-01-09 21:45:57 -08:00
Owncast
d3a8ffb3b7 Commit screenshots 2024-01-10 04:10:45 +00:00
Owncast
e36b5e3f7e Bundle embedded web app 2024-01-09 19:52:26 +00:00
renovate[bot]
5334ab622a chore(deps): update typescript-eslint monorepo to v6.18.0 2024-01-09 15:32:23 +00:00
Owncast
b41d16e9d8 Commit screenshots 2024-01-09 04:20:34 +00:00
Owncast
a0741ad87e Bundle embedded web app 2024-01-08 12:51:02 +00:00
renovate[bot]
3e9ac4a49e chore(deps): lock file maintenance 2024-01-08 12:45:32 +00:00
Owncast
7e8fc2ee54 Commit screenshots 2024-01-08 04:10:43 +00:00
Owncast
4f2f170cdd Bundle embedded web app 2024-01-07 17:25:47 +00:00
renovate[bot]
1af8fafd8c fix(deps): update dependency react-hotkeys-hook to v4.4.3 2024-01-07 12:47:26 +00:00
Owncast
4cb5d54256 Commit screenshots 2024-01-07 04:10:23 +00:00
Owncast
8cef300b3e Bundle embedded web app 2024-01-06 22:12:34 +00:00
renovate[bot]
2225a04085 chore(deps): update dependency @storybook/addon-styling-webpack to ^0.0.6 2024-01-06 19:27:01 +00:00
Owncast
0751d957a7 Commit screenshots 2024-01-06 04:15:30 +00:00
Owncast
c741a92e1c Bundle embedded web app 2024-01-06 03:18:39 +00:00
renovate[bot]
efe5a9974d fix(deps): update dependency video.js to v8.9.0 2024-01-06 03:13:20 +00:00
Owncast
c1f47384c2 Bundle embedded web app 2024-01-06 00:33:12 +00:00
renovate[bot]
05527c8fec chore(deps): update dependency sass to v1.69.7 2024-01-05 22:25:02 +00:00
Owncast
fb337e8367 Bundle embedded web app 2024-01-04 21:21:48 +00:00
renovate[bot]
f424d50e90 chore(deps): update typescript-eslint monorepo to v6.17.0 2024-01-04 20:02:47 +00:00
Owncast
a092e6b221 Bundle embedded web app 2024-01-04 20:01:41 +00:00
renovate[bot]
716f756f7e chore(deps): update storybook monorepo to v7.6.7 2024-01-04 16:49:32 +00:00
Owncast
ec0e59e778 Commit screenshots 2024-01-04 04:14:20 +00:00
Aziz Rmadi
bc1f66c858 Refactored the GetIpddressFromRequest function to support ipv4 as well as ipv6 addresses (#3496) 2024-01-03 11:07:11 -08:00
renovate[bot]
468e32a2f0 chore(deps): update peter-evans/create-or-update-comment digest to 72c3238 2024-01-03 06:56:03 +00:00
Owncast
cc43114684 Commit screenshots 2024-01-03 04:20:28 +00:00
Owncast
f1e2128d67 Bundle embedded web app 2024-01-02 22:38:42 +00:00
renovate[bot]
bf92677818 fix(deps): update dependency video.js to v8.8.0 2024-01-02 19:39:06 +00:00
dependabot[bot]
2b696b640a Bump tj-actions/changed-files from 40 to 41 in /.github/workflows (#3506)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40 to 41.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v40...v41)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 11:37:54 -08:00
Owncast
78de2a01d2 Bundle embedded web app 2024-01-02 06:47:35 +00:00
renovate[bot]
5efbe6d02a chore(deps): update dependency @types/node to v20.10.6 2024-01-02 04:27:58 +00:00
Owncast
cd0efdf577 Commit screenshots 2024-01-02 04:11:27 +00:00
Owncast
f8738ce0a8 Bundle embedded web app 2024-01-02 01:29:27 +00:00
renovate[bot]
e94814eb21 chore(deps): update dependency @babel/core to v7.23.7 2024-01-01 22:44:47 +00:00
Owncast
d81bd0c377 Bundle embedded web app 2024-01-01 22:44:06 +00:00
renovate[bot]
93ef63ba17 fix(deps): update dependency classnames to v2.5.1 2024-01-01 18:12:12 +00:00
Owncast
be95e97b00 Bundle embedded web app 2024-01-01 18:10:58 +00:00
renovate[bot]
0079dcd44c chore(deps): update dependency sass to v1.69.6 2024-01-01 17:28:50 +00:00
Owncast
f59191fd48 Commit screenshots 2024-01-01 04:10:39 +00:00
Owncast
0d1785baa7 Bundle embedded web app 2023-12-31 12:56:36 +00:00
renovate[bot]
4cb68a4219 chore(deps): update dependency less-loader to v11.1.4 2023-12-31 12:51:10 +00:00
Owncast
00cec55fe7 Bundle embedded web app 2023-12-31 10:52:32 +00:00
renovate[bot]
d8382a2d36 fix(deps): update dependency classnames to v2.5.0 2023-12-31 10:45:04 +00:00
Owncast
cf9ff9d516 Commit screenshots 2023-12-31 04:10:36 +00:00
dependabot[bot]
9763a1a549 Bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#3502)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.16.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-30 08:45:46 -08:00
Owncast
4037bf21a6 Commit screenshots 2023-12-30 04:10:52 +00:00
Owncast
525f1f589f Bundle embedded web app 2023-12-30 03:51:21 +00:00
renovate[bot]
7b86dbd50a chore(deps): update dependency cypress to v13.6.2 2023-12-30 01:20:45 +00:00
Owncast
1928d62f52 Bundle embedded web app 2023-12-29 18:24:45 +00:00
renovate[bot]
72b640ae7f fix(deps): update dependency classnames to v2.4.0 2023-12-29 16:09:08 +00:00
Owncast
5fd2551ab9 Commit screenshots 2023-12-29 04:10:50 +00:00
Owncast
6e0dd8dc96 Bundle embedded web app 2023-12-29 01:54:03 +00:00
renovate[bot]
bd7a4a88c6 chore(deps): update dependency sass-loader to v13.3.3 2023-12-28 22:18:34 +00:00
Owncast
5eb47dd24e Bundle embedded web app 2023-12-28 22:17:52 +00:00
renovate[bot]
9a58d2547f fix(deps): update dependency classnames to v2.3.3 2023-12-28 22:11:42 +00:00
Owncast
7b3aaf09ef Bundle embedded web app 2023-12-28 19:58:33 +00:00
renovate[bot]
90c4545474 chore(deps): update typescript-eslint monorepo to v6.16.0 2023-12-28 17:32:05 +00:00
Owncast
ebcd8b7bad Commit screenshots 2023-12-28 04:11:41 +00:00
renovate[bot]
cb812b98c0 chore(deps): update peter-evans/create-or-update-comment digest to 0f44b01 2023-12-27 06:17:38 +00:00
Owncast
473e11d8f7 Commit screenshots 2023-12-27 04:20:16 +00:00
Owncast
8c157e7b13 Commit screenshots 2023-12-26 04:27:40 +00:00
Owncast
1b9598e4d6 Bundle embedded web app 2023-12-25 13:29:37 +00:00
renovate[bot]
ed10125c70 chore(deps): lock file maintenance 2023-12-25 13:22:57 +00:00
Owncast
f8152e70c3 Commit screenshots 2023-12-25 04:10:37 +00:00
Owncast
21d9642e2a Bundle embedded web app 2023-12-24 22:30:53 +00:00
renovate[bot]
dd59a11e23 chore(deps): update dependency eslint-plugin-prettier to v5.1.1 2023-12-24 19:39:27 +00:00
Owncast
e1fe7f0ea5 Commit screenshots 2023-12-24 04:10:40 +00:00
Owncast
f9535dd07c Bundle embedded web app 2023-12-23 09:38:34 +00:00
renovate[bot]
7291466871 chore(deps): update dependency eslint-plugin-prettier to v5.1.0 2023-12-23 09:33:10 +00:00
Owncast
051fff4a62 Commit screenshots 2023-12-23 04:11:04 +00:00
Owncast
92a267a56d Bundle embedded web app 2023-12-22 21:44:19 +00:00
renovate[bot]
afa5174abd chore(deps): update dependency html-webpack-plugin to v5.6.0 2023-12-22 18:22:46 +00:00
Owncast
0b703e748b Bundle embedded web app 2023-12-22 18:21:39 +00:00
renovate[bot]
9d6c7752a0 chore(deps): update storybook monorepo to v7.6.6 2023-12-22 17:05:43 +00:00
Owncast
ccbf6664d9 Commit screenshots 2023-12-22 04:30:43 +00:00
Owncast
c336752ee5 Bundle embedded web app 2023-12-21 21:12:17 +00:00
renovate[bot]
953915e500 chore(deps): update typescript-eslint monorepo to v6.15.0 2023-12-21 18:06:38 +00:00
Owncast
150bbb571d Commit screenshots 2023-12-21 04:20:19 +00:00
renovate[bot]
68a09f41e0 fix(deps): update module golang.org/x/time to v0.5.0 2023-12-21 02:59:00 +00:00
Owncast
00f1901d7a Bundle embedded web app 2023-12-21 02:56:29 +00:00
renovate[bot]
116260280c fix(deps): update dependency sharp to v0.33.1 2023-12-21 01:54:18 +00:00
Owncast
5e0fe58fae Bundle embedded web app 2023-12-21 01:53:03 +00:00
renovate[bot]
491ad01e4c chore(deps): update dependency @types/node to v20.10.5 2023-12-20 22:50:56 +00:00
renovate[bot]
2f5a372138 fix(deps): update module golang.org/x/net to v0.19.0 2023-12-20 19:37:19 +00:00
renovate[bot]
8f03437a05 fix(deps): update module github.com/aws/aws-sdk-go to v1.49.6 2023-12-20 18:39:04 +00:00
renovate[bot]
186d6a83b8 chore(deps): update peter-evans/create-or-update-comment digest to 76318d6 2023-12-20 16:03:52 +00:00
renovate[bot]
3098890187 chore(deps): update github/codeql-action action to v3 (#3492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-20 08:02:56 -08:00
renovate[bot]
59fec3c47e chore(deps): update docker.io/ubuntu docker tag to v24 (#3493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-20 08:01:40 -08:00
renovate[bot]
6f52bec22f fix(deps): update module github.com/shirou/gopsutil/v3 to v3.23.11 2023-12-20 11:18:57 +00:00
renovate[bot]
2c7dd3a59b fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.19 2023-12-20 06:07:08 +00:00
renovate[bot]
6486bd2039 fix(deps): update module github.com/gorilla/websocket to v1.5.1 2023-12-20 04:55:33 +00:00
Owncast
5c0d82f713 Commit screenshots 2023-12-20 04:35:20 +00:00
Gabe Kangas
bb7de347c5 chore: reverting the current implementation of http response caching 2023-12-19 18:27:42 -08:00
renovate[bot]
df7eb5e38d chore(deps): update actions/setup-go action to v5 (#3489)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-19 17:51:40 -08:00
Gabe Kangas
9215d9ba0f fix(auth): limit admin cors access to only localhost:3000 2023-12-18 22:05:49 -08:00
Owncast
2c8e11db8a Bundle embedded web app 2023-12-19 05:48:54 +00:00
renovate[bot]
e666d92749 chore(deps): update dependency eslint to v8.56.0 (#3486)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 21:41:01 -08:00
Gabe Kangas
5bb8a8b5aa fix: address potential crash that can happen with queued object storage uploads. Fixes #3440 2023-12-18 21:12:50 -08:00
Owncast
5d78574083 Commit screenshots 2023-12-19 04:20:25 +00:00
Owncast
9ae90dc899 Bundle embedded web app 2023-12-19 04:16:27 +00:00
renovate[bot]
d7aa9cea17 chore(deps): lock file maintenance 2023-12-19 04:08:33 +00:00
dependabot[bot]
ff3949278d Bump golang.org/x/crypto from 0.15.0 to 0.17.0 (#3485)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.15.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.15.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 17:33:32 -08:00
Owncast
4e252015bc Bundle embedded web app 2023-12-18 22:32:16 +00:00
renovate[bot]
693b6a16ee fix(deps): update dependency react-error-boundary to v4.0.12 2023-12-18 20:15:51 +00:00
Owncast
9e5f310ff2 Bundle embedded web app 2023-12-18 20:14:53 +00:00
renovate[bot]
4e9946ce3b chore(deps): update storybook monorepo to v7.6.5 2023-12-18 16:53:58 +00:00
Owncast
fdecfb10af Commit screenshots 2023-12-18 04:11:06 +00:00
Owncast
9d68090667 Bundle embedded web app 2023-12-17 21:51:11 +00:00
renovate[bot]
273af311fc chore(deps): update dependency eslint-plugin-import to v2.29.1 2023-12-17 19:02:21 +00:00
Owncast
1e3a2c1abb Commit screenshots 2023-12-17 04:10:39 +00:00
Owncast
c04f9ed419 Commit screenshots 2023-12-16 04:10:13 +00:00
Owncast
9b62ed6b51 Bundle embedded web app 2023-12-15 09:51:49 +00:00
renovate[bot]
9288418622 chore(deps): update typescript-eslint monorepo to v6.14.0 2023-12-15 09:45:58 +00:00
Owncast
bbd5140387 Commit screenshots 2023-12-15 04:10:53 +00:00
Owncast
a7adb99973 Bundle embedded web app 2023-12-14 23:19:27 +00:00
renovate[bot]
f59b3e6d31 chore(deps): update dependency @babel/core to v7.23.6 2023-12-14 19:50:10 +00:00
Owncast
b3aee6ae88 Commit screenshots 2023-12-14 04:10:47 +00:00
Owncast
920c8af253 Bundle embedded web app 2023-12-13 15:52:36 +00:00
renovate[bot]
03ba0d395e chore(deps): update dependency prettier to v3.1.1 2023-12-13 15:46:30 +00:00
Owncast
d40ae868c6 Bundle embedded web app 2023-12-13 13:10:34 +00:00
renovate[bot]
650a1061e1 chore(deps): update dependency style-dictionary to v3.9.1 2023-12-13 13:03:08 +00:00
renovate[bot]
f36c3b65f2 chore(deps): update peter-evans/create-or-update-comment digest to 83d7ae3 2023-12-13 07:52:23 +00:00
Owncast
c91d2e10d9 Commit screenshots 2023-12-13 04:10:18 +00:00
Gabe Kangas
e235c7aea2 chore: remove reponse cache from root route 2023-12-11 20:19:50 -08:00
Owncast
a3a4cbaf0f Bundle embedded web app 2023-12-11 15:33:37 +00:00
renovate[bot]
765ed4c5a8 chore(deps): lock file maintenance (#3478)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 07:27:49 -08:00
Owncast
1988b82e6e Bundle embedded web app 2023-12-11 06:07:29 +00:00
renovate[bot]
70e31aff01 chore(deps): update dependency @types/node to v20.10.4 2023-12-11 06:02:04 +00:00
Owncast
d4fd72ce2c Commit screenshots 2023-12-11 04:10:38 +00:00
Gabe Kangas
0827af6cc8 fix: split out the botscraper response cache from the web app 2023-12-10 18:14:26 -08:00
Gabe Kangas
c8985093fb fix(video): fix hls in-memory cache being recreated on every request 2023-12-10 12:28:35 -08:00
Owncast
42249fbc58 Bundle embedded web app 2023-12-10 19:50:43 +00:00
renovate[bot]
33eb894687 chore(deps): update storybook monorepo to v7.6.4 2023-12-10 16:43:07 +00:00
Owncast
116cfcdd4b Commit screenshots 2023-12-10 04:10:21 +00:00
Owncast
4bd35c6f7f Bundle embedded web app 2023-12-10 03:39:22 +00:00
renovate[bot]
2437e01f12 fix(deps): update dependency @fontsource/inter to v5.0.16 2023-12-10 00:32:48 +00:00
Gabe Kangas
2217f0614a feat(api): add server-side caching for requests that could benefit (#3463)
* feat(api): add server-side caching for requests that could benefit for them

* fix(tests): do not cache responses while in tests

* fix: remove commented out leftover code

* chore(deps): update dependency html-webpack-plugin to v5.5.4

* Bundle embedded web app

* fix: remove caching for web app assets under test

* chore(tests): re-enable temporarily disabled test

* chore(deps): update dependency typescript to v5.3.3

* Bundle embedded web app

* chore(deps): update dependency npm to v10.2.5

* Bundle embedded web app

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2023-12-09 16:31:50 -08:00
Owncast
b6efe49086 Bundle embedded web app 2023-12-10 00:14:24 +00:00
renovate[bot]
d4ee6eaeca chore(deps): update dependency npm to v10.2.5 2023-12-09 23:52:10 +00:00
Owncast
d55aeeddcc Bundle embedded web app 2023-12-09 23:51:38 +00:00
renovate[bot]
c97a85af1d chore(deps): update dependency typescript to v5.3.3 2023-12-09 21:12:41 +00:00
Owncast
46979a564c Bundle embedded web app 2023-12-09 21:12:01 +00:00
renovate[bot]
2758e53495 chore(deps): update dependency html-webpack-plugin to v5.5.4 2023-12-09 18:25:30 +00:00
Owncast
a006eb0a60 Bundle embedded web app 2023-12-09 06:44:16 +00:00
renovate[bot]
63ce053ffb chore(deps): update dependency @types/jest to v29.5.11 2023-12-09 04:35:13 +00:00
Owncast
b11fc8deb1 Commit screenshots 2023-12-09 04:10:09 +00:00
Owncast
8fd2c5b3c8 Bundle embedded web app 2023-12-08 21:03:10 +00:00
renovate[bot]
37ee16c51b chore(deps): update dependency cypress to v13.6.1 2023-12-08 20:12:43 +00:00
renovate[bot]
c439bded27 chore(deps): update alpine docker tag to v3.19.0 2023-12-08 07:38:32 +00:00
Owncast
3a8d7a610c Bundle embedded web app 2023-12-08 07:37:43 +00:00
renovate[bot]
fbb04ec354 fix(deps): update dependency chart.js to v4.4.1 2023-12-08 04:19:02 +00:00
Owncast
237d212c62 Commit screenshots 2023-12-08 04:10:26 +00:00
Owncast
e3c4f7b21f Bundle embedded web app 2023-12-08 01:42:24 +00:00
renovate[bot]
5360ee6012 chore(deps): update dependency @types/react to v18.2.42 2023-12-07 21:57:40 +00:00
Owncast
0a6000c84d Bundle embedded web app 2023-12-07 21:56:57 +00:00
renovate[bot]
aa8b6f5c7f chore(deps): update typescript-eslint monorepo to v6.13.2 2023-12-07 18:07:15 +00:00
Owncast
ac49168d44 Commit screenshots 2023-12-07 04:10:42 +00:00
Owncast
6b48a37066 Bundle embedded web app 2023-12-06 23:22:02 +00:00
renovate[bot]
486752d75e chore(deps): update dependency @types/node to v20.10.3 2023-12-06 18:14:05 +00:00
renovate[bot]
dd51656e6d chore(deps): update peter-evans/create-or-update-comment digest to f9285f9 2023-12-06 07:01:04 +00:00
Owncast
71385f71bb Commit screenshots 2023-12-06 04:20:54 +00:00
Owncast
53f12158c6 Bundle embedded web app 2023-12-06 00:04:07 +00:00
jhimanish
1f7ffdea27 Updating twitter logo to X using logo from Twitter's website (#3468)
* Updating twitter logo to X using logo from Twitter's website

* Removing change from static/web twitter logo as this is auto generated code
2023-12-05 15:58:47 -08:00
Owncast
e1452aa8b4 Bundle embedded web app 2023-12-05 21:48:42 +00:00
renovate[bot]
37811994c1 chore(deps): update dependency @types/react to v18.2.41 2023-12-05 19:10:43 +00:00
Gabe Kangas
a56f0f2ed6 Create README.md for /static/web
To let people know they're in the wrong place if they're looking to make web changes.
2023-12-05 09:39:16 -08:00
Owncast
108527532b Bundle embedded web app 2023-12-05 14:08:29 +00:00
renovate[bot]
b14e9c5c02 chore(deps): update dependency eslint-config-prettier to v9.1.0 2023-12-05 11:42:46 +00:00
Owncast
9959704e17 Bundle embedded web app 2023-12-05 11:41:52 +00:00
renovate[bot]
eeb2b83373 chore(deps): update dependency eslint to v8.55.0 2023-12-05 07:01:02 +00:00
Owncast
ab1f0a8d75 Commit screenshots 2023-12-05 04:10:42 +00:00
Owncast
c2d26e3c88 Bundle embedded web app 2023-12-05 03:49:25 +00:00
renovate[bot]
0dab0b4f55 chore(deps): update dependency @types/react to v18.2.40 2023-12-05 02:37:19 +00:00
dependabot[bot]
bccc67e4b6 Bump postcss and artillery in /test/load (#3467)
Bumps [postcss](https://github.com/postcss/postcss) to 8.4.32 and updates ancestor dependency [artillery](https://github.com/artilleryio/artillery). These dependencies need to be updated together.


Updates `postcss` from 7.0.39 to 8.4.32
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/7.0.39...8.4.32)

Updates `artillery` from 2.0.0-36-f351294 to 2.0.2
- [Release notes](https://github.com/artilleryio/artillery/releases)
- [Commits](https://github.com/artilleryio/artillery/commits/artillery-2.0.2)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: indirect
- dependency-name: artillery
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 18:36:43 -08:00
Owncast
684f7828ed Bundle embedded web app 2023-12-05 02:16:06 +00:00
renovate[bot]
5e7c5e263f chore(deps): update dependency @types/node to v20.10.2 2023-12-04 23:02:00 +00:00
Owncast
1565c1deb2 Bundle embedded web app 2023-12-04 15:40:34 +00:00
renovate[bot]
f3d9fe215c chore(deps): update storybook monorepo to v7.6.3 2023-12-04 13:55:48 +00:00
Owncast
f4bd33dde7 Bundle embedded web app 2023-12-04 13:54:51 +00:00
renovate[bot]
b41e3620d1 chore(deps): lock file maintenance 2023-12-04 13:48:47 +00:00
Owncast
90a56cc61d Commit screenshots 2023-12-04 04:11:10 +00:00
Owncast
6889919db3 Bundle embedded web app 2023-12-03 21:41:59 +00:00
renovate[bot]
38104d5aaf chore(deps): update storybook monorepo to v7.6.2 2023-12-03 18:38:58 +00:00
Owncast
f6837fcce7 Commit screenshots 2023-12-03 04:10:09 +00:00
Owncast
9c12ad53e2 Bundle embedded web app 2023-12-03 02:09:38 +00:00
renovate[bot]
a98d057ac2 chore(deps): update storybook monorepo to v7.6.1 2023-12-03 02:04:35 +00:00
Owncast
5ec8ab22d6 Bundle embedded web app 2023-12-02 22:36:14 +00:00
renovate[bot]
7714b79a9f chore(deps): update dependency @types/node to v20.10.1 2023-12-02 20:02:56 +00:00
Owncast
dbae8c5f37 Bundle embedded web app 2023-12-02 17:06:50 +00:00
renovate[bot]
e41c2306ab fix(deps): update dependency sharp to v0.33.0 2023-12-02 13:31:07 +00:00
Owncast
896db68278 Bundle embedded web app 2023-12-02 13:30:11 +00:00
renovate[bot]
946a3bbc35 chore(deps): update dependency @babel/core to v7.23.5 2023-12-02 10:48:15 +00:00
renovate[bot]
b24d160685 fix(deps): update module mvdan.cc/xurls to v2 (#3420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-01 20:48:15 -08:00
Owncast
40fd2bfd7a Commit screenshots 2023-12-02 04:10:17 +00:00
Owncast
3a779e9db8 Bundle embedded web app 2023-12-01 16:27:17 +00:00
renovate[bot]
3480c9fb92 chore(deps): update storybook monorepo to v7.6.0 2023-12-01 12:21:02 +00:00
Owncast
ee923c77ce Bundle embedded web app 2023-12-01 12:19:53 +00:00
renovate[bot]
6b2a308ed3 chore(deps): update typescript-eslint monorepo to v6.13.1 2023-12-01 10:44:38 +00:00
Owncast
5f7f75c229 Commit screenshots 2023-12-01 04:11:14 +00:00
renovate[bot]
42778e0e3c chore(deps): update alpine docker tag to v3.18.5 2023-12-01 03:02:10 +00:00
Owncast
26c62600df Bundle embedded web app 2023-12-01 03:01:48 +00:00
Annie Pauline
5eb043dfad Admin horizontal scroll on narrower screens (#3406)
* admin horizontal scoll

* fixed lint errors

* Update web/public/styles/admin/config-public-details.css

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-11-30 18:53:22 -08:00
Owncast
214de6db11 Bundle embedded web app 2023-12-01 02:00:32 +00:00
renovate[bot]
54764857b1 chore(deps): update typescript-eslint monorepo to v6.13.0 2023-11-30 22:29:30 +00:00
Owncast
956ed9e921 Bundle embedded web app 2023-11-30 22:28:35 +00:00
renovate[bot]
c3b3dface3 chore(deps): update dependency @types/react to v18.2.39 2023-11-30 20:13:35 +00:00
Owncast
df2cb90c13 Bundle embedded web app 2023-11-30 16:38:00 +00:00
renovate[bot]
5e3ed74025 fix(deps): update dependency @codemirror/lang-markdown to v6.2.3 2023-11-30 13:37:27 +00:00
Owncast
70255a0b8c Bundle embedded web app 2023-11-30 06:49:54 +00:00
Gabe Kangas
27c48c4068 chore(deps): update to next config to address build errors 2023-11-29 20:31:54 -08:00
Gabe Kangas
6d217b4f5a fix(web): do not set nextjs rewrites on prod builds 2023-11-29 20:29:26 -08:00
Gabe Kangas
b145f3da9a chore(deps): additional things to ignore in unused code check 2023-11-29 20:29:26 -08:00
Owncast
804ef4caf5 Commit screenshots 2023-11-30 04:12:42 +00:00
Owncast
32f30ecfc7 Bundle embedded web app 2023-11-29 18:53:41 +00:00
renovate[bot]
c7f8bd8f54 fix(deps): update dependency @uiw/react-codemirror to v4.21.21 2023-11-29 17:54:57 +00:00
Owncast
4c1e42a33c Bundle embedded web app 2023-11-29 17:54:03 +00:00
renovate[bot]
8ecbe79284 fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.21 2023-11-29 12:19:35 +00:00
renovate[bot]
f707f07aae chore(deps): update peter-evans/create-or-update-comment digest to 89116ac 2023-11-29 06:08:19 +00:00
Owncast
11eaaf4310 Commit screenshots 2023-11-29 04:20:28 +00:00
Owncast
8294cd5a44 Commit screenshots 2023-11-28 04:10:37 +00:00
Owncast
509774e5ae Bundle embedded web app 2023-11-27 15:21:13 +00:00
renovate[bot]
689905471f chore(deps): lock file maintenance 2023-11-27 15:15:55 +00:00
Owncast
418da09dae Bundle embedded web app 2023-11-27 13:55:36 +00:00
renovate[bot]
a6f408b6f9 chore(deps): update dependency @types/node to v20.10.0 2023-11-27 11:41:48 +00:00
Owncast
472d3f8e35 Commit screenshots 2023-11-27 04:10:41 +00:00
Owncast
10120123e8 Bundle embedded web app 2023-11-27 03:56:48 +00:00
renovate[bot]
200ca747ad chore(deps): update dependency @types/node to v20.9.5 2023-11-27 02:24:08 +00:00
Owncast
06326a7e64 Bundle embedded web app 2023-11-27 02:23:33 +00:00
renovate[bot]
ea6bf24029 chore(deps): update dependency knip to v2.43.0 2023-11-26 21:16:50 +00:00
Owncast
5a949bd89e Bundle embedded web app 2023-11-26 12:30:34 +00:00
renovate[bot]
6cba556926 chore(deps): update dependency knip to v2.42.0 2023-11-26 10:59:20 +00:00
Owncast
a49b758746 Commit screenshots 2023-11-26 04:40:16 +00:00
Owncast
3442857422 Bundle embedded web app 2023-11-25 18:57:14 +00:00
renovate[bot]
8d439909b5 chore(deps): update dependency knip to v2.41.6 2023-11-25 18:52:19 +00:00
Owncast
c146555979 Bundle embedded web app 2023-11-25 15:31:39 +00:00
renovate[bot]
5e1f03b5cf chore(deps): update dependency cypress to v13.6.0 2023-11-25 12:53:02 +00:00
Owncast
8a160342b6 Bundle embedded web app 2023-11-25 12:51:44 +00:00
renovate[bot]
be0a62f898 fix(deps): update dependency antd to v4.24.15 2023-11-25 09:39:25 +00:00
Owncast
66c5f38e41 Bundle embedded web app 2023-11-25 09:38:31 +00:00
renovate[bot]
256d6c7928 chore(deps): update dependency @types/node to v20.9.4 2023-11-25 07:33:51 +00:00
Owncast
78055ef9df Bundle embedded web app 2023-11-25 07:33:15 +00:00
renovate[bot]
04b985d33c chore(deps): update dependency @types/jest to v29.5.10 2023-11-25 04:39:09 +00:00
Owncast
14e9ca2a56 Commit screenshots 2023-11-25 04:17:42 +00:00
Owncast
a1b3f47863 Bundle embedded web app 2023-11-25 01:30:04 +00:00
renovate[bot]
e9e10d059e chore(deps): update dependency typescript to v5.3.2 (#3435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-24 17:24:31 -08:00
Owncast
cba878f70d Bundle embedded web app 2023-11-25 00:57:31 +00:00
renovate[bot]
6115baad9d chore(deps): update dependency @types/sanitize-html to v2.9.5 2023-11-24 22:13:10 +00:00
Owncast
2164ad39db Bundle embedded web app 2023-11-24 22:12:34 +00:00
renovate[bot]
5633581711 chore(deps): update dependency @types/react to v18.2.38 2023-11-24 19:12:37 +00:00
Owncast
df8019af5f Bundle embedded web app 2023-11-24 19:12:03 +00:00
renovate[bot]
b3690ef970 chore(deps): update dependency @types/markdown-it to v13.0.7 (#3436)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-24 11:05:13 -08:00
Owncast
e758cf82e0 Bundle embedded web app 2023-11-24 16:57:46 +00:00
renovate[bot]
2b86f5b733 chore(deps): update dependency @types/prop-types to v15.7.11 2023-11-24 14:14:09 +00:00
Owncast
a3ac75f116 Bundle embedded web app 2023-11-24 14:13:16 +00:00
renovate[bot]
a7207e3d2c chore(deps): update dependency @types/node to v20.9.3 2023-11-24 09:43:21 +00:00
Owncast
5c4bbd7ef5 Bundle embedded web app 2023-11-24 09:42:28 +00:00
renovate[bot]
53ba75d7e9 chore(deps): update dependency @types/jest to v29.5.9 2023-11-24 06:25:38 +00:00
Owncast
707472792b Bundle embedded web app 2023-11-24 06:25:00 +00:00
renovate[bot]
89091fcefa fix(deps): update nextjs monorepo to v14 (major) (#3404)
* fix(deps): update nextjs monorepo to v14

* chore: update build scripts to support next 14. Closes #3413

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-11-23 22:07:21 -08:00
Owncast
a809a56e0c Commit screenshots 2023-11-24 04:15:25 +00:00
Owncast
0815ab3e9f Bundle embedded web app 2023-11-24 03:38:47 +00:00
renovate[bot]
11d48cbaa1 chore(deps): update dependency @types/chart.js to v2.9.41 2023-11-24 00:26:22 +00:00
Owncast
b3ce115bec Bundle embedded web app 2023-11-23 22:32:38 +00:00
renovate[bot]
5061598795 chore(deps): update typescript-eslint monorepo to v6.12.0 2023-11-23 18:27:01 +00:00
Owncast
9a9b081a25 Bundle embedded web app 2023-11-23 18:26:07 +00:00
renovate[bot]
c1fbf09333 chore(deps): update dependency knip to v2.41.5 2023-11-23 15:36:46 +00:00
Owncast
922ecf55a7 Commit screenshots 2023-11-23 04:20:34 +00:00
renovate[bot]
bd91ee5a97 chore(deps): update peter-evans/create-or-update-comment digest to 0917427 2023-11-22 07:52:30 +00:00
Owncast
3e4fdfa25a Commit screenshots 2023-11-22 04:10:52 +00:00
Owncast
8686eed98b Bundle embedded web app 2023-11-22 01:26:03 +00:00
renovate[bot]
30062b4e55 chore(deps): update dependency @types/node to v20.9.2 2023-11-21 22:23:30 +00:00
Owncast
c5dc1212c3 Commit screenshots 2023-11-21 04:14:25 +00:00
Gabe Kangas
b4c73315fa feat(log): point to passthrough as a potential issue when unable to generate thumbnails
Re: #3433 and #3431
2023-11-20 18:04:01 -08:00
Gabe Kangas
dfe5dd494e chore: bump version number 2023-11-20 18:04:00 -08:00
Owncast
b3bb5b9b4a Bundle embedded web app 2023-11-21 00:13:47 +00:00
renovate[bot]
f987cb996c chore(deps): update dependency eslint to v8.54.0 2023-11-20 21:46:56 +00:00
Owncast
1575a147f5 Bundle embedded web app 2023-11-20 20:35:08 +00:00
renovate[bot]
d79fcf1f36 chore(deps): update dependency chromatic to v9.1.0 2023-11-20 16:03:05 +00:00
Owncast
c960ceb3c6 Bundle embedded web app 2023-11-20 09:38:21 +00:00
renovate[bot]
273795590e chore(deps): lock file maintenance 2023-11-20 09:32:10 +00:00
Owncast
50bf241531 Commit screenshots 2023-11-20 04:10:47 +00:00
Owncast
db3ec9c123 Bundle embedded web app 2023-11-20 03:55:55 +00:00
renovate[bot]
0d05a2784a chore(deps): update dependency knip to v2.41.3 2023-11-20 02:26:44 +00:00
Owncast
c8616c5a68 Bundle embedded web app 2023-11-20 02:26:10 +00:00
renovate[bot]
d163a6078b chore(deps): update dependency @types/node to v20.9.1 2023-11-19 22:25:01 +00:00
Owncast
cfd41090a9 Commit screenshots 2023-11-19 04:15:28 +00:00
Owncast
b9be7591ce Bundle embedded web app 2023-11-19 00:12:09 +00:00
renovate[bot]
e97d524293 chore(deps): update dependency npm to v10.2.4 2023-11-18 21:53:20 +00:00
Owncast
b2c0ab4662 Commit screenshots 2023-11-18 04:20:27 +00:00
Owncast
161fbc9679 Bundle embedded web app 2023-11-18 01:05:42 +00:00
renovate[bot]
56154aadd1 chore(deps): update dependency cypress to v13.5.1 2023-11-17 22:49:39 +00:00
Owncast
b0ecf23d49 Commit screenshots 2023-11-17 04:10:40 +00:00
Owncast
11899276ea Bundle embedded web app 2023-11-16 22:58:25 +00:00
renovate[bot]
e9caf68cc4 chore(deps): update typescript-eslint monorepo to v6.11.0 (#3430)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 14:52:43 -08:00
Owncast
e1113686ba Bundle embedded web app 2023-11-16 19:50:02 +00:00
renovate[bot]
783c58b27a fix(deps): update dependency react-markdown to v9.0.1 2023-11-16 17:04:39 +00:00
Owncast
6bb92c01a4 Bundle embedded web app 2023-11-16 17:04:02 +00:00
renovate[bot]
0125a592bd chore(deps): update dependency knip to v2.41.2 2023-11-16 13:38:34 +00:00
Owncast
44022ec2d7 Bundle embedded web app 2023-11-16 06:26:40 +00:00
renovate[bot]
cdcfea5e7c chore(deps): update dependency prettier to v3.1.0 2023-11-16 05:05:07 +00:00
Owncast
151092eac1 Commit screenshots 2023-11-16 04:10:25 +00:00
renovate[bot]
80fd65f8f7 chore(deps): update peter-evans/create-or-update-comment digest to b2c2ea4 2023-11-15 07:26:49 +00:00
Owncast
5fde958a5e Commit screenshots 2023-11-15 04:14:46 +00:00
Owncast
cae179ab4f Commit screenshots 2023-11-14 04:10:25 +00:00
Owncast
7cd061bf7f Bundle embedded web app 2023-11-13 20:53:41 +00:00
renovate[bot]
3d6c92a92c chore(deps): update dependency chromatic to v9 (#3425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 12:47:27 -08:00
Owncast
f6fcc40e17 Bundle embedded web app 2023-11-13 16:49:18 +00:00
renovate[bot]
6fbed1ac75 chore(deps): lock file maintenance 2023-11-13 16:43:49 +00:00
Owncast
6c9222b49e Commit screenshots 2023-11-13 04:11:41 +00:00
Owncast
3ba04789be Bundle embedded web app 2023-11-13 01:04:21 +00:00
renovate[bot]
a2425d236c chore(deps): update dependency knip to v2.40.2 2023-11-12 22:49:34 +00:00
renovate[bot]
316b9fff96 fix(deps): update module golang.org/x/time to v0.4.0 2023-11-12 18:52:25 +00:00
Owncast
bd65b10367 Bundle embedded web app 2023-11-12 18:51:37 +00:00
Gabe Kangas
34a474b30d feat(chat): have unique icons for join and part messages. Closes #3421 2023-11-12 10:42:55 -08:00
renovate[bot]
c17a762067 fix(deps): update module golang.org/x/net to v0.18.0 2023-11-12 13:46:42 +00:00
Owncast
02367fe5e6 Bundle embedded web app 2023-11-12 13:45:58 +00:00
renovate[bot]
e4ab5ce91c chore(deps): update dependency knip to v2.40.1 2023-11-12 10:32:50 +00:00
Owncast
ce796ee4e8 Bundle embedded web app 2023-11-12 10:32:16 +00:00
renovate[bot]
d8ebe3ab60 chore(deps): update dependency @babel/core to v7.23.3 2023-11-12 07:48:19 +00:00
Owncast
8c85ab08f2 Commit screenshots 2023-11-12 04:12:12 +00:00
renovate[bot]
0908eb8cd8 fix(deps): update module golang.org/x/mod to v0.14.0 2023-11-12 01:48:48 +00:00
Owncast
03ff549184 Bundle embedded web app 2023-11-12 01:48:12 +00:00
renovate[bot]
850d7047b3 chore(deps): update dependency cypress to v13.5.0 2023-11-11 23:00:28 +00:00
renovate[bot]
08a95661bf fix(deps): update module github.com/aws/aws-sdk-go to v1.47.9 2023-11-11 19:14:17 +00:00
Owncast
36846d22ff Bundle embedded web app 2023-11-11 19:13:36 +00:00
renovate[bot]
1d3425d239 chore(deps): update dependency @types/node to v20.9.0 2023-11-11 17:18:14 +00:00
Owncast
d1f748c7fb Bundle embedded web app 2023-11-11 17:17:36 +00:00
renovate[bot]
011585aec8 chore(deps): update dependency @types/video.js to v7.3.56 2023-11-11 13:54:01 +00:00
Owncast
6b3506f12c Bundle embedded web app 2023-11-11 13:53:26 +00:00
renovate[bot]
fa41548acc chore(deps): update dependency @types/ua-parser-js to v0.7.39 2023-11-11 09:43:13 +00:00
Owncast
c34fa70d4b Bundle embedded web app 2023-11-11 09:42:39 +00:00
renovate[bot]
a72ab8dac5 chore(deps): update dependency @types/sanitize-html to v2.9.4 2023-11-11 07:42:36 +00:00
Owncast
85fffb61df Bundle embedded web app 2023-11-11 07:42:01 +00:00
renovate[bot]
e54447e6b7 chore(deps): update dependency @types/react to v18.2.37 2023-11-11 04:50:14 +00:00
Owncast
ab78d20d89 Commit screenshots 2023-11-11 04:12:45 +00:00
Owncast
4dd54237f0 Bundle embedded web app 2023-11-11 00:22:34 +00:00
renovate[bot]
272a20d379 chore(deps): update dependency @types/jest to v29.5.8 2023-11-10 21:24:09 +00:00
Owncast
833c15db49 Bundle embedded web app 2023-11-10 21:23:34 +00:00
renovate[bot]
21a0c6b250 chore(deps): update dependency @types/react-linkify to v1.0.4 2023-11-10 19:30:34 +00:00
Owncast
d17ee70760 Bundle embedded web app 2023-11-10 19:29:58 +00:00
renovate[bot]
0931c43fdc chore(deps): update dependency @types/prop-types to v15.7.10 2023-11-10 17:31:18 +00:00
Owncast
31720f97fb Bundle embedded web app 2023-11-10 17:30:43 +00:00
renovate[bot]
02fac5120e chore(deps): update dependency @types/markdown-it to v13.0.6 2023-11-10 13:52:31 +00:00
Owncast
77a55e2d16 Bundle embedded web app 2023-11-10 13:51:55 +00:00
renovate[bot]
da70d2d641 chore(deps): update typescript-eslint monorepo to v6.10.0 2023-11-10 09:45:35 +00:00
renovate[bot]
153c536dc3 fix(deps): update module github.com/shirou/gopsutil/v3 to v3.23.10 2023-11-10 08:03:02 +00:00
Owncast
3a807b7bf5 Bundle embedded web app 2023-11-10 08:02:22 +00:00
renovate[bot]
e0b74819c8 chore(deps): update dependency knip to v2.40.0 2023-11-10 05:33:21 +00:00
Owncast
1bdbffe411 Bundle embedded web app 2023-11-10 05:32:38 +00:00
renovate[bot]
33ad53891f fix(deps): update module mvdan.cc/xurls to v2 (#3369)
* fix(deps): update module mvdan.cc/xurls to v2

* chore: go mod tidy

* Commit updated API documentation

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: Owncast <owncast@owncast.online>
2023-11-09 21:18:48 -08:00
renovate[bot]
c5e2d9d73c chore(deps): update dependency @types/chart.js to v2.9.40 2023-11-10 05:01:54 +00:00
Owncast
fe246ffd43 Bundle embedded web app 2023-11-10 05:01:12 +00:00
Gabe Kangas
72dd209d80 fix: ignore this file that is being problematic 2023-11-09 20:52:44 -08:00
Owncast
208fc40d67 Commit screenshots 2023-11-10 04:19:55 +00:00
Gabe Kangas
76c3057c88 Update links to docker image in readme 2023-11-09 15:58:03 -08:00
Owncast
2622cde8ed Bundle embedded web app 2023-11-09 21:46:22 +00:00
renovate[bot]
c0c21ab019 chore(deps): update storybook monorepo to v7.5.3 2023-11-09 20:18:27 +00:00
Owncast
ae4ccbbc19 Bundle embedded web app 2023-11-09 20:17:40 +00:00
renovate[bot]
67639bd07a chore(deps): update dependency mermaid to v10.6.1 2023-11-09 16:36:50 +00:00
Owncast
57d2bd0e1e Bundle embedded web app 2023-11-09 16:36:11 +00:00
renovate[bot]
36f51d8d00 chore(deps): update dependency @types/react to v18.2.36 2023-11-09 13:21:12 +00:00
Owncast
3139d765c4 Bundle embedded web app 2023-11-09 04:40:04 +00:00
renovate[bot]
0c529fe1be chore(deps): update dependency eslint-plugin-jsx-a11y to v6.8.0 (#3414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-08 20:32:59 -08:00
Owncast
87e1e1e6f2 Bundle embedded web app 2023-11-09 04:15:39 +00:00
Owncast
af26f0dac9 Commit screenshots 2023-11-09 04:10:31 +00:00
Gabe Kangas
9db8a8699a fix: a11y button lables. Closes #3418 2023-11-08 20:08:00 -08:00
Gabe Kangas
6074ea8f29 fix: parse as ipv4 if needed. Closes #3419 2023-11-08 19:07:13 -08:00
Owncast
86472d711c Bundle embedded web app 2023-11-08 12:14:20 +00:00
renovate[bot]
a299200b3b chore(deps): update dependency @types/react to v18.2.35 2023-11-08 10:44:07 +00:00
renovate[bot]
ae91f30b31 chore(deps): update peter-evans/create-or-update-comment digest to a6e9cd3 2023-11-08 07:33:50 +00:00
Owncast
d34afe45e2 Commit screenshots 2023-11-08 04:10:59 +00:00
Owncast
3ac2c865cc Bundle embedded web app 2023-11-07 11:07:20 +00:00
renovate[bot]
0476255e0a chore(deps): update dependency eslint to v8.53.0 2023-11-07 06:26:33 +00:00
Owncast
dea8c1201c Commit screenshots 2023-11-07 04:10:53 +00:00
Owncast
8a8cfd3fb1 Bundle embedded web app 2023-11-07 03:41:03 +00:00
kame
4f078e1ee4 Migrated Storybook notation from CSF2 to CSF3 (#3412)
* Migrate web action-buttons directory to CSF3 notation

* Migrate web chat directory to CSF3 notation

* Migrate web common directory to CSF3 notation

* Migrate web layout directory to CSF3 notation

* Migrate web modals directory to CSF3 notation

* Migrate web ui directory to CSF3 notation

* Migrate web video directory to CSF3 notation

* Migrate web stories directory to CSF3 notation
2023-11-06 19:35:05 -08:00
Owncast
b08511b9d1 Bundle embedded web app 2023-11-06 13:03:31 +00:00
renovate[bot]
9d64b656aa chore(deps): lock file maintenance 2023-11-06 12:58:25 +00:00
Owncast
e276f2a5f5 Bundle embedded web app 2023-11-06 04:11:04 +00:00
Owncast
f1dcc9884f Commit screenshots 2023-11-06 04:10:45 +00:00
renovate[bot]
9fc8dfefc9 fix(deps): update dependency yaml to v2.3.4 2023-11-06 01:58:45 +00:00
Owncast
9b20129342 Bundle embedded web app 2023-11-06 01:58:11 +00:00
renovate[bot]
7e69597199 chore(deps): update dependency stylelint-config-standard-scss to v11.1.0 2023-11-05 21:18:37 +00:00
Owncast
bf6907fa45 Bundle embedded web app 2023-11-05 21:17:45 +00:00
renovate[bot]
0b1b825611 chore(deps): update dependency npm to v10.2.3 2023-11-05 20:10:59 +00:00
Owncast
bff4d6da21 Commit screenshots 2023-11-05 04:11:24 +00:00
Owncast
301038fbf0 Bundle embedded web app 2023-11-05 04:08:06 +00:00
renovate[bot]
69b33db5d4 chore(deps): update dependency @types/react to v18.2.34 2023-11-05 00:39:25 +00:00
Owncast
f19f62129b Bundle embedded web app 2023-11-04 21:12:04 +00:00
renovate[bot]
b5c864fdef chore(deps): update dependency knip to v2.38.6 2023-11-04 19:56:15 +00:00
Owncast
cfba31f910 Commit screenshots 2023-11-04 04:10:41 +00:00
Owncast
a3282a6e41 Bundle embedded web app 2023-11-04 00:50:04 +00:00
renovate[bot]
928a17ae8a chore(deps): update dependency chromatic to v7.6.0 2023-11-03 21:25:14 +00:00
Owncast
af27afbe73 Bundle embedded web app 2023-11-03 21:24:39 +00:00
renovate[bot]
586c9c5202 chore(deps): update dependency npm to v10.2.2 2023-11-03 18:39:42 +00:00
Owncast
e49a54c9c7 Bundle embedded web app 2023-11-03 10:21:49 +00:00
renovate[bot]
a1fc51db26 chore(deps): update dependency @types/node to v20.8.10 2023-11-03 09:02:21 +00:00
Owncast
75094048a4 Commit screenshots 2023-11-03 04:10:41 +00:00
Owncast
c3a9f987ea Bundle embedded web app 2023-11-03 04:09:43 +00:00
renovate[bot]
4bc9aa9787 chore(deps): update dependency cypress to v13.4.0 2023-11-03 01:49:26 +00:00
Owncast
582d26e5a8 Bundle embedded web app 2023-11-03 01:48:48 +00:00
renovate[bot]
fd340979ee chore(deps): update dependency @types/jest to v29.5.7 2023-11-02 22:28:32 +00:00
Owncast
90f6b068ad Bundle embedded web app 2023-11-02 19:41:05 +00:00
renovate[bot]
008a6a9877 chore(deps): update typescript-eslint monorepo to v6.9.1 2023-11-02 17:22:49 +00:00
Owncast
03cf854b35 Bundle embedded web app 2023-11-02 13:33:33 +00:00
renovate[bot]
b427601e1d chore(deps): update storybook monorepo to v7.5.2 2023-11-02 10:42:18 +00:00
Owncast
6607b23a27 Commit screenshots 2023-11-02 04:10:41 +00:00
renovate[bot]
0614ac82ee chore(deps): update peter-evans/create-or-update-comment digest to cf82516 2023-11-01 15:46:28 +00:00
Owncast
c336c25c54 Commit screenshots 2023-11-01 04:11:38 +00:00
Owncast
e49b7bf805 Commit updated API documentation 2023-10-31 18:55:40 +00:00
Meisam
cd416fa19b fix /api/admin/config/streamkeys docs (#3409)
Co-authored-by: Meisam Farzalipour Tabriz <5204-tbz@users.noreply.gitlab.mpcdf.mpg.de>
2023-10-31 11:54:09 -07:00
Owncast
c4357b2b9f Commit screenshots 2023-10-31 04:11:18 +00:00
Owncast
4e087a5825 Bundle embedded web app 2023-10-30 15:27:14 +00:00
renovate[bot]
af204d3eb3 fix(deps): update dependency ua-parser-js to v1.0.37 2023-10-30 14:13:48 +00:00
Owncast
3b469440f2 Bundle embedded web app 2023-10-30 11:36:59 +00:00
renovate[bot]
755586260a chore(deps): lock file maintenance 2023-10-30 11:29:21 +00:00
Owncast
9139d2bcee Commit screenshots 2023-10-30 04:11:07 +00:00
renovate[bot]
2b6c68b85f fix(deps): update module github.com/yuin/goldmark to v1.6.0 (#3403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-29 16:56:15 -07:00
Owncast
771295b371 Bundle embedded web app 2023-10-29 18:39:09 +00:00
renovate[bot]
1030256ced chore(deps): update dependency chromatic to v7.5.4 2023-10-29 15:07:19 +00:00
renovate[bot]
cb135d6ca3 fix(deps): update module github.com/aws/aws-sdk-go to v1.46.6 2023-10-29 12:36:57 +00:00
Owncast
8e654c3705 Bundle embedded web app 2023-10-29 12:35:58 +00:00
renovate[bot]
29b1261952 chore(deps): update dependency mermaid to v10.6.0 2023-10-29 11:44:35 +00:00
Owncast
6900ae7752 Bundle embedded web app 2023-10-29 11:43:53 +00:00
renovate[bot]
c7e0d7bd6e chore(deps): update dependency chromatic to v7.5.1 2023-10-29 10:17:57 +00:00
Owncast
e4159b1204 Bundle embedded web app 2023-10-29 10:17:21 +00:00
renovate[bot]
a8590138e3 chore(deps): update dependency @types/react to v18.2.33 2023-10-29 07:16:27 +00:00
Owncast
a3641ace9c Commit screenshots 2023-10-29 04:21:14 +00:00
Owncast
4525cda89a Bundle embedded web app 2023-10-29 03:56:11 +00:00
renovate[bot]
7684e22cc2 chore(deps): update dependency sass to v1.69.5 2023-10-29 01:32:06 +00:00
renovate[bot]
40c94a5a49 chore(deps): update tj-actions/changed-files action to v40 (#3402)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-28 18:31:25 -07:00
Owncast
856f100fd1 Bundle embedded web app 2023-10-28 23:40:25 +00:00
renovate[bot]
9fb1363988 chore(deps): update dependency @mdx-js/react to v3 (#3400)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-28 16:21:00 -07:00
renovate[bot]
2362f1a82a chore(deps): update actions/setup-node action to v4 (#3399)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-28 16:16:20 -07:00
renovate[bot]
3961e68368 chore(deps): update dependency @types/node to v20 (#3401)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-28 16:15:55 -07:00
Owncast
4d05a1b0a2 Bundle embedded web app 2023-10-28 23:07:16 +00:00
renovate[bot]
f5748ea1cf chore(deps): update dependency @types/node to v18.18.7 2023-10-28 19:06:23 +00:00
Owncast
248320a506 Bundle embedded web app 2023-10-28 19:05:47 +00:00
renovate[bot]
3a63547a3d chore(deps): update dependency @types/react to v18.2.32 2023-10-28 15:15:38 +00:00
Gabe Kangas
a6dbc37a84 fix: add additional validation before making remote requests (#3398) 2023-10-28 08:15:01 -07:00
Owncast
5406e3d5da Commit screenshots 2023-10-28 04:10:52 +00:00
Matthew Donoughe
448659e1c6 Ignore static/web for codeql (#3397)
* Ignore static/web for codeql

* use different config for different languages

* put something in go config
2023-10-27 19:44:09 -07:00
Owncast
3cf550c916 Bundle embedded web app 2023-10-28 02:02:43 +00:00
renovate[bot]
6ffe1cfc67 chore(deps): update dependency cypress to v13.3.3 2023-10-27 22:25:33 +00:00
Owncast
01926a20fb Bundle embedded web app 2023-10-27 22:24:58 +00:00
renovate[bot]
574376f3d5 chore(deps): update dependency knip to v2.38.1 2023-10-27 19:21:41 +00:00
Owncast
861a8bd594 Bundle embedded web app 2023-10-27 12:39:30 +00:00
renovate[bot]
b2ae296666 chore(deps): update dependency chromatic to v7.5.0 2023-10-27 09:25:52 +00:00
Owncast
c56764b946 Bundle embedded web app 2023-10-27 06:23:13 +00:00
renovate[bot]
f3afedfe48 chore(deps): update typescript-eslint monorepo to v6.9.0 2023-10-27 04:22:43 +00:00
Owncast
6dddb668e3 Commit screenshots 2023-10-27 04:11:08 +00:00
Owncast
31cb85f219 Bundle embedded web app 2023-10-27 01:13:25 +00:00
dependabot[bot]
0c0e218b8e Bump browserify-sign from 4.2.1 to 4.2.2 in /web (#3396)
Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.2.1 to 4.2.2.
- [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/browserify-sign/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: browserify-sign
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-26 18:05:39 -07:00
Owncast
c37ef513e4 Bundle embedded web app 2023-10-27 00:20:58 +00:00
renovate[bot]
21776fd9a2 chore(deps): update dependency style-dictionary to v3.9.0 2023-10-26 23:02:39 +00:00
Owncast
319e7fcffa Bundle embedded web app 2023-10-26 23:02:04 +00:00
renovate[bot]
143db1b039 fix(deps): update dependency xstate to v4.38.3 2023-10-26 20:24:51 +00:00
Owncast
75af7cfc53 Bundle embedded web app 2023-10-26 20:24:15 +00:00
renovate[bot]
38ed16d971 chore(deps): update dependency @types/markdown-it to v13.0.5 2023-10-26 18:38:11 +00:00
Owncast
57d943cb8c Bundle embedded web app 2023-10-26 05:04:08 +00:00
renovate[bot]
b28b027ead chore(deps): update dependency typescript to v5 (#3387)
* chore(deps): update dependency typescript to v5

* fix: resolve type mismatch

* Commit updated API documentation

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: Owncast <owncast@owncast.online>
2023-10-25 21:52:36 -07:00
Owncast
15b116568c Bundle embedded web app 2023-10-26 04:50:15 +00:00
Gabe Kangas
ab8c2279e3 fix(storybook): update stories to support mdx2 2023-10-25 21:41:27 -07:00
Gabe Kangas
c22d5357ab fix(storybook): less+sass updates for storybook7 2023-10-25 21:41:26 -07:00
Gabe Kangas
349a23c690 chore(deps): update storybook to v7 2023-10-25 21:41:25 -07:00
Owncast
f2524c8849 Commit screenshots 2023-10-26 04:20:45 +00:00
Owncast
c7e291bb34 Bundle embedded web app 2023-10-26 03:10:35 +00:00
Gabe Kangas
57ff30c894 fix(admin): hopefully fix an exception that is being thrown in develop. Closes #3373 2023-10-25 20:01:04 -07:00
Owncast
9ab6fd9283 Commit updated API documentation 2023-10-26 01:06:05 +00:00
Meisam
ddf359937e fix api/admin/config/pagecontent example (#3392)
Co-authored-by: Meisam Farzalipour Tabriz <5204-tbz@users.noreply.gitlab.mpcdf.mpg.de>
2023-10-25 18:04:18 -07:00
Owncast
5aaa520f1f Bundle embedded web app 2023-10-25 19:25:46 +00:00
renovate[bot]
b5a9076259 fix(deps): update dependency video.js to v8.6.1 2023-10-25 17:38:02 +00:00
renovate[bot]
e2574bb35e chore(deps): update peter-evans/create-or-update-comment digest to c0693c5 2023-10-25 07:44:26 +00:00
Owncast
cff180b305 Bundle embedded web app 2023-10-25 05:06:34 +00:00
Pranav Joglekar
b8ffe5be16 fix: prevent floating mobile action menu button (#3383)
the absolute positioned mobile action button was attached
to the body causing it to float during scrolling. Now, we wrap
the action buttons inside a relative div so that they are attached
to this div which prevents them from scrolling with page
Fixes #3271

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-10-24 21:58:36 -07:00
Owncast
e455d9332c Commit screenshots 2023-10-25 04:11:00 +00:00
Gabe Kangas
ad3588a23c More changed-files troubleshooting 2023-10-24 16:33:07 -07:00
Gabe Kangas
839f926f69 Looks like we were using the changed-files action incorrectly. Hopefully this fixes it? 2023-10-24 16:28:32 -07:00
Owncast
a319d99994 Commit screenshots 2023-10-24 04:10:52 +00:00
Owncast
b8b3c98e1b Bundle embedded web app 2023-10-24 02:11:45 +00:00
renovate[bot]
dabc237101 chore(deps): update dependency eslint to v8.52.0 2023-10-23 22:24:46 +00:00
Owncast
6c820015e8 Bundle embedded web app 2023-10-23 19:33:38 +00:00
renovate[bot]
72099d1169 chore(deps): update dependency @types/react to v18.2.31 2023-10-23 17:39:03 +00:00
Owncast
969fb71272 Bundle embedded web app 2023-10-23 17:38:24 +00:00
renovate[bot]
dd47c95972 chore(deps): lock file maintenance (#3384)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 10:23:11 -07:00
Owncast
2f501cbd13 Bundle embedded web app 2023-10-23 16:40:35 +00:00
renovate[bot]
74b379a6d5 fix(deps): update dependency @fontsource/inter to v5.0.14 (#3386)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 09:30:26 -07:00
Owncast
1d9b602ce8 Bundle embedded web app 2023-10-23 13:39:05 +00:00
renovate[bot]
8aeb19b7d5 fix(deps): update nextjs monorepo to v13.5.6 2023-10-23 10:07:57 +00:00
Owncast
cc4ab1a50b Bundle embedded web app 2023-10-23 10:06:55 +00:00
renovate[bot]
0775a1ce1b chore(deps): update dependency npm to v10.2.1 2023-10-23 06:19:30 +00:00
Owncast
ce598a27f7 Bundle embedded web app 2023-10-23 06:18:51 +00:00
renovate[bot]
73191d9c0f chore(deps): update dependency cypress to v13.3.2 2023-10-23 04:48:38 +00:00
Owncast
b47e74444a Commit screenshots 2023-10-23 04:13:06 +00:00
Owncast
2eee20a909 Bundle embedded web app 2023-10-23 01:01:45 +00:00
renovate[bot]
a9c008f16e chore(deps): update dependency @types/video.js to v7.3.55 2023-10-22 23:01:15 +00:00
Owncast
f1a4c79521 Bundle embedded web app 2023-10-22 23:00:38 +00:00
renovate[bot]
b68a7ceabf chore(deps): update dependency @types/react to v18.2.30 2023-10-22 20:02:32 +00:00
Owncast
1255cf2983 Bundle embedded web app 2023-10-22 20:01:53 +00:00
renovate[bot]
bfcdbe432f chore(deps): update dependency @types/ua-parser-js to v0.7.38 2023-10-22 17:40:22 +00:00
Owncast
54201afbc5 Bundle embedded web app 2023-10-22 17:39:42 +00:00
renovate[bot]
89be09c80f chore(deps): update dependency @types/sanitize-html to v2.9.3 2023-10-22 16:28:37 +00:00
Owncast
d67453e60f Bundle embedded web app 2023-10-22 16:28:01 +00:00
renovate[bot]
aee9ad9c99 chore(deps): update dependency @types/react-linkify to v1.0.3 2023-10-22 14:05:53 +00:00
Owncast
c53b1a319b Bundle embedded web app 2023-10-22 14:05:07 +00:00
renovate[bot]
df0bfe86f5 chore(deps): update dependency @types/react to v18.2.29 2023-10-22 09:24:37 +00:00
Owncast
310f41bcc0 Bundle embedded web app 2023-10-22 09:23:58 +00:00
renovate[bot]
ea0691eddd chore(deps): update dependency @types/prop-types to v15.7.9 2023-10-22 07:22:37 +00:00
Gabe Kangas
027f2544e3 fix(emoji): hopefully guard against the crash in #3331 2023-10-21 22:13:13 -07:00
Owncast
b1c0e14161 Bundle embedded web app 2023-10-22 04:54:53 +00:00
Patrick Bollinger
9a7925444f Fix embedded status bar being cut off (#3352)
* Fix embedded status bar being cut off

This should resolve https://github.com/owncast/owncast/issues/3210.

As recommended in the discussion, flexbox was the way to solve this issue.
The main thing that needed to be addressed though was not applying too many constraints on the OwncastPlayer component just because it was embedded.
By removing the embedded constraints, styling appears to be working as expected.
I'll attach screenshots to the pull request.

* Fix eslint error
2023-10-21 21:46:10 -07:00
Owncast
0b16a2f831 Commit screenshots 2023-10-22 04:11:59 +00:00
Owncast
615d9efe0b Bundle embedded web app 2023-10-22 01:06:39 +00:00
renovate[bot]
2550d27d57 chore(deps): update dependency @types/markdown-it to v13.0.4 2023-10-21 22:27:34 +00:00
Owncast
6a675e395c Bundle embedded web app 2023-10-21 22:26:59 +00:00
renovate[bot]
fcad5e3e3c chore(deps): update dependency @types/node to v18.18.6 2023-10-21 18:25:47 +00:00
Owncast
6380d84def Bundle embedded web app 2023-10-21 18:25:10 +00:00
renovate[bot]
0022818d02 chore(deps): update dependency @types/jest to v29.5.6 (#3380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-21 11:12:56 -07:00
renovate[bot]
790f384236 chore(deps): update dependency @types/markdown-it to v13.0.3 (#3381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-21 11:12:35 -07:00
Owncast
3db3afb492 Bundle embedded web app 2023-10-21 17:15:48 +00:00
Alyssa Ross
092134f3f3 Fix parsing of Authorization Bearer header (#3376)
The semantics of the Authorization header are defined by RFC 9110, which says:

> It uses a case-insensitive token to identify the authentication scheme:

Therefore, "bearer", "Bearer", and "bEARER" are equivalent.  This patch fixes
the parsing of the Authorization header to check for the Bearer authentication
scheme case insensitively.

I've modified one of the test cases to use lowercase "bearer", so there's test
coverage for this.
2023-10-21 10:00:50 -07:00
renovate[bot]
6fc3fa37da chore(deps): update dependency knip to v2.34.1 (#3379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-21 09:50:41 -07:00
Gabe Kangas
56eb2a4785 chore(lint): silence linter warnings 2023-10-21 09:46:45 -07:00
Owncast
5889f53f62 Bundle embedded web app 2023-10-21 10:39:32 +00:00
renovate[bot]
d137b89302 chore(deps): update dependency @types/chart.js to v2.9.39 2023-10-21 10:31:18 +00:00
Owncast
53c0c080c0 Commit screenshots 2023-10-21 04:10:58 +00:00
Owncast
1fddae6f1f Bundle embedded web app 2023-10-21 01:36:07 +00:00
renovate[bot]
0ea5cf400c chore(deps): update dependency sass to v1.69.4 2023-10-20 22:08:58 +00:00
Owncast
50deedf47d Bundle embedded web app 2023-10-20 10:57:02 +00:00
renovate[bot]
2dd17c8ffe chore(deps): update typescript-eslint monorepo to v6.8.0 2023-10-20 07:21:17 +00:00
Owncast
03d815e959 Commit screenshots 2023-10-20 04:10:40 +00:00
Owncast
c5567fa33c Bundle embedded web app 2023-10-20 03:33:37 +00:00
renovate[bot]
91526c904c fix(deps): update nextjs monorepo to v13.5.5 2023-10-20 00:11:03 +00:00
Owncast
8344e6f895 Bundle embedded web app 2023-10-20 00:10:18 +00:00
renovate[bot]
3dc25879ff fix(deps): update dependency react-virtuoso to v4.6.2 2023-10-19 21:10:46 +00:00
renovate[bot]
7de63fcca5 chore(deps): update peter-evans/create-or-update-comment digest to 23ff157 2023-10-19 18:56:32 +00:00
Owncast
e03ae74586 Commit screenshots 2023-10-19 04:10:27 +00:00
armadi1809
6b27d850d8 Added a check for the port before calling the splitHostPort function (#3372)
Co-authored-by: Aziz Rmadi <azizrmadi@Azizs-MacBook-Air.local>
2023-10-18 17:01:03 -07:00
renovate[bot]
47d5b3c92f chore(deps): update peter-evans/create-or-update-comment digest to d85800f 2023-10-18 08:07:07 +00:00
renovate[bot]
39827872ac fix(deps): update module golang.org/x/mod to v0.13.0 2023-10-18 04:26:38 +00:00
Owncast
ea0a69fdfb Commit screenshots 2023-10-18 04:10:50 +00:00
renovate[bot]
f7aabe2173 fix(deps): update module github.com/microcosm-cc/bluemonday to v1.0.26 (#3356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-17 19:01:51 -07:00
Gabe Kangas
6aa758501d chore(go): bump project version number to 1.21 2023-10-17 18:33:05 -07:00
renovate[bot]
ef6902695e fix(deps): update module github.com/aws/aws-sdk-go to v1.45.27 2023-10-17 23:21:24 +00:00
Owncast
7a82697ee0 Bundle embedded web app 2023-10-17 13:37:35 +00:00
renovate[bot]
a6ecd7944e fix(deps): update dependency yaml to v2.3.3 2023-10-17 11:29:35 +00:00
Owncast
72e5780b0b Commit screenshots 2023-10-17 04:10:43 +00:00
Owncast
76702d8010 Bundle embedded web app 2023-10-16 21:17:14 +00:00
renovate[bot]
cedc87c88f chore(deps): update dependency chromatic to v7.4.0 2023-10-16 19:16:41 +00:00
dependabot[bot]
5f974806f3 Bump @babel/traverse from 7.12.5 to 7.23.2 in /test/automated/api (#3366)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.12.5 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-16 12:15:32 -07:00
A. Singh
427f4ecdd7 fix: issue with lint and prettier during js format build (#3362) 2023-10-16 10:06:00 -07:00
dependabot[bot]
551b9e3a8b Bump @babel/traverse from 7.12.5 to 7.23.2 in /test/automated/hls (#3367)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.12.5 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-16 10:04:45 -07:00
Owncast
0276bf616d Bundle embedded web app 2023-10-16 15:28:43 +00:00
renovate[bot]
a7edffdee1 fix(deps): update dependency react-markdown to v9 (#3365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 08:12:00 -07:00
Owncast
5838180b77 Bundle embedded web app 2023-10-16 13:23:38 +00:00
renovate[bot]
3b402e51ec chore(deps): lock file maintenance 2023-10-16 13:10:40 +00:00
Owncast
a1bded155c Bundle embedded web app 2023-10-16 11:40:12 +00:00
renovate[bot]
c8f5a1da93 fix(deps): update dependency @uiw/react-codemirror to v4.21.20 2023-10-16 07:22:44 +00:00
renovate[bot]
415d0299b0 fix(deps): update module mvdan.cc/xurls to v2 (#3363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 00:22:05 -07:00
Owncast
65248cd658 Bundle embedded web app 2023-10-16 07:05:59 +00:00
renovate[bot]
c473314f74 fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.20 2023-10-16 04:32:33 +00:00
Owncast
80355cb339 Commit screenshots 2023-10-16 04:15:55 +00:00
Owncast
35b01f589e Bundle embedded web app 2023-10-16 04:13:16 +00:00
Gabe Kangas
650d66a0a1 chore: downgrade x/mod to silence go 1.21 toolchain error 2023-10-15 21:06:34 -07:00
renovate[bot]
f5698ab6e6 chore(deps): update dependency knip to v2.33.3 (#3353)
* chore(deps): update dependency knip to v2.33.3

* chore(tests): update config file for unused code detection

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-10-15 21:02:16 -07:00
Owncast
c3866152b2 Bundle embedded web app 2023-10-16 02:59:28 +00:00
armadi1809
81c5908545 Set aria-live to off on span responsible for rendering the online message on a stream (#3361)
Co-authored-by: Aziz Rmadi <azizrmadi@Azizs-MacBook-Air.local>
2023-10-15 19:45:54 -07:00
Owncast
0c06c39960 Bundle embedded web app 2023-10-16 00:32:42 +00:00
renovate[bot]
043ffadd6f chore(deps): update dependency @types/node to v18.18.5 2023-10-15 22:43:51 +00:00
armadi1809
3019995a6f Fix geo details for viewers not showing on CDN connection (#3359)
* Added extraction of first IP address from X-FORWARDED-FOR header

* Added tests to the GetIPAddressFromRequest util method

---------

Co-authored-by: Aziz Rmadi <azizrmadi@Azizs-MacBook-Air.local>
2023-10-15 15:43:07 -07:00
Owncast
77f23fdbf7 Bundle embedded web app 2023-10-15 08:03:31 +00:00
renovate[bot]
0d3c5fb1c4 chore(deps): update dependency sass to v1.69.3 2023-10-15 07:14:14 +00:00
Owncast
5fd37d8efa Commit screenshots 2023-10-15 04:12:54 +00:00
Owncast
9585d2e77f Bundle embedded web app 2023-10-15 03:16:33 +00:00
renovate[bot]
d2dda1d81f chore(deps): update dependency @babel/core to v7.23.2 2023-10-15 01:19:25 +00:00
Owncast
40cfb1c9e1 Bundle embedded web app 2023-10-15 01:18:36 +00:00
renovate[bot]
c0d854e018 chore(deps): update dependency cypress to v13.3.1 2023-10-15 00:32:46 +00:00
Owncast
e66449799c Bundle embedded web app 2023-10-14 17:58:24 +00:00
renovate[bot]
39ac4c1816 chore(deps): update dependency chromatic to v7.3.0 (#3357)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-14 10:42:28 -07:00
Owncast
6bdfb39304 Bundle embedded web app 2023-10-14 14:11:54 +00:00
renovate[bot]
d86211f8bc chore(deps): update dependency sass to v1.69.2 2023-10-14 09:44:16 +00:00
Owncast
e436955623 Bundle embedded web app 2023-10-14 09:43:36 +00:00
renovate[bot]
332fcbf488 chore(deps): update dependency eslint-plugin-prettier to v5.0.1 2023-10-14 06:55:55 +00:00
Owncast
f26560e9d9 Bundle embedded web app 2023-10-14 06:55:18 +00:00
renovate[bot]
3259479a9b chore(deps): update dependency @types/sanitize-html to v2.9.2 2023-10-14 04:29:30 +00:00
Owncast
655b13073e Commit screenshots 2023-10-14 04:10:02 +00:00
Owncast
61ac4ab6af Bundle embedded web app 2023-10-14 00:30:30 +00:00
renovate[bot]
bec3384ec3 chore(deps): update dependency @types/react to v18.2.28 2023-10-13 23:06:33 +00:00
Owncast
e64545c206 Bundle embedded web app 2023-10-13 14:27:49 +00:00
renovate[bot]
8009ab21c6 fix(deps): update dependency react-virtuoso to v4.6.1 2023-10-13 10:53:45 +00:00
Owncast
70bde1a93b Bundle embedded web app 2023-10-13 10:53:06 +00:00
renovate[bot]
390143cb6a fix(deps): update dependency video.js to v8.6.0 2023-10-13 06:54:02 +00:00
Owncast
f91f5af6f0 Bundle embedded web app 2023-10-13 06:52:39 +00:00
renovate[bot]
8d6407fa97 chore(deps): update dependency sass to v1.69.1 2023-10-13 04:22:45 +00:00
Owncast
5dc9748bf5 Commit screenshots 2023-10-13 04:10:33 +00:00
Owncast
3d7d121ea5 Bundle embedded web app 2023-10-13 00:36:21 +00:00
renovate[bot]
db50a464de chore(deps): update typescript-eslint monorepo to v6.7.5 2023-10-12 22:08:54 +00:00
Owncast
fb22968013 Bundle embedded web app 2023-10-12 22:08:10 +00:00
renovate[bot]
d42deb9392 chore(deps): update dependency @types/react to v18.2.27 2023-10-12 18:53:35 +00:00
Owncast
72e3e74b60 Commit screenshots 2023-10-12 04:41:03 +00:00
renovate[bot]
00b90bcd56 fix(deps): update module golang.org/x/net to v0.17.0 [security] 2023-10-11 23:21:30 +00:00
Owncast
fabfe0c115 Bundle embedded web app 2023-10-11 17:12:17 +00:00
renovate[bot]
7db03075fb chore(deps): update dependency eslint-plugin-storybook to v0.6.15 2023-10-11 13:06:35 +00:00
renovate[bot]
0264943fa9 chore(deps): update peter-evans/create-or-update-comment digest to ac8e650 2023-10-11 07:03:09 +00:00
Owncast
13afdee1a6 Bundle embedded web app 2023-10-11 04:11:34 +00:00
Owncast
4f5d05b744 Commit screenshots 2023-10-11 04:10:32 +00:00
renovate[bot]
7f561b842b fix(deps): update dependency @fontsource/inter to v5.0.13 (#3354)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-10 21:02:36 -07:00
Owncast
1b96059410 Bundle embedded web app 2023-10-11 01:08:01 +00:00
renovate[bot]
4d085df370 fix(deps): update nextjs monorepo to v13.5.4 2023-10-10 23:01:53 +00:00
renovate[bot]
d1159fbdfe fix(deps): update module gopkg.in/evanphx/json-patch.v5 to v5.7.0 2023-10-10 18:49:06 +00:00
renovate[bot]
d96e3d425a fix(deps): update module golang.org/x/mod to v0.13.0 2023-10-10 15:59:38 +00:00
renovate[bot]
4fc15115d5 fix(deps): update module github.com/sherclockholmes/webpush-go to v1.3.0 2023-10-10 12:25:19 +00:00
renovate[bot]
44606c697f fix(deps): update module github.com/prometheus/client_golang to v1.17.0 2023-10-10 10:20:50 +00:00
renovate[bot]
294b29d4e2 fix(deps): update module github.com/shirou/gopsutil/v3 to v3.23.9 2023-10-10 06:41:24 +00:00
Owncast
4e4d79b465 Bundle embedded web app 2023-10-10 06:40:40 +00:00
renovate[bot]
f1ec6242fa chore(deps): update dependency @types/node to v18.18.4 2023-10-10 04:51:56 +00:00
Owncast
facd853e6e Commit screenshots 2023-10-10 04:20:37 +00:00
renovate[bot]
14ac527772 fix(deps): update module github.com/aws/aws-sdk-go to v1.45.24 2023-10-09 23:05:39 +00:00
Owncast
6b952522b1 Bundle embedded web app 2023-10-09 23:04:59 +00:00
renovate[bot]
486eb55cd0 chore(deps): update dependency knip to v2.31.0 2023-10-09 22:22:30 +00:00
Owncast
e949474d08 Bundle embedded web app 2023-10-09 22:21:48 +00:00
renovate[bot]
130659e1d3 chore(deps): update dependency eslint to v8.51.0 2023-10-09 20:26:29 +00:00
Owncast
9c91a87ce0 Bundle embedded web app 2023-10-09 20:25:46 +00:00
renovate[bot]
82e150a127 chore(deps): update dependency sass to v1.69.0 2023-10-09 17:22:23 +00:00
Owncast
e108079de1 Bundle embedded web app 2023-10-09 17:21:43 +00:00
renovate[bot]
47ef1886a8 fix(deps): update dependency @codemirror/lang-markdown to v6.2.2 2023-10-09 13:01:07 +00:00
Owncast
ee65841245 Bundle embedded web app 2023-10-09 13:00:25 +00:00
renovate[bot]
da16dba81a chore(deps): update dependency chromatic to v7.2.3 2023-10-09 11:42:21 +00:00
Owncast
a232dc8bcb Bundle embedded web app 2023-10-09 11:41:42 +00:00
renovate[bot]
be557ac216 chore(deps): update dependency mermaid to v10.5.0 2023-10-09 06:33:07 +00:00
Owncast
5a7696c2bc Bundle embedded web app 2023-10-09 06:32:20 +00:00
renovate[bot]
8fa77288c8 chore(deps): update dependency knip to v2.30.1 2023-10-09 04:36:43 +00:00
Owncast
b66155dfdd Bundle embedded web app 2023-10-09 04:36:02 +00:00
Owncast
40921d64a7 Commit screenshots 2023-10-09 04:20:40 +00:00
renovate[bot]
6bdcd755d8 chore(deps): update dependency eslint to v8.50.0 2023-10-09 02:09:58 +00:00
Owncast
dfa8303008 Bundle embedded web app 2023-10-09 02:09:16 +00:00
Patrick Bollinger
e59167deaa Stop Firefox from adding mysterious hash (#3348)
This resolves https://github.com/owncast/owncast/issues/3240

From the comments:
This was trickier than expected, but the root of the problem is Firefox will set `#` in the URL bar when `window.location.hash` is set to _any_ string, even a blank string. The morale of the story is, don't mutate base data if you just want to copy values. 😅

Sample of Firefox JavaScript console session that demonstrates the issue:
```javascript
>> window.location.href
"https://github.com/owncast/owncast/issues/3240"

>> const setBlankHash = () => { window.location.hash = ''; };
undefined

>> window.location.hash
""

>> window.location.href
"https://github.com/owncast/owncast/issues/3240"

>> setBlankHash()
undefined

>> // My browser just jumped to the top of the page
undefined

>> window.location.hash
""

>> window.location.href
"https://github.com/owncast/owncast/issues/3240#"
```
2023-10-08 18:58:43 -07:00
Owncast
af276e4c39 Bundle embedded web app 2023-10-09 01:06:37 +00:00
renovate[bot]
9556d15ac5 chore(deps): update dependency cypress to v13.3.0 2023-10-08 22:39:28 +00:00
Gabe Kangas
bbbaca4123 chore(tests): temp comment out a couple config tests that are breaking due to race conditions 2023-10-08 14:33:22 -07:00
Gabe Kangas
8e79e2acfa chore(go): run betteralign and gofumpt on codebase 2023-10-08 14:22:28 -07:00
Owncast
a31179b604 Bundle embedded web app 2023-10-08 18:25:28 +00:00
renovate[bot]
e62e7f528b chore(deps): update dependency @babel/core to v7.23.0 2023-10-08 15:35:05 +00:00
Owncast
5474422b6d Bundle embedded web app 2023-10-08 15:34:24 +00:00
renovate[bot]
adca5221f4 fix(deps): update dependency @uiw/react-codemirror to v4.21.19 2023-10-08 13:15:45 +00:00
Owncast
f0a202f7a4 Bundle embedded web app 2023-10-08 13:15:02 +00:00
renovate[bot]
250b82be11 fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.19 2023-10-08 09:36:06 +00:00
Owncast
607e585d98 Bundle embedded web app 2023-10-08 09:35:24 +00:00
renovate[bot]
8279a992a6 fix(deps): update dependency @fontsource/inter to v5.0.12 2023-10-08 07:19:03 +00:00
Owncast
58f4429f46 Bundle embedded web app 2023-10-08 07:18:25 +00:00
renovate[bot]
a4264b8223 chore(deps): update typescript-eslint monorepo to v6.7.4 2023-10-08 04:30:11 +00:00
Owncast
5fc264c9e4 Commit screenshots 2023-10-08 04:11:51 +00:00
Owncast
6eeb6b9bdc Bundle embedded web app 2023-10-07 23:41:17 +00:00
renovate[bot]
b907aa6d7d chore(deps): update dependency @types/react to v18.2.25 (#3318)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-07 16:20:50 -07:00
Owncast
570ca8cc7f Bundle embedded web app 2023-10-07 23:19:58 +00:00
renovate[bot]
a63fb4cd17 chore(deps): update dependency @types/video.js to v7.3.53 (#3345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-07 15:54:15 -07:00
Owncast
caf8c44666 Bundle embedded web app 2023-10-07 22:53:28 +00:00
renovate[bot]
0035369b7f chore(deps): update dependency stylelint-config-standard-scss to v11 (#3322)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-07 14:58:29 -07:00
renovate[bot]
2810580a87 chore(deps): update docker/setup-qemu-action action to v3 (#3323)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-07 14:56:58 -07:00
Owncast
871f3ea4db Bundle embedded web app 2023-10-07 21:55:34 +00:00
Owncast
5fea637495 Bundle embedded web app 2023-10-07 21:44:19 +00:00
renovate[bot]
7b8ea4cefa chore(deps): update actions/checkout action to v4 (#3321)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-07 13:52:25 -07:00
renovate[bot]
53dc3779e0 chore(deps): update tj-actions/changed-files action to v39 (#3324)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-07 13:36:52 -07:00
Owncast
96fd25439a Bundle embedded web app 2023-10-07 20:27:49 +00:00
renovate[bot]
d2afa78537 chore(deps): update dependency chromatic to v7 (#3325)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-07 13:25:14 -07:00
renovate[bot]
3bb55bf0b3 chore(deps): update dependency npm to v10 (#3326)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-07 13:19:10 -07:00
Vishal Sharma
1917b15b0a Update ClientTable.tsx (#3342)
* Update ClientTable.tsx

solves: #3339

## Changes

changed   owncast/web/components/admin/ClientTable.tsx line 44 `value={selectedKeys[0]})` to `value={selectedKeys[0].toString()} // Convert selectedKeys[0] to string
` as the value attribute expects a value of type string | number | readonly string[]` but previously it was assigned bigint.

* Update ClientTable.tsx

solves: #3339

## Changes

changed   owncast/web/components/admin/ClientTable.tsx line 44 `value={selectedKeys[0]})` to `value={selectedKeys[0].toString()} // Convert selectedKeys[0] to string
` as the value attribute expects a value of type `string | number | readonly string[]` but previously it was assigned bigint.
2023-10-07 13:14:07 -07:00
Owncast
08414537be Bundle embedded web app 2023-10-07 18:45:44 +00:00
renovate[bot]
9fc3a607e8 chore(deps): update dependency eslint-plugin-storybook to v0.6.14 2023-10-07 15:41:14 +00:00
Owncast
b8088f2636 Bundle embedded web app 2023-10-07 15:39:47 +00:00
renovate[bot]
b023a88f27 chore(deps): update dependency @types/sanitize-html to v2.9.1 2023-10-07 13:22:36 +00:00
Owncast
864faccad0 Bundle embedded web app 2023-10-07 13:21:36 +00:00
renovate[bot]
7bf3a49eca chore(deps): update dependency @types/react-linkify to v1.0.2 2023-10-07 09:51:09 +00:00
Owncast
9c41b27d04 Bundle embedded web app 2023-10-07 09:50:08 +00:00
renovate[bot]
6422d7e797 chore(deps): update dependency @types/node to v18.18.3 2023-10-07 06:25:15 +00:00
Owncast
7032a59a01 Bundle embedded web app 2023-10-07 06:24:34 +00:00
renovate[bot]
715e349591 chore(deps): update dependency @types/markdown-it to v13.0.2 2023-10-07 05:11:35 +00:00
Owncast
962d428a57 Commit screenshots 2023-10-07 04:10:16 +00:00
Owncast
fff003c0c0 Bundle embedded web app 2023-10-07 01:35:20 +00:00
renovate[bot]
65dbd4a079 chore(deps): update dependency @storybook/testing-library to v0.2.2 2023-10-06 22:21:29 +00:00
renovate[bot]
ab35cd6ad1 chore(deps): update alpine docker tag to v3.18.4 2023-10-06 18:09:44 +00:00
renovate[bot]
b69e2400d3 chore(deps): update peter-evans/create-or-update-comment digest to e3645dd 2023-10-06 18:09:25 +00:00
renovate[bot]
3b4611e3c9 fix(deps): update module golang.org/x/net to v0.16.0 2023-10-06 12:18:42 +00:00
Owncast
a82628b041 Bundle embedded web app 2023-10-06 12:17:35 +00:00
renovate[bot]
ab69107de3 fix(deps): update dependency react-virtuoso to v4.6.0 2023-10-06 09:17:00 +00:00
Owncast
393b89f5bb Bundle embedded web app 2023-10-06 09:15:59 +00:00
renovate[bot]
8c876c16ce chore(deps): update dependency sass to v1.68.0 2023-10-06 07:23:11 +00:00
Owncast
5116825cab Bundle embedded web app 2023-10-06 07:22:08 +00:00
dependabot[bot]
37a296f282 Bump zod and next in /web (#3340)
Bumps [zod](https://github.com/colinhacks/zod) to 3.22.4 and updates ancestor dependency [next](https://github.com/vercel/next.js). These dependencies need to be updated together.


Updates `zod` from 3.22.2 to 3.22.4
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Changelog](https://github.com/colinhacks/zod/blob/master/CHANGELOG.md)
- [Commits](https://github.com/colinhacks/zod/compare/v3.22.2...v3.22.4)

Updates `next` from 13.4.19 to 13.5.4
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v13.4.19...v13.5.4)

---
updated-dependencies:
- dependency-name: zod
  dependency-type: indirect
- dependency-name: next
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-06 00:09:57 -07:00
Owncast
35ee3f3699 Commit screenshots 2023-10-06 04:21:42 +00:00
Owncast
b541f8b11e Bundle embedded web app 2023-10-06 02:48:46 +00:00
dependabot[bot]
34211f279e Bump postcss from 8.4.29 to 8.4.31 in /web (#3336)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.29 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.29...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-05 19:16:05 -07:00
renovate[bot]
cd508ea81c fix(deps): update dependency @uiw/react-codemirror to v4.21.18 (#3341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-05 19:14:52 -07:00
Owncast
b8b2d53be9 Bundle embedded web app 2023-10-06 00:42:18 +00:00
renovate[bot]
c6fcce9dd4 fix(deps): update dependency autoprefixer to v10.4.16 2023-10-05 21:51:39 +00:00
Owncast
334f9fa026 Bundle embedded web app 2023-10-05 21:50:18 +00:00
renovate[bot]
e6661eb764 fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.18 2023-10-05 19:51:33 +00:00
Owncast
7060e2ae35 Bundle embedded web app 2023-10-05 19:50:33 +00:00
renovate[bot]
e55574bc78 fix(deps): update dependency sharp to v0.32.6 (#3320) 2023-10-05 12:38:33 -07:00
Owncast
b812e8edd6 Bundle embedded web app 2023-10-05 15:42:50 +00:00
renovate[bot]
31ccb0e308 chore(deps): update typescript-eslint monorepo to v6.7.3 2023-10-05 15:31:38 +00:00
Owncast
e4aae5de00 Bundle embedded web app 2023-10-05 13:10:05 +00:00
renovate[bot]
b2038c69c0 chore(deps): update dependency @types/prop-types to v15.7.8 2023-10-05 12:57:33 +00:00
Owncast
efdecefc02 Bundle embedded web app 2023-10-05 11:43:27 +00:00
renovate[bot]
7aa8659d6f chore(deps): update dependency @types/node to v18.18.1 2023-10-05 07:00:58 +00:00
Gabe Kangas
5b579b2a51 Remove install request of chrome for unavailable version 2023-10-04 23:57:50 -07:00
Gabe Kangas
3d120e8868 Specify old version of chrome that is not broken 2023-10-04 23:49:46 -07:00
Owncast
47dc18e0fa Commit screenshots 2023-10-04 04:25:41 +00:00
Gabe Kangas
8a32da05b4 Get updated version of chrome that doesn't break test 2023-10-03 18:51:04 -07:00
Owncast
02ce251bc4 Commit screenshots 2023-10-03 04:12:13 +00:00
Owncast
9070411827 Commit screenshots 2023-10-02 04:21:32 +00:00
Owncast
753602d667 Commit screenshots 2023-10-01 04:30:42 +00:00
Owncast
34c18be8b6 Commit screenshots 2023-09-30 04:32:35 +00:00
Owncast
bcc0531dcb Commit screenshots 2023-09-29 04:21:34 +00:00
Owncast
eba4358825 Commit screenshots 2023-09-28 04:22:30 +00:00
Owncast
a42e782133 Commit screenshots 2023-09-27 04:11:24 +00:00
Owncast
1cafc5713e Commit screenshots 2023-09-26 04:11:56 +00:00
Owncast
3ff7645606 Commit screenshots 2023-09-25 04:10:50 +00:00
Owncast
fe0b0c2501 Commit screenshots 2023-09-24 04:12:57 +00:00
Owncast
16e284575f Commit screenshots 2023-09-23 04:11:38 +00:00
Owncast
affde60c76 Commit screenshots 2023-09-22 04:33:05 +00:00
renovate[bot]
06be1d8d6f fix(deps): update module github.com/aws/aws-sdk-go to v1.45.14 2023-09-22 02:18:13 +00:00
Owncast
d7d48dc459 Bundle embedded web app 2023-09-22 02:16:23 +00:00
janWilejan
f762d7d65b Add offline option to bundle web.sh (#3202)
* add offline option to bundleWeb.sh

* fix offline flag for bundleWeb.sh

---------

Co-authored-by: janWilejan <>
2023-09-21 19:07:40 -07:00
Gabe Kangas
5748fe1b92 chore: rename web package 2023-09-21 18:55:24 -07:00
Gabe Kangas
03b785fbe2 fix: remove whitespace to resolve linter warning 2023-09-21 18:04:06 -07:00
Tom Funken
e375ea232a Renamed rewriteRemotePlaylist (#3313)
* Add support for remote serving endpoint on local storage

* Renamed rewriteRemotePlaylist
2023-09-21 17:58:02 -07:00
Owncast
75dcd6c0a6 Commit screenshots 2023-09-21 04:12:21 +00:00
renovate[bot]
766900ffc0 chore(deps): update peter-evans/create-or-update-comment digest to 46da6c0 2023-09-20 06:38:32 +00:00
Owncast
0ac52b015c Commit screenshots 2023-09-20 04:22:13 +00:00
Owncast
48d5c17bd6 Bundle embedded web app 2023-09-19 22:06:31 +00:00
renovate[bot]
f87214719d chore(deps): update dependency @babel/core to v7.22.20 2023-09-19 18:34:02 +00:00
Owncast
e63dafa94a Bundle embedded web app 2023-09-19 09:56:52 +00:00
renovate[bot]
39a98e9bbe chore(deps): update dependency @types/node to v18.17.17 2023-09-19 06:42:17 +00:00
Owncast
6e0e80c765 Commit screenshots 2023-09-19 04:22:02 +00:00
Owncast
172eb0ab49 Bundle embedded web app 2023-09-18 17:51:30 +00:00
renovate[bot]
d2c8a6ce28 chore(deps): lock file maintenance (#3314)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-18 10:43:01 -07:00
Owncast
a2a2b2aa2f Bundle embedded web app 2023-09-18 15:01:53 +00:00
renovate[bot]
c1193617ce chore(deps): update dependency @types/node to v18.17.16 2023-09-18 10:52:11 +00:00
Owncast
b6c0ecf3fc Bundle embedded web app 2023-09-18 10:51:31 +00:00
renovate[bot]
e5e8b3df52 chore(deps): update dependency @storybook/testing-library to v0.2.1 2023-09-18 08:40:16 +00:00
Owncast
69ff466594 Commit screenshots 2023-09-18 04:11:35 +00:00
Owncast
6a99f07ada Bundle embedded web app 2023-09-17 19:25:32 +00:00
renovate[bot]
52f275ecdb chore(deps): update dependency @babel/core to v7.22.19 2023-09-17 17:18:57 +00:00
Owncast
e5d7d694e4 Bundle embedded web app 2023-09-17 13:08:39 +00:00
renovate[bot]
bb57b4395a chore(deps): update dependency knip to v2.24.1 2023-09-17 10:26:27 +00:00
Owncast
ba34872f53 Bundle embedded web app 2023-09-17 10:25:49 +00:00
renovate[bot]
6dc850697f fix(deps): update dependency @codemirror/lang-markdown to v6.2.1 2023-09-17 08:16:24 +00:00
Owncast
1ea167249d Bundle embedded web app 2023-09-17 08:15:43 +00:00
renovate[bot]
90709c3279 chore(deps): update dependency sass to v1.67.0 2023-09-17 04:36:41 +00:00
Owncast
3f3873936b Commit screenshots 2023-09-17 04:11:58 +00:00
Owncast
753433faee Commit screenshots 2023-09-16 04:11:24 +00:00
Owncast
c2c6f4fd0b Bundle embedded web app 2023-09-16 02:26:50 +00:00
renovate[bot]
4089a0e5fb chore(deps): update dependency knip to v2.24.0 2023-09-15 21:30:11 +00:00
Owncast
47f9169d99 Bundle embedded web app 2023-09-15 10:07:58 +00:00
renovate[bot]
622cfed4cc chore(deps): update dependency knip to v2.23.0 2023-09-15 07:30:41 +00:00
Owncast
bcaf3c90d5 Commit screenshots 2023-09-15 04:11:30 +00:00
Owncast
2a5186add5 Bundle embedded web app 2023-09-15 00:33:34 +00:00
dependabot[bot]
99362f7dba Bump @cypress/request and cypress in /web (#3310)
Bumps [@cypress/request](https://github.com/cypress-io/request) to 3.0.1 and updates ancestor dependency [cypress](https://github.com/cypress-io/cypress). These dependencies need to be updated together.


Updates `@cypress/request` from 2.88.12 to 3.0.1
- [Release notes](https://github.com/cypress-io/request/releases)
- [Changelog](https://github.com/cypress-io/request/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/request/compare/v2.88.12...v3.0.1)

Updates `cypress` from 12.17.4 to 13.2.0
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.17.4...v13.2.0)

---
updated-dependencies:
- dependency-name: "@cypress/request"
  dependency-type: indirect
- dependency-name: cypress
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-14 17:25:11 -07:00
Owncast
16ce7e0d28 Bundle embedded web app 2023-09-14 22:44:02 +00:00
renovate[bot]
677944da12 chore(deps): update typescript-eslint monorepo to v6.7.0 2023-09-14 20:01:02 +00:00
Owncast
7b4af220d0 Commit screenshots 2023-09-14 04:15:35 +00:00
renovate[bot]
667f9a8c69 chore(deps): update peter-evans/create-or-update-comment digest to 1f6c514 2023-09-13 11:51:37 +00:00
Owncast
51e494c8e2 Commit screenshots 2023-09-13 04:12:43 +00:00
Owncast
98645ba318 Bundle embedded web app 2023-09-12 17:22:40 +00:00
renovate[bot]
2abf2fd100 fix(deps): update dependency ua-parser-js to v1.0.36 2023-09-12 14:21:25 +00:00
Owncast
870b20e4f8 Bundle embedded web app 2023-09-12 04:09:18 +00:00
renovate[bot]
c6fb8894d7 chore(deps): update dependency eslint to v8.49.0 2023-09-12 00:32:20 +00:00
Owncast
ca2923949d Bundle embedded web app 2023-09-12 00:31:42 +00:00
renovate[bot]
a2af0ec5ce chore(deps): update dependency @types/node to v18.17.15 2023-09-11 23:09:05 +00:00
Owncast
4ec9b786b2 Bundle embedded web app 2023-09-11 17:13:46 +00:00
renovate[bot]
c73f0cdb12 chore(deps): update dependency @babel/core to v7.22.17 2023-09-11 14:19:41 +00:00
Owncast
73f656b727 Bundle embedded web app 2023-09-11 14:18:58 +00:00
renovate[bot]
0e04578f62 chore(deps): lock file maintenance 2023-09-11 14:11:30 +00:00
Owncast
187eb43a11 Commit screenshots 2023-09-11 04:12:00 +00:00
Owncast
e3639843cf Bundle embedded web app 2023-09-10 18:15:57 +00:00
Tiffany
9094ade2c0 Handle error thrown in postConfigUpdateToAPI (#3299)
Co-authored-by: Tiffany L <tleugn@wpi.edu>
2023-09-10 11:07:46 -07:00
Owncast
d4428d168b Bundle embedded web app 2023-09-10 18:05:36 +00:00
Gabe Kangas
169c11596c feat(chat): add support for chat part messages. Closes #3201 (#3291) 2023-09-10 10:58:11 -07:00
dependabot[bot]
fb0ac492b2 Bump fast-xml-parser and artillery in /test/load (#3300)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) to 4.2.5 and updates ancestor dependency [artillery](https://github.com/artilleryio/artillery). These dependencies need to be updated together.


Updates `fast-xml-parser` from 3.19.0 to 4.2.5
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/3.19.0...v4.2.5)

Updates `artillery` from 2.0.0-34 to 2.0.0-36-f351294
- [Release notes](https://github.com/artilleryio/artillery/releases)
- [Commits](https://github.com/artilleryio/artillery/commits)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
- dependency-name: artillery
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-10 10:46:00 -07:00
Owncast
570787ee8c Bundle embedded web app 2023-09-10 11:04:02 +00:00
renovate[bot]
87f0ca748f chore(deps): update dependency knip to v2.22.0 2023-09-10 08:25:33 +00:00
Owncast
57a66c9a17 Commit screenshots 2023-09-10 04:31:02 +00:00
Owncast
4e7b2db85d Bundle embedded web app 2023-09-09 17:18:37 +00:00
renovate[bot]
fd7b0e63ae fix(deps): update dependency react-virtuoso to v4.5.1 2023-09-09 12:42:14 +00:00
Owncast
097c6898d1 Bundle embedded web app 2023-09-09 12:41:36 +00:00
renovate[bot]
8bcdea7d40 fix(deps): update dependency antd to v4.24.14 2023-09-09 11:31:27 +00:00
Owncast
4be4d984db Commit screenshots 2023-09-09 04:31:30 +00:00
Owncast
4e9cb61a60 Bundle embedded web app 2023-09-08 08:27:10 +00:00
renovate[bot]
1e4bfc0eba chore(deps): update dependency knip to v2.21.2 2023-09-08 05:14:04 +00:00
Owncast
204cc2cb4d Commit screenshots 2023-09-08 04:11:13 +00:00
Owncast
53740562af Bundle embedded web app 2023-09-07 22:31:29 +00:00
renovate[bot]
f7f62437c7 chore(deps): update typescript-eslint monorepo to v6.6.0 2023-09-07 19:57:33 +00:00
Owncast
c24c8d3f01 Bundle embedded web app 2023-09-07 19:56:46 +00:00
renovate[bot]
679bc3f329 chore(deps): update dependency @types/chart.js to v2.9.38 2023-09-07 16:06:10 +00:00
Owncast
a0977e9454 Bundle embedded web app 2023-09-07 16:05:30 +00:00
renovate[bot]
bef2a86eb7 chore(deps): update dependency @babel/core to v7.22.15 2023-09-07 14:00:00 +00:00
renovate[bot]
0eecd1a5f4 fix(deps): update module github.com/cafxx/httpcompression to v0.0.9 2023-09-07 06:52:18 +00:00
Owncast
bacd549ae9 Commit screenshots 2023-09-07 04:26:19 +00:00
Shreyas
062de79920 Block Private URLs at serverurl API endpoint (#3295)
* Block Private URLs at `serverurl` API endpoint

* Block Private URLs at `serverurl` with `net/netip`
2023-09-06 20:28:15 -07:00
renovate[bot]
50c4c1a5c7 chore(deps): update peter-evans/create-or-update-comment digest to 223779b 2023-09-06 06:30:15 +00:00
Owncast
26356615bb Commit screenshots 2023-09-06 04:09:56 +00:00
Owncast
cfb42fd44f Bundle embedded web app 2023-09-05 23:01:32 +00:00
renovate[bot]
d1d2c364bb chore(deps): update dependency @types/node to v18.17.14 2023-09-05 20:18:45 +00:00
renovate[bot]
91fd9a9c99 chore(deps): update peter-evans/create-or-update-comment digest to 46846e5 2023-09-05 11:11:14 +00:00
Owncast
ad976a9745 Commit screenshots 2023-09-05 04:10:33 +00:00
renovate[bot]
4f2957a784 fix(deps): update dependency @uiw/react-codemirror to v4.21.13 2023-09-05 01:37:11 +00:00
Owncast
45bdc85160 Bundle embedded web app 2023-09-05 01:36:31 +00:00
renovate[bot]
2a017930c7 chore(deps): update dependency @types/node to v18.17.13 2023-09-04 22:20:56 +00:00
Owncast
5ac3326f37 Bundle embedded web app 2023-09-04 22:20:14 +00:00
renovate[bot]
7d816c527e fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.13 2023-09-04 19:25:45 +00:00
renovate[bot]
f0a3bc54d1 chore(deps): lock file maintenance 2023-09-04 13:52:32 +00:00
Owncast
2be46ff43f Commit screenshots 2023-09-04 04:10:45 +00:00
Owncast
4194a126eb Bundle embedded web app 2023-09-03 09:23:32 +00:00
renovate[bot]
c82ebc178e chore(deps): update dependency knip to v2.21.1 2023-09-03 07:35:40 +00:00
Owncast
274771462f Commit screenshots 2023-09-03 04:21:01 +00:00
Owncast
9d9c140df6 Bundle embedded web app 2023-09-03 00:12:43 +00:00
renovate[bot]
10bbf145c0 chore(deps): update dependency @types/ua-parser-js to v0.7.37 2023-09-02 22:16:05 +00:00
Owncast
194c99f314 Bundle embedded web app 2023-09-02 11:09:31 +00:00
renovate[bot]
92e6b72a97 chore(deps): update dependency knip to v2.21.0 2023-09-02 07:14:32 +00:00
Owncast
8d6d20d115 Commit screenshots 2023-09-02 04:21:05 +00:00
Owncast
0d84b0de43 Bundle embedded web app 2023-09-02 02:33:23 +00:00
renovate[bot]
580ab9e216 fix(deps): update dependency @uiw/react-codemirror to v4.21.12 2023-09-01 22:22:56 +00:00
Owncast
997755e49d Bundle embedded web app 2023-09-01 22:22:18 +00:00
renovate[bot]
caa229ae03 fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.12 2023-09-01 19:23:40 +00:00
Owncast
d242cc76a1 Bundle embedded web app 2023-09-01 16:04:48 +00:00
renovate[bot]
ab37b9dc7a chore(deps): update dependency prettier to v3.0.3 2023-09-01 13:47:22 +00:00
Owncast
8ce17312c5 Commit screenshots 2023-09-01 04:10:57 +00:00
Owncast
b9021ae162 Bundle embedded web app 2023-09-01 02:10:18 +00:00
renovate[bot]
f357b1bd5e chore(deps): update typescript-eslint monorepo to v6.5.0 2023-08-31 22:03:56 +00:00
Owncast
85e1c3af55 Bundle embedded web app 2023-08-31 22:03:18 +00:00
renovate[bot]
f4cd4d7368 fix(deps): update codemirror 2023-08-31 19:47:20 +00:00
Owncast
714a62e49e Bundle embedded web app 2023-08-31 19:46:43 +00:00
renovate[bot]
b6367a227d fix(deps): update dependency yaml to v2.3.2 2023-08-31 15:39:21 +00:00
Owncast
ae4cf81ad0 Bundle embedded web app 2023-08-31 11:13:36 +00:00
renovate[bot]
e2b07c28c7 chore(deps): update dependency knip to v2.20.2 2023-08-31 07:01:13 +00:00
Owncast
bf895ca1d8 Commit screenshots 2023-08-31 04:21:08 +00:00
Owncast
fa818b6b2f Bundle embedded web app 2023-08-31 03:10:49 +00:00
renovate[bot]
def783a440 chore(deps): update dependency @types/node to v18.17.12 2023-08-31 01:54:30 +00:00
renovate[bot]
d2f9f803ee chore(deps): update peter-evans/create-or-update-comment digest to 94ff342 (#3287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-30 18:53:51 -07:00
renovate[bot]
2b0fd5df7a fix(deps): update module github.com/aws/aws-sdk-go to v1.44.334 2023-08-30 09:44:19 +00:00
Owncast
a910a05738 Bundle embedded web app 2023-08-30 06:52:15 +00:00
renovate[bot]
6447b827c8 fix(deps): update dependency @codemirror/lang-javascript to v6.2.0 2023-08-30 05:01:25 +00:00
Owncast
c77a0a7894 Commit screenshots 2023-08-30 04:11:13 +00:00
Owncast
96dfac2865 Bundle embedded web app 2023-08-30 01:34:48 +00:00
renovate[bot]
9e5d39c00c chore(deps): update dependency knip to v2.20.1 2023-08-29 22:53:02 +00:00
Owncast
ae48198d8d Bundle embedded web app 2023-08-29 22:52:24 +00:00
renovate[bot]
f86a707cb3 chore(deps): update dependency @types/markdown-it to v13.0.1 2023-08-29 19:42:22 +00:00
Owncast
b5e4f30e90 Bundle embedded web app 2023-08-29 18:59:44 +00:00
renovate[bot]
68d67bef85 fix(deps): update dependency @uiw/react-codemirror to v4.21.11 2023-08-29 15:07:35 +00:00
Owncast
38c017a24b Bundle embedded web app 2023-08-29 15:06:57 +00:00
renovate[bot]
50a6bfaeea fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.11 2023-08-29 11:00:52 +00:00
Owncast
745df2cca2 Commit screenshots 2023-08-29 04:12:31 +00:00
Owncast
cfa0d2b718 Bundle embedded web app 2023-08-29 03:24:08 +00:00
renovate[bot]
a3df90bc89 chore(deps): update dependency eslint to v8.48.0 2023-08-29 00:19:23 +00:00
Owncast
e68d1e74e3 Bundle embedded web app 2023-08-29 00:18:46 +00:00
renovate[bot]
33a9c80e17 fix(deps): update dependency @uiw/react-codemirror to v4.21.10 2023-08-28 22:55:46 +00:00
Owncast
072a8c0498 Bundle embedded web app 2023-08-28 22:55:08 +00:00
renovate[bot]
994ad17d8d fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.10 2023-08-28 19:16:10 +00:00
Owncast
f30acd798d Bundle embedded web app 2023-08-28 19:15:31 +00:00
renovate[bot]
e0bfdfb9b6 chore(deps): update dependency chromatic to v6.24.1 2023-08-28 17:20:58 +00:00
Owncast
a00440ce67 Bundle embedded web app 2023-08-28 17:20:21 +00:00
renovate[bot]
ff17b59104 chore(deps): update dependency mermaid to v10.4.0 2023-08-28 13:24:09 +00:00
Owncast
ec61b255c4 Bundle embedded web app 2023-08-28 11:18:45 +00:00
renovate[bot]
62d78a03e7 chore(deps): update dependency @types/node to v18.17.11 2023-08-28 06:29:11 +00:00
Gabe Kangas
974ec15b5d fix: export correct timestamps on build artifacts. Closes #3282 2023-08-27 21:45:40 -07:00
Owncast
0694dad4c7 Commit screenshots 2023-08-28 04:11:21 +00:00
Owncast
11df231f88 Bundle embedded web app 2023-08-28 00:59:59 +00:00
renovate[bot]
308c683bc9 fix(deps): update dependency chart.js to v4.4.0 2023-08-27 21:13:42 +00:00
Owncast
b5f24dcbd3 Bundle embedded web app 2023-08-27 21:12:50 +00:00
renovate[bot]
3518f1a00f chore(deps): update dependency chromatic to v6.24.0 2023-08-27 20:40:03 +00:00
Owncast
d64d64ced5 Bundle embedded web app 2023-08-27 20:39:22 +00:00
renovate[bot]
ae6203657e chore(deps): update dependency @babel/core to v7.22.11 2023-08-27 17:06:42 +00:00
Owncast
b35813d928 Commit screenshots 2023-08-27 04:10:20 +00:00
Owncast
b8694c3629 Bundle embedded web app 2023-08-27 01:33:40 +00:00
renovate[bot]
1fc61b8512 chore(deps): update dependency @types/node to v18.17.9 2023-08-26 23:18:44 +00:00
renovate[bot]
74846e00a3 chore(deps): update tj-actions/changed-files action to v38 (#3280)
* chore(deps): update dependency knip to v2.19.10

* chore(deps): update tj-actions/changed-files action to v38

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-26 16:17:58 -07:00
renovate[bot]
c298f276c1 fix(deps): update module github.com/aws/aws-sdk-go to v1.44.332 2023-08-26 19:57:42 +00:00
Owncast
67f5f6479d Bundle embedded web app 2023-08-26 19:56:58 +00:00
renovate[bot]
3471b923ec chore(deps): update dependency knip to v2.19.11 2023-08-26 17:52:48 +00:00
Owncast
b2f82fdcbc Bundle embedded web app 2023-08-26 17:52:08 +00:00
renovate[bot]
0185cf605b chore(deps): update typescript-eslint monorepo to v6.4.1 (#3274)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-08-26 10:45:05 -07:00
Owncast
8ae1807680 Bundle embedded web app 2023-08-26 16:48:11 +00:00
renovate[bot]
11bfd01a18 chore(deps): update dependency chromatic to v6.23.0 (#3276)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-08-26 09:35:12 -07:00
Owncast
3e256da143 Commit screenshots 2023-08-26 04:11:01 +00:00
Owncast
1431a9b9c8 Bundle embedded web app 2023-08-26 03:55:12 +00:00
renovate[bot]
ca6c3e2d18 chore(deps): update dependency @types/jest to v29.5.4 (#3278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-08-25 20:47:14 -07:00
renovate[bot]
68a3c7d2f4 chore(deps): update peter-evans/create-or-update-comment digest to 8c21c80 (#3272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-08-25 20:43:38 -07:00
renovate[bot]
4786df39eb chore(deps): update dependency @types/react to v18.2.21 (#3279)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-08-25 20:41:32 -07:00
Gabe Kangas
3174eb20e5 fix: updates for new linter rules. Closes #3277 2023-08-25 19:58:44 -07:00
Owncast
718b76fcc2 Bundle embedded web app 2023-08-25 19:42:27 +00:00
renovate[bot]
a66dc01d2e chore(deps): update dependency @types/node to v18.17.8 (#3275)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-25 12:26:30 -07:00
Owncast
63ef0b6cec Bundle embedded web app 2023-08-25 11:40:12 +00:00
renovate[bot]
1be4cba4fd chore(deps): update dependency knip to v2.19.9 2023-08-25 08:01:03 +00:00
Owncast
39e5365226 Commit screenshots 2023-08-25 04:10:23 +00:00
Owncast
c943003f9a Bundle embedded web app 2023-08-24 20:55:11 +00:00
renovate[bot]
54abcf1b54 chore(deps): update dependency knip to v2.19.8 2023-08-24 16:55:08 +00:00
Owncast
4ff4297d0a Commit screenshots 2023-08-24 04:10:24 +00:00
Owncast
63475d1efd Commit screenshots 2023-08-23 04:10:57 +00:00
Owncast
5c261c213e Bundle embedded web app 2023-08-22 07:09:14 +00:00
renovate[bot]
3a561e0853 chore(deps): update dependency sass to v1.66.1 (#3269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-22 00:01:32 -07:00
Owncast
316c51fd09 Commit screenshots 2023-08-22 04:10:49 +00:00
Owncast
fcb3178a77 Bundle embedded web app 2023-08-22 03:34:03 +00:00
renovate[bot]
4e1f67d84d chore(deps): update nextjs monorepo to v13.4.19 2023-08-22 00:39:35 +00:00
Owncast
c8bc5f8121 Bundle embedded web app 2023-08-21 23:22:41 +00:00
renovate[bot]
779c5805cf chore(deps): update dependency @types/node to v18.17.6 2023-08-21 20:31:05 +00:00
Owncast
327b457533 Bundle embedded web app 2023-08-21 13:18:38 +00:00
renovate[bot]
d36589333c chore(deps): lock file maintenance 2023-08-21 13:11:29 +00:00
Owncast
c52a5a60b9 Bundle embedded web app 2023-08-21 10:48:23 +00:00
renovate[bot]
b93c826616 chore(deps): update nextjs monorepo to v13.4.18 2023-08-21 08:09:41 +00:00
Owncast
4421d4a4f9 Commit screenshots 2023-08-21 04:10:17 +00:00
Owncast
2851dbc05f Bundle embedded web app 2023-08-21 00:10:56 +00:00
renovate[bot]
6be6a65153 chore(deps): update dependency sass to v1.66.0 2023-08-20 21:10:28 +00:00
Gabe Kangas
b51829a0a7 chore(ci): fix duplicate runs of bundle step 2023-08-20 10:59:55 -07:00
Owncast
bea4a50caa Bundle embedded web app 2023-08-20 15:26:54 +00:00
Owncast
1d85b0c60a Bundle embedded web app 2023-08-20 15:22:33 +00:00
renovate[bot]
d0984d13c7 chore(deps): update nextjs monorepo to v13.4.17 2023-08-20 13:11:17 +00:00
Owncast
52ea7255e4 Commit screenshots 2023-08-20 04:11:25 +00:00
renovate[bot]
ef75730aa7 fix(deps): update module golang.org/x/net to v0.14.0 2023-08-19 13:07:59 +00:00
Owncast
e6c322fa3b Bundle embedded web app 2023-08-19 13:07:19 +00:00
Owncast
c7a9a67812 Bundle embedded web app 2023-08-19 13:04:42 +00:00
renovate[bot]
db9448d324 chore(deps): update dependency chromatic to v6.22.0 2023-08-19 10:56:04 +00:00
Owncast
c8a02df484 Bundle embedded web app 2023-08-19 10:55:23 +00:00
Owncast
05834422a8 Bundle embedded web app 2023-08-19 10:53:27 +00:00
renovate[bot]
669862908e chore(deps): update dependency eslint-plugin-react to v7.33.2 2023-08-19 06:29:26 +00:00
Owncast
9683081bb0 Bundle embedded web app 2023-08-19 06:28:51 +00:00
Owncast
9177c98010 Bundle embedded web app 2023-08-19 06:24:36 +00:00
renovate[bot]
8b2ff05dc5 chore(deps): update typescript-eslint monorepo to v6 (#3265)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-18 23:19:15 -07:00
Owncast
895378799f Bundle embedded web app 2023-08-19 05:37:33 +00:00
Gabe Kangas
8cb4103f3f chore(ci): cancel other build runs on duplicat 2023-08-18 22:32:48 -07:00
Owncast
d5e3c784eb Bundle embedded web app 2023-08-19 05:28:17 +00:00
Owncast
468cdea069 Bundle embedded web app 2023-08-19 05:22:44 +00:00
Owncast
dd6b94cfd7 Bundle embedded web app 2023-08-19 05:13:27 +00:00
renovate[bot]
3c23bfbedb chore(deps): update dependency mdx-mermaid to v2 (#3264)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-18 22:10:40 -07:00
renovate[bot]
1ff26ee671 chore(deps): update dependency @svgr/webpack to v8 (#3262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-18 22:09:52 -07:00
renovate[bot]
9c442d62b5 chore(deps): update dependency eslint-config-prettier to v9 (#3263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-18 22:07:52 -07:00
Owncast
cd196267bb Bundle embedded web app 2023-08-19 04:34:35 +00:00
Owncast
45abcdb98a Bundle embedded web app 2023-08-19 04:29:55 +00:00
renovate[bot]
b0ebfba93a chore(deps): update dependency @types/markdown-it to v13 (#3261)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-18 21:25:01 -07:00
Owncast
f3f6251208 Commit screenshots 2023-08-19 04:23:53 +00:00
Owncast
c5a5e96866 Bundle embedded web app 2023-08-19 04:11:19 +00:00
Owncast
c8035cc4d7 Bundle embedded web app 2023-08-19 04:06:07 +00:00
renovate[bot]
100aef5286 chore(deps): lock file maintenance (#3257)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-18 21:02:10 -07:00
Gabe Kangas
c28d254a96 chore(ci): push_request_target -> push_request 2023-08-18 20:48:23 -07:00
Gabe Kangas
7e7d2660d0 fix(test): select all wasn't working, making the display name typed in too long 2023-08-18 20:28:25 -07:00
renovate[bot]
759796d81e fix(deps): update module github.com/aws/aws-sdk-go to v1.44.327 2023-08-19 01:02:02 +00:00
Owncast
bf25373f28 Bundle embedded web app 2023-08-19 01:01:24 +00:00
Owncast
2267d717ae Bundle embedded web app 2023-08-19 00:56:37 +00:00
renovate[bot]
6afdcc7905 fix(deps): update dependency sharp to v0.32.5 2023-08-18 23:14:51 +00:00
Owncast
1e1fa04d99 Bundle embedded web app 2023-08-18 23:14:16 +00:00
Owncast
f85f1daba0 Bundle embedded web app 2023-08-18 23:08:24 +00:00
renovate[bot]
1c620ae023 chore(deps): update dependency cypress to v12.17.4 2023-08-18 19:22:00 +00:00
renovate[bot]
146f8a9ae5 fix(deps): update module github.com/shirou/gopsutil/v3 to v3.23.7 2023-08-18 17:27:52 +00:00
Owncast
618d2b81af Bundle embedded web app 2023-08-18 17:26:54 +00:00
Owncast
acbd13562d Bundle embedded web app 2023-08-18 17:19:10 +00:00
renovate[bot]
a69edd3efe chore(deps): update dependency prettier to v3.0.2 2023-08-18 16:48:50 +00:00
renovate[bot]
981411029c fix(deps): update module github.com/yuin/goldmark to v1.5.6 2023-08-18 15:38:12 +00:00
Owncast
012d45455f Bundle embedded web app 2023-08-18 10:40:56 +00:00
Owncast
291793e300 Bundle embedded web app 2023-08-18 10:36:46 +00:00
renovate[bot]
d4bbbed05d fix(deps): update dependency video.js to v8.5.2 2023-08-18 06:24:34 +00:00
Owncast
73484e7872 Bundle embedded web app 2023-08-18 06:23:57 +00:00
Owncast
8ef1605267 Bundle embedded web app 2023-08-18 06:20:49 +00:00
renovate[bot]
1bd75d11ee fix(deps): update nextjs monorepo to v13.4.16 2023-08-18 04:53:55 +00:00
Owncast
3de8478f70 Commit screenshots 2023-08-18 04:13:54 +00:00
Owncast
d6c59b10d5 Bundle embedded web app 2023-08-18 02:41:18 +00:00
Owncast
aa70e2082b Bundle embedded web app 2023-08-18 02:35:59 +00:00
Gabe Kangas
364afd0e71 fix: add spacing between user badges. Closes #3247 2023-08-17 19:28:21 -07:00
Gabe Kangas
78cda4b8db chore: manually build web project 2023-08-17 17:42:50 -07:00
Owncast
50f306fe7a Bundle embedded web app 2023-08-17 21:50:14 +00:00
Owncast
eef687a380 Bundle embedded web app 2023-08-17 21:48:02 +00:00
renovate[bot]
fe19aa4c77 fix(deps): update nextjs monorepo to v13.4.15 2023-08-17 19:02:45 +00:00
Owncast
004b6f4a1e Commit screenshots 2023-08-17 04:10:47 +00:00
Gabe Kangas
ef14067044 fix: support arm64 darwin builds for Apple Silicon. For #3056 2023-08-16 18:43:14 -07:00
Gabe Kangas
1e57cff3e0 fix: use lightweight bot/scraper html responses. Fixes #3253 2023-08-16 18:19:09 -07:00
Gabe Kangas
78ec6302b9 fix(ci): add untracked files before rebase. For #3255 2023-08-16 17:21:39 -07:00
Owncast
4bd813a0be Bundle embedded web app 2023-08-17 00:14:19 +00:00
Gabe Kangas
5ac0d5bbca feat(admin): add explicit directory info agreement modal. Closes #3258 2023-08-16 17:08:19 -07:00
Owncast
f3f93c8d08 Bundle embedded web app 2023-08-16 21:59:29 +00:00
Owncast
ca4123cc5c Bundle embedded web app 2023-08-16 21:55:34 +00:00
renovate[bot]
18a3ac87ad fix(deps): update dependency autoprefixer to v10.4.15 2023-08-16 19:36:01 +00:00
renovate[bot]
0aa98943ae chore(deps): update peter-evans/create-or-update-comment digest to bb291f6 2023-08-16 06:43:45 +00:00
Owncast
f0be9ea119 Commit screenshots 2023-08-16 04:13:47 +00:00
dependabot[bot]
88c614f6e1 Bump protobufjs from 6.11.3 to 6.11.4 in /test/load (#3259)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 6.11.3 to 6.11.4.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/commits)

---
updated-dependencies:
- dependency-name: protobufjs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-15 20:00:06 -07:00
Owncast
e79d9dfd3c Commit screenshots 2023-08-15 04:10:23 +00:00
Owncast
c4c10da99d Bundle embedded web app 2023-08-15 01:06:49 +00:00
Owncast
59f6c36c31 Bundle embedded web app 2023-08-15 01:05:32 +00:00
renovate[bot]
96cfc2826e chore(deps): update dependency @types/node to v18.17.5 2023-08-14 23:11:28 +00:00
Owncast
8ea00e76dc Bundle embedded web app 2023-08-14 18:59:36 +00:00
Owncast
3f92046d57 Bundle embedded web app 2023-08-14 18:55:36 +00:00
renovate[bot]
ab29024f52 chore(deps): update dependency eslint to v8.47.0 2023-08-14 15:48:56 +00:00
Owncast
fe9fbfb79c Bundle embedded web app 2023-08-14 15:48:20 +00:00
Owncast
bd0dbb96b7 Bundle embedded web app 2023-08-14 15:44:52 +00:00
renovate[bot]
2d7522c8e4 chore(deps): update dependency mermaid to v10.3.1 2023-08-14 12:37:32 +00:00
Owncast
c3797c9b96 Bundle embedded web app 2023-08-14 10:12:15 +00:00
Owncast
ab170b0a11 Bundle embedded web app 2023-08-14 10:10:04 +00:00
renovate[bot]
98f67b1cd0 chore(deps): update dependency knip to v2.19.3 2023-08-14 09:39:07 +00:00
Owncast
1439cfb9fc Commit screenshots 2023-08-14 04:10:03 +00:00
Owncast
a818095e5d Bundle embedded web app 2023-08-14 01:18:48 +00:00
renovate[bot]
437878eee2 fix(deps): update dependency react-error-boundary to v4.0.11 2023-08-13 21:21:03 +00:00
John Regan
a703df5182 Check if proposed name change is an API name (#3256)
Fixes #3234
2023-08-13 08:57:20 -07:00
Owncast
322c0d52bc Bundle embedded web app 2023-08-13 15:39:32 +00:00
Owncast
8e79760825 Bundle embedded web app 2023-08-13 15:36:33 +00:00
renovate[bot]
38bb389cce chore(deps): update dependency knip to v2.19.2 2023-08-13 12:43:26 +00:00
Owncast
6882728635 Bundle embedded web app 2023-08-13 12:42:48 +00:00
renovate[bot]
629cb8b52e fix(deps): update dependency @ant-design/icons to v4.8.1 2023-08-13 10:32:42 +00:00
Owncast
42698f0062 Commit screenshots 2023-08-13 04:10:50 +00:00
Owncast
6013a37553 Bundle embedded web app 2023-08-13 03:32:55 +00:00
Owncast
a7d597cf8d Bundle embedded web app 2023-08-13 03:31:13 +00:00
renovate[bot]
41851123f6 chore(deps): update dependency sass to v1.65.1 2023-08-13 00:49:28 +00:00
Gabe Kangas
845051c4c2 chore: rebase before commit bundled web app 2023-08-12 17:48:30 -07:00
Owncast
003a1dad62 Bundle embedded web app 2023-08-12 22:03:39 +00:00
renovate[bot]
7b0895c423 chore(deps): update dependency @types/react to v18.2.20 2023-08-12 19:35:38 +00:00
Owncast
611f44e72b Bundle embedded web app 2023-08-12 12:35:19 +00:00
renovate[bot]
bc7f667ff8 fix(deps): update dependency react-virtuoso to v4.5.0 2023-08-12 10:11:52 +00:00
Gabe Kangas
1618ab8645 chore: update formatting based on updated linting rules 2023-08-11 22:34:05 -07:00
Gabe Kangas
1a7b6b99d5 feat(storage): support a object storage custom path prefix 2023-08-11 22:18:45 -07:00
Owncast
d5c54aacc1 Commit screenshots 2023-08-12 04:10:08 +00:00
Owncast
17f23436b6 Bundle embedded web app 2023-08-12 01:17:21 +00:00
renovate[bot]
c3e488e321 chore(deps): update dependency @types/node to v18.17.4 2023-08-11 22:26:12 +00:00
Owncast
18df448552 Bundle embedded web app 2023-08-11 14:02:11 +00:00
renovate[bot]
0521489d94 chore(deps): update dependency knip to v2.19.1 2023-08-11 10:11:22 +00:00
Owncast
dc6b9de8ba Bundle embedded web app 2023-08-11 10:10:45 +00:00
renovate[bot]
493b3744e8 chore(deps): update dependency @types/react to v18.2.19 2023-08-11 06:57:24 +00:00
Owncast
369f1cdd6a Commit screenshots 2023-08-11 04:10:21 +00:00
Owncast
187cb1ae98 Bundle embedded web app 2023-08-10 23:04:13 +00:00
renovate[bot]
00e27a8c3f chore(deps): update dependency @babel/core to v7.22.10 2023-08-10 18:21:23 +00:00
Owncast
497982c19c Bundle embedded web app 2023-08-10 15:08:21 +00:00
renovate[bot]
bedb293a7e chore(deps): update dependency chromatic to v6.21.0 2023-08-10 13:37:03 +00:00
Owncast
9ebb8ded54 Bundle embedded web app 2023-08-10 13:36:28 +00:00
renovate[bot]
c7a70450e0 chore(deps): update nextjs monorepo to v13.4.13 2023-08-10 10:11:06 +00:00
Owncast
6efc88929c Commit screenshots 2023-08-10 04:10:54 +00:00
renovate[bot]
d1fbfda234 chore(deps): update peter-evans/create-or-update-comment digest to 5f22cb8 2023-08-09 07:45:27 +00:00
Owncast
72a81f3fd2 Bundle embedded web app 2023-08-09 07:45:04 +00:00
renovate[bot]
83f1e3841f fix(deps): update dependency @fontsource/poppins to v5.0.8 2023-08-09 05:01:45 +00:00
Owncast
e050fe5265 Commit screenshots 2023-08-09 04:10:08 +00:00
Owncast
39146e02a2 Bundle embedded web app 2023-08-08 23:00:08 +00:00
renovate[bot]
16e78d80e1 chore(deps): update dependency less to v4.2.0 2023-08-08 20:08:17 +00:00
Owncast
1a7c5a4d85 Bundle embedded web app 2023-08-08 12:26:44 +00:00
renovate[bot]
9f61fdbc4a chore(deps): update dependency @types/node to v18.17.3 2023-08-08 10:45:28 +00:00
Owncast
b2513b56f6 Commit screenshots 2023-08-08 04:10:46 +00:00
Owncast
76afbdb50a Bundle embedded web app 2023-08-08 04:04:10 +00:00
renovate[bot]
c9196b2320 fix(deps): update dependency @codemirror/lang-css to v6.2.1 2023-08-08 00:22:42 +00:00
renovate[bot]
72c2ec8006 chore(deps): update alpine docker tag to v3.18.3 2023-08-07 23:26:32 +00:00
Owncast
5e2e08de2e Bundle embedded web app 2023-08-07 15:22:40 +00:00
renovate[bot]
81a37dc572 chore(deps): lock file maintenance (#3244)
* chore(deps): lock file maintenance

* Bundle embedded web app

* Bundle embedded web app

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2023-08-07 08:17:37 -07:00
Owncast
7318de577b Bundle embedded web app 2023-08-07 07:26:07 +00:00
renovate[bot]
868ac0507d chore(deps): lock file maintenance (#3243)
* chore(deps): lock file maintenance

* Bundle embedded web app

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2023-08-07 00:21:55 -07:00
Owncast
2570fc75ce Bundle embedded web app 2023-08-07 07:02:54 +00:00
dependabot[bot]
e2d8072957 Bump tough-cookie and @cypress/request in /web (#3242)
* Bump tough-cookie and @cypress/request in /web

Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) and [@cypress/request](https://github.com/cypress-io/request). These dependencies needed to be updated together.

Updates `tough-cookie` from 2.5.0 to 4.1.3
- [Release notes](https://github.com/salesforce/tough-cookie/releases)
- [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md)
- [Commits](https://github.com/salesforce/tough-cookie/compare/v2.5.0...v4.1.3)

Updates `@cypress/request` from 2.88.11 to 2.88.12
- [Release notes](https://github.com/cypress-io/request/releases)
- [Changelog](https://github.com/cypress-io/request/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/request/compare/v2.88.11...v2.88.12)

---
updated-dependencies:
- dependency-name: tough-cookie
  dependency-type: indirect
- dependency-name: "@cypress/request"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bundle embedded web app

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2023-08-06 23:58:42 -07:00
dependabot[bot]
655f049769 Bump tough-cookie and @cypress/request in /test/automated/browser (#3241)
Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) and [@cypress/request](https://github.com/cypress-io/request). These dependencies needed to be updated together.

Updates `tough-cookie` from 2.5.0 to 4.1.3
- [Release notes](https://github.com/salesforce/tough-cookie/releases)
- [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md)
- [Commits](https://github.com/salesforce/tough-cookie/compare/v2.5.0...v4.1.3)

Updates `@cypress/request` from 2.88.10 to 2.88.12
- [Release notes](https://github.com/cypress-io/request/releases)
- [Changelog](https://github.com/cypress-io/request/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/request/compare/v2.88.10...v2.88.12)

---
updated-dependencies:
- dependency-name: tough-cookie
  dependency-type: indirect
- dependency-name: "@cypress/request"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-06 23:45:34 -07:00
Owncast
3a4614ef82 Commit screenshots 2023-08-07 04:11:09 +00:00
Owncast
2fa20fa96a Bundle embedded web app 2023-08-07 04:01:06 +00:00
renovate[bot]
78db21c36f chore(deps): update dependency @types/node to v18.17.2 2023-08-07 01:32:59 +00:00
Owncast
2c26e66d2f Bundle embedded web app 2023-08-06 18:56:57 +00:00
renovate[bot]
301207fc0b fix(deps): update fontsource monorepo to v5.0.7 2023-08-06 16:50:34 +00:00
Owncast
6eb8003367 Bundle embedded web app 2023-08-06 16:49:55 +00:00
renovate[bot]
bab9483a74 chore(deps): update dependency eslint-config-prettier to v8.10.0 2023-08-06 13:28:59 +00:00
Owncast
215845edcc Bundle embedded web app 2023-08-06 13:28:22 +00:00
renovate[bot]
20674f8781 fix(deps): update dependency antd to v4.24.13 2023-08-06 09:43:47 +00:00
Owncast
6dca37460e Bundle embedded web app 2023-08-06 09:43:13 +00:00
renovate[bot]
3eea33f489 chore(deps): update dependency prettier to v3.0.1 2023-08-06 07:07:27 +00:00
Owncast
c07adaa446 Bundle embedded web app 2023-08-06 07:06:51 +00:00
renovate[bot]
2ef9e9b988 fix(deps): update dependency chart.js to v4.3.3 2023-08-06 00:52:31 +00:00
Owncast
c1ece93d24 Bundle embedded web app 2023-08-06 00:51:55 +00:00
renovate[bot]
f97ebec14e fix(deps): update fontsource monorepo to v5.0.6 2023-08-05 22:58:07 +00:00
Owncast
2f9b5c8f8c Bundle embedded web app 2023-08-05 22:57:24 +00:00
renovate[bot]
cb8b0ff005 chore(deps): update dependency knip to v2.17.3 2023-08-05 16:50:31 +00:00
Owncast
d9df66ee23 Bundle embedded web app 2023-08-05 05:01:58 +00:00
renovate[bot]
d4a4261243 chore(deps): update dependency handlebars to v4.7.8 2023-08-05 00:14:17 +00:00
Owncast
2f2b7caff5 Bundle embedded web app 2023-08-05 00:13:42 +00:00
renovate[bot]
8bbb9024bb chore(deps): update dependency cypress to v12.17.3 2023-08-04 22:04:13 +00:00
Gabe Kangas
0fba5f70e2 feat(video): add IP address to RTMP logs. Closes #3212 (#3233) 2023-08-03 20:54:56 -07:00
Owncast
afac6ee886 Bundle embedded web app 2023-08-04 03:44:36 +00:00
renovate[bot]
5b77513421 chore(deps): update dependency sass to v1.64.2 (#3237)
* chore(deps): update dependency sass to v1.64.2

* Bundle embedded web app

* Bundle embedded web app

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2023-08-03 20:36:16 -07:00
Gabe Kangas
e166e009aa fix: verify object and actor exists in Like request. Closes #3223 (#3232) 2023-08-03 20:34:50 -07:00
Gabe Kangas
c9298def5b Cleanup object storage files on success or failure (#3231)
* fix: cleanup object storage files on success or failure. Closes #3230

* fix: clean filepath when deleting for safety
2023-08-03 20:33:44 -07:00
Owncast
050028e72d Bundle embedded web app 2023-08-04 03:09:04 +00:00
Gabe Kangas
e3dc63994b chore: only push changes on develop branch 2023-08-03 20:03:55 -07:00
renovate[bot]
4be2d109f2 chore(deps): update dependency knip to v2.17.2 (#3236)
* chore(deps): update dependency knip to v2.17.2

* Bundle embedded web app

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2023-08-03 20:01:49 -07:00
Gabe Kangas
e1deb08c8c chore: js lint. use autostash when rebasing 2023-08-03 19:48:27 -07:00
Owncast
525df731f5 Bundle embedded web app 2023-08-04 01:26:17 +00:00
renovate[bot]
d55027f49b chore(deps): update dependency @types/react to v18.2.18 (#3235)
* chore(deps): update dependency @types/react to v18.2.18

* Bundle embedded web app

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>
2023-08-03 18:20:30 -07:00
Gabe Kangas
401d0bb44e chore: manually pull, rebase, and push 2023-08-02 14:04:05 -07:00
Owncast
6b9e070811 Bundle embedded web app 2023-08-02 20:51:08 +00:00
Gabe Kangas
243156b307 chore: address linter warnings 2023-08-02 13:46:00 -07:00
Gabe Kangas
d3c5e14aa0 chore: update eslint-plugin-prettier 2023-08-02 13:45:59 -07:00
Owncast
0a3313825b Bundle embedded web app 2023-08-02 19:35:04 +00:00
janWilejan
c00b0be3d4 fix emojis overflowing the chat message (#3228)
* fix emojis overflowing the chat message

* fix: force ignoring of certain paths?

---------

Co-authored-by: janWilejan <>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2023-08-02 12:29:25 -07:00
renovate[bot]
66fa8866f6 chore(deps): update peter-evans/create-or-update-comment digest to 38217c6 2023-08-02 06:12:54 +00:00
Owncast
f6d8018249 Bundle embedded web app 2023-08-02 03:08:26 +00:00
renovate[bot]
8c12e86a01 chore(deps): update dependency eslint-plugin-react to v7.33.1 2023-08-02 01:19:36 +00:00
Gabe Kangas
d5013e9b61 fix: force ignoring of certain paths? 2023-08-01 14:36:09 -07:00
Gabe Kangas
cab45f0be8 chore: force js formatting to occur before building/bundling 2023-08-01 14:30:08 -07:00
Owncast
27560ef6a9 Bundle embedded web app 2023-08-01 21:03:49 +00:00
Owncast
0c619420d6 Bundle embedded web app 2023-08-01 20:56:15 +00:00
Gabe Kangas
48652ac12c fix: be explicit about what dir we want to know has changed files 2023-08-01 13:49:05 -07:00
Owncast
b0f9c717ba Bundle embedded web app 2023-08-01 20:25:10 +00:00
Gabe Kangas
3ae0367bec fix: fix CI js linting? 2023-08-01 13:19:42 -07:00
Owncast
f8ea174b79 Bundle embedded web app 2023-08-01 20:14:08 +00:00
renovate[bot]
ee856a4f7a fix(deps): update module github.com/yuin/goldmark to v1.5.5 2023-07-31 19:43:14 +00:00
Owncast
218ce154af Bundle embedded web app 2023-07-31 19:42:29 +00:00
Gabe Kangas
00c054a748 fix: do not check against PAT as it is not required 2023-07-31 12:02:27 -07:00
Gabe Kangas
460f47d9b7 fix: update use of changed files to specify proper key 2023-07-31 12:02:26 -07:00
Owncast
8341328df0 Bundle embedded web app 2023-07-31 18:50:13 +00:00
renovate[bot]
c22ae15f55 chore(deps): update dependency eslint to v8.46.0 2023-07-31 17:50:07 +00:00
Owncast
9051afcceb Bundle embedded web app 2023-07-31 17:49:29 +00:00
Ikko Eltociear Ashimine
0fb821b33c Fix typo in actions.tsx (#3225)
alway -> always
2023-07-31 10:44:48 -07:00
Owncast
2d5b2e632f Bundle embedded web app 2023-07-31 16:11:57 +00:00
renovate[bot]
8de29bea77 chore(deps): lock file maintenance (#3224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-31 09:06:40 -07:00
Owncast
808d9fdbc3 Bundle embedded web app 2023-07-31 13:51:03 +00:00
renovate[bot]
0f1112432f fix(deps): update dependency @uiw/react-codemirror to v4.21.9 2023-07-31 10:01:24 +00:00
Owncast
c502eb021b Bundle embedded web app 2023-07-31 10:00:46 +00:00
renovate[bot]
b3f343c4bd fix(deps): update dependency @uiw/codemirror-theme-bbedit to v4.21.9 2023-07-31 07:33:42 +00:00
Owncast
9ede42c11d Commit screenshots 2023-07-31 04:10:26 +00:00
Owncast
868e8c2523 Bundle embedded web app 2023-07-30 16:00:14 +00:00
renovate[bot]
60c13bd544 chore(deps): update dependency eslint-config-prettier to v8.9.0 2023-07-30 12:35:25 +00:00
Owncast
2052f38d8a Bundle embedded web app 2023-07-30 12:34:49 +00:00
renovate[bot]
8b3d2d5adc fix(deps): update dependency xstate to v4.38.2 2023-07-30 10:34:40 +00:00
Owncast
9f864c7dff Commit screenshots 2023-07-30 04:11:08 +00:00
Owncast
bf62d3a990 Bundle embedded web app 2023-07-30 03:17:40 +00:00
renovate[bot]
4ff73402ef chore(deps): update dependency prettier to v3 (#3143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-29 20:13:29 -07:00
Owncast
8712f0166e Bundle embedded web app 2023-07-29 23:54:19 +00:00
renovate[bot]
7df82a1a9c chore(deps): update dependency @types/react to v18.2.17 (#3221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-29 16:49:54 -07:00
Gabe Kangas
a75ea76cc8 chore: only run commit web project build on develop 2023-07-29 16:35:12 -07:00
Owncast
e796c6f12c Bundle embedded web app 2023-07-29 23:26:54 +00:00
Owncast
3659a539f0 Bundle embedded web app 2023-07-29 23:18:22 +00:00
Gabe Kangas
8c4ebd26ad chore: consolidate web build/test jobs and only run it after other steps are successful 2023-07-29 16:10:08 -07:00
Owncast
7150fc5ede Bundle embedded web app 2023-07-29 23:10:03 +00:00
Gabe Kangas
a163ab8d96 fix: formatting breaking build 2023-07-29 16:04:32 -07:00
renovate[bot]
7c13a3fd01 chore(deps): update dependency eslint-plugin-react to v7.33.0 (#3205)
* chore(deps): update dependency eslint-plugin-react to v7.33.0

* chore: have linter try to autofix and commit linter warnings

* Linter fixes

* chore: tweak how js formatting is run within actions

* fix: type mismatch

* Prettified Code!

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: gabek <gabek@users.noreply.github.com>
2023-07-29 15:57:45 -07:00
Owncast
adef11eccf Bundle embedded web app 2023-07-29 18:42:10 +00:00
renovate[bot]
8531bf3d4d fix(deps): update dependency chart.js to v4.3.2 2023-07-29 16:21:08 +00:00
Owncast
404bf94af6 Bundle embedded web app 2023-07-29 12:53:42 +00:00
renovate[bot]
1566c2df5a chore(deps): update dependency mermaid to v10.3.0 2023-07-29 10:21:52 +00:00
Owncast
cb4d0bb8d7 Bundle embedded web app 2023-07-29 10:20:58 +00:00
renovate[bot]
ce70f4cd4a chore(deps): update dependency knip to v2.17.1 2023-07-29 06:57:03 +00:00
Owncast
9783274f0e Commit screenshots 2023-07-29 04:16:42 +00:00
Owncast
df8d78a6d3 Bundle embedded web app 2023-07-29 03:35:21 +00:00
renovate[bot]
b7117d2271 chore(deps): update dependency @types/node to v18.17.1 2023-07-29 01:36:23 +00:00
Gabe Kangas
513b59b174 chore: bump version number to 0.1.2 2023-07-28 17:31:38 -07:00
928 changed files with 51817 additions and 48304 deletions

View File

@@ -7,7 +7,7 @@ A collection of design contribution guidelines and resources for the Owncast int
## 👋 Welcome
Owncast is a is a live streaming and chat server targeted to anybody who has live streaming needs. This means anybody from corporate events, government meetings, game streamers, musicians, churches, TV stations, and more.
Owncast is a live streaming and chat server targeted to anybody who has live streaming needs. This means anybody from corporate events, government meetings, game streamers, musicians, churches, TV stations, and more.
Read the detailed [product definition](https://github.com/owncast/owncast/blob/develop/docs/product-definition.md) to learn more.
@@ -25,7 +25,7 @@ Read the detailed [product definition](https://github.com/owncast/owncast/blob/d
## 🎭 Target audience
Owncast is a is a live streaming and chat server targeted to anybody who has live streaming needs. This means anything from corporate events, government meetings, game streams, concerts, TV stations, and more.
Owncast is a live streaming and chat server targeted to anybody who has live streaming needs. This means anything from corporate events, government meetings, game streams, concerts, TV stations, and more.
## 🧑‍🎨 Product design opportunities
@@ -57,7 +57,7 @@ https://owncast.online/components/?path=%2Fdocs%2Fowncast-styles-colors-componen
### Design Files, Screenshots, etc
We do not currently have any design files that fully represent the state of
the Owncast interface. However going forward it would be nice to resolve this
the Owncast interface. However, going forward it would be nice to resolve this
and collaborate on designs.
We do have a [PenPot organization](https://design.penpot.app/#/dashboard/team/8373f780-f255-11ec-b774-f940e3befd53/projects). Please ask for access.

1
.github/codeql/go.yml vendored Normal file
View File

@@ -0,0 +1 @@
name: Go config

4
.github/codeql/javascript.yml vendored Normal file
View File

@@ -0,0 +1,4 @@
name: Javascript config
paths-ignore:
- static/web

View File

@@ -13,7 +13,7 @@ jobs:
name: GitHub actions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: docker://rhysd/actionlint:latest
with:

View File

@@ -11,7 +11,7 @@ jobs:
issues: write
steps:
- name: Add comment
uses: peter-evans/create-or-update-comment@716151b9579b05352dbf244d48e968d211889bbc
uses: peter-evans/create-or-update-comment@71ac479718f8aed504782bc920d802da994c05fa
with:
issue-number: ${{ github.event.issue.number }}
body: |

View File

@@ -27,15 +27,15 @@ jobs:
- name: Set up QEMU
id: qemu
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
with:
image: tonistiigi/binfmt:latest
platforms: all
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run API tests
uses: nick-fields/retry@v2
uses: nick-fields/retry@v3
with:
timeout_minutes: 10
max_attempts: 3

View File

@@ -20,14 +20,14 @@ jobs:
concurrent_skipping: 'same_content_newer'
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 18.9.0
node-version: latest
- name: Cache node modules
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-node-modules-browser-tests
with:
@@ -38,16 +38,16 @@ jobs:
${{ runner.os }}-build-
${{ runner.os }}-
- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: '1.20'
go-version: '1.22'
cache: true
- name: Install Google Chrome
run: sudo apt-get install google-chrome-stable
run: sudo apt-get update && sudo apt-get install google-chrome-stable
- name: Run Browser tests
uses: nick-fields/retry@v2
uses: nick-fields/retry@v3
with:
timeout_minutes: 20
max_attempts: 3

View File

@@ -12,10 +12,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Cache node modules
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-node-modules-bundle-web-app
with:
@@ -47,7 +47,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dispatch event to web site
uses: peter-evans/repository-dispatch@v2
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.BUNDLE_STORYBOOK_OWNCAST_ONLINE }}
repository: owncast/owncast.github.io

View File

@@ -1,44 +0,0 @@
name: Build and bundle web app into Owncast
on:
push:
branches:
- develop
paths:
- 'web/**'
- '!**.md'
jobs:
bundle:
runs-on: ubuntu-latest
if: github.repository == 'owncast/owncast'
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
- name: Cache node modules
uses: actions/cache@v3
env:
cache-name: cache-node-modules-bundle-web-app
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('web/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Bundle web app (next.js build)
uses: actions/checkout@v3
- run: build/web/bundleWeb.sh
- name: Commit changes
uses: EndBug/add-and-commit@v9
with:
pull: --rebase --autostash
message: 'Bundle embedded web app'
add: 'static/web'
author_name: Owncast
author_email: owncast@owncast.online

View File

@@ -29,7 +29,7 @@ jobs:
concurrent_skipping: 'same_content_newer'
- name: Check out code
if: ${{ github.actor != 'renovate[bot]' && github.actor != 'renovate' }}
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.event.pull_request.head.ref }}
@@ -43,7 +43,7 @@ jobs:
- name: Publish to Chromatic
if: ${{ github.actor != 'renovate[bot]' && github.actor != 'renovate' }}
uses: chromaui/action@v1
uses: chromaui/action@v11
# Chromatic GitHub Action options
with:
workingDir: web

View File

@@ -9,16 +9,16 @@
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
name: 'CodeQL'
on:
push:
branches: [ develop ]
branches: [develop]
paths-ignore:
- 'static/**'
pull_request:
# The branches below must be a subset of the branches above
branches: [ develop ]
branches: [develop]
paths-ignore:
- 'static/**'
@@ -30,40 +30,46 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'go', 'javascript' ]
language: ['go', 'javascript']
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- uses: actions/setup-go@v5
with:
go-version: '1.22'
cache: true
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql/${{ matrix.language }}.yml
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
# If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
#- run: |
# make bootstrap
# make release
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3

View File

@@ -19,7 +19,7 @@ jobs:
container:
image: aquasec/trivy
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Check critical issues
run: trivy config --exit-code 1 --severity "HIGH,CRITICAL" ./Dockerfile

View File

@@ -32,13 +32,13 @@ jobs:
run: echo "${{ secrets.GH_CR_PAT }}" | docker login https://ghcr.io -u ${{ github.actor }} --password-stdin
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
with:
image: tonistiigi/binfmt:latest
platforms: all
- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -49,7 +49,7 @@ jobs:
EARTHLY_BUILD_TAG: 'nightly'
EARTHLY_BUILD_BRANCH: 'develop'
EARTHLY_PUSH: true
uses: nick-fields/retry@v2
uses: nick-fields/retry@v3
with:
timeout_minutes: 20
max_attempts: 3

View File

@@ -9,19 +9,19 @@ jobs:
name: Generate API Documentation
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Checkout repo
uses: actions/checkout@v4
- name: Run redoc on openapi.yaml
run: |
npx redoc-cli bundle openapi.yaml -o docs/api/index.html --options '{"hideHostname": true, "pathInMiddlePanel": true}'
- name: Run redoc on openapi.yaml
run: |
npx @redocly/cli --config docs/api/redocly.yaml build-docs openapi.yaml -o docs/api/index.html
- name: Commit changes
uses: EndBug/add-and-commit@v9
with:
author_name: Owncast
author_email: owncast@owncast.online
message: "Commit updated API documentation"
add: "docs/api/index.html"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Commit changes
uses: EndBug/add-and-commit@v9
with:
author_name: Owncast
author_email: owncast@owncast.online
message: 'Commit updated API documentation'
add: 'docs/api/index.html'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -22,17 +22,17 @@ jobs:
with:
concurrent_skipping: 'same_content_newer'
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: '1.20'
go-version: '1.22'
cache: true
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v6
with:
only-new-issues: true
args: --timeout=3m

View File

@@ -12,13 +12,13 @@ jobs:
test:
strategy:
matrix:
go-version: [1.19.x, 1.20.x]
go-version: [1.21.x, 1.22.x]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: |
~/.cache/go-build
@@ -28,7 +28,7 @@ jobs:
go-test-
- name: Install go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '^1'
cache: true
@@ -47,9 +47,9 @@ jobs:
version: 6.8
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: |
~/.cache/go-build
@@ -59,7 +59,7 @@ jobs:
go-test-
- name: Install go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: '^1'
cache: true

View File

@@ -24,14 +24,14 @@ jobs:
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.20'
go-version: '1.22'
cache: true
- name: Cache node modules
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-node-modules-hls-tests
with:
@@ -43,14 +43,14 @@ jobs:
${{ runner.os }}-
- name: Local stroage
uses: nick-fields/retry@v2
uses: nick-fields/retry@v3
with:
timeout_minutes: 10
max_attempts: 3
command: cd test/automated/hls && ./run.sh
- name: S3 storage
uses: nick-fields/retry@v2
uses: nick-fields/retry@v3
with:
timeout_minutes: 10
max_attempts: 3

View File

@@ -0,0 +1,189 @@
name: Javascript
# This action works with pull requests and pushes
on:
push:
paths:
- web/**
- '!**.md'
pull_request:
paths:
- web/**
- '!**.md'
jobs:
formatting:
name: Code formatting
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./web
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
cancel_others: 'true'
skip_after_successful_duplicate: 'true'
- name: Checkout
uses: actions/checkout@v4
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
persist-credentials: true
- name: Get changed files
id: changed-files-yaml
uses: tj-actions/changed-files@v44
with:
path: 'web'
files_ignore: |
static/**
web/next.config.js
files_yaml: |
src:
- '**/*.{js,ts,tsx,jsx,css,md}'
- name: Cache node modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules-bundle-web-app
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('web/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install Dependencies
run: npm install
- name: Lint
if: steps.changed-files-yaml.outputs.src_any_changed == 'true'
run: npx eslint --fix ${{ steps.changed-files-yaml.outputs.src_all_changed_files }}
- name: Prettier
if: steps.changed-files-yaml.outputs.src_any_changed == 'true'
run: npx prettier --write ${{ steps.changed-files-yaml.outputs.src_all_changed_files }}
- name: Debug changed files output
run: 'pwd && echo "Changed files: ${{ steps.changed-files-yaml.outputs.src_all_changed_files }}"'
- name: Commit changes
if: steps.changed-files-yaml.outputs.src_any_changed == 'true'
uses: EndBug/add-and-commit@v9
with:
author_name: Owncast
author_email: owncast@owncast.online
message: 'Javascript formatting autofixes'
add: ${{ steps.changed-files-yaml.outputs.src_all_changed_files }}
cwd: './web' # Ensure this is the correct relative directory
pull: '--rebase --autostash'
unused-code:
name: Test for unused code
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./web
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
cancel_others: 'true'
skip_after_successful_duplicate: 'true'
- name: Checkout
uses: actions/checkout@v4
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Cache node modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules-bundle-web-app
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('web/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install Dependencies
run: npm install
- name: Check for unused JS code and dependencies
run: npx knip --include dependencies,files,exports
# After any formatting and linting is complete we can run the build
# and bundle step. This both will verify that the build is successful as
# well as commiting the updated static files into the repository for use.
web-bundle:
name: Build and bundle web project
runs-on: ubuntu-latest
if: github.repository == 'owncast/owncast'
needs: [formatting, unused-code]
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
cancel_others: 'true'
skip_after_successful_duplicate: 'true'
- name: Cache node modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules-bundle-web-app
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('web/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Checkout
uses: actions/checkout@v4
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Bundle web app (next.js build)
run: build/web/bundleWeb.sh
- name: Rebase
if: ${{ github.ref == 'refs/heads/develop' }}
run: |
git add static/web
git pull --rebase --autostash
# Only commit built web project files on develop.
- name: Commit changes
if: ${{ github.ref == 'refs/heads/develop' }}
uses: EndBug/add-and-commit@v9
with:
message: 'Bundle embedded web app'
add: 'static/web'
author_name: Owncast
author_email: owncast@owncast.online
- name: Push changes
if: ${{ github.ref == 'refs/heads/develop' }}
run: |
git pull --rebase --autostash
git push

View File

@@ -1,96 +0,0 @@
name: Lint
# This action works with pull requests and pushes
on:
push:
paths:
- web/**
pull_request_target:
paths:
- web/**
jobs:
prettier:
name: Javascript prettier
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./web
if: ${{ github.actor != 'dependabot[bot]' }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
- name: Checkout
uses: actions/checkout@v3
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Prettify code
uses: creyD/prettier_action@v4.3
with:
# This part is also where you can pass other options, for example:
prettier_options: --write **/*.{js,ts,jsx,tsx,css,md}
only_changed: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
linter:
name: Javascript linter
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./web
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
- name: Checkout
uses: actions/checkout@v3
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Install Dependencies
run: npm install
- name: Lint
run: npm run lint
unused-code:
name: Test for unused code
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./web
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
- name: Checkout
uses: actions/checkout@v3
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Install Dependencies
run: npm install
- name: Check for unused JS code and dependencies
run: npx knip --include dependencies,files,exports

View File

@@ -18,14 +18,14 @@ jobs:
concurrent_skipping: 'same_content_newer'
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 18.9.0
- name: Cache node modules
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-node-modules-javascript-tests
with:

View File

@@ -14,14 +14,14 @@ jobs:
Screenshots:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.20'
go-version: '1.22'
cache: true
- name: Cache node modules
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-node-modules-screenshots
with:
@@ -33,7 +33,7 @@ jobs:
${{ runner.os }}-
- name: Automate screenshots
uses: nick-fields/retry@v2
uses: nick-fields/retry@v3
with:
timeout_minutes: 10
max_attempts: 4
@@ -51,7 +51,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Dispatch event to web site
uses: peter-evans/repository-dispatch@v2
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.BUNDLE_STORYBOOK_OWNCAST_ONLINE }}
repository: owncast/owncast.github.io

View File

@@ -18,9 +18,9 @@ jobs:
env:
LANG: C.UTF-8
container:
image: docker.io/ubuntu:23.10
image: docker.io/ubuntu:24.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install shellcheck
run: apt update && apt install -y shellcheck bash && shellcheck --version

View File

@@ -1,50 +0,0 @@
name: Webapp Test Build
# This action works with pull requests and pushes
on:
push:
paths:
- web/**
pull_request:
paths:
- web/**
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./web
name: Build webapp
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: 'same_content_newer'
- name: Checkout
uses: actions/checkout@v3
with:
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Cache node modules
uses: actions/cache@v3
env:
cache-name: cache-node-modules-bundle-web-app
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('web/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install Dependencies
run: npm install
- name: Build
run: npm run build

View File

@@ -5,7 +5,7 @@ run:
# Define the Go version limit.
# Mainly related to generics support in go1.18.
# Default: use Go version from the go.mod file, fallback on the env var `GOVERSION`, fallback on 1.18
go: '1.20'
go: '1.22'
issues:
# The linter has a default list of ignorable errors. Turning this on will enable that list.
@@ -69,7 +69,7 @@ linters-settings:
gosimple:
# Select the Go version to target. The default is '1.13'.
go: '1.20'
go: '1.22'
# https://staticcheck.io/docs/options#checks
checks: ['all']

View File

@@ -22,7 +22,7 @@ ENV NAME=${NAME}
RUN CGO_ENABLED=1 GOOS=linux go build -a -installsuffix cgo -ldflags "-extldflags \"-static\" -s -w -X github.com/owncast/owncast/config.GitCommit=$GIT_COMMIT -X github.com/owncast/owncast/config.VersionNumber=$VERSION -X github.com/owncast/owncast/config.BuildPlatform=$NAME" -o owncast .
# Create the image by copying the result of the build into a new alpine image
FROM alpine:3.18.2
FROM alpine:3.20.1
RUN apk update && apk add --no-cache ffmpeg ffmpeg-libs ca-certificates && update-ca-certificates
RUN addgroup -g 101 -S owncast && adduser -u 101 -S owncast -G owncast

View File

@@ -6,10 +6,10 @@ ARG version=develop
WORKDIR /build
build-all:
BUILD --platform=linux/amd64 --platform=linux/386 --platform=linux/arm64 --platform=linux/arm/v7 --platform=darwin/amd64 +build
BUILD --platform=linux/amd64 --platform=linux/386 --platform=linux/arm64 --platform=linux/arm/v7 --platform=darwin/amd64 --platform=darwin/arm64 +build
package-all:
BUILD --platform=linux/amd64 --platform=linux/386 --platform=linux/arm64 --platform=linux/arm/v7 --platform=darwin/amd64 +package
BUILD --platform=linux/amd64 --platform=linux/386 --platform=linux/arm64 --platform=linux/arm/v7 --platform=darwin/amd64 --platform=darwin/arm64 +package
docker-all:
BUILD --platform=linux/amd64 --platform=linux/386 --platform=linux/arm64 --platform=linux/arm/v7 +docker
@@ -36,7 +36,6 @@ build:
FROM --platform=linux/amd64 +code
RUN echo $EARTHLY_GIT_HASH
RUN echo "Finding CC configuration for $TARGETPLATFORM"
IF [ "$TARGETPLATFORM" = "linux/amd64" ]
ARG NAME=linux-64bit
@@ -59,6 +58,10 @@ build:
ARG NAME=macOS-64bit
ARG CC=o64-clang
ARG CXX=o64-clang++
ELSE IF [ "$TARGETPLATFORM" = "darwin/arm64" ]
ARG NAME=macOS-arm64
ARG CC=o64-clang
ARG CXX=o64-clang++
ELSE
RUN echo "Failed to find CC configuration for $TARGETPLATFORM"
ARG --required CC
@@ -76,10 +79,13 @@ build:
# MacOSX disallows static executables, so we omit the static flag on this platform
RUN go build -a -installsuffix cgo -ldflags "$([ "$GOOS"z != darwinz ] && echo "-linkmode external -extldflags -static ") -s -w -X github.com/owncast/owncast/config.GitCommit=$EARTHLY_GIT_HASH -X github.com/owncast/owncast/config.VersionNumber=$version -X github.com/owncast/owncast/config.BuildPlatform=$NAME" -tags sqlite_omit_load_extension -o owncast main.go
# Decrease the size of the shipped binary
RUN upx --best --lzma owncast
# Test the binary
RUN upx -t owncast
# Decrease the size of the shipped binary. But only for non-Apple platforms.
# See https://github.com/upx/upx/issues/612
IF [ "$GOOS" != "darwin" ]
RUN upx --best --lzma owncast
# Test the binary
RUN upx -t owncast
END
SAVE ARTIFACT owncast owncast
@@ -97,6 +103,8 @@ package:
ARG NAME=linux-arm7
ELSE IF [ "$TARGETPLATFORM" = "darwin/amd64" ]
ARG NAME=macOS-64bit
ELSE IF [ "$TARGETPLATFORM" = "darwin/arm64" ]
ARG NAME=macOS-arm64
ELSE
ARG NAME=custom
END
@@ -104,7 +112,7 @@ package:
COPY (+build/owncast --platform $TARGETPLATFORM) /build/dist/owncast
ENV ZIPNAME owncast-$version-$NAME.zip
RUN cd /build/dist && zip -r -q -8 /build/dist/owncast.zip .
SAVE ARTIFACT /build/dist/owncast.zip owncast.zip AS LOCAL dist/$ZIPNAME
SAVE ARTIFACT --keep-ts /build/dist/owncast.zip owncast.zip AS LOCAL dist/$ZIPNAME
docker:
# Multiple image names can be tagged at once. They should all be passed

View File

@@ -1,37 +1,48 @@
<br />
<p align="center">
<a href="https://github.com/owncast/owncast" alt="Owncast">
<img src="https://owncast.online/images/logo.png" alt="Logo" width="200">
<img src="https://owncast.online/images/logo.png" alt="Owncast Logo" width="200">
</a>
</p>
<p align="center">
<strong>Take control over your content and stream it yourself.</strong>
</p>
<br/>
<p align="center">
<a href="https://github.com/owncast/owncast/blob/develop/LICENSE">
<img src="https://img.shields.io/badge/License-MIT-green.svg" alt="License" />
</a>
</p>
<br/>
<p align="center">
<strong>Take control over your content and stream it yourself.</strong>
<br />
<a href="https://owncast.online"><strong>Explore the docs »</strong></a>
<br />
<a href="https://watch.owncast.online/">View Demo</a>
·
<a href="https://broadcast.owncast.online/">Use Our Server for Testing</a>
·
<a href="https://owncast.online/faq/">FAQ</a>
·
<a href="https://github.com/owncast/owncast/issues">Report Bug</a>
</p>
<p align="center">
<a href="https://owncast.online"><strong>Explore the docs »</strong></a>
<br />
<a href="https://watch.owncast.online/">View Demo</a>
·
<a href="https://owncast.online/faq/">FAQ</a>
·
<a href="https://github.com/owncast/owncast/issues">Report Bug</a>
</p>
<!-- TABLE OF CONTENTS -->
## Table of Contents
- [About the Project](#about-the-project)
- [Getting Started](#getting-started)
- [Use with your broadcasting software](#use-with-your-existing-broadcasting-software)
- [Building from source](#building-from-source)
- [Contributing](#contributing)
- [License](#license)
- 📒 [About the Project](#about-the-project)
- 🚀 [Getting Started](#getting-started)
- 👨‍💻 [Use with your broadcasting software](#use-with-your-existing-broadcasting-software)
- 🛠 [Building from source](#building-from-source)
- 🚨 [Important note about source code and the develop branch](#important-note-about-source-code-and-the-develop-branch)
- 🗄️ [Backend](#backend)
- ⚛️ [Frontend](#frontend)
- 👏 [Contributing](#contributing)
- 💵 [Donors](#donors)
- 📝 [License](#license)
- [Contact](#contact)
<!-- ABOUT THE PROJECT -->
@@ -48,8 +59,8 @@ Owncast is an open source, self-hosted, decentralized, single user live video st
<div>
<img alt="GitHub all releases" src="https://img.shields.io/github/downloads/owncast/owncast/total?style=for-the-badge">
<a href="https://hub.docker.com/r/gabekangas/owncast">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/gabekangas/owncast?style=for-the-badge">
<a href="https://hub.docker.com/r/owncast/owncast">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/owncast/owncast?style=for-the-badge">
</a>
<a href="https://github.com/owncast/owncast/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">
<img alt="GitHub issues by-label" src="https://img.shields.io/github/issues-raw/owncast/owncast/good%20first%20issue?style=for-the-badge">
@@ -95,7 +106,7 @@ The Owncast backend is a service written in Go.
1. Ensure you have prerequisites installed.
- C compiler, such as [GCC compiler](https://gcc.gnu.org/install/download.html) or a [Musl-compatible compiler](https://musl.libc.org/)
- [ffmpeg](https://ffmpeg.org/download.html)
1. Install the [Go toolchain](https://golang.org/dl/) (1.20 or above).
1. Install the [Go toolchain](https://golang.org/dl/) (1.22 or above).
1. Clone the repo. `git clone https://github.com/owncast/owncast`
1. `go run main.go` will run from the source.
1. Visit `http://yourserver:8080` to access the web interface or `http://yourserver:8080/admin` to access the admin.
@@ -117,18 +128,50 @@ And while we have a small team of kind, talented and thoughtful volunteers, we h
We abide by our [Code of Conduct](https://owncast.online/contribute/) and feel strongly about open, appreciative, and empathetic people joining us.
Weve been very lucky to have this so far, so maybe you can help us with your skills and passion, too!
If you're new to the project, maybe you'd be interested in looking at [![Good First Issue](https://img.shields.io/github/issues/owncast/owncast/good%20first%20issue.svg)](https://github.com/owncast/owncast/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
There is a larger, more detailed, and more up-to-date [guide for helping contribute to Owncast on our website](https://owncast.online/help/).
### Donors
The Owncast project is possible thanks to the people who make a donation to support us and our work.
Thank you to all our donors who help keep Owncast running by donating on OpenCollective. You can support this project by [becoming a backer/sponsor](https://opencollective.com/owncast#suppor).
<div>
<a href="https://opencollective.com/owncast#support">
<img alt="GitHub issues by-label" src="https://opencollective.com/owncast/tiers/backers.svg?avatarHeight=36&width=600" alt="Backer button">
</a>
</div>
<!-- LICENSE -->
## License
Distributed under the MIT License. See `LICENSE` for more information.
## Supported by
- This project is tested with [BrowserStack](https://browserstack.com).
## Support
<ul style="font-size:21px; color:black; ">
<li>Browser testing via <a
href="https://www.lambdatest.com/" target="_blank"><img
src="https://www.lambdatest.com/support/img/logo.svg"
style="vertical-align: middle;margin-left:5px" width="147" height="26"
/></a></li>
<li>Project chat provided by
<a href="https://rocket.chat" target="_blank">
<img src="https://owncast.online/images/sponsors/rocketchat.png" width="147" height="26" style="vertical-align: middle;margin-left:5px">
</a>
</li>
<li>CDN services by
<a href="https://fastly.com" target="_blank">
<img src="https://owncast.online/images/sponsors/fastly.png" height="26" style="vertical-align: middle;margin-left:5px">
</a>
</li>
<li>UI testing with Chromatic
<a href="https://chromatic.com" target="_blank">
<img src="https://owncast.online/images/sponsors/chromatic.png" height="26" style="vertical-align: middle;margin-left:5px">
</a>
</li>
</ul>
<!-- CONTACT -->
## Contact

View File

@@ -17,7 +17,6 @@ func Start(datastore *data.Datastore) {
persistence.Setup(datastore)
workerpool.InitOutboundWorkerPool()
inbox.InitInboxWorkerPool()
StartRouter()
// Generate the keys for signing federated activity if needed.
if data.GetPrivateKey() == "" {

View File

@@ -13,6 +13,14 @@ import (
func handleLikeRequest(c context.Context, activity vocab.ActivityStreamsLike) error {
object := activity.GetActivityStreamsObject()
actorReference := activity.GetActivityStreamsActor()
if object.Len() < 1 {
return errors.New("like activity is missing object")
}
if actorReference.Len() < 1 {
return errors.New("like activity is missing actor")
}
objectIRI := object.At(0).GetIRI().String()
actorIRI := actorReference.At(0).GetIRI().String()

View File

@@ -0,0 +1,36 @@
//go:build fixture
// +build fixture
package persistence
import (
"encoding/json"
"fmt"
"os"
"github.com/owncast/owncast/models"
log "github.com/sirupsen/logrus"
)
func addFollowersFixtureData() {
log.Println("Adding followers fixture data...")
file, err := os.Open("./test/fixture/followers_fixture.json")
if err != nil {
fmt.Println("Error opening file:", err)
return
}
defer file.Close()
var followers []models.Follower
decoder := json.NewDecoder(file)
err = decoder.Decode(&followers)
if err != nil {
fmt.Println("Error decoding JSON:", err)
return
}
// Iterate over the followers array
for _, follower := range followers {
createFollow(follower.ActorIRI, follower.Inbox, "", follower.Name, follower.Username, follower.Image, nil, true)
}
}

View File

@@ -0,0 +1,8 @@
//go:build !fixture
// +build !fixture
package persistence
func addFollowersFixtureData() {
// no-op
}

View File

@@ -27,6 +27,7 @@ func Setup(datastore *data.Datastore) {
createFederationFollowersTable()
createFederationOutboxTable()
createFederatedActivitiesTable()
addFollowersFixtureData()
}
// AddFollow will save a follow to the datastore.

View File

@@ -1,35 +0,0 @@
package activitypub
import (
"net/http"
"github.com/owncast/owncast/activitypub/controllers"
"github.com/owncast/owncast/router/middleware"
)
// StartRouter will start the federation specific http router.
func StartRouter() {
// WebFinger
http.HandleFunc("/.well-known/webfinger", controllers.WebfingerHandler)
// Host Metadata
http.HandleFunc("/.well-known/host-meta", controllers.HostMetaController)
// Nodeinfo v1
http.HandleFunc("/.well-known/nodeinfo", controllers.NodeInfoController)
// x-nodeinfo v2
http.HandleFunc("/.well-known/x-nodeinfo2", controllers.XNodeInfo2Controller)
// Nodeinfo v2
http.HandleFunc("/nodeinfo/2.0", controllers.NodeInfoV2Controller)
// Instance details
http.HandleFunc("/api/v1/instance", controllers.InstanceV1Controller)
// Single ActivityPub Actor
http.HandleFunc("/federation/user/", middleware.RequireActivityPubOrRedirect(controllers.ActorHandler))
// Single AP object
http.HandleFunc("/federation/", middleware.RequireActivityPubOrRedirect(controllers.ObjectHandler))
}

View File

@@ -2,10 +2,13 @@ package webfinger
import (
"encoding/json"
"errors"
"fmt"
"net/http"
"net/url"
"strings"
"github.com/owncast/owncast/utils"
)
// GetWebfingerLinks will return webfinger data for an account.
@@ -18,6 +21,11 @@ func GetWebfingerLinks(account string) ([]map[string]interface{}, error) {
accountComponents := strings.Split(account, "@")
fediverseServer := accountComponents[1]
// Reject any requests to our internal network or loopback.
if utils.IsHostnameInternal(fediverseServer) {
return nil, errors.New("unable to use provided host as a valid fediverse server")
}
// HTTPS is required.
requestURL, err := url.Parse("https://" + fediverseServer)
if err != nil {

View File

@@ -12,6 +12,7 @@ import (
"time"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/utils"
"github.com/pkg/errors"
log "github.com/sirupsen/logrus"
)
@@ -46,10 +47,27 @@ func setupExpiredRequestPruner() {
// StartAuthFlow will begin the IndieAuth flow by generating an auth request.
func StartAuthFlow(authHost, userID, accessToken, displayName string) (*url.URL, error) {
// Limit the number of pending requests
if len(pendingAuthRequests) >= maxPendingRequests {
return nil, errors.New("Please try again later. Too many pending requests.")
}
// Reject any requests to our internal network or loopback
if utils.IsHostnameInternal(authHost) {
return nil, errors.New("unable to use provided host")
}
// Santity check the server URL
u, err := url.ParseRequestURI(authHost)
if err != nil {
return nil, errors.New("unable to parse server URL")
}
// Limit to only secured connections
if u.Scheme != "https" {
return nil, errors.New("only servers secured with https are supported")
}
serverURL := data.GetServerURL()
if serverURL == "" {
return nil, errors.New("Owncast server URL must be set when using auth")

View File

@@ -40,7 +40,7 @@ type ServerProfileResponse struct {
var pendingServerAuthRequests = map[string]ServerAuthRequest{}
const maxPendingRequests = 1000
const maxPendingRequests = 100
// StartServerAuth will handle the authentication for the admin user of this
// Owncast server. Initiated via a GET of the auth endpoint.

View File

@@ -1,13 +1,7 @@
package auth
import (
"context"
"strings"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/db"
)
var _datastore *data.Datastore
@@ -27,41 +21,3 @@ func Setup(db *data.Datastore) {
_datastore.MustExec(createTableSQL)
_datastore.MustExec(`CREATE INDEX IF NOT EXISTS idx_auth_token ON auth (token);`)
}
// AddAuth will add an external authentication token and type for a user.
func AddAuth(userID, authToken string, authType Type) error {
return _datastore.GetQueries().AddAuthForUser(context.Background(), db.AddAuthForUserParams{
UserID: userID,
Token: authToken,
Type: string(authType),
})
}
// GetUserByAuth will return an existing user given auth details if a user
// has previously authenticated with that method.
func GetUserByAuth(authToken string, authType Type) *user.User {
u, err := _datastore.GetQueries().GetUserByAuth(context.Background(), db.GetUserByAuthParams{
Token: authToken,
Type: string(authType),
})
if err != nil {
return nil
}
var scopes []string
if u.Scopes.Valid {
scopes = strings.Split(u.Scopes.String, ",")
}
return &user.User{
ID: u.ID,
DisplayName: u.DisplayName,
DisplayColor: int(u.DisplayColor),
CreatedAt: u.CreatedAt.Time,
DisabledAt: &u.DisabledAt.Time,
PreviousNames: strings.Split(u.PreviousNames.String, ","),
NameChangedAt: &u.NamechangedAt.Time,
AuthenticatedAt: &u.AuthenticatedAt.Time,
Scopes: scopes,
}
}

38
build/gen-api.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/bin/bash
# go install github.com/deepmap/oapi-codegen/v2/cmd/oapi-codegen@latest
# setup
package="generated"
folderPath="webserver/handlers/generated"
specPath="openapi.yaml"
# validate scripts are installed
if ! command -v swagger-cli &>/dev/null; then
echo "Please install \`swagger-cli\` before running this script"
exit 1
fi
if ! command -v oapi-codegen &>/dev/null; then
echo "Please install \`oapi-codegen\` before running this script"
echo "Hint: run \`go install github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@latest\` to install"
exit 1
fi
# validate schema
swagger-cli validate $specPath
if [ $? -ne 0 ]; then
echo "Open API specification is not valid"
exit 1
fi
# cleanup
rm -r $folderPath
mkdir -p $folderPath
# codegen
oapi-codegen -generate types -o $folderPath/$package-types.gen.go -package $package $specPath
oapi-codegen -generate "chi-server" -o $folderPath/$package.gen.go -package $package $specPath
# go
go mod tidy

View File

@@ -5,17 +5,29 @@ set -o errexit
set -o nounset
set -o pipefail
OFFLINE=
while [[ $# -gt 0 ]]; do
case $1 in
--offline)
OFFLINE=1
;;
esac
shift
done
# Change to the root directory of the repository
cd "$(git rev-parse --show-toplevel)"
cd web
echo "Installing npm modules for the owncast web..."
npm --silent install 2>/dev/null
if [ ! "$OFFLINE" ]; then
echo "Installing npm modules for the owncast web..."
npm --silent install 2>/dev/null
fi
echo "Building owncast web..."
rm -rf .next
(node_modules/.bin/next build && node_modules/.bin/next export) | grep info
node_modules/.bin/next build | grep info
echo "Copying web project to dist directory..."

View File

@@ -4,7 +4,7 @@ import "path/filepath"
const (
// StaticVersionNumber is the version of Owncast that is used when it's not overwritten via build-time settings.
StaticVersionNumber = "0.1.1" // Shown when you build from develop
StaticVersionNumber = "0.2.0" // Shown when you build from develop
// FfmpegSuggestedVersion is the version of ffmpeg we suggest.
FfmpegSuggestedVersion = "v4.1.5" // Requires the v
// DataDirectory is the directory we save data to.

View File

@@ -29,8 +29,8 @@ func VerifyFFMpegPath(path string) error {
}
mode := stat.Mode()
//source: https://stackoverflow.com/a/60128480
if mode&0111 == 0 {
// source: https://stackoverflow.com/a/60128480
if mode&0o111 == 0 {
return errors.New("ffmpeg path is not executable")
}

View File

@@ -43,7 +43,7 @@ Here is the list for all the prerequisites required ->
- npm (Node Package Manager) is installed as `sudo apt install npm`.
- Node.js is installed (LTS Version) `sudo apt install nodejs`.
- [ffmpeg](https://ffmpeg.org/download.html)
- Install the [Go toolchain](https://golang.org/dl/) (1.20 or above).
- Install the [Go toolchain](https://golang.org/dl/) (1.21 or above).
### Read more

View File

@@ -1,13 +0,0 @@
package controllers
import (
"net/http"
"github.com/owncast/owncast/core/rtmp"
)
// DisconnectInboundConnection will force-disconnect an inbound stream.
func DisconnectInboundConnection(w http.ResponseWriter, r *http.Request) {
rtmp.Disconnect()
w.WriteHeader(http.StatusOK)
}

View File

@@ -1,35 +0,0 @@
package admin
import (
"encoding/json"
"net/http"
"github.com/owncast/owncast/controllers"
"github.com/owncast/owncast/core/data"
)
// SetCustomColorVariableValues sets the custom color variables.
func SetCustomColorVariableValues(w http.ResponseWriter, r *http.Request) {
if !requirePOST(w, r) {
return
}
type request struct {
Value map[string]string `json:"value"`
}
decoder := json.NewDecoder(r.Body)
var values request
if err := decoder.Decode(&values); err != nil {
controllers.WriteSimpleResponse(w, false, "unable to update appearance variable values")
return
}
if err := data.SetCustomColorVariableValues(values.Value); err != nil {
controllers.WriteSimpleResponse(w, false, err.Error())
return
}
controllers.WriteSimpleResponse(w, true, "custom appearance variables updated")
}

View File

@@ -1,102 +0,0 @@
package admin
import (
"encoding/json"
"errors"
"net/http"
"time"
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/controllers"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/utils"
)
type deleteExternalAPIUserRequest struct {
Token string `json:"token"`
}
type createExternalAPIUserRequest struct {
Name string `json:"name"`
Scopes []string `json:"scopes"`
}
// CreateExternalAPIUser will generate a 3rd party access token.
func CreateExternalAPIUser(w http.ResponseWriter, r *http.Request) {
decoder := json.NewDecoder(r.Body)
var request createExternalAPIUserRequest
if err := decoder.Decode(&request); err != nil {
controllers.BadRequestHandler(w, err)
return
}
// Verify all the scopes provided are valid
if !user.HasValidScopes(request.Scopes) {
controllers.BadRequestHandler(w, errors.New("one or more invalid scopes provided"))
return
}
token, err := utils.GenerateAccessToken()
if err != nil {
controllers.InternalErrorHandler(w, err)
return
}
color := utils.GenerateRandomDisplayColor(config.MaxUserColor)
if err := user.InsertExternalAPIUser(token, request.Name, color, request.Scopes); err != nil {
controllers.InternalErrorHandler(w, err)
return
}
w.Header().Set("Content-Type", "application/json")
controllers.WriteResponse(w, user.ExternalAPIUser{
AccessToken: token,
DisplayName: request.Name,
DisplayColor: color,
Scopes: request.Scopes,
CreatedAt: time.Now(),
LastUsedAt: nil,
})
}
// GetExternalAPIUsers will return all 3rd party access tokens.
func GetExternalAPIUsers(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
tokens, err := user.GetExternalAPIUser()
if err != nil {
controllers.InternalErrorHandler(w, err)
return
}
controllers.WriteResponse(w, tokens)
}
// DeleteExternalAPIUser will return a single 3rd party access token.
func DeleteExternalAPIUser(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
if r.Method != controllers.POST {
controllers.WriteSimpleResponse(w, false, r.Method+" not supported")
return
}
decoder := json.NewDecoder(r.Body)
var request deleteExternalAPIUserRequest
if err := decoder.Decode(&request); err != nil {
controllers.BadRequestHandler(w, err)
return
}
if request.Token == "" {
controllers.BadRequestHandler(w, errors.New("must provide a token"))
return
}
if err := user.DeleteExternalAPIUser(request.Token); err != nil {
controllers.InternalErrorHandler(w, err)
return
}
controllers.WriteSimpleResponse(w, true, "deleted token")
}

View File

@@ -1,98 +0,0 @@
package controllers
import (
"encoding/json"
"net/http"
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/core/chat"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/router/middleware"
"github.com/owncast/owncast/utils"
log "github.com/sirupsen/logrus"
)
// ExternalGetChatMessages gets all of the chat messages.
func ExternalGetChatMessages(integration user.ExternalAPIUser, w http.ResponseWriter, r *http.Request) {
middleware.EnableCors(w)
getChatMessages(w, r)
}
// GetChatMessages gets all of the chat messages.
func GetChatMessages(u user.User, w http.ResponseWriter, r *http.Request) {
middleware.EnableCors(w)
getChatMessages(w, r)
}
func getChatMessages(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
switch r.Method {
case http.MethodGet:
messages := chat.GetChatHistory()
if err := json.NewEncoder(w).Encode(messages); err != nil {
log.Debugln(err)
}
default:
w.WriteHeader(http.StatusNotImplemented)
if err := json.NewEncoder(w).Encode(j{"error": "method not implemented (PRs are accepted)"}); err != nil {
InternalErrorHandler(w, err)
}
}
}
// RegisterAnonymousChatUser will register a new user.
func RegisterAnonymousChatUser(w http.ResponseWriter, r *http.Request) {
middleware.EnableCors(w)
if r.Method == "OPTIONS" {
// All OPTIONS requests should have a wildcard CORS header.
w.Header().Set("Access-Control-Allow-Origin", "*")
w.WriteHeader(http.StatusNoContent)
return
}
if r.Method != http.MethodPost {
WriteSimpleResponse(w, false, r.Method+" not supported")
return
}
type registerAnonymousUserRequest struct {
DisplayName string `json:"displayName"`
}
type registerAnonymousUserResponse struct {
ID string `json:"id"`
AccessToken string `json:"accessToken"`
DisplayName string `json:"displayName"`
}
decoder := json.NewDecoder(r.Body)
var request registerAnonymousUserRequest
if err := decoder.Decode(&request); err != nil { //nolint
// this is fine. register a new user anyway.
}
if request.DisplayName == "" {
request.DisplayName = r.Header.Get("X-Forwarded-User")
}
proposedNewDisplayName := utils.MakeSafeStringOfLength(request.DisplayName, config.MaxChatDisplayNameLength)
newUser, accessToken, err := user.CreateAnonymousUser(proposedNewDisplayName)
if err != nil {
WriteSimpleResponse(w, false, err.Error())
return
}
response := registerAnonymousUserResponse{
ID: newUser.ID,
AccessToken: accessToken,
DisplayName: newUser.DisplayName,
}
w.Header().Set("Content-Type", "application/json")
middleware.DisableCache(w)
WriteResponse(w, response)
}

View File

@@ -1,153 +0,0 @@
package controllers
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
"github.com/owncast/owncast/activitypub"
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/models"
"github.com/owncast/owncast/router/middleware"
"github.com/owncast/owncast/utils"
log "github.com/sirupsen/logrus"
)
type webConfigResponse struct {
AppearanceVariables map[string]string `json:"appearanceVariables"`
Notifications notificationsConfigResponse `json:"notifications"`
CustomStyles string `json:"customStyles"`
Summary string `json:"summary"`
OfflineMessage string `json:"offlineMessage"`
Logo string `json:"logo"`
Version string `json:"version"`
SocketHostOverride string `json:"socketHostOverride,omitempty"`
ExtraPageContent string `json:"extraPageContent"`
StreamTitle string `json:"streamTitle,omitempty"` // What's going on with the current stream
Name string `json:"name"`
Federation federationConfigResponse `json:"federation"`
SocialHandles []models.SocialHandle `json:"socialHandles"`
ExternalActions []models.ExternalAction `json:"externalActions"`
Tags []string `json:"tags"`
MaxSocketPayloadSize int `json:"maxSocketPayloadSize"`
ChatDisabled bool `json:"chatDisabled"`
NSFW bool `json:"nsfw"`
Authentication authenticationConfigResponse `json:"authentication"`
HideViewerCount bool `json:"hideViewerCount"`
}
type federationConfigResponse struct {
Account string `json:"account,omitempty"`
FollowerCount int `json:"followerCount,omitempty"`
Enabled bool `json:"enabled"`
}
type browserNotificationsConfigResponse struct {
PublicKey string `json:"publicKey,omitempty"`
Enabled bool `json:"enabled"`
}
type notificationsConfigResponse struct {
Browser browserNotificationsConfigResponse `json:"browser"`
}
type authenticationConfigResponse struct {
IndieAuthEnabled bool `json:"indieAuthEnabled"`
}
// GetWebConfig gets the status of the server.
func GetWebConfig(w http.ResponseWriter, r *http.Request) {
middleware.EnableCors(w)
middleware.DisableCache(w)
w.Header().Set("Content-Type", "application/json")
configuration := getConfigResponse()
if err := json.NewEncoder(w).Encode(configuration); err != nil {
BadRequestHandler(w, err)
}
}
func getConfigResponse() webConfigResponse {
pageContent := utils.RenderPageContentMarkdown(data.GetExtraPageBodyContent())
offlineMessage := utils.RenderSimpleMarkdown(data.GetCustomOfflineMessage())
socialHandles := data.GetSocialHandles()
for i, handle := range socialHandles {
platform := models.GetSocialHandle(handle.Platform)
if platform != nil {
handle.Icon = platform.Icon
socialHandles[i] = handle
}
}
serverSummary := data.GetServerSummary()
var federationResponse federationConfigResponse
federationEnabled := data.GetFederationEnabled()
followerCount, _ := activitypub.GetFollowerCount()
if federationEnabled {
serverURLString := data.GetServerURL()
serverURL, _ := url.Parse(serverURLString)
account := fmt.Sprintf("%s@%s", data.GetDefaultFederationUsername(), serverURL.Host)
federationResponse = federationConfigResponse{
Enabled: federationEnabled,
FollowerCount: int(followerCount),
Account: account,
}
}
browserPushEnabled := data.GetBrowserPushConfig().Enabled
browserPushPublicKey, err := data.GetBrowserPushPublicKey()
if err != nil {
log.Errorln("unable to fetch browser push notifications public key", err)
browserPushEnabled = false
}
notificationsResponse := notificationsConfigResponse{
Browser: browserNotificationsConfigResponse{
Enabled: browserPushEnabled,
PublicKey: browserPushPublicKey,
},
}
authenticationResponse := authenticationConfigResponse{
IndieAuthEnabled: data.GetServerURL() != "",
}
return webConfigResponse{
Name: data.GetServerName(),
Summary: serverSummary,
OfflineMessage: offlineMessage,
Logo: "/logo",
Tags: data.GetServerMetadataTags(),
Version: config.GetReleaseString(),
NSFW: data.GetNSFW(),
SocketHostOverride: data.GetWebsocketOverrideHost(),
ExtraPageContent: pageContent,
StreamTitle: data.GetStreamTitle(),
SocialHandles: socialHandles,
ChatDisabled: data.GetChatDisabled(),
ExternalActions: data.GetExternalActions(),
CustomStyles: data.GetCustomStyles(),
MaxSocketPayloadSize: config.MaxSocketPayloadSize,
Federation: federationResponse,
Notifications: notificationsResponse,
Authentication: authenticationResponse,
AppearanceVariables: data.GetCustomColorVariableValues(),
HideViewerCount: data.GetHideViewerCount(),
}
}
// GetAllSocialPlatforms will return a list of all social platform types.
func GetAllSocialPlatforms(w http.ResponseWriter, r *http.Request) {
middleware.EnableCors(w)
w.Header().Set("Content-Type", "application/json")
platforms := models.GetAllSocialHandles()
if err := json.NewEncoder(w).Encode(platforms); err != nil {
InternalErrorHandler(w, err)
}
}

View File

@@ -1,7 +0,0 @@
package controllers
// POST is the HTTP POST method.
const POST = "POST"
// GET is the HTTP GET method.
const GET = "GET"

View File

@@ -1,62 +0,0 @@
package controllers
import (
"net/http"
"path/filepath"
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/utils"
)
const (
contentTypeJPEG = "image/jpeg"
contentTypeGIF = "image/gif"
)
// GetThumbnail will return the thumbnail image as a response.
func GetThumbnail(w http.ResponseWriter, r *http.Request) {
imageFilename := "thumbnail.jpg"
imagePath := filepath.Join(config.TempDir, imageFilename)
var imageBytes []byte
var err error
if utils.DoesFileExists(imagePath) {
imageBytes, err = getImage(imagePath)
} else {
GetLogo(w, r)
return
}
if err != nil {
GetLogo(w, r)
return
}
cacheTime := utils.GetCacheDurationSecondsForPath(imagePath)
writeBytesAsImage(imageBytes, contentTypeJPEG, w, cacheTime)
}
// GetPreview will return the preview gif as a response.
func GetPreview(w http.ResponseWriter, r *http.Request) {
imageFilename := "preview.gif"
imagePath := filepath.Join(config.TempDir, imageFilename)
var imageBytes []byte
var err error
if utils.DoesFileExists(imagePath) {
imageBytes, err = getImage(imagePath)
} else {
GetLogo(w, r)
return
}
if err != nil {
GetLogo(w, r)
return
}
cacheTime := utils.GetCacheDurationSecondsForPath(imagePath)
writeBytesAsImage(imageBytes, contentTypeGIF, w, cacheTime)
}

View File

@@ -1,95 +0,0 @@
package controllers
import (
"encoding/json"
"fmt"
"net/http"
"path/filepath"
"strings"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/router/middleware"
"github.com/owncast/owncast/static"
"github.com/owncast/owncast/utils"
)
// IndexHandler handles the default index route.
func IndexHandler(w http.ResponseWriter, r *http.Request) {
middleware.EnableCors(w)
isIndexRequest := r.URL.Path == "/" || filepath.Base(r.URL.Path) == "index.html" || filepath.Base(r.URL.Path) == ""
if utils.IsUserAgentAPlayer(r.UserAgent()) && isIndexRequest {
http.Redirect(w, r, "/hls/stream.m3u8", http.StatusTemporaryRedirect)
return
}
// Set a cache control max-age header
middleware.SetCachingHeaders(w, r)
nonceRandom, _ := utils.GenerateRandomString(5)
// Set our global HTTP headers
middleware.SetHeaders(w, fmt.Sprintf("nonce-%s", nonceRandom))
if isIndexRequest {
renderIndexHtml(w, nonceRandom)
return
}
serveWeb(w, r)
}
func renderIndexHtml(w http.ResponseWriter, nonce string) {
type serverSideContent struct {
Name string
Summary string
RequestedURL string
TagsString string
ThumbnailURL string
Thumbnail string
Image string
StatusJSON string
ServerConfigJSON string
EmbedVideo string
Nonce string
}
status := getStatusResponse()
sb, err := json.Marshal(status)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
config := getConfigResponse()
cb, err := json.Marshal(config)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
content := serverSideContent{
Name: data.GetServerName(),
Summary: data.GetServerSummary(),
RequestedURL: fmt.Sprintf("%s%s", data.GetServerURL(), "/"),
TagsString: strings.Join(data.GetServerMetadataTags(), ","),
ThumbnailURL: "thumbnail.jpg",
Thumbnail: "thumbnail.jpg",
Image: "logo/external",
StatusJSON: string(sb),
ServerConfigJSON: string(cb),
EmbedVideo: "embed/video",
Nonce: nonce,
}
index, err := static.GetWebIndexTemplate()
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
if err := index.Execute(w, content); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}

View File

@@ -1,52 +0,0 @@
package controllers
import (
"encoding/json"
"net/http"
"github.com/owncast/owncast/metrics"
"github.com/owncast/owncast/utils"
log "github.com/sirupsen/logrus"
)
// ReportPlaybackMetrics will accept playback metrics from a client and save
// them for future video health reporting.
func ReportPlaybackMetrics(w http.ResponseWriter, r *http.Request) {
if r.Method != POST {
WriteSimpleResponse(w, false, r.Method+" not supported")
return
}
type reportPlaybackMetricsRequest struct {
Bandwidth float64 `json:"bandwidth"`
Latency float64 `json:"latency"`
Errors float64 `json:"errors"`
DownloadDuration float64 `json:"downloadDuration"`
QualityVariantChanges float64 `json:"qualityVariantChanges"`
}
decoder := json.NewDecoder(r.Body)
var request reportPlaybackMetricsRequest
if err := decoder.Decode(&request); err != nil {
log.Errorln("error decoding playback metrics payload:", err)
WriteSimpleResponse(w, false, err.Error())
return
}
clientID := utils.GenerateClientIDFromRequest(r)
metrics.RegisterPlaybackErrorCount(clientID, request.Errors)
if request.Bandwidth != 0.0 {
metrics.RegisterPlayerBandwidth(clientID, request.Bandwidth)
}
if request.Latency != 0.0 {
metrics.RegisterPlayerLatency(clientID, request.Latency)
}
if request.DownloadDuration != 0.0 {
metrics.RegisterPlayerSegmentDownloadDuration(clientID, request.DownloadDuration)
}
metrics.RegisterQualityVariantChangesCount(clientID, request.QualityVariantChanges)
}

82
core/cache/cache.go vendored Normal file
View File

@@ -0,0 +1,82 @@
package cache
import (
"time"
"github.com/jellydator/ttlcache/v3"
)
// CacheContainer is a container for all caches.
type CacheContainer struct {
caches map[string]*CacheInstance
}
// CacheInstance is a single cache instance.
type CacheInstance struct {
cache *ttlcache.Cache[string, []byte]
}
// This is the global singleton instance. (To be removed after refactor).
var _instance *CacheContainer
// NewCache creates a new cache instance.
func NewGlobalCache() *CacheContainer {
_instance = &CacheContainer{
caches: make(map[string]*CacheInstance),
}
return _instance
}
// GetCache returns the cache instance.
func GetGlobalCache() *CacheContainer {
if _instance != nil {
return _instance
}
return NewGlobalCache()
}
// GetOrCreateCache returns the cache instance or creates a new one.
func (c *CacheContainer) GetOrCreateCache(name string, expiration time.Duration) *CacheInstance {
if _, ok := c.caches[name]; !ok {
c.CreateCache(name, expiration)
}
return c.caches[name]
}
// CreateCache creates a new cache instance.
func (c *CacheContainer) CreateCache(name string, expiration time.Duration) *CacheInstance {
cache := ttlcache.New[string, []byte](
ttlcache.WithTTL[string, []byte](expiration),
ttlcache.WithDisableTouchOnHit[string, []byte](),
)
ci := &CacheInstance{cache: cache}
c.caches[name] = ci
go cache.Start()
return ci
}
// GetCache returns the cache instance.
func (c *CacheContainer) GetCache(name string) *CacheInstance {
return c.caches[name]
}
// GetValueForKey returns the value for the given key.
func (ci *CacheInstance) GetValueForKey(key string) []byte {
value := ci.cache.Get(key, ttlcache.WithDisableTouchOnHit[string, []byte]())
if value == nil {
return nil
}
if value.IsExpired() {
return nil
}
val := value.Value()
return val
}
// Set sets the value for the given key..
func (ci *CacheInstance) Set(key string, value []byte) {
ci.cache.Set(key, value, 0)
}

72
core/cache/cache_test.go vendored Normal file
View File

@@ -0,0 +1,72 @@
package cache
import (
"strconv"
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func TestCache(t *testing.T) {
expiration := 5 * time.Second
globalCache := GetGlobalCache()
assert.NotNil(t, globalCache, "NewGlobalCache should return a non-nil instance")
assert.Equal(t, globalCache, GetGlobalCache(), "GetGlobalCache should return the created instance")
cacheName := "testCache"
globalCache.CreateCache(cacheName, expiration)
createdCache := globalCache.GetCache(cacheName)
assert.NotNil(t, createdCache, "GetCache should return a non-nil cache")
key := "testKey"
value := []byte("testValue")
createdCache.Set(key, value)
// Wait for cache to expire
time.Sleep(expiration + 1*time.Second)
// Verify that the cache has expired
ci := globalCache.GetCache(cacheName)
cachedValue := ci.GetValueForKey(key)
assert.Nil(t, cachedValue, "Cache should not contain the value after expiration")
}
func TestConcurrentAccess(t *testing.T) {
// Test concurrent access to the cache
globalCache := NewGlobalCache()
cacheName := "concurrentCache"
expiration := 5 * time.Second
globalCache.CreateCache(cacheName, expiration)
// Start multiple goroutines to access the cache concurrently
numGoroutines := 10
keyPrefix := "key"
valuePrefix := "value"
done := make(chan struct{})
for i := 0; i < numGoroutines; i++ {
go func(index int) {
defer func() { done <- struct{}{} }()
cache := globalCache.GetCache(cacheName)
key := keyPrefix + strconv.Itoa(index)
value := valuePrefix + strconv.Itoa(index)
cache.Set(key, []byte(value))
// Simulate some work
time.Sleep(100 * time.Millisecond)
ci := globalCache.GetCache(cacheName)
cachedValue := string(ci.GetValueForKey(key))
assert.Equal(t, value, cachedValue, "Cached value should match the set value")
}(i)
}
// Wait for all goroutines to finish
for i := 0; i < numGoroutines; i++ {
<-done
}
}

View File

@@ -13,19 +13,21 @@ import (
"github.com/gorilla/websocket"
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/core/chat/events"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/geoip"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/models"
"github.com/owncast/owncast/services/geoip"
)
// Client represents a single chat client.
type Client struct {
ConnectedAt time.Time `json:"connectedAt"`
timeoutTimer *time.Timer
rateLimiter *rate.Limiter
conn *websocket.Conn
User *user.User `json:"user"`
server *Server
Geo *geoip.GeoDetails `json:"geo"`
ConnectedAt time.Time `json:"connectedAt"`
timeoutTimer *time.Timer
rateLimiter *rate.Limiter
messageFilter *ChatMessageFilter
conn *websocket.Conn
User *models.User `json:"user"`
server *Server
Geo *geoip.GeoDetails `json:"geo"`
// Buffered channel of outbound messages.
send chan []byte
accessToken string
@@ -90,6 +92,7 @@ func (c *Client) readPump() {
// Allow 3 messages every two seconds.
limit := rate.Every(2 * time.Second / 3)
c.rateLimiter = rate.NewLimiter(limit, 1)
c.messageFilter = NewMessageFilter()
defer func() {
c.close()
@@ -129,6 +132,12 @@ func (c *Client) readPump() {
continue
}
// Check if this message passes the optional language filter
if data.GetChatSlurFilterEnabled() && !c.messageFilter.Allow(string(message)) {
c.sendAction("Sorry, that message contained language that is not allowed in this chat.")
continue
}
message = bytes.TrimSpace(bytes.ReplaceAll(message, newline, space))
c.handleEvent(message)
}
@@ -200,7 +209,13 @@ func (c *Client) close() {
}
func (c *Client) passesRateLimit() bool {
return c.rateLimiter.Allow() && !c.inTimeout
// If spam rate limiting is disabled, or the user is a moderator, always
// allow the message.
if !data.GetChatSpamProtectionEnabled() || c.User.IsModerator() {
return true
}
return (c.rateLimiter.Allow() && !c.inTimeout)
}
func (c *Client) startChatRejectionTimeout() {

View File

@@ -9,8 +9,8 @@ import (
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/core/chat/events"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/core/webhooks"
"github.com/owncast/owncast/persistence/userrepository"
"github.com/owncast/owncast/utils"
log "github.com/sirupsen/logrus"
)
@@ -46,12 +46,14 @@ func (s *Server) userNameChanged(eventData chatClientEvent) {
}
}
userRepository := userrepository.Get()
// Check if the name is not already assigned to a registered user.
if available, err := user.IsDisplayNameAvailable(proposedUsername); err != nil {
if available, err := userRepository.IsDisplayNameAvailable(proposedUsername); err != nil {
log.Errorln("error checking if name is available", err)
return
} else if !available {
message := fmt.Sprintf("The name **%s** has been already registered. If this is your name, please authenticate.", proposedUsername)
message := fmt.Sprintf("The name **%s** has already been registered. If this is your name, please authenticate.", proposedUsername)
s.sendActionToClient(eventData.client, message)
// Resend the client's user so their username is in sync.
@@ -60,7 +62,7 @@ func (s *Server) userNameChanged(eventData chatClientEvent) {
return
}
savedUser := user.GetUserByToken(eventData.client.accessToken)
savedUser := userRepository.GetUserByToken(eventData.client.accessToken)
oldName := savedUser.DisplayName
// Check that the new name is different from old.
@@ -70,7 +72,7 @@ func (s *Server) userNameChanged(eventData chatClientEvent) {
}
// Save the new name
if err := user.ChangeUsername(eventData.client.User.ID, proposedUsername); err != nil {
if err := userRepository.ChangeUsername(eventData.client.User.ID, proposedUsername); err != nil {
log.Errorln("error changing username", err)
}
@@ -103,6 +105,8 @@ func (s *Server) userNameChanged(eventData chatClientEvent) {
}
func (s *Server) userColorChanged(eventData chatClientEvent) {
userRepository := userrepository.Get()
var receivedEvent events.ColorChangeEvent
if err := json.Unmarshal(eventData.data, &receivedEvent); err != nil {
log.Errorln("error unmarshalling to ColorChangeEvent", err)
@@ -116,7 +120,7 @@ func (s *Server) userColorChanged(eventData chatClientEvent) {
}
// Save the new color
if err := user.ChangeUserColor(eventData.client.User.ID, receivedEvent.NewColor); err != nil {
if err := userRepository.ChangeUserColor(eventData.client.User.ID, receivedEvent.NewColor); err != nil {
log.Errorln("error changing user display color", err)
}
@@ -126,6 +130,8 @@ func (s *Server) userColorChanged(eventData chatClientEvent) {
}
func (s *Server) userMessageSent(eventData chatClientEvent) {
userRepository := userrepository.Get()
var event events.UserMessageEvent
if err := json.Unmarshal(eventData.data, &event); err != nil {
log.Errorln("error unmarshalling to UserMessageEvent", err)
@@ -148,7 +154,7 @@ func (s *Server) userMessageSent(eventData chatClientEvent) {
}
}
event.User = user.GetUserByToken(eventData.client.accessToken)
event.User = userRepository.GetUserByToken(eventData.client.accessToken)
// Guard against nil users
if event.User == nil {
@@ -167,7 +173,6 @@ func (s *Server) userMessageSent(eventData chatClientEvent) {
SaveUserMessage(event)
eventData.client.MessageCount++
_lastSeenCache[event.User.ID] = time.Now()
}
func logSanitize(userValue string) string {

View File

@@ -1,9 +1,9 @@
package events
import "github.com/owncast/owncast/core/user"
import "github.com/owncast/owncast/models"
// ConnectedClientInfo represents the information about a connected client.
type ConnectedClientInfo struct {
User *models.User `json:"user"`
Event
User *user.User `json:"user"`
}

View File

@@ -20,7 +20,7 @@ import (
"mvdan.cc/xurls"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/models"
log "github.com/sirupsen/logrus"
)
@@ -30,21 +30,21 @@ type EventPayload map[string]interface{}
// OutboundEvent represents an event that is sent out to all listeners of the chat server.
type OutboundEvent interface {
GetBroadcastPayload() EventPayload
GetMessageType() EventType
GetMessageType() models.EventType
}
// Event is any kind of event. A type is required to be specified.
type Event struct {
Timestamp time.Time `json:"timestamp"`
Type EventType `json:"type,omitempty"`
ID string `json:"id"`
Timestamp time.Time `json:"timestamp"`
Type models.EventType `json:"type,omitempty"`
ID string `json:"id"`
}
// UserEvent is an event with an associated user.
type UserEvent struct {
User *user.User `json:"user"`
HiddenAt *time.Time `json:"hiddenAt,omitempty"`
ClientID uint `json:"clientId,omitempty"`
User *models.User `json:"user"`
HiddenAt *time.Time `json:"hiddenAt,omitempty"`
ClientID uint `json:"clientId,omitempty"`
}
// MessageEvent is an event that has a message body.

View File

@@ -8,6 +8,8 @@ const (
MessageSent EventType = "CHAT"
// UserJoined is the event sent when a chat user join action takes place.
UserJoined EventType = "USER_JOINED"
// UserParted is the event sent when a chat user part action takes place.
UserParted EventType = "USER_PARTED"
// UserNameChanged is the event sent when a chat username change takes place.
UserNameChanged EventType = "NAME_CHANGE"
// UserColorChanged is the event sent when a chat user color change takes place.
@@ -33,7 +35,7 @@ const (
// ChatActionSent is a generic chat action that can be used for anything that doesn't need specific handling or formatting.
ChatActionSent EventType = "CHAT_ACTION"
// ErrorNeedsRegistration is an error returned when the client needs to perform registration.
ErrorNeedsRegistration EventType = "ERROR_NEEDS_REGISTRATION"
ErrorNeedsRegistration EventType = "ERROR_NEEDS_REGISTRATION" // nolint:gosec
// ErrorMaxConnectionsExceeded is an error returned when the server determined it should not handle more connections.
ErrorMaxConnectionsExceeded EventType = "ERROR_MAX_CONNECTIONS_EXCEEDED"
// ErrorUserDisabled is an error returned when the connecting user has been previously banned/disabled.

View File

@@ -0,0 +1,17 @@
package events
// UserPartEvent is the event fired when a user leaves chat.
type UserPartEvent struct {
Event
UserEvent
}
// GetBroadcastPayload will return the object to send to all chat users.
func (e *UserPartEvent) GetBroadcastPayload() EventPayload {
return EventPayload{
"type": UserParted,
"id": e.ID,
"timestamp": e.Timestamp,
"user": e.User,
}
}

View File

@@ -0,0 +1,18 @@
package chat
import (
goaway "github.com/TwiN/go-away"
)
// ChatMessageFilter is a allow/deny chat message filter.
type ChatMessageFilter struct{}
// NewMessageFilter will return an instance of the chat message filter.
func NewMessageFilter() *ChatMessageFilter {
return &ChatMessageFilter{}
}
// Allow will test if this message should be allowed to be sent.
func (*ChatMessageFilter) Allow(message string) bool {
return !goaway.IsProfane(message)
}

View File

@@ -0,0 +1,39 @@
package chat
import (
"testing"
)
func TestFiltering(t *testing.T) {
filter := NewMessageFilter()
filteredTestMessages := []string{
"Hello, fucking world!",
"Suck my dick",
"Eat my ass",
"fuck this shit",
"@$$h073",
"F u C k th1$ $h!t",
"u r fag",
"fucking sucks",
}
unfilteredTestMessages := []string{
"bass fish",
"assumptions",
}
for _, m := range filteredTestMessages {
result := filter.Allow(m)
if result {
t.Errorf("%s should be seen as a filtered profane message", m)
}
}
for _, m := range unfilteredTestMessages {
result := filter.Allow(m)
if !result {
t.Errorf("%s should not be filtered", m)
}
}
}

View File

@@ -8,8 +8,9 @@ import (
"github.com/owncast/owncast/core/chat/events"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/models"
"github.com/owncast/owncast/persistence/tables"
log "github.com/sirupsen/logrus"
)
@@ -22,7 +23,7 @@ const (
func setupPersistence() {
_datastore = data.GetDatastore()
data.CreateMessagesTable(_datastore.DB)
tables.CreateMessagesTable(_datastore.DB)
data.CreateBanIPTable(_datastore.DB)
chatDataPruner := time.NewTicker(5 * time.Minute)
@@ -104,7 +105,7 @@ func makeUserMessageEventFromRowData(row rowData) events.UserMessageEvent {
isBot := (row.userType != nil && *row.userType == "API")
scopeSlice := strings.Split(scopes, ",")
u := user.User{
u := models.User{
ID: *row.userID,
DisplayName: displayName,
DisplayColor: displayColor,

View File

@@ -14,17 +14,15 @@ import (
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/core/chat/events"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/core/webhooks"
"github.com/owncast/owncast/geoip"
"github.com/owncast/owncast/models"
"github.com/owncast/owncast/persistence/userrepository"
"github.com/owncast/owncast/services/geoip"
"github.com/owncast/owncast/utils"
)
var _server *Server
// a map of user IDs and when they last were active.
var _lastSeenCache = map[string]time.Time{}
// Server represents an instance of the chat server.
type Server struct {
clients map[uint]*Client
@@ -38,7 +36,10 @@ type Server struct {
// unregister requests from clients.
unregister chan uint // the ChatClient id
geoipClient *geoip.Client
geoipClient *geoip.Client
// a map of user IDs and timers that fire for chat part messages.
userPartedTimers map[string]*time.Ticker
seq uint
maxSocketConnectionLimit int64
@@ -57,6 +58,7 @@ func NewChat() *Server {
unregister: make(chan uint),
maxSocketConnectionLimit: maximumConcurrentConnectionLimit,
geoipClient: geoip.NewClient(),
userPartedTimers: map[string]*time.Ticker{},
}
return server
@@ -67,7 +69,8 @@ func (s *Server) Run() {
for {
select {
case clientID := <-s.unregister:
if _, ok := s.clients[clientID]; ok {
if client, ok := s.clients[clientID]; ok {
s.handleClientDisconnected(client)
s.mu.Lock()
delete(s.clients, clientID)
s.mu.Unlock()
@@ -80,7 +83,7 @@ func (s *Server) Run() {
}
// Addclient registers new connection as a User.
func (s *Server) Addclient(conn *websocket.Conn, user *user.User, accessToken string, userAgent string, ipAddress string) *Client {
func (s *Server) Addclient(conn *websocket.Conn, user *models.User, accessToken string, userAgent string, ipAddress string) *Client {
client := &Client{
server: s,
conn: conn,
@@ -92,18 +95,29 @@ func (s *Server) Addclient(conn *websocket.Conn, user *user.User, accessToken st
ConnectedAt: time.Now(),
}
// Do not send user re-joined broadcast message if they've been active within 10 minutes.
shouldSendJoinedMessages := data.GetChatJoinMessagesEnabled()
if previouslyLastSeen, ok := _lastSeenCache[user.ID]; ok && time.Since(previouslyLastSeen) < time.Minute*10 {
shouldSendJoinedMessages := data.GetChatJoinPartMessagesEnabled()
// If there are existing clients connected for this user do not send
// a user joined message. Do not put this under a mutex, as
// GetClientsForUser already has a lock.
if existingConnectedClients, _ := GetClientsForUser(user.ID); len(existingConnectedClients) > 0 {
shouldSendJoinedMessages = false
}
s.mu.Lock()
{
// If there is a pending disconnect timer then clear it.
// Do not send user joined message if enough time hasn't passed where the
// user chat part message hasn't been sent yet.
if ticker, ok := s.userPartedTimers[user.ID]; ok {
ticker.Stop()
delete(s.userPartedTimers, user.ID)
shouldSendJoinedMessages = false
}
client.Id = s.seq
s.clients[client.Id] = client
s.seq++
_lastSeenCache[user.ID] = time.Now()
}
s.mu.Unlock()
@@ -143,16 +157,43 @@ func (s *Server) sendUserJoinedMessage(c *Client) {
webhooks.SendChatEventUserJoined(userJoinedEvent)
}
// ClientClosed is fired when a client disconnects or connection is dropped.
func (s *Server) ClientClosed(c *Client) {
s.mu.Lock()
defer s.mu.Unlock()
c.close()
func (s *Server) handleClientDisconnected(c *Client) {
if _, ok := s.clients[c.Id]; ok {
log.Debugln("Deleting", c.Id)
delete(s.clients, c.Id)
}
additionalClientCheck, _ := GetClientsForUser(c.User.ID)
if len(additionalClientCheck) > 0 {
// This user is still connected to chat with another client.
return
}
s.userPartedTimers[c.User.ID] = time.NewTicker(10 * time.Second)
go func() {
<-s.userPartedTimers[c.User.ID].C
s.sendUserPartedMessage(c)
}()
}
func (s *Server) sendUserPartedMessage(c *Client) {
s.userPartedTimers[c.User.ID].Stop()
delete(s.userPartedTimers, c.User.ID)
userPartEvent := events.UserPartEvent{}
userPartEvent.SetDefaults()
userPartEvent.User = c.User
userPartEvent.ClientID = c.Id
// If part messages are disabled.
if data.GetChatJoinPartMessagesEnabled() {
if err := s.Broadcast(userPartEvent.GetBroadcastPayload()); err != nil {
log.Errorln("error sending chat part message", err)
}
}
// Send chat user joined webhook
webhooks.SendChatEventUserParted(userPartEvent)
}
// HandleClientConnection is fired when a single client connects to the websocket.
@@ -199,8 +240,11 @@ func (s *Server) HandleClientConnection(w http.ResponseWriter, r *http.Request)
return
}
userRepository := userrepository.Get()
// A user is required to use the websocket
user := user.GetUserByToken(accessToken)
user := userRepository.GetUserByToken(accessToken)
if user == nil {
// Send error that registration is required
_ = conn.WriteJSON(events.EventPayload{
@@ -295,8 +339,10 @@ func SendConnectedClientInfoToUser(userID string) error {
return err
}
userRepository := userrepository.Get()
// Get an updated reference to the user.
user := user.GetUserByID(userID)
user := userRepository.GetUserByID(userID)
if user == nil {
return fmt.Errorf("user not found")
}

View File

@@ -13,10 +13,10 @@ import (
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/core/rtmp"
"github.com/owncast/owncast/core/transcoder"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/core/webhooks"
"github.com/owncast/owncast/models"
"github.com/owncast/owncast/notifications"
"github.com/owncast/owncast/persistence/tables"
"github.com/owncast/owncast/utils"
"github.com/owncast/owncast/yp"
)
@@ -56,7 +56,7 @@ func Start() error {
log.Errorln("storage error", err)
}
user.SetupUsers()
tables.SetupUsers(data.GetDatastore().DB)
auth.Setup(data.GetDatastore())
fileWriter.SetupFileWriterReceiverService(&handler)
@@ -104,7 +104,7 @@ func transitionToOfflineVideoStreamContent() {
_transcoder.SetLatencyLevel(models.GetLatencyLevel(4))
_transcoder.SetIsEvent(true)
offlineFilePath, err := saveOfflineClipToDisk("offline.ts")
offlineFilePath, err := saveOfflineClipToDisk("offline-v2.ts")
if err != nil {
log.Fatalln("unable to save offline clip:", err)
}

View File

@@ -16,53 +16,56 @@ import (
)
const (
extraContentKey = "extra_page_content"
streamTitleKey = "stream_title"
adminPasswordKey = "admin_password_key"
logoPathKey = "logo_path"
logoUniquenessKey = "logo_uniqueness"
serverSummaryKey = "server_summary"
serverWelcomeMessageKey = "server_welcome_message"
serverNameKey = "server_name"
serverURLKey = "server_url"
httpPortNumberKey = "http_port_number"
httpListenAddressKey = "http_listen_address"
websocketHostOverrideKey = "websocket_host_override"
rtmpPortNumberKey = "rtmp_port_number"
serverMetadataTagsKey = "server_metadata_tags"
directoryEnabledKey = "directory_enabled"
directoryRegistrationKeyKey = "directory_registration_key"
socialHandlesKey = "social_handles"
peakViewersSessionKey = "peak_viewers_session"
peakViewersOverallKey = "peak_viewers_overall"
lastDisconnectTimeKey = "last_disconnect_time"
ffmpegPathKey = "ffmpeg_path"
nsfwKey = "nsfw"
s3StorageConfigKey = "s3_storage_config"
videoLatencyLevel = "video_latency_level"
videoStreamOutputVariantsKey = "video_stream_output_variants"
chatDisabledKey = "chat_disabled"
externalActionsKey = "external_actions"
customStylesKey = "custom_styles"
customJavascriptKey = "custom_javascript"
videoCodecKey = "video_codec"
blockedUsernamesKey = "blocked_usernames"
publicKeyKey = "public_key"
privateKeyKey = "private_key"
serverInitDateKey = "server_init_date"
federationEnabledKey = "federation_enabled"
federationUsernameKey = "federation_username"
federationPrivateKey = "federation_private"
federationGoLiveMessageKey = "federation_go_live_message"
federationShowEngagementKey = "federation_show_engagement"
federationBlockedDomainsKey = "federation_blocked_domains"
suggestedUsernamesKey = "suggested_usernames"
chatJoinMessagesEnabledKey = "chat_join_messages_enabled"
chatEstablishedUsersOnlyModeKey = "chat_established_users_only_mode"
notificationsEnabledKey = "notifications_enabled"
discordConfigurationKey = "discord_configuration"
browserPushConfigurationKey = "browser_push_configuration"
browserPushPublicKeyKey = "browser_push_public_key"
extraContentKey = "extra_page_content"
streamTitleKey = "stream_title"
adminPasswordKey = "admin_password_key"
logoPathKey = "logo_path"
logoUniquenessKey = "logo_uniqueness"
serverSummaryKey = "server_summary"
serverWelcomeMessageKey = "server_welcome_message"
serverNameKey = "server_name"
serverURLKey = "server_url"
httpPortNumberKey = "http_port_number"
httpListenAddressKey = "http_listen_address"
websocketHostOverrideKey = "websocket_host_override"
rtmpPortNumberKey = "rtmp_port_number"
serverMetadataTagsKey = "server_metadata_tags"
directoryEnabledKey = "directory_enabled"
directoryRegistrationKeyKey = "directory_registration_key"
socialHandlesKey = "social_handles"
peakViewersSessionKey = "peak_viewers_session"
peakViewersOverallKey = "peak_viewers_overall"
lastDisconnectTimeKey = "last_disconnect_time"
ffmpegPathKey = "ffmpeg_path"
nsfwKey = "nsfw"
s3StorageConfigKey = "s3_storage_config"
videoLatencyLevel = "video_latency_level"
videoStreamOutputVariantsKey = "video_stream_output_variants"
chatDisabledKey = "chat_disabled"
externalActionsKey = "external_actions"
customStylesKey = "custom_styles"
customJavascriptKey = "custom_javascript"
videoCodecKey = "video_codec"
blockedUsernamesKey = "blocked_usernames"
publicKeyKey = "public_key"
privateKeyKey = "private_key"
serverInitDateKey = "server_init_date"
federationEnabledKey = "federation_enabled"
federationUsernameKey = "federation_username"
federationPrivateKey = "federation_private"
federationGoLiveMessageKey = "federation_go_live_message"
federationShowEngagementKey = "federation_show_engagement"
federationBlockedDomainsKey = "federation_blocked_domains"
suggestedUsernamesKey = "suggested_usernames"
chatJoinMessagesEnabledKey = "chat_join_messages_enabled"
chatEstablishedUsersOnlyModeKey = "chat_established_users_only_mode"
chatSpamProtectionEnabledKey = "chat_spam_protection_enabled"
chatSlurFilterEnabledKey = "chat_slur_filter_enabled"
notificationsEnabledKey = "notifications_enabled"
discordConfigurationKey = "discord_configuration"
browserPushConfigurationKey = "browser_push_configuration"
browserPushPublicKeyKey = "browser_push_public_key"
// nolint:gosec
browserPushPrivateKeyKey = "browser_push_private_key"
hasConfiguredInitialNotificationsKey = "has_configured_initial_notifications"
hideViewerCountKey = "hide_viewer_count"
@@ -112,7 +115,11 @@ func GetAdminPassword() string {
// SetAdminPassword will set the admin password.
func SetAdminPassword(key string) error {
return _datastore.SetString(adminPasswordKey, key)
hashed_pass, err := utils.HashPassword(key)
if err != nil {
return err
}
return _datastore.SetString(adminPasswordKey, hashed_pass)
}
// GetLogoPath will return the path for the logo, relative to webroot.
@@ -527,6 +534,36 @@ func GetChatEstbalishedUsersOnlyMode() bool {
return false
}
// SetChatSpamProtectionEnabled will enable chat spam protection if set to true.
func SetChatSpamProtectionEnabled(enabled bool) error {
return _datastore.SetBool(chatSpamProtectionEnabledKey, enabled)
}
// GetChatSpamProtectionEnabled will return if chat spam protection is enabled.
func GetChatSpamProtectionEnabled() bool {
enabled, err := _datastore.GetBool(chatSpamProtectionEnabledKey)
if err == nil {
return enabled
}
return true
}
// SetChatSlurFilterEnabled will enable the chat slur filter.
func SetChatSlurFilterEnabled(enabled bool) error {
return _datastore.SetBool(chatSlurFilterEnabledKey, enabled)
}
// GetChatSlurFilterEnabled will return if the chat slur filter is enabled.
func GetChatSlurFilterEnabled() bool {
enabled, err := _datastore.GetBool(chatSlurFilterEnabledKey)
if err == nil {
return enabled
}
return false
}
// GetExternalActions will return the registered external actions.
func GetExternalActions() []models.ExternalAction {
configEntry, err := _datastore.Get(externalActionsKey)
@@ -619,19 +656,19 @@ func VerifySettings() error {
}
// FindHighestVideoQualityIndex will return the highest quality from a slice of variants.
func FindHighestVideoQualityIndex(qualities []models.StreamOutputVariant) int {
func FindHighestVideoQualityIndex(qualities []models.StreamOutputVariant) (int, bool) {
type IndexedQuality struct {
index int
quality models.StreamOutputVariant
index int
}
if len(qualities) < 2 {
return 0
return 0, qualities[0].IsVideoPassthrough
}
indexedQualities := make([]IndexedQuality, 0)
for index, quality := range qualities {
indexedQuality := IndexedQuality{index, quality}
indexedQuality := IndexedQuality{quality, index}
indexedQualities = append(indexedQualities, indexedQuality)
}
@@ -647,7 +684,9 @@ func FindHighestVideoQualityIndex(qualities []models.StreamOutputVariant) int {
return indexedQualities[a].quality.VideoBitrate > indexedQualities[b].quality.VideoBitrate
})
return indexedQualities[0].index
// nolint:gosec
selectedQuality := indexedQualities[0]
return selectedQuality.index, selectedQuality.quality.IsVideoPassthrough
}
// GetForbiddenUsernameList will return the blocked usernames as a comma separated string.
@@ -814,8 +853,8 @@ func SetChatJoinMessagesEnabled(enabled bool) error {
return _datastore.SetBool(chatJoinMessagesEnabledKey, enabled)
}
// GetChatJoinMessagesEnabled will return if chat join messages are enabled.
func GetChatJoinMessagesEnabled() bool {
// GetChatJoinPartMessagesEnabled will return if chat join messages are enabled.
func GetChatJoinPartMessagesEnabled() bool {
enabled, err := _datastore.GetBool(chatJoinMessagesEnabledKey)
if err != nil {
return true

View File

@@ -8,8 +8,8 @@ import (
// ConfigEntry is the actual object saved to the database.
// The Value is encoded using encoding/gob.
type ConfigEntry struct {
Key string
Value interface{}
Key string
}
func (c *ConfigEntry) getStringSlice() ([]string, error) {

View File

@@ -11,6 +11,8 @@ import (
"path/filepath"
"time"
"github.com/owncast/owncast/persistence/tables"
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/utils"
log "github.com/sirupsen/logrus"
@@ -74,8 +76,8 @@ func SetupPersistence(file string) error {
_, _ = db.Exec("pragma wal_checkpoint(full)")
createWebhooksTable()
createUsersTable(db)
createAccessTokenTable(db)
tables.CreateUsersTable(db)
tables.CreateAccessTokenTable(db)
if _, err := db.Exec(`CREATE TABLE IF NOT EXISTS config (
"key" string NOT NULL PRIMARY KEY,
@@ -108,7 +110,7 @@ func SetupPersistence(file string) error {
// is database schema outdated?
if version < schemaVersion {
if err := migrateDatabaseSchema(db, version, schemaVersion); err != nil {
if err := tables.MigrateDatabaseSchema(db, version, schemaVersion); err != nil {
return err
}
}

View File

@@ -20,6 +20,8 @@ func TestString(t *testing.T) {
const testKey = "test string key"
const testValue = "test string value"
fmt.Println(testKey, testValue)
if err := _datastore.SetString(testKey, testValue); err != nil {
panic(err)
}
@@ -87,7 +89,7 @@ func TestCustomType(t *testing.T) {
}
// Save config entry to the database
if err := _datastore.Save(ConfigEntry{testKey, &testStruct}); err != nil {
if err := _datastore.Save(ConfigEntry{&testStruct, testKey}); err != nil {
t.Error(err)
}
@@ -119,7 +121,7 @@ func TestStringMap(t *testing.T) {
}
// Save config entry to the database
if err := _datastore.Save(ConfigEntry{testKey, &testMap}); err != nil {
if err := _datastore.Save(ConfigEntry{&testMap, testKey}); err != nil {
t.Error(err)
}

View File

@@ -8,7 +8,7 @@ import (
)
const (
datastoreValuesVersion = 3
datastoreValuesVersion = 4
datastoreValueVersionKey = "DATA_STORE_VERSION"
)
@@ -27,6 +27,8 @@ func migrateDatastoreValues(datastore *Datastore) {
migrateToDatastoreValues2(datastore)
case 2:
migrateToDatastoreValues3ServingEndpoint3(datastore)
case 3:
migrateToDatastoreValues4(datastore)
default:
log.Fatalln("missing datastore values migration step")
}
@@ -58,7 +60,8 @@ func migrateToDatastoreValues1(datastore *Datastore) {
func migrateToDatastoreValues2(datastore *Datastore) {
oldAdminPassword, _ := datastore.GetString("stream_key")
_ = SetAdminPassword(oldAdminPassword)
// Avoids double hashing the password
_ = datastore.SetString("admin_password_key", oldAdminPassword)
_ = SetStreamKeys([]models.StreamKey{
{Key: oldAdminPassword, Comment: "Default stream key"},
})
@@ -73,3 +76,11 @@ func migrateToDatastoreValues3ServingEndpoint3(_ *Datastore) {
_ = SetVideoServingEndpoint(s3Config.ServingEndpoint)
}
func migrateToDatastoreValues4(datastore *Datastore) {
unhashed_pass, _ := datastore.GetString("admin_password_key")
err := SetAdminPassword(unhashed_pass)
if err != nil {
log.Fatalln("error migrating admin password:", err)
}
}

View File

@@ -17,9 +17,11 @@ import (
log "github.com/sirupsen/logrus"
)
var emojiCacheMu sync.Mutex
var emojiCacheData = make([]models.CustomEmoji, 0)
var emojiCacheModTime time.Time
var (
emojiCacheMu sync.Mutex
emojiCacheData = make([]models.CustomEmoji, 0)
emojiCacheModTime time.Time
)
// UpdateEmojiList will update the cache (if required) and
// return the modifiation time.
@@ -43,12 +45,16 @@ func UpdateEmojiList(force bool) (time.Time, error) {
if force {
emojiCacheModTime = time.Now()
}
emojiFS := os.DirFS(config.CustomEmojiPath)
if emojiFS == nil {
return modTime, fmt.Errorf("unable to open custom emoji directory")
}
emojiCacheData = make([]models.CustomEmoji, 0)
walkFunction := func(path string, d os.DirEntry, err error) error {
if d.IsDir() {
if d == nil || d.IsDir() {
return nil
}

View File

@@ -9,32 +9,6 @@ import (
log "github.com/sirupsen/logrus"
)
// CreateMessagesTable will create the chat messages table if needed.
func CreateMessagesTable(db *sql.DB) {
createTableSQL := `CREATE TABLE IF NOT EXISTS messages (
"id" string NOT NULL,
"user_id" TEXT,
"body" TEXT,
"eventType" TEXT,
"hidden_at" DATETIME,
"timestamp" DATETIME,
"title" TEXT,
"subtitle" TEXT,
"image" TEXT,
"link" TEXT,
PRIMARY KEY (id)
);`
MustExec(createTableSQL, db)
// Create indexes
MustExec(`CREATE INDEX IF NOT EXISTS user_id_hidden_at_timestamp ON messages (id, user_id, hidden_at, timestamp);`, db)
MustExec(`CREATE INDEX IF NOT EXISTS idx_id ON messages (id);`, db)
MustExec(`CREATE INDEX IF NOT EXISTS idx_user_id ON messages (user_id);`, db)
MustExec(`CREATE INDEX IF NOT EXISTS idx_hidden_at ON messages (hidden_at);`, db)
MustExec(`CREATE INDEX IF NOT EXISTS idx_timestamp ON messages (timestamp);`, db)
MustExec(`CREATE INDEX IF NOT EXISTS idx_messages_hidden_at_timestamp on messages(hidden_at, timestamp);`, db)
}
// GetMessagesCount will return the number of messages in the database.
func GetMessagesCount() int64 {
query := `SELECT COUNT(*) FROM messages`

View File

@@ -11,7 +11,7 @@ func (ds *Datastore) GetStringSlice(key string) ([]string, error) {
// SetStringSlice will set the string slice value for a key.
func (ds *Datastore) SetStringSlice(key string, value []string) error {
configEntry := ConfigEntry{key, value}
configEntry := ConfigEntry{value, key}
return ds.Save(configEntry)
}
@@ -26,7 +26,7 @@ func (ds *Datastore) GetString(key string) (string, error) {
// SetString will set the string value for a key.
func (ds *Datastore) SetString(key string, value string) error {
configEntry := ConfigEntry{key, value}
configEntry := ConfigEntry{value, key}
return ds.Save(configEntry)
}
@@ -41,7 +41,7 @@ func (ds *Datastore) GetNumber(key string) (float64, error) {
// SetNumber will set the numeric value for a key.
func (ds *Datastore) SetNumber(key string, value float64) error {
configEntry := ConfigEntry{key, value}
configEntry := ConfigEntry{value, key}
return ds.Save(configEntry)
}
@@ -56,7 +56,7 @@ func (ds *Datastore) GetBool(key string) (bool, error) {
// SetBool will set the boolean value for a key.
func (ds *Datastore) SetBool(key string, value bool) error {
configEntry := ConfigEntry{key, value}
configEntry := ConfigEntry{value, key}
return ds.Save(configEntry)
}
@@ -71,6 +71,6 @@ func (ds *Datastore) GetStringMap(key string) (map[string]string, error) {
// SetStringMap will set the string map value for a key.
func (ds *Datastore) SetStringMap(key string, value map[string]string) error {
configEntry := ConfigEntry{key, value}
configEntry := ConfigEntry{value, key}
return ds.Save(configEntry)
}

View File

@@ -36,7 +36,7 @@ func appendOfflineToVariantPlaylist(index int, playlistFilePath string) {
_, _ = atomicWriteTmpPlaylistFile.WriteString("#EXT-X-DISCONTINUITY\n")
// If "offline" content gets changed then change the duration below
_, _ = atomicWriteTmpPlaylistFile.WriteString("#EXTINF:8.000000,\n")
_, _ = atomicWriteTmpPlaylistFile.WriteString("offline.ts\n")
_, _ = atomicWriteTmpPlaylistFile.WriteString("offline-v2.ts\n")
_, _ = atomicWriteTmpPlaylistFile.WriteString("#EXT-X-ENDLIST\n")
if err := atomicWriteTmpPlaylistFile.Close(); err != nil {

View File

@@ -73,7 +73,7 @@ func HandleConn(c *rtmp.Conn, nc net.Conn) {
}
if _hasInboundRTMPConnection {
log.Errorln("stream already running; can not overtake an existing stream")
log.Errorln("stream already running; can not overtake an existing stream from", nc.RemoteAddr().String())
_ = nc.Close()
return
}
@@ -94,14 +94,14 @@ func HandleConn(c *rtmp.Conn, nc net.Conn) {
}
if !accessGranted {
log.Errorln("invalid streaming key; rejecting incoming stream")
log.Errorln("invalid streaming key; rejecting incoming stream from", nc.RemoteAddr().String())
_ = nc.Close()
return
}
rtmpOut, rtmpIn := io.Pipe()
_pipe = rtmpIn
log.Infoln("Inbound stream connected.")
log.Infoln("Inbound stream connected from", nc.RemoteAddr().String())
_setStreamAsConnected(rtmpOut)
_hasInboundRTMPConnection = true

View File

@@ -8,8 +8,8 @@ import (
log "github.com/sirupsen/logrus"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/geoip"
"github.com/owncast/owncast/models"
"github.com/owncast/owncast/services/geoip"
)
var (

View File

@@ -5,15 +5,15 @@ import (
"path/filepath"
"sort"
"github.com/pkg/errors"
log "github.com/sirupsen/logrus"
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/core/data"
)
// LocalStorage represents an instance of the local storage provider for HLS video.
type LocalStorage struct{}
type LocalStorage struct {
host string
}
// NewLocalStorage returns a new LocalStorage instance.
func NewLocalStorage() *LocalStorage {
@@ -22,6 +22,7 @@ func NewLocalStorage() *LocalStorage {
// Setup configures this storage provider.
func (s *LocalStorage) Setup() error {
s.host = data.GetVideoServingEndpoint()
return nil
}
@@ -42,8 +43,15 @@ func (s *LocalStorage) VariantPlaylistWritten(localFilePath string) {
// MasterPlaylistWritten is called when the master hls playlist is written.
func (s *LocalStorage) MasterPlaylistWritten(localFilePath string) {
if _, err := s.Save(localFilePath, 0); err != nil {
log.Warnln(err)
// If we're using a remote serving endpoint, we need to rewrite the master playlist
if s.host != "" {
if err := rewritePlaylistLocations(localFilePath, s.host, ""); err != nil {
log.Warnln(err)
}
} else {
if _, err := s.Save(localFilePath, 0); err != nil {
log.Warnln(err)
}
}
}
@@ -52,36 +60,12 @@ func (s *LocalStorage) Save(filePath string, retryCount int) (string, error) {
return filePath, nil
}
// Cleanup will remove old files from the storage provider.
func (s *LocalStorage) Cleanup() error {
// Determine how many files we should keep on disk
maxNumber := data.GetStreamLatencyLevel().SegmentCount
buffer := 10
baseDirectory := config.HLSStoragePath
files, err := getAllFilesRecursive(baseDirectory)
if err != nil {
return errors.Wrap(err, "unable find old video files for cleanup")
}
// Delete old private HLS files on disk
for directory := range files {
files := files[directory]
if len(files) < maxNumber+buffer {
continue
}
filesToDelete := files[maxNumber+buffer:]
log.Traceln("Deleting", len(filesToDelete), "old files from", baseDirectory, "for video variant", directory)
for _, file := range filesToDelete {
fileToDelete := filepath.Join(baseDirectory, directory, file.Name())
err := os.Remove(fileToDelete)
if err != nil {
return errors.Wrap(err, "unable to delete old video files")
}
}
}
return nil
return localCleanup(maxNumber + buffer)
}
func getAllFilesRecursive(baseDirectory string) (map[string][]os.FileInfo, error) {

View File

@@ -0,0 +1,39 @@
package storageproviders
import (
"os"
"path/filepath"
"github.com/owncast/owncast/config"
"github.com/pkg/errors"
log "github.com/sirupsen/logrus"
)
func localCleanup(maxNumber int) error {
baseDirectory := config.HLSStoragePath
files, err := getAllFilesRecursive(baseDirectory)
if err != nil {
return errors.Wrap(err, "unable find old video files for cleanup")
}
// Delete old private HLS files on disk
for directory := range files {
files := files[directory]
if len(files) < maxNumber {
continue
}
filesToDelete := files[maxNumber:]
log.Traceln("Deleting", len(filesToDelete), "old files from", baseDirectory, "for video variant", directory)
for _, file := range filesToDelete {
fileToDelete := filepath.Join(baseDirectory, directory, file.Name())
err := os.Remove(fileToDelete)
if err != nil {
return errors.Wrap(err, "unable to delete old video files")
}
}
}
return nil
}

View File

@@ -12,8 +12,8 @@ import (
log "github.com/sirupsen/logrus"
)
// rewriteRemotePlaylist will take a local playlist and rewrite it to have absolute URLs to remote locations.
func rewriteRemotePlaylist(localFilePath, remoteServingEndpoint string) error {
// rewritePlaylistLocations will take a local playlist and rewrite it to have absolute URLs to a specified location.
func rewritePlaylistLocations(localFilePath, remoteServingEndpoint, pathPrefix string) error {
f, err := os.Open(localFilePath) // nolint
if err != nil {
log.Fatalln(err)
@@ -25,7 +25,14 @@ func rewriteRemotePlaylist(localFilePath, remoteServingEndpoint string) error {
}
for _, item := range p.Variants {
item.URI = remoteServingEndpoint + filepath.Join("/hls", item.URI)
// Determine the final path to this playlist.
var finalPath string
if pathPrefix != "" {
finalPath = filepath.Join(pathPrefix, "/hls")
} else {
finalPath = "/hls"
}
item.URI = remoteServingEndpoint + filepath.Join(finalPath, item.URI)
}
publicPath := filepath.Join(config.HLSStoragePath, filepath.Base(localFilePath))

View File

@@ -8,6 +8,7 @@ import (
"path/filepath"
"sort"
"strings"
"sync"
"time"
"github.com/owncast/owncast/core/data"
@@ -26,30 +27,37 @@ import (
// S3Storage is the s3 implementation of a storage provider.
type S3Storage struct {
sess *session.Session
s3Client *s3.S3
host string
s3Endpoint string
s3ServingEndpoint string
s3Region string
s3Bucket string
s3AccessKey string
s3Secret string
s3ACL string
s3ForcePathStyle bool
// If we try to upload a playlist but it is not yet on disk
// then keep a reference to it here.
queuedPlaylistUpdates map[string]string
s3Client *s3.S3
uploader *s3manager.Uploader
sess *session.Session
s3Secret string
s3Bucket string
s3Region string
s3ServingEndpoint string
s3AccessKey string
s3ACL string
s3PathPrefix string
s3Endpoint string
host string
lock sync.Mutex
s3ForcePathStyle bool
}
// NewS3Storage returns a new S3Storage instance.
func NewS3Storage() *S3Storage {
return &S3Storage{
queuedPlaylistUpdates: make(map[string]string),
lock: sync.Mutex{},
}
}
@@ -73,6 +81,7 @@ func (s *S3Storage) Setup() error {
s.s3AccessKey = s3Config.AccessKey
s.s3Secret = s3Config.Secret
s.s3ACL = s3Config.ACL
s.s3PathPrefix = s3Config.PathPrefix
s.s3ForcePathStyle = s3Config.ForcePathStyle
s.sess = s.connectAWS()
@@ -107,6 +116,7 @@ func (s *S3Storage) SegmentWritten(localFilePath string) {
// so the segments and the HLS playlist referencing
// them are in sync.
playlistPath := filepath.Join(filepath.Dir(localFilePath), "stream.m3u8")
if _, err := s.Save(playlistPath, 0); err != nil {
s.queuedPlaylistUpdates[playlistPath] = playlistPath
if pErr, ok := err.(*os.PathError); ok {
@@ -121,6 +131,8 @@ func (s *S3Storage) VariantPlaylistWritten(localFilePath string) {
// We are uploading the variant playlist after uploading the segment
// to make sure we're not referring to files in a playlist that don't
// yet exist. See SegmentWritten.
s.lock.Lock()
defer s.lock.Unlock()
if _, ok := s.queuedPlaylistUpdates[localFilePath]; ok {
if _, err := s.Save(localFilePath, 0); err != nil {
log.Errorln(err)
@@ -133,7 +145,7 @@ func (s *S3Storage) VariantPlaylistWritten(localFilePath string) {
// MasterPlaylistWritten is called when the master hls playlist is written.
func (s *S3Storage) MasterPlaylistWritten(localFilePath string) {
// Rewrite the playlist to use absolute remote S3 URLs
if err := rewriteRemotePlaylist(localFilePath, s.host); err != nil {
if err := rewritePlaylistLocations(localFilePath, s.host, s.s3PathPrefix); err != nil {
log.Warnln(err)
}
}
@@ -151,6 +163,12 @@ func (s *S3Storage) Save(filePath string, retryCount int) (string, error) {
// Build the remote path by adding the "hls" path prefix.
remotePath := strings.Join([]string{"hls", normalizedPath}, "")
// If a custom path prefix is set prepend it.
if s.s3PathPrefix != "" {
prefix := strings.TrimPrefix(s.s3PathPrefix, "/")
remotePath = strings.Join([]string{prefix, remotePath}, "/")
}
maxAgeSeconds := utils.GetCacheDurationSecondsForPath(filePath)
cacheControlHeader := fmt.Sprintf("max-age=%d", maxAgeSeconds)
@@ -190,7 +208,17 @@ func (s *S3Storage) Save(filePath string, retryCount int) (string, error) {
return response.Location, nil
}
// Cleanup will fire the different cleanup tasks required.
func (s *S3Storage) Cleanup() error {
if err := s.RemoteCleanup(); err != nil {
log.Errorln(err)
}
return localCleanup(4)
}
// RemoteCleanup will remove old files from the remote storage provider.
func (s *S3Storage) RemoteCleanup() error {
// Determine how many files we should keep on S3 storage
maxNumber := data.GetStreamLatencyLevel().SegmentCount
buffer := 20
@@ -307,6 +335,6 @@ func (s *S3Storage) retrieveAllVideoSegments() ([]s3object, error) {
}
type s3object struct {
key string
lastModified time.Time
key string
}

View File

@@ -69,7 +69,8 @@ func setStreamAsConnected(rtmpOut *io.PipeReader) {
}()
go webhooks.SendStreamStatusEvent(models.StreamStarted)
transcoder.StartThumbnailGenerator(segmentPath, data.FindHighestVideoQualityIndex(_currentBroadcast.OutputSettings))
selectedThumbnailVideoQualityIndex, isVideoPassthrough := data.FindHighestVideoQualityIndex(_currentBroadcast.OutputSettings)
transcoder.StartThumbnailGenerator(segmentPath, selectedThumbnailVideoQualityIndex, isVideoPassthrough)
_ = chat.SendSystemAction("Stay tuned, the stream is **starting**!", true)
chat.SendAllWelcomeMessage()
@@ -92,7 +93,7 @@ func SetStreamAsDisconnected() {
_stats.LastConnectTime = nil
_broadcaster = nil
offlineFilename := "offline.ts"
offlineFilename := "offline-v2.ts"
offlineFilePath, err := saveOfflineClipToDisk(offlineFilename)
if err != nil {

View File

@@ -25,7 +25,7 @@ func StopThumbnailGenerator() {
}
// StartThumbnailGenerator starts generating thumbnails.
func StartThumbnailGenerator(chunkPath string, variantIndex int) {
func StartThumbnailGenerator(chunkPath string, variantIndex int, isVideoPassthrough bool) {
// Every 20 seconds create a thumbnail from the most
// recent video segment.
_timer = time.NewTicker(20 * time.Second)
@@ -36,7 +36,11 @@ func StartThumbnailGenerator(chunkPath string, variantIndex int) {
select {
case <-_timer.C:
if err := fireThumbnailGenerator(chunkPath, variantIndex); err != nil {
log.Errorln("Unable to generate thumbnail:", err)
logMsg := "Unable to generate thumbnail: " + err.Error()
if isVideoPassthrough {
logMsg += ". Video Passthrough is enabled. You should disable it to fix this, and other, streaming errors. https://owncast.online/troubleshoot"
}
log.Errorln("Unable to generate thumbnail:", logMsg)
}
case <-quit:
log.Debug("thumbnail generator has stopped")

View File

@@ -13,8 +13,10 @@ import (
log "github.com/sirupsen/logrus"
)
var _lastTranscoderLogMessage = ""
var l = &sync.RWMutex{}
var (
_lastTranscoderLogMessage = ""
l = &sync.RWMutex{}
)
var errorMap = map[string]string{
"Unrecognized option 'vaapi_device'": "you are likely trying to utilize a vaapi codec, but your version of ffmpeg or your hardware doesn't support it. change your codec to libx264 and restart your stream",
@@ -100,14 +102,14 @@ func createVariantDirectories() {
if len(data.GetStreamOutputVariants()) != 0 {
for index := range data.GetStreamOutputVariants() {
if err := os.MkdirAll(path.Join(config.HLSStoragePath, strconv.Itoa(index)), 0750); err != nil {
if err := os.MkdirAll(path.Join(config.HLSStoragePath, strconv.Itoa(index)), 0o750); err != nil {
log.Fatalln(err)
}
}
} else {
dir := path.Join(config.HLSStoragePath, strconv.Itoa(0))
log.Traceln("Creating", dir)
if err := os.MkdirAll(dir, 0750); err != nil {
if err := os.MkdirAll(dir, 0o750); err != nil {
log.Fatalln(err)
}
}

View File

@@ -1,311 +0,0 @@
package user
import (
"context"
"database/sql"
"strings"
"time"
"github.com/owncast/owncast/utils"
"github.com/pkg/errors"
log "github.com/sirupsen/logrus"
"github.com/teris-io/shortid"
)
// ExternalAPIUser represents a single 3rd party integration that uses an access token.
// This struct mostly matches the User struct so they can be used interchangeably.
type ExternalAPIUser struct {
CreatedAt time.Time `json:"createdAt"`
LastUsedAt *time.Time `json:"lastUsedAt,omitempty"`
ID string `json:"id"`
AccessToken string `json:"accessToken"`
DisplayName string `json:"displayName"`
Type string `json:"type,omitempty"` // Should be API
Scopes []string `json:"scopes"`
DisplayColor int `json:"displayColor"`
IsBot bool `json:"isBot"`
}
const (
// ScopeCanSendChatMessages will allow sending chat messages as itself.
ScopeCanSendChatMessages = "CAN_SEND_MESSAGES"
// ScopeCanSendSystemMessages will allow sending chat messages as the system.
ScopeCanSendSystemMessages = "CAN_SEND_SYSTEM_MESSAGES"
// ScopeHasAdminAccess will allow performing administrative actions on the server.
ScopeHasAdminAccess = "HAS_ADMIN_ACCESS"
)
// For a scope to be seen as "valid" it must live in this slice.
var validAccessTokenScopes = []string{
ScopeCanSendChatMessages,
ScopeCanSendSystemMessages,
ScopeHasAdminAccess,
}
// InsertExternalAPIUser will add a new API user to the database.
func InsertExternalAPIUser(token string, name string, color int, scopes []string) error {
log.Traceln("Adding new API user")
_datastore.DbLock.Lock()
defer _datastore.DbLock.Unlock()
scopesString := strings.Join(scopes, ",")
id := shortid.MustGenerate()
tx, err := _datastore.DB.Begin()
if err != nil {
return err
}
stmt, err := tx.Prepare("INSERT INTO users(id, display_name, display_color, scopes, type, previous_names) values(?, ?, ?, ?, ?, ?)")
if err != nil {
return err
}
defer stmt.Close()
if _, err = stmt.Exec(id, name, color, scopesString, "API", name); err != nil {
return err
}
if err = tx.Commit(); err != nil {
return err
}
if err := addAccessTokenForUser(token, id); err != nil {
return errors.Wrap(err, "unable to save access token for new external api user")
}
return nil
}
// DeleteExternalAPIUser will delete a token from the database.
func DeleteExternalAPIUser(token string) error {
log.Traceln("Deleting access token")
_datastore.DbLock.Lock()
defer _datastore.DbLock.Unlock()
tx, err := _datastore.DB.Begin()
if err != nil {
return err
}
stmt, err := tx.Prepare("UPDATE users SET disabled_at = CURRENT_TIMESTAMP WHERE id = (SELECT user_id FROM user_access_tokens WHERE token = ?)")
if err != nil {
return err
}
defer stmt.Close()
result, err := stmt.Exec(token)
if err != nil {
return err
}
if rowsDeleted, _ := result.RowsAffected(); rowsDeleted == 0 {
tx.Rollback() //nolint
return errors.New(token + " not found")
}
if err = tx.Commit(); err != nil {
return err
}
return nil
}
// GetExternalAPIUserForAccessTokenAndScope will determine if a specific token has access to perform a scoped action.
func GetExternalAPIUserForAccessTokenAndScope(token string, scope string) (*ExternalAPIUser, error) {
// This will split the scopes from comma separated to individual rows
// so we can efficiently find if a token supports a single scope.
// This is SQLite specific, so if we ever support other database
// backends we need to support other methods.
query := `SELECT
id,
scopes,
display_name,
display_color,
created_at,
last_used
FROM
user_access_tokens
INNER JOIN (
WITH RECURSIVE split(
id,
scopes,
display_name,
display_color,
created_at,
last_used,
disabled_at,
scope,
rest
) AS (
SELECT
id,
scopes,
display_name,
display_color,
created_at,
last_used,
disabled_at,
'',
scopes || ','
FROM
users AS u
UNION ALL
SELECT
id,
scopes,
display_name,
display_color,
created_at,
last_used,
disabled_at,
substr(rest, 0, instr(rest, ',')),
substr(rest, instr(rest, ',') + 1)
FROM
split
WHERE
rest <> ''
)
SELECT
id,
display_name,
display_color,
created_at,
last_used,
disabled_at,
scopes,
scope
FROM
split
WHERE
scope <> ''
) ON user_access_tokens.user_id = id
WHERE
disabled_at IS NULL
AND token = ?
AND scope = ?;`
row := _datastore.DB.QueryRow(query, token, scope)
integration, err := makeExternalAPIUserFromRow(row)
return integration, err
}
// GetIntegrationNameForAccessToken will return the integration name associated with a specific access token.
func GetIntegrationNameForAccessToken(token string) *string {
name, err := _datastore.GetQueries().GetUserDisplayNameByToken(context.Background(), token)
if err != nil {
return nil
}
return &name
}
// GetExternalAPIUser will return all API users with access tokens.
func GetExternalAPIUser() ([]ExternalAPIUser, error) { //nolint
query := "SELECT id, token, display_name, display_color, scopes, created_at, last_used FROM users, user_access_tokens WHERE user_access_tokens.user_id = id AND type IS 'API' AND disabled_at IS NULL"
rows, err := _datastore.DB.Query(query)
if err != nil {
return []ExternalAPIUser{}, err
}
defer rows.Close()
integrations, err := makeExternalAPIUsersFromRows(rows)
return integrations, err
}
// SetExternalAPIUserAccessTokenAsUsed will update the last used timestamp for a token.
func SetExternalAPIUserAccessTokenAsUsed(token string) error {
tx, err := _datastore.DB.Begin()
if err != nil {
return err
}
stmt, err := tx.Prepare("UPDATE users SET last_used = CURRENT_TIMESTAMP WHERE id = (SELECT user_id FROM user_access_tokens WHERE token = ?)")
if err != nil {
return err
}
defer stmt.Close()
if _, err := stmt.Exec(token); err != nil {
return err
}
if err = tx.Commit(); err != nil {
return err
}
return nil
}
func makeExternalAPIUserFromRow(row *sql.Row) (*ExternalAPIUser, error) {
var id string
var displayName string
var displayColor int
var scopes string
var createdAt time.Time
var lastUsedAt *time.Time
err := row.Scan(&id, &scopes, &displayName, &displayColor, &createdAt, &lastUsedAt)
if err != nil {
log.Debugln("unable to convert row to api user", err)
return nil, err
}
integration := ExternalAPIUser{
ID: id,
DisplayName: displayName,
DisplayColor: displayColor,
CreatedAt: createdAt,
Scopes: strings.Split(scopes, ","),
LastUsedAt: lastUsedAt,
}
return &integration, nil
}
func makeExternalAPIUsersFromRows(rows *sql.Rows) ([]ExternalAPIUser, error) {
integrations := make([]ExternalAPIUser, 0)
for rows.Next() {
var id string
var accessToken string
var displayName string
var displayColor int
var scopes string
var createdAt time.Time
var lastUsedAt *time.Time
err := rows.Scan(&id, &accessToken, &displayName, &displayColor, &scopes, &createdAt, &lastUsedAt)
if err != nil {
log.Errorln(err)
return nil, err
}
integration := ExternalAPIUser{
ID: id,
AccessToken: accessToken,
DisplayName: displayName,
DisplayColor: displayColor,
CreatedAt: createdAt,
Scopes: strings.Split(scopes, ","),
LastUsedAt: lastUsedAt,
IsBot: true,
}
integrations = append(integrations, integration)
}
return integrations, nil
}
// HasValidScopes will verify that all the scopes provided are valid.
func HasValidScopes(scopes []string) bool {
for _, scope := range scopes {
_, foundInSlice := utils.FindInSlice(validAccessTokenScopes, scope)
if !foundInSlice {
return false
}
}
return true
}

View File

@@ -1,93 +0,0 @@
package user
import (
"testing"
"github.com/owncast/owncast/core/data"
)
const (
tokenName = "test token name"
token = "test-token-123"
)
var testScopes = []string{"test-scope"}
func TestMain(m *testing.M) {
if err := data.SetupPersistence(":memory:"); err != nil {
panic(err)
}
SetupUsers()
m.Run()
}
func TestCreateExternalAPIUser(t *testing.T) {
if err := InsertExternalAPIUser(token, tokenName, 0, testScopes); err != nil {
t.Fatal(err)
}
user := GetUserByToken(token)
if user == nil {
t.Fatal("api user not found after creating")
}
if user.DisplayName != tokenName {
t.Errorf("expected display name %q, got %q", tokenName, user.DisplayName)
}
if user.Scopes[0] != testScopes[0] {
t.Errorf("expected scopes %q, got %q", testScopes, user.Scopes)
}
}
func TestDeleteExternalAPIUser(t *testing.T) {
if err := DeleteExternalAPIUser(token); err != nil {
t.Fatal(err)
}
}
func TestVerifyTokenDisabled(t *testing.T) {
users, err := GetExternalAPIUser()
if err != nil {
t.Fatal(err)
}
if len(users) > 0 {
t.Fatal("disabled user returned in list of all API users")
}
}
func TestVerifyGetUserTokenDisabled(t *testing.T) {
user := GetUserByToken(token)
if user == nil {
t.Fatal("user not returned in GetUserByToken after disabling")
}
if user.DisabledAt == nil {
t.Fatal("user returned in GetUserByToken after disabling")
}
}
func TestVerifyGetExternalAPIUserForAccessTokenAndScopeTokenDisabled(t *testing.T) {
user, _ := GetExternalAPIUserForAccessTokenAndScope(token, testScopes[0])
if user != nil {
t.Fatal("user returned in GetExternalAPIUserForAccessTokenAndScope after disabling")
}
}
func TestCreateAdditionalAPIUser(t *testing.T) {
if err := InsertExternalAPIUser("ignore-me", "token-to-be-ignored", 0, testScopes); err != nil {
t.Fatal(err)
}
}
func TestAgainVerifyGetExternalAPIUserForAccessTokenAndScopeTokenDisabled(t *testing.T) {
user, _ := GetExternalAPIUserForAccessTokenAndScope(token, testScopes[0])
if user != nil {
t.Fatal("user returned in TestAgainVerifyGetExternalAPIUserForAccessTokenAndScopeTokenDisabled after disabling")
}
}

View File

@@ -1,473 +0,0 @@
package user
import (
"context"
"database/sql"
"fmt"
"sort"
"strings"
"time"
"github.com/owncast/owncast/config"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/db"
"github.com/owncast/owncast/utils"
"github.com/pkg/errors"
"github.com/teris-io/shortid"
log "github.com/sirupsen/logrus"
)
var _datastore *data.Datastore
const (
moderatorScopeKey = "MODERATOR"
minSuggestedUsernamePoolLength = 10
)
// User represents a single chat user.
type User struct {
CreatedAt time.Time `json:"createdAt"`
DisabledAt *time.Time `json:"disabledAt,omitempty"`
NameChangedAt *time.Time `json:"nameChangedAt,omitempty"`
AuthenticatedAt *time.Time `json:"-"`
ID string `json:"id"`
DisplayName string `json:"displayName"`
PreviousNames []string `json:"previousNames"`
Scopes []string `json:"scopes,omitempty"`
DisplayColor int `json:"displayColor"`
IsBot bool `json:"isBot"`
Authenticated bool `json:"authenticated"`
}
// IsEnabled will return if this single user is enabled.
func (u *User) IsEnabled() bool {
return u.DisabledAt == nil
}
// IsModerator will return if the user has moderation privileges.
func (u *User) IsModerator() bool {
_, hasModerationScope := utils.FindInSlice(u.Scopes, moderatorScopeKey)
return hasModerationScope
}
// SetupUsers will perform the initial initialization of the user package.
func SetupUsers() {
_datastore = data.GetDatastore()
}
func generateDisplayName() string {
suggestedUsernamesList := data.GetSuggestedUsernamesList()
if len(suggestedUsernamesList) >= minSuggestedUsernamePoolLength {
index := utils.RandomIndex(len(suggestedUsernamesList))
return suggestedUsernamesList[index]
} else {
return utils.GeneratePhrase()
}
}
// CreateAnonymousUser will create a new anonymous user with the provided display name.
func CreateAnonymousUser(displayName string) (*User, string, error) {
// Try to assign a name that was requested.
if displayName != "" {
// If name isn't available then generate a random one.
if available, _ := IsDisplayNameAvailable(displayName); !available {
displayName = generateDisplayName()
}
} else {
displayName = generateDisplayName()
}
displayColor := utils.GenerateRandomDisplayColor(config.MaxUserColor)
id := shortid.MustGenerate()
user := &User{
ID: id,
DisplayName: displayName,
DisplayColor: displayColor,
CreatedAt: time.Now(),
}
// Create new user.
if err := create(user); err != nil {
return nil, "", err
}
// Assign it an access token.
accessToken, err := utils.GenerateAccessToken()
if err != nil {
log.Errorln("Unable to create access token for new user")
return nil, "", err
}
if err := addAccessTokenForUser(accessToken, id); err != nil {
return nil, "", errors.Wrap(err, "unable to save access token for new user")
}
return user, accessToken, nil
}
// IsDisplayNameAvailable will check if the proposed name is available for use.
func IsDisplayNameAvailable(displayName string) (bool, error) {
if available, err := _datastore.GetQueries().IsDisplayNameAvailable(context.Background(), displayName); err != nil {
return false, errors.Wrap(err, "unable to check if display name is available")
} else if available != 0 {
return false, nil
}
return true, nil
}
// ChangeUsername will change the user associated to userID from one display name to another.
func ChangeUsername(userID string, username string) error {
_datastore.DbLock.Lock()
defer _datastore.DbLock.Unlock()
if err := _datastore.GetQueries().ChangeDisplayName(context.Background(), db.ChangeDisplayNameParams{
DisplayName: username,
ID: userID,
PreviousNames: sql.NullString{String: fmt.Sprintf(",%s", username), Valid: true},
NamechangedAt: sql.NullTime{Time: time.Now(), Valid: true},
}); err != nil {
return errors.Wrap(err, "unable to change display name")
}
return nil
}
// ChangeUserColor will change the user associated to userID from one display name to another.
func ChangeUserColor(userID string, color int) error {
_datastore.DbLock.Lock()
defer _datastore.DbLock.Unlock()
if err := _datastore.GetQueries().ChangeDisplayColor(context.Background(), db.ChangeDisplayColorParams{
DisplayColor: int32(color),
ID: userID,
}); err != nil {
return errors.Wrap(err, "unable to change display color")
}
return nil
}
func addAccessTokenForUser(accessToken, userID string) error {
return _datastore.GetQueries().AddAccessTokenForUser(context.Background(), db.AddAccessTokenForUserParams{
Token: accessToken,
UserID: userID,
})
}
func create(user *User) error {
_datastore.DbLock.Lock()
defer _datastore.DbLock.Unlock()
tx, err := _datastore.DB.Begin()
if err != nil {
log.Debugln(err)
}
defer func() {
_ = tx.Rollback()
}()
stmt, err := tx.Prepare("INSERT INTO users(id, display_name, display_color, previous_names, created_at) values(?, ?, ?, ?, ?)")
if err != nil {
log.Debugln(err)
}
defer stmt.Close()
_, err = stmt.Exec(user.ID, user.DisplayName, user.DisplayColor, user.DisplayName, user.CreatedAt)
if err != nil {
log.Errorln("error creating new user", err)
return err
}
return tx.Commit()
}
// SetEnabled will set the enabled status of a single user by ID.
func SetEnabled(userID string, enabled bool) error {
_datastore.DbLock.Lock()
defer _datastore.DbLock.Unlock()
tx, err := _datastore.DB.Begin()
if err != nil {
return err
}
defer tx.Rollback() //nolint
var stmt *sql.Stmt
if !enabled {
stmt, err = tx.Prepare("UPDATE users SET disabled_at=DATETIME('now', 'localtime') WHERE id IS ?")
} else {
stmt, err = tx.Prepare("UPDATE users SET disabled_at=null WHERE id IS ?")
}
if err != nil {
return err
}
defer stmt.Close()
if _, err := stmt.Exec(userID); err != nil {
return err
}
return tx.Commit()
}
// GetUserByToken will return a user by an access token.
func GetUserByToken(token string) *User {
u, err := _datastore.GetQueries().GetUserByAccessToken(context.Background(), token)
if err != nil {
return nil
}
var scopes []string
if u.Scopes.Valid {
scopes = strings.Split(u.Scopes.String, ",")
}
var disabledAt *time.Time
if u.DisabledAt.Valid {
disabledAt = &u.DisabledAt.Time
}
var authenticatedAt *time.Time
if u.AuthenticatedAt.Valid {
authenticatedAt = &u.AuthenticatedAt.Time
}
return &User{
ID: u.ID,
DisplayName: u.DisplayName,
DisplayColor: int(u.DisplayColor),
CreatedAt: u.CreatedAt.Time,
DisabledAt: disabledAt,
PreviousNames: strings.Split(u.PreviousNames.String, ","),
NameChangedAt: &u.NamechangedAt.Time,
AuthenticatedAt: authenticatedAt,
Authenticated: authenticatedAt != nil,
Scopes: scopes,
}
}
// SetAccessTokenToOwner will reassign an access token to be owned by a
// different user. Used for logging in with external auth.
func SetAccessTokenToOwner(token, userID string) error {
return _datastore.GetQueries().SetAccessTokenToOwner(context.Background(), db.SetAccessTokenToOwnerParams{
UserID: userID,
Token: token,
})
}
// SetUserAsAuthenticated will mark that a user has been authenticated
// in some way.
func SetUserAsAuthenticated(userID string) error {
return errors.Wrap(_datastore.GetQueries().SetUserAsAuthenticated(context.Background(), userID), "unable to set user as authenticated")
}
// SetModerator will add or remove moderator status for a single user by ID.
func SetModerator(userID string, isModerator bool) error {
if isModerator {
return addScopeToUser(userID, moderatorScopeKey)
}
return removeScopeFromUser(userID, moderatorScopeKey)
}
func addScopeToUser(userID string, scope string) error {
u := GetUserByID(userID)
if u == nil {
return errors.New("user not found when modifying scope")
}
scopesString := u.Scopes
scopes := utils.StringSliceToMap(scopesString)
scopes[scope] = true
scopesSlice := utils.StringMapKeys(scopes)
return setScopesOnUser(userID, scopesSlice)
}
func removeScopeFromUser(userID string, scope string) error {
u := GetUserByID(userID)
scopesString := u.Scopes
scopes := utils.StringSliceToMap(scopesString)
delete(scopes, scope)
scopesSlice := utils.StringMapKeys(scopes)
return setScopesOnUser(userID, scopesSlice)
}
func setScopesOnUser(userID string, scopes []string) error {
_datastore.DbLock.Lock()
defer _datastore.DbLock.Unlock()
tx, err := _datastore.DB.Begin()
if err != nil {
return err
}
defer tx.Rollback() //nolint
scopesSliceString := strings.TrimSpace(strings.Join(scopes, ","))
stmt, err := tx.Prepare("UPDATE users SET scopes=? WHERE id IS ?")
if err != nil {
return err
}
defer stmt.Close()
var val *string
if scopesSliceString == "" {
val = nil
} else {
val = &scopesSliceString
}
if _, err := stmt.Exec(val, userID); err != nil {
return err
}
return tx.Commit()
}
// GetUserByID will return a user by a user ID.
func GetUserByID(id string) *User {
_datastore.DbLock.Lock()
defer _datastore.DbLock.Unlock()
query := "SELECT id, display_name, display_color, created_at, disabled_at, previous_names, namechanged_at, scopes FROM users WHERE id = ?"
row := _datastore.DB.QueryRow(query, id)
if row == nil {
log.Errorln(row)
return nil
}
return getUserFromRow(row)
}
// GetDisabledUsers will return back all the currently disabled users that are not API users.
func GetDisabledUsers() []*User {
query := "SELECT id, display_name, scopes, display_color, created_at, disabled_at, previous_names, namechanged_at FROM users WHERE disabled_at IS NOT NULL AND type IS NOT 'API'"
rows, err := _datastore.DB.Query(query)
if err != nil {
log.Errorln(err)
return nil
}
defer rows.Close()
users := getUsersFromRows(rows)
sort.Slice(users, func(i, j int) bool {
return users[i].DisabledAt.Before(*users[j].DisabledAt)
})
return users
}
// GetModeratorUsers will return a list of users with moderator access.
func GetModeratorUsers() []*User {
query := `SELECT id, display_name, scopes, display_color, created_at, disabled_at, previous_names, namechanged_at FROM (
WITH RECURSIVE split(id, display_name, scopes, display_color, created_at, disabled_at, previous_names, namechanged_at, scope, rest) AS (
SELECT id, display_name, scopes, display_color, created_at, disabled_at, previous_names, namechanged_at, '', scopes || ',' FROM users
UNION ALL
SELECT id, display_name, scopes, display_color, created_at, disabled_at, previous_names, namechanged_at,
substr(rest, 0, instr(rest, ',')),
substr(rest, instr(rest, ',')+1)
FROM split
WHERE rest <> '')
SELECT id, display_name, scopes, display_color, created_at, disabled_at, previous_names, namechanged_at, scope
FROM split
WHERE scope <> ''
ORDER BY created_at
) AS token WHERE token.scope = ?`
rows, err := _datastore.DB.Query(query, moderatorScopeKey)
if err != nil {
log.Errorln(err)
return nil
}
defer rows.Close()
users := getUsersFromRows(rows)
return users
}
func getUsersFromRows(rows *sql.Rows) []*User {
users := make([]*User, 0)
for rows.Next() {
var id string
var displayName string
var displayColor int
var createdAt time.Time
var disabledAt *time.Time
var previousUsernames string
var userNameChangedAt *time.Time
var scopesString *string
if err := rows.Scan(&id, &displayName, &scopesString, &displayColor, &createdAt, &disabledAt, &previousUsernames, &userNameChangedAt); err != nil {
log.Errorln("error creating collection of users from results", err)
return nil
}
var scopes []string
if scopesString != nil {
scopes = strings.Split(*scopesString, ",")
}
user := &User{
ID: id,
DisplayName: displayName,
DisplayColor: displayColor,
CreatedAt: createdAt,
DisabledAt: disabledAt,
PreviousNames: strings.Split(previousUsernames, ","),
NameChangedAt: userNameChangedAt,
Scopes: scopes,
}
users = append(users, user)
}
sort.Slice(users, func(i, j int) bool {
return users[i].CreatedAt.Before(users[j].CreatedAt)
})
return users
}
func getUserFromRow(row *sql.Row) *User {
var id string
var displayName string
var displayColor int
var createdAt time.Time
var disabledAt *time.Time
var previousUsernames string
var userNameChangedAt *time.Time
var scopesString *string
if err := row.Scan(&id, &displayName, &displayColor, &createdAt, &disabledAt, &previousUsernames, &userNameChangedAt, &scopesString); err != nil {
return nil
}
var scopes []string
if scopesString != nil {
scopes = strings.Split(*scopesString, ",")
}
return &User{
ID: id,
DisplayName: displayName,
DisplayColor: displayColor,
CreatedAt: createdAt,
DisabledAt: disabledAt,
PreviousNames: strings.Split(previousUsernames, ","),
NameChangedAt: userNameChangedAt,
Scopes: scopes,
}
}

View File

@@ -43,6 +43,16 @@ func SendChatEventUserJoined(event events.UserJoinedEvent) {
SendEventToWebhooks(webhookEvent)
}
// SendChatEventUserParted sends a webhook notifying that a user has parted.
func SendChatEventUserParted(event events.UserPartEvent) {
webhookEvent := WebhookEvent{
Type: events.UserParted,
EventData: event,
}
SendEventToWebhooks(webhookEvent)
}
// SendChatEventSetMessageVisibility sends a webhook notifying that the visibility of one or more
// messages has changed.
func SendChatEventSetMessageVisibility(event events.SetMessageVisibilityEvent) {

View File

@@ -5,13 +5,12 @@ import (
"time"
"github.com/owncast/owncast/core/chat/events"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/models"
)
func TestSendChatEvent(t *testing.T) {
timestamp := time.Unix(72, 6).UTC()
user := user.User{
user := models.User{
ID: "user id",
DisplayName: "display name",
DisplayColor: 4,
@@ -64,7 +63,7 @@ func TestSendChatEvent(t *testing.T) {
func TestSendChatEventUsernameChanged(t *testing.T) {
timestamp := time.Unix(72, 6).UTC()
user := user.User{
user := models.User{
ID: "user id",
DisplayName: "display name",
DisplayColor: 4,
@@ -112,7 +111,7 @@ func TestSendChatEventUsernameChanged(t *testing.T) {
func TestSendChatEventUserJoined(t *testing.T) {
timestamp := time.Unix(72, 6).UTC()
user := user.User{
user := models.User{
ID: "user id",
DisplayName: "display name",
DisplayColor: 4,

View File

@@ -5,7 +5,6 @@ import (
"time"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/core/user"
"github.com/owncast/owncast/models"
)
@@ -17,13 +16,13 @@ type WebhookEvent struct {
// WebhookChatMessage represents a single chat message sent as a webhook payload.
type WebhookChatMessage struct {
User *user.User `json:"user,omitempty"`
Timestamp *time.Time `json:"timestamp,omitempty"`
Body string `json:"body,omitempty"`
RawBody string `json:"rawBody,omitempty"`
ID string `json:"id,omitempty"`
ClientID uint `json:"clientId,omitempty"`
Visible bool `json:"visible"`
User *models.User `json:"user,omitempty"`
Timestamp *time.Time `json:"timestamp,omitempty"`
Body string `json:"body,omitempty"`
RawBody string `json:"rawBody,omitempty"`
ID string `json:"id,omitempty"`
ClientID uint `json:"clientId,omitempty"`
Visible bool `json:"visible"`
}
// SendEventToWebhooks will send a single webhook event to all webhook destinations.

View File

@@ -12,6 +12,7 @@ import (
"testing"
"time"
"github.com/owncast/owncast/core/chat/events"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/models"
jsonpatch "gopkg.in/evanphx/json-patch.v5"
@@ -84,7 +85,7 @@ func TestPublicSend(t *testing.T) {
// Make sure that events are only sent to interested endpoints.
func TestRouting(t *testing.T) {
eventTypes := []models.EventType{models.ChatActionSent, models.UserJoined}
eventTypes := []models.EventType{models.ChatActionSent, models.UserJoined, events.UserParted}
calls := map[models.EventType]int{}
var lock sync.Mutex

View File

@@ -18,9 +18,9 @@ var webhookWorkerPoolSize = runtime.GOMAXPROCS(0)
// Job struct bundling the webhook and the payload in one struct.
type Job struct {
webhook models.Webhook
payload WebhookEvent
wg *sync.WaitGroup
payload WebhookEvent
webhook models.Webhook
}
var (
@@ -46,7 +46,7 @@ func initWorkerPool() {
func addToQueue(webhook models.Webhook, payload WebhookEvent, wg *sync.WaitGroup) {
log.Tracef("Queued Event %s for Webhook %s", payload.Type, webhook.URL)
queue <- Job{webhook, payload, wg}
queue <- Job{wg, payload, webhook}
}
func worker(workerID int, queue <-chan Job) {

View File

@@ -101,7 +101,7 @@ UPDATE users SET authenticated_at = CURRENT_TIMESTAMP WHERE id = $1;
SELECT id, body, hidden_at, timestamp FROM messages WHERE eventType = 'CHAT' AND user_id = $1 ORDER BY TIMESTAMP DESC;
-- name: IsDisplayNameAvailable :one
SELECT count(*) FROM users WHERE display_name = $1 AND authenticated_at is not null AND disabled_at is NULL;
SELECT count(*) FROM users WHERE display_name = $1 AND ( type='API' OR authenticated_at IS NOT NULL ) AND disabled_at IS NULL;
-- name: ChangeDisplayName :exec
UPDATE users SET display_name = $1, previous_names = previous_names || $2, namechanged_at = $3 WHERE id = $4;

View File

@@ -1,6 +1,6 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.15.0
// sqlc v1.19.1
// source: query.sql
package db
@@ -667,7 +667,7 @@ func (q *Queries) GetUserDisplayNameByToken(ctx context.Context, token string) (
}
const isDisplayNameAvailable = `-- name: IsDisplayNameAvailable :one
SELECT count(*) FROM users WHERE display_name = $1 AND authenticated_at is not null AND disabled_at is NULL
SELECT count(*) FROM users WHERE display_name = $1 AND ( type='API' OR authenticated_at IS NOT NULL ) AND disabled_at IS NULL
`
func (q *Queries) IsDisplayNameAvailable(ctx context.Context, displayName string) (int64, error) {

File diff suppressed because one or more lines are too long

2
docs/api/redocly.yaml Normal file
View File

@@ -0,0 +1,2 @@
decorators:
remove-x-internal: on

78
go.mod
View File

@@ -1,26 +1,26 @@
module github.com/owncast/owncast
go 1.20
go 1.22
require (
github.com/aws/aws-sdk-go v1.44.296
github.com/aws/aws-sdk-go v1.54.13
github.com/go-fed/activity v1.0.1-0.20210803212804-d866ba75dd0f
github.com/go-fed/httpsig v1.1.0
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/gorilla/websocket v1.5.0
github.com/gorilla/websocket v1.5.3
github.com/grafov/m3u8 v0.12.0
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible
github.com/mattn/go-sqlite3 v1.14.17
github.com/microcosm-cc/bluemonday v1.0.25
github.com/mattn/go-sqlite3 v1.14.22
github.com/microcosm-cc/bluemonday v1.0.27
github.com/nareix/joy5 v0.0.0-20210317075623-2c912ca30590
github.com/oschwald/geoip2-golang v1.9.0
github.com/oschwald/geoip2-golang v1.11.0
github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5
github.com/schollz/sqlite3dump v1.3.1
github.com/sirupsen/logrus v1.9.3
github.com/teris-io/shortid v0.0.0-20160104014424-6c56cef5189c
github.com/yuin/goldmark v1.5.4
golang.org/x/mod v0.12.0
golang.org/x/time v0.3.0
github.com/teris-io/shortid v0.0.0-20220617161101-71ec9f2aa569
github.com/yuin/goldmark v1.7.4
golang.org/x/mod v0.18.0
golang.org/x/time v0.5.0
)
require (
@@ -28,55 +28,67 @@ require (
github.com/lestrrat-go/strftime v1.0.4 // indirect
github.com/mvdan/xurls v1.1.0 // indirect
github.com/pkg/errors v0.9.1
github.com/tklauser/go-sysconf v0.3.11 // indirect
github.com/tklauser/numcpus v0.6.0 // indirect
github.com/yusufpapurcu/wmi v1.2.3 // indirect
golang.org/x/crypto v0.11.0 // indirect
golang.org/x/net v0.12.0
golang.org/x/sys v0.10.0 // indirect
github.com/tklauser/go-sysconf v0.3.12 // indirect
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
golang.org/x/crypto v0.24.0
golang.org/x/net v0.26.0
golang.org/x/sys v0.21.0 // indirect
)
require github.com/prometheus/client_golang v1.16.0
require github.com/prometheus/client_golang v1.19.1
require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/klauspost/compress v1.16.4 // indirect
github.com/klauspost/compress v1.16.7 // indirect
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/prometheus/client_model v0.3.0 // indirect
github.com/prometheus/common v0.42.0 // indirect
github.com/prometheus/procfs v0.10.1 // indirect
golang.org/x/text v0.11.0 // indirect
google.golang.org/protobuf v1.30.0 // indirect
github.com/prometheus/client_model v0.5.0 // indirect
github.com/prometheus/common v0.48.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
golang.org/x/text v0.16.0 // indirect
google.golang.org/protobuf v1.33.0 // indirect
)
require (
github.com/nakabonne/tstorage v0.3.6
github.com/shirou/gopsutil/v3 v3.23.6
github.com/shirou/gopsutil/v4 v4.24.6
)
require github.com/SherClockHolmes/webpush-go v1.2.0
require github.com/SherClockHolmes/webpush-go v1.3.0
require (
github.com/andybalholm/brotli v1.0.4 // indirect
github.com/andybalholm/brotli v1.0.5 // indirect
github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect
github.com/aymerick/douceur v0.2.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/go-test/deep v1.0.4 // indirect
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
github.com/gorilla/css v1.0.0 // indirect
github.com/google/uuid v1.5.0 // indirect
github.com/gorilla/css v1.0.1 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/oschwald/maxminddb-golang v1.11.0 // indirect
github.com/oschwald/maxminddb-golang v1.13.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/shoenig/go-m1cpu v0.1.6 // indirect
golang.org/x/sync v0.7.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
require (
github.com/CAFxX/httpcompression v0.0.8
github.com/CAFxX/httpcompression v0.0.9
github.com/TwiN/go-away v1.6.13
github.com/andybalholm/cascadia v1.3.2
github.com/yuin/goldmark-emoji v1.0.2
gopkg.in/evanphx/json-patch.v5 v5.6.0
github.com/go-chi/chi/v5 v5.1.0
github.com/jellydator/ttlcache/v3 v3.2.0
github.com/mssola/user_agent v0.6.0
github.com/oapi-codegen/runtime v1.1.1
github.com/shirou/gopsutil/v3 v3.24.5
github.com/stretchr/testify v1.9.0
github.com/yuin/goldmark-emoji v1.0.3
gopkg.in/evanphx/json-patch.v5 v5.9.0
mvdan.cc/xurls v1.1.0
mvdan.cc/xurls/v2 v2.5.0
)
replace github.com/go-fed/activity => github.com/owncast/activity v1.0.1-0.20211229051252-7821289d4026

267
go.sum
View File

@@ -1,33 +1,38 @@
github.com/CAFxX/httpcompression v0.0.8 h1:UBWojERnpCS6X7whJkGGZeCC3ruZBRwkwkcnfGfb0ko=
github.com/CAFxX/httpcompression v0.0.8/go.mod h1:bVd1taHK1vYb5SWe9lwNDCqrfj2ka+C1Zx7JHzxuHnU=
github.com/SherClockHolmes/webpush-go v1.2.0 h1:sGv0/ZWCvb1HUH+izLqrb2i68HuqD/0Y+AmGQfyqKJA=
github.com/SherClockHolmes/webpush-go v1.2.0/go.mod h1:w6X47YApe/B9wUz2Wh8xukxlyupaxSSEbu6yKJcHN2w=
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/CAFxX/httpcompression v0.0.9 h1:0ue2X8dOLEpxTm8tt+OdHcgA+gbDge0OqFQWGKSqgrg=
github.com/CAFxX/httpcompression v0.0.9/go.mod h1:XX8oPZA+4IDcfZ0A71Hz0mZsv/YJOgYygkFhizVPilM=
github.com/RaveNoX/go-jsoncommentstrip v1.0.0/go.mod h1:78ihd09MekBnJnxpICcwzCMzGrKSKYe4AqU6PDYYpjk=
github.com/SherClockHolmes/webpush-go v1.3.0 h1:CAu3FvEE9QS4drc3iKNgpBWFfGqNthKlZhp5QpYnu6k=
github.com/SherClockHolmes/webpush-go v1.3.0/go.mod h1:AxRHmJuYwKGG1PVgYzToik1lphQvDnqFYDqimHvwhIw=
github.com/TwiN/go-away v1.6.13 h1:aB6l/FPXmA5ds+V7I9zdhxzpsLLUvVtEuS++iU/ZmgE=
github.com/TwiN/go-away v1.6.13/go.mod h1:MpvIC9Li3minq+CGgbgUDvQ9tDaeW35k5IXZrF9MVas=
github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs=
github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss=
github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU=
github.com/aws/aws-sdk-go v1.44.273 h1:CX8O0gK+cGrgUyv7bgJ6QQP9mQg7u5mweHdNzULH47c=
github.com/aws/aws-sdk-go v1.44.273/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-sdk-go v1.44.286 h1:bLnBVutuyCGYZgQlu3wiXOJXtgI7EIWAaDIqVVudF3w=
github.com/aws/aws-sdk-go v1.44.286/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-sdk-go v1.44.295 h1:SGjU1+MqttXfRiWHD6WU0DRhaanJgAFY+xIhEaugV8Y=
github.com/aws/aws-sdk-go v1.44.295/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-sdk-go v1.44.296 h1:ALRZIIKI+6EBWDiWP4RHWmOtHZ7dywRzenL4NWgNI2A=
github.com/aws/aws-sdk-go v1.44.296/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ=
github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk=
github.com/aws/aws-sdk-go v1.53.5 h1:1OcVWMjGlwt7EU5OWmmEEXqaYfmX581EK317QJZXItM=
github.com/aws/aws-sdk-go v1.53.5/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
github.com/aws/aws-sdk-go v1.54.13 h1:zpCuiG+/mFdDY/klKJvmSioAZWk45F4rLGq0JWVAAzk=
github.com/aws/aws-sdk-go v1.54.13/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/dave/jennifer v1.3.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-chi/chi/v5 v5.0.12 h1:9euLV5sTrTNTRUU9POmDUvfxyj6LAABLUcEWO+JJb4s=
github.com/go-chi/chi/v5 v5.0.12/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
github.com/go-chi/chi/v5 v5.1.0 h1:acVI1TYaD+hhedDJ3r54HyA6sExp3HfXq7QWEEY/xMw=
github.com/go-chi/chi/v5 v5.1.0/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
github.com/go-fed/httpsig v0.1.1-0.20190914113940-c2de3672e5b5/go.mod h1:T56HUNYZUQ1AGUzhAYPugZfp36sKApVnGBgKlIY+aIE=
github.com/go-fed/httpsig v1.1.0 h1:9M+hb0jkEICD8/cAiNqEB66R87tTINszBRTjwjQzWcI=
github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM=
github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-test/deep v1.0.1/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
@@ -36,36 +41,40 @@ github.com/go-test/deep v1.0.4/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3a
github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/brotli/go/cbrotli v0.0.0-20210623081221-ce222e317e36 h1:qg5qEpjk1P1EMnInOCpxOpWSPRsspXJDT7P80y/JfFA=
github.com/google/brotli/go/cbrotli v0.0.0-20210623081221-ce222e317e36/go.mod h1:nOPhAkwVliJdNTkj3gXpljmWhjc4wCaVqbMJcPKWP4s=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/brotli/go/cbrotli v0.0.0-20230829110029-ed738e842d2f h1:jopqB+UTSdJGEJT8tEqYyE29zN91fi2827oLET8tl7k=
github.com/google/brotli/go/cbrotli v0.0.0-20230829110029-ed738e842d2f/go.mod h1:nOPhAkwVliJdNTkj3gXpljmWhjc4wCaVqbMJcPKWP4s=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY=
github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c=
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8=
github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0=
github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY=
github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY=
github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/grafov/m3u8 v0.12.0 h1:T6iTwTsSEtMcwkayef+FJO8kj+Sglr4Lh81Zj8Ked/4=
github.com/grafov/m3u8 v0.12.0/go.mod h1:nqzOkfBiZJENr52zTVd/Dcl03yzphIMbJqkXGu+u080=
github.com/jellydator/ttlcache/v3 v3.2.0 h1:6lqVJ8X3ZaUwvzENqPAobDsXNExfUJd61u++uW8a3LE=
github.com/jellydator/ttlcache/v3 v3.2.0/go.mod h1:hi7MGFdMAwZna5n2tuvh63DvFLzVKySzCVW6+0gA2n4=
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ=
github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/klauspost/compress v1.14.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.16.4 h1:91KN02FnsOYhuunwU4ssRe8lc2JosWmizWa91B5v1PU=
github.com/klauspost/compress v1.16.4/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE=
github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I=
github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8=
github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc/go.mod h1:kopuH9ugFRkIXf3YoqHKyrJ9YfUFsckUU9S7B+XP+is=
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible h1:Y6sqxHMyB1D2YSzWkLibYKgg+SwmyFU9dF2hn6MdTj4=
@@ -75,35 +84,34 @@ github.com/lestrrat-go/strftime v1.0.4/go.mod h1:E1nN3pCbtMSu1yjSVeyuRFVm/U0xoR7
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=
github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
github.com/microcosm-cc/bluemonday v1.0.24 h1:NGQoPtwGVcbGkKfvyYk1yRqknzBuoMiUrO6R7uFTPlw=
github.com/microcosm-cc/bluemonday v1.0.24/go.mod h1:ArQySAMps0790cHSkdPEJ7bGkF2VePWH773hsJNSHf8=
github.com/microcosm-cc/bluemonday v1.0.25 h1:4NEwSfiJ+Wva0VxN5B8OwMicaJvD8r9tlJWm9rtloEg=
github.com/microcosm-cc/bluemonday v1.0.25/go.mod h1:ZIOjCQp1OrzBBPIJmfX4qDYFuhU02nx4bn030ixfHLE=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/microcosm-cc/bluemonday v1.0.26 h1:xbqSvqzQMeEHCqMi64VAs4d8uy6Mequs3rQ0k/Khz58=
github.com/microcosm-cc/bluemonday v1.0.26/go.mod h1:JyzOCs9gkyQyjs+6h10UEVSe02CGwkhd72Xdqh78TWs=
github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk=
github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA=
github.com/mssola/user_agent v0.6.0 h1:uwPR4rtWlCHRFyyP9u2KOV0u8iQXmS7Z7feTrstQwk4=
github.com/mssola/user_agent v0.6.0/go.mod h1:TTPno8LPY3wAIEKRpAtkdMT0f8SE24pLRGPahjCH4uw=
github.com/mvdan/xurls v1.1.0 h1:OpuDelGQ1R1ueQ6sSryzi6P+1RtBpfQHM8fJwlE45ww=
github.com/mvdan/xurls v1.1.0/go.mod h1:tQlNn3BED8bE/15hnSL2HLkDeLWpNPAwtw7wkEq44oU=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/nakabonne/tstorage v0.3.6 h1:usp7pTohax8mynnFiUSUQ2QVBCKLCkYx3gmb3+rJo54=
github.com/nakabonne/tstorage v0.3.6/go.mod h1:1xUrK3s1MXSlU6dn96xHerHx/MdO4BGmsAHEUbsaOxU=
github.com/nareix/joy5 v0.0.0-20210317075623-2c912ca30590 h1:PnxRU8L8Y2q82vFC2QdNw23Dm2u6WrjecIdpXjiYbXM=
github.com/nareix/joy5 v0.0.0-20210317075623-2c912ca30590/go.mod h1:XmAOs6UJXpNXRwKk+KY/nv5kL6xXYXyellk+A1pTlko=
github.com/oschwald/geoip2-golang v1.8.0 h1:KfjYB8ojCEn/QLqsDU0AzrJ3R5Qa9vFlx3z6SLNcKTs=
github.com/oschwald/geoip2-golang v1.8.0/go.mod h1:R7bRvYjOeaoenAp9sKRS8GX5bJWcZ0laWO5+DauEktw=
github.com/oapi-codegen/runtime v1.1.1 h1:EXLHh0DXIJnWhdRPN2w4MXAzFyE4CskzhNLUmtpMYro=
github.com/oapi-codegen/runtime v1.1.1/go.mod h1:SK9X900oXmPWilYR5/WKPzt3Kqxn/uS/+lbpREv+eCg=
github.com/oschwald/geoip2-golang v1.9.0 h1:uvD3O6fXAXs+usU+UGExshpdP13GAqp4GBrzN7IgKZc=
github.com/oschwald/geoip2-golang v1.9.0/go.mod h1:BHK6TvDyATVQhKNbQBdrj9eAvuwOMi2zSFXizL3K81Y=
github.com/oschwald/maxminddb-golang v1.10.0 h1:Xp1u0ZhqkSuopaKmk1WwHtjF0H9Hd9181uj2MQ5Vndg=
github.com/oschwald/maxminddb-golang v1.10.0/go.mod h1:Y2ELenReaLAZ0b400URyGwvYxHV1dLIxBuyOsyYjHK0=
github.com/oschwald/geoip2-golang v1.11.0 h1:hNENhCn1Uyzhf9PTmquXENiWS6AlxAEnBII6r8krA3w=
github.com/oschwald/geoip2-golang v1.11.0/go.mod h1:P9zG+54KPEFOliZ29i7SeYZ/GM6tfEL+rgSn03hYuUo=
github.com/oschwald/maxminddb-golang v1.11.0 h1:aSXMqYR/EPNjGE8epgqwDay+P30hCBZIveY0WZbAWh0=
github.com/oschwald/maxminddb-golang v1.11.0/go.mod h1:YmVI+H0zh3ySFR3w+oz8PCfglAFj3PuCmui13+P9zDg=
github.com/oschwald/maxminddb-golang v1.13.0 h1:R8xBorY71s84yO06NgTmQvqvTvlS/bnYZrrWX1MElnU=
github.com/oschwald/maxminddb-golang v1.13.0/go.mod h1:BU0z8BfFVhi1LQaonTwwGQlsHUEu9pWNdMfmq4ztm0o=
github.com/owncast/activity v1.0.1-0.20211229051252-7821289d4026 h1:E1nxiX44BcMQTSSs8MHLm2rXnqXNedYZkFI31gXMsJc=
github.com/owncast/activity v1.0.1-0.20211229051252-7821289d4026/go.mod h1:v4QoPaAzjWZ8zN2VFVGL5ep9C02mst0hQYHUpQwso4Q=
github.com/pierrec/lz4/v4 v4.1.12 h1:44l88ehTZAUGW4VlO1QC4zkilL99M6Y9MXNwEs0uzP8=
github.com/pierrec/lz4/v4 v4.1.12/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ=
github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -111,108 +119,103 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/prometheus/client_golang v1.15.1 h1:8tXpTmJbyH5lydzFPoxSIJ0J46jdh3tylbvM1xCv0LI=
github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk=
github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8=
github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc=
github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4=
github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM=
github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc=
github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI=
github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY=
github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg=
github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM=
github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw=
github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE=
github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc=
github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 h1:mZHayPoR0lNmnHyvtYjDeq0zlVHn9K/ZXoy17ylucdo=
github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5HgEKCvEIIrSpFI3ozzG5xOKA2DVlEX/gGnewM=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/schollz/sqlite3dump v1.3.1 h1:QXizJ7XEJ7hggjqjZ3YRtF3+javm8zKtzNByYtEkPRA=
github.com/schollz/sqlite3dump v1.3.1/go.mod h1:mzSTjZpJH4zAb1FN3iNlhWPbbdyeBpOaTW0hukyMHyI=
github.com/shirou/gopsutil/v3 v3.23.3 h1:Syt5vVZXUDXPEXpIBt5ziWsJ4LdSAAxF4l/xZeQgSEE=
github.com/shirou/gopsutil/v3 v3.23.3/go.mod h1:lSBNN6t3+D6W5e5nXTxc8KIMMVxAcS+6IJlffjRRlMU=
github.com/shirou/gopsutil/v3 v3.23.5 h1:5SgDCeQ0KW0S4N0znjeM/eFHXXOKyv2dVNgRq/c9P6Y=
github.com/shirou/gopsutil/v3 v3.23.5/go.mod h1:Ng3Maa27Q2KARVJ0SPZF5NdrQSC3XHKP8IIWrHgMeLY=
github.com/shirou/gopsutil/v3 v3.23.6 h1:5y46WPI9QBKBbK7EEccUPNXpJpNrvPuTD0O2zHEHT08=
github.com/shirou/gopsutil/v3 v3.23.6/go.mod h1:j7QX50DrXYggrpN30W0Mo+I4/8U2UUIQrnrhqUeWrAU=
github.com/shoenig/go-m1cpu v0.1.4 h1:SZPIgRM2sEF9NJy50mRHu9PKGwxyyTTJIWvCtgVbozs=
github.com/shoenig/go-m1cpu v0.1.4/go.mod h1:Wwvst4LR89UxjeFtLRMrpgRiyY4xPsejnVZym39dbAQ=
github.com/shirou/gopsutil/v3 v3.24.4 h1:dEHgzZXt4LMNm+oYELpzl9YCqV65Yr/6SfrvgRBtXeU=
github.com/shirou/gopsutil/v3 v3.24.4/go.mod h1:lTd2mdiOspcqLgAnr9/nGi71NkeMpWKdmhuxm9GusH8=
github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI=
github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk=
github.com/shirou/gopsutil/v4 v4.24.6/go.mod h1:aoebb2vxetJ/yIDZISmduFvVNPHqXQ9SEJwRXxkf0RA=
github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM=
github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ=
github.com/shoenig/test v0.6.3 h1:GVXWJFk9PiOjN0KoJ7VrJGH6uLPnqxR7/fe3HUPfE0c=
github.com/shoenig/test v0.6.3/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k=
github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU=
github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/spf13/cobra v0.0.4-0.20190109003409-7547e83b2d85/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/pflag v1.0.4-0.20181223182923-24fa6976df40/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spkg/bom v0.0.0-20160624110644-59b7046e48ad/go.mod h1:qLr4V1qq6nMqFKkMo8ZTx3f+BZEkzsRUY10Xsm2mwU0=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/teris-io/shortid v0.0.0-20160104014424-6c56cef5189c h1:MhdkG8ygXqjOGDouO0R1lIaXd4ZDMLhbO+rpzLmwe7Q=
github.com/teris-io/shortid v0.0.0-20160104014424-6c56cef5189c/go.mod h1:M8agBzgqHIhgj7wEn9/0hJUZcrvt9VY+Ln+S1I5Mha0=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/teris-io/shortid v0.0.0-20220617161101-71ec9f2aa569 h1:xzABM9let0HLLqFypcxvLmlvEciCHL7+Lv+4vwZqecI=
github.com/teris-io/shortid v0.0.0-20220617161101-71ec9f2aa569/go.mod h1:2Ly+NIftZN4de9zRmENdYbvPQeaVIYKWpLFStLFEBgI=
github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM=
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms=
github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4=
github.com/valyala/gozstd v1.11.0 h1:VV6qQFt+4sBBj9OJ7eKVvsFAMy59Urcs9Lgd+o5FOw0=
github.com/valyala/gozstd v1.11.0/go.mod h1:y5Ew47GLlP37EkTB+B4s7r6A5rdaeB7ftbl9zoYiIPQ=
github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU=
github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/valyala/gozstd v1.20.1 h1:xPnnnvjmaDDitMFfDxmQ4vpx0+3CdTg2o3lALvXTU/g=
github.com/valyala/gozstd v1.20.1/go.mod h1:y5Ew47GLlP37EkTB+B4s7r6A5rdaeB7ftbl9zoYiIPQ=
github.com/yuin/goldmark v1.3.7/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/yuin/goldmark v1.5.4 h1:2uY/xC0roWy8IBEGLgB1ywIoEJFGmRrX21YQcvGZzjU=
github.com/yuin/goldmark v1.5.4/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/yuin/goldmark v1.7.1 h1:3bajkSilaCbjdKVsKdZjZCLBNPL9pYzrCakKaf4U49U=
github.com/yuin/goldmark v1.7.1/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
github.com/yuin/goldmark v1.7.4 h1:BDXOHExt+A7gwPCJgPIIq7ENvceR7we7rOS9TNoLZeg=
github.com/yuin/goldmark v1.7.4/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
github.com/yuin/goldmark-emoji v1.0.2 h1:c/RgTShNgHTtc6xdz2KKI74jJr6rWi7FPgnP9GAsO5s=
github.com/yuin/goldmark-emoji v1.0.2/go.mod h1:RhP/RWpexdp+KHs7ghKnifRoIs/Bq4nDS7tRbCkOwKY=
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw=
github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
github.com/yuin/goldmark-emoji v1.0.3 h1:aLRkLHOuBR2czCY4R8olwMjID+tENfhyFDMCRhbIQY4=
github.com/yuin/goldmark-emoji v1.0.3/go.mod h1:tTkZEbwu5wkPmgTcitqddVxY9osFZiavD+r4AzQrh1U=
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4=
golang.org/x/crypto v0.0.0-20180527072434-ab813273cd59/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU=
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM=
golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I=
golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU=
golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0=
golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU=
golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ=
golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50=
golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180525142821-c11f84a56e43/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -223,49 +226,46 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s=
golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58=
golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/evanphx/json-patch.v5 v5.6.0 h1:BMT6KIwBD9CaU91PJCZIe46bDmBWa9ynTQgJIOpfQBk=
gopkg.in/evanphx/json-patch.v5 v5.6.0/go.mod h1:/kvTRh1TVm5wuM6OkHxqXtE/1nUZZpihg29RtuIyfvk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/evanphx/json-patch.v5 v5.9.0 h1:hx1VU2SGj4F8r9b8GUwJLdc8DNO8sy79ZGui0G05GLo=
gopkg.in/evanphx/json-patch.v5 v5.9.0/go.mod h1:/kvTRh1TVm5wuM6OkHxqXtE/1nUZZpihg29RtuIyfvk=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
@@ -274,3 +274,4 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
mvdan.cc/xurls v1.1.0 h1:kj0j2lonKseISJCiq1Tfk+iTv65dDGCl0rTbanXJGGc=
mvdan.cc/xurls v1.1.0/go.mod h1:TNWuhvo+IqbUCmtUIb/3LJSQdrzel8loVpgFm0HikbI=
mvdan.cc/xurls/v2 v2.5.0/go.mod h1:yQgaGQ1rFtJUzkmKiHYSSfuQxqfYmd//X6PxvholpeE=

View File

@@ -34,7 +34,7 @@ func Setup(enableDebugOptions bool, enableVerboseLogging bool) {
// Create the logging directory if needed
loggingDirectory := filepath.Dir(getLogFilePath())
if !utils.DoesFileExists(loggingDirectory) {
if err := os.Mkdir(loggingDirectory, 0700); err != nil {
if err := os.Mkdir(loggingDirectory, 0o700); err != nil {
logger.Errorln("unable to create logs directory", loggingDirectory, err)
}
}

View File

@@ -12,8 +12,8 @@ import (
"github.com/owncast/owncast/core"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/metrics"
"github.com/owncast/owncast/router"
"github.com/owncast/owncast/utils"
"github.com/owncast/owncast/webserver/router"
)
var (
@@ -105,7 +105,7 @@ func main() {
go metrics.Start(core.GetStatus)
if err := router.Start(); err != nil {
if err := router.Start(*enableVerboseLogging); err != nil {
log.Fatalln("failed to start/run the router", err)
}
}

View File

@@ -10,8 +10,10 @@ import (
)
// How often we poll for updates.
const hardwareMetricsPollingInterval = 2 * time.Minute
const playbackMetricsPollingInterval = 2 * time.Minute
const (
hardwareMetricsPollingInterval = 2 * time.Minute
playbackMetricsPollingInterval = 2 * time.Minute
)
const (
// How often we poll for updates.

View File

@@ -7,6 +7,7 @@ import (
"github.com/owncast/owncast/core"
"github.com/owncast/owncast/core/chat"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/persistence/userrepository"
log "github.com/sirupsen/logrus"
)
@@ -59,7 +60,8 @@ func collectChatClientCount() {
currentChatMessageCount.Set(float64(cmc))
// Total user count
uc := data.GetUsersCount()
userRepository := userrepository.Get()
uc := userRepository.GetUsersCount()
// Insert user count into Prometheus collector.
chatUserCount.Set(float64(uc))

Some files were not shown because too many files have changed in this diff Show More