[Expense] Keep approver filters to exact submitter membership - #11453
Draft
Prangshuman Das (t-prda) wants to merge 18 commits into
Draft
Prangshuman Das (t-prda) wants to merge 18 commits into
Prangshuman Das (t-prda) wants to merge 18 commits into
Conversation
Enumerate and quote each explicitly assigned user instead of projecting compressed setup-table ranges onto request owners. Keep default fallback and the filter-length guard. Correct automatic-assignment fixtures and add explicit wildcard, pipe and unassigned-range-gap regressions. Re-enable only the owned default-wildcard case; runtime validation pending CI. AB#646383 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Prangshuman Das (t-prda)
added this pull request to stack #11232
September 14, 2026 22:40
This was referenced Sep 14, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Anders (AndersLarsenMicrosoft)
deployed
to
triage
September 17, 2026 09:09 — with
GitHub Actions
Active
Contributor
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Prangshuman Das (t-prda)
removed this pull request from stack #11232
September 24, 2026 15:27
Prangshuman Das (t-prda)
added this pull request to stack #11863
September 24, 2026 15:27
…structure Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Prangshuman Das (t-prda)
removed this pull request from stack #11863
September 25, 2026 08:46
Prangshuman Das (t-prda)
added this pull request to stack #11893
September 25, 2026 08:47
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Contributor
|
Issue #11561 is not valid. Please make sure you link an issue that exists, is open and is approved. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3952f078-a881-4da8-ad96-13b727e48a91
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scope
AB#646383
Exact approver-membership layer above #11452 in native stack #11893.
Build filters from exact user values using native
SetRange/GetFilter, rather than projecting compressed ranges from approval-setup rows onto a different table. This prevents including an unassigned user between assigned endpoints and preserves literal wildcard/pipe values.Retain the corrected default-fallback fixture and explicit wildcard, pipe and range-gap regressions. Re-enable only
DefaultApproverFilterQuotesWildcardUserNo; the 2000-character error guard remains.All upstream travel lifecycle permissions, posted-history checks, report-creation postcondition and telemetry changes are preserved. The deletion-only fixture from #11452 remains separate from the upstream lifecycle fixture.
Validation
Exact parent ancestry, file scope, whitespace and exclusion ownership checks pass. This layer's added/removed source lines are unchanged relative to its refreshed parent. Upstream changes are inherited through the main merge, not reverted. The final exact-head cumulative artifact evidence below validates the current implementation; older evidence remains historical. Existing excluded PDF, IN/RU gaps and tolerated-native distinctions remain; no absent/excluded case is claimed passing.
Current checkpoint
Head
f438c20e94a417bf477d18293ff84b677541f368, tree8f1f4641ad458208e8c8a50534da8b0b1de2d789.Merged main baseline remains
0a602a2481c93ebfe7b1d27d6016fb9926c42111(permission cleanup from PR 11561). No additional main merge or code changes were made during finalization. Oldb195c7a/4eef8actree-equality claims remain obsolete after the intentional baseline/auth changes.Verified AL compile/publish/test run 36162564729 succeeded, attempt 2, at exact validation head
da6d82d6c8cf7c64bbd7355ca0acab28f0d5e28a. 113/113 test jobs and 113/113 cleanup steps succeeded. 113/113 credential-removal steps also succeeded.W1 artifacts verify 11 auth/URL methods + 876 re-enabled API methods + the single CU139496 HTTP scenario, plus 59 owned methods (47 API, 12 Expense), 22 permission methods, 74 SpendRequest methods (9 excluded), and 31 BaseApp methods.
Local Pester at the applicable checkpoint: 106 passed, zero failed/skipped. PowerShell run 36162564206 succeeded, attempt 2. Its earlier analyzer timeout was superseded by the single authorized successful retry; this is not a claim that the timed-out attempt passed.
Validation limits
For uptake/full, CU139496
MicrosoftAuthenticationRespectsServerAuthModeis verified in the actual UserPassword fixture (401/200/401). The Windows 200/200/200 expectations are implemented but Windows runtime remains unverified; no foreign local NST was used. Successful GitHub runs do not establish universal native NAV coverage. Excluded PDF cases, country-specific absent/excluded cases and tolerated-native distinctions are not claimed passing. No PR has been merged or auto-merged; validation drafts remain Do Not Merge outside stack #11893.