| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
(default: off)
|
|
|
|
| |
* upgrade 'electron-react-titlebar' to 1.0.0
* fix issue with 'contextIsolation' and 'enabelRemoteModule' for service-webview
|
|
|
|
|
| |
Fixes #1663
Co-authored-by: Vijay A <vraravam@users.noreply.github.com>
|
|
|
| |
(pre-requisite for electron v14)
|
|
|
|
| |
it doesn't depend on the running process any more.
|
|
|
|
|
|
| |
module dependency
(might be a pre-requisite for the electron v14 upgrade)
|
|
|
|
|
| |
* fix: remove reference to '@electron/remote' module for spell-checker
* chore: removed redundant methods from being exposed via 'window.ferdi' to the recipes
|
| |
|
| |
|
|
|
|
|
|
|
| |
'About' dialog."
This reverts commit af56a07359400e53cb3096e321bf6ee1bae12068.
Fixes #1928 and #1929
|
| |
|
|
|
|
|
| |
Remove duplication and reuse method to return typesafe boolean from settings.
Better fix for #1879
|
| |
|
|
|
| |
fixes #1878
|
| |
|
| |
|
|
|
| |
Co-authored-by: Vijay Raghavan Aravamudhan <vraravam@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
| |
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/
|
|
|
|
| |
app doesn't start up
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
|
| |
(already a dependency) rather than re-implementing by ourselves.
|
|
|
|
| |
'environment.js'. (#1588)
|
| |
|
|
|
|
| |
neeeded attrs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
| |
* Locked new version of 'recipes' submodule with corresponding changes.
|
|
|
|
| |
catchup from Franz source). [skip ci]
|
| |
|
|
|
|
| |
permissions on macos.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
Added TODOs for other duplicated code that is more involved in fixing.
|
|
|
|
|
| |
* 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'.
|
|
|
|
| |
#1373) (#1375)
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
|
|
| |
Closes #896
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
| |
Co-authored-by: Amine El Mouafik <amine@mouafik.fr>
|
| |
|