Browse Source

First pass at bundling web app into service. Working.

pull/2032/head
Gabe Kangas 3 years ago
parent
commit
78c6189c02
No known key found for this signature in database
GPG Key ID: 9A56337728BC81EA
  1. 21
      .github/workflows/bundle-web.yml
  2. 41
      build/admin/bundleAdmin.sh
  3. 28
      build/web/bundleWeb.sh
  4. 29
      controllers/index.go
  5. 20
      controllers/web.go
  6. 6
      router/router.go
  7. 1
      static/admin/404/index.html
  8. 1
      static/admin/_next/static/chunks/1371-f41477e42ee50603.js
  9. 1
      static/admin/_next/static/chunks/1556-f79a922e799c7a06.js
  10. 1
      static/admin/_next/static/chunks/1741-d9d648ade4ad86b9.js
  11. 1
      static/admin/_next/static/chunks/1829-f5c4fb462b2f7e98.js
  12. 1
      static/admin/_next/static/chunks/1912.40e8274b3898c5b0.js
  13. 1
      static/admin/_next/static/chunks/2494-8114e9c6571377d1.js
  14. 1
      static/admin/_next/static/chunks/2589-c48f3b04b9a6c7ce.js
  15. 1
      static/admin/_next/static/chunks/4578-afc9eff4fbf5ecb1.js
  16. 1
      static/admin/_next/static/chunks/4763-7fd93797a527a971.js
  17. 1
      static/admin/_next/static/chunks/5473-623385148d67cba2.js
  18. 1
      static/admin/_next/static/chunks/5533-096cc7dc6703128f.js
  19. 1
      static/admin/_next/static/chunks/6003-f37682e25271f05f.js
  20. 1
      static/admin/_next/static/chunks/6132-4fc73fe4cc2a426e.js
  21. 1
      static/admin/_next/static/chunks/6489-cea2e8971ed16ad4.js
  22. 1
      static/admin/_next/static/chunks/7910-699eb8ed3467dc00.js
  23. 1
      static/admin/_next/static/chunks/8091-5bc21baa6d0d3232.js
  24. 1
      static/admin/_next/static/chunks/8879-af8bf87fdc518c08.js
  25. 1
      static/admin/_next/static/chunks/9655-722bcfb83a61ab83.js
  26. 1
      static/admin/_next/static/chunks/main-c4d96150fb4f93a7.js
  27. 1
      static/admin/_next/static/chunks/pages/_app-4e3c6e515fee028c.js
  28. 1
      static/admin/_next/static/chunks/pages/access-tokens-d328b918d1f9b3d4.js
  29. 1
      static/admin/_next/static/chunks/pages/actions-9278698db4cd1a16.js
  30. 1
      static/admin/_next/static/chunks/pages/chat/messages-0df125d8b9455827.js
  31. 1
      static/admin/_next/static/chunks/pages/chat/users-c3f6235e6932151e.js
  32. 1
      static/admin/_next/static/chunks/pages/config-chat-bacb12d23264144b.js
  33. 1
      static/admin/_next/static/chunks/pages/config-federation-ea0f018fb4193b61.js
  34. 1
      static/admin/_next/static/chunks/pages/config-notify-10a8844dc11ca4b2.js
  35. 1
      static/admin/_next/static/chunks/pages/config-public-details-94ff52653eb2586e.js
  36. 1
      static/admin/_next/static/chunks/pages/config-server-details-cd516688accb84d3.js
  37. 1
      static/admin/_next/static/chunks/pages/config-social-items-42e2ed4eed8d4dd2.js
  38. 1
      static/admin/_next/static/chunks/pages/config-storage-5ff120c715bfdb04.js
  39. 1
      static/admin/_next/static/chunks/pages/config-video-32d86e0ba98dc6fe.js
  40. 1
      static/admin/_next/static/chunks/pages/federation/actions-7cfffddef3b58d86.js
  41. 1
      static/admin/_next/static/chunks/pages/federation/followers-d2d105c342c79f98.js
  42. 1
      static/admin/_next/static/chunks/pages/hardware-info-4723b20a84e4f461.js
  43. 1
      static/admin/_next/static/chunks/pages/help-deeb1c0f667c7d75.js
  44. 1
      static/admin/_next/static/chunks/pages/index-e0ac83ceaf99b5f0.js
  45. 1
      static/admin/_next/static/chunks/pages/logs-df4b23b85b8ac818.js
  46. 1
      static/admin/_next/static/chunks/pages/stream-health-4a811c8adeb950de.js
  47. 1
      static/admin/_next/static/chunks/pages/upgrade-6cb31f6812e79694.js
  48. 1
      static/admin/_next/static/chunks/pages/viewer-info-03fcbea265510389.js
  49. 1
      static/admin/_next/static/chunks/pages/webhooks-651cb241952e0e4a.js
  50. 1
      static/admin/_next/static/chunks/webpack-da6d6ade1d5643c2.js
  51. 9
      static/admin/_next/static/css/7e98ab6b3b660d68.css
  52. 1
      static/admin/_next/static/h7hU4WC0tUz8rUOsX2wuQ/_buildManifest.js
  53. 1
      static/admin/access-tokens/index.html
  54. 1
      static/admin/actions/index.html
  55. 1
      static/admin/chat/messages/index.html
  56. 1
      static/admin/chat/users/index.html
  57. 1
      static/admin/config-chat/index.html
  58. 1
      static/admin/config-federation/index.html
  59. 1
      static/admin/config-notify/index.html
  60. 1
      static/admin/config-public-details/index.html
  61. 1
      static/admin/config-server-details/index.html
  62. 1
      static/admin/config-social-items/index.html
  63. 1
      static/admin/config-storage/index.html
  64. 1
      static/admin/config-video/index.html
  65. 1
      static/admin/federation/actions/index.html
  66. 1
      static/admin/federation/followers/index.html
  67. 19
      static/admin/hardware-info/index.html
  68. 1
      static/admin/help/index.html
  69. 1
      static/admin/index.html
  70. 1
      static/admin/logs/index.html
  71. 1
      static/admin/stream-health/index.html
  72. 1
      static/admin/upgrade/index.html
  73. 1
      static/admin/viewer-info/index.html
  74. 1
      static/admin/webhooks/index.html
  75. 18
      static/static.go
  76. 1
      static/web/404/index.html
  77. 0
      static/web/_next/static/chunks/1080-1a127ea7f5a8eb3d.js
  78. 1
      static/web/_next/static/chunks/1213-222f826f28b9c729.js
  79. 1
      static/web/_next/static/chunks/1598-ffd88763d04c8753.js
  80. 1
      static/web/_next/static/chunks/1829-95952d6b244c7989.js
  81. 2
      static/web/_next/static/chunks/2429-bed6478ce3518dc3.js
  82. 0
      static/web/_next/static/chunks/29107295-4a69275373f23f88.js
  83. 1
      static/web/_next/static/chunks/3016-4f8191e21aac2f28.js
  84. 1
      static/web/_next/static/chunks/3471-5307c93ff9e09c03.js
  85. 1
      static/web/_next/static/chunks/3660-8ac106c3c9d23701.js
  86. 1
      static/web/_next/static/chunks/3698-ab9819fb276ecdca.js
  87. 0
      static/web/_next/static/chunks/36bcf0ca-110fd889741d5f41.js
  88. 2
      static/web/_next/static/chunks/3808-976f0efc85a7b400.js
  89. 1
      static/web/_next/static/chunks/4578-831921ce261f0555.js
  90. 1
      static/web/_next/static/chunks/4713-0a995d2f60177479.js
  91. 1
      static/web/_next/static/chunks/4763-8dc128557021d75d.js
  92. 1
      static/web/_next/static/chunks/5046-048bb1ea8f22db65.js
  93. 1
      static/web/_next/static/chunks/5473-8245209200d9ae6a.js
  94. 1
      static/web/_next/static/chunks/5938-e5330874590115f8.js
  95. 1
      static/web/_next/static/chunks/6441-fec512f655f643f5.js
  96. 1
      static/web/_next/static/chunks/7610.d72c9e9827c8fd4d.js
  97. 2
      static/web/_next/static/chunks/7751-caefc9c45cf82ac8.js
  98. 1
      static/web/_next/static/chunks/7910-82406f9d3ddb7107.js
  99. 1
      static/web/_next/static/chunks/7961-a0c15d45b4b858bb.js
  100. 1
      static/web/_next/static/chunks/8147-c5d041f17c7deaaf.js
  101. Some files were not shown because too many files have changed in this diff Show More

21
.github/workflows/bundle-web.yml

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
name: Bundle web app
on:
repository_dispatch:
types: [bundle-admin-event]
jobs:
bundle:
runs-on: ubuntu-latest
steps:
- name: Bundle admin
uses: actions/checkout@v3
- run: build/web/bundleWeb.sh
- name: Commit changes
uses: EndBug/add-and-commit@v9
with:
author_name: Owncast
author_email: owncast@owncast.online
message: 'Update embedded web app to ${{ github.event.client_payload.sha }}'
add: 'static/web'
env:
GITHUB_TOKEN: ${{ secrets.GH_CR_PAT }}

41
build/admin/bundleAdmin.sh

@ -1,41 +0,0 @@ @@ -1,41 +0,0 @@
#!/usr/bin/env bash
# shellcheck disable=SC2059
set -o errexit
set -o nounset
set -o pipefail
INSTALL_TEMP_DIRECTORY="$(mktemp -d)"
PROJECT_SOURCE_DIR=$(pwd)
cd $INSTALL_TEMP_DIRECTORY
shutdown () {
rm -rf "$INSTALL_TEMP_DIRECTORY"
}
trap shutdown INT TERM ABRT EXIT
echo "Cloning owncast admin into $INSTALL_TEMP_DIRECTORY..."
git clone https://github.com/owncast/owncast-admin 2> /dev/null
cd owncast-admin
echo "Installing npm modules for the owncast admin..."
npm --silent install 2> /dev/null
echo "Building owncast admin..."
rm -rf .next
(node_modules/.bin/next build && node_modules/.bin/next export) | grep info
echo "Copying admin to project directory..."
ADMIN_BUILD_DIR=$(pwd)
cd $PROJECT_SOURCE_DIR
mkdir -p admin 2> /dev/null
cd admin
# Remove the old one
rm -rf $PROJECT_SOURCE_DIR/static/admin
# Copy over the new one
mv ${ADMIN_BUILD_DIR}/out $PROJECT_SOURCE_DIR/static/admin
shutdown
echo "Done."

28
build/web/bundleWeb.sh

@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
#!/usr/bin/env bash
# shellcheck disable=SC2059
set -o errexit
set -o nounset
set -o pipefail
# 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
echo "Building owncast web..."
rm -rf .next
(node_modules/.bin/next build && node_modules/.bin/next export) | grep info
echo "Copying admin to project directory..."
# Remove the old one
rm -rf ../static/web
# Copy over the new one
mv ./out ../static/web
echo "Done."

29
controllers/index.go

@ -4,8 +4,6 @@ import ( @@ -4,8 +4,6 @@ import (
"fmt"
"net/http"
"net/url"
"os"
"path"
"path/filepath"
"strings"
@ -36,16 +34,11 @@ type MetadataPage struct { @@ -36,16 +34,11 @@ type MetadataPage struct {
func IndexHandler(w http.ResponseWriter, r *http.Request) {
middleware.EnableCors(w)
// Treat recordings and schedule as index requests
pathComponents := strings.Split(r.URL.Path, "/")
pathRequest := pathComponents[1]
if pathRequest == "recordings" || pathRequest == "schedule" {
r.URL.Path = "index.html"
}
isIndexRequest := r.URL.Path == "/" || filepath.Base(r.URL.Path) == "index.html" || filepath.Base(r.URL.Path) == ""
if isIndexRequest {
serveWeb(w, r)
return
}
// For search engine bots and social scrapers return a special
// server-rendered page.
if utils.IsUserAgentABot(r.UserAgent()) && isIndexRequest {
@ -65,11 +58,11 @@ func IndexHandler(w http.ResponseWriter, r *http.Request) { @@ -65,11 +58,11 @@ func IndexHandler(w http.ResponseWriter, r *http.Request) {
}
// If this is a directory listing request then return a 404
info, err := os.Stat(path.Join(config.WebRoot, r.URL.Path))
if err != nil || (info.IsDir() && !isIndexRequest) {
w.WriteHeader(http.StatusNotFound)
return
}
// info, err := os.Stat(path.Join(config.WebRoot, r.URL.Path))
// if err != nil || (info.IsDir() && !isIndexRequest) {
// w.WriteHeader(http.StatusNotFound)
// return
// }
// Set a cache control max-age header
middleware.SetCachingHeaders(w, r)
@ -77,7 +70,9 @@ func IndexHandler(w http.ResponseWriter, r *http.Request) { @@ -77,7 +70,9 @@ func IndexHandler(w http.ResponseWriter, r *http.Request) {
// Set our global HTTP headers
middleware.SetHeaders(w)
http.ServeFile(w, r, path.Join(config.WebRoot, r.URL.Path))
serveWeb(w, r)
// http.ServeFile(w, r, path.Join(config.WebRoot, r.URL.Path))
}
// Return a basic HTML page with server-rendered metadata from the config

20
controllers/admin/index.go → controllers/web.go

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package admin
package controllers
import (
"bytes"
@ -13,26 +13,28 @@ import ( @@ -13,26 +13,28 @@ import (
log "github.com/sirupsen/logrus"
)
// ServeAdmin will return admin web assets.
func ServeAdmin(w http.ResponseWriter, r *http.Request) {
// serveWeb will serve web assets.
func serveWeb(w http.ResponseWriter, r *http.Request) {
// If the ETags match then return a StatusNotModified
if responseCode := middleware.ProcessEtags(w, r); responseCode != 0 {
w.WriteHeader(responseCode)
return
}
adminFiles := static.GetAdmin()
path := strings.TrimPrefix(r.URL.Path, "/")
webFiles := static.GetWeb()
path := "web/" + strings.TrimPrefix(r.URL.Path, "/")
// Determine if the requested path is a directory.
// If so, append index.html to the request.
if info, err := fs.Stat(adminFiles, path); err == nil && info.IsDir() {
if info, err := fs.Stat(webFiles, path); err == nil && info.IsDir() {
path = filepath.Join(path, "index.html")
} else if _, err := fs.Stat(adminFiles, path+"index.html"); err == nil {
} else if _, err := fs.Stat(webFiles, path+"index.html"); err == nil {
path = filepath.Join(path, "index.html")
} else if path == "" {
path = filepath.Join(path, "index.html")
}
f, err := adminFiles.Open(path)
f, err := webFiles.Open(path)
if os.IsNotExist(err) {
w.WriteHeader(http.StatusNotFound)
return
@ -46,7 +48,7 @@ func ServeAdmin(w http.ResponseWriter, r *http.Request) { @@ -46,7 +48,7 @@ func ServeAdmin(w http.ResponseWriter, r *http.Request) {
// Set a cache control max-age header
middleware.SetCachingHeaders(w, r)
d, err := adminFiles.ReadFile(path)
d, err := webFiles.ReadFile(path)
if err != nil {
log.Errorln(err)
w.WriteHeader(http.StatusInternalServerError)

6
router/router.go

@ -26,12 +26,8 @@ import ( @@ -26,12 +26,8 @@ import (
// Start starts the router for the http, ws, and rtmp.
func Start() error {
// static files
http.HandleFunc("/admin", middleware.RequireAdminAuth(controllers.IndexHandler))
http.HandleFunc("/", controllers.IndexHandler)
http.HandleFunc("/recordings", controllers.IndexHandler)
http.HandleFunc("/schedule", controllers.IndexHandler)
// admin static files
http.HandleFunc("/admin/", middleware.RequireAdminAuth(admin.ServeAdmin))
// status of the system
http.HandleFunc("/api/status", controllers.GetStatus)

1
static/admin/404/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/1371-f41477e42ee50603.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/1556-f79a922e799c7a06.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/1741-d9d648ade4ad86b9.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/1829-f5c4fb462b2f7e98.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/1912.40e8274b3898c5b0.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/2494-8114e9c6571377d1.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/2589-c48f3b04b9a6c7ce.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/4578-afc9eff4fbf5ecb1.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/4763-7fd93797a527a971.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/5473-623385148d67cba2.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/5533-096cc7dc6703128f.js vendored

@ -1 +0,0 @@ @@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5533],{85533:function(t,r,e){e.d(r,{Z:function(){return d}});var n=e(19013),a=e(13882);function o(t,r){(0,a.Z)(2,arguments);var e=(0,n.Z)(t),o=(0,n.Z)(r),s=e.getTime()-o.getTime();return s<0?-1:s>0?1:s}function s(t,r){(0,a.Z)(2,arguments);var e=(0,n.Z)(t),o=(0,n.Z)(r),s=e.getFullYear()-o.getFullYear(),u=e.getMonth()-o.getMonth();return 12*s+u}function u(t){(0,a.Z)(1,arguments);var r=(0,n.Z)(t);return r.setHours(23,59,59,999),r}function i(t){(0,a.Z)(1,arguments);var r=(0,n.Z)(t),e=r.getMonth();return r.setFullYear(r.getFullYear(),e+1,0),r.setHours(23,59,59,999),r}function f(t){(0,a.Z)(1,arguments);var r=(0,n.Z)(t);return u(r).getTime()===i(r).getTime()}function c(t,r){(0,a.Z)(2,arguments);var e,u=(0,n.Z)(t),i=(0,n.Z)(r),c=o(u,i),l=Math.abs(s(u,i));if(l<1)e=0;else{1===u.getMonth()&&u.getDate()>27&&u.setDate(30),u.setMonth(u.getMonth()-c*l);var h=o(u,i)===-c;f((0,n.Z)(t))&&1===l&&1===o(t,i)&&(h=!1),e=c*(l-Number(h))}return 0===e?0:e}var l=e(40364),h=e(35077);function m(t){return function(t,r){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var e in r=r||{})Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e]);return t}({},t)}var Z=e(24262),D=1440,v=43200;function M(t,r){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,a.Z)(2,arguments);var s=e.locale||h.Z;if(!s.formatDistance)throw new RangeError("locale must contain formatDistance property");var u=o(t,r);if(isNaN(u))throw new RangeError("Invalid time value");var i,f,M=m(e);M.addSuffix=Boolean(e.addSuffix),M.comparison=u,u>0?(i=(0,n.Z)(r),f=(0,n.Z)(t)):(i=(0,n.Z)(t),f=(0,n.Z)(r));var d,g=(0,l.Z)(f,i),p=((0,Z.Z)(f)-(0,Z.Z)(i))/1e3,X=Math.round((g-p)/60);if(X<2)return e.includeSeconds?g<5?s.formatDistance("lessThanXSeconds",5,M):g<10?s.formatDistance("lessThanXSeconds",10,M):g<20?s.formatDistance("lessThanXSeconds",20,M):g<40?s.formatDistance("halfAMinute",null,M):g<60?s.formatDistance("lessThanXMinutes",1,M):s.formatDistance("xMinutes",1,M):0===X?s.formatDistance("lessThanXMinutes",1,M):s.formatDistance("xMinutes",X,M);if(X<45)return s.formatDistance("xMinutes",X,M);if(X<90)return s.formatDistance("aboutXHours",1,M);if(X<D){var b=Math.round(X/60);return s.formatDistance("aboutXHours",b,M)}if(X<2520)return s.formatDistance("xDays",1,M);if(X<v){var w=Math.round(X/D);return s.formatDistance("xDays",w,M)}if(X<86400)return d=Math.round(X/v),s.formatDistance("aboutXMonths",d,M);if((d=c(f,i))<12){var T=Math.round(X/v);return s.formatDistance("xMonths",T,M)}var x=d%12,Y=Math.floor(d/12);return x<3?s.formatDistance("aboutXYears",Y,M):x<9?s.formatDistance("overXYears",Y,M):s.formatDistance("almostXYears",Y+1,M)}function d(t,r){return(0,a.Z)(1,arguments),M(t,Date.now(),r)}}}]);

1
static/admin/_next/static/chunks/6003-f37682e25271f05f.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/6132-4fc73fe4cc2a426e.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/6489-cea2e8971ed16ad4.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/7910-699eb8ed3467dc00.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/8091-5bc21baa6d0d3232.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/8879-af8bf87fdc518c08.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/9655-722bcfb83a61ab83.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/main-c4d96150fb4f93a7.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/_app-4e3c6e515fee028c.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/access-tokens-d328b918d1f9b3d4.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/actions-9278698db4cd1a16.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/chat/messages-0df125d8b9455827.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/chat/users-c3f6235e6932151e.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/config-chat-bacb12d23264144b.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/config-federation-ea0f018fb4193b61.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/config-notify-10a8844dc11ca4b2.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/config-public-details-94ff52653eb2586e.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/config-server-details-cd516688accb84d3.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/config-social-items-42e2ed4eed8d4dd2.js vendored

@ -1 +0,0 @@ @@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4269],{48689:function(e,n,t){"use strict";t.d(n,{Z:function(){return a}});var c=t(1413),i=t(67294),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"},s=t(42135),u=function(e,n){return i.createElement(s.Z,(0,c.Z)((0,c.Z)({},e),{},{ref:n,icon:r}))};u.displayName="DeleteOutlined";var a=i.forwardRef(u)},23999:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/config-social-items",function(){return t(57535)}])},57535:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return u}});var c=t(85893),i=(t(67294),t(84485)),r=t(91017),s=i.Z.Title;function u(){return(0,c.jsxs)("div",{className:"config-social-items",children:[(0,c.jsx)(s,{children:"Social Items"}),(0,c.jsx)(r.Z,{})]})}}},function(e){e.O(0,[1741,6003,1017,9774,2888,179],(function(){return n=23999,e(e.s=n);var n}));var n=e.O();_N_E=n}]);

1
static/admin/_next/static/chunks/pages/config-storage-5ff120c715bfdb04.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/config-video-32d86e0ba98dc6fe.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/federation/actions-7cfffddef3b58d86.js

@ -1 +0,0 @@ @@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7332],{6131:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/federation/actions",function(){return n(63646)}])},63646:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return v}});var r=n(34051),i=n.n(r),a=n(85893),o=n(67294),s=n(84485),c=n(96003),u=n(58091),l=n(58827),f=n(2766);function d(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(u){return void n(u)}s.done?t(c):Promise.resolve(c).then(r,i)}var h=s.Z.Title,p=s.Z.Paragraph;function v(){var e=(0,o.useState)([]),t=e[0],n=e[1],r=(0,o.useState)(0),s=r[0],v=r[1],E=(0,o.useState)(0),w=E[0],m=E[1],_=function(){var e,t=(e=i().mark((function e(){var t,r,a,o,s;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=50*w,r="".concat(l.op,"?offset=").concat(t,"&limit=").concat(50),e.next=6,(0,l.rQ)(r,{auth:!0});case 6:a=e.sent,o=a.results,s=a.total,v(s),(0,f.Qr)(o)?n([]):n(o),e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),console.log("==== error",e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})),function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){d(a,r,i,o,s,"next",e)}function s(e){d(a,r,i,o,s,"throw",e)}o(void 0)}))});return function(){return t.apply(this,arguments)}}();(0,o.useEffect)((function(){_()}),[w]);var g,x,y=[{title:"Action",dataIndex:"type",key:"type",width:50,render:function(e,t){var n,r;switch(t.type){case"FEDIVERSE_ENGAGEMENT_REPOST":n="/img/repost.svg",r="Share";break;case"FEDIVERSE_ENGAGEMENT_LIKE":n="/img/like.svg",r="Like";break;case"FEDIVERSE_ENGAGEMENT_FOLLOW":n="/img/follow.svg",r="Follow";break;default:n=""}return(0,a.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},children:[(0,a.jsx)("img",{src:n,width:"70%",alt:r,title:r}),(0,a.jsx)("div",{style:{fontSize:"0.7rem"},children:r})]})}},{title:"From",dataIndex:"actorIRI",key:"from",render:function(e,t){return(0,a.jsx)("a",{href:t.actorIRI,children:t.actorIRI})}},{title:"When",dataIndex:"timestamp",key:"timestamp",render:function(e,t){var n=new Date(t.timestamp);return(0,u.Z)(n,"P pp")}}];return(0,a.jsxs)("div",{children:[(0,a.jsx)(h,{level:3,children:"Fediverse Actions"}),(0,a.jsx)(p,{children:"Below is a list of actions that were taken by others in response to your posts as well as people who requested to follow you."}),(g=t,x=y,(0,a.jsx)(c.Z,{dataSource:g,columns:x,size:"small",rowKey:function(e){return e.iri},pagination:{pageSize:50,hideOnSinglePage:!0,showSizeChanger:!1,total:s},onChange:function(e){var t=e.current;m(t)}}))]})}}},function(e){e.O(0,[1741,6003,8091,9774,2888,179],(function(){return t=6131,e(e.s=t);var t}));var t=e.O();_N_E=t}]);

1
static/admin/_next/static/chunks/pages/federation/followers-d2d105c342c79f98.js

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/hardware-info-4723b20a84e4f461.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/help-deeb1c0f667c7d75.js vendored

@ -1 +0,0 @@ @@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1233],{44156:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/help",function(){return t(54712)}])},54712:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return y}});var r=t(85893),o=t(25968),s=t(6226),i=t(33859),l=t(71577),a=t(27049),c=t(97751),d=t(89281),h=t(11700),x=t(90543),u=t(29158),j=t(38958),p=t(17502),f=t(65987),g=t(99767),w=t(30925),Z=t(80869),m=t(43439),b=t(99906);t(67294);function y(){var e=[{icon:(0,r.jsx)(x.Z,{style:{fontSize:"24px"}}),title:"I want to configure my owncast instance",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/configuration/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})},{icon:(0,r.jsx)(j.Z,{style:{fontSize:"24px"}}),title:"Help configuring my broadcasting software",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/broadcasting/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})},{icon:(0,r.jsx)(p.Z,{style:{fontSize:"24px"}}),title:"I want to embed my stream into another site",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/embed/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})},{icon:(0,r.jsx)(f.Z,{style:{fontSize:"24px"}}),title:"I want to customize my website",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/website/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})},{icon:(0,r.jsx)(g.Z,{style:{fontSize:"24px"}}),title:"I want to tweak my video output",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/encoding/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})},{icon:(0,r.jsx)(w.Z,{style:{fontSize:"24px"}}),title:"I want to use an external storage provider",content:(0,r.jsx)("div",{children:(0,r.jsxs)("a",{href:"https://owncast.online/docs/storage/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[(0,r.jsx)(u.Z,{})," Learn more"]})})}],n=[{icon:(0,r.jsx)(Z.Z,{style:{fontSize:"24px"}}),title:"I found a bug",content:(0,r.jsxs)("div",{children:["If you found a bug, then please",(0,r.jsxs)("a",{href:"https://github.com/owncast/owncast/issues/new/choose",target:"_blank",rel:"noopener noreferrer",children:[" ","let us know"]})]})},{icon:(0,r.jsx)(m.Z,{style:{fontSize:"24px"}}),title:"I have a general question",content:(0,r.jsxs)("div",{children:["Most general questions are answered in our",(0,r.jsxs)("a",{href:"https://owncast.online/docs/faq/?source=admin",target:"_blank",rel:"noopener noreferrer",children:[" ","FAQ"]})," ","or exist in our"," ",(0,r.jsx)("a",{href:"https://github.com/owncast/owncast/discussions",target:"_blank",rel:"noopener noreferrer",children:"discussions"})]})},{icon:(0,r.jsx)(b.Z,{style:{fontSize:"24px"}}),title:"I want to build add-ons for Owncast",content:(0,r.jsxs)("div",{children:["You can build your own bots, overlays, tools and add-ons with our",(0,r.jsx)("a",{href:"https://owncast.online/thirdparty?source=admin",target:"_blank",rel:"noopener noreferrer",children:"\xa0developer APIs.\xa0"})]})}];return(0,r.jsxs)("div",{className:"help-page",children:[(0,r.jsx)(h.Z,{style:{textAlign:"center"},children:"How can we help you?"}),(0,r.jsxs)(o.Z,{gutter:[16,16],justify:"space-around",align:"middle",children:[(0,r.jsxs)(s.Z,{xs:24,lg:12,style:{textAlign:"center"},children:[(0,r.jsx)(i.ZP,{status:"500"}),(0,r.jsx)(h.Z,{level:2,children:"Troubleshooting"}),(0,r.jsx)(l.Z,{target:"_blank",rel:"noopener noreferrer",href:"https://owncast.online/docs/troubleshooting/?source=admin",icon:(0,r.jsx)(u.Z,{}),type:"primary",children:"Fix your problems"})]}),(0,r.jsxs)(s.Z,{xs:24,lg:12,style:{textAlign:"center"},children:[(0,r.jsx)(i.ZP,{status:"404"}),(0,r.jsx)(h.Z,{level:2,children:"Documentation"}),(0,r.jsx)(l.Z,{target:"_blank",rel:"noopener noreferrer",href:"https://owncast.online/docs?source=admin",icon:(0,r.jsx)(u.Z,{}),type:"primary",children:"Read the Docs"})]})]}),(0,r.jsx)(a.Z,{}),(0,r.jsx)(h.Z,{level:2,children:"Common tasks"}),(0,r.jsx)(o.Z,{gutter:[16,16],children:e.map((function(e){return(0,r.jsx)(s.Z,{xs:24,lg:12,children:(0,r.jsx)(c.Z,{children:(0,r.jsx)(d.Z,{avatar:e.icon,title:e.title,description:e.content})})},e.title)}))}),(0,r.jsx)(a.Z,{}),(0,r.jsx)(h.Z,{level:2,children:"Other"}),(0,r.jsx)(o.Z,{gutter:[16,16],children:n.map((function(e){return(0,r.jsx)(s.Z,{xs:24,lg:12,children:(0,r.jsx)(c.Z,{children:(0,r.jsx)(d.Z,{avatar:e.icon,title:e.title,description:e.content})})},e.title)}))})]})}}},function(e){e.O(0,[8879,7751,6132,9774,2888,179],(function(){return n=44156,e(e.s=n);var n}));var n=e.O();_N_E=n}]);

1
static/admin/_next/static/chunks/pages/index-e0ac83ceaf99b5f0.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/logs-df4b23b85b8ac818.js vendored

@ -1 +0,0 @@ @@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9203],{84841:function(e,n,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/logs",function(){return r(52736)}])},824:function(e,n,r){"use strict";r.d(n,{Z:function(){return v}});var t=r(85893),i=r(67294),a=r(84485),o=r(20550),u=r(96003),s=r(53731),c=r(58091),l=a.Z.Title;function f(e,n){var r="black";return"warning"===n.level?r="orange":"error"===n.level&&(r="red"),(0,t.jsx)(o.Z,{color:r,children:e})}function d(e){return(0,t.jsx)(s.Z,{children:e})}function v(e){var n=e.logs,r=e.originalPageSize;if(!(null===n||void 0===n?void 0:n.length))return null;var a=(0,i.useState)(r)[0],o=[{title:"Level",dataIndex:"level",key:"level",filters:[{text:"Info",value:"info"},{text:"Warning",value:"warning"},{text:"Error",value:"Error"}],onFilter:function(e,n){return 0===n.level.indexOf(e)},render:f},{title:"Timestamp",dataIndex:"time",key:"time",render:function(e){var n=new Date(e);return(0,c.Z)(n,"pp P")},sorter:function(e,n){return new Date(e.time).getTime()-new Date(n.time).getTime()},sortDirections:["descend","ascend"],defaultSortOrder:"descend"},{title:"Message",dataIndex:"message",key:"message",render:d}];return(0,t.jsxs)("div",{className:"logs-section",children:[(0,t.jsx)(l,{children:"Logs"}),(0,t.jsx)(u.Z,{size:"middle",dataSource:n,columns:o,rowKey:function(e){return e.time},pagination:{pageSize:a}})]})}},52736:function(e,n,r){"use strict";r.r(n),r.d(n,{default:function(){return l}});var t=r(34051),i=r.n(t),a=r(85893),o=r(67294),u=r(824),s=r(58827);function c(e,n,r,t,i,a,o){try{var u=e[a](o),s=u.value}catch(c){return void r(c)}u.done?n(s):Promise.resolve(s).then(t,i)}function l(){var e=(0,o.useState)([]),n=e[0],r=e[1],t=function(){var e,n=(e=i().mark((function e(){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,s.rQ)(s.sG);case 3:n=e.sent,r(n),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.log("==== error",e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})),function(){var n=this,r=arguments;return new Promise((function(t,i){var a=e.apply(n,r);function o(e){c(a,t,i,o,u,"next",e)}function u(e){c(a,t,i,o,u,"throw",e)}o(void 0)}))});return function(){return n.apply(this,arguments)}}();return(0,o.useEffect)((function(){var e;return setInterval(t,5e3),t(),e=setInterval(t,5e3),function(){clearInterval(e)}}),[]),(0,a.jsx)(u.Z,{logs:n,originalPageSize:20})}}},function(e){e.O(0,[1741,6003,8091,2429,9774,2888,179],(function(){return n=84841,e(e.s=n);var n}));var n=e.O();_N_E=n}]);

1
static/admin/_next/static/chunks/pages/stream-health-4a811c8adeb950de.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/upgrade-6cb31f6812e79694.js vendored

@ -1 +0,0 @@ @@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8069],{20014:function(e,n,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/upgrade",function(){return r(9103)}])},9103:function(e,n,r){"use strict";r.r(n),r.d(n,{default:function(){return w}});var t=r(34051),a=r.n(t),u=r(85893),o=r(67294),c=r(29655),i=r(84485),s=r(96003),l=r(58827);function f(e,n,r,t,a,u,o){try{var c=e[u](o),i=c.value}catch(s){return void r(s)}c.done?n(i):Promise.resolve(i).then(t,a)}function d(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function h(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{},t=Object.keys(r);"function"===typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),t.forEach((function(n){d(e,n,r[n])}))}return e}var v=i.Z.Title;function p(e){var n=Object.values(e),r=[{title:"Name",dataIndex:"name",key:"name",render:function(e,n){return(0,u.jsx)("a",{href:n.browser_download_url,children:e})}},{title:"Size",dataIndex:"size",key:"size",render:function(e){return"".concat((e/1024/1024).toFixed(2)," MB")}}];return(0,u.jsx)(s.Z,{dataSource:n,columns:r,rowKey:function(e){return e.id},size:"large",pagination:!1})}function w(){var e=(0,o.useState)({html_url:"",name:"",created_at:null,body:"",assets:[]}),n=e[0],r=e[1],t=function(){var e,n=(e=a().mark((function e(){var n;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,l.Kt)();case 3:n=e.sent,r(n),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.log("==== error",e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})),function(){var n=this,r=arguments;return new Promise((function(t,a){var u=e.apply(n,r);function o(e){f(u,t,a,o,c,"next",e)}function c(e){f(u,t,a,o,c,"throw",e)}o(void 0)}))});return function(){return n.apply(this,arguments)}}();return(0,o.useEffect)((function(){t()}),[]),n?(0,u.jsxs)("div",{className:"upgrade-page",children:[(0,u.jsx)(v,{level:2,children:(0,u.jsx)("a",{href:n.html_url,children:n.name})}),(0,u.jsx)(v,{level:5,children:new Date(n.created_at).toDateString()}),(0,u.jsx)(c.D,{children:n.body}),(0,u.jsx)("h3",{children:"Downloads"}),(0,u.jsx)(p,h({},n.assets))]}):null}}},function(e){e.O(0,[1741,6003,9655,9774,2888,179],(function(){return n=20014,e(e.s=n);var n}));var n=e.O();_N_E=n}]);

1
static/admin/_next/static/chunks/pages/viewer-info-03fcbea265510389.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/pages/webhooks-651cb241952e0e4a.js vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/chunks/webpack-da6d6ade1d5643c2.js vendored

@ -1 +0,0 @@ @@ -1 +0,0 @@
!function(){"use strict";var e={},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={id:r,loaded:!1,exports:{}},u=!0;try{e[r].call(i.exports,i,i.exports,t),u=!1}finally{u&&delete n[r]}return i.loaded=!0,i.exports}t.m=e,t.amdO={},function(){var e=[];t.O=function(n,r,o,i){if(!r){var u=1/0;for(l=0;l<e.length;l++){r=e[l][0],o=e[l][1],i=e[l][2];for(var a=!0,c=0;c<r.length;c++)(!1&i||u>=i)&&Object.keys(t.O).every((function(e){return t.O[e](r[c])}))?r.splice(c--,1):(a=!1,i<u&&(u=i));if(a){e.splice(l--,1);var f=o();void 0!==f&&(n=f)}}return n}i=i||0;for(var l=e.length;l>0&&e[l-1][2]>i;l--)e[l]=e[l-1];e[l]=[r,o,i]}}(),t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.f={},t.e=function(e){return Promise.all(Object.keys(t.f).reduce((function(n,r){return t.f[r](e,n),n}),[]))},t.u=function(e){return"static/chunks/"+e+".40e8274b3898c5b0.js"},t.miniCssF=function(e){return"static/css/"+{2589:"e773f9ad06a56dc3",2888:"7e98ab6b3b660d68"}[e]+".css"},t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},function(){var e={},n="_N_E:";t.l=function(r,o,i,u){if(e[r])e[r].push(o);else{var a,c;if(void 0!==i)for(var f=document.getElementsByTagName("script"),l=0;l<f.length;l++){var d=f[l];if(d.getAttribute("src")==r||d.getAttribute("data-webpack")==n+i){a=d;break}}a||(c=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,t.nc&&a.setAttribute("nonce",t.nc),a.setAttribute("data-webpack",n+i),a.src=r),e[r]=[o];var s=function(n,t){a.onerror=a.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((function(e){return e(t)})),n)return n(t)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=s.bind(null,a.onerror),a.onload=s.bind(null,a.onload),c&&document.head.appendChild(a)}}}(),t.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},t.p="/admin/_next/",function(){var e={2272:0};t.f.j=function(n,r){var o=t.o(e,n)?e[n]:void 0;if(0!==o)if(o)r.push(o[2]);else if(2272!=n){var i=new Promise((function(t,r){o=e[n]=[t,r]}));r.push(o[2]=i);var u=t.p+t.u(n),a=new Error;t.l(u,(function(r){if(t.o(e,n)&&(0!==(o=e[n])&&(e[n]=void 0),o)){var i=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;a.message="Loading chunk "+n+" failed.\n("+i+": "+u+")",a.name="ChunkLoadError",a.type=i,a.request=u,o[1](a)}}),"chunk-"+n,n)}else e[n]=0},t.O.j=function(n){return 0===e[n]};var n=function(n,r){var o,i,u=r[0],a=r[1],c=r[2],f=0;if(u.some((function(n){return 0!==e[n]}))){for(o in a)t.o(a,o)&&(t.m[o]=a[o]);if(c)var l=c(t)}for(n&&n(r);f<u.length;f++)i=u[f],t.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return t.O(l)},r=self.webpackChunk_N_E=self.webpackChunk_N_E||[];r.forEach(n.bind(null,0)),r.push=n.bind(null,r.push.bind(r))}()}();

9
static/admin/_next/static/css/7e98ab6b3b660d68.css vendored

File diff suppressed because one or more lines are too long

1
static/admin/_next/static/h7hU4WC0tUz8rUOsX2wuQ/_buildManifest.js

@ -1 +0,0 @@ @@ -1 +0,0 @@
self.__BUILD_MANIFEST=function(s,c,a,e,t,i,f,n,o,d,h,g,u,b,r){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[s,c,a,e,t,i,f,h,"static/chunks/2494-8114e9c6571377d1.js","static/chunks/pages/index-e0ac83ceaf99b5f0.js"],"/_error":["static/chunks/pages/_error-785557186902809b.js"],"/access-tokens":[s,c,a,"static/chunks/pages/access-tokens-d328b918d1f9b3d4.js"],"/actions":[s,c,"static/chunks/pages/actions-9278698db4cd1a16.js"],"/chat/messages":[g,s,c,a,f,u,"static/chunks/pages/chat/messages-0df125d8b9455827.js"],"/chat/users":[g,s,c,a,e,f,"static/chunks/6489-cea2e8971ed16ad4.js",u,"static/chunks/pages/chat/users-c3f6235e6932151e.js"],"/config-chat":["static/chunks/pages/config-chat-bacb12d23264144b.js"],"/config-federation":["static/chunks/1829-f5c4fb462b2f7e98.js","static/chunks/pages/config-federation-ea0f018fb4193b61.js"],"/config-notify":["static/chunks/pages/config-notify-10a8844dc11ca4b2.js"],"/config-public-details":[s,c,n,"static/css/e773f9ad06a56dc3.css","static/chunks/2589-c48f3b04b9a6c7ce.js",b,"static/chunks/pages/config-public-details-94ff52653eb2586e.js"],"/config-server-details":[r,"static/chunks/pages/config-server-details-cd516688accb84d3.js"],"/config-social-items":[s,c,b,"static/chunks/pages/config-social-items-42e2ed4eed8d4dd2.js"],"/config-storage":["static/chunks/5473-623385148d67cba2.js","static/chunks/pages/config-storage-5ff120c715bfdb04.js"],"/config-video":[s,c,r,"static/chunks/1556-f79a922e799c7a06.js","static/chunks/pages/config-video-32d86e0ba98dc6fe.js"],"/federation/actions":[s,c,a,"static/chunks/pages/federation/actions-7cfffddef3b58d86.js"],"/federation/followers":[s,c,a,e,"static/chunks/pages/federation/followers-d2d105c342c79f98.js"],"/hardware-info":[o,a,e,t,i,d,n,"static/chunks/pages/hardware-info-4723b20a84e4f461.js"],"/help":[e,t,"static/chunks/6132-4fc73fe4cc2a426e.js","static/chunks/pages/help-deeb1c0f667c7d75.js"],"/logs":[s,c,a,h,"static/chunks/pages/logs-df4b23b85b8ac818.js"],"/stream-health":[o,s,a,e,t,i,d,"static/chunks/pages/stream-health-4a811c8adeb950de.js"],"/upgrade":[s,c,"static/chunks/9655-722bcfb83a61ab83.js","static/chunks/pages/upgrade-6cb31f6812e79694.js"],"/viewer-info":[o,s,c,a,e,t,i,f,d,n,"static/chunks/pages/viewer-info-03fcbea265510389.js"],"/webhooks":[s,c,"static/chunks/pages/webhooks-651cb241952e0e4a.js"],sortedPages:["/","/_app","/_error","/access-tokens","/actions","/chat/messages","/chat/users","/config-chat","/config-federation","/config-notify","/config-public-details","/config-server-details","/config-social-items","/config-storage","/config-video","/federation/actions","/federation/followers","/hardware-info","/help","/logs","/stream-health","/upgrade","/viewer-info","/webhooks"]}}("static/chunks/1741-d9d648ade4ad86b9.js","static/chunks/6003-f37682e25271f05f.js","static/chunks/8091-5bc21baa6d0d3232.js","static/chunks/8879-af8bf87fdc518c08.js","static/chunks/7751-48959ec0f11e9080.js","static/chunks/4763-7fd93797a527a971.js","static/chunks/5533-096cc7dc6703128f.js","static/chunks/7910-699eb8ed3467dc00.js","static/chunks/36bcf0ca-110fd889741d5f41.js","static/chunks/1080-1a127ea7f5a8eb3d.js","static/chunks/2429-ccb4d7fa1648dd38.js","static/chunks/29107295-4a69275373f23f88.js","static/chunks/1371-f41477e42ee50603.js","static/chunks/1017-0760c7f39ffcc2a7.js","static/chunks/4578-afc9eff4fbf5ecb1.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();

1
static/admin/access-tokens/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/actions/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/chat/messages/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/chat/users/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/config-chat/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/config-federation/index.html

File diff suppressed because one or more lines are too long

1
static/admin/config-notify/index.html

File diff suppressed because one or more lines are too long

1
static/admin/config-public-details/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/config-server-details/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/config-social-items/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/config-storage/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/config-video/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/federation/actions/index.html

File diff suppressed because one or more lines are too long

1
static/admin/federation/followers/index.html

File diff suppressed because one or more lines are too long

19
static/admin/hardware-info/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/help/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/logs/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/stream-health/index.html

File diff suppressed because one or more lines are too long

1
static/admin/upgrade/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/viewer-info/index.html vendored

File diff suppressed because one or more lines are too long

1
static/admin/webhooks/index.html vendored

File diff suppressed because one or more lines are too long

18
static/static.go vendored

@ -7,15 +7,15 @@ import ( @@ -7,15 +7,15 @@ import (
"path/filepath"
)
//go:embed admin/*
//go:embed admin/_next/static
//go:embed admin/_next/static/chunks/pages/*.js
//go:embed admin/_next/static/*/*.js
var adminFiles embed.FS
// GetAdmin will return an embedded filesystem reference to the admin web app.
func GetAdmin() embed.FS {
return adminFiles
//go:embed web/*
//go:embed web/_next/static
//go:embed web/_next/static/chunks/pages/*.js
//go:embed web/_next/static/*/*.js
var webFiles embed.FS
// GetWeb will return an embedded filesystem reference to the admin web app.
func GetWeb() embed.FS {
return webFiles
}
//go:embed metadata.html.tmpl

1
static/web/404/index.html

@ -0,0 +1 @@ @@ -0,0 +1 @@
<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/_next/static/css/8048f473def6f541.css" as="style"/><link rel="stylesheet" href="/_next/static/css/8048f473def6f541.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-621419216d39691d.js" defer=""></script><script src="/_next/static/chunks/framework-79bce4a3a540b080.js" defer=""></script><script src="/_next/static/chunks/main-95aa2df24180ff28.js" defer=""></script><script src="/_next/static/chunks/pages/_app-67f85ec7875ccdc4.js" defer=""></script><script src="/_next/static/chunks/pages/_error-d39607a4676a4aa5.js" defer=""></script><script src="/_next/static/jtIXjBUjrATfh0Er1orzc/_buildManifest.js" defer=""></script><script src="/_next/static/jtIXjBUjrATfh0Er1orzc/_ssgManifest.js" defer=""></script><script src="/_next/static/jtIXjBUjrATfh0Er1orzc/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div><div style="color:#000;background:#fff;font-family:-apple-system, BlinkMacSystemFont, Roboto, &quot;Segoe UI&quot;, &quot;Fira Sans&quot;, Avenir, &quot;Helvetica Neue&quot;, &quot;Lucida Grande&quot;, sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body { margin: 0 }</style><h1 style="display:inline-block;border-right:1px solid rgba(0, 0, 0,.3);margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.</h2></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"jtIXjBUjrATfh0Er1orzc","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>

0
static/admin/_next/static/chunks/1080-1a127ea7f5a8eb3d.js → static/web/_next/static/chunks/1080-1a127ea7f5a8eb3d.js

1
static/web/_next/static/chunks/1213-222f826f28b9c729.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/1598-ffd88763d04c8753.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/1829-95952d6b244c7989.js

File diff suppressed because one or more lines are too long

2
static/admin/_next/static/chunks/2429-ccb4d7fa1648dd38.js → static/web/_next/static/chunks/2429-bed6478ce3518dc3.js

File diff suppressed because one or more lines are too long

0
static/admin/_next/static/chunks/29107295-4a69275373f23f88.js → static/web/_next/static/chunks/29107295-4a69275373f23f88.js

1
static/web/_next/static/chunks/3016-4f8191e21aac2f28.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/3471-5307c93ff9e09c03.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/3660-8ac106c3c9d23701.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/3698-ab9819fb276ecdca.js

File diff suppressed because one or more lines are too long

0
static/admin/_next/static/chunks/36bcf0ca-110fd889741d5f41.js → static/web/_next/static/chunks/36bcf0ca-110fd889741d5f41.js

2
static/admin/_next/static/chunks/1017-0760c7f39ffcc2a7.js → static/web/_next/static/chunks/3808-976f0efc85a7b400.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/4578-831921ce261f0555.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/4713-0a995d2f60177479.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/4763-8dc128557021d75d.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/5046-048bb1ea8f22db65.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/5473-8245209200d9ae6a.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/5938-e5330874590115f8.js

@ -0,0 +1 @@ @@ -0,0 +1 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5938],{49474:function(t,r,n){n.d(r,{Z:function(){return o}});var e=n(19013),a=n(13882);function o(t,r){(0,a.Z)(2,arguments);var n=(0,e.Z)(t),o=(0,e.Z)(r),u=n.getTime()-o.getTime();return u<0?-1:u>0?1:u}},82161:function(t,r,n){n.d(r,{Z:function(){return c}});var e=n(19013),a=n(13882);function o(t,r){(0,a.Z)(2,arguments);var n=(0,e.Z)(t),o=(0,e.Z)(r),u=n.getFullYear()-o.getFullYear(),i=n.getMonth()-o.getMonth();return 12*u+i}var u=n(49474);function i(t){(0,a.Z)(1,arguments);var r=(0,e.Z)(t);return r.setHours(23,59,59,999),r}function s(t){(0,a.Z)(1,arguments);var r=(0,e.Z)(t),n=r.getMonth();return r.setFullYear(r.getFullYear(),n+1,0),r.setHours(23,59,59,999),r}function f(t){(0,a.Z)(1,arguments);var r=(0,e.Z)(t);return i(r).getTime()===s(r).getTime()}function c(t,r){(0,a.Z)(2,arguments);var n,i=(0,e.Z)(t),s=(0,e.Z)(r),c=(0,u.Z)(i,s),l=Math.abs(o(i,s));if(l<1)n=0;else{1===i.getMonth()&&i.getDate()>27&&i.setDate(30),i.setMonth(i.getMonth()-c*l);var Z=(0,u.Z)(i,s)===-c;f((0,e.Z)(t))&&1===l&&1===(0,u.Z)(t,s)&&(Z=!1),n=c*(l-Number(Z))}return 0===n?0:n}},45938:function(t,r,n){n.d(r,{Z:function(){return m}});var e=n(49474),a=n(82161),o=n(11699),u=n(35077),i=n(19013);function s(t){return function(t,r){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in r=r||{})Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n]);return t}({},t)}var f=n(24262),c=n(13882),l=1440,Z=43200;function h(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,c.Z)(2,arguments);var h=n.locale||u.Z;if(!h.formatDistance)throw new RangeError("locale must contain formatDistance property");var m=(0,e.Z)(t,r);if(isNaN(m))throw new RangeError("Invalid time value");var v,D,d=s(n);d.addSuffix=Boolean(n.addSuffix),d.comparison=m,m>0?(v=(0,i.Z)(r),D=(0,i.Z)(t)):(v=(0,i.Z)(t),D=(0,i.Z)(r));var M,g=(0,o.Z)(D,v),p=((0,f.Z)(D)-(0,f.Z)(v))/1e3,X=Math.round((g-p)/60);if(X<2)return n.includeSeconds?g<5?h.formatDistance("lessThanXSeconds",5,d):g<10?h.formatDistance("lessThanXSeconds",10,d):g<20?h.formatDistance("lessThanXSeconds",20,d):g<40?h.formatDistance("halfAMinute",null,d):g<60?h.formatDistance("lessThanXMinutes",1,d):h.formatDistance("xMinutes",1,d):0===X?h.formatDistance("lessThanXMinutes",1,d):h.formatDistance("xMinutes",X,d);if(X<45)return h.formatDistance("xMinutes",X,d);if(X<90)return h.formatDistance("aboutXHours",1,d);if(X<l){var b=Math.round(X/60);return h.formatDistance("aboutXHours",b,d)}if(X<2520)return h.formatDistance("xDays",1,d);if(X<Z){var w=Math.round(X/l);return h.formatDistance("xDays",w,d)}if(X<86400)return M=Math.round(X/Z),h.formatDistance("aboutXMonths",M,d);if((M=(0,a.Z)(D,v))<12){var T=Math.round(X/Z);return h.formatDistance("xMonths",T,d)}var x=M%12,Y=Math.floor(M/12);return x<3?h.formatDistance("aboutXYears",Y,d):x<9?h.formatDistance("overXYears",Y,d):h.formatDistance("almostXYears",Y+1,d)}function m(t,r){return(0,c.Z)(1,arguments),h(t,Date.now(),r)}}}]);

1
static/web/_next/static/chunks/6441-fec512f655f643f5.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/7610.d72c9e9827c8fd4d.js

File diff suppressed because one or more lines are too long

2
static/admin/_next/static/chunks/7751-48959ec0f11e9080.js → static/web/_next/static/chunks/7751-caefc9c45cf82ac8.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/7910-82406f9d3ddb7107.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/7961-a0c15d45b4b858bb.js

File diff suppressed because one or more lines are too long

1
static/web/_next/static/chunks/8147-c5d041f17c7deaaf.js

File diff suppressed because one or more lines are too long

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

Loading…
Cancel
Save