Conversation
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppCleanShot.2026-04-16.at.23.09.23.5.mp4Android: mWeb ChromeCleanShot.2026-04-16.at.23.08.46.4.mp4iOS: HybridAppCleanShot.2026-04-16.at.23.05.50.3.mp4iOS: mWeb SafariCleanShot.2026-04-16.at.23.02.54.2.mp4MacOS: Chrome / SafariCleanShot.2026-04-16.at.22.58.12.1.mp4 |
|
The change set LGTM. I didn't find any remaining private notes. @MelvinBot merge latest main & resolve conflict |
Rebased on latest main to resolve merge conflicts. The branch had unrelated histories with main, so it was recreated from current main with all Private Notes removal changes re-applied. Co-authored-by: Cong Pham <suneox@users.noreply.github.com>
6880892 to
99dc02f
Compare
|
The original branch had no common ancestor with To fix this, I recreated the branch from latest Note: This required a force push since the branch history was rebuilt. The code changes are identical to the original commit. |
|
@cristipaval Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Co-authored-by: Cong Pham <suneox@users.noreply.github.com>
|
Fixed the failing ESLint check: removed 4 unused imports/variables — |
cristipaval
left a comment
There was a problem hiding this comment.
@JmillsExpensify, just to double-check. Do we want to completely remove the code from the front-end, or do we just want to hide the feature?
|
Assigning @JmillsExpensify for the product review. |
|
Good question. The first step is hiding the feature and making sure we haven't overlooked anything. We'll then remove the code. |
That means we can extend a new BETAS flag for private notes, with the default value set to false, to hide the trigger entry point instead of hard-removing it. Should it still be included under BETAS.ALL, or should it always be forced to false? @cristipaval What do you think about this? |
|
Let's add a beta always hardcoded to false, @suneox. Otherwise, Applause might keep QA'ing it, which might be a waste of their time. We'll enable the beta and QA it if we ever reconsider bringing the feature back. |
|
Makes sense, thanks both. |
|
@MelvinBot Post a new solution on issue #87952 based on the comments above. I’ll re-verify it before implementation. |
|
@MelvinBot the solution look good, let implement it |
|
🤖 New draft PR created with the revised beta-flag approach: #88204 This replaces the full removal approach in this PR with a minimal change that gates Private Notes behind Note: The backend should also add |
|
⏱️ Ran out of time before I could finish. This usually means the task was too complex or I got stuck exploring. Please try again with a more specific request or post in #melvinbot-ai. |
|
Closing this one in favor of #88204 |
Explanation of Change
Removes the entire Private Notes feature from the frontend. This includes:
withReportAndPrivateNotesOrNotFoundHOCupdatePrivateNotes,getReportPrivateNote,hasErrorInPrivateNotes,clearPrivateNotesError,savePrivateNotesDraftnavigateToPrivateNotes,goBackFromPrivateNotes,goBackToDetailsPageATTACHMENT_TYPE.NOTE)privateNotesblock removed from all 10 language filesPrivateNotesForm,UpdateReportPrivateNoteParams,GetReportPrivateNoteParams, Onyx keys for drafts/forms,isLoadingPrivateNotesfrom ReportMetadataThe
privateNotesfield on theReporttype, whitelisted report keys, and debug utilities are intentionally preserved — the BE data model removal is planned as a separate follow-up.Fixed Issues
$ #87952
PROPOSAL: #87952 (comment)
AI Tests
npm run typecheck-tsgo: Passed (0 errors)npm run typecheck(tsc, CI gate): Passed (0 errors)npx ts-node ./scripts/generateTranslations.ts --dry-run: Passednpx prettier --writeon all changed files: Passednpx eslinton key changed files: Passed (0 new errors; 2 pre-existing warnings in ReportDetailsPage.tsx unrelated to this change)Human Tests
// TODO: The human co-author must fill out the tests you ran before marking this PR as "ready for review"
// Please describe what tests you performed that validates your changed worked.
Offline tests
// TODO: Fill in offline testing steps
QA Steps
// TODO: The human co-author must fill out the QA tests you ran before marking this PR as "ready for review".
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari