Skip to content

docs(docs): nOTIFICATIONS.md and NOTIFICATIONS_STATUS.md describe pushDocs/dx a08 - #114

Open
Shaashwat3 wants to merge 413 commits into
thoth-tech:11.0.xfrom
ontrack-features-t2-2026:docs/dx-a08
Open

docs(docs): nOTIFICATIONS.md and NOTIFICATIONS_STATUS.md describe pushDocs/dx a08#114
Shaashwat3 wants to merge 413 commits into
thoth-tech:11.0.xfrom
ontrack-features-t2-2026:docs/dx-a08

Conversation

@Shaashwat3

Copy link
Copy Markdown

Summary

Completes the remaining documentation fixes for DX-A08.

Changes

  • Replaced the stale integration branch reference in NOTIFICATIONS_STATUS.md with 11.0.x.
  • Updated the merge and demo target to 11.0.x.
  • Added app/models/push_subscription.rb to the NOTIFICATIONS.md "The pieces" list.
  • Added app/api/push_subscriptions_api.rb to the same list.
  • Added a reference to docs/notifications/push-setup.md for VAPID/Web Push setup.
  • Left the already-correct push implementation wording unchanged.

Verification

Confirmed these paths exist:

  • app/models/push_subscription.rb
  • app/api/push_subscriptions_api.rb
  • docs/notifications/push-setup.md

This is a documentation-only change, so no unit tests were required.

Built against

doubtfire-api: 11.0.x
doubtfire-web: current local branch
doubtfire-deploy: current local branch

…n/11.0.x-all-features-20260824

# Conflicts:
#	db/schema.rb
#	test/sidekiq/scheduled_job_test.rb
…ll-features-20260824

# Conflicts:
#	test/api/tasks_api_test.rb
maplefoxgit and others added 30 commits September 1, 2026 09:09
…l-concurrency

ci(codeql): cancel superseded CodeQL runs on the same ref
fix(api): mailer text leak, image bloat, dependabot path and an api-root auth guard
chore(ci): lint workflow YAML with actionlint
check_jplag_similarity ran only from rake tasks and the nightly container cron,
and that cron does not treat a threshold change as a reason to rescan, so a
convenor who lowered plagiarism_warn_pct had to email an administrator and wait.

Add CheckUnitSimilarityJob, POST /units/:id/similarity/scan gated on a new
:run_similarity_scan permission for convenors and admins, and a config/schedule.yml
entry so the nightly run is visible in Sidekiq. The job locks per unit id, so a
nightly child and an on-demand request for the same unit reject rather than race
on the shared jplag directory, and the nightly run moves out of the crontab so it
does not run in both places. A 30-minute cooldown rate limits the endpoint.
The task update endpoint added a Discussed in class comment whenever discussed
was not nil, so discussed:false marked the task discussed, and that comment type
cannot be removed from the UI. discussed:false now removes the most recent
discussed comment. The removal is refused when it would leave a discussion
required task complete without evidence, and is otherwise deferred until the
trigger and grade have applied so a refused request does not destroy the comment.
remove_comment_read_entry passed a conditions hash to
ActiveRecord::Relation#delete_all, which takes no arguments on Rails 8, so
every mark-as-unread raised ArgumentError and the Grape rescue turned it into
a 500. Scope the receipts with where(...) first, then delete_all.

Adds api tests for the mark-as-unread endpoint: the happy path (receipt
removed, comment unread) and an unauthorised caller rejected. The endpoint
had no coverage before.
…e-preference

feat(users): persist and timestamp the theme preference
feat(units): on-demand plagiarism rescan for convenors
fix(tasks): make discussed:false unmark a task instead of marking it
…achment-error-status

fix(discussions): return 4xx for invalid audio attachments
fix(domain): "Mark comment as unread" always returns 500 - delete_all
…1-feedback-state

CPD-FB01: expose privacy-safe dashboard feedback state
fix(uploads): an oversized or empty chat attachment is answered with
docs(docs): the student import lead time is read from a misspelled variable
fix(uploads): the portfolio upload endpoint enforces no size limit at all
fix(push): add notification icon and badge
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.

8 participants