Skip to content

chore(samples): fix sample-app convention gaps - #597

Merged
Raina451 merged 9 commits into
mainfrom
chore/fix-sample-app-gaps
Jul 13, 2026
Merged

chore(samples): fix sample-app convention gaps#597
Raina451 merged 9 commits into
mainfrom
chore/fix-sample-app-gaps

Conversation

@Raina451

@Raina451 Raina451 commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Fix sample-app convention gaps

Clears the structural violations flagged by the sample-app gate (PR #595) across all 12 sample apps, and adds preview demos for every app that can run against a live tenant. Draft while the 5 action-app previews are sorted (see below).

What changed

Action apps (coded-action-apps/*, 5 apps) — added a uipath.json.example, a .gitignore that ignores .uipath, and a favicon.

Web apps (process-app-v0, process-app-v1, conversational-agent-app) — migrated to use @uipath/coded-apps-dev vite plugin. Config now comes from injected <meta name="uipath:*"> tags via a config-less new UiPath() rather than import.meta.env; dead .env/type config was removed.

Miscdata-fabric-app-angular .gitignore now ignores .uipath; document-validation-app's example config was renamed to uipath.json.example.

Two changes worth calling out

  • SDK bump on the process apps. Config-less new UiPath() needs SDK ≥ 1.4, so their @uipath/uipath-typescript dep moved to ^1.3.1 (resolves 1.5.3). That surfaced one API-drift fix: getExecutionHistory now takes a folderKey.
  • Tailwind fix. Both process apps declared Tailwind v4 but used v3 PostCSS syntax, so neither built at HEAD. Applied the standard v4 fix. Pre-existing, unrelated to the gate, bundled so the migrated apps build green.

Preview demos

Captured live against a real tenant

App Preview
data-fabric-app ✅ entities, records, choice sets
process-app-v0 ✅ Maestro processes + instances
process-app-v1 ✅ processes + faulted-instance detail
conversational-agent-app ✅ agent picker + chat thread
document-validation-app ✅ validation inbox (from a screen recording)

Still needs a preview:

  • 5 action apps — only render inside Action Center behind a live task; a standalone run has nothing to show. will add that as a separate pr.

Raina451 and others added 2 commits July 10, 2026 17:31
Adds uipath.json.example, a .gitignore that ignores .uipath/uipath.json,
and a favicon to the five coded-action-apps. Also gives data-fabric-app-angular's
.gitignore a .uipath entry and renames document-validation-app's example
config to the expected uipath.json.example.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
process-app-v0, process-app-v1 and conversational-agent-app now use the
@uipath/coded-apps-dev vite plugin: base './', a uipath.json.example, and
config sourced from injected <meta name="uipath:*"> tags via a config-less
new UiPath() instead of import.meta.env. App-specific env (e.g. ENTITY_ID)
is untouched.

Config-less new UiPath() needs SDK >= 1.4, so the process apps' SDK dep was
bumped to ^1.3.1 (resolves 1.5.3); that surfaced one API-drift fix
(getExecutionHistory now takes folderKey). Also fixes a pre-existing
Tailwind v4 / PostCSS misconfig that stopped both process apps building.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
# Local UiPath OAuth config (tenant-specific) — copy uipath.json.example
# to uipath.json and fill in your values. The committed sample only ships
# the .example template, not real tenant info.
uipath.json

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This .gitignore entry won't protect the uipath.json that's already tracked in this repo. Three action apps have committed uipath.json files that remain tracked regardless of .gitignore:

  • samples/coded-action-apps/action-app-with-data-fabric-entity/uipath.json
  • samples/coded-action-apps/action-app-with-file-attachment-document/uipath.json
  • samples/coded-action-apps/action-app-with-storage-bucket-document/uipath.json

The .gitignore comment on lines 12–14 ("The committed sample only ships the .example template") is also incorrect for these three apps — they still have committed uipath.json files alongside the new uipath.json.example.

When a developer fills in one of those tracked files with real credentials, git status will show it as modified (not ignored), making it easy to accidentally commit secrets.

Fix: untrack them so .gitignore can take effect:

git rm --cached samples/coded-action-apps/action-app-with-data-fabric-entity/uipath.json
git rm --cached samples/coded-action-apps/action-app-with-file-attachment-document/uipath.json
git rm --cached samples/coded-action-apps/action-app-with-storage-bucket-document/uipath.json

The migration to config-less new UiPath() orphaned some env config.
Drops conversational-agent-app's unused .env.example and its VITE_UIPATH_*
type block; removes the dead CLIENT_ID/SCOPE lines from the process apps'
.env.example (keeping the ORG/TENANT/BASE_URL/ENTITY_ID vars still used for
the Data Fabric link).

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
@claude

claude Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Review findings

One issue found during this run:

Tracked uipath.json files not untracked — three action apps have pre-existing committed uipath.json files (action-app-with-data-fabric-entity, action-app-with-file-attachment-document, action-app-with-storage-bucket-document). The new .gitignore entries listing uipath.json as ignored won't affect already-tracked files, so a developer filling in real credentials would see the file as modified in git status — not ignored — making an accidental credential commit easy. See the inline comment on action-app-with-data-fabric-entity/.gitignore for the git rm --cached fix.

Everything else looks good: the coded-apps-dev migration, Tailwind v4 PostCSS fix, SDK bump, getExecutionHistory(folderKey) drift fix, and the structural additions (favicons, uipath.json.example, .gitignore) all look correct.

Captured against a live tenant: the Data Fabric Explorer browsing an
entity's records and a choice set. Adds screenshots/preview.gif and a
Preview section to the README.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
@claude

claude Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

✅ No issues found. Checked for bugs and CLAUDE.md compliance.

Raina451 and others added 3 commits July 10, 2026 18:12
Captured against a live tenant: process-app-v0/v1 browsing Maestro
processes and a faulted instance's execution detail, and
conversational-agent-app picking an agent and viewing a chat thread.
Each gets screenshots/preview.gif and a Preview section.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Committing uipath.json is allowed, so drop it (and its stale comment)
from the .gitignore files added during this change. .uipath stays ignored.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
The process apps built the Data Fabric entity link from VITE_UIPATH_ORG_NAME
/TENANT_NAME/BASE_URL. Those now come from uipath.json, so read them off
sdk.config instead and drop the three vars from .env.example. Only the
app-specific VITE_UIPATH_ENTITY_ID remains in env.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
node_modules
dist
dist-ssr
.uipath

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The six new .gitignore files in this PR (action-app-with-document, action-app-with-image, action-app-with-file-attachment-document, action-app-with-data-fabric-entity, action-app-with-storage-bucket-document, and conversational-agent-app) are all missing uipath.json as an ignored pattern.

data-fabric-app-angular/.gitignore already has this entry — these should match. Without the entry:

  • Developers who copy uipath.json.exampleuipath.json and fill in real credentials will see the file as untracked (not ignored), making an accidental git add . easy.
  • For the three action apps that still have uipath.json tracked (see the open thread on action-app-with-data-fabric-entity/.gitignore), running git rm --cached would untrack them but they'd immediately show back as untracked — not ignored — because there's no .gitignore entry.

Same one-liner fix across all six files:

Suggested change
.uipath
.uipath
uipath.json

@claude

claude Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Review findings

Missing uipath.json in new .gitignore files — all six new .gitignore files added in this PR omit uipath.json as an ignored pattern. The existing data-fabric-app-angular/.gitignore has it correctly; these should match. Without the entry, developers copying uipath.json.exampleuipath.json get no protection from accidental credential commits. For the three apps that still have uipath.json tracked, running git rm --cached (as the open thread suggests) would untrack them but leave them immediately re-appearing as untracked (not ignored). See the inline comment on action-app-with-document/.gitignore — same one-line fix applies to all six files.

Comment on lines +9 to +10
dist-ssr
.uipath

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uipath.json is missing from this ignore list — only .uipath (the runtime directory) is ignored. A developer who copies uipath.json.exampleuipath.json and fills in credentials will see the file as untracked in git status, not silently ignored, making an accidental credential commit easy.

The data-fabric-app-angular/.gitignore already has this right; the same pattern should be used here (and in the five action-app gitignores, all using the same template):

Suggested change
dist-ssr
.uipath
dist-ssr
# Tenant-specific credentials — copy uipath.json.example instead
uipath.json
.uipath

@claude

claude Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Review findings

One new issue found this run:

uipath.json missing from all six new .gitignore files — the five action-app gitignores and conversational-agent-app/.gitignore all ignore only .uipath (the runtime directory) but not uipath.json itself. A developer who copies uipath.json.exampleuipath.json and fills in credentials will see the file as untracked (not silently ignored), making an accidental commit easy. data-fabric-app-angular/.gitignore already has this right with uipath.json listed plus the comment "Tenant-specific credentials". See the inline comment on conversational-agent-app/.gitignore lines 9–10 for a suggested fix that applies to the shared template.

The existing open thread about tracked uipath.json files needing git rm --cached (three action apps) is unchanged and still open.

Preview gif from a screen recording of the validation inbox: task list,
extracted fields, and the highlighted document text view. Cropped to the
app viewport, sped up, and downscaled.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
Comment thread samples/process-app-v0/uipath.json.example
@claude

claude Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Review findings

One new issue found this run:

process-app gitignores missing uipath.json — both process-app-v0 and process-app-v1 have *.env and *.local in their gitignores but not uipath.json. Since this PR migrates both apps from env-based auth to the uipath.json pattern (adding uipath.json.example to each), a developer who copies the example and fills in credentials will see the file as untracked — not ignored — making an accidental commit easy. See the inline comment on process-app-v0/uipath.json.example line 1. Same one-line fix applies to both apps existing gitignores.

The three open threads from prior runs (tracked uipath.json files needing git rm --cached; missing uipath.json in the six new gitignores) remain open and unaddressed.

Replaces every sample-app favicon with docs/assets/favicon.png (the
current UiPath icon). document-validation-app switches from favicon.svg
to the png and its index.html <link> is updated to match.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@Raina451
Raina451 marked this pull request as ready for review July 10, 2026 13:35
@Raina451
Raina451 requested a review from a team July 10, 2026 13:35
@claude

claude Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Review findings

Three previously-resolved threads were reopened because the requested changes were not made in the current branch state:

Reopened threads:

  1. Tracked uipath.json files need git rm --cached — all three action apps still have their uipath.json committed and tracked. The new .gitignore entries have no effect on already-tracked files, so a developer who fills in real credentials will see the file as modified (not ignored) in git status. See thread on action-app-with-data-fabric-entity/.gitignore.

  2. uipath.json missing from the six new .gitignore files — the five action-app gitignores and conversational-agent-app/.gitignore all only ignore .uipath (the runtime directory), not uipath.json itself. data-fabric-app-angular/.gitignore already has this right. See thread on action-app-with-document/.gitignore.

  3. uipath.json missing from conversational-agent-app/.gitignore — same issue as above, specific to the conversational agent app. See thread on conversational-agent-app/.gitignore line 10.

Thread on process-app-v0/uipath.json.example remains resolved — maintainer explicitly declined that change.

@Raina451
Raina451 merged commit 6bbdaa3 into main Jul 13, 2026
20 checks passed
@Raina451
Raina451 deleted the chore/fix-sample-app-gaps branch July 13, 2026 18:29
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.

3 participants