starlanestudios / surrealist Goto Github PK
View Code? Open in Web Editor NEWSurrealist is the ultimate way to visually manage your SurrealDB database
Home Page: https://surrealist.app/
License: MIT License
Surrealist is the ultimate way to visually manage your SurrealDB database
Home Page: https://surrealist.app/
License: MIT License
Describe your feature request
Firstly thank you for creating this amazing tool.
Given that SurrealDB is is capable of creating relations between records I think having visualization of these relations as a node graph would really help in being able to see the data.
Are you willing to contribute this feature?
Optionally, I am still getting used to SurrealDB and working on my own project in which I plan to have a sort of graph view for a users connections. If I am able to get that working I think it could be generalized to for surrealist as well.
Related pull request (if applicable)
e.g. PR #4
Describe your feature request
It would be nice if I were able to zoom in to the UI, some elements feel too small. Standard buttons like ctrl +, ctrl - do not work. There is no related setting as well.
Are you willing to contribute this feature?
No, I do not have experience with the tech stack used.
Related pull request (if applicable)
N/A
Describe your feature request
Query window should execute only selected code, to make it easier to work with many different statements in one window.
Maybe you could also add a little run icon for statments in the gutter?
Are you willing to contribute this feature?
I hope I can help but I don't know Go and TS is not my strongest lang.
Describe the bug
Surrealist 1.6.2 seems to have some kind of memory leak, as it peaked at 16 gigs memory usage.
To Reproduce
Unknown, was using the explorer at the time.
Expected behavior
No memory leak
Environment (you can view the current version under Settings):
Describe the bug
unsigned integer 64 fields are not displayed correctly: create test:obj content {'test': 648518346479846132};
displays as
[
{
"id": "test:obj",
"test": 648518346479846100
}
]
Expected behavior
Should display as
[
{
"id": "test:obj",
"test": 648518346479846132
}
]
Describe the bug
Running surrealist on Debian Bullseye gives the following error: ./surrealist: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34` not found (required by ./surrealist)
I am able to build from source just fine though.
Just thought i would mention the error in case building on debian is a possibility for you instead of Ubuntu (which i assume you are building on for the linux release) as a debian build should also work fine for Ubuntu.
Thanks for the app!
Describe the bug
Certain values are rendered differently in the "Record explorer" view compared to the "Inspector" view
To Reproduce
Run the following query:
CREATE signup SET arrivalDate = '2023-10-01', arrivalFlight = 'DL 1234', arrivalTime = '6:30 PM'
Then open the record in the Explorer view.
This is what I see for example:
Expected behavior
I expect the fields in the "Record Explorer" to be rendered as they are shown in the "Inspector" view.
Environment (you can view the current version under Settings):
Thank you!
Describe your feature request
I want to scoop install surrealist
or cinst surrealist
so I can keep my software manifest clean and reproducible
Are you willing to contribute this feature?
I don't know how to make the package manifests, but I am willing to learn to do so.
Describe your feature request
I use rocksdb as surrealdb backend so would be good if we can specify optional path when starting the surrealdb server.
surreal start -u root -p root -s file:///home/prabir/app/path_to.db
Are you willing to contribute this feature?
No
Describe the bug
I have a table with aproximatly 100k events. When I'm trying to navigate to the table view in explorer I get Connection Closed
Unexpected connection close (1006). Changings Results per page didn't help.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Table records are shown.
Environment (you can view the current version under Settings):
Describe the bug
When trying to connect to an external DB over http instead of the https the client fails and throws:
This behaviour appeares to be windows specific. Works fine on MacOS
To Reproduce
Expected behavior
Surrealist connects to db.
Environment (you can view the current version under Settings):
There is currently no mention of the https://surrealist.app site, or a link to the GitHub releases (for the desktop app downloads) on the documentation page at https://surrealist.starlane.studio.
Describe your feature request
It would be nice if the column headers were static so that when I scroll down a long list of items the field names will still be visible on top.
Are you willing to contribute this feature?
Unfortunately no... I'm not familiar with the frontend you're using.
Describe the bug
I get an Connection Closed Unexpected connection close (1006)
message if I connect to a remote instance that is secured via SSL and nginx and runs surrealdb in a docker container (nightly build). I do see the /rpc
call in the remote console, but I do not see why the connection is closed. I can connect to the same endpoint e.g. via surrealdb-py
. Is there a way to show additional debug information about the connection failure? I assume it's not a bug in surrealist, but some misconfiguration. It may help others to debug.
To Reproduce
See bug description.
Expected behavior
Connection works as expected.
Environment (you can view the current version under Settings):
Describe your feature request
I believe that most developers are not working on many projects at once. So there is no point to fulfill the connecting config on every new tab. This will be best if there will be another select menu to choose the current project.
For example:
Select menu with the options somewhere in top of UI, near the Surrealist logo maybe:
Selecting option 1
will load project 1
, so every new tab will use preconfigured connection details for this project.
If you then select for example option 2
will load project 2
. Every tab from project 1
will hide. Every new tab under project 2
will use preconfigured connection details for this project.
This has also expansion potential. For example: to enable the user to save queries to global or per project.
Describe your feature request
I think there is a field for improving user experience in saved queries functionality.
I currently use PostmanCanary
and would like to fully switch to Surrealist, but there are a few things that make my life easier with Postman than Surrealist that stop me from swapping it.
Moving parts of UI
There is currently a little menu in saved queries with remove
, copy
, edit
, and run query
buttons. This menu is hidden by default and shows on hover which unfortunately comes to be very annoying as it is 'moving' all other queries in that section. Especially when are a lot of saved queries.
Transition
The same menu (see 1.) has a transition on hover. It's invisible if your cursor is away. So if you want to run the saved query, you need to move the cursor on the query itself, wait a few ms, and move it to the run query
button. It's one unnecessary step. Like the previous issue, it's going worst as you more often use this functionality. Especially when you have a lot of similar and long queries saved.
Conciseness
I think only query names should be visible in the list of saved queries. Of course, the best solution will be to leave this to the end user and just allow them to define it in the settings. I have a 30' display and in Surrealist I can see only 6 queries at once vs 40 queries in Postman.
Opening of cards
I believe the best way to handle saved queries will be to open the card with a specific query after clicking on it. Currently, we can only: copy, remove or run the query, but if the query is a long one we can't see what we actually copying, removing, or running. The edit functionality is bugged ( #13 ) making it unusable in some cases or at least not a nice experience. This will be a nice if opened tab will be named based on the saved query.
Describe your feature request
Currently connections are always instantiated using the WebSocket implementation of the web view, which comes with unavoidable security constraints. The plan is to provide a new connection mechanism in the Rust backend which should allow for connections to non-HTTPS endpoints. The original approach must be kept in order to provide compatibility with the web app unless an alternative approach can be found.
This problem is currently solvable by wrapping your SurrealDB endpoint with an SSL certificate.
Related issues
#29
Describe the bug
A clear and concise description of what the bug is. If applicable, add screenshots to help explain your problem.
To Reproduce
Steps to reproduce the behavior:
WHERE user = $auth.id
, but after digging a bit, I found I have to write (user = $auth.id
(notice the initial parentheses).WHERE (user = $auth.id)
, but I was not able to write that initially, getting errors. So the permissions field is not idempotentExpected behavior
I suspected that I had to write the whole permissions, but after digging in the code, i found that you add the WHERE ${value})
bit, so you have to remember that
Environment (you can view the current version under Settings):
Describe the bug
Whenever I download the newest .deb file in order to update the application, the installation proceeds as usual and the version number in apt is changed but Surrealist itself does not get updated and I have been stuck with v1.5.2 since. Not even uninstalling and reinstalling works.
Environment (you can view the current version under Settings):
Describe the bug
The text cursor doesn't follow the normal flow of text in the query section.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Text cursor position follows normal text flow.
Environment:
Describe the bug
After creating a record with the surrealdb library for python as follows: surrealdb_client.create_one("table", "123", {"data": 123})
On trying to open it a popup came out and say "Record link has no destination"
When I try to read data with surreal sql cli it gives me the correct data.
To Reproduce
Steps to reproduce the behavior:
Environment (you can view the current version under Settings):
Describe your feature request
Currently to switch between databases you have to open the connection settings and manually type in the name of the database you would like to view. I propose an accordion style view to:
This makes working with multiple databases a lot easier especially when the names are not easy to remember (In my case each database is named based on the uuid of an entry in a central database so to get to a db I would first look up the id of the db in a table inside my admin db and then enter that id in the connection field)
I also think this feature could be extended to namespaces as well.
Are you willing to contribute this feature?
Yes
The command INFO FOR NAMESPACE
returns the names of each database inside a namespace so it would be very simple to display this as a list or a dropdown
For namespaces INFO FOR KV
returns the list of namespaces so a similar thing could be applied there as well.
Describe your feature request
I think is a good idea to allow users to change positions in specific sections.
Currently is possible to change size only.
Describe the bug
I just installed v1.6.0 on my Ubuntu 22.10 and the rendering of text looks quite think, almost not visible. I attach a screenshot where it's hopefully visible. The text for the queries and results look just fine. It was fine in a previous release.
Expected behavior
A clear and concise description of what you expected to happen.
Environment (you can view the current version under Settings):
Describe the bug
While creating a record with a variable, it doesn't show the result, instead, it shows null, but the record created,
and record explorer is not automatically refreshed, it requires manual refresh
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Show Record
Environment (you can view the current version under Settings):
Describe the bug
When I change from table to json view in the result options. Every time I see a flash of the white background of the query and variable sections (only on this two sections).
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Don't flash my eyes 👀
Environment (you can view the current version under Settings):
This is probably not an issue with surrealist, but I have tried for a long time, and hope you can solve my issue.
I have defined a database scope called user_scope
with a signup query: CREATE user SET email = $email, pass = crypto::argon2::generate($pass)
and signin query SELECT * FROM user WHERE email = $email AND crypto::argon2::compare(pass, $pass)
with 12h session duration.
However when trying to do scope authentication in the connection details like this
It still says I am offline, and the only thing logged in the terminal is 2023-04-04T20:21:19.537330Z INFO surrealdb::net: 127.0.0.1:65491 GET /rpc HTTP/1.1 101 "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)" 136.791µs
What am I doing wrong?
Describe the bug
Accessing array elements using index variable, shows parse error on index variable.
To Reproduce
Steps to reproduce the behavior:
2.create record, and assign value for id using variable, and hardcoded value for index - its also working.
4.create record, and assign value for id using variable, and access array element using index variable shows parse error.
Expected behavior
record should created.
Environment (you can view the current version under Settings):
Just the title. Thank you for the awesome tool!
Describe your feature request
I suppose this one is tricky, but I often find myself wanting to query data, and then edit that data in place. I understand why the results in the query editor are read-only, but I thought of two possible ways around this:
Are you willing to contribute this feature?
I can't...
click connect and get this error connection closed: unexpected connection close 1006
The only way I could get it to work was to manually start a surreal instance in the CLI with args surreal start --user root --pass root
have these default credentials been removed?
macos ventura
version 1.6.2
using surreal beta 9 and surrealist 1.6.4 I am still gettings this error when attempting to connect.
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: Syntax("invalid type: sequence, expected a string")', lib/src/sql/statements/define.rs:1009:72
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[1] 8996 abort surreal start --user root --pass root --log debug -- file:Database/
I'm also still having to run a separate instance of surreal in the cli because of this error
MacOS 13.3.1
surreal 1.0.0-beta.9+20230402.5eafebd
surrealist 1.6.4
Describe the bug
Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.
Describe the bug
I have downloaded Surrealist arm64
version, since I'm using Mac with M1 chip, but the application is not starting up, displaying the “Surrealist” is damaged and can’t be opened. You should move it to the Bin.
error from the operating system. The interesting part is that the version labeled amd64
is working perfectly.
To Reproduce
Steps to reproduce the behavior:
arm64
to Mac computer with M-family chip: https://github.com/StarlaneStudios/Surrealist/releases/download/v1.5.2/surrealist-v1.5.2-darwin-arm64.tgzamd64
version: https://github.com/StarlaneStudios/Surrealist/releases/download/v1.5.2/surrealist-v1.5.2-darwin-amd64.tgzEnvironment (you can view the current version under Settings):
Describe the bug
Saved queries run only in the first tab and not the currently open one.
To Reproduce
Steps to reproduce the behavior:
edit
or run
the saved queryExpected behavior
I would expect to see ( #12 ), or at least to work edit
/ run query
in the currently open tab.
Environment (you can view the current version under Settings):
Need to add webkit2gtk as deps then create surrealist-bin
package in aur.
Can use https://github.com/marketplace/actions/publish-aur-package
Describe the bug
I know its very nit-picky but being a UI designer i just thought I'd point out a few UI inconsistencies. I can help fix some of these if needed.
you can see there is some wierd padding on windows. looks fine on mac
if you highlight the connect button on mac the highlight as a lower border radius than the button which makes it look wierd.
the main query mode seems fine it's all the new ones.
Environment (you can view the current version under Settings):
Describe your feature request
Currently, in the "Record Explorer" view, I have to click on the record id in order to display the record in the "Inspector". It would be nice if I were able to select the record by clicking anywhere in the row. This would especially be helpful if there are many fields: If I am scrolled far to the right (horizontally), then I have to scroll all the way back to the beginning in order to select a record for editing.
Are you willing to contribute this feature?
Not capable!
Describe the bug
It is not possible to select record in explorer view that has empty id.
To Reproduce
Steps to reproduce the behavior:
{"id": ""}
Expected behavior
You can select a record with empty id and inspector opens.
Environment (you can view the current version under Settings):
Currently only ARM is supported for macs. Would it be possible to also include adm64?
Describe the bug
Not sure if this is a display bug in surrealist or some problem with type inference in surrealdb, but when I create a simple object with create test content {"test": [2.3,2.3,30] }
it displays the record as
{
"id": "test:wg2egi4wf1057c1jpvzg",
"test": [
"2.3",
"2.3",
30
]
}
]
Expected behavior
The returned record should display "test": [2.3,2.3,20]
Describe the bug
red error line shows in multiline SQL commands.
Long-line SQL commands won't show an error.
To Reproduce
Steps to reproduce the behavior:
if I move to another tab, and reopen this tab, then it won't show the error line,
after that, if I type anything in the current tab (which have multiline command), then immediately it shows an error line
Expected behavior
Don't show an error line.
Environment (you can view the current version under Settings):
Yeah, um, can you make the app only update itself, without downloading the new release every time? Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.