-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6ae6e24
commit 321b494
Showing
1 changed file
with
46 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,49 @@ | ||
# Tauri + React | ||
# Solace Queue Browser Utility | ||
|
||
This template should help get you started developing with Tauri and React in Vite. | ||
This project offers a Solace Queue Browser which can run either as a desktop application (Windows, Mac, and Linux) or fully in-browser with certain restrictions. Most of the capabilities of the tool require interacting with a Solace broker using both SEMP and the Solace Javascript client library, and as such, users must provide two sets of credentials to establish a connection. | ||
|
||
## Recommended IDE Setup | ||
> [!IMPORTANT] | ||
> Most of the capabilities of this tool require replay to be enabled. In most modes of operation, the utiltiy assumes all messages found on a given queue are also present on the Replay Log. Unexpected behavior may occur if the replay log has been trimmed while messages are still on the queue, or if replay filtering results in a mix replayable and non-replayable messages. Additionally, the browser will typically show messages that have been acknowledged out-of-order as still being present on a given queue. | ||
- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) | ||
## Core Capabilities | ||
|
||
- Bidrectionally browsing a queue (replay-based) from: | ||
- The oldest message (queue head) | ||
- The newest message (queue tail) | ||
- A specified date/time | ||
- A specified RGMID or Message ID | ||
- Forward-only basic queue browing (no replay required) | ||
- Client-side payload and header filtering | ||
|
||
Additionally, the following features are planned: | ||
- Republishing messages from one queue to another | ||
- Browsing messages based on topic an selectors | ||
- Browsing of Partitioned Queues | ||
|
||
## Project Design and Architecture | ||
|
||
All UI components of the project are written in HTML/JS using the Prime React component library. | ||
|
||
### Browser Mode | ||
To run the application in browser mode, check out the source code and run: | ||
|
||
``` | ||
> npm install | ||
> npm run dev | ||
``` | ||
|
||
Then open up a browser session and navigate to http://localhost:1420/. | ||
|
||
> [!NOTE] | ||
> When running the application via a browser, the broker SEMP service must be [configured to allow any host](https://docs.solace.com/Services/Managing-Services.htm#managing-cross-origin-resource-sharing). Also, if the Queue Browser is hosted on a domain other than `localhost`, the browser and broker TLS configuration must match. For example, running the utility from over HTTP allows connecting to HTTP (non secured) brokers, while running from an HTTPS site will only permit connecting to HTTPS brokers. | ||
### Desktop Mode | ||
|
||
Running this project as a desktop application assumes you have a Rust compiler installed on your system. The complete steps and prerequisites for building a Tauri app can be [found here](https://v1.tauri.app/v1/guides/getting-started/prerequisites/). | ||
|
||
Once the prerequisites have been met, it is possible to run in desktop mode: | ||
|
||
``` | ||
npm install | ||
npm run tauri dev | ||
``` |