Skip to content

meta: badges + typing-strict experimental workflow + metrics snapshot#22

Merged
msaedi merged 1 commit intomainfrom
chore/housekeeping-typing-badges
Sep 21, 2025
Merged

meta: badges + typing-strict experimental workflow + metrics snapshot#22
msaedi merged 1 commit intomainfrom
chore/housekeeping-typing-badges

Conversation

@msaedi
Copy link
Copy Markdown
Owner

@msaedi msaedi commented Sep 21, 2025

  • Adds status badges for env-contract & schemathesis (no runtime change).
  • Introduces non-blocking typing-strict experimental workflow (routes+schemas; summary-only).
  • Refreshes metrics_history.json for guardrail monotonicity.
  • No API/UI changes.

@vercel
Copy link
Copy Markdown

vercel bot commented Sep 21, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
instainstru-preview Ready Ready Preview Comment Sep 21, 2025 1:09pm
instructly Ready Ready Preview Comment Sep 21, 2025 1:09pm

@github-actions
Copy link
Copy Markdown

github-actions bot commented Sep 21, 2025

🔒 Privacy Audit Results

Privacy Audit Report

Date: 2025-09-21 13:10:46
Execution Time: 0.83s

Summary

  • Total Endpoints Tested: 7
  • Passed: 7
  • Failed: 0

No violations found!

Coverage

  • public_endpoints: 4/4
  • authenticated_endpoints: 3/3
  • total: 7/7

📎 View detailed report
🔍 Run triggered by: pull_request

@msaedi msaedi merged commit ffc3321 into main Sep 21, 2025
19 checks passed
@msaedi msaedi deleted the chore/housekeeping-typing-badges branch September 21, 2025 13:23
msaedi added a commit that referenced this pull request Mar 20, 2026
…,14,15,17,19,20,21,22,23)

Icons and visual cleanup:
- Replace confetti emoji with Lucide Rocket on Go Live button (#1)
- Replace crooked star with Phosphor Star on Reviews card (#6)
- Proportional star fill based on rating, inline "4.5★ (3)" metadata (#7)
- Add @phosphor-icons/react dependency

Account settings overhaul:
- Single-open accordion — only one section expanded at a time (#14)
- Section icons: UserRoundPen (Account), SlidersHorizontal (Prefs), Info (About) (#21)
- Remove Acknowledgments from About, rename support label (#20)
- Remove phone management block from Preferences (#17)
- Format phone display as (212) 555-1001 in Account Details (#10)
- Shared formatPhoneDisplay helper in lib/phone.ts
- 2FA state refreshes immediately after enable/disable (#12)

2FA modal copy:
- Title → "Connect your authenticator app" (#15)
- Step 1/Step 2 labels, button → "Verify"

Notification preferences:
- Isolate per-toggle pendi single toggle change no longer
  flashes entire Push column (#19)

Instructor profile:
- Remove Personal Information accordion from dashboard context (#22)
- Skills & Pricing icon → Phosphor Tag (#23)

Verify: 13,194 backend + 389 frontend tests passing.
msaedi added a commit that referenced this pull request Mar 21, 2026
…design (#339)

* feat(dashboard): A-Team quick wins Part 1 — 12 UI fixes (#1,6,7,10,12,14,15,17,19,20,21,22,23)

Icons and visual cleanup:
- Replace confetti emoji with Lucide Rocket on Go Live button (#1)
- Replace crooked star with Phosphor Star on Reviews card (#6)
- Proportional star fill based on rating, inline "4.5★ (3)" metadata (#7)
- Add @phosphor-icons/react dependency

Account settings overhaul:
- Single-open accordion — only one section expanded at a time (#14)
- Section icons: UserRoundPen (Account), SlidersHorizontal (Prefs), Info (About) (#21)
- Remove Acknowledgments from About, rename support label (#20)
- Remove phone management block from Preferences (#17)
- Format phone display as (212) 555-1001 in Account Details (#10)
- Shared formatPhoneDisplay helper in lib/phone.ts
- 2FA state refreshes immediately after enable/disable (#12)

2FA modal copy:
- Title → "Connect your authenticator app" (#15)
- Step 1/Step 2 labels, button → "Verify"

Notification preferences:
- Isolate per-toggle pendi single toggle change no longer
  flashes entire Push column (#19)

Instructor profile:
- Remove Personal Information accordion from dashboard context (#22)
- Skills & Pricing icon → Phosphor Tag (#23)

Verify: 13,194 backend + 389 frontend tests passing.

* feat(dashboard): A-Team quick wins Part 2 — 8 UI fixes (#5,27,28,29,36,37,38)

Platform launch gate:
- Replace hardcoded date gate on Public Profile with student_launch_enabled
  platform config flag, default false (#5)
- Exposed through /api/v1/config/public, read-only in this pass

Tab indicators:
- Standardize all tab indicators to text-width across platform (#27)
- Shared textWidthTabs helper, applied to Bookings + Earnings tabs

Booking status consistency:
- Completed badge → blue everywhere: list cards, detail page, modal (#28)
- Shared bookingStatus helper for badge color standard
  (Confirmed=green, Completed=blue, Cancelled=red)
- Empty states for Upcoming + Past booking tabs (#29)

Messages fixes:
- "Last updated manually" → actual timestamp or hidden (#36)
- "NEXT BOOKING" → sentence case "Next booking" (#37)
- Upcoming badge → green (matches Confirmed standard)
- Booking cards in dropdown are now clickable links

Left nav:
- Reordered: Dashboard, Bookings, Messages, Availability,
  Referrals, Reviews, Instructor Profile, Account (#38)
- Messages added as route link with MessageSquare icon
- Shared nav config drives both desktop and mobile

Verify: 13,198 backend + 392 frontend tests passing.

* fix(dashboard): address testing feedback on quick wins branch

Fixes from manual testing:
- Restore two-line empty state format: bold heading + muted subtitle
  in dashed card (Upcoming + Past booking tabs)
- Remove MessageSquare icon from Messages nav item (text-only like others)
- Public Profile button: environment-aware — always enabled on
  preview/localhost, gated by student_launch_enabled on beta hosts only
- 2FA: redirect to /login after disable (immediate) and after enable
  (after backup codes acknowledgment) to prevent stale session UI
- Account Details: split Name into First name + Last name (locked),
  inline phone verification with Verified/Verify/Pending states
- Update e2e tests for new reviews card DOM (reviews-summary testid)
msaedi added a commit that referenced this pull request Mar 23, 2026
…fix, 13 deferred items

Wave 1 — Quick wins (8 XS fixes):
- #22: 2FA input explicit type='text'
- #23: Midnight booking validation message corrected
- #24: Added logger.error to 3 booking detail catch blocks
- #33: Moved render-time logger calls into useEffect
- #43: display_name fallback no longer produces 'FirstName .'
- #16: Conversation errors genericized (prevents user enumeration)
- #5: Removed setattr(service.db) anti-pattern, explicit student_id param
- #44: PII masked in login logs (email domain only)

Wave 2 — Small refactors (4 S fixes):
- #8: Extracted 155-line _authenticate_and_respond helper, login 193→48
  lines, login_with_session 200→35 lines
- #12: Eliminated _user_obj from auth payload, primitives only
- #17: isPastLesson now uses booking_end_utc (timezone-safe)
- S2+S6: Catalog bulk-loads services + batch analytics, availability
  uses date-range queries instead of per-day loops

Wave 3 — fication extraction:
- #18: Extracted 173 lines into EmailVerificationService (13 helpers),
  auth.py reduced from 1695 to 1291 lines

13,296 backend + 8,321 frontend tests passing. Type coverage 100%.
msaedi added a commit that referenced this pull request Mar 23, 2026
…fix, 13 deferred items

Wave 1 — Quick wins (8 XS fixes):
- #22: 2FA input explicit type='text'
- #23: Midnight booking validation message corrected
- #24: Added logger.error to 3 booking detail catch blocks
- #33: Moved render-time logger calls into useEffect
- #43: display_name fallback no longer produces 'FirstName .'
- #16: Conversation errors genericized (prevents user enumeration)
- #5: Removed setattr(service.db) anti-pattern, explicit student_id param
- #44: PII masked in login logs (email domain only)

Wave 2 — Small refactors (4 S fixes):
- #8: Extracted 155-line _authenticate_and_respond helper, login 193→48
  lines, login_with_session 200→35 lines
- #12: Eliminated _user_obj from auth payload, primitives only
- #17: isPastLesson now uses booking_end_utc (timezone-safe)
- S2+S6: Catalog bulk-loads services + batch analytics, availability
  uses date-range queries instead of per-day loops

Wave 3 — fication extraction:
- #18: Extracted 173 lines into EmailVerificationService (13 helpers),
  auth.py reduced from 1695 to 1291 lines

13,296 backend + 8,321 frontend tests passing. Type coverage 100%.
msaedi added a commit that referenced this pull request Mar 23, 2026
…fix, 13 deferred items

Wave 1 — Quick wins (8 XS fixes):
- #22: 2FA input explicit type='text'
- #23: Midnight booking validation message corrected
- #24: Added logger.error to 3 booking detail catch blocks
- #33: Moved render-time logger calls into useEffect
- #43: display_name fallback no longer produces 'FirstName .'
- #16: Conversation errors genericized (prevents user enumeration)
- #5: Removed setattr(service.db) anti-pattern, explicit student_id param
- #44: PII masked in login logs (email domain only)

Wave 2 — Small refactors (4 S fixes):
- #8: Extracted 155-line _authenticate_and_respond helper, login 193→48
  lines, login_with_session 200→35 lines
- #12: Eliminated _user_obj from auth payload, primitives only
- #17: isPastLesson now uses booking_end_utc (timezone-safe)
- S2+S6: Catalog bulk-loads services + batch analytics, availability
  uses date-range queries instead of per-day loops

Wave 3 — fication extraction:
- #18: Extracted 173 lines into EmailVerificationService (13 helpers),
  auth.py reduced from 1695 to 1291 lines

13,296 backend + 8,321 frontend tests passing. Type coverage 100%.
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.

1 participant