luin / medis

💻 Medis is a beautiful, easy-to-use Mac database management application for Redis.
http://getmedis.com
MIT License
11.6k stars 788 forks source link

[feature request] URL handler #306

Open nlemoine opened 6 months ago

nlemoine commented 6 months ago

Hi,

I'm missing a URL handler to open Medis from a URL (DSN), such as:

medis://user@host:port

It's really useful to be able to quickly open and connect to a Redis database.

See for Electron based app: https://github.com/RedisInsight/RedisInsight/blob/65b886100f1436d82710985df2bd2eda6c46aa96/tests/e2e/tests/web/critical-path/url-handling/url-handling.e2e.ts#L25-L51

nlemoine commented 6 months ago

Another great example from Sequel Ace: https://github.com/Sequel-Ace/Sequel-Ace/issues/108

luin commented 6 months ago

Thanks for the feedback @nlemoine !

What's the use case of the URL handler? I'm thinking about whether we should support medis:// or redis://?

nlemoine commented 6 months ago

What's the use case of the URL handler?

The ability to have links in UIs (can be a browser, a terminal, basically anything that prints cilckable links) that directly opens your default [service] client (mysql, redis, etc.) and connects without having to fill the connection details manually.

My personal use is for a Docker extension/project dashboard (since Redis port is mapped in a different port in the container, it often changes, I can't bookmark a favorite with a fixed port) where I can dynamically build a link to open my favorite UI client so I can have all my tool available one click away.

I'm thinking about whether we should support medis:// or redis://?

I have no strong recommandation here. I don't think there's a standard on this and I'm not aware of how other Redis clients behaves (besides Redis Insights but I'd rather stick to Medis ;)).

You can find kind of standard (at least widely used) DSN for Redis here: https://symfony.com/doc/current/components/cache/adapters/redis_adapter.html#configure-the-connection

The idea that you can get your link directly from your env vars is pretty nice.

Thanks for considering this 🙏 Let me know when this happens :)

luin commented 6 months ago

Just released (MAS version may take a couple of days to get reviewed): https://docs.getmedis.com/reference/custom-url-scheme. Please feel free to let me know in case there are any issues.

nlemoine commented 6 months ago

Thanks a lot! This works like a charm 🙂

Any chance you might handle ssh remote connection? (Sequel Ace like)

luin commented 5 months ago

Actually let's keep this open until ssh remote connection is supported