Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tauri #753

Merged
merged 64 commits into from
Jun 13, 2024
Merged

Tauri #753

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
1a096db
Tauri
martpie Mar 15, 2024
f1acfb9
Merge strum dependencies
uklotzde Mar 17, 2024
aee96cd
Disable unused tokio features
uklotzde Mar 17, 2024
90514db
Capture logs while initializing plugins (#749)
uklotzde Mar 17, 2024
e27d5a2
Replace "macos" with "app-close" plugin (#750)
uklotzde Mar 17, 2024
0fdad50
Fix build after removing strum_macros from dependencies (#754)
uklotzde Mar 17, 2024
ceb0438
Fix localstorage persistence on macOS (#756)
martpie Mar 17, 2024
de9e36b
Use app_local_data_dir() for database (#757)
uklotzde Mar 18, 2024
5ca4449
Update Dependencies (#758)
martpie Mar 20, 2024
77e91c4
Unify logging between Tauri/Front-End, remove pino (#760)
martpie Mar 28, 2024
77d5570
[Tauri] DB leftovers (#761)
martpie Mar 29, 2024
6892ded
[Tauri] Working CI (#762)
martpie Mar 29, 2024
c91e9fb
[Tauri] Press Alt to toggle the window menu (#763)
martpie Mar 29, 2024
3274691
Fix EOLs (#764)
martpie Mar 30, 2024
799ca5f
Rename lib/library to lib/database + extract getCover
martpie Mar 30, 2024
21a1469
Update dependencies
martpie Mar 31, 2024
016490c
Fix listen/emit warnings
martpie Mar 31, 2024
1cb58ff
Fix initial page load on Windows
martpie Mar 31, 2024
2a68518
[Tauri] Playlist exports
martpie Apr 1, 2024
75bca10
[Tauri] Auto-import .m3u files on library scan
martpie Apr 1, 2024
0f313e5
Use references when possible in database helpers
martpie Apr 1, 2024
3f79ebd
Fix again the "delete last playlist" crash
martpie Apr 1, 2024
3eec565
Better Gen (#766)
martpie Apr 1, 2024
8f2b40c
Change identifier "io.museeks.app" to "Museeks"
martpie Apr 2, 2024
2f8012c
Fix unused variable warning on production build
martpie Apr 2, 2024
971a6ba
Remove code that should not have been committed
martpie Apr 2, 2024
3c568a1
Create buttons to open config & local data directories
martpie Apr 2, 2024
3b3d0cd
Harmonize settings spacings
martpie Apr 2, 2024
a775cc2
Improve the error message when a release check fails
martpie Apr 2, 2024
a1a12c5
Fix infinite reloads when saving a CSS file
martpie Apr 2, 2024
b6ab6b3
Fix typings
martpie Apr 2, 2024
7db607e
Store all data (config + db) in the same directory
martpie Apr 2, 2024
5f46d35
Remove unused import
martpie Apr 2, 2024
dbcb2f0
Use margin-less app icon on Linux + Windows
martpie Apr 2, 2024
47cb382
Fix audio devices empty state on Windows
martpie Apr 2, 2024
96286d6
Fix tracks not being playable on large libraries
martpie Apr 2, 2024
5ce99d4
Update Tauri dependencies
martpie Apr 3, 2024
e80381b
Revert "Update Tauri dependencies"
martpie Apr 3, 2024
712598b
Fix drop effect being cropped on playlist reorder
martpie Apr 3, 2024
716be75
Fix playlist reorder doing nonsense
martpie Apr 3, 2024
e8f285e
Prevent the webview from loading an inextisting favicon
martpie Apr 11, 2024
5ac79f1
Ensure Playlists are sorted by name (case-insensitive)
martpie Apr 11, 2024
344c2f0
Adopt Biome, Drop ESLint and Prettier (#770)
martpie Apr 11, 2024
772789d
Update dependencies ([email protected]...)
martpie Apr 15, 2024
952858b
Remove outdated declarations overrides
martpie Apr 17, 2024
dc8a6ca
Get rid of all peerDependencies warnings
martpie Apr 17, 2024
a8a3ae8
Controlled inputs for settings + fixes
martpie Apr 17, 2024
00bf060
Implement menu events for navigation
martpie Apr 21, 2024
803118e
Upgrade to lofty v0.19.0
uklotzde Apr 21, 2024
0effbe8
Cleanup lofty imports
martpie Apr 22, 2024
8595237
Get rid of glob imports
martpie Apr 22, 2024
9ffa495
Update window + help menus, enable zoom shortcuts
martpie Apr 23, 2024
90f2b76
Update dependencies
martpie Apr 23, 2024
0a0fe86
Re-generate cargo.lock
martpie Apr 23, 2024
2bee4f4
Make Config methods return Results
martpie Apr 23, 2024
385304a
Fix default view <select> not updating after change
martpie Apr 23, 2024
d933230
Fix infinite event loop preventing next track to play
martpie Apr 24, 2024
9fee86b
Add "reload" + "toggle devtools" in View menu
martpie Apr 24, 2024
e57b54e
Attempt to try to fix track progress going over duration
martpie Apr 24, 2024
37056d9
Optimize large playlists retrievals
martpie Apr 25, 2024
29ca3de
Fix crash when opening the storage folder twice on windows
martpie May 16, 2024
7c1b0fb
Update dependencies
martpie May 27, 2024
837c0d5
Fix formatting
martpie May 28, 2024
4aa5da6
Update dependencies (fix drag-region on Windows)
martpie May 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .eslintignore

This file was deleted.

40 changes: 0 additions & 40 deletions .eslintrc.js

This file was deleted.

170 changes: 42 additions & 128 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,32 +17,32 @@ concurrency:

jobs:
qa:
# Let's implement different jobs for Windows and Linux at some point, especially for packaging scripts
runs-on: ubuntu-latest
# For QA (lint, test, etc), Linux is enough
# https://github.com/tauri-apps/tauri-action/issues/745#issuecomment-2024998604
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Use Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 20.x
node-version: 20

- name: Display Node.js and npm informations
- uses: actions-rust-lang/setup-rust-toolchain@v1

- name: Install dependencies (ubuntu only)
run: |
echo "node version $(node -v) running"
echo "npm version $(npm -v) running"
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: 'Test: formatting'
run: 'yarn run test:formatting'

- name: 'Test: typings'
run: 'yarn run test:typings'
- name: 'Test: Rust (+ Generate Types)'
run: yarn run gen

- name: 'Test: TS/JS linting'
- name: 'Test: TS/JS linting & formatting'
run: 'yarn run test:lint'

- name: 'Test: CSS linting'
Expand All @@ -51,138 +51,52 @@ jobs:
- name: 'Test: unit'
run: 'yarn run test:unit'

- name: 'Test: Types'
run: 'yarn run test:typings'

- name: Build application
run: yarn run build

- uses: actions/upload-artifact@v3
with:
name: application-build
path: dist/
# Check one of the command above did not generate any unexpected artifacts
# (like types generation)
- uses: CatChen/check-git-status-action@v1

# Documentation on environments:
# https://docs.github.com/en/free-pro-team@latest/actions/reference/specifications-for-github-hosted-runners

binaries-linux:
runs-on: ubuntu-latest
needs: [qa]
binaries:
needs: qa

steps:
- uses: actions/checkout@v3

- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 20.x

- name: Display Node.js and npm informations
run: |
echo "node version $(node -v) running"
echo "npm version $(npm -v) running"

- uses: actions/download-artifact@v3
with:
name: application-build
path: dist/

- name: Install Linux dependencies
run: |
sudo apt update
sudo apt install --no-install-recommends -y libopenjp2-tools rpm gcc-multilib g++-multilib

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Package Linux binaries
# - name: Package Linux/Windows binaries
run: yarn run package:l
# run: yarn run package:lw
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/upload-artifact@v3
with:
name: binaries-linux
path: |
build/museeks-linux-i386.deb
build/museeks-linux-amd64.deb
build/museeks-linux-i386.AppImage
build/museeks-linux-x86_64.AppImage
build/museeks-linux-i686.rpm
build/museeks-linux-x86_64.rpm
build/museeks-linux-x64.tar.gz

binaries-macos:
runs-on: macos-latest
needs: [qa]
permissions:
contents: write
strategy:
fail-fast: false
matrix:
platform: [macos-latest, ubuntu-22.04, windows-latest]

runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3

- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 20.x

- name: Display Node.js and npm informations
run: |
echo "node version $(node -v) running"
echo "npm version $(npm -v) running"

- uses: actions/download-artifact@v3
with:
name: application-build
path: dist/

- name: Install production dependencies
run: yarn install --frozen-lockfile

- name: Package macOS binaries
run: yarn run package:m
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_LINK: ${{ secrets.CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
- uses: actions/checkout@v4

- uses: actions/upload-artifact@v3
- name: setup node
uses: actions/setup-node@v4
with:
name: binaries-macos
path: |
build/museeks-macos-arm64.dmg
build/museeks-macos-x64.dmg

binaries-windows:
runs-on: windows-latest
needs: [qa]
node-version: 20

steps:
- uses: actions/checkout@v3
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable

- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 20.x

- name: Display Node.js and npm informations
- name: Install native dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-22.04'
run: |
echo "node version $(node -v) running"
echo "npm version $(npm -v) running"

- uses: actions/download-artifact@v3
with:
name: application-build
path: dist/
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

- name: Install dependencies
- name: Install frontend dependencies
run: yarn install --frozen-lockfile

- name: Package Windows binaries
run: yarn run package:w
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/upload-artifact@v3
with:
name: binaries-windows
path: |
build/museeks-win-x64-setup.exe
build/museeks-win-x64-portable.exe
includeUpdaterJson: false
75 changes: 17 additions & 58 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,65 +4,24 @@ logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock
node_modules
dist
dist-ssr
*.local

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Typescript v1 declaration files
typings/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env

dist/main/*
dist/renderer/*
dist/preload/*
cache/
build/
.vscode
# Editor directories and files
.vscode/*
!.vscode/extensions.json

.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# Generated files
src-tauri/gen
4 changes: 0 additions & 4 deletions .prettierignore

This file was deleted.

3 changes: 0 additions & 3 deletions .prettierrc

This file was deleted.

10 changes: 5 additions & 5 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"csstools.postcss",
"esbenp.prettier-vscode",
"stylelint.vscode-stylelint",
"ZixuanChen.vitest-explorer"
"biomejs.biome",
"vunguyentuan.vscode-postcss",
"stylelint.vscode-stylelint",
"tauri-apps.tauri-vscode",
"rust-lang.rust-analyzer"
]
}
Loading
Loading