Commit Graph

22 Commits

Author SHA1 Message Date
b4a96fa82f feat: wrap login view in centered container with legal footer and cookie consent
Add .login-container CSS class with flex centering and gradient background, move gradient from .auth-container to new class, and update rbox-app.js showLogin() to render login-view inside a div.login-container alongside a footer with legal links and a cookie-consent element.
2025-11-13 18:33:17 +00:00
1f3ffc221f chore: remove billing references and commercial wording from README.md
- Replace "commercial" with "self-hosted" in project description
- Remove Stripe billing integration from admin features list
- Remove Stripe payment credentials from environment variables section
2025-11-13 11:32:37 +00:00
ba0d3350be feat: add legal compliance documents, cookie policy, privacy policy, terms of service, and CodeMirror editor library
Add placeholder legal documents for compliance statement, contact/complaint mechanism, data portability/deletion policy, data processing agreement, security policy, and full implementations for cookie policy, privacy policy, and terms of service. Include CodeMirror 6 editor bundle with basic extensions (line numbers, syntax highlighting, autocompletion, bracket matching, undo history, search, linting) and minified CSS for legacy editor styling.
2025-11-13 11:14:22 +00:00
d91246967c chore: rebrand all user-facing strings from RBox to MyWebdav across docs, emails, and config
Replace every occurrence of "RBox" with "MyWebdav" in README.md, invoice templates, welcome emails, share notifications, FastAPI metadata, default database filename, domain name, S3 bucket name, TOTP issuer, and WebDAV realm header to reflect the commercial rebranding of the application.
2025-11-13 11:05:05 +00:00
df964a7fb1 feat: add user data export, account deletion, cookie consent, footer, and admin e2e tests 2025-11-13 10:47:50 +00:00
bff5742ced fix: guard initial file load in search mode and discard stale search results
Add a check in FileList.connectedCallback to skip loading all files when
data-search-mode attribute is present, preventing empty result sets from
overwriting search results on partial matches. Introduce a monotonically
increasing search ID counter in RBoxApp to discard responses from outdated
search requests, ensuring only the latest query result is rendered and
stale error messages are suppressed.
2025-11-12 04:05:48 +00:00
987dd33a8c refactor: replace hardcoded CSS values with CSS custom properties and add shared-items container styles 2025-11-12 03:48:43 +00:00
43acded96e feat: add aiosmtplib and stripe dependencies, restructure code editor overlay layout and add empty state icon 2025-11-11 16:57:45 +00:00
decea66307 fix: handle SMTP_USE_TLS flag and suppress redundant STARTTLS errors in EmailService 2025-11-11 14:30:31 +00:00
cd7014df8b chore: rename SMTP_SERVER to SMTP_HOST and SMTP_FROM_EMAIL to SMTP_SENDER_EMAIL in settings and mail service 2025-11-11 14:20:14 +00:00
299fb30387 feat: add email invitation support for share links with STARTTLS fallback for SMTP 2025-11-11 14:06:02 +00:00
82a57f9835 feat: add async email service with SMTP queue and invoice/welcome email triggers
Implement a new `rbox/mail.py` module providing an async email service using `aiosmtplib`, including a background worker queue for non-blocking email dispatch. Integrate the service into the application lifespan (start/stop) and add email sending in three places: welcome email on user registration in `routers/auth.py`, invoice email with line-item details in `billing/invoice_generator.py`, and a test-email admin endpoint in `routers/admin.py`. Add `aiosmtplib==5.0.0` to `requirements.txt`.
2025-11-11 11:47:26 +00:00
eb75c1114f chore: add png and sqlite patterns to gitignore and introduce e2e billing test suite 2025-11-11 00:06:10 +00:00
76ccf48628 feat: add database indexes, stripe api key lazy init, and usage query date range fix
Add composite index on usage_records for user_id, record_type, and timestamp columns; add individual indexes on record_type, timestamp, period_start, and status fields in billing models. Implement lazy Stripe API key initialization via _ensure_api_key method called before each Stripe operation. Fix monthly usage query to use date range filtering instead of year/month decomposition. Refactor auth login endpoint to replace OAuth2PasswordRequestForm dependency with custom LoginRequest model. Add error handling wrapper around current usage endpoint and introduce loading/error CSS classes for billing UI. Convert code editor view from absolute positioning to fixed overlay with centered modal container. Include Stripe.js script tag in index.html and add new APIContract class for response validation against schemas.
2025-11-11 00:05:13 +00:00
e0517e4300 fix: replace sequential upload with parallel promise-based upload and auto-remove completed items after 500ms delay 2025-11-10 16:59:40 +00:00
f59cbf56dc fix: correct typo in commit message from "UPate" to "Update" 2025-11-10 14:50:19 +00:00
938daea231 feat: add billing module with usage tracking, invoice generation, and stripe integration 2025-11-10 14:46:40 +00:00
c140eee47f feat: add 2fa support, starred items, batch operations, and logging infrastructure
- Implement two-factor authentication with TOTP verification, recovery codes, and QR code setup in auth flow
- Add is_starred and last_accessed_at fields to File and Folder models for bookmarking and recency tracking
- Introduce batch operation endpoints for files and folders (delete, star, unstar, move, copy)
- Configure structured logging with timestamps and module names, replacing print statements
- Register admin and starred routers, add global HTTPException handler with JSON error responses
- Update authenticate_user and create_access_token to handle 2FA verification and token claims
2025-11-10 00:58:41 +00:00
6b01dc3fa3 feat: add admin CRUD endpoints for user management and frontend dashboard component 2025-11-10 00:56:44 +00:00
7c908018f6 fix: correct typo in user authentication error message for invalid credentials 2025-11-09 23:28:56 +00:00
5df31bd119 chore: switch docker-compose to docker compose and add network_mode host to services 2025-11-09 23:28:48 +00:00
55ea78e534 chore: add initial project scaffolding with Docker, nginx, and core app modules 2025-11-09 22:29:07 +00:00