aboutsummaryrefslogtreecommitdiffstats
path: root/src/index.js
Commit message (Collapse)AuthorAge
* fixing linter issue [skip ci]Libravatar Vijay A2021-08-21
|
* fixing linter issue.Libravatar Vijay A2021-08-21
|
* Check if default app protocol is different before overriding it (#1818)Libravatar marco2021-08-21
| | | Co-authored-by: Vijay Raghavan Aravamudhan <vraravam@users.noreply.github.com>
* refactor: Minor refactoring to handle NaN in 'setBadge'Libravatar Vijay A2021-08-17
|
* Refactoring: Url helpers (#1789)Libravatar Vijay Raghavan Aravamudhan2021-08-14
| | | | | | | These changes are mainly to ensure that 'shell.open*' invocations are only in a single file. * Moved 'openPath' into the 'url-helpers' file. * Extract 'openExternalUrl' into a common location in 'url-helpers' This is done so that we can then apply vetting rules to ensure that there is no security concern as described in https://benjamin-altpeter.de/shell-openexternal-dangers/
* feat: Add buttons in the 'Advanced' section of preferences to allow the user ↵Libravatar Vijay A2021-08-14
| | | | to quickly open the Ferdi profile folder
* fix(App): Fix app focus detectionLibravatar Vijay A2021-08-13
|
* chore: use exported default objectLibravatar Vijay A2021-08-13
|
* fix(spell-check): use electron's API to enable/disable spell-check when the ↵Libravatar Vijay A2021-08-09
| | | | | | app starts up fixes #1743
* refactor: path-references refactoring and using 'import' instead of ↵Libravatar Vijay Raghavan Aravamudhan2021-08-08
| | | | | | 'require' (#1752) * refactor references to 'userData' and 'appData' directories to move hardcoding into single location * convert to es6 for lower memory usage as per https://codesource.io/the-difference-between-import-and-require-in-javascript/
* revert: partially reverts the previous change to fix issue that the packaged ↵Libravatar Vijay A2021-08-05
| | | | app doesn't start up
* 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
* Recipe context isolation (#1456)Libravatar Kristóf Marussy2021-07-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Enable service contextIsolation * Enable contextIsolation on the service webviews * Expose a new API window.ferdi in the service main world to allow calling back into the service isolated world * Expose a new IPC message inject-js-unsafe from the service isolated world to execute Javascript in the service main world (i.e., run code without context isolation). While the name contains the "unsafe" suffix to show the lack of context isolation, this should mostly be safe, as no nodejs APIs are available in the injected code. * Refactor the Notifications shim into a part in the isolated world that handles displaying and modifying notifications, and a shim in the main world for the Notifications class. The two communicate via the window.ferdi endpoint and a Promise object can be used to detect notification clicks. * Refactor the screen sharing shim into a part in the isolated world that enumerated shareable screens and windows and a shim in the main world that displays the media selector and completes the media selection promise. * Expose the injectJSUnsafe API to recipes to inject javascript code into the main world without context isolation. * Expose setBadge to the main world The window.ferdi.setBadge API can be used to update the service badge from injected unsafe Javascript * Safer script injection into the service main world Make sure that we don't try to serialize stray objects back from the main world to the isolated world by always surrounding the script to be executed by an anonymous function. * Always read recipe assets as utf8 * Remove window.log from recipes We didn't use it anywhere and its behavior was confusing in production mode. * Inject multiple unsafe scripts at the same time * Find in page without remote module Remove the @electron/remote dependency from the find in page (Ctrl+F) functionality. The remote webContents is replaced with Electron IPC. Synchronous IPC messages are handled in the main Electron process, because the renderer process cannot reply to IPC messages synchronously. * Update to latest contextIsolation recipes * Fixing issue with missing 'fs' functions. Co-authored-by: Vijay A <avijayr@protonmail.com>
* Fixed issue with permissions not being obtained correctly on macos.Libravatar Vijay A2021-07-06
|
* Use utility methods from 'electron-util'Libravatar Vijay A2021-07-04
| | | | (already a dependency) rather than re-implementing by ourselves.
* Minor refactoring to move all runtime configs from 'config.js' into ↵Libravatar Vijay Raghavan Aravamudhan2021-07-03
| | | | 'environment.js'. (#1588)
* Adjust link opening behaviorLibravatar stnkl2021-06-03
|
* ipc messages will allow only JS objects, replacing browser event with ↵Libravatar Prasanna2021-06-01
| | | | neeeded attrs
* Environmental variables for dev/production mode (#1455)Libravatar Kristóf Marussy2021-05-27
| | | | | | | | | | | | | | | | | | | | | * Restore ELECTRON_IS_DEV environment variable As part of migrating to @electron/remote from electron.remote, 296ce5ce6 removed the electron-is-dev package and with it the support of selecting dev/production mode with the ELECTRON_IS_DEV environmental variable. This commit restores support for this variable. Because even the newest version of the electron-is-dev package breaks in renderer processes, we instead query the environment ourselves. * Add support for NODE_ENV variable Also support NODE_ENV for specifying dev mode in addition to the ELECTRON_IS_DEV variable. This variable is used by e.g., the packaging in Arch Linux to trigger production mode with an explicit electron command line invocation: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=ferdi-git&id=61dc59e5eb19a2c9e8f9edaf0a63aaae72990a0b#n109 * Refactor environmental variable handling
* Replace 'remote' with 'electron/remote' (#1448)Libravatar Vijay Raghavan Aravamudhan2021-05-26
| | | * Locked new version of 'recipes' submodule with corresponding changes.
* Changed occurrences of 'Franz' to 'Ferdi' (probably missed earlier while ↵Libravatar Vijay A2021-05-17
| | | | catchup from Franz source). [skip ci]
* Expose Chrome version in 'About' dialog.Libravatar Vijay A2021-05-16
|
* [Franz catchup] Use a newer maintained module to trigger and capture ↵Libravatar Vijay A2021-05-13
| | | | permissions on macos.
* 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.
* Remove duplicated lines (probably introduced in a bad conflict-resolution step).Libravatar Vijay A2021-05-12
| | | | Added TODOs for other duplicated code that is more involved in fixing.
* Method reuse (#1379)Libravatar Vijay Raghavan Aravamudhan2021-05-11
| | | | | * Used already exported common functions to avoid the same logic being repeated. * Use a different package to retrieve the os-name for the 'About Dialog'.
* Enhanced 'About dialog' to show the build date, git SHA & branch (fixes ↵Libravatar Vijay Raghavan Aravamudhan2021-05-09
| | | | #1373) (#1375)
* Franz catchups to version 5.6.0 that are not related to macOS (#1372)Libravatar Vijay Raghavan Aravamudhan2021-05-08
| | | | | | | | | * Fix browser control icons in dark mode * Upgraded 'electron-builder' * Added missing system-dependencies for development of ferdi on linux * Fix crashes on navigation changes/reloads
* Electron 12 and nodejs 14 support (#1308)Libravatar Kristóf Marussy2021-04-29
|
* Fix Issue #1109: Expose relevant info about Electron, node, platform,… (#1309)Libravatar Vijay Raghavan Aravamudhan2021-04-29
|
* 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>
* 5.6.0-nightly.13Libravatar Amine Mouafik2021-01-06
|
* 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>
* Disable Chromium's poor MPRIS implementation (#1023)Libravatar Amine Mouafik2020-10-15
|
* Improve Ferdi's design (#977)Libravatar Bennett2020-10-11
| | | Co-authored-by: Amine Mouafik <amine@mouafik.fr>
* Fix macOS code signing and setup automatic nightly builds (#990)Libravatar Amine Mouafik2020-10-04
| | | | Co-authored-by: Travis CI <travis@Traviss-Mac.local> Co-authored-by: vantezzen <hello@vantezzen.io>
* Fix Electron 9 crash on Windows 10 (#986)Libravatar Mahadevan Sreenivasan2020-10-02
| | | | | Co-authored-by: Amine Mouafik <amine@mouafik.fr> Co-authored-by: vantezzen <hello@vantezzen.io> Co-authored-by: Sampath Kumar Krishnan <sampathBlam@users.noreply.github.com>
* Update adaptable dark mode to work on all platforms (#834)Libravatar Bennett2020-09-22
| | | Co-authored-by: Amine Mouafik <amine@mouafik.fr>
* Open Documents inside Ferdi instead of external browser (#787)Libravatar Mahadevan Sreenivasan2020-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | * Bump version number * no message * Revert "no message" This reverts commit 060f3084460d07e3b08394cd7703611f28095ea9. * fix: Documents opened in Google drive should open inside Ferdi as a new BrowserWindow - modify 'new-window' listener of service webview in Service.js to open links in external browser only when event.disposition != 'foreground-tab'. If event.disposition === 'foreground-tab' send an ipc-message to main to open the link inside Ferdi as a new Browser window - Listen to 'open-browser-window' in index.js (main process) and check for event disposition - create a child BrowserWindow with the main Ferdi window as parent - Copy session information from the appropriate service (here google drive) - Load the URL that was sent from the service renderer. * Update src/index.js refactor: Remove extra spaces in index.js Co-authored-by: Sampath Kumar Krishnan <sampathBlam@users.noreply.github.com> Co-authored-by: Amine Mouafik <amine@mouafik.fr> Co-authored-by: vantezzen <hello@vantezzen.io> Co-authored-by: Sampath Kumar Krishnan <sampathBlam@users.noreply.github.com>
* Make Tray icons more robust on Linux (#748)Libravatar Kristóf Marussy2020-05-17
|
* Restore window last closed maximize/fullscreen state (#733)Libravatar Danny Qiu2020-05-12
|
* Prevent unnecessary electron popup windows for links (#685)Libravatar Mahadevan Sreenivasan2020-04-29
|
* Add modifyRequestHeaders, enable properly setting headers for servicesLibravatar Sampath Kumar Krishnan2020-04-24
| | | Co-Authored-By: Mahadevan Sreenivasan <mahadevan_sv@yahoo.com>
* 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>
* 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>
* #490 Add option to start Ferdi minimized (#534)Libravatar Bennett2020-04-05
|
* Replace deprecated call to getName, use name insteadLibravatar Amine Mouafik2020-02-21
|
* Change Sentry reporting to be opt-in onlyLibravatar vantezzen2020-01-31
|
* Merge branch 'develop' into start-in-trayLibravatar Bennett2020-01-31
|\