mirror of
https://github.com/finos/SymphonyElectron.git
synced 2025-02-25 18:55:29 -06:00
Merge branch 'master' of github.com:symphonyoss/SymphonyElectron
This commit is contained in:
commit
bb0aa52d0e
16
.github/workflows/backport.yml
vendored
Normal file
16
.github/workflows/backport.yml
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
name: Backport
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- closed
|
||||||
|
- labeled
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
backport:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
name: Backport
|
||||||
|
steps:
|
||||||
|
- name: Backport
|
||||||
|
uses: tibdex/backport@v1
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
19
.github/workflows/label.yml
vendored
Normal file
19
.github/workflows/label.yml
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# This workflow will triage pull requests and apply a label based on the
|
||||||
|
# paths that are modified in the pull request.
|
||||||
|
#
|
||||||
|
# To use this workflow, you will need to set up a .github/labeler.yml
|
||||||
|
# file with configuration. For more information, see:
|
||||||
|
# https://github.com/actions/labeler/blob/master/README.md
|
||||||
|
|
||||||
|
name: Labeler
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
label:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/labeler@v2
|
||||||
|
with:
|
||||||
|
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
19
.github/workflows/stale.yml
vendored
Normal file
19
.github/workflows/stale.yml
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
name: Mark stale issues and pull requests
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 0 * * *"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stale:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@v1
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
stale-issue-message: 'Stale issue message'
|
||||||
|
stale-pr-message: 'Stale pull request message'
|
||||||
|
stale-issue-label: 'no-issue-activity'
|
||||||
|
stale-pr-label: 'no-pr-activity'
|
13
entitlements.mac.plist
Normal file
13
entitlements.mac.plist
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>com.apple.security.cs.allow-jit</key><true/>
|
||||||
|
<key>com.apple.security.cs.allow-unsigned-executable-memory</key><true/>
|
||||||
|
<key>com.apple.security.cs.allow-dyld-environment-variables</key><true/>
|
||||||
|
<key>com.apple.security.device.audio-input</key><true/>
|
||||||
|
<key>com.apple.security.device.camera</key><true/>
|
||||||
|
<key>com.apple.security.files.user-selected.read-write</key><true/>
|
||||||
|
<key>com.apple.security.network.client</key><true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "symphony",
|
"name": "symphony",
|
||||||
"productName": "Symphony",
|
"productName": "Symphony",
|
||||||
"version": "6.0.0",
|
"version": "6.1.0",
|
||||||
"clientVersion": "2.0.1",
|
"clientVersion": "2.0.1",
|
||||||
"buildNumber": "0",
|
"buildNumber": "0",
|
||||||
"searchAPIVersion": "1.55.3",
|
"searchAPIVersion": "1.55.3",
|
||||||
@ -52,7 +52,9 @@
|
|||||||
],
|
],
|
||||||
"mac": {
|
"mac": {
|
||||||
"category": "public.app-category.business",
|
"category": "public.app-category.business",
|
||||||
"icon": "images/icon.icns"
|
"icon": "images/icon.icns",
|
||||||
|
"entitlements": "entitlements.mac.plist",
|
||||||
|
"entitlementsInherit": "entitlements.mac.plist"
|
||||||
},
|
},
|
||||||
"win": {
|
"win": {
|
||||||
"icon": "images/icon.ico",
|
"icon": "images/icon.ico",
|
||||||
|
@ -144,10 +144,13 @@ export const activate = (windowName: string, shouldFocus: boolean = true): void
|
|||||||
/**
|
/**
|
||||||
* Sets always on top property based on isAlwaysOnTop
|
* Sets always on top property based on isAlwaysOnTop
|
||||||
*
|
*
|
||||||
* @param shouldSetAlwaysOnTop
|
* @param shouldSetAlwaysOnTop {boolean} - Whether to enable always on top or not
|
||||||
* @param shouldActivateMainWindow
|
* @param shouldActivateMainWindow {boolean} - Whether to active main window
|
||||||
*/
|
*/
|
||||||
export const updateAlwaysOnTop = async (shouldSetAlwaysOnTop: boolean, shouldActivateMainWindow: boolean = true): Promise<void> => {
|
export const updateAlwaysOnTop = async (
|
||||||
|
shouldSetAlwaysOnTop: boolean,
|
||||||
|
shouldActivateMainWindow: boolean = true,
|
||||||
|
): Promise<void> => {
|
||||||
logger.info(`window-actions: Should we set always on top? ${shouldSetAlwaysOnTop}!`);
|
logger.info(`window-actions: Should we set always on top? ${shouldSetAlwaysOnTop}!`);
|
||||||
const browserWins: ICustomBrowserWindow[] = BrowserWindow.getAllWindows() as ICustomBrowserWindow[];
|
const browserWins: ICustomBrowserWindow[] = BrowserWindow.getAllWindows() as ICustomBrowserWindow[];
|
||||||
await config.updateUserConfig({ alwaysOnTop: shouldSetAlwaysOnTop });
|
await config.updateUserConfig({ alwaysOnTop: shouldSetAlwaysOnTop });
|
||||||
@ -198,6 +201,18 @@ export const handleKeyPress = (key: number): void => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the window to always on top based
|
||||||
|
* on fullscreen state
|
||||||
|
*/
|
||||||
|
const setSpecificAlwaysOnTop = () => {
|
||||||
|
const browserWindow = BrowserWindow.getFocusedWindow();
|
||||||
|
if (isMac && browserWindow && windowExists(browserWindow) && browserWindow.isAlwaysOnTop()) {
|
||||||
|
// Set the focused window's always on top level based on fullscreen state
|
||||||
|
browserWindow.setAlwaysOnTop(true, browserWindow.isFullScreen() ? 'modal-panel' : 'floating');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Monitors window actions
|
* Monitors window actions
|
||||||
*
|
*
|
||||||
@ -223,6 +238,13 @@ export const monitorWindowActions = (window: BrowserWindow): void => {
|
|||||||
if ((window as ICustomBrowserWindow).winName === apiName.mainWindowName) {
|
if ((window as ICustomBrowserWindow).winName === apiName.mainWindowName) {
|
||||||
window.on('restore', throttledWindowRestore);
|
window.on('restore', throttledWindowRestore);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Workaround for an issue with MacOS + AlwaysOnTop
|
||||||
|
// Issue: SDA-1665
|
||||||
|
if (isMac) {
|
||||||
|
window.on('enter-full-screen', setSpecificAlwaysOnTop);
|
||||||
|
window.on('leave-full-screen', setSpecificAlwaysOnTop);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -246,6 +268,13 @@ export const removeWindowEventListener = (window: BrowserWindow): void => {
|
|||||||
|
|
||||||
window.removeListener('leave-full-screen', throttledWindowChanges);
|
window.removeListener('leave-full-screen', throttledWindowChanges);
|
||||||
window.removeListener('unmaximize', throttledWindowChanges);
|
window.removeListener('unmaximize', throttledWindowChanges);
|
||||||
|
|
||||||
|
// Workaround for and issue with MacOS + AlwaysOnTop
|
||||||
|
// Issue: SDA-1665
|
||||||
|
if (isMac) {
|
||||||
|
window.removeListener('enter-full-screen', setSpecificAlwaysOnTop);
|
||||||
|
window.removeListener('leave-full-screen', setSpecificAlwaysOnTop);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user