Skip to content

Conversation

@riceyrice
Copy link
Contributor

@riceyrice riceyrice commented Mar 19, 2025

  • Created Node 22 Hello World UI Kit 2 app then copied and converted Flagsmith for Jira components back into place
  • Upgraded components and hooks to UI Kit 2 and split frontend React components from backend app
  • Most backend functionality now accessed by frontend through Forge resolver, except for Jira API accessed by frontend through Forge bridge
  • Customised Forge resolver to allow ApiError to be rethrown on client without getting mangled and losing response code
  • Added permission checks for backend functionality accessed through Forge resolver
  • Changed backend functions which returned undefined to return "" as Forge resolver returns undefined as {} 😡
  • Improved error handling in all three UI components
  • Refactored issue panel editing as issue actions are no longer available to toggle edit mode: now uses a single multi-select box rather than repeated link/unlink buttons
  • Refactored issue panel Flagsmith API calls to work better with UI Kit 2 React
  • Fix clashing eslint/prettier clashes between Forge, Visual Studio Code and pre-commit

@riceyrice riceyrice requested a review from Copilot March 19, 2025 18:35
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request upgrades the application to UI Kit 2 and Node.js 22 while deprecating older components and configurations. Key changes include:

  • Updated documentation and decision records to reflect the migration to UI Kit 2.
  • Revised README instructions and manifest configuration to use Node.js 22 and native rendering.
  • Removed legacy ForgeUI-based components (AppSettingsPage and IssueFlagPanel) and streamlined ESLint and Prettier configurations.

Reviewed Changes

Copilot reviewed 41 out of 49 changed files in this pull request and generated no comments.

Show a summary per file
File Description
docs/decisions/0004-use-ui-kit-2.md Introduces the new decision for UI Kit 2 migration.
README.md Updates Node.js version and CLI installation instructions.
.prettierrc.js Adds a Prettier configuration with a set print width.
docs/decisions/0002-use-current-forge-runtime.md Marks the current runtime decision as superseded by UI Kit 2.
flagsmith-jira-app/manifest.yml Updates runtime configuration and component rendering details.
docs/decisions/0003-use-ui-kit.md Marks the previous UI Kit decision as superseded by UI Kit 2.
.pre-commit-config.yaml Removes additional ESLint dependencies to simplify the config.
docs/decisions/0001-use-atlassian-forge.md Updates the Atlassian Forge decision links and status.
.eslintrc.js Upgrades ESLint configuration (including React version update).
flagsmith-jira-app/README.md Adjusts instructions regarding frontend entry points and linting.
flagsmith-jira-app/src/AppSettingsPage.tsx Removes the legacy ForgeUI-based AppSettingsPage component.
flagsmith-jira-app/src/IssueFlagPanel.tsx Removes the legacy ForgeUI-based IssueFlagPanel component.
Files not reviewed (8)
  • .eslintrc: Language not supported
  • .npmrc: Language not supported
  • .nvmrc: Language not supported
  • .prettierrc.json: Language not supported
  • .tool-versions: Language not supported
  • flagsmith-jira-app/.gitignore: Language not supported
  • flagsmith-jira-app/.prettierrc: Language not supported
  • flagsmith-jira-app/package.json: Language not supported
Comments suppressed due to low confidence (3)

.pre-commit-config.yaml:17

  • Verify that the removal of additional ESLint dependency entries (such as eslint-loader and related plugins) is intentional and that your CI or local linting workflows are updated accordingly.

flagsmith-jira-app/src/AppSettingsPage.tsx:1

  • The entire AppSettingsPage.tsx file is removed; please ensure that all references to this legacy component (such as in routing or the manifest) have been updated as part of the UI Kit 2 migration.
-import ForgeUI, { ... } from "@forge/ui";

flagsmith-jira-app/src/IssueFlagPanel.tsx:1

  • The IssueFlagPanel.tsx file has been completely removed; please confirm that its removal is intentional and that any dependent code has been refactored to work with the updated UI Kit 2 components.
-import ForgeUI, { ... } from "@forge/ui";

@riceyrice riceyrice marked this pull request as ready for review March 19, 2025 19:43
@riceyrice riceyrice requested a review from matthewelwell March 19, 2025 19:43
@matthewelwell matthewelwell merged commit ce4c773 into main Mar 25, 2025
1 check passed
@riceyrice riceyrice deleted the feat/ui-kit-2 branch March 25, 2025 09:36
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