Skip to content

3: #404 admin dashboard UI onto main#511

Open
superconductor-for-github[bot] wants to merge 56 commits into
mainfrom
cycomachead/preview-only-pr-404-admin-dashboard-ui
Open

3: #404 admin dashboard UI onto main#511
superconductor-for-github[bot] wants to merge 56 commits into
mainfrom
cycomachead/preview-only-pr-404-admin-dashboard-ui

Conversation

@superconductor-for-github

Copy link
Copy Markdown

Preview-only sync of #404 (admin dashboard UI) onto current main.

Final PR in the stack (#394#392#390#404). Preserves PR #404 history and merges current main. git rerere auto-replayed all of the #394/#392/#390 conflict resolutions; the only #404-specific work was additive:

  • navbar admin dropdown (current_user.admin?) linking to /admin/blazer and /admin/good_job
  • datatables CSS <link> tags + vendored public/datatables/*.css
  • new features/navigation.feature + steps

Full RSpec suite green (587 examples); RuboCop clean; navigation + student-notes cucumber pass.

Original PR: #404 · Stacked on #510

gobears01 and others added 30 commits April 20, 2026 13:13
Late days column
Added one minor logic fix, resolved merge conflict due to UI change. All tests are passing
Enable/ Disable assignments

update_all method fixed. Skip rubocop validations
gobears01 and others added 25 commits April 30, 2026 12:04
… not being one(no canvas association) => Fail after 1s
Make sync enrollments and sync assignments async with Good_job gem and Added good_job gem dashboard permission control
Sync PR #404 (admin dashboard UI) with current berkeley-cdss/main.
rerere auto-replayed the #394/#392/#390 resolutions; layered #404's
navbar admin dropdown (current_user.admin? -> blazer/good_job) and
vendored datatables assets. Full RSpec suite green (587); RuboCop clean.
…ance)

Run GoodJob via execution_mode = :async in production (inherited by
staging), so the single EB web instance processes background jobs in
its own thread pool without a separate worker process or tier — and
without depending on EB starting a Procfile `worker`.

- production.rb: async execution mode + tunable max_threads/poll_interval/queues
- database.yml: size prod/staging pool for Puma threads + GoodJob threads + listener
- Procfile: drop the now-redundant `worker` entry (documented how to re-enable)

good_jobs tables are created on deploy by the existing db:migrate step
(.ebextensions/02_migrations.config).
- Edit Notes button: btn-outline-secondary (California gold #FDB515 on
  white, 1.78:1) -> btn-outline-primary, which is already tuned for AA
  contrast in both light and dark themes.
- 'No notes yet.' placeholder: .text-muted inside a .bg-light box washed
  out in dark mode (1.16:1) because bg-light keeps a light surface while
  text-muted goes near-white. Pin .text-muted to a readable gray within
  the dark-theme .bg-light override (same pattern already used there for
  p/li/strong).

Verified: full a11y suite (spec/ --tag a11y) 40 examples, 0 failures.
Re-sync with main after #508 (student notes) merged. Brings in #506
(code-quality audit) and dependabot bumps. Clean auto-merge; schema
retains good_jobs tables + notes column. Full RSpec (594) + a11y (40)
green; RuboCop clean.
@cycomachead cycomachead changed the title Preview sync: #404 admin dashboard UI onto main 3: #404 admin dashboard UI onto main Jul 16, 2026
Re-sync with main after #509 (late days column) merged. Clean auto-merge;
schema retains good_jobs tables + notes column. Full RSpec (594) + a11y (40)
green; RuboCop clean.
@cycomachead cycomachead mentioned this pull request Jul 16, 2026
20 tasks
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.

4 participants