Skip to content

Commit 6edc0f3

Browse files
committed
Merge branch 'develop'
2 parents a063d33 + da93bd3 commit 6edc0f3

8 files changed

+97
-49
lines changed
Loading
Loading

linux-resources/io.github.Omniaevo.mqtt5-explorer.metainfo.xml

+21-7
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<id>io.github.Omniaevo.mqtt5-explorer</id>
44

55
<name>MQTT5 Explorer</name>
6-
<summary>A simple but powerful MQTT5 client</summary>
6+
<summary>Simple yet powerful MQTT5 client</summary>
77

88
<metadata_license>MIT</metadata_license>
99
<project_license>GPL-3.0-only</project_license>
@@ -41,20 +41,34 @@
4141

4242
<screenshots>
4343
<screenshot type="default">
44-
<image>https://omniaevo.github.io/assets/images/mqtt5-explorer-promotional.jpg</image>
45-
<caption>Light + Dark theme</caption>
44+
<image>https://omniaevo.github.io/assets/images/connections-page.png</image>
45+
<caption>Saved connections page</caption>
4646
</screenshot>
4747
<screenshot>
48-
<image>https://omniaevo.github.io/assets/images/client-connection-white.png</image>
49-
<caption>Light theme</caption>
48+
<image>https://omniaevo.github.io/assets/images/messages-page.png</image>
49+
<caption>Messages page</caption>
5050
</screenshot>
5151
<screenshot>
52-
<image>https://omniaevo.github.io/assets/images/client-connection.png</image>
53-
<caption>Dark theme</caption>
52+
<image>https://omniaevo.github.io/assets/images/advanced-search.png</image>
53+
<caption>Advanced search</caption>
54+
</screenshot>
55+
<screenshot>
56+
<image>https://omniaevo.github.io/assets/images/logging-notifications.png</image>
57+
<caption>Logging and notifications</caption>
5458
</screenshot>
5559
</screenshots>
5660

5761
<releases>
62+
<release version="1.17.1" date="2025-01-20">
63+
<url type="details">https://github.com/Omniaevo/mqtt5-explorer/releases/tag/v1.17.1</url>
64+
<description>
65+
<p>In this release:</p>
66+
<ul>
67+
<li>Open logging folder;</li>
68+
<li>Bug fixes.</li>
69+
</ul>
70+
</description>
71+
</release>
5872
<release version="1.17.0" date="2025-01-18">
5973
<url type="details">https://github.com/Omniaevo/mqtt5-explorer/releases/tag/v1.17.0</url>
6074
<description>

package-lock.json

+12-32
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mqtt5-explorer",
3-
"version": "1.17.0",
3+
"version": "1.17.1",
44
"private": false,
55
"license": "GPLv3",
66
"description": "A simple MQTT client that supports MQTT5 protocol.",

src/background.js

+24-8
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
Tray,
1717
} from "electron";
1818
import { createProtocol } from "vue-cli-plugin-electron-builder/lib";
19+
import os from "os";
1920
import path from "path";
2021
import Store from "electron-store";
2122
import fs from "fs";
@@ -189,11 +190,11 @@ let menuTemplate = (page = pages.HOME) => [
189190
},
190191
]
191192
: []),
192-
...(page === pages.VIEWER
193-
? [
194-
{
195-
label: "Tools",
196-
submenu: [
193+
{
194+
label: "Tools",
195+
submenu: [
196+
...(page === pages.VIEWER
197+
? [
197198
{
198199
label: "Toggle search",
199200
accelerator: "CommandOrControl+F",
@@ -212,10 +213,22 @@ let menuTemplate = (page = pages.HOME) => [
212213
}
213214
},
214215
},
215-
],
216+
]
217+
: []),
218+
{
219+
label: "Open logs folder",
220+
click: () => {
221+
const logsFolder = os.homedir() + path.sep + "mqtt5-explorer-logs";
222+
223+
if (!fs.existsSync(logsFolder)) {
224+
fs.mkdirSync(logsFolder);
225+
}
226+
227+
shell.openPath(logsFolder);
216228
},
217-
]
218-
: []),
229+
},
230+
],
231+
},
219232
...(!isMac
220233
? [
221234
{
@@ -316,6 +329,9 @@ async function createWindow() {
316329
ipcMain.on("enterHomePage", () => {
317330
Menu.setApplicationMenu(Menu.buildFromTemplate(menuTemplate(pages.HOME)));
318331
});
332+
ipcMain.on("openFolder", (_, folderPath) => {
333+
shell.openPath(folderPath);
334+
});
319335
ipcMain.on("focusWindow", () => {
320336
if (!win) return;
321337
if (!win.isVisible()) win.show();

src/utils/MessageLogger.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class MessageLogger {
1313

1414
constructor(connectionName = moment().valueOf().toString()) {
1515
this.#subPath = this.#pathSafe(connectionName);
16-
this.#basePath = os.homedir() + "/mqtt5-explorer-logs";
16+
this.#basePath = os.homedir() + this.#separator + "mqtt5-explorer-logs";
1717
}
1818

1919
get logsFolder() {

src/views/MqttViewer.vue

+38
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,22 @@
116116
</v-text-field>
117117
</v-slide-y-transition>
118118
<v-spacer />
119+
<div v-if="fileLoggingSwitch" center-vertical class="ms-2">
120+
<v-tooltip bottom>
121+
<template v-slot:activator="{ on, attrs }">
122+
<v-btn
123+
v-bind="attrs"
124+
v-on:click="toggleNotificationsDialog()"
125+
v-on="on"
126+
color="error"
127+
icon
128+
>
129+
<v-icon id="rec-icon">mdi-record-rec</v-icon>
130+
</v-btn>
131+
</template>
132+
<span>Logging is active</span>
133+
</v-tooltip>
134+
</div>
119135
<div v-if="selectedId !== -1" center-vertical class="ms-2">
120136
<v-tooltip bottom>
121137
<template v-slot:activator="{ on, attrs }">
@@ -631,6 +647,8 @@
631647
<v-text-field
632648
v-model="messageLogger.logsFolder"
633649
v-bind:outlined="outline"
650+
v-on:click:append-outer="openLogsFolder"
651+
append-outer-icon="mdi-folder-open-outline"
634652
label="Logs folder location"
635653
readonly
636654
/>
@@ -766,6 +784,14 @@ div[center-vertical] {
766784
animation-timing-function: ease-in-out;
767785
}
768786
787+
#rec-icon {
788+
animation-duration: 1s;
789+
animation-name: recording;
790+
animation-iteration-count: infinite;
791+
animation-direction: alternate;
792+
animation-timing-function: ease-in-out;
793+
}
794+
769795
@keyframes changeGrayscale {
770796
from {
771797
-webkit-filter: grayscale(0%);
@@ -779,6 +805,15 @@ div[center-vertical] {
779805
filter: grayscale(100%);
780806
}
781807
}
808+
809+
@keyframes recording {
810+
from {
811+
opacity: 0;
812+
}
813+
to {
814+
opacity: 1;
815+
}
816+
}
782817
</style>
783818

784819
<script>
@@ -907,6 +942,9 @@ export default {
907942
},
908943
909944
methods: {
945+
openLogsFolder() {
946+
ipcRenderer.send("openFolder", this.messageLogger.logsFolder);
947+
},
910948
toggleSearchField() {
911949
if (this.searchTreeVisible) this.$refs.searchField.blur();
912950

0 commit comments

Comments
 (0)