| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This reverts commit 2772cb2e3e75f16b3dc96a2441518ed0772e3ba1.
|
| |
|
| |
|
|
|
|
|
| |
(implements #1857) (#1879)
Works for the 'Ferdi > Quit' menu, the shortcut key to quit (Cmd/Ctrl+Q) and also from the tray icon.
|
| |
|
|
|
| |
fixes #1772
|
| |
|
|
|
|
|
| |
Fixes: #1687
Co-authored-by: Vijay A <avijayr@protonmail.com>
|
|
|
|
| |
fixes #1833
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- removed unnecessary smoothscroll-polyfill (electron is Chromium-only)
- removed deprecated mobx-react-devtools (can be used through browser extension)
- changed settings icon back to original (now called mdi-cog)
- removed electron-rebuild (handled by electron-builder install-app-deps)
|
|
|
|
| |
were used for shift/alt keys
|
|
|
|
|
|
|
| |
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/
|
|
|
|
| |
to quickly open the Ferdi profile folder
|
| |
|
|
|
|
| |
the 'cmdKey'
|
|
|
|
|
|
| |
Users can now search for the services not only based on the name, but also the alias (partial match,
case-insensitive), when adding new services.
fixes #1614, #1615, #1291
|
| |
|
|
|
|
| |
(from the sidebar context menu)
|
|
|
|
|
|
| |
- Fixes issue with ferdi not starting up.
- Also adds some defensive checks for the same code in other
repeated locations.
|
|
|
|
|
|
|
|
| |
- add missing meta charset to index.html
- dont restrict scaling for user in index.html
- load animations.css conditionally based on motion preference
- load transitions conditionally in js and css based on motion preference
Co-authored-by: Vijay Raghavan Aravamudhan <vraravam@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
different
(shortcut accelerator vs tooltip text)
|
| |
|
| |
|
|
|
|
|
|
| |
app starts up
fixes #1743
|
|
|
|
|
|
| |
'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/
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
| |
hibernated service (#1680)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
|
| |
- serviceLimit
- planSelection
- trialStatusBar
and other Franz features that were for different tiers of subscription.
|
| |
|
| |
|
| |
|
| |
|