aboutsummaryrefslogtreecommitdiffstats
path: root/src/webview/recipe.js
Commit message (Collapse)AuthorAge
* 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/
* 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>
* Minor refactoring to move all runtime configs from 'config.js' into ↵Libravatar Vijay Raghavan Aravamudhan2021-07-03
| | | | 'environment.js'. (#1588)
* Added ability to turn off notifications for clipboard events generated by ↵Libravatar Vijay Raghavan Aravamudhan2021-06-05
| | | | context menu actions (#1494)
* Screen share refactoring (#1460)Libravatar Kristóf Marussy2021-05-28
| | | | | | | | | | | * Extract screenshare into a separate file Extracted from 240c3a72363e7388779c9ed3c6467ec63bb64d94 according to https://github.com/getferdi/ferdi/pull/1456#discussion_r641194876 * Cosmetic screenshare changes and cancellation * Makes the screen/window selector more readable * Adds a Cancel button to close the selector
* 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.
* Fix spellcheckerLanguage array/string confusion (#1314)Libravatar Kristóf Marussy2021-04-29
|
* 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>
* Patch getDisplayMedia for screen sharing in all services (#802)Libravatar Gautam Singh2020-09-22
| | | Co-authored-by: Gautam Singh <gautamsi@users.noreply.github.com>
* 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
* Address Dark Reader settings translation issue (#593)Libravatar Amine2020-04-19
| | | | | | | * Remove unmaintained en.json * Fix missing translations for Dark Reader settings, harmonize case * Harmonize Dark Reader case
* Expose Dark Reader settings (#568)Libravatar Mahadevan Sreenivasan2020-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: Expose DarkReader settings to users - In the service model, expose an object darkReaderSetting which contains brightness, contrast and sepia values. - In EditServiceScreen, provide 3 form options for brightness, contrast and Sepia. Additionally onSubmit() form, capture the darkreader settings data onto formdata.darkReaderSettings to update in the service - In EditServiceForm, if darkModeEnabled is checked, show 3 sliders for controlling darkreader settings - Create a new Slider control and customize it according to the application's theme and dark theme. - In Webview Recipe, load the darkReader settings from service settings and pass it to the darkReader library. * feat: Darkreader settings - Lint fixes * feat: DarkReader settings - refactor code in editservicescreen.js Co-Authored-By: Sampath Kumar Krishnan <sampath3493@gmail.com> * feat: Darkreader settings - Fix a crash where service.darkReaderSettings is null while creating a new service - Remove isDarkModeEnabled prop to EditServiceForm as it is no longer required. * fix: Update EditServiceScreen - Set the default value of darkReader Brightness, Contrast and Sepia to undefined as per @vantezzen 's suggestion. - Updated the check provided by @mahadevans87 Co-authored-by: Sampath Kumar Krishnan <sampath3493@gmail.com> Co-authored-by: Sampath Kumar Krishnan <sampathBlam@users.noreply.github.com>
* 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
* Add custom dark mode handler support (#445)Libravatar Bennett2020-03-09
| | | | | * Add custom dark mode handler support * Fix lint
* Add "Find in Page" feature (#446)Libravatar Bennett2020-03-09
| | | | | | | * Add "Find in Page" feature * Add custom theme to overlay * Fix lint
* Remove conflicting context menuLibravatar Amine Mouafik2020-03-02
|
* Implement user.css and user.js (#401)Libravatar Bennett2020-02-26
| | | | | | | | | | * #83 Implement user.css and user.js * Fix button layout in settings * Fix user script not loading Co-authored-by: Amine <amine@mouafik.fr>
* Fix lintLibravatar vantezzen2020-01-31
|
* Add better sync between Ferdi and service dark modeLibravatar vantezzen2020-01-31
|
* Fix lintLibravatar vantezzen2020-01-31
|
* #285 Fix DarkReader for FastMailLibravatar vantezzen2020-01-31
|
* Better handling of (adaptable/universal) dark modeLibravatar Amine Mouafik2019-11-28
|
* Fix lintLibravatar vantezzen2019-10-25
|
* Add debug statements to help #158Libravatar vantezzen2019-10-25
|
* Merge https://github.com/meetfranz/franz into franz-5.4.0-releaseLibravatar vantezzen2019-10-24
|\
| * only use window.open when url existsLibravatar Stefan Malzner2019-10-09
| |
* | Add toggle to disable dark mode on per-service basisLibravatar vantezzen2019-10-17
| |
* | Add toggle to disable universal dark modeLibravatar vantezzen2019-10-17
| |
* | Add button to directly open darkmode.cssLibravatar vantezzen2019-10-16
| |
* | Add custom CSS for darkmode to fix WhatsApp and Threema QR codesLibravatar vantezzen2019-10-16
| |
* | Merge branch 'master' of https://github.com/meetfranz/franz into franz-5.4.0Libravatar vantezzen2019-10-09
|\|
| * Merge branch 'release/5.4.0' into fix/skype-linksLibravatar Stefan Malzner2019-10-03
| |\
| | * Add `window.log` for easier logging in event modeLibravatar Stefan Malzner2019-10-03
| | |
| | * re-fix & improve new-window handlingLibravatar Stefan Malzner2019-10-03
| | |
| | * Use native window.openLibravatar Stefan Malzner2019-10-02
| | |
| * | Fixes #1609 by adding special handling for skype linksLibravatar Dominik Guzei2019-10-02
| |/
* | Implement Skype link fixLibravatar vantezzen2019-09-24
| |
* | Add ignore list for darkmodeLibravatar vantezzen2019-09-24
| |
* | Fix lintLibravatar vantezzen2019-09-23
| |
* | Add darkreader for universal darkmodeLibravatar vantezzen2019-09-23
| |
* | Use ferdi namespace on debuggerLibravatar vantezzen2019-09-12
|/
* fix(Proxy): Fix issue with proxy authenticationLibravatar Stefan Malzner2019-06-11
|
* feat(Spell checking): Add option to automatically detect languageLibravatar Stefan Malzner2019-02-08
|
* set trigger threshhold to 40 charactersLibravatar Stefan Malzner2019-02-07
|
* Spellcheck language autodetectionLibravatar Stefan Malzner2019-02-07
| | | | First prototype is based on slack
* Fix service dark modeLibravatar Stefan Malzner2019-02-02
| | | | Closes #1251
* Make electron 4 compatibleLibravatar Stefan Malzner2018-12-22
|
* Fix linting issuesLibravatar Stefan Malzner2018-12-09
|