Skip to content

Commit f834f8b

Browse files
committed
Merge remote-tracking branch 'upstream/master' into version-aware-skip
2 parents 9296ce4 + a35c68e commit f834f8b

427 files changed

Lines changed: 4959 additions & 3350 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/__automation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
name: Merge conflict labeling 🏷️
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: eps1lon/actions-label-merge-conflict@1df065ebe6e3310545d4f4c4e862e43bdca146f0 # v3.0.3
14+
- uses: eps1lon/actions-label-merge-conflict@0273be72a0bbd58fcd71d0d6c02c209b50d1e5e1 # v3.1.0
1515
with:
1616
dirtyLabel: 'merge conflict'
1717
commentOnDirty: 'This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.'

.github/workflows/__codeql.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,21 @@ jobs:
2020

2121
steps:
2222
- name: Checkout repository ⬇️
23-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
23+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
2424
with:
2525
ref: ${{ inputs.commit }}
2626
show-progress: false
2727

2828
- name: Initialize CodeQL 🛠️
29-
uses: github/codeql-action/init@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
29+
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
3030
with:
3131
queries: security-and-quality
3232
languages: ${{ matrix.language }}
3333

3434
- name: Autobuild 📦
35-
uses: github/codeql-action/autobuild@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
35+
uses: github/codeql-action/autobuild@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
3636

3737
- name: Perform CodeQL Analysis 🧪
38-
uses: github/codeql-action/analyze@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1
38+
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
3939
with:
4040
category: '/language:${{matrix.language}}'

.github/workflows/__deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
github-token: ${{ github.token }}
6363

6464
- name: Publish to Cloudflare Pages 📃
65-
uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3.14.1
65+
uses: cloudflare/wrangler-action@9acf94ace14e7dc412b076f2c5c20b8ce93c79cd # v3.15.0
6666
id: cf
6767
with:
6868
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}

.github/workflows/__package.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ jobs:
1414

1515
steps:
1616
- name: Check out Git repository
17-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
17+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
1818
with:
1919
ref: ${{ inputs.commit || github.sha }}
2020

2121
- name: Setup node environment
22-
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
22+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
2323
with:
2424
node-version-file: .nvmrc
2525
cache: npm
@@ -39,7 +39,7 @@ jobs:
3939
mv dist/config.tmp.json dist/config.json
4040
4141
- name: Upload artifact
42-
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
42+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
4343
with:
4444
name: frontend
4545
path: dist

.github/workflows/__quality_checks.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Checkout Repository
17-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
17+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
1818
with:
1919
ref: ${{ inputs.commit }}
2020
show-progress: false
@@ -42,13 +42,13 @@ jobs:
4242

4343
steps:
4444
- name: Checkout ⬇️
45-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
45+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
4646
with:
4747
ref: ${{ inputs.commit }}
4848
show-progress: false
4949

5050
- name: Setup node environment ⚙️
51-
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
51+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
5252
with:
5353
node-version-file: .nvmrc
5454
cache: npm

.github/workflows/pull_request.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ jobs:
4646

4747
steps:
4848
- name: Check out Git repository
49-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
49+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
5050
with:
5151
ref: ${{ github.event.pull_request.head.sha }}
5252

5353
- name: Setup node environment
54-
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
54+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
5555
with:
5656
node-version-file: .nvmrc
5757
cache: npm
@@ -61,6 +61,6 @@ jobs:
6161
run: npm ci --no-audit
6262

6363
- name: Run eslint
64-
uses: CatChen/eslint-suggestion-action@efbe3942e76df120000621539d93ce7e0b54f7a7 # v4.1.27
64+
uses: CatChen/eslint-suggestion-action@2b07b898c0dd5a016586d22b54282199b79cd358 # v4.1.33
6565
with:
6666
github-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/schedule.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
if: ${{ contains(github.repository, 'jellyfin/') }}
1616
steps:
17-
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
17+
- uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0
1818
with:
1919
repo-token: ${{ secrets.JF_BOT_TOKEN }}
2020
operations-per-run: 75

CONTRIBUTING.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ If you have any questions, please join one of our [development chat rooms](https
1212

1313
* New files **MUST** be written in TypeScript.
1414
* API interactions **MUST** be made using the Jellyfin TypeScript SDK.
15+
* New app pages **MUST** be written using React components using `src/components/Page.tsx` as the base component.
1516
* **SHOULD** be covered by unit tests when possible (legacy component/view code is deemed untestable).
1617
* **SHOULD** avoid whitespace only changes in unchanged sections of code.
1718
* **SHOULD NOT** overuse dynamic imports. We use dynamic imports at the page level; otherwise we should let our build tooling deal with code-splitting for the best bundle sizes.
@@ -30,6 +31,7 @@ If you have any questions, please join one of our [development chat rooms](https
3031
* **SHOULD NOT** rebase once reviews are in progress.
3132
* **MUST** follow the [LLM development policy](https://jellyfin.org/docs/general/contributing/llm-policies).
3233
* **MUST** test that the change works as expected before marking a PR as ready for review.
34+
* **MUST** fully complete the PR template. Failing to do so will result in the PR being closed as invalid without review.
3335
* **SHOULD** represent a singular focus (i.e. a PR to fix a bug should not include unrelated refactoring).
3436
* **SHOULD NOT** update from `master` needlessly once opened (only update if conflicts exist).
3537

@@ -51,15 +53,15 @@ You may be asked to update your Pull Request to target a release branch as part
5153
* [React](https://react.dev/reference/react) — User Interface library
5254
* [React Router](https://reactrouter.com/) — Routing library
5355
* [TanStack Query](https://tanstack.com/query/latest/docs/framework/react/overview) — State management library for server data
54-
* [MUI](https://mui.com/material-ui/getting-started/) components (in Dashboard and Experimental layouts) — UI component library
56+
* [MUI](https://mui.com/material-ui/getting-started/) components (in Dashboard and Modern layouts) — UI component library
5557
* [Webpack](https://webpack.js.org/concepts/) — Bundler / build tooling
5658
* [Vitest](https://vitest.dev/api/) — Test library
5759

5860
#### Legacy Stack
5961

6062
| Library | Replacement |
6163
| --- | --- |
62-
| [Emby WebComponents](./src/elements) | MUI components (Dashboard + Experimental apps ONLY; Untested on TVs) |
64+
| [Emby WebComponents](./src/elements) | MUI components (Dashboard + Modern apps ONLY; Untested on TVs) |
6365
| [App Router](./src/components/router/appRouter.js) | React Router |
6466
| [View Manager](./src/components/viewManager) | React Router |
6567
| [Jellyfin ApiClient](https://github.com/jellyfin-archive/jellyfin-apiclient-javascript) | Jellyfin TypeScript SDK |
@@ -73,13 +75,13 @@ The official list of supported browser versions can be found in the `browserlist
7375

7476
## Application Components
7577

76-
* Stable App `src/apps/stable`
78+
* Modern App `src/apps/modern`
79+
* Ongoing rewrite of the main user interface using MUI components
80+
* Currently reuses content from the Legacy App to maintain parity
81+
* Does not currently support TV layout!
82+
* Legacy App `src/apps/legacy`
7783
* Main user application
7884
* Supports TV layout
79-
* Experimental App `src/apps/experimental`
80-
* Ongoing rewrite of the Stable App using MUI components
81-
* Currently reuses (most) pages from the Stable App to maintain parity
82-
* Does not currently support TV layout!
8385
* Dashboard App `src/apps/dashboard`
8486
* Admin dashboard and metadata editor pages
8587
* Almost completely rewritten using MUI components
@@ -103,13 +105,12 @@ The official list of supported browser versions can be found in the `browserlist
103105
└── src
104106
├── apps
105107
│   ├── dashboard # Admin dashboard app
106-
│   ├── experimental # New experimental app
107-
│   ├── stable # Classic (stable) app
108+
│   ├── legacy # Legacy app
109+
│   ├── modern # New modern (React based) app
108110
│   └── wizard # Startup wizard app
109111
├── assets # Static assets
110112
├── components # Higher order visual components and React components
111113
├── constants # Common constant values
112-
├── controllers # Legacy page views and controllers 🧹 ❌
113114
├── elements # Basic webcomponents and React equivalents 🧹
114115
├── hooks # Custom React hooks
115116
├── lib # Reusable libraries

CONTRIBUTORS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,8 @@
107107
- [Lampan-git](https://github.com/Lampan-git)
108108
- [lmaotrigine](https://github.com/lmaotrigine)
109109
- [bjorntp](https://github.com/bjorntp)
110+
- [austinhardaway](https://github.com/austinhardaway)
111+
- [shindouj](https://github.com/shindouj)
110112

111113
## Emby Contributors
112114

eslint.config.mjs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ export default tseslint.config(
5959
'new-cap': [
6060
'error',
6161
{
62-
'capIsNewExceptions': ['jQuery.Deferred'],
6362
'newIsCapExceptionPattern': String.raw`\.default$`
6463
}
6564
],

0 commit comments

Comments
 (0)