Conversation
11.0.x split doubtfire-constants.ts into loadPublicSettings(), which runs pre-auth through HttpBackend, and applyAuthenticatedSettings(), which authentication.service.ts calls once a token exists. IsPushEnabled and VapidPublicKey move into applyAuthenticatedSettings. They used to be read at bootstrap from the unauthenticated /settings, and GET /settings is authenticated on 11.0.x, so leaving them at bootstrap would have left push permanently off with nothing on screen to explain why. The two fields are optional on AuthenticatedSettingsResponseFormat so the web can run against an API that has not taken the api-side change yet, and so doubtfire-constants.spec.ts still type checks. Built against doubtfire-web feature/notifications f5c4b5b merged with 11.0.x 6b82a61, doubtfire-api feature/notifications d3be7c79f, and doubtfire-deploy 11.0.x 5d2c8b409.
…rd (CPD-Q06) * docs: add privacy-safe screenshot checklist for Cross-Project Dashboard (CPD-Q06) (cherry picked from commit df15f62) * docs: strengthen screenshot redaction guidance (CPD-Q06) --------- Co-authored-by: jmirchh75 <jmirch@live.com>
* Add GitHub Actions workflow to notify Teams on PRs * fix(ci): gate the Teams notifier and harden its payload Adds a job guard so the webhook is unreachable from anonymous fork pull requests on these public repositories, and so the file is inert if it ever travels to thoth-tech or doubtfire-lms. Adds reopened and ready_for_review, which is the transition a reviewer alert exists to catch, and varies the headline per action so it stays accurate. Strips Markdown link and code syntax from the title, author and head label before they reach the channel. Joins on a double newline, which is what Teams renders as a break. Reports the real HTTP status instead of asserting a delivery the workflow never checked. --------- Co-authored-by: Clupai8o0 <clupaio4@gmail.com>
Refactor Teams notification to use Adaptive Card
Bumps and [brace-expansion](https://github.com/juliangruber/brace-expansion). These dependencies needed to be updated together. Updates `brace-expansion` from 5.0.6 to 5.0.9 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@v5.0.6...v5.0.9) Updates `brace-expansion` from 5.0.7 to 5.0.9 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@v5.0.6...v5.0.9) Updates `brace-expansion` from 2.1.1 to 2.1.4 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@v5.0.6...v5.0.9) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 5.0.9 dependency-type: indirect - dependency-name: brace-expansion dependency-version: 5.0.9 dependency-type: indirect - dependency-name: brace-expansion dependency-version: 2.1.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [ip-address](https://github.com/beaugunderson/ip-address) from 10.2.0 to 10.5.0. - [Release notes](https://github.com/beaugunderson/ip-address/releases) - [Commits](beaugunderson/ip-address@v10.2.0...v10.5.0) --- updated-dependencies: - dependency-name: ip-address dependency-version: 10.5.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Simplified the conditional check for PR notifications.
…n-click feat(notifications): navigate on push notification click
…anage focus Mark all read had no success handler, so the only feedback was rows losing their bold and a dot going grey. It now announces through AlertService. The button also moved from @if to disabled, but a native disabled attribute does not solve the focus problem it was meant to: a natively disabled button cannot hold focus either, so the browser drops it to the body just the same. disabledInteractive is Material's input for exactly this, buttons that become disabled when activated. It announces via aria-disabled and stays focusable, so markAllRead re-checks hasUnread rather than trusting the binding. The block stays inside an @if on the list length so a greyed control never sits over the loading, failed or empty states. The confirmation dialog closes as soon as it is agreed to and the row is not dropped until the response lands, so the same delete could be confirmed twice and the second request 404s. Ids with a request in the air are held and the button marked disabled, with disabledInteractive again so MatDialog can still restore focus to it. Focus after a removal now lands on the row that took the deleted one's place, clamped to what is on screen so a page collapse does not jump to the top, and only when focus actually went to the body, so a slow delete cannot take it back from wherever the reader moved to. The dialog also now names the notification, which the button's aria-label already did and the modal covering the list dropped.
…x/pr44-fix-20260823 # Conflicts: # src/app/common/notifications-page/notifications-page.component.ts
…nd_yarn/ip-address-10.5.0 chore(deps): bump ip-address from 10.2.0 to 10.5.0
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.6. - [Release notes](https://github.com/fastify/fast-uri/releases) - [Commits](fastify/fast-uri@v3.1.2...v3.1.6) --- updated-dependencies: - dependency-name: fast-uri dependency-version: 3.1.6 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
…-unsaved-guard fix(unit-tasks): stop an unsaved task definition being discarded without asking
…-route-param fix(task-viewer): follow taskAbbreviation changes in the route
…empty-body fix(http): handle an error response with an empty body
…ft-user-scope fix(comments): scope comment drafts to the signed in user and clear them on sign out
# Conflicts: # src/app/units/states/tasks/inbox/directives/staff-task-list/staff-task-list.component.spec.ts
…follows-navigation fix(units): follow the route when the unit changes
…board-followup-20260828 fix(dashboard): complete mobile navigation and feedback routing
…-url-20260828 fix(auth): restore notification destination after sign in
…ldout, extend dependabot - TCI-15: the 'should update a User' spec flushed back the object it sent, so it could not catch a broken snake_case to camelCase mapping. Flush a snake_case literal with values that differ from the local user and assert the mapped result. - INT-20: replace the last fxFlexFill/fxLayout on notification-settings with the Tailwind equivalent, folded into the existing class (flex size-full flex-col). - TCI-05: add a github-actions ecosystem to .github/dependabot.yml alongside npm.
…d ones reportUnusedDisableDirectives was false, so eslint-disable directives that no longer suppress anything accumulated unaudited. Set it to 'warn'; since npm run lint is ng lint --max-warnings 0, a dead directive now fails CI. Stripped the 21 directives that were already dead (35 down to 14) in the same change so the flag flip does not turn CI red.
An undefined step reference in a GitHub Actions expression evaluates to the empty string instead of erroring, so a typo like steps.meta.outputs.labels ships a green build that silently drops the value. Nothing in CI caught that class before; the fixes all came from someone running actionlint by hand and remembering to. Add a workflow that runs actionlint on any change under .github/workflows, pinned to a release tag so an upstream change cannot alter what CI enforces without a bump here.
fix: add real assertions to SafePipe spec
chore(web): audit stale eslint-disable directives and prune the dead ones
chore(ci): lint workflow YAML with actionlint
fix(web): tighten a UserService mapping test, convert a FlexLayout holdout, extend dependabot
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.
Any italic text should be deleted from the final Pull Request text, including this line
Description
Replaced the remaining
fxFlexusage in the task submission card with a standard CSS flex spacer.This removes the Angular Flex Layout dependency from this component while preserving the existing layout and behaviour of the submission actions.
Changes
<div fxFlex></div>with<div class="flex-spacer"></div>.flex-spacer { flex: 1 1 auto; }to the component stylesheetfx*directives remain in the task submission cardNo additional dependencies are required.
Type of change
How Has This Been Tested?
VIsually
Testing Checklist:
Checklist: