Skip to content

Return index_url from /installedApps for dashboard app titles - #3352

Merged
jelveh merged 1 commit into
mainfrom
installedapps-index-url
Jul 6, 2026
Merged

Return index_url from /installedApps for dashboard app titles#3352
jelveh merged 1 commit into
mainfrom
installedapps-index-url

Conversation

@jelveh

@jelveh jelveh commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

What

Add index_url to the /installedApps response.

Why

The dashboard shows a friendlier title for anonymous apps — those whose
uuid, name, and title are all identical and start with app-. Instead of
the opaque app-… id, it displays the hostname of the app's index_url.

This already worked for apps sourced from the launch-apps list (recent /
recommended), which carry index_url. But it did not work for apps that come
only from /installedApps, because that endpoint's SELECT didn't return
index_url, so the client's fallback could never fire.

Change

  • extensions/installedApps.ts — add apps.index_url to the query. It sits
    alongside apps.icon (also not in the GROUP BY), relying on the functional
    dependency on the apps.id primary key, so it's consistent with the existing
    query and safe across SQLite/Postgres/MySQL.
  • extensions/installedApps.test.ts — assert index_url is present in the
    response so it can't be silently dropped again.

Testing

vitest run on the extension suite — 5/5 passing, including the new assertion.

The dashboard derives a hostname title for anonymous (app-…) apps whose
uuid/name/title are all identical, falling back to the host of index_url.
That worked for launch/recent apps but not for apps that come only from
/installedApps, because the endpoint didn't return index_url.

Add apps.index_url to the SELECT (alongside apps.icon, relying on the
functional dependency on the apps.id primary key) and assert it in the
extension test.
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 74.94%
🟰 ±0%
15305 / 20423
🔵 Statements 73.42%
🟰 ±0%
16179 / 22034
🔵 Functions 73.03%
🟰 ±0%
2495 / 3416
🔵 Branches 63.26%
🟰 ±0%
10621 / 16789
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
extensions/installedApps.ts 100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
Generated in workflow #477 for commit 9439d9c by the Vitest Coverage Report Action

@jelveh
jelveh merged commit fbb646b into main Jul 6, 2026
4 checks passed
velzie pushed a commit to velzie/puter that referenced this pull request Jul 12, 2026
…er#3352)

The dashboard derives a hostname title for anonymous (app-…) apps whose
uuid/name/title are all identical, falling back to the host of index_url.
That worked for launch/recent apps but not for apps that come only from
/installedApps, because the endpoint didn't return index_url.

Add apps.index_url to the SELECT (alongside apps.icon, relying on the
functional dependency on the apps.id primary key) and assert it in the
extension test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant