npmrun
a8a11cdd89
fix(config): mask smtp password in global put response
Prevent commentSmtpPass from being echoed in PUT responses while preserving existing response behavior for all other config keys.
Made-with: Cursor
2 months ago
npmrun
29385f0ebe
fix(config): mask smtp secret and avoid empty password overwrite
Restrict global config GET for non-admin users and always mask commentSmtpPass in responses, while preventing admin save from sending empty smtp passwords that would clear existing secrets.
Made-with: Cursor
2 months ago
npmrun
c6349c65f5
fix(config): normalize comment mail smtp global values before validation
Apply trim/blank-to-empty normalization for comment email/smtp global keys in setGlobalConfigValue, and replace registry test casts with KnownConfigKey-safe assertions plus normalization coverage.
Made-with: Cursor
2 months ago
npmrun
f24c3ccd92
test(config): expand comment config validation coverage
Made-with: Cursor
2 months ago
npmrun
671137b40b
feat(config): add comment email and notify preference keys
Made-with: Cursor
2 months ago
npmrun
58e1fc9d03
feat(cloud-probes): implement cloud probe middleware and configuration
- Added constants for common cloud probe paths and prefixes.
- Introduced middleware to handle cloud probe requests with appropriate cache control headers.
- Updated Nuxt configuration to include route rules for cloud probe paths.
This enhances the application's ability to respond to health checks from various cloud platforms.
2 months ago
npmrun
78aa56f52a
feat(media): add user notes and reference contexts to media assets
- Introduced user notes for media assets, allowing admins and users to add descriptions.
- Enhanced media asset listing with reference contexts, providing links to related content.
- Updated API endpoints to support note saving and retrieval.
- Modified database schema to include user notes and related fields.
- Improved search functionality to include user notes in media asset queries.
Made-with: Cursor
2 months ago
npmrun
967d738c7e
feat(media): re-upload missing files in place for same storage_key
Made-with: Cursor
2 months ago
npmrun
5ae04d4fac
refactor(site): use NUXT_PUBLIC_SITE_URL instead of DB publicSiteUrl
Made-with: Cursor
2 months ago
npmrun
b5430ad1da
feat(config): publicSiteUrl for same-origin media refs; copy uses it
Made-with: Cursor
2 months ago
npmrun
dc74dcf4e2
fix(media): recognize absolute /public/assets/ URLs in markdown for refs sync
Made-with: Cursor
2 months ago
npmrun
e89529a6d2
feat(api): add GET /api/me/media/assets for media library
Made-with: Cursor
2 months ago
npmrun
be656693e6
feat(media): add listUserMediaAssetsPage with ref counts
Made-with: Cursor
2 months ago
npmrun
8b1b8d73b1
feat(media): add me media assets query parser and tests
Made-with: Cursor
2 months ago
npmrun
f822086861
feat(media): enhance media storage audit with detailed reference tracking
- Introduced new types for audit rows and reference details to improve data structure.
- Updated the media storage audit logic to include references for each asset, allowing for better tracking of media usage.
- Enhanced UI to display reference sources for media assets, clarifying the relationship between assets and their references.
- Improved cleanup descriptions and toast messages for better user understanding of actions taken.
Made-with: Cursor
2 months ago
npmrun
a1fec30083
feat(nitro): implement custom JSON error handler and utility functions
- Added a custom JSON error handler to improve error responses in Nitro.
- Introduced utility functions to determine JSON request types and normalize error messages.
- Updated Nuxt configuration to utilize the new error handler.
Made-with: Cursor
2 months ago
npmrun
b4a46cfcdc
feat(auth): require captcha on login and register
Made-with: Cursor
2 months ago
npmrun
011cf34fa8
feat(auth): validate captcha fields on login/register body
Made-with: Cursor
2 months ago
npmrun
d898d997d7
feat(auth): svg captcha challenge factory
Made-with: Cursor
2 months ago
npmrun
4ce1002f68
feat(auth): in-memory captcha store with tests
Made-with: Cursor
2 months ago
npmrun
0bb2a56f15
feat(profile): persist discover visibility and location fields
Made-with: Cursor
2 months ago
npmrun
c122206bca
feat(api): add paginated discover users list
Made-with: Cursor
2 months ago
npmrun
cdd91f2787
feat(server): add discover card DTO helpers
Made-with: Cursor
2 months ago
npmrun
177cbe837d
feat(rss): enhance RSS feed management with sync metadata and improved next sync display
2 months ago
npmrun
0540db2c8d
refactor(auth): replace 'pending' with 'initialized' in auth session and update loading states across components
2 months ago
npmrun
1776f229fc
feat(profile): add optional icon support for social links and update related components
2 months ago
npmrun
660a2e35c0
feat(public): post lists use front matter desc, strip FM in article body
Made-with: Cursor
2 months ago
npmrun
91978987ce
feat(public): about page, profile media refs, media_refs ownerType
Made-with: Cursor
2 months ago
npmrun
03ceb6a2bd
refactor(db): rename post_media_refs to media_refs
Made-with: Cursor
2 months ago
npmrun
dcfd2fe05f
feat(api): public paginated posts, timeline, and reading lists
Made-with: Cursor
2 months ago
npmrun
68ebd5311a
feat(server/rss): public preview and paginated list by slug
Made-with: Cursor
2 months ago
npmrun
b9b443f30c
feat(server/timeline): public preview and paginated list by slug
Made-with: Cursor
2 months ago
npmrun
746e89ec63
feat(server/posts): public preview and paginated list by slug
Made-with: Cursor
2 months ago
npmrun
a31b9db636
feat(server): add public list pagination constants and page normalizer
Made-with: Cursor
2 months ago
npmrun
4e4d3b1c92
feat(admin): storage vs media_assets audit and safe DB cleanup
Made-with: Cursor
2 months ago
npmrun
707252eb2f
feat(media): grace expiry column; widen orphans page; align toolbar
Made-with: Cursor
2 months ago
npmrun
4b2c151a8e
feat(nitro): scheduled media orphan sweep task
Made-with: Cursor
2 months ago
npmrun
fd47913043
feat(config): admin toggles for media orphan auto-sweep
Made-with: Cursor
2 months ago
npmrun
16c1f7c888
feat(api): me media orphans list and batch delete
Made-with: Cursor
2 months ago
npmrun
05e6802f3e
feat(upload): require auth, sharp webp pipeline, media_assets row
Made-with: Cursor
2 months ago
npmrun
bf116d1737
feat(posts): sync media refs on create/update/delete
Made-with: Cursor
2 months ago
npmrun
e1dd32b770
feat(media): sync refs, orphan eligibility, delete helpers
Made-with: Cursor
2 months ago
npmrun
36a3fbfe1d
feat(media): constants and markdown/cover URL extraction
Made-with: Cursor
2 months ago
npmrun
436d0e7693
feat(posts): remove newer/older nav; edit link on public post for owner; expose post id in public API
Made-with: Cursor
2 months ago
npmrun
7c9b5eec51
feat(upload): raise image upload limit to 10MB
Made-with: Cursor
2 months ago
npmrun
34cacdd43b
feat(api): soft-delete comment from me scope
Made-with: Cursor
2 months ago
npmrun
b92a393ceb
feat(api): public and unlisted comment list and create endpoints
Made-with: Cursor
2 months ago
npmrun
155f4824f0
feat(comments): service for tree listing, create, and soft delete
Made-with: Cursor
2 months ago
npmrun
c218105c25
feat(posts): add comment context resolvers for public and unlisted
Made-with: Cursor
2 months ago
npmrun
607f70477f
feat(comments): guest display name and body validation
Made-with: Cursor
2 months ago