• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vEnhance / otis-web / 22823483981
94%

Build:
DEFAULT BRANCH: main
Ran 08 Mar 2026 02:56PM UTC
Jobs 1
Files 113
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 Mar 2026 02:54PM UTC coverage: 93.827% (+0.2%) from 93.676%
22823483981

push

github

web-flow
feat: User timezone (#459)

* feat: add user timezone setting with auto-detection

Add timezone field to UserProfile that allows users to view all timestamps in their local timezone:
- CharField with blank default (uses server time America/New_York when blank)
- JavaScript auto-detection using Intl API to prefill detected timezone
- TimezoneMiddleware activates user's timezone per-request using zoneinfo
- All existing |date template filters automatically respect the activated timezone

* style: apply ruff and djlint formatting

* fix: use getattr to satisfy pyright type checking in TimezoneMiddleware

* refactor: use get_or_create for UserProfile access in TimezoneMiddleware

Replace nested getattr with get_or_create for better readability,
matching the pattern used in LastSeenMiddleware above it.

* refactor: improve timezone feature based on feedback

- Add timezone validation to prevent invalid values in database
- Remove unnecessary timezone.deactivate() calls in middleware
- Move JavaScript to proper scripts block
- Change auto-fill to suggestion UX with dismissible alert
- Remove explicit UTC timezone display from pset queue
- Add comprehensive unit tests for timezone functionality
  - Validator tests for valid/invalid timezones
  - UserProfile model validation tests
  - Middleware tests for authenticated/unauthenticated users
  - Form integration tests

* fix: apply ruff formatting to migration file

* fix: avoid timezone middleware writes and improve timezone picker

* chore: merge timezone and disable_hints migrations

* test: cover timezone middleware and view context

* chore: format merge migration

* refactor: clean up migration files

* polish: some presentation changes

* tests: match PREFERRED_TIMEZONES

* Improve timezone picker search and add alias coverage tests

* drop: too much ugly code

* fix: drop aliases altogether

* edit: i have too many opinions

---------

Co-authored-by: Dean Menezes <dmm3297@my.utexas.edu>
Co-authored-by... (continued)

827 of 1058 branches covered (78.17%)

Branch coverage included in aggregate %.

143 of 145 new or added lines in 4 files covered. (98.62%)

8840 of 9245 relevant lines covered (95.62%)

0.96 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
95.45
-4.55% core/middleware.py
Jobs
ID Job ID Ran Files Coverage
1 22823483981.1 08 Mar 2026 02:56PM UTC 113
93.83
GitHub Action Run
Source Files on build 22823483981
  • Tree
  • List 113
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 23d55f81 on github
  • Prev Build on main (#22807543078)
  • Next Build on main (#22930104156)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc