aboutsummaryrefslogtreecommitdiffstats
path: root/src/stores
Commit message (Collapse)AuthorAge
* refactor: general code improvementsLibravatar mhatvan2021-08-05
| | | | | | | | | | - replace deprecated fs.exists with fs.existsSync - replace console.log with debug - replace hardcoded FERDI_VERSION in start.js with dynamic one from package.json - correct JSDoc annotations in Handler.js - simplify macOSPermissions.js - updates to various eslint rules - add FileReader to known globals
* Removed straggling code related to 'popular services'.Libravatar Vijay A2021-08-03
|
* chore: migrate from tslint to @typescript-eslint (#1706)Libravatar Markus Hatvan2021-07-30
| | | | | | | | | | - update .eslintrc to work for .js and .ts - update devDependencies - lint properly both root /src and nested /packages - update webhint recommended setting for tsconfig.json to shrink output - Manage all eslint rules from the repo root - escape single quotes in scripts to please windows build Co-authored-by: Vijay A <avijayr@protonmail.com>
* Added a 'wakeUpStrategy' that the user can control to wake up a previously ↵Libravatar Vijay Raghavan Aravamudhan2021-07-23
| | | | hibernated service (#1680)
* Fix hibernation mode (#1486)Libravatar kytwb2021-07-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use hibernation strategy from settings instead of hardcoded 5 minutes * Fix conditions with isHibernationEnabled, previously disableHibernation * Make service hibernation obey global setting Also refactors hibernation to move some hibernation enablement logic into the Service model * Remove global hibernation enable switch Implements option 4 from https://github.com/getferdi/ferdi/pull/1486#issuecomment-860290992 according to https://github.com/getferdi/ferdi/pull/1486#issuecomment-876558694 * Implements #865 : Add 'hibernate service' and 'wake up service' in the sidebar context menu. * Removed 'hibernationEnabled' check on main settings screen Since this is an (imo) incongruous behavior for the first time user. They will see a message, but with no ability to choose the hibernation strategy. * Autogenerated files from conflict fixes Co-authored-by: Kristóf Marussy <kristof@marussy.com> Co-authored-by: Vijay A <avijayr@protonmail.com>
* Removed Franz paid plans features:Libravatar Vijay A2021-07-20
| | | | | | | | - serviceLimit - planSelection - trialStatusBar and other Franz features that were for different tiers of subscription.
* Added debug logs for auto-updater. [skip ci]Libravatar Vijay A2021-07-18
|
* Minor perf tweaks to evaluate capturing of env-specific values only once in ↵Libravatar Vijay A2021-07-15
| | | | the application.
* Use utility methods from 'electron-util'Libravatar Vijay A2021-07-04
| | | | (already a dependency) rather than re-implementing by ourselves.
* Upgrade various dependencies to latest part 2 (#1557)Libravatar Markus Hatvan2021-07-03
| | | | | | | | * Upgrade various dependencies to latest, remove unnecessary electron-hunspell - upgrade eslint and friends to latest - remove deprecated 'node-sass' in favor of 'sass' - disable new rules from 'eslint-config-airbnb' that are conflicting with current code style - add workspace config for 'vscode' that silences 'experimentalDecorator' warning and forces 'prettier' to single quote * Run yarn lint to autofix with new ruleset and worked down lint issues to zero
* Minor refactoring to move all runtime configs from 'config.js' into ↵Libravatar Vijay Raghavan Aravamudhan2021-07-03
| | | | 'environment.js'. (#1588)
* Removed the cyclical dependency (#1519) (#1539)Libravatar Markandan R2021-06-22
|
* User agent as a user-preference (#1535)Libravatar Vijay Raghavan Aravamudhan2021-06-17
| | | | | | | | | | | | | | | | | | | | Introduced a global and a service-specific 'user-agent' value that can be set by the user from the preference section. The global override is in Advanced, while the service override was moved to the bottom of the service editor form (and now occupies the full width of the form). Show 'restart reqd' prompt for user-agent setting. The order of the user-agent is the following: 1. Any request header overrides in the recipe will still override the user agent string. 2. If the user has set a user agent override for the service, use that. 3. If the recipe has a predefined user agent, use that. 4. If the user has set a global user agent override, use that. 5. Otherwise, use the user agent string corresponding to the underlying Electron version. If the current webpage is the Google login form, we still remove the Chrome version number from the user agent string. The value that would be used if no custom override is set (recipe-provided value or global override for the service, current Electron instance for the global override) is shown as a placeholder in the input box on the corresponding setting screen. Co-authored-by: Kristóf Marussy <kristof@marussy.com>
* Fix active Todos service behaviour (#1481)Libravatar kytwb2021-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Return false instead of null in isTodosServiceAdded * Resolve from TODOS_RECIPES_ID instead of hardcoded TODOS_RECIPE_ID * Fix TodosWebview width toggling when isTodosServiceActive * Add more todo service recipe IDs * Refactor todos state management * Moved todos service URL and recipe ID computation logic to todos/store * Simplified TodosWebview by delegating to the store for the URL and removing the (unused) payment logic * Made the todos service computation logic in the Service model depend on the logic in todos/store * Made ServicesStore depend on the todos service logic from the Service model * Todos appearance fixes * Hide double horizontal rules if todo settings are hidden due to an added todo service * Hide todos panel border when the panel is hidden or expanded * Make expanded todos panel obey sidebar width and vertical style settings * Make todos/store use isValidExternalURL * Harden isValidExternalURL against malformed URLs * Reduce todo URL string duplication in config.js Co-authored-by: Kristóf Marussy <kristof@marussy.com>
* Added ability to turn off notifications for clipboard events generated by ↵Libravatar Vijay Raghavan Aravamudhan2021-06-05
| | | | context menu actions (#1494)
* Clean up RecipeWebview.setBadge (#1461)Libravatar Kristóf Marussy2021-05-28
| | | | | Extracted from 240c3a72363e7388779c9ed3c6467ec63bb64d94 according to https://github.com/getferdi/ferdi/pull/1456#discussion_r641182688 and https://github.com/getferdi/ferdi/pull/1456#discussion_r641183662
* Replace 'remote' with 'electron/remote' (#1448)Libravatar Vijay Raghavan Aravamudhan2021-05-26
| | | * Locked new version of 'recipes' submodule with corresponding changes.
* Adding DuckDuckGo as an alternative search engine (#1414)Libravatar Vijay Raghavan Aravamudhan2021-05-15
| | | | | | | * Adding DuckDuckGo as an alternative search engine. * Fixing review comments. * Fixing review comments.
* Lazily compute cache size (#1404)Libravatar Kristóf Marussy2021-05-13
| | | | | | | | | | | | Computing the cache size can take a long time if the cache is large. Previously, cache size computation was triggered by opening the Settings pane, which slowed down changing settings even if the user wasn't interested in the cache size. This patch defers cache size computation until the Advanced tab is open in the Setting page. Additionally, cache size rendering (in MB / GB) is moved from the AppStore into the EditSettingsForm to fix the notCleared functionality.
* Fix some appearance issues (#1398)Libravatar Kristóf Marussy2021-05-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix property spelling in Sidebar component * Fix typo in todos partition name * Use the FerdiDev setting.json in dev mode The app.setPath calls are still a mess and need to be fixed, but this at least allows me to experiment locally. * Make @meetfranz/theme follow the accent color We inject the value of the accent color into the themes, so the buttons show the appropriate color. This allows removing some existing css hacks. In order to do this, the themes had to be turned into functions that take the brand color (accent color) as an argument instead of hard-coding it. The css-based accent color for legacy components is left unchanged. * Remove superfluous scrollbars While overflow: scroll doesn't look ugly on macs, because the system hides scrollbars by default (except on hower), on Linux and Windows, the disabled scrollbars appearing by default look ugly. We set overflow-y: auto instead to display a scrollbar only when needed. * Simplify theme generation in @meetfranz/themes * Remove default accent color code duplication * Apply accent color to styles not in themeInfo.json Some colors are darkened/lightened versions of the primary brand color, so they are not caught by build-theme-info. We create these styles with `color` manually. * Inset shadow on sidebar This creates a more flat look that projecting a shadow over the service, and avoid compositing a shadow over the webview. * Apply accent color to vertical style tab bar * Workspace drawer styling in vertical mode * Fix sidebar layout In vertical mode, the top of the service was clipped by the sidebar Also removes unnecessary whitespace in sidebar * Fix 1px wide line on right when todos are hidden * Fix window menu When building the menu bar, the File / app menu is added later, so we must be careful about indexing the menu bar. * Update locale files * Report the default accent color accurately * Fix inverted button with dark theme * Fix crash with invalid accent color Fall back to the default accent color instead * Darker secondary buttons in dark mode * Vertical workspace drawer style outside debug mode In order to reliably apply the style, we need to add a class name to the drawer manually, as component names only appear in class names in debug mode.
* Fix window unsnapping when clicking notification (#896) (#1264)Libravatar Stephan Rumswinkel2021-04-04
| | | Closes #896
* Synchronize with Franz 5.6.0 (#1033)Libravatar Amine El Mouafik2021-02-08
| | | | | | | Co-authored-by: FranzBot <i18n@meetfranz.com> Co-authored-by: vantezzen <hello@vantezzen.io> Co-authored-by: Makazzz <makazzzpro@live.ca> Co-authored-by: Stefan Malzner <stefan@adlk.io> Co-authored-by: Amine Mouafik <amine@mouafik.fr>
* Add new setting to minimize to tray when closing on Windows (#1093)Libravatar 1mm0rt41PC2021-01-06
| | | Co-authored-by: Amine El Mouafik <amine@mouafik.fr>
* Add setting to enable nightly releases updates (#742)Libravatar Bennett2020-10-04
| | | Co-authored-by: Amine Mouafik <amine@mouafik.fr>
* Update adaptable dark mode to work on all platforms (#834)Libravatar Bennett2020-09-22
| | | Co-authored-by: Amine Mouafik <amine@mouafik.fr>
* Add FAB to service dashboard (#824)Libravatar Bennett2020-06-21
| | | | | | | | | | | | | | | | | | | * Implement #387 * Fix lint * Upgrade to Electron 9 * Remove dependency on electron-spellchecker * Allow multiple languages to be selected * Fix lint * Don't show spellchecker language chooser for macOS * Fix _requireAuthenticatedUser throwing error on startup * Add FAB
* Add password hashing to lock password (#694)Libravatar Bennett2020-05-03
|
* Review launch on startup for macOS, start Ferdi app, not renderer (#696)Libravatar Danny Qiu2020-05-01
|
* Refactor locking feature (#693)Libravatar Bennett2020-05-01
|
* Prevent unnecessary electron popup windows for links (#685)Libravatar Mahadevan Sreenivasan2020-04-29
|
* Release 5.5.0-gm.2 (#625)v5.5.0-gm.2Libravatar Amine2020-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Bump Electron to 8.2.3 for latest fixes * Bump version to 5.5.0-gm.2 * Update recipes submodule * Update changelog * Add support for external issue linking * Link README * Address regression introduced by #590 * Add new translations contributors * #620 Address broken translation * Fix cache clearing feedback US copy * Update changelog to include latest merged pull requests * Fix changelog format * Review branding of initial system notification on macOS * #569 Fix missing margin between tabs Co-authored-by: vantezzen <hello@vantezzen.io>
* Refocus Webview only for active service (#610)Libravatar Mahadevan Sreenivasan2020-04-20
| | | | | | | | | | | | | | | | | | | | | | * Fix: Refocus Webview only for active service - add check to identify if the webview belongs to the active service during refocussing a webview. - blur and focus the webview only for the active service. Co-Authored-By: Sampath Kumar Krishnan <sampathblam@users.noreply.github.com> * fix: Focus on Active Service - replace document.activeElement.blur() with service.webview.blur() Co-Authored-By: Sampath Kumar Krishnan <sampathblam@users.noreply.github.com> * refactor - lint fixes Co-Authored-By: Sampath Kumar Krishnan <sampathblam@users.noreply.github.com> Co-authored-by: Sampath Kumar Krishnan <sampathblam@users.noreply.github.com>
* Remove excess code form Franz's hibernate feature (#609)Libravatar Bennett2020-04-20
|
* Merge Franz 5.5.0 beta.1 and 2 (#549)Libravatar Bennett2020-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Automatic i18n update (i18n.meetfranz.com) * Fix zoom not working * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Add environment variable FRANZ_APPDATA_DIR * Add environment variable for config FRANZ_APPDATA_DIR * fix stuff that shouldn't need fixing in the first place * notarize app * bump version to 5.4.1 * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * update to electron 7.1.7 * bump version to 5.5.0 * Automatic i18n update (i18n.meetfranz.com) * Bump electron to 7.1.10 * plan changes * filter plan variants * add missing string * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Replace/remove deprecated electron function calls Electron replaced several function calls with object properties. Franz still uses some of these deprecated functions, so this commit will replace these with their new property counterpart. This commit is only transferring the changes made in getferdi/ferdi#371 and getferdi/ferdi#384 into the upstream repository. * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Update to electron 8.0.1 * feat(Service): Add service hibernation to save system resources * Fix linting issues * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Bump version to electron 8.1.1 * update strings * update electron-notarize * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Automatic i18n update (i18n.meetfranz.com) * Add audio & video permission request for cataline * Automatic i18n update (i18n.meetfranz.com) * bump version to beta 1 * Automatic i18n update (i18n.meetfranz.com) * enable external links * Fix main content href * Automatic i18n update (i18n.meetfranz.com) * fix(Service): Fix issue with user agent override in service workers * Automatic i18n update (i18n.meetfranz.com) * fix macOS string replacement * Automatic i18n update (i18n.meetfranz.com) * fix(Experimental): Fix Google signin * fix(Service): Add integrity checks to prevent services recipes getting lost * Remove service reload on app-resume * update strings * bump version to beta 2 * Automatic i18n update (i18n.meetfranz.com) * bump electron-builder and electron-updater deps * test video permissions * fix `extendInfo` keys * fix typo * fix permission request * update camera/microphone entitlements * Automatic i18n update (i18n.meetfranz.com) * Test screen capture permissions * unpack `mac-screen-capture-permissions` * don't require localstorage temp key for permissions request * move macOS permission request to main process * Fix checking for permissions * fix(macOS): Ask the user to move Franz to the `/Applications` Folder * only try to recover recipe when user is online * update service request link * Update changelog * Reset `service.lostRecipeReloadAttempt` once service is alive again * Update translations * Fix crash on macOS * Fix merge errors * Fix lint * Disable ConnectionLostBanner * #551 Add information about Ferdi to the user agent * Fix requested changes * Remove tsbuildinfo files * Add .tsbuildinfo files to gitignore * Fix "Cannot destructure property 'app' of '_electron.remote' as it is undefined" Co-authored-by: FranzBot <i18n@meetfranz.com> Co-authored-by: Makazzz <makazzzpro@live.ca> Co-authored-by: Stefan Malzner <stefan@adlk.io>
* Improve user scripts (#559)Libravatar Bennett2020-04-12
| | | | | | | | | | | * Add template to user.js creation * Add Userscript library * Add internalOpen function * Fix lint * Remove excess line break
* Fix cache clearing not working in Windows 10 (#541) (#544)Libravatar Mahadevan Sreenivasan2020-04-10
| | | | | | | | | | | | | | * fix: Clear caches which is not working in Windows 10 (#541) - In AppStore, the partition directory of allorphanedserviceIds are attempted to be removed during clear cache. However, atleast in Windows, certain files like Cookies, indexedDB and other autogenerated ones during session creation are locked and hence fs.removeDirectory throws an exception. I have added a try catch around this piece of code to avoid uncaught exceptions which causes the spinner to spin indefnitely and prevents execution of further code - From electron docs - I found that calling session.clearstorage([options]) is a better way to clear session storage data. Hence, in LocalApi.js, we are clearing out all possible storages and quotas of all services and the default session. More info in this link - https://www.electronjs.org/docs/api/session#sesclearstoragedataoptions * refactor: LocalApi - refactor clearAppCache and clearCache(serviceId) as suggested by @eandrogehlen * refactor: #544 - Remove clearAppCache from server/LocalApi.js to use clearCache for clearing both service and application sessions. * fix: clear_cache - update function anme in AppStore.js to 'clearCache' instead of 'clearAppCache'. This got missed out during the refactor. Apologies.
* Add notification & audio toggle action in tray context menu (#542)Libravatar Mahadevan Sreenivasan2020-04-10
| | | | | | | | | | | | | | * feat: Add new tray menu item to enable / disable Notifications and Audio - Use ipcMain to listen to iniital App Settings which determines the current isAppMuted state and display menu item text accordingly - Use ipcMain to listen to updates to App Settings -> isAppMuted from the App Menu / Side Bar and display menu item text accordingly - When the user clicks on the Enable / Disable Notifications & Audio menu item in the Tray, pass a message to the app via window.webContents.send with channel 'muteApp' - In stores/AppStore.js, use an ipcRenderer to toggleMuteApp() - To get the initial app state to the main process, pass a channel 'initialAppSettings' from SettingsStore which the tray class can listen to. * feat - System Tray menu item for Muting App - Fix lint errors * feat: Provide a menu item in the tray bar icon to Mute/Unmute the application - Revert package-lock.json to the previous commit.
* Refactor updates settings (#506)Libravatar Romain2020-04-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Reorder updates toggle buttons * Updated 'Disable updates' message to 'Enable automatic updates' * Update 'noUpdates' to 'automaticUpdates' * Update 'noUpdates' to 'automaticUpdates' * Add condition for 'Include beta version' to show * Enable automatic updates by default * Update file so when automaticUpdates is true automatic updates are enabled * Fix conditions with enableUpdate * Apply code style * Fix wrong condition with enableUpdate * Delete unsued variable 'server' * Apply style code * Commit changes to submodule 'recipes' * Update default message to 'Enable updates' from 'Disable updates' * Update text to 'Enable updates' from 'Enable automatic update' * Add migration for updates settings * Update default messages to 'Enable updates' from 'Disable updates' * Remove empty line * Check for updates was disabled when updates were enabled * Avoid superfluous break line when updates are disabled * Add fragments to up-to-date message * Add fragments to up-to-date message * Remove file from previous commit * Remove extra line * Add 'Show draggable area on window' to en-US.json file * Apply prepare-code script changes Co-authored-by: Amine <amine@mouafik.fr>
* Add support for Adaptable Dark Mode on Windows (#548)Libravatar Mahadevan Sreenivasan2020-04-09
| | | | | - Add support for making adaptable checkbox visible for Windows - Add support in UIStore to check for theme updated using the nativeTheme.on('update', () => {}) event and update the darkmode properties accordinly. - Update intl to change text to a more generic wording - "settings.app.form.adaptableDarkMode": "Synchronize dark mode with my OS's dark mode setting"
* #418 #477 Refactor Todo settings, add predefined Todo apps listLibravatar Amine2020-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add condition if on todo options * add drop down for todo server * fix error TODOS_FRONTEND * add todo list apps' * update name of dropdown menu to Todo Service * add other service to dropdown menu and subsetting field for user to input url * add Other Service to drop down * fixed typos * reverted wording * fix custom field * fix linting * fix linting * Delete tsconfig.tsbuildinfo * Delete tsconfig.tsbuildinfo * Delete tsconfig.tsbuildinfo * Add regex to validate custom todo url * Add note with source of regex function * Move regex function declaration to function body root * Apply code style * Add migration for todo settings * Apply code style Co-authored-by: romain <romain@jumboprivacy.com> Co-authored-by: Roman <46404814+yourcontact@users.noreply.github.com> Co-authored-by: romain <rpsa@pm.me>
* Improve user onboarding (#493)Libravatar Bennett2020-03-25
| | | | | Until now, new users have started on the Ferdi dashboard and not on the Welcome screen like Franz does it. This change was made, as users needed to be ablet to change their server before logging in. This commit will change this onboarding process to bring users to the welcome screen on first login and it adds a new "Change Server" screen during authentication that allows the user to change the server without going to the full settings screen. This way, the onboarding experience for new users is a lot easier to go though while also improving the experience for experienced users who want to change their server as they only get the option they are looking for and not the whole settings list.
* Reflect service name in application titleLibravatar Gilles Marec2020-03-10
|
* add option to disable reload after resume (#447)Libravatar n0emis2020-03-09
| | | | | | * add option to disable reload after resume closes #442 * remove unused property
* Partial revert of #371Libravatar Daniel Peukert2020-03-02
|
* Run linterLibravatar vantezzen2020-03-02
|
* Merge pull request #393 from getferdi/refactor/lockLibravatar Amine2020-02-28
|\ | | | | Fix race condition in Ferdi Lock at startup
| * Fix lock at startup when previously closed while lockedLibravatar Amine Mouafik2020-02-26
| |
| * Fix lock at startupLibravatar Amine Mouafik2020-02-25
| |
| * Add FIXME note about lock at startupLibravatar Amine Mouafik2020-02-22
| |
* | Merge pull request #403 from getferdi/feat/#270Libravatar Amine2020-02-26
|\ \ | | | | | | #270 Add more navigation bar behaviour settings