Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
3f3e6b4
Move App into subfolder
CBx0-dev Apr 20, 2026
2551a39
Init dotnet project
CBx0-dev Apr 20, 2026
627a77c
Implement basic API layout
CBx0-dev Apr 20, 2026
56effba
Basic EFCore integration
CBx0-dev Apr 20, 2026
13f6a18
Fix I18n code generation
CBx0-dev Apr 20, 2026
167f394
Exclude migration to dedicated files
CBx0-dev Apr 20, 2026
04cf25a
Rename sqlite to standalone migration
CBx0-dev Apr 20, 2026
3be48b9
Add sqlite migration
CBx0-dev Apr 20, 2026
f653765
Continue work on basic rest API
CBx0-dev Apr 20, 2026
9e6fac6
Setup sqlite schema
CBx0-dev Apr 21, 2026
f65ad6f
Better DB access
CBx0-dev Apr 22, 2026
2413af8
Implement Genre Service
CBx0-dev Apr 22, 2026
7a440a4
Update Model
CBx0-dev Apr 22, 2026
e40c161
Add Models
CBx0-dev Apr 22, 2026
68ea0d4
Make prop nullable
CBx0-dev Apr 22, 2026
a369baa
Add models as DbSet
CBx0-dev Apr 22, 2026
565a31e
Add Series Service
CBx0-dev Apr 22, 2026
5bbc92e
Add service to Loader
CBx0-dev Apr 22, 2026
3ec5f5e
Make class sealed
CBx0-dev Apr 22, 2026
a06bc2e
Use define single GetChunk method
CBx0-dev Apr 22, 2026
95be33d
Implement Series controller
CBx0-dev Apr 22, 2026
fec2715
Add snake policy for scalar
CBx0-dev Apr 22, 2026
4011054
Reformat file
CBx0-dev Apr 22, 2026
6155326
Implement Season service
CBx0-dev Apr 22, 2026
109f701
Implement Season routes
CBx0-dev Apr 22, 2026
60dcd15
Add missing property
CBx0-dev Apr 22, 2026
d934735
Implement episode service
CBx0-dev Apr 22, 2026
3b9f8e2
Better http layer
CBx0-dev Apr 25, 2026
9f3cd58
Implement base service
CBx0-dev Apr 25, 2026
4fc21d2
Work on API
CBx0-dev Apr 25, 2026
2d16c8b
Connect backend with client services
CBx0-dev Apr 25, 2026
29cf692
Update CD
CBx0-dev Apr 25, 2026
2d96cd7
Update CD
CBx0-dev Apr 25, 2026
60e2d25
Define ListService contract
CBx0-dev Apr 25, 2026
ab9b109
Add unittests
CBx0-dev Apr 27, 2026
2b267f4
Set cache path
CBx0-dev Apr 27, 2026
7fe6452
Add Client build to test
CBx0-dev Apr 27, 2026
7274c1c
Run unittest in CI
CBx0-dev Apr 27, 2026
78d2ad6
Implement basic testing suite
CBx0-dev Apr 27, 2026
415e135
Implement List service and controller
CBx0-dev Apr 27, 2026
d38ccce
Add tests for ListService
CBx0-dev Apr 27, 2026
306b617
Remove Rider config file
CBx0-dev Apr 27, 2026
dc0fb8a
Remove rider config
CBx0-dev Apr 27, 2026
f4ecbbf
Finalize basic testing suite
CBx0-dev May 4, 2026
e3cfc14
Add Tests for App
CBx0-dev May 4, 2026
bcc8484
Remove comment
CBx0-dev May 4, 2026
66bc3aa
Import only required harness suite
CBx0-dev May 4, 2026
f4f0447
Update test suite
CBx0-dev May 4, 2026
ae28d2f
Implement user service shape
CBx0-dev May 4, 2026
e8038ce
Remove redundant null-forgiving operators in tests
CBx0-dev May 18, 2026
b4b6894
Add testing infrastructure and integration project
CBx0-dev May 18, 2026
a017a2b
Update profile models and services
CBx0-dev May 18, 2026
c20ce83
Enhance testing infrastructure
CBx0-dev May 18, 2026
d9fbe15
Update config files
CBx0-dev May 18, 2026
97cea96
Add client API contract
CBx0-dev May 18, 2026
fcdbfad
Implement WatchTimeModel
CBx0-dev May 18, 2026
13065c5
Implement GetStartedSeries method
CBx0-dev May 18, 2026
2f128c7
Implement services
CBx0-dev May 20, 2026
55b9784
Remove required testing methods in production and developement
CBx0-dev May 20, 2026
8a40015
Implement Episode Service
CBx0-dev May 22, 2026
4b732f7
Resolve building errors
CBx0-dev May 22, 2026
4f8ef92
Setup C# in App unittests
CBx0-dev May 22, 2026
3831bed
Fix unittest
CBx0-dev May 22, 2026
f97769c
Start test backend only when testing client mode
CBx0-dev May 22, 2026
f693283
Make update service a shared service
CBx0-dev May 23, 2026
b7ff35e
Add client target to type
CBx0-dev May 23, 2026
056f9d2
Add profile update routes
CBx0-dev May 23, 2026
ca9a953
Fix Backend unknown Media-Type Error
CBx0-dev May 29, 2026
d15ca5d
Add flags for current running mode
CBx0-dev May 29, 2026
6cd8afe
Add Http logging
CBx0-dev May 29, 2026
4ee0613
Allow any port in Tauri
CBx0-dev May 29, 2026
edcc584
Implement Resource routes
CBx0-dev May 29, 2026
6a09fef
Open devTools automatically in devMode
CBx0-dev May 29, 2026
ec68109
Add authentication and logout
CBx0-dev May 29, 2026
adfc997
Store boolean values as integers and not as strings
CBx0-dev May 29, 2026
ed88e8c
Allow unauthenticated access
CBx0-dev May 29, 2026
833ef75
Prevent recursive errors in report dialogs
CBx0-dev May 29, 2026
e089fc5
Fix DB migration
CBx0-dev May 29, 2026
24b6c18
Fix column registration
CBx0-dev May 29, 2026
666a53d
Replace provider storage locator with central resource service
CBx0-dev May 29, 2026
6323522
Ignore series sync in client version
CBx0-dev May 29, 2026
a334088
Implement empty fetch service
CBx0-dev May 29, 2026
ce6950b
Add Watchlist service
CBx0-dev May 29, 2026
27849be
Increment retries
CBx0-dev May 29, 2026
2b812f6
Increment the correct wait point
CBx0-dev May 29, 2026
ccddbb4
Add missing env variable
CBx0-dev May 29, 2026
866d545
Filter after tenants
CBx0-dev May 30, 2026
19f4cbb
Fix routing and response errors
CBx0-dev May 30, 2026
2d6a9cc
Add Backend unittests
CBx0-dev May 30, 2026
9e77204
Add watchlist service
CBx0-dev May 30, 2026
4a5b5c1
Add watchlist tests
CBx0-dev May 30, 2026
662efba
Only return the first four preview hashes
CBx0-dev May 30, 2026
36805e6
Use async operations
CBx0-dev May 30, 2026
7ff804c
Rename test
CBx0-dev May 30, 2026
312c1ae
Send null if genre ids are empty
CBx0-dev May 30, 2026
fb22581
Replace integer with double precision
CBx0-dev Jun 1, 2026
e4fede9
Ignore closed databases
CBx0-dev Jun 1, 2026
7b928a6
Fix excluding wrong route in prod/dev mode
CBx0-dev Jun 1, 2026
96a2c5b
Make percentage 0-100 based
CBx0-dev Jun 1, 2026
14acc78
Fix ctor order
CBx0-dev Jun 1, 2026
3251574
Fix typo
CBx0-dev Jun 1, 2026
6da6b6d
Add sync required route
CBx0-dev Jun 1, 2026
db500f4
Implement Watchtime service
CBx0-dev Jun 1, 2026
d759955
Add test that determines if all required contracts have an implementa…
CBx0-dev Jun 1, 2026
e8e77e6
Remove comment
CBx0-dev Jun 1, 2026
764a592
Create Backgroun Worker Project
CBx0-dev Jun 1, 2026
d601e6e
Implement Sync service and background worker
CBx0-dev Jun 4, 2026
83c9865
Implement worker target
CBx0-dev Jun 4, 2026
4c3a7f1
Fix joining absolute path
CBx0-dev Jun 6, 2026
f0475b4
Out source previewImage saving.
CBx0-dev Jun 7, 2026
3835265
Use node: prefixed import
CBx0-dev Jun 7, 2026
5572d7f
Make RAII syntax compatible with older WebView versions
CBx0-dev Jun 7, 2026
6a68ec4
Add type definition
CBx0-dev Jun 7, 2026
52643eb
Implement CLI Sidecar
CBx0-dev Jun 7, 2026
3b2c5b0
Use correct column name
CBx0-dev Jun 7, 2026
184fd40
Implement series syncing
CBx0-dev Jun 7, 2026
08feae9
Add missing env
CBx0-dev Jun 7, 2026
97d3054
Restructure project
CBx0-dev Jun 8, 2026
756fab3
Copy Sidecar project to the output
CBx0-dev Jun 8, 2026
e1775df
Prepare for other background tasks
CBx0-dev Jun 27, 2026
a30a7be
Implement provider sync job
CBx0-dev Jun 27, 2026
867b043
Fix minor bugs
CBx0-dev Jun 27, 2026
4b70823
Split sync logic and implement series fetching
CBx0-dev Jun 27, 2026
935f867
New table definitions
CBx0-dev Jun 27, 2026
c49b621
Add password column
CBx0-dev Jun 27, 2026
e585fc0
Implement PIN input
CBx0-dev Jun 27, 2026
72e3692
Implement verification logic
CBx0-dev Jun 27, 2026
2fdd8a2
Update CI
CBx0-dev Jun 27, 2026
f889bd9
Respect new columns in CreateProfile function
CBx0-dev Jun 27, 2026
c08e015
Update CI.yml
CBx0-dev Jun 27, 2026
9c96693
Respect new columns in Test mode
CBx0-dev Jun 27, 2026
1f06a27
Use correct column name
CBx0-dev Jun 27, 2026
b76116f
Modify DTO
CBx0-dev Jun 27, 2026
a82a612
Update settings view
CBx0-dev Jun 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 17 additions & 11 deletions .github/workflows/CD.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:

- name: Ensure changelog exists
run: |
CHANGELOG="changelogs/v${{ github.event.inputs.version }}.md"
CHANGELOG="app/changelogs/v${{ github.event.inputs.version }}.md"
if [ ! -f "$CHANGELOG" ]; then
echo "Missing changelog: $CHANGELOG"
exit 1
Expand All @@ -32,12 +32,13 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: 24
cache-dependency-path: ./app/package-lock.json

- name: Install dependencies
run: npm ci

- name: Run I18n generator
run: node i18n.gen.cjs
run: node app/i18n.gen.cjs

- name: Signing key validation
env:
Expand All @@ -55,16 +56,16 @@ jobs:
echo "Setting version to ${{ github.event.inputs.version }}"

# package.json
jq ".version = \"${{ github.event.inputs.version }}\"" package.json > package.json.tmp
mv package.json.tmp package.json
jq ".version = \"${{ github.event.inputs.version }}\"" app/package.json > app/package.json.tmp
mv app/package.json.tmp app/package.json

# tauri.conf.json (Tauri v2)
jq ".version = \"${{ github.event.inputs.version }}\"" src-tauri/tauri.conf.json > src-tauri/tauri.conf.json.tmp
mv src-tauri/tauri.conf.json.tmp src-tauri/tauri.conf.json
jq ".version = \"${{ github.event.inputs.version }}\"" app/src-tauri/tauri.conf.json > app/src-tauri/tauri.conf.json.tmp
mv app/src-tauri/tauri.conf.json.tmp app/src-tauri/tauri.conf.json

# Cargo.toml (optional but strongly recommended)
sed -i.bak "s/^version = \".*\"/version = \"${{ github.event.inputs.version }}\"/" src-tauri/Cargo.toml || true
rm -f src-tauri/Cargo.toml.bak
sed -i.bak "s/^version = \".*\"/version = \"${{ github.event.inputs.version }}\"/" app/src-tauri/Cargo.toml || true
rm -f app/src-tauri/Cargo.toml.bak

echo "✅ Versions updated"

Expand Down Expand Up @@ -109,7 +110,7 @@ jobs:
id: changelog
shell: bash
run: |
CHANGELOG=$(cat changelogs/v${{ github.event.inputs.version }}.md)
CHANGELOG=$(cat app/changelogs/v${{ github.event.inputs.version }}.md)

{
echo "content<<EOF"
Expand Down Expand Up @@ -144,10 +145,14 @@ jobs:
build-essential

- name: Install dependencies
run: npm ci
run: |
cd app
npm ci

- name: Run I18n generator
run: node i18n.gen.cjs
run: |
cd app
node i18n.gen.cjs

- name: Build Application
uses: tauri-apps/tauri-action@v0
Expand All @@ -165,3 +170,4 @@ jobs:
releaseDraft: true
prerelease: false
args: ${{ matrix.args }}
projectPath: ./app
49 changes: 44 additions & 5 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ on:
branches: [ main, master ]

jobs:
build:
app_unittest:
name: Test App (${{ matrix.target }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target: ["standalone"]
target: ["standalone", "client"]
steps:
- uses: actions/checkout@v4

Expand All @@ -20,14 +22,51 @@ jobs:
with:
node-version: '24'
cache: 'npm'
cache-dependency-path: 'app/package-lock.json'

- name: Setup ASP.NET Core
if: ${{ matrix.target == 'client' }}
uses: actions/setup-dotnet@v5
with:
dotnet-version: '9.0.x'

- name: Install dependencies
run: npm ci
run: |
cd app
npm ci

- name: Run I18n generator
run: node i18n.gen.cjs
run: node app/i18n.gen.cjs

- name: Build
- name: Build Frontend
run: |
cd app
export APPLICATION_TARGET="${{ matrix.target }}"
npm run build

- name: Build Backend
if: ${{ matrix.target == 'client' }}
run: dotnet build ./AniStream.slnx -c Test

- name: Run Unit tests
run: |
cd app
export APPLICATION_TARGET="${{ matrix.target }}"
npm test

server_unittest:
name: Test Server
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup ASP.NET Core
uses: actions/setup-dotnet@v5
with:
dotnet-version: '9.0.x'

- name: Build Solution
run: dotnet build ./AniStream.slnx

- name: Run Unit tests
run: dotnet test ./AniStream.slnx --no-build
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,18 @@ dist-ssr
*.local

# Editor directories and files
.vscode/*
.vscode
.idea
AniStream.sln.DotSettings.user
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

src/utils/i18n.ts
bin
obj
tmp

app/src/utils/i18n.ts
7 changes: 7 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"recommendations": [
"Vue.volar",
"tauri-apps.tauri-vscode",
"rust-lang.rust-analyzer"
]
}
20 changes: 20 additions & 0 deletions AniStream.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<Solution>
<Folder Name="/server/">
<Project Path="server/AniStream.Integration/AniStream.Integration.csproj"/>
<Project Path="server/AniStream.Models/AniStream.Models.csproj"/>
<Project Path="server/AniStream.Services/AniStream.Services.csproj"/>
<Project Path="server/AniStream.Shared/AniStream.Shared.csproj">
<BuildType Solution="Test|*" Project="Debug"/>
</Project>
<Project Path="server/AniStream.Tests/AniStream.Tests.csproj"/>
<Project Path="server/AniStream.Worker/AniStream.Worker.csproj">
<BuildType Solution="Test|*" Project="Debug"/>
</Project>
<Project Path="server/AniStream/AniStream.csproj"/>
</Folder>
<Configurations>
<BuildType Name="Test"/>
<BuildType Name="Debug"/>
<BuildType Name="Release"/>
</Configurations>
</Solution>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading
Loading