feat(confirm): input app name for app deletion confirmation#33660
feat(confirm): input app name for app deletion confirmation#33660crazywoola merged 1 commit intolanggenius:mainfrom
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly improves user experience and data safety by introducing a mandatory app name input for deletion confirmation. This change prevents accidental data loss by requiring explicit user intent before an app is permanently removed. The implementation leverages an enhanced, reusable confirmation component and includes comprehensive internationalization for a global user base. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Pull request overview
Adds “type app name to confirm” support for app deletion flows in the web UI, along with localized strings across supported languages.
Changes:
- Added new i18n strings for delete-confirm input label/placeholder in multiple locales.
- Extended deprecated
Confirmmodal to optionally render a confirm-input and disable confirm until it matches. - Updated app deletion dialogs (AppCard + AppInfoModals) to require typing the app name before enabling deletion.
Reviewed changes
Copilot reviewed 25 out of 25 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| web/i18n/ar-TN/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/de-DE/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/en-US/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/es-ES/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/fr-FR/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/hi-IN/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/id-ID/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/it-IT/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/ja-JP/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/ko-KR/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/nl-NL/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/pl-PL/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/pt-BR/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/ro-RO/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/ru-RU/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/sl-SI/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/th-TH/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/tr-TR/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/uk-UA/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/vi-VN/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/zh-Hans/app.json | Adds delete confirm input label/placeholder translations |
| web/i18n/zh-Hant/app.json | Adds delete confirm input label/placeholder translations |
| web/app/components/base/confirm/index.tsx | Adds optional confirm-input gating + Enter key handling update |
| web/app/components/apps/app-card.tsx | Adds app-name input requirement before enabling delete in AlertDialog |
| web/app/components/app-sidebar/app-info/app-info-modals.tsx | Uses Confirm confirm-input gating for delete modal |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Code Review
The pull request introduces a new confirmation step for app deletion, requiring users to type the app's name to proceed. This is a valuable enhancement for preventing accidental data loss. The implementation correctly integrates the new input field into the Confirm component and updates the relevant app deletion modals. Internationalization files have also been updated to support the new labels and placeholders across various languages.
There was a problem hiding this comment.
Pull request overview
Adds a “type app name to confirm” safeguard to the app deletion flow, and localizes the new UI strings across supported languages in the web frontend.
Changes:
- Added new i18n keys for the delete-confirmation input label/placeholder across multiple locales.
- Extended the deprecated
Confirmoverlay to optionally render a confirmation input and disable confirmation until input matches. - Updated app deletion dialogs to require typing the app name before enabling the destructive action.
Reviewed changes
Copilot reviewed 25 out of 25 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| web/i18n/zh-Hant/app.json | Adds Traditional Chinese strings for typed-name delete confirmation. |
| web/i18n/zh-Hans/app.json | Adds Simplified Chinese strings for typed-name delete confirmation. |
| web/i18n/vi-VN/app.json | Adds Vietnamese strings for typed-name delete confirmation. |
| web/i18n/uk-UA/app.json | Adds Ukrainian strings for typed-name delete confirmation. |
| web/i18n/tr-TR/app.json | Adds Turkish strings for typed-name delete confirmation. |
| web/i18n/th-TH/app.json | Adds Thai strings for typed-name delete confirmation. |
| web/i18n/sl-SI/app.json | Adds Slovenian strings for typed-name delete confirmation. |
| web/i18n/ru-RU/app.json | Adds Russian strings for typed-name delete confirmation. |
| web/i18n/ro-RO/app.json | Adds Romanian strings for typed-name delete confirmation. |
| web/i18n/pt-BR/app.json | Adds Brazilian Portuguese strings for typed-name delete confirmation. |
| web/i18n/pl-PL/app.json | Adds Polish strings for typed-name delete confirmation. |
| web/i18n/nl-NL/app.json | Adds Dutch-locale strings (currently English) for typed-name delete confirmation. |
| web/i18n/ko-KR/app.json | Adds Korean strings for typed-name delete confirmation. |
| web/i18n/ja-JP/app.json | Adds Japanese strings for typed-name delete confirmation. |
| web/i18n/it-IT/app.json | Adds Italian strings for typed-name delete confirmation. |
| web/i18n/id-ID/app.json | Adds Indonesian strings for typed-name delete confirmation. |
| web/i18n/hi-IN/app.json | Adds Hindi strings for typed-name delete confirmation. |
| web/i18n/fr-FR/app.json | Adds French strings for typed-name delete confirmation. |
| web/i18n/es-ES/app.json | Adds Spanish strings for typed-name delete confirmation. |
| web/i18n/en-US/app.json | Adds English source strings for typed-name delete confirmation. |
| web/i18n/de-DE/app.json | Adds German strings for typed-name delete confirmation. |
| web/i18n/ar-TN/app.json | Adds Arabic (TN) strings for typed-name delete confirmation. |
| web/app/components/base/confirm/index.tsx | Adds optional confirmation input + match-to-enable behavior to Confirm. |
| web/app/components/apps/app-card.tsx | Requires typing the app name before enabling delete in the AlertDialog flow. |
| web/app/components/app-sidebar/app-info/app-info-modals.tsx | Wires typed-name confirmation into the delete modal (via deprecated Confirm). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Adds a typed-name confirmation step when deleting an app, updating both the reusable (legacy) Confirm dialog and the app card delete dialog, along with localized strings and test updates.
Changes:
- Add optional “type app name to confirm” input support to the legacy
Confirmcomponent (and disable confirm until it matches). - Require typing the app name in the AppCard delete
AlertDialogbefore enabling deletion. - Add i18n strings for the new label/placeholder and update AppCard tests accordingly.
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| web/i18n/zh-Hant/app.json | Add delete confirmation input label/placeholder (zh-Hant). |
| web/i18n/zh-Hans/app.json | Add delete confirmation input label/placeholder (zh-Hans). |
| web/i18n/vi-VN/app.json | Add delete confirmation input label/placeholder (vi-VN). |
| web/i18n/uk-UA/app.json | Add delete confirmation input label/placeholder (uk-UA). |
| web/i18n/tr-TR/app.json | Add delete confirmation input label/placeholder (tr-TR). |
| web/i18n/th-TH/app.json | Add delete confirmation input label/placeholder (th-TH). |
| web/i18n/sl-SI/app.json | Add delete confirmation input label/placeholder (sl-SI). |
| web/i18n/ru-RU/app.json | Add delete confirmation input label/placeholder (ru-RU). |
| web/i18n/ro-RO/app.json | Add delete confirmation input label/placeholder (ro-RO). |
| web/i18n/pt-BR/app.json | Add delete confirmation input label/placeholder (pt-BR). |
| web/i18n/pl-PL/app.json | Add delete confirmation input label/placeholder (pl-PL). |
| web/i18n/nl-NL/app.json | Add delete confirmation input label/placeholder (nl-NL). |
| web/i18n/ko-KR/app.json | Add delete confirmation input label/placeholder (ko-KR). |
| web/i18n/ja-JP/app.json | Add delete confirmation input label/placeholder (ja-JP). |
| web/i18n/it-IT/app.json | Add delete confirmation input label/placeholder (it-IT). |
| web/i18n/id-ID/app.json | Add delete confirmation input label/placeholder (id-ID). |
| web/i18n/hi-IN/app.json | Add delete confirmation input label/placeholder (hi-IN). |
| web/i18n/fr-FR/app.json | Add delete confirmation input label/placeholder (fr-FR). |
| web/i18n/es-ES/app.json | Add delete confirmation input label/placeholder (es-ES). |
| web/i18n/en-US/app.json | Add delete confirmation input label/placeholder (en-US). |
| web/i18n/de-DE/app.json | Add delete confirmation input label/placeholder (de-DE). |
| web/i18n/ar-TN/app.json | Add delete confirmation input label/placeholder (ar-TN). |
| web/app/components/base/confirm/index.tsx | Add confirm-input props and disable confirm until typed value matches. |
| web/app/components/apps/app-card.tsx | Add typed-name confirmation input to delete dialog; disable confirm until match. |
| web/app/components/apps/tests/app-card.spec.tsx | Update delete-flow tests to fill confirmation input before confirming. |
| web/app/components/app-sidebar/app-info/app-info-modals.tsx | Wire new confirm-input props into delete modal flow using legacy Confirm. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
d5b4552 to
6596063
Compare
6596063 to
07d2ff7
Compare
07d2ff7 to
cd52acb
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 28 out of 28 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Hi, as this PR merged and it's enforcing app name input for deletion for all, is it necessary to make it configurable? And is there suggestion for it ? cc @crazywoola @hyoban |
Important
Fixes #<issue number>.Summary
Screenshots
Checklist
make lintandmake type-check(backend) andcd web && npx lint-staged(frontend) to appease the lint gods