Commit Graph

363 Commits

Author SHA1 Message Date
Noah Petherbridge
28d1e284ab User Forums: Newest Tab, Moderators
* The "Newest" tab of the forum is updated with new filter options.
  * Which forums: All, Official, Community, My List
  * Show: By threads, All posts
  * The option for "Which forums" is saved in the user's preferences and set as
    their default on future visits, similar to the Site Gallery "Whose photos"
    option.
  * So users can subscribe to their favorite forums and always get their latest
    posts easily while filtering out the rest.
* Forum Moderators
  * Add the ability to add and remove moderators for your forum.
  * Users are notified when they are added as a moderator.
  * Moderators can opt themselves out by unfollowing the forum.
* ForumMembership: add unique constraint on user_id,forum_id.
2024-08-23 22:56:40 -07:00
Noah Petherbridge
9570129bba Forum Memberships & My List
* Add "Browse" tab to the forums to view them all.
  * Text search
  * Show all, official, community, or "My List" forums.
* Add a Follow/Unfollow button into the header bar of forums to add it to
  "My List"
* On the Categories page, a special "My List" category appears at the top
  if the user follows categories, with their follows in alphabetical order.
* On the Categories & Browse pages: forums you follow will have a green
  bookmark icon by their name.

Permissions:

* The forum owner is able to Delete comments by others, but not Edit.

Notes:

* Currently a max limit of 100 follow forums (no pagination yet).
2024-08-23 22:56:40 -07:00
Noah Petherbridge
1bf846e78b Forum Admin Page for Regular Users
Allow regular (non-admin) users access to the Manage Forums page so they can
create and manage their own forums.

Things that were already working:

* The admin forum page was already anticipating regular LoginRequired credential
* Users only see their owned forums, while admins can see and manage ALL forums

Improvements made to the Forum Admin page:

* Change the title color from admin-red to user-blue.
* Add ability to search (filter) and sort the forums.

Other changes:

* Turn the Forum tab bar into a reusable component.
2024-08-23 22:56:40 -07:00
Noah Petherbridge
ef95d05453 FontAwesome version upgrade to 6.6.0 2024-08-23 22:56:25 -07:00
Noah Petherbridge
5b0f8e7774 Dark Theme fixes for MS Edge 2024-08-22 22:53:37 -07:00
Noah Petherbridge
d11631c574 Theme update 2024-08-22 22:44:19 -07:00
Noah Petherbridge
1f1341b0f7 Adjust spinner and search page 2024-08-22 22:27:21 -07:00
Noah Petherbridge
bf87cf1a2e Custom loading spinner for PWA 2024-08-22 22:19:42 -07:00
Noah Petherbridge
146a537ec4 Web App Manifest: standalone instead of minimal-ui 2024-08-13 20:14:06 -07:00
Noah Petherbridge
a8dda91c3c Debug Notification API failures 2024-08-12 20:41:04 -07:00
Noah Petherbridge
e70ede301f Delete the inner circle 2024-08-10 11:54:37 -07:00
Noah Petherbridge
1936bcde37 Dropdown menus to open up near bottom of the page 2024-08-10 11:18:52 -07:00
Noah Petherbridge
a00851a8b2 Formatting fix 2024-08-07 23:33:45 -07:00
Noah Petherbridge
a6bd33fdf8 Fix mute notification links on unread notifications 2024-08-07 23:30:19 -07:00
Noah Petherbridge
147a9162ba Mute specific friends new photo upload notifications 2024-08-07 23:05:23 -07:00
Noah Petherbridge
01c38c5c21 Easy comment thread unsubscribe links in Notifications 2024-08-07 22:15:47 -07:00
Noah Petherbridge
b8be14ea8d Search By Location
* Add a world cities database with type-ahead search on the Member Directory.
* Users can search for a known city to order users by distance from that city
  rather than from their own configured location on their settings page.
* Users must opt-in their own location before this feature may be used, in order
  to increase adoption of the location feature and to enforce fairness.
* The `nonshy setup locations` command can import the world cities database.
2024-08-03 14:54:22 -07:00
Noah Petherbridge
6ca94cb926 Some basic statistics on the home page 2024-07-31 15:32:16 -07:00
Noah Petherbridge
40b1f2f57a Database cleanup tasks 2024-07-26 17:15:53 -07:00
Noah Petherbridge
188e2e147c Update search keywords 2024-07-26 16:16:10 -07:00
Noah Petherbridge
a314aab7ec Web Push Notifications
* Add support for Web Push Notifications when users receive a new Message or
  Friend Request on the main website.
* Users opt in or out of this on their Notification Settings. They can also
  individually opt out of Message and Friend Request push notifications.
2024-07-20 19:44:22 -07:00
Noah Petherbridge
a0320714c4 Search terms and admin features 2024-07-13 12:05:36 -07:00
Noah Petherbridge
2f997dfee0 Revise admin options in member directory 2024-07-09 22:27:24 -07:00
Noah Petherbridge
1c01aad80f Normal users can not search non-certified profiles
* Remove the ability for regular (non-admin) users to search the Member
  Directory for non-certified profiles.
* Profiles who don't certify can be a risk to contact, as the likelihood
  of fake pictures and scams/spam is much higher.
2024-07-09 22:21:28 -07:00
Noah Petherbridge
3203a487a5 Minor bugfix: set type=button on the paginator overflow button 2024-07-08 18:00:23 +00:00
Noah Petherbridge
9b72a95ca4 Pinned photo bugfixes on initial upload page 2024-07-07 14:19:51 -07:00
Noah Petherbridge
22b8cf0594 Pinned photo gallery support 2024-07-07 14:00:58 -07:00
Noah Petherbridge
0db69983fe Revise Pagination Widget
The pager widget will now show a dropdown menu of overflow pages in the
middle. This allows easy access to the First and Last pages and an
ability to select from any of the middle pages to jump to quickly.
2024-07-07 12:45:42 -07:00
Noah Petherbridge
1134128a71 Revert "Public Avatar Consent Page"
This reverts commit 4f04323d5a.
2024-06-29 21:42:35 -07:00
Noah Petherbridge
656710035b Revert "Add notification banners about upcoming Public Avatar change"
This reverts commit 91a3cc27ba.
2024-06-29 20:52:23 -07:00
Noah Petherbridge
91a3cc27ba Add notification banners about upcoming Public Avatar change 2024-06-29 19:28:51 -07:00
Noah Petherbridge
4f04323d5a Public Avatar Consent Page
The nonshy website is changing the policy on profile pictures. From August 30,
the square cropped avatar images will need to be publicly viewable to everyone.

This implements the first pass of the rollout:

* Add the Public Avatar Consent Page which explains the change to users and
  asks for their acknowledgement. The link is available from their User Settings
  page, near their Certification Photo link.
* When users (with non-public avatars) accept the change: their square cropped
  avatar will become visible to everybody, instead of showing a placeholder
  avatar.
* Users can change their mind and opt back out, which will again show the
  placeholder avatar.
* The Certification Required middleware will automatically enforce the consent
  page once the scheduled go-live date arrives.

Next steps are:

1. Post an announcement on the forum about the upcoming change and link users
   to the consent form if they want to check it out early.
2. Update the nonshy site to add banners to places like the User Dashboard for
   users who will be affected by the change, to link them to the forum post
   and the consent page.
2024-06-29 16:44:18 -07:00
Noah Petherbridge
a82e04b2f8 Change Likes icon 2024-06-26 21:28:53 -07:00
Noah Petherbridge
8754ed8592 Search users by "Liked" 2024-06-26 21:27:03 -07:00
Noah Petherbridge
72b6e2a616 Profile light/dark theme CSS fixes 2024-06-24 23:07:26 -07:00
Noah Petherbridge
616f6ae76b Full text profile search for the member directory 2024-06-19 14:12:25 -07:00
Noah Petherbridge
6ac121b345 Rename username field on Member Directory 2024-06-15 17:10:43 -07:00
Noah Petherbridge
42aeb60853 Various tweaks and improvements
* Inner circle: users have the ability to remove themselves and can avoid being
  invited again in the future.
* Admin actions: add a "Reset Password" ability to user accounts.
* Admin "Create New User" page.
* Rate limit error handling improvements for the login page.
2024-06-15 15:05:50 -07:00
Noah Petherbridge
6d46632270 Fix selectbox on admin certification page 2024-06-01 17:29:45 +00:00
Noah Petherbridge
6f5127dd56 Cold Storage with One-Way RSA Encryption 2024-05-29 23:20:24 -07:00
Noah Petherbridge
2ac34eea79 Some CSS updates 2024-05-27 13:07:15 -07:00
Noah Petherbridge
5db1c03fd9 Clean up admin permission checks around the site 2024-05-27 13:02:05 -07:00
Noah Petherbridge
e71ca1fba3 Update wording re: secondary photo ID verification 2024-05-27 12:44:30 -07:00
Noah Petherbridge
97291c8721 Update documentation 2024-05-26 14:21:01 -07:00
Noah Petherbridge
f0e69f78da Certification: Secondary Photo ID Workflow
* Add an Admin Certification Photo workflow where we can request the user to
  upload a secondary form of ID (government issued photo ID showing their
  face and date of birth).
* An admin rejection option can request secondary photo ID.
* It sends a distinct e-mail to the user apart from the regular rejection email
* It flags their cert photo as "Secondary Needed" forever: even if the user
  removes their cert photo and starts from scratch, it will immediately request
  secondary ID when uploading a new primary photo.
* Secondary photos are deleted from the server on both Approve and Reject by
  the admin account, for user privacy.
* If approved, a Secondary Approved=true boolean is stored in the database. This
  boolean is set to False if the user deletes their cert photo in the future.
2024-05-26 12:34:00 -07:00
Noah Petherbridge
af76c251c6 Cloudflare CAPTCHA for account signup page 2024-05-20 13:29:02 -07:00
Noah Petherbridge
8ed489c264 iOS playsinline attribute for video tags
Prevent videos from automatically full-screening on autoplay by using
the iOS 10+ playsinline attribute.
2024-05-20 09:31:16 -07:00
Noah Petherbridge
12a1adc270 Grammar update 2024-05-13 21:04:38 -07:00
Noah Petherbridge
a284aab026 Update the scam detection DM disclaimer 2024-05-13 20:55:46 -07:00
Noah Petherbridge
b477ad5e73 Revise wording on scam disclaimer message in DMs 2024-05-13 20:51:58 -07:00
Noah Petherbridge
c566e444c7 Warn recipient in DMs about possible scams 2024-05-13 19:41:11 -07:00
Noah Petherbridge
ed008a99e6 Admin: don't search for banned users without the scope
An admin must have the admin.user.ban scope in order to search for
banned or disabled users in the member directory.
2024-05-11 14:10:59 -07:00
Noah Petherbridge
7c7d3a11e5 No need to show emails on Admin Scopes page 2024-05-11 13:54:12 -07:00
Noah Petherbridge
9db7343370 Private forums (admin only for now) 2024-05-11 12:23:06 -07:00
Noah Petherbridge
0f6dd58c54 Remove iPad disclaimer on the chat landing page 2024-05-09 21:23:44 -07:00
Noah Petherbridge
20d04fc370 Admin Transparency Page
* Add a transparency page where regular user accounts can list the roles and
  permissions that an admin user has access to. It is available by clicking on
  the "Admin" badge on that user's profile page.
* Add additional admin scopes to lock down more functionality:
  * User feedback and reports
  * Change logs
  * User notes and admin notes
* Add friendly descriptions to what all the scopes mean in practice.
* Don't show admin notification badges to admins who aren't allowed to act on
  those notifications.
* Update the admin dashboard page and documentation for admins.
2024-05-09 15:50:46 -07:00
Noah Petherbridge
31ba987d62 Update privacy policy 2024-04-29 19:54:59 -07:00
Noah Petherbridge
a00aec7488 Add Quote & Reply buttons to photo comment pages 2024-04-27 19:17:33 -07:00
Noah Petherbridge
2f352f8664 Ability to find your "Likes" on the Site Gallery 2024-04-27 19:06:17 -07:00
Noah Petherbridge
04f1c56809 Update privacy policy 2024-04-25 22:37:22 -07:00
Noah Petherbridge
106ca56198 Search users by admin, privacy policy update 2024-04-25 21:52:43 -07:00
Noah Petherbridge
19d06c183f Remove debug testing 2024-04-24 20:38:07 -07:00
Noah Petherbridge
f4721d65da HTMX lazy load for user statistics card 2024-04-24 20:36:37 -07:00
Noah Petherbridge
e7f7f4d0d3 Fix Bulma menu-list on settings page 2024-04-18 20:21:22 -07:00
Noah Petherbridge
a0f41074bd Bulma list syntax fixes on a couple pages 2024-04-18 20:18:55 -07:00
Noah Petherbridge
4623cdca50 Update some text copy 2024-04-13 15:10:15 -07:00
Noah Petherbridge
e947a005d9 Dark theme color improvements 2024-04-13 14:55:25 -07:00
Noah Petherbridge
32b054cacf Remove from inner circle when deleting all your pictures 2024-04-13 10:44:09 -07:00
Noah Petherbridge
6866bec972 Dark theme text colors on FAQ page 2024-04-12 19:31:45 -07:00
Noah Petherbridge
7dc1ebd63f Slight copy update on home page and FAQ 2024-04-12 19:10:49 -07:00
Noah Petherbridge
360ad41543 Marketing overhaul for the front home page 2024-04-12 18:31:11 -07:00
Noah Petherbridge
2f75059623 Highlight DM privacy feature on inbox page 2024-04-06 15:07:10 -07:00
Noah Petherbridge
763b9e4404 Text search for the change log 2024-04-04 23:05:16 -07:00
Noah Petherbridge
268a177412 Handy contextual links on the admin change log page 2024-04-04 22:48:46 -07:00
Noah Petherbridge
ddd33aad91 Change Log Buttons
* Dark theme fixes to brighten notification colors on mobile
* Add change log buttons around various pages to easily look into the history
  of an object in the database:
  * User profile page ('about user' and user table history links)
  * User friends page
  * User/Site gallery page (history of all (user) photos)
  * Admin insights page (comments, threads, and blocklist history)
  * Admin certification page (history of a user's cert photos)
  * Comment history buttons on forums and photos
2024-04-04 22:24:35 -07:00
Noah Petherbridge
4ff7bc5d04 Small color tweak 2024-04-01 20:03:37 -07:00
Noah Petherbridge
a47202d756 Tweak navbar notification color 2024-04-01 19:50:59 -07:00
Noah Petherbridge
ff69b8f771 Small color tweak 2024-04-01 18:03:16 -07:00
Noah Petherbridge
c8238c1749 Fix theme import for prefers-dark 2024-04-01 17:59:57 -07:00
Noah Petherbridge
58eaf53694 Dark theme fixes for Microsoft Edge 2024-04-01 17:53:19 -07:00
Noah Petherbridge
6a483929d2 CSS fixes for forced light theme 2024-04-01 09:27:05 -07:00
Noah Petherbridge
fe2e43245b Dark theme fixes 2024-03-30 16:11:55 -07:00
Noah Petherbridge
a669b58c55 Various dark theme color fixes 2024-03-30 15:59:29 -07:00
Noah Petherbridge
ad59440b2b Forum color tweaks for new dark theme 2024-03-30 14:09:16 -07:00
Noah Petherbridge
2d0fd25a08 Upgrade to Bulma CSS 1.0 and theme picker support 2024-03-30 13:49:36 -07:00
Noah Petherbridge
2ab34a39a3 Better UX for Who's Nearby feature 2024-03-29 20:35:41 -07:00
Noah Petherbridge
d4e3aa755b Style update for certification checklist 2024-03-28 23:18:23 -07:00
Noah Petherbridge
4f3f6de158 Bugfix on gallery page 2024-03-28 23:06:58 -07:00
Noah Petherbridge
35258beb36 Helpful copy and image lightbox fix
* On the "Certification Required" error page: show help text under the
  checklist to make it clear that clicking the checklist item will link
  to the profile photo or cert photo upload page.
* Add more helpful text around the site to address common confusion:
  * On the Photo Upload page for profile_pic and the user is already at
    quota: add special text saying they can use an existing gallery
    photo as their profile pic instead.
  * On the self Gallery view page: if the user has no profile pic
    currently set, offer advice and links on how to set one.
* Fix the image max-width on Gallery lightbox modals
2024-03-28 23:02:42 -07:00
Noah Petherbridge
1c2982aec0 Quick Mark Explicit: Not on user's own pictures 2024-03-19 19:41:17 -07:00
Noah Petherbridge
d623f0bc3c User endpoint to flag photos that should be Explicit 2024-03-16 13:29:28 -07:00
Noah Petherbridge
04a7616299 Alt Text Tweaks + Video site link detection 2024-03-15 23:19:26 -07:00
Noah Petherbridge
cf6249c415 Alt Text for Photos
* Add an Alt Text field for users to describe their photos for accessibility.
* Alt texts appear on mouse over on Gallery pages, in the lightbox modal (on
  mouse over or by clicking the ALT button that appears), and in a box on the
  permalink page below the photo caption.
* Max length of Alt Text is 5,000 characters.
* Fix a bug with the right-click blocker not working on the lightbox modal.
2024-03-15 22:02:24 -07:00
Noah Petherbridge
742a5fa1af Auto-Disconnect Users from Chat
Users whose accounts are no longer eligible to be in the chat room will be
disconnected immediately from chat when their account status changes.

The places in nonshy where these disconnects may happen include:

* When the user deactivates or deletes their account.
* When they modify their settings to mark their profile as 'private,' making
  them become a Shy Account.
* When they edit or delete their photos in case they have moved their final
  public photo to be private, making them become a Shy Account.
* When the user deletes their certification photo, or uploads a new cert photo
  to be reviewed (in both cases, losing account certified status).
* When an admin user rejects their certification photo, even retroactively.
* On admin actions against a user, including: banning them, deleting their
  user account.

Other changes made include:

* When signing up an account and e-mail sending is not enabled (e.g. local
  dev environment), the SignupToken is still created and logged to the console
  so you can continue the signup manually.
* On the new account DOB prompt, add a link to manually input their birthdate
  as text similar to on the Age Gate page.
2024-03-15 15:57:05 -07:00
Noah Petherbridge
be9276f4c0 Better photo scaling without scroll in lightbox modal 2024-03-07 18:10:29 -08:00
Noah Petherbridge
80c4471017 Add DB indexes and request time to page footer 2024-03-03 17:58:18 -08:00
Noah Petherbridge
28111585ef Notification Filters 2024-02-28 20:49:16 -08:00
Noah Petherbridge
dd24aa1987 Quick mark Explicit link on photo permalink page 2024-02-25 17:40:23 -08:00
Noah Petherbridge
f4d176a538 Change Logs
* Add a ChangeLog table to collect historic updates to various database tables.
* Created, Updated (with field diffs) and Deleted actions are logged, as well
  as certification photo approves/denies.
* Specific items added to the change log:
  * When a user photo is marked Explicit by an admin
  * When users block/unblock each other
  * When photo comments are posted, edited, and deleted
  * When forums are created, edited, and deleted
  * When forum comments are created, edited and deleted
  * When a new forum thread is created
  * When a user uploads or removes their own certification photo
  * When an admin approves or rejects a certification photo
  * When a user uploads, modifies or deletes their gallery photos
  * When a friend request is sent
  * When a friend request is accepted, ignored, or rejected
  * When a friendship is removed
2024-02-25 17:03:36 -08:00
Noah Petherbridge
3c0473c633 WIP: Deduplicate threads on Newest forum tab 2024-02-14 21:38:20 -08:00