diff --git a/README.md b/README.md index 0710d90..4464959 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,7 @@
-

- -A [ntfy.sh](https://ntfy.sh/app) desktop client built with Electron which supports Windows, Linux, and MacOS (Darwin). This client rests in your taskbar tray and allows you to receive push notifications to your desktop without requiring you to leave your browser open. -

+

A ntfy.sh desktop client built with Electron which supports Windows, Linux, and MacOSX. This client rests in your taskbar tray and allows you to receive push notifications to your desktop without requiring you to leave your browser open.

@@ -24,13 +21,6 @@ A [ntfy.sh](https://ntfy.sh/app) desktop client built with Electron which suppor

-
- -

- -

- -
@@ -94,7 +84,7 @@ This project allows you to access the official free / paid notification service
# Features -- Usable with [ntfy.sh](https://ntfy.sh/app) and [self-hosted](https://docs.ntfy.sh/install/) instances +- Usable with ntfy.sh and self-hosted instances - Two modes for minimizing app, configure in settings 1. Close button exits app completely, sits in taskbar and tray 2. Close button sends app to tray. Right-click tray icon to quit / show app @@ -102,9 +92,8 @@ This project allows you to access the official free / paid notification service - Option to disable - Receive push notifications from ntfy server to desktop - Advanced setting to adjust polling rate - - Datetime format customization - - Persistent notifications (optional) - - Notifications stay on screen until dismissed by user + - Datetime format setting + - Optional persistent notifications - Topic filtering
@@ -148,7 +137,7 @@ The following keybinds can be used within ntfy-electron:
# CLI Arguments -This client includes several arguments that can be specified at launch. If you do not wish to use CLI arguments, most of the arguments below have the ability to be set within the application by using the top menu and selecting **Configure**. +This client
@@ -158,7 +147,6 @@ This client includes several arguments that can be specified at launch. If you d | `--hotkey` | Start app with hotkeys enabled | ✅ | | `--quit` | Top-right close button will completely exit app instead of minimize to tray | ✅ | | `--dev` | Start app with developer tools in `App` menu | ✅ | -| `--url` | Forces app to launch and load a specific url
For testing purposes only. Should not need to use.| ❌ |
diff --git a/eslint.config.js b/eslint.config.js deleted file mode 100644 index 2ca21b9..0000000 --- a/eslint.config.js +++ /dev/null @@ -1,107 +0,0 @@ -const js = require( '@eslint/js' ) -const globals = require( 'globals' ) -const prettier = require( 'eslint-plugin-prettier' ) -const stylisticJs = require( '@stylistic/eslint-plugin-js' ) -const stylisticPlus = require( '@stylistic/eslint-plugin-plus' ) - -module.exports = [ - { - files: [ - '**/*.js', - './app/**/*.js', - './src/**/*.js', - './tests/**/*.js' - ], - plugins: { - prettier: prettier, - '@stylistic/js': stylisticJs, - '@stylistic/plus': stylisticPlus - }, - languageOptions: { - globals: { - ...globals.browser - } - }, - rules: { - ...js.configs.recommended.rules, - // eslint/js rules - indent: [1, 4], - 'space-before-function-paren': 0, - 'prefer-const': 1, - 'comma-dangle': 0, - 'keyword-spacing': ['error', { before: true, after: true }], - 'comma-spacing': ['error', { before: false, after: true }], - 'prefer-spread': 1, - 'no-unexpected-multiline': 0, - 'no-prototype-builtins': 0, - 'no-useless-escape': 1, - 'no-mixed-operators': 1, - 'no-control-regex': 0, - 'no-console': 2, - 'no-var': 2, - 'no-undef': 0, - 'no-redeclare': 'error', - 'no-unused-vars': [ - 'error', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - ignoreRestSiblings: true - } - ], - - '@stylistic/js/no-multi-spaces': [ 0, { ignoreEOLComments: true } ], - '@stylistic/js/arrow-spacing': [ 'error', { before: true, after: true } ], - '@stylistic/js/arrow-parens': [ 'error', 'always' ], - '@stylistic/js/block-spacing': [ 'error', 'always' ], - '@stylistic/js/brace-style': [ 'error', 'allman', { allowSingleLine: true } ], - '@stylistic/js/comma-dangle': [ 'error', 'never' ], - '@stylistic/js/comma-spacing': [ 'error', { before: false, after: true }], - '@stylistic/js/keyword-spacing': [ 'error', { - before: true, - after: true, - overrides: - { - return: { before: true, after: true }, - throw: { before: true, after: true }, - case: { before: true, after: true }, - as: { before: true, after: true }, - if: { before: true, after: true }, - for: { before: true, after: true }, - while: { before: true, after: true }, - static: { before: true, after: true } - } - }], - - '@stylistic/js/computed-property-spacing': ['error', 'always'], - '@stylistic/js/eol-last': ['error', 'always'], - '@stylistic/js/jsx-quotes': ['error', 'prefer-single'], - '@stylistic/js/linebreak-style': ['error', 'unix'], - '@stylistic/js/no-mixed-spaces-and-tabs': ['error'], - '@stylistic/js/no-tabs': ['error'], - '@stylistic/js/no-trailing-spaces': ['error', { skipBlankLines: true, ignoreComments: true }], - '@stylistic/js/no-whitespace-before-property': ['error'], - - '@stylistic/js/object-curly-spacing': ['error', 'always'], - - '@stylistic/js/quote-props': ['error', 'as-needed'], - - '@stylistic/js/quotes': ['error', 'single', { allowTemplateLiterals: true }], - - '@stylistic/js/semi': ['error', 'never'], - - '@stylistic/js/space-in-parens': ['error', 'always'], - - '@stylistic/js/space-infix-ops': ['error'], - - '@stylistic/js/spaced-comment': ['error', 'always'], - '@stylistic/js/template-curly-spacing': ['error', 'always'], - '@stylistic/js/template-tag-spacing': ['error', 'always'], - '@stylistic/js/wrap-iife': [2, 'inside', { functionPrototypeMethods: true }], - - '@stylistic/plus/type-named-tuple-spacing': ['error'], - '@stylistic/plus/type-generic-spacing': ['error'] - - // 'prettier/prettier': ['error'], - } - }] diff --git a/release.js b/release.js deleted file mode 100644 index ddeb433..0000000 --- a/release.js +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable no-console */ - -/* - build by running - npm run build - - guid and uuid will be automatically generated and placed - inside .env file which will then be read by the github workflow - build script. -*/ - -/* - This script handles the following: - - read package.json - - create .env file - - return uuid, guid, version - - can be called with the following external commands: - - node release.js returns version of app - - node release.js generate generates uuid / guid and shows all env vars in console - - node release.js uuid returns app uuid - - node release.js guid returns app guid - - node release.js versiom returns version of app - - can be called with the following app commands: - - npm run release - - npm run release:generate - - npm run env-release - - npm run env-uuid - - npm run env-guid - - npm run env-version -*/ - -const fs = require( 'fs' ) -const { v5: uuid } = require( 'uuid' ) - -/* - * declrations > package.json - */ - -const { version, repository } = JSON.parse( fs.readFileSync( 'package.json' ) ) -const args = process.argv.slice( 2, process.argv.length ) -const action = args[ 0 ] -// const a = args[ 1 ]; -// const b = args[ 2 ]; - -if ( action === 'guid' ) -{ - console.log( `${ process.env.GUID }` ) -} -else if ( action === 'setup' ) -{ - fs.writeFileSync( '.env', '', ( err ) => - { - if ( err ) - { - console.error( err ) - } - else - { - console.log( 'Wrote to .env successfully' ) - } - } ) -} -else if ( action === 'generate' ) -{ - const buildGuid = uuid( `${ repository.url }`, uuid.URL ) - const buildUuid = uuid( version, buildGuid ) - - const ids = ` -VERSION=${ version } -GUID=${ buildGuid } -UUID=${ buildUuid } -` - - console.log( version ) - console.log( buildGuid ) - console.log( buildUuid ) - - fs.writeFileSync( '.env', ids, ( err ) => - { - if ( err ) - { - console.error( `Could not write env vars: ${ err }` ) - } - else - { - console.log( 'Wrote env vars to .env' ) - } - } ) -} -else if ( action === 'uuid' ) -{ - console.log( `${ process.env.UUID }` ) -} -else -{ - console.log( version ) -} - -process.exit( 0 )