Skip to content

Fix/task submission fxflex - #526

Open
gnahk66 wants to merge 1887 commits into
thoth-tech:developmentfrom
ontrack-features-t2-2026:fix/task-submission-fxflex
Open

gnahk66 wants to merge 1887 commits into
thoth-tech:developmentfrom
ontrack-features-t2-2026:fix/task-submission-fxflex

Conversation

@gnahk66

@gnahk66 gnahk66 commented Sep 11, 2026

Copy link
Copy Markdown

Any italic text should be deleted from the final Pull Request text, including this line

Description

Replaced the remaining fxFlex usage 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

  • Replaced <div fxFlex></div> with <div class="flex-spacer"></div>
  • Added .flex-spacer { flex: 1 1 auto; } to the component stylesheet
  • Verified no fx* directives remain in the task submission card

No additional dependencies are required.

Type of change

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

VIsually

Testing Checklist:

  • Tested in latest Chrome
  • Tested in latest Safari
  • Tested in latest Firefox

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have requested a review from @macite and @jakerenzella on the Pull Request

Clupai8o0 and others added 30 commits August 20, 2026 23:13
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>
maplefoxgit and others added 30 commits August 28, 2026 19:51
…-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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.