Git Product home page Git Product logo

patrikx3 / redis-ui Goto Github PK

View Code? Open in Web Editor NEW
704.0 15.0 73.0 5.27 MB

πŸ“‘ P3X Redis UI: A highly functional and convenient database GUI that fits in your pocket, accessible on both responsive web and desktop applications.

Home Page: https://www.corifeus.com/redis-ui

License: MIT License

JavaScript 93.02% Batchfile 0.36% Shell 1.62% CSS 0.36% HTML 3.33% Dockerfile 1.30%
redis gui electron web dark light tree desktop ioredis internationalization

redis-ui's People

Contributors

crper avatar jennas-lee avatar p3x-robot avatar sergeyshaykhullin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

redis-ui's Issues

Cannot read property '1' of undefined connecting to redis 3.2.11

Connecting to a redis node (v3.2.11) in a cluster, I get the error Cannot read property '1' of undefined

image

This is my server info:

# Server
redis_version:3.2.11
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:7f7585cc3328f16d
redis_mode:cluster
os:Linux 3.10.0-862.14.4.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.5
process_id:953
run_id:3ce298d45e2642ef76c7b9b16efaf890436e8357
tcp_port:6381
uptime_in_seconds:9670777
uptime_in_days:111
hz:10
lru_clock:16149683
executable:/usr/local/bin/redis-server
config_file:/etc/redis/6381.conf

EDIT: more details

here's the console log took from the server version:

[P3XRS] 2019/06/04 15:12:07.985 [INFO]   [PID: 000203] socket.io connected p1yFiFD61Z0x9UekAAAA
[P3XRS] 2019/06/04 15:12:21.788 [WARN]   [PID: 000203] socket.p3xrs.connectionId undefined
[P3XRS] 2019/06/04 15:12:21.790 [INFO]   [PID: 000203] socket.io disconnected p1yFiFD61Z0x9UekAAAA
[P3XRS] 2019/06/04 15:12:22.076 [INFO]   [PID: 000203] socket.io connected ySV0aR3gj0An-BrlAAAB
[P3XRS] 2019/06/04 15:12:24.939 [WARN]   [PID: 000203] shared disconnectRedisIo try
[P3XRS] 2019/06/04 15:12:24.940 [INFO]   [PID: 000203] socket.io connection-connect added new socket.id ySV0aR3gj0An-BrlAAAB to P3Xid84bfc922b6101000077ad052f9b35a name with production-odcom-dmz-master-6381
[P3XRS] 2019/06/04 15:12:24.989 [INFO]   [PID: 000203] socket.io connection-connect P3Xid84bfc922b6101000077ad052f9b35a production-odcom-dmz-master-6381 connected
[P3XRS] 2019/06/04 15:12:25.063 [WARN]   [PID: 000203] socket.io getStreamKeys dbsize 10520 count 100
[P3XRS] 2019/06/04 15:12:35.568 [INFO]   [PID: 000203] socket.io connection-connect redis was already connected
[P3XRS] 2019/06/04 15:12:35.651 [WARN]   [PID: 000203] socket.io getStreamKeys dbsize 10367 count 100
[P3XRS] 2019/06/04 15:12:39.771 [ERROR]  [PID: 000203] TypeError: Cannot read property '1' of undefined
    at getKeysInfo (/usr/lib/node_modules/p3x-redis-ui/node_modules/p3x-redis-ui-server/src/service/socket.io/shared.js:222:43)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:189:7)

Feature Request: display full value on load

I am using Windows client and thank you for the excellent software. I really like it.

This is a minor feature request which will save me 1 additional click.
When I click on a key from the left hand menu, the value loads with a horizontal scroll bar to begin with. I then have to click the one-line item to see the full value. It would be really nice if the value just showed fully on the first load.

This might cause issues if the size of the stored value is huge. If there is a way to display the full value based on a size limit, it would be nice.

To reproduce,

Click on a key from the left menu
The value is displayed in 1 line with a horizontal scroll bar below Display json Tree option
Click on the value to expand

latest docker version prints this error: PM unhandledRejection TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string.

Hi, I just pulled the latest docker build and I'm getting this in the docker logs:

10/15/2019, 12:36:20 PM unhandledRejection TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
    at validateString (internal/validators.js:112:11)
    at Object.resolve (path.js:981:7)
    at cli (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/p3x-redis-ui-server/src/lib/cli.js:81:42)
    at boot (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/p3x-redis-ui-server/src/lib/boot.js:12:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/p3x-redis-ui/bin/p3x-redis.js:3:1)
    at Module._compile (internal/modules/cjs/loader.js:945:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:962:10)
    at Module.load (internal/modules/cjs/loader.js:798:32)
    at Function.Module._load (internal/modules/cjs/loader.js:711:12)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1014:10) Promise {
  <rejected> TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
      at validateString (internal/validators.js:112:11)
      at Object.resolve (path.js:981:7)
      at cli (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/p3x-redis-ui-server/src/lib/cli.js:81:42)
      at boot (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/p3x-redis-ui-server/src/lib/boot.js:12:10)
      at Object.<anonymous> (/usr/local/lib/node_modules/p3x-redis-ui/bin/p3x-redis.js:3:1)
      at Module._compile (internal/modules/cjs/loader.js:945:30)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:962:10)
      at Module.load (internal/modules/cjs/loader.js:798:32)
      at Function.Module._load (internal/modules/cjs/loader.js:711:12)
      at Function.Module.runMain (internal/modules/cjs/loader.js:1014:10)
}

I'm running the redis ui from docker compose:

redis-ui:
        container_name: redis-ui
        image: patrikx3/p3x-redis-ui:latest
        volumes:
            - ./docker/redis-ui/:/settings:ro
        depends_on:
            - redis1
            - redis2
            - redis3

and the ./docker/redis-ui/ folder contains the following:
.p3xrs-conns.json:

{
    "update": "2019-09-02T13:16:22.855Z",
    "list": [
        {
            "name": "redis-cluster",
            "cluster": true,
            "nodes": [
                {
                    "host": "redis1",
                    "port": 6379
                },
                {
                    "host": "redis2",
                    "port": 6379
                },
                {
                    "host": "redis3",
                    "port": 6379
                }
            ],
            "host": "redis1",
            "port": 6379,
            "id": "P3Xid0f3a53c2a6101000079605a4c12345"
        }
    ]
}

It would be nice to have tagged releases, so it would be possible to revert to last stable version.

Refreshing Browser in Cluster Mode causes "502 Bad Gateway"

The UI works great on initial load in ClusterMode and Elasticache turned on, however if you refresh your browser the whole UI is crashing with "502 Bad Gateway"

image

The logs are saying this:

using home config is /settings/.p3xrs-conns.json
[P3XRS] [PID: 000008] socket.io connected -aorob8TknFo52g7AAAB
[P3XRS] [PID: 000008] socket.io connection-connect added new socket.id -aorob8TknFo52g7AAAB to undefined name with RcDevs
[P3XRS] [PID: 000008] socket.io connection-connect undefined RcDevs connected
[P3XRS] [PID: 000008] 1/22/2021, 7:41:30 PM unhandledRejection ReplyError: ERR SELECT is not allowed in cluster mode
at parseError (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/redis-parser/lib/parser.js:179:12)
at parseType (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/redis-parser/lib/parser.js:302:14) {
command: { name: 'select', args: [ '1' ] }
} Promise {
ReplyError: ERR SELECT is not allowed in cluster mode
at parseError (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/redis-parser/lib/parser.js:179:12)
at parseType (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/redis-parser/lib/parser.js:302:14) {
command: { name: 'select', args: [Array] }
}
}

Is this a known issue or does anyone know how to resolve it?

Main content section does not change after connection changed

The main content section remains the same as the initial connection even if switching to a different connection.

version: v2021.4.124
config:

{
  "list": [
    {
      "name": "c1",
      "host": "redis.n1",
      "port": 6379,
      "password": ""
    },
    {
      "name": "c2",
      "host": "redis-eqp.n1",
      "port": 6379,
      "password": ""
    },
    {
      "name": "c3",
      "host": "redis.n2",
      "port": 6379,
      "password": ""
    }
  ]
}

Read-Only Mode

Hello,

Is it possible to add a feature to connect to Redis hosts in read-only mode, that is to prevent users from being able to modify data stored in Redis?

Thanks.

Binary keys don't work

Binary keys are listed, but clicking on them throws an error:

Cannot read property '1' of undefined

Screenshot 2019-11-09 at 16 36 57

Redis supports binary keys:

Redis keys are binary safe, this means that you can use any binary sequence as a key, from a string like "foo" to the content of a JPEG file. The empty string is also a valid key.
https://redis.io/topics/data-types-intro

And I think they shouldn't be displayed as strings, but rather as binary numbers. Folder structure visible on the screenshot above shouldn't be used too.

XSS In P3X Redis Console (Electron)

I found xss on redis console. I've done this by setting a key on redis-cli: set "<script>alert(12345)</script>" "some value". Go to console and list all the keys using the keys * command then it will be parsed as html tag.

You may also try this payload on redis-cli and then list the keys on p3x redis console using keys *:
set "<script>window.location.href = 'https://github.com/';</script>" "some value"

xss

Version: P3X Redis UI v2019.4.132

unreproducible: uncaughtException TypeError: Cannot read property 'command' of undefined

ay 10 10:53:37 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:53:37.176 [INFO]   [PID: 021488] socket.io connected FSp2v7Zjv9VyxbazAAGM
May 10 10:53:43 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:53:43.985 [WARN]   [PID: 021488] shared disconnectRedisIo try
May 10 10:53:43 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:53:43.986 [INFO]   [PID: 021488] socket.io connection-connect added new socket.id FSp2v7Zjv9VyxbazAAGM to P3Xid7e893a8c561010008cc0b0e71a398b name with localhost test
May 10 10:53:43 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:53:43.986 [INFO]   [PID: 021488] socket.io connection-connect P3Xid7e893a8c561010008cc0b0e71a398b localhost test connected
May 10 10:53:43 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:53:43.990 [WARN]   [PID: 021488] socket.io getStreamKeys dbsize 23 count 100
May 10 10:54:14 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:54:14.822 [WARN]   [PID: 021488] socket.io getStreamKeys dbsize 10000 count 100
May 10 10:54:15 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:54:15.937 [WARN]   [PID: 021488] socket.io getStreamKeys dbsize 10000 count 100
May 10 10:54:27 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:54:27.046 [ERROR]  [PID: 021488] { ReplyError: ERR unknown command `ls`, with args beginning with:
May 10 10:54:27 server p3xrs.js[21488]:     at parseError (/var/p3x-redis-ui-server/node_modules/redis-parser/lib/parser.js:179:12)
May 10 10:54:27 server p3xrs.js[21488]:     at parseType (/var/p3x-redis-ui-server/node_modules/redis-parser/lib/parser.js:302:14) command: { name: 'ls', args: [] } }
May 10 10:54:55 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:54:55.249 [ERROR]  [PID: 021488] { ReplyError: ERR unknown command `ll`, with args beginning with:
May 10 10:54:55 server p3xrs.js[21488]:     at parseError (/var/p3x-redis-ui-server/node_modules/redis-parser/lib/parser.js:179:12)
May 10 10:54:55 server p3xrs.js[21488]:     at parseType (/var/p3x-redis-ui-server/node_modules/redis-parser/lib/parser.js:302:14) command: { name: 'll', args: [] } }
May 10 10:55:01 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:55:01.177 [ERROR]  [PID: 021488] 5/10/2019, 10:55:01 AM uncaughtException TypeError: Cannot read property 'command' of undefined
May 10 10:46:17 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:46:17.356 [INFO]   [PID: 021488] socket.io disconnected 0I2fAv9nTdiiOkvJAAGL
May 10 10:53:37 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:53:37.176 [INFO]   [PID: 021488] socket.io connected FSp2v7Zjv9VyxbazAAGM
May 10 10:53:43 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:53:43.985 [WARN]   [PID: 021488] shared disconnectRedisIo try
May 10 10:53:43 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:53:43.986 [INFO]   [PID: 021488] socket.io connection-connect added new socket.id FSp2v7Zjv9VyxbazAAGM to P3Xid7e893a8c561010008cc0b0e71a398b name with localhost test
May 10 10:53:43 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:53:43.986 [INFO]   [PID: 021488] socket.io connection-connect P3Xid7e893a8c561010008cc0b0e71a398b localhost test connected
May 10 10:53:43 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:53:43.990 [WARN]   [PID: 021488] socket.io getStreamKeys dbsize 23 count 100
May 10 10:54:14 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:54:14.822 [WARN]   [PID: 021488] socket.io getStreamKeys dbsize 10000 count 100
May 10 10:54:15 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:54:15.937 [WARN]   [PID: 021488] socket.io getStreamKeys dbsize 10000 count 100
May 10 10:54:27 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:54:27.046 [ERROR]  [PID: 021488] { ReplyError: ERR unknown command `ls`, with args beginning with:
May 10 10:54:27 server p3xrs.js[21488]:     at parseError (/var/p3x-redis-ui-server/node_modules/redis-parser/lib/parser.js:179:12)
May 10 10:54:27 server p3xrs.js[21488]:     at parseType (/var/p3x-redis-ui-server/node_modules/redis-parser/lib/parser.js:302:14) command: { name: 'ls', args: [] } }
May 10 10:54:55 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:54:55.249 [ERROR]  [PID: 021488] { ReplyError: ERR unknown command `ll`, with args beginning with:
May 10 10:54:55 server p3xrs.js[21488]:     at parseError (/var/p3x-redis-ui-server/node_modules/redis-parser/lib/parser.js:179:12)
May 10 10:54:55 server p3xrs.js[21488]:     at parseType (/var/p3x-redis-ui-server/node_modules/redis-parser/lib/parser.js:302:14) command: { name: 'll', args: [] } }
May 10 10:55:01 server p3xrs.js[21488]: [P3XRS] 2019/05/10 10:55:01.177 [ERROR]  [PID: 021488] 5/10/2019, 10:55:01 AM uncaughtException TypeError: Cannot read property 'command' of undefined
May 10 10:55:01 server p3xrs.js[21488]:     at Redis.exports.returnError (/var/p3x-redis-ui-server/node_modules/ioredis/built/redis/parser.js:36:20)
May 10 10:55:01 server p3xrs.js[21488]:     at JavascriptRedisParser.returnError (/var/p3x-redis-ui-server/node_modules/ioredis/built/redis/parser.js:20:19)
May 10 10:55:01 server p3xrs.js[21488]:     at JavascriptRedisParser.execute (/var/p3x-redis-ui-server/node_modules/redis-parser/lib/parser.js:542:14)
May 10 10:55:01 server p3xrs.js[21488]:     at Socket.<anonymous> (/var/p3x-redis-ui-server/node_modules/ioredis/built/redis/event_handler.js:107:26)
May 10 10:55:01 server p3xrs.js[21488]:     at Socket.emit (events.js:193:13)
May 10 10:55:01 server p3xrs.js[21488]:     at addChunk (_stream_readable.js:295:12)
May 10 10:55:01 server p3xrs.js[21488]:     at readableAddChunk (_stream_readable.js:276:11)
May 10 10:55:01 server p3xrs.js[21488]:     at Socket.Readable.push (_stream_readable.js:231:10)
May 10 10:55:01 server p3xrs.js[21488]:     at TCP.onStreamRead (internal/stream_base_commons.js:150:17)
May 10 10:55:01 server systemd[1]: p3x-redis-ui-example.service: Main process exited, code=exited, status=1/FAILURE
May 10 10:55:01 server systemd[1]: p3x-redis-ui-example.service: Failed with result 'exit-code'.

Does not run on Ubuntu 14.04

AppRun.
9/21/2018, 6:00:06 PM unhandledRejection TypeError: Path must be a string. Received undefined
    at assertPath (path.js:28:11)
    at basename (path.js:1395:5)
    at Command.parse (/run/firejail/appimage/.appimage-9973/resources/app.asar/node_modules/p3x-redis-ui-server/node_modules/commander/index.js:462:30)
    at cli (/run/firejail/appimage/.appimage-9973/resources/app.asar/node_modules/p3x-redis-ui-server/src/lib/cli.js:12:10)
    at boot (/run/firejail/appimage/.appimage-9973/resources/app.asar/node_modules/p3x-redis-ui-server/src/lib/boot.js:12:10)
    at Object.<anonymous> (/run/firejail/appimage/.appimage-9973/resources/app.asar/src/electron/app.js:4:1)
    at Object.<anonymous> (/run/firejail/appimage/.appimage-9973/resources/app.asar/src/electron/app.js:51:3)
    at Module._compile (module.js:642:30)
    at Object.Module._extensions..js (module.js:653:10)
    at Module.load (module.js:561:32) Promise {
  <rejected> TypeError: Path must be a string. Received undefined
    at assertPath (path.js:28:11)
    at basename (path.js:1395:5)
    at Command.parse (/run/firejail/appimage/.appimage-9973/resources/app.asar/node_modules/p3x-redis-ui-server/node_modules/commander/index.js:462:30)
    at cli (/run/firejail/appimage/.appimage-9973/resources/app.asar/node_modules/p3x-redis-ui-server/src/lib/cli.js:12:10)
    at boot (/run/firejail/appimage/.appimage-9973/resources/app.asar/node_modules/p3x-redis-ui-server/src/lib/boot.js:12:10)
    at Object.<anonymous> (/run/firejail/appimage/.appimage-9973/resources/app.asar/src/electron/app.js:4:1)
    at Object.<anonymous> (/run/firejail/appimage/.appimage-9973/resources/app.asar/src/electron/app.js:51:3)
    at Module._compile (module.js:642:30)
    at Object.Module._extensions..js (module.js:653:10)
    at Module.load (module.js:561:32) }
Parent pid 9973, child pid 9977

Reference:
AppImage/appimage.github.io#825

compatibility with yedis

Hello @p3x-robot,
I'm trying to make redis-ui work with YEDIS from Yugabyte (an open-source cloud ready scalable PG and REDIS plateform).
There are few differences between REDIS and YEDIS, one of theses are the client command that is not supported yet.
Command client not yet supported. Arguments: [client, setname, ioredis-cluster(refresher)]
Related to yugabyte/yugabyte-db#985
I was wondering if there was possible to make the call to this command optional in redis-ui, or as a compatibility with Yedis option. What do you think ?

https support

Hello,

this version currently doesn't support https right?

thank you

Reids Azure Host: can't connect

Hey there,

Using P3X with a local redis server on Windows works fine.
But when I use a hosted redis on a Windows Azure (*.redis.cache.windows.net), I get the error:
ERR unknown command config, with args beginning with: get, databases,
Even though while adding the connection and testing it works fine.
I connect without using SSL by the way.

This may be related to something similar here:
spring-projects/spring-session#124

connect to sentinel mode

I am new fish for using redis and use 3 servers to make sentinel mode.
In C#, the connection string is server1:6379,server2:6379,server3:6379.
My question is if we can set connection string as "server1:6379,server2:6379,server3:6379", cause i need connect each server to view which server is master then modify redis data.

Running Redis UI on a subdirectory

Hi,

I've tried deploying Redis UI to Kubernetes Ingress and I've stumbled upon an issue running on non-root path.

When published via following definition:

- path: /redis/(.*)
  backend:
    serviceName: redis-ui                                                                                                        
    servicePort: 7843

The application loads on https://example.com/redis/, but the JS and page itself still loads as https://example.com/bundle.js.

Usually in similar docker apps, there is an environment variable that can provide the path, but I cannot find any in this project.

Is there a way to run the app on non-root path?

If there is a hint where to do the change in code, I can try doing pull request but haven't find the right place, so any hints would be welcomed too.

Getting HACK tab blinking

When i switch tabs getting additional tab HACK.
Is this really needed? Is this a workaround to reload something?
image

time-grunt issue

@sindresorhus - Deprecated because Grunt is practically unmaintained. Move on to something better. This package will continue to work with Grunt v1, but it will not receive any updates.

how come you are saying Grunt is practically unmaintained while it is?
for example https://www.npmjs.com/package/grunt-cli was updated 2 months ago.
it is just a mature and there is not much to change on it, as it is stable. but should be an error, there would be a update for sure.
i think it should not be archived. πŸ‘

Refreshing Browser in Cluster Mode causes "502 Bad Gateway"

I see there is an issue opened on this already and it is resolved in v2021.4.106 (#50)

Currently, we are using higher version 2021.4.141, looks like on this version the issue is back again, we see the same "502 Bad Gateway" error.

do you recommend sticking with the 2014.4.106 version to not see this issue?

gcloud memorystore support

Hi,

I'd love to use this with the gcloud memory store, but currently it does not work, as the CLIENT command is disabled (see bottom for the full list of blocked commands https://cloud.google.com/memorystore/docs/reference/redis-configs).

An example instance of the error, is when pressing TEST CONNECTION button:

ERR unknown command `client`, with args beginning with: `list`, 

If the CLIENT command is not crucial, and there was a workaround, I'd love to know :)

Thanks!

Redis pubsub support

Any change this would support viewing pubsub messages as the tool can provide a means to subscribe to an available channel and then the ui can provide a streaming view of messages published to the channel

UI freezes when opening a large Hashset

Hi,
I've noticed that UI will freeze on large Hashsets (mine was about 5000k) when I try to click and check the values.
I tried to downsize the paging settings but it doesn't make any difference.
I think values in Hashsets (UI) don't support paging and it tried to load all keys.
Will be a fix for this in the future?
Tested on browser and electron.
Thanks.

unable to set config through console

App version : 2020.10.329
steps

  1. go to console
  2. try to set a config. e.g. config set "save" "300 1"

got error
ERR Wrong number of arguments for CONFIG set
config set "save" "300 1"
ERR Wrong number of arguments for CONFIG set

Crash when adding new connection

I get this crash when opening settings, using docker on openshift (not using the template you provided, as it had no healthchecks):

uncaughtException TypeError: Cannot read property 'map' of undefined
at Object.sendConnections (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/p3x-redis-ui-server/src/service/socket.io/shared.js:68:44)
at Namespace. (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/p3x-redis-ui-server/src/service/socket.io/socket.js:90:24)
at Namespace.emit (node:events:378:20)
at /usr/local/lib/node_modules/p3x-redis-ui/node_modules/socket.io/dist/namespace.js:134:27
at processTicksAndRejections (node:internal/process/task_queues:76:11)
socket.io connected dNmj9eh3QpZom7IKAAAB

Unable to connect to AWS ElasticCache Instance

Getting the following error when running docker image in K8S using the manifests files. For what's it worth "Test Connection" says successful.

Config

{
      "list": [
        {
          "name": "Prod",
          "host": "master.<redacted>.cache.amazonaws.com",
          "port": 6379,
          "password": "<redacted>",
          "awsElastiCache": true
        }
      ]
}

Error

[P3XRS] [PID: 000007]  ParserError: Protocol error, got "\u0015" as reply type byte. Please report this.
    at handleError (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/redis-parser/lib/parser.js:190:15)
    at parseType (/usr/local/lib/node_modules/p3x-redis-ui/node_modules/redis-parser/lib/parser.js:304:14) {
  offset: 1,
  buffer: '{"type":"Buffer","data":[21,0,0,0,2,1,0]}'
}

[P3XRS] [PID: 000007]  socket.io connection-connect added new socket.id NOa5AkPFyewyOQkvAAAB to undefined name with Prod

[P3XRS] [PID: 000007]  socket.io connection-connect undefined Prod connected

Problem with websocket-only transport

I have some network equipment and proxies between the browser and the node server that break the WebSocket Upgrade flow. As a result the web app does not function at all. The application seems to restrict the transport options to WebSocket-only (no long-poll). Is it possible to enable long polling as a fallback (or initial) option or have that configurable?

redis cluster

Hello it's Jo (formerly @idetoile, now @devthejo),
I recently tried to use the last version of redis-ui on kubernetes with redis cluster and when I connect, I get an infinite loop like error, and UI is stuck on /main/statistics with cog icon, then after a long time I get Error: The Socket.IO timed out for this request (max 300 seconds) ..., with here is my logs during waiting:

...
2020-12-11 01:00:42 | [P3XRS] [PID: 000007]  socket.io connection-connect P3Xid100000000000000000000000000000 cluster connected
2020-12-11 01:00:42 | [P3XRS] [PID: 000007]  socket.io connection-connect P3Xid100000000000000000000000000000 cluster connected
2020-12-11 01:00:42 | [P3XRS] [PID: 000007]  socket.io connection-connect P3Xid100000000000000000000000000000 cluster connected
2020-12-11 01:00:42 | [P3XRS] [PID: 000007]  socket.io connection-connect P3Xid100000000000000000000000000000 cluster connected
...

here is my /settings/.p3xrs-conns.json:

{
  "list": [
    {
      "id": "P3Xid100000000000000000000000000000",
      "name": "cluster",
      "cluster": true,
      "nodes": [
        {
          "id": "P3Xid000000000000000000000000000000",
          "host": "redis-redis-cluster-0.redis-redis-cluster-headless.redis.svc.cluster.local",
          "port": 6379,
          "password": "4fe1502fc513706d11bb9e05a492406e4836867c323b512d52c5bf7d0d95931b"
        },
        {
          "id": "P3Xid000000000000000000000000000001",
          "host": "redis-redis-cluster-1.redis-redis-cluster-headless.redis.svc.cluster.local",
          "port": 6379,
          "password": "4fe1502fc513706d11bb9e05a492406e4836867c323b512d52c5bf7d0d95931b"
        },
        {
          "id": "P3Xid000000000000000000000000000002",
          "host": "redis-redis-cluster-2.redis-redis-cluster-headless.redis.svc.cluster.local",
          "port": 6379,
          "password": "4fe1502fc513706d11bb9e05a492406e4836867c323b512d52c5bf7d0d95931b"
        },
        {
          "id": "P3Xid000000000000000000000000000003",
          "host": "redis-redis-cluster-3.redis-redis-cluster-headless.redis.svc.cluster.local",
          "port": 6379,
          "password": "4fe1502fc513706d11bb9e05a492406e4836867c323b512d52c5bf7d0d95931b"
        },
        {
          "id": "P3Xid000000000000000000000000000004",
          "host": "redis-redis-cluster-4.redis-redis-cluster-headless.redis.svc.cluster.local",
          "port": 6379,
          "password": "4fe1502fc513706d11bb9e05a492406e4836867c323b512d52c5bf7d0d95931b"
        },
        {
          "id": "P3Xid000000000000000000000000000005",
          "host": "redis-redis-cluster-5.redis-redis-cluster-headless.redis.svc.cluster.local",
          "port": 6379,
          "password": "4fe1502fc513706d11bb9e05a492406e4836867c323b512d52c5bf7d0d95931b"
        }
      ]
    }
  ],
  "license": ""
}

For extra information I run a bitnami helm chart for redis cluster.

If you have any idea of what's going on, I'll appreciate any help.
Thanks in advance if you have a little time to spend on this.

Add multiple tree separator characters

In my case some keys using | character separator, but some . or :

I want to add all of them as a tree separator list or specify each character per connection/db/regex key

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.