diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 31302179..2221ecb2 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -17,6 +17,12 @@ jobs:
os: [macos-11, ubuntu-latest, windows-latest]
steps:
+ - name: Exit if not on master branch
+ if: contains(env.BRANCH_NAME, 'master') == false
+ run: |
+ echo "Wrong environment ${{env.BRANCH_NAME}}"
+ exit 0
+
- name: Check out Git repository
uses: actions/checkout@v3
with:
diff --git a/package-lock.json b/package-lock.json
index 25fdd969..e26ff70c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -27,7 +27,7 @@
"leaflet": "~1.7.1",
"marked": "~4.0.19",
"moment": "~2.29.4",
- "mysql2": "~2.3.2",
+ "mysql2": "~3.5.2",
"node-firebird": "~1.1.4",
"pg": "~8.11.1",
"pg-connection-string": "~2.5.0",
@@ -9664,15 +9664,16 @@
"license": "ISC"
},
"node_modules/mysql2": {
- "version": "2.3.3",
- "license": "MIT",
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.5.2.tgz",
+ "integrity": "sha512-cptobmhYkYeTBIFp2c0piw2+gElpioga1rUw5UidHvo8yaHijMZoo8A3zyBVoo/K71f7ZFvrShA9iMIy9dCzCA==",
"dependencies": {
- "denque": "^2.0.1",
+ "denque": "^2.1.0",
"generate-function": "^2.3.1",
"iconv-lite": "^0.6.3",
- "long": "^4.0.0",
- "lru-cache": "^6.0.0",
- "named-placeholders": "^1.1.2",
+ "long": "^5.2.1",
+ "lru-cache": "^8.0.0",
+ "named-placeholders": "^1.1.3",
"seq-queue": "^0.0.5",
"sqlstring": "^2.3.2"
},
@@ -9680,19 +9681,18 @@
"node": ">= 8.0"
}
},
- "node_modules/mysql2/node_modules/lru-cache": {
- "version": "6.0.0",
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
+ "node_modules/mysql2/node_modules/long": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
+ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
},
- "node_modules/mysql2/node_modules/yallist": {
- "version": "4.0.0",
- "license": "ISC"
+ "node_modules/mysql2/node_modules/lru-cache": {
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz",
+ "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==",
+ "engines": {
+ "node": ">=16.14"
+ }
},
"node_modules/named-placeholders": {
"version": "1.1.3",
diff --git a/package.json b/package.json
index cb6e143b..cdfbfc2a 100644
--- a/package.json
+++ b/package.json
@@ -66,6 +66,7 @@
"target": "deb",
"arch": [
"x64",
+ "arm64",
"armv7l"
]
},
@@ -73,6 +74,7 @@
"target": "AppImage",
"arch": [
"x64",
+ "arm64",
"armv7l"
]
}
@@ -134,7 +136,7 @@
"leaflet": "~1.7.1",
"marked": "~4.0.19",
"moment": "~2.29.4",
- "mysql2": "~2.3.2",
+ "mysql2": "~3.5.2",
"node-firebird": "~1.1.4",
"pg": "~8.11.1",
"pg-connection-string": "~2.5.0",
diff --git a/scripts/translationCheck.js b/scripts/translationCheck.js
new file mode 100644
index 00000000..e69de29b
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index 701d2131..40c6f48a 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -4,7 +4,7 @@ summary: Open source SQL client made to be simple and complete.
description: |
Antares is an SQL client that aims to become an useful and complete tool, especially for developers.
The target is to support as many databases as possible, and all major operating systems, including the ARM versions.
-base: core20
+base: core22
grade: stable
confinement: strict
@@ -119,10 +119,10 @@ parts:
cleanup:
after: [antares]
plugin: nil
- build-snaps: [gnome-3-38-2004]
+ build-snaps: [gnome-42-2204]
override-prime: |
set -eux
- cd /snap/gnome-3-38-2004/current
+ cd /snap/gnome-42-2204/current
find . -type f,l -exec rm -f $SNAPCRAFT_PRIME/{} \;
mdns-lookup:
@@ -136,7 +136,7 @@ parts:
- libnss-mdns
override-prime: |
set -eux
- sed -Ee 's/^\s*hosts:(\s+)files/hosts:\1files mdns4_minimal \[NOTFOUND=return\]/' /snap/core20/current/etc/nsswitch.conf > $SNAPCRAFT_STAGE/etc/nsswitch.conf
+ sed -Ee 's/^\s*hosts:(\s+)files/hosts:\1files mdns4_minimal \[NOTFOUND=return\]/' /snap/core22/current/etc/nsswitch.conf > $SNAPCRAFT_STAGE/etc/nsswitch.conf
snapcraftctl prime
prime:
- lib/$SNAPCRAFT_ARCH_TRIPLET/libnss_mdns4_minimal*
@@ -146,10 +146,7 @@ apps:
antares:
command: opt/Antares/antares --no-sandbox
desktop: usr/share/applications/antares.desktop
- extensions: [gnome-3-38]
- environment:
- # Fallback to XWayland if running in a Wayland session.
- DISABLE_WAYLAND: 1
+ extensions: [gnome]
plugs:
- browser-support
- cups-control
diff --git a/src/common/shortcuts.ts b/src/common/shortcuts.ts
index 46822cfe..0f63517c 100644
--- a/src/common/shortcuts.ts
+++ b/src/common/shortcuts.ts
@@ -1,22 +1,22 @@
export const shortcutEvents: { [key: string]: { l18n: string; l18nParam?: string | number; context?: 'tab' }} = {
- 'run-or-reload': { l18n: 'message.runOrReload', context: 'tab' },
- 'open-new-tab': { l18n: 'message.openNewTab', context: 'tab' },
- 'close-tab': { l18n: 'message.closeTab', context: 'tab' },
- 'format-query': { l18n: 'message.formatQuery', context: 'tab' },
- 'kill-query': { l18n: 'message.killQuery', context: 'tab' },
- 'query-history': { l18n: 'message.queryHistory', context: 'tab' },
- 'clear-query': { l18n: 'message.clearQuery', context: 'tab' },
- 'next-tab': { l18n: 'message.nextTab' },
- 'prev-tab': { l18n: 'message.previousTab' },
- 'open-all-connections': { l18n: 'message.openAllConnections' },
- 'open-filter': { l18n: 'message.openFilter' },
- 'next-page': { l18n: 'message.nextResultsPage' },
- 'prev-page': { l18n: 'message.previousResultsPage' },
- 'toggle-console': { l18n: 'message.toggleConsole' },
- 'save-content': { l18n: 'message.saveContent' },
- 'create-connection': { l18n: 'message.createNewConnection' },
- 'open-settings': { l18n: 'message.openSettings' },
- 'open-scratchpad': { l18n: 'message.openScratchpad' }
+ 'run-or-reload': { l18n: 'application.runOrReload', context: 'tab' },
+ 'open-new-tab': { l18n: 'application.openNewTab', context: 'tab' },
+ 'close-tab': { l18n: 'application.closeTab', context: 'tab' },
+ 'format-query': { l18n: 'database.formatQuery', context: 'tab' },
+ 'kill-query': { l18n: 'database.killQuery', context: 'tab' },
+ 'query-history': { l18n: 'database.queryHistory', context: 'tab' },
+ 'clear-query': { l18n: 'database.clearQuery', context: 'tab' },
+ 'next-tab': { l18n: 'application.nextTab' },
+ 'prev-tab': { l18n: 'application.previousTab' },
+ 'open-all-connections': { l18n: 'application.openAllConnections' },
+ 'open-filter': { l18n: 'application.openFilter' },
+ 'next-page': { l18n: 'application.nextResultsPage' },
+ 'prev-page': { l18n: 'application.previousResultsPage' },
+ 'toggle-console': { l18n: 'application.toggleConsole' },
+ 'save-content': { l18n: 'application.saveContent' },
+ 'create-connection': { l18n: 'connection.createNewConnection' },
+ 'open-settings': { l18n: 'application.openSettings' },
+ 'open-scratchpad': { l18n: 'application.openScratchpad' }
};
interface ShortcutRecord {
@@ -124,7 +124,7 @@ const shortcuts: ShortcutRecord[] = [
for (let i = 1; i <= 9; i++) {
shortcutEvents[`select-tab-${i}`] = {
- l18n: 'message.selectTabNumber',
+ l18n: 'application.selectTabNumber',
l18nParam: i
};
diff --git a/src/main/libs/importers/sql/MySQLlImporter.ts b/src/main/libs/importers/sql/MySQLlImporter.ts
index 51c8e418..9888e0d0 100644
--- a/src/main/libs/importers/sql/MySQLlImporter.ts
+++ b/src/main/libs/importers/sql/MySQLlImporter.ts
@@ -47,7 +47,7 @@ export default class MySQLImporter extends BaseImporter {
catch (error) {
this.emit('query-error', {
sql: query,
- message: error.sqlMessage,
+ message: error.sqlMessage || error.message,
sqlSnippet: error.sql,
time: new Date().getTime()
});
diff --git a/src/renderer/App.vue b/src/renderer/App.vue
index 3d3b720f..3a20a72d 100644
--- a/src/renderer/App.vue
+++ b/src/renderer/App.vue
@@ -95,22 +95,22 @@ onMounted(() => {
const InputMenu = Menu.buildFromTemplate([
{
- label: t('word.cut'),
+ label: t('general.cut'),
role: 'cut'
},
{
- label: t('word.copy'),
+ label: t('general.copy'),
role: 'copy'
},
{
- label: t('word.paste'),
+ label: t('general.paste'),
role: 'paste'
},
{
type: 'separator'
},
{
- label: t('message.selectAll'),
+ label: t('general.selectAll'),
role: 'selectAll'
}
]);
diff --git a/src/renderer/components/BaseConfirmModal.vue b/src/renderer/components/BaseConfirmModal.vue
index 76481f79..61a98278 100644
--- a/src/renderer/components/BaseConfirmModal.vue
+++ b/src/renderer/components/BaseConfirmModal.vue
@@ -31,13 +31,13 @@
class="btn btn-primary mr-2"
@click.stop="confirmModal"
>
- {{ confirmText || t('word.confirm') }}
+ {{ confirmText || t('general.confirm') }}
diff --git a/src/renderer/components/FakerSelect.vue b/src/renderer/components/FakerSelect.vue
index 49385bd3..8aea2fb3 100644
--- a/src/renderer/components/FakerSelect.vue
+++ b/src/renderer/components/FakerSelect.vue
@@ -4,7 +4,7 @@
v-model="selectedGroup"
class="form-select"
:options="[{name: 'manual'}, ...fakerGroups]"
- :option-label="(opt: any) => opt.name === 'manual' ? t('message.manualValue') : t(`faker.${opt.name}`)"
+ :option-label="(opt: any) => opt.name === 'manual' ? t('general.manualValue') : t(`faker.${opt.name}`)"
option-track-by="name"
:disabled="!isChecked"
:style="'flex-grow: 0;'"
@@ -41,7 +41,7 @@