mirror of
https://github.com/pocket-id/pocket-id.git
synced 2025-12-06 09:13:19 +03:00
🚀 Feature: App Dashboard for users #131
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @shelldandy on GitHub.
Originally assigned to: @kmendell on GitHub.
Feature description
App dashboard for users to 1-click login to available apps
Pitch
We already provide the apps with nice icons and everything, so it'd be nice for users to see dashboard with them to click and login like okta/authentik
@kmendell commented on GitHub:
I just fixed those issues I think, If you want to pull the latest version of that image.
@kmendell commented on GitHub:
@shelldandy You can test it by using this image:
ghcr.io/pocket-id/pocket-id:app-dashyou can access it by clicking the avatar in the top left thenMy Apps@shelldandy commented on GitHub:
Thanks! Just trying it out couple observations:
The rendered app icons could use
object-fit: containorobject-containclassname in tailwind for icons that aren't perfectly squared like the forgejo one.Below is with object-contain class added:
I set up a traefik proxy auth with
*and that causes no apps to get rendered.I fixed it by adding a launch url and also replacing the
*selector with all the different options instead (which is what i should been doing anyways) and that got it working, but it'd be nice if the whole view didn't stop working altogether@shelldandy commented on GitHub:
@kmendell oh for sure that'd be great. i was gonna offer to build the feature but its nice there's something going already. lmk if i can help in that PR in any way
@kmendell commented on GitHub:
See PR #727 , It not ready yet however i can build a preview image if you want to test it and provide feedback
@shelldandy commented on GitHub:
@kmendell Thanks a lot! Just tested it out and it looks fantastic!
Not related to the PR code but would also like to point a similar image rendering issue in the OIDC Clients list
I can see the images there have a
min-h-8 min-w-8classname to them but i think its probably better to do a similar approach like on the app list view of setting a fixed width and height withobject-contain@kmendell commented on GitHub:
@shelldandy Can you try
ghcr.io/pocket-id/pocket-id:nextin like 5 minutes once its done building to see if that fixed as well?@coding-blip commented on GitHub:
Not the original poster, but the dashboard is something I have been interested in since setting up Pocket ID a few weeks back. Is it going to be possible to have the "My Apps" page be the initial landing page on login?
Also along the same line of thinking, could we then also have the account settings and whatnot either be a tab or hidden behind the profile icon? Thinking something like Okta where an end user logs in and is presented with all their available apps right away and then all the settings are tucked away. The warning about no passkeys or a single passkey could also still be presented on the app dashboard page as well with a link to the settings page to set one (or an additional one) up.
I switched my install to use to the
app-dashtag and didn't see a way to do this currently, so figured I'd bring it up. Maybe it could be some kind of flag or option in the UI to choose the initial landing page with different options for whether someone is an end-user or an admin?Also, just a tiny bit of personal feedback, on the "My Apps" page, having the
Applications you have access totext doesn't really add anything of importance since the "My Apps" heading already implies that. Just my personal opinion though and it doesn't matter to me much either way.Regardless, thanks for all the hard work on this awesome app. I am loving that an app dashboard is in the works!
@shelldandy commented on GitHub:
It doesn't work for me, im getting this:
And can't really work from there, so im back to the app-dash tag
@kmendell commented on GitHub:
i forgot theres a migration, i just merged it into the app dash branch , see if that works for you. It should be built in a couple minutes.
@kmendell commented on GitHub:
I was toying with the idea of the My account page , but talking with elias, we want to keep that as the main page i think due to the user being locked out if they dont add a passkey, but once he gets back from vacation we can look into it more :). Ill remove the extra text too as it is a bit redundant.
@shelldandy commented on GitHub:
@kmendell sorry i didn't see your newer replies. just tried again but again i got the same migration error :/
@coding-blip commented on GitHub:
I also tried to go back into the main
v1tag and am getting migration errors that @shelldandy is seeing as well. Also tried specifically going back to the previous version I was on as well which, I believe, wasv1.6.2and got the same error.@kmendell commented on GitHub:
You would have to manually remove the migration, the clean way would be similar to below:
sqlite3 pocket-id.db.read /path/to/your/20250709213113_oidc_client_launch_url.down.sqlyou would have to get the sql migration down file from here: https://github.com/pocket-id/pocket-id/blob/feat/simple-dashboard/backend/resources/migrations/sqlite/20250709213113_oidc_client_launch_url.down.sql
Postgres is similar as well.
The non-clean way is just to edit the migration_schema table value to be the last migration before the launch url one. but then the tables still exist unless you manually delete them.
@coding-blip commented on GitHub:
Cool sounds good! I understand keeping it that way for sure, especially since it's already in place.
Maybe in the future it can be a toggle and as I mentioned the warning about no passkeys or single passkey could also be presented on the dashboard for visibility if someone were to have the app dashboard be their initial page on login. Could be the best of both worlds! Either way, thanks again!
@coding-blip commented on GitHub:
If anyone else is in the same predicament as myself, here are the steps I took to fix it.
I couldn't get the
20250709213113_oidc_client_launch_url.down.sqlfile method to work, but I don't know a whole lot about the inner working of DBs, so not surprising. I got sqlite3 installed and was able to run it on the DB along with the .read command, but when I started the container back up, it still complained about the missing migration file when I went back to v1.6.2.I ended up making a backup copy of my pocket id DB and then using "DB Browser for SQLite" to connect to the main DB. Once connected, I browsed the
schema_migrationstable as you mentioned and set the version to20250630000000which was the last migration present for v1.6.2. After applying this and writing the change to the DB, and then closing the DB, I was able to run pocket-id v1.6.2 again. I then checked the simple-dashboard branch to find what the .down.sql migration was doing, which was the following:ALTER TABLE oidc_clients DROP COLUMN launch_url;.So I connected to the DB again with DB Browser and checked for the
launch_urlcolumn on theoidc_clientstable and saw it was not there, so I guess the.read 20250709213113_oidc_client_launch_url.down.sqlstill cleaned it up, so I think my DB should be back to normal.After all this I was also able to upgrade to v1.6.4 (latest version as of posting this) without any issues. Thanks for the tips @kmendell!
@shelldandy commented on GitHub:
The reference down command is no longer available since the branch was deleted :(
@shelldandy commented on GitHub:
I got it working!
First i had to run:
Which i got from here
Then I ran:
Which i found here
After that I got it working