Add support for groupBy week in Search#80684
Conversation
🦜 Polyglot Parrot! 🦜Squawk! Looks like you added some shiny new English strings. Allow me to parrot them back to you in other tongues: View the translation diffdiff --git a/src/languages/de.ts b/src/languages/de.ts
index 6c88f168..6fe752b8 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -638,6 +638,7 @@ const translations: TranslationDeepObject<typeof en> = {
duplicateExpense: 'Doppelte Ausgabe',
newFeature: 'Neue Funktion',
month: 'Monat',
+ week: 'Woche',
},
supportalNoAccess: {
title: 'Nicht so schnell',
@@ -6956,6 +6957,7 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard
[CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: 'Auszahlungs-ID',
[CONST.SEARCH.GROUP_BY.CATEGORY]: 'Kategorie',
[CONST.SEARCH.GROUP_BY.MONTH]: 'Monat',
+ [CONST.SEARCH.GROUP_BY.WEEK]: 'Woche',
},
feed: 'Feed',
withdrawalType: {
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 7f08b053..d2f21ef9 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -640,6 +640,7 @@ const translations: TranslationDeepObject<typeof en> = {
duplicateExpense: 'Note de frais en double',
newFeature: 'Nouvelle fonctionnalité',
month: 'Mois',
+ week: 'Semaine',
},
supportalNoAccess: {
title: 'Pas si vite',
@@ -6967,6 +6968,7 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin
[CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: 'ID de retrait',
[CONST.SEARCH.GROUP_BY.CATEGORY]: 'Catégorie',
[CONST.SEARCH.GROUP_BY.MONTH]: 'Mois',
+ [CONST.SEARCH.GROUP_BY.WEEK]: 'Semaine',
},
feed: 'Flux',
withdrawalType: {
diff --git a/src/languages/it.ts b/src/languages/it.ts
index 7525885d..52b6b8ce 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -639,6 +639,7 @@ const translations: TranslationDeepObject<typeof en> = {
duplicateExpense: 'Spesa duplicata',
newFeature: 'Nuova funzionalità',
month: 'Mese',
+ week: 'Settimana',
},
supportalNoAccess: {
title: 'Non così in fretta',
@@ -6945,6 +6946,7 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori
[CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: 'ID prelievo', //_/\__/_/ \_,_/\__/\__/\_,_/
[CONST.SEARCH.GROUP_BY.CATEGORY]: 'Categoria',
[CONST.SEARCH.GROUP_BY.MONTH]: 'Mese',
+ [CONST.SEARCH.GROUP_BY.WEEK]: 'Settimana',
},
feed: 'Feed',
withdrawalType: {
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index 43f10ab5..789bba5b 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -638,6 +638,7 @@ const translations: TranslationDeepObject<typeof en> = {
duplicateExpense: '重複した経費',
newFeature: '新機能',
month: '月',
+ week: '週',
},
supportalNoAccess: {
title: 'ちょっと待ってください',
@@ -6882,9 +6883,10 @@ ${reportName}
groupBy: {
[CONST.SEARCH.GROUP_BY.FROM]: '差出人',
[CONST.SEARCH.GROUP_BY.CARD]: 'カード',
- [CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: '出金ID',
+ [CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: '出金 ID',
[CONST.SEARCH.GROUP_BY.CATEGORY]: 'カテゴリ',
[CONST.SEARCH.GROUP_BY.MONTH]: '月',
+ [CONST.SEARCH.GROUP_BY.WEEK]: '週',
},
feed: 'フィード',
withdrawalType: {
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 5289966a..900a0d20 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -639,6 +639,7 @@ const translations: TranslationDeepObject<typeof en> = {
duplicateExpense: 'Dubbele uitgave',
newFeature: 'Nieuwe functie',
month: 'Maand',
+ week: 'Week',
},
supportalNoAccess: {
title: 'Niet zo snel',
@@ -6927,6 +6928,7 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten
[CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: 'Opname-ID',
[CONST.SEARCH.GROUP_BY.CATEGORY]: 'Categorie',
[CONST.SEARCH.GROUP_BY.MONTH]: 'Maand',
+ [CONST.SEARCH.GROUP_BY.WEEK]: 'Week',
},
feed: 'Feed',
withdrawalType: {
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index a3772656..307f5200 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -639,6 +639,7 @@ const translations: TranslationDeepObject<typeof en> = {
duplicateExpense: 'Zduplikowany wydatek',
newFeature: 'Nowa funkcja',
month: 'Miesiąc',
+ week: 'Tydzień',
},
supportalNoAccess: {
title: 'Nie tak szybko',
@@ -6917,6 +6918,7 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i
[CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: 'ID wypłaty',
[CONST.SEARCH.GROUP_BY.CATEGORY]: 'Kategoria',
[CONST.SEARCH.GROUP_BY.MONTH]: 'Miesiąc',
+ [CONST.SEARCH.GROUP_BY.WEEK]: 'Tydzień',
},
feed: 'Kanał',
withdrawalType: {
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index ee7cd0e6..55737c17 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -638,6 +638,7 @@ const translations: TranslationDeepObject<typeof en> = {
duplicateExpense: 'Despesa duplicada',
newFeature: 'Novo recurso',
month: 'Mês',
+ week: 'Semana',
},
supportalNoAccess: {
title: 'Não tão rápido',
@@ -6915,9 +6916,10 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe
groupBy: {
[CONST.SEARCH.GROUP_BY.FROM]: 'De',
[CONST.SEARCH.GROUP_BY.CARD]: 'Cartão',
- [CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: 'ID de retirada',
+ [CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: 'ID de saque',
[CONST.SEARCH.GROUP_BY.CATEGORY]: 'Categoria',
[CONST.SEARCH.GROUP_BY.MONTH]: 'Mês',
+ [CONST.SEARCH.GROUP_BY.WEEK]: 'Semana',
},
feed: 'Feed',
withdrawalType: {
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index ee322f52..e70328a2 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -635,6 +635,7 @@ const translations: TranslationDeepObject<typeof en> = {
duplicateExpense: '重复报销',
newFeature: '新功能',
month: '月',
+ week: '周',
},
supportalNoAccess: {
title: '先别急',
@@ -6760,11 +6761,13 @@ ${reportName}
reimbursable: '可报销',
purchaseCurrency: '购买货币',
groupBy: {
- [CONST.SEARCH.GROUP_BY.FROM]: '来自',
+ [CONST.SEARCH.GROUP_BY.FROM]: '发件人',
[CONST.SEARCH.GROUP_BY.CARD]: '卡',
- [CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: '提现 ID',
+ //_/\__/_/ \_,_/\__/\__/\_,_/
+ [CONST.SEARCH.GROUP_BY.WITHDRAWAL_ID]: '提现编号',
[CONST.SEARCH.GROUP_BY.CATEGORY]: '类别',
[CONST.SEARCH.GROUP_BY.MONTH]: '月',
+ [CONST.SEARCH.GROUP_BY.WEEK]: '周',
},
feed: '动态',
withdrawalType: {
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
@shubham1206agra 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] |
|
ready again for review, @shubham1206agra 🙏 |
@cristipaval The count and expenses under mismatch when doing year to date filter with week group by. |
Reviewer Checklist
Screenshots/VideosScreen.Recording.2026-01-28.at.11.27.38.PM.mov |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/puneetlath in version: 9.3.11-0 🚀
|
|
@cristipaval This PR is failing because of a regression issue #80846 and #80849 The issue is reproducible in: Web, Android , iOS Evidence for 80846 : Bug7060819_1769654599148.Sunday_expense_not_shown.mp4Bug7060819_1769654451891.Sunday_expense_is_misssing.mp4Evidence for 80849 : Bug7060828_1769656443529.80684-Search_Query_Is_Not_Updated.mp4Bug7060828_1769656336595.search_quey_is_not_updated_when_click_on_the_list_header.mp4 |
|
🚀 Deployed to production by https://github.com/Julesssss in version: 9.3.12-1 🚀
|

Explanation of Change
Fixed Issues
$ #80396
PROPOSAL:
Tests
Tests
Prerequisites:
Test 1: Access Group by Week via Advanced Filters
Test 2: Verify Week Grouping Display (Large Screen)
groupBy:weekfilterTest 3: Verify Week Grouping Display (Small Screen)
groupBy:weekfilterTest 4: Verify Week Grouping Across Multiple Weeks
groupBy:weekTest 5: Verify Week Expand/Collapse
groupBy:weekappliedTest 6: Verify Sorting
groupBy:weekTest 7: Verify Multi-select Checkbox
groupBy:weekTest 8: Verify Week Grouping Across Year Boundaries
groupBy:weekTest 9: Verify Sunday Transaction Grouping (Critical Edge Case)
groupBy:weekTest 10: Verify Clicking Week Group Filters Transactions
groupBy:weekgroupByis removed from the queryOffline tests
QA Steps
Same as steps.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps./** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
Screen.Recording.2026-01-27.at.17.34.11.mov