Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
3f30d28
Merge pull request #180 from Sandakan/patch-release
Sandakan May 28, 2023
674c24f
Updated to v2.2.0-stable.20230528
Sandakan May 28, 2023
ce17f0d
Merge pull request #182 from Sandakan/minor-release
Sandakan May 28, 2023
152e1b3
Added support for more audio codecs through Howler
Sandakan May 29, 2023
b92be59
Updated to v2.2.0-stable.20230530
Sandakan May 30, 2023
03c8ae1
Workflow fixes
Sandakan May 30, 2023
f9f1950
Updated to v2.3.0-stable.20230531
Sandakan May 31, 2023
bf2f282
Updated to v2.3.0-stable.20230601
Sandakan Jun 1, 2023
43db93f
Updated to v2.3.0-stable.20230602
Sandakan Jun 2, 2023
41b6c7d
Updated to v2.3.0-stable.20230607
Sandakan Jun 7, 2023
2e187f5
Merge branch 'howler' into minor-release
Sandakan Jun 7, 2023
35da6b5
Revert "Support for additional audio codecs using Howler."
Sandakan Jun 7, 2023
a544af4
Merge pull request #186 from Sandakan/revert-183-howler
Sandakan Jun 7, 2023
5c5a51f
Updated to v2.3.0-stable.20230609
Sandakan Jun 9, 2023
32006d3
Updated to v2.3.0-stable.20230615
Sandakan Jun 15, 2023
0aad9e5
Updated to v2.3.0-stable.202030624
Sandakan Jun 24, 2023
7f7b80c
Updated to v2.3.0-stable.20230630
Sandakan Jun 30, 2023
8f57cb0
v2.3.0-stable release finalization
Sandakan Jun 30, 2023
116e035
Fixed incorrect release date timestamp.
Sandakan Jun 30, 2023
0046122
Merge pull request #181 from Sandakan/minor-release
Sandakan Jun 30, 2023
df8bc96
Updated to v2.4.0-stable.20230716
Sandakan Jul 16, 2023
0f56f82
Updated to v2.4.0-stable.20230723
Sandakan Jul 23, 2023
90ffc0d
Updated to v2.4.0-stable.20230730
Sandakan Jul 30, 2023
eeb17ff
Updated to v2.4.0-stable.20230731
Sandakan Jul 31, 2023
c97f033
Updated to v2.4.0.-stable.20230820
Sandakan Aug 20, 2023
e3d8e7b
Updated to v2.4.0-stable.202030823
Sandakan Aug 23, 2023
eca24e3
Updated to v2.4.0-stable.20230825
Sandakan Aug 25, 2023
424b4af
Updated to v2.4.0-stable.20230830
Sandakan Aug 30, 2023
275b39f
Updated to v2.4.0-stable.20230903
Sandakan Sep 3, 2023
b28e6b0
Updated to v2.4.0-stable.20230904
Sandakan Sep 4, 2023
72aba95
Updated to v2.4.0-stable.20230908
Sandakan Sep 8, 2023
0d4aa3b
Updated to v2.4.0-stable.20230909
Sandakan Sep 9, 2023
7cf22f1
Release finalization
Sandakan Sep 9, 2023
743b388
Merge pull request #188 from Sandakan/minor-release
Sandakan Sep 9, 2023
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
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .erb/configs/webpack.config.renderer.dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const port = process.env.PORT || 5500;
const manifest = path.resolve(webpackPaths.dllPath, 'renderer.json');
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const requiredByDLLConfig = module.parent!.filename.includes(
'webpack.config.renderer.dev.dll'
'webpack.config.renderer.dev.dll',
);

/**
Expand All @@ -33,8 +33,8 @@ if (
) {
console.log(
chalk.black.bgYellow.bold(
'The DLL files are missing. Sit back while we build them for you with "npm run build-dll"'
)
'The DLL files are missing. Sit back while we build them for you with "npm run build-dll"',
),
);
execSync('npm run postinstall');
}
Expand Down
8 changes: 4 additions & 4 deletions .erb/scripts/check-build-exists.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ const rendererPath = path.join(webpackPaths.distRendererPath, 'renderer.js');
if (!fs.existsSync(mainPath)) {
throw new Error(
chalk.whiteBright.bgRed.bold(
'The main process is not built yet. Build it by running "npm run build:main"'
)
'The main process is not built yet. Build it by running "npm run build:main"',
),
);
}

if (!fs.existsSync(rendererPath)) {
throw new Error(
chalk.whiteBright.bgRed.bold(
'The renderer process is not built yet. Build it by running "npm run build:renderer"'
)
'The renderer process is not built yet. Build it by running "npm run build:renderer"',
),
);
}
12 changes: 6 additions & 6 deletions .erb/scripts/check-native-dep.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,34 +16,34 @@ if (dependencies) {
// because of a devDependency then that is okay. Warn when it is installed
// because of a dependency
const { dependencies: dependenciesObject } = JSON.parse(
execSync(`npm ls ${nativeDeps.join(' ')} --json`).toString()
execSync(`npm ls ${nativeDeps.join(' ')} --json`).toString(),
);
const rootDependencies = Object.keys(dependenciesObject);
const filteredRootDependencies = rootDependencies.filter((rootDependency) =>
dependenciesKeys.includes(rootDependency)
dependenciesKeys.includes(rootDependency),
);
if (filteredRootDependencies.length > 0) {
const plural = filteredRootDependencies.length > 1;
console.log(`
${chalk.whiteBright.bgYellow.bold(
'Webpack does not work with native dependencies.'
'Webpack does not work with native dependencies.',
)}
${chalk.bold(filteredRootDependencies.join(', '))} ${
plural ? 'are native dependencies' : 'is a native dependency'
} and should be installed inside of the "./release/app" folder.
First, uninstall the packages from "./package.json":
${chalk.whiteBright.bgGreen.bold('npm uninstall your-package')}
${chalk.bold(
'Then, instead of installing the package to the root "./package.json":'
'Then, instead of installing the package to the root "./package.json":',
)}
${chalk.whiteBright.bgRed.bold('npm install your-package')}
${chalk.bold('Install the package to "./release/app/package.json"')}
${chalk.whiteBright.bgGreen.bold(
'cd ./release/app && npm install your-package'
'cd ./release/app && npm install your-package',
)}
Read more about native dependencies at:
${chalk.bold(
'https://electron-react-boilerplate.js.org/docs/adding-dependencies/#module-structure'
'https://electron-react-boilerplate.js.org/docs/adding-dependencies/#module-structure',
)}
`);
process.exit(1);
Expand Down
4 changes: 2 additions & 2 deletions .erb/scripts/check-node-env.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ export default function checkNodeEnv(expectedEnv) {
if (process.env.NODE_ENV !== expectedEnv) {
console.log(
chalk.whiteBright.bgRed.bold(
`"process.env.NODE_ENV" must be "${expectedEnv}" to use this webpack config`
)
`"process.env.NODE_ENV" must be "${expectedEnv}" to use this webpack config`,
),
);
process.exit(2);
}
Expand Down
4 changes: 2 additions & 2 deletions .erb/scripts/check-port-in-use.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ detectPort(port, (err, availablePort) => {
if (port !== String(availablePort)) {
throw new Error(
chalk.whiteBright.bgRed.bold(
`Port "${port}" on "localhost" is already in use. Please use another port. ex: PORT=4343 npm start`
)
`Port "${port}" on "localhost" is already in use. Please use another port. ex: PORT=4343 npm start`,
),
);
} else {
process.exit(0);
Expand Down
2 changes: 1 addition & 1 deletion .erb/scripts/notarize.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ exports.default = async function notarizeMacos(context) {

if (!('APPLE_ID' in process.env && 'APPLE_ID_PASS' in process.env)) {
console.warn(
'Skipping notarizing step. APPLE_ID and APPLE_ID_PASS env variables must be set'
'Skipping notarizing step. APPLE_ID and APPLE_ID_PASS env variables must be set',
);
return;
}
Expand Down
2 changes: 2 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ module.exports = {
'react/function-component-definition': 'off',
'default-param-last': 'off',
'import/prefer-default-export': 'off',
'promise/catch-or-return': [2, { allowFinally: true }],
'import/no-unresolved': [2, { caseSensitive: false }],
radix: ['warn', 'as-needed'],
'react/no-unescaped-entities': [
Expand All @@ -39,6 +40,7 @@ module.exports = {
'react/jsx-filename-extension': 'off',
'no-restricted-syntax': 'off',
'import/named': 'off',
'no-use-before-define': ['error', { functions: false }],
},
overrides: [
{
Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Bug report
about: Create a report to help us improve
title: Bug in Nora
labels: bug, good first issue
labels: bug
assignees: Sandakan
---

Expand Down Expand Up @@ -30,7 +30,7 @@ It is situated in C:\Users\USER_NAME\AppData\Roaming\nora\logs.txt
**System Information:**

- OS: [e.g. Windows 10]
- Affected App Version: [e.g.>=0.8.0-alpha]
- Affected App Version: [e.g.>=2.0.0-stable]

**Additional context**
Add any other context about the problem here.
7 changes: 5 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
push:
branches: ['master']

pull_request:
branches: ['master']

env:
MUSIXMATCH_DEFAULT_USER_TOKEN: ${{ secrets.MUSIXMATCH_DEFAULT_USER_TOKEN }}
LAST_FM_API_KEY: ${{ secrets.LAST_FM_API_KEY }}
Expand Down Expand Up @@ -36,6 +39,6 @@ jobs:

# If the commit is tagged with a version (e.g. "v1.0.0"),
# release the app after building
release: true
# release: ${{ startsWith(github.ref, 'refs/heads/master') }}
# release: true
release: ${{ startsWith(github.ref, 'refs/heads/master')}}
# release: ${{ startsWith(github.ref, 'refs/tags/v') }}
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npm run husky-test
15 changes: 13 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"Brainz",
"Deezer",
"ecfg",
"EXTM",
"Fashni",
"FXJOE",
"horiz",
Expand All @@ -19,10 +20,15 @@
"Resyncing",
"RIELL",
"samuelmeuli",
"scrobble",
"Spicetify",
"sspai",
"SYLT",
"unlove",
"unmaximize",
"unmaximized",
"unsynced",
"USLT",
"webm",
"xmark",
"Yosef",
Expand Down Expand Up @@ -57,6 +63,11 @@
"class",
"className",
"ngClass",
"iconClassName"
]
"iconClassName",
"titleClassName"
],
"editor.tokenColorCustomizations": {
"comments": "",
"textMateRules": []
}
}
23 changes: 19 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<h1 align="center">
<img class="logo" src="assets/images/webp/logo_light_mode.webp" width="60px">
<p>Nora Player</p>
<img class="logo" src="assets/other/nora_logo_banner.webp">
<!-- <p>Nora Player</p> -->
</h1>

<div align="center">
<img alt="GitHub all releases" src="https://img.shields.io/github/downloads/Sandakan/Nora/total?label=all%20time%20downloads&style=for-the-badge">
<img alt="GitHub release (latest by date)" src="https://img.shields.io/github/downloads/Sandakan/Nora/v2.2.0-stable/total?style=for-the-badge">
<img alt="GitHub release (latest by date)" src="https://img.shields.io/github/downloads/Sandakan/Nora/v2.4.0-stable/total?style=for-the-badge">
<img alt="GitHub package.json version" src="https://img.shields.io/github/package-json/v/Sandakan/Nora?color=blue&label=latest%20version&style=for-the-badge">
<a href="https://github.com/Sandakan/Nora/blob/master/LICENSE"><img alt="GitHub license" src="https://img.shields.io/github/license/Sandakan/Nora?style=for-the-badge"></a>
<a href="https://github.com/Sandakan/Nora/issues"><img alt="GitHub issues" src="https://img.shields.io/github/issues/Sandakan/Oto-Music-for-Desktop?style=for-the-badge"></a>
Expand Down Expand Up @@ -58,7 +58,7 @@ It packs a horizon of features including,

<br>

![Latest Version Artwork](/assets/other/release%20artworks/whats-new-v2.2.0-stable.webp)
![Latest Version Artwork](/assets/other/release%20artworks/whats-new-v2.4.0-stable.webp)

Visit the [release notes](/changelog.md) to see what's new on the latest release.</p>

Expand All @@ -68,6 +68,8 @@ Visit the [release notes](/changelog.md) to see what's new on the latest release

![Switch between Dark and Light Modes Artwork](/assets/other/artwork%202.webp)

![Support for Last.FM Scrobbling](/assets/other/artwork%209.webp)

![Organize your music library with ease Artwork](/assets/other/artwork%203.webp)

![See how your favorite artists appear on songs and albums Artwork](/assets/other/artwork%204.webp)
Expand All @@ -86,6 +88,19 @@ Visit the [release notes](/changelog.md) to see what's new on the latest release

<br>

<div align="center">
<div>
<h3><i>" A sleek music player with a modern design, this solution seeks to provide users with a seamless experience when it comes to listening to their favorite local tunes. "</i></h3>
<a href="https://www.softpedia.com/get/Multimedia/Audio/Audio-Players/Oto-Music-for-Desktop.shtml"><i>Robert Condorache &bull; Softpedia </i></a>
</div>
</div>

<br>

<div align="center"> &bull; &bull; &bull; </div>

<br>

<div align="center">
<div>
<h3><i>" The application interface adopts rounded corners in a large area, the fonts and icons are round and cute, and the visual effect is very comfortable. "</i></h3>
Expand Down
6 changes: 3 additions & 3 deletions __tests__/isLatestVersion.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ describe('App versions check', () => {

test('Versions with same release phases and different build metadata', () => {
expect(
isLatestVersion('2.0.0-stable.20230515', '2.0.0-stable.20230510')
isLatestVersion('2.0.0-stable.20230515', '2.0.0-stable.20230510'),
).toBe(true);
expect(isLatestVersion('2.0.0-beta20230510', '2.0.0-beta20230515')).toBe(
true
true,
);
expect(
isLatestVersion('2.0.0-alpha.20250101', '2.0.0-alpha.19990509')
isLatestVersion('2.0.0-alpha.20250101', '2.0.0-alpha.19990509'),
).toBe(true);
});

Expand Down
Binary file modified assets/fonts/MaterialSymbolsRounded.woff2
Binary file not shown.
Binary file added assets/images/webp/last-fm-logo.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/installer_assets/sidebar.bmp
Binary file not shown.
Binary file added assets/other/artwork 9.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/other/nora_logo_banner.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 10 additions & 5 deletions assets/styles/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -158,15 +158,20 @@ body,

body,
body * {
transition: color var(--transition-duration-0_2s) linear,
transition:
color var(--transition-duration-0_2s) linear,
background-color var(--transition-duration-0_2s) linear;
-webkit-transition: color var(--transition-duration-0_2s) linear,
-webkit-transition:
color var(--transition-duration-0_2s) linear,
background-color var(--transition-duration-0_2s) linear;
-moz-transition: color var(--transition-duration-0_2s) linear,
-moz-transition:
color var(--transition-duration-0_2s) linear,
background-color var(--transition-duration-0_2s) linear;
-ms-transition: color var(--transition-duration-0_2s) linear,
-ms-transition:
color var(--transition-duration-0_2s) linear,
background-color var(--transition-duration-0_2s) linear;
-o-transition: color var(--transition-duration-0_2s) linear,
-o-transition:
color var(--transition-duration-0_2s) linear,
background-color var(--transition-duration-0_2s) linear;
}

Expand Down
Loading