* Provide more specific payout method names on frontend
Been getting a lot of confused tickets recently of people withdrawing to PayPal but then not recognizing what "Tremendous" means. This should clarify things.
* feat: improve icons + names for withdrawals
* Update apps/frontend/src/components/ui/dashboard/RevenueTransaction.vue
Co-authored-by: Emma Alexia <emma@modrinth.com>
Signed-off-by: Calum H. <hendersoncal117@gmail.com>
* fix: icons
* fix: object cover
* feat: icons for crypto + bank
* fix: remove empty null
* fix: qa
---------
Signed-off-by: Calum H. <hendersoncal117@gmail.com>
Co-authored-by: Calum H. <contact@cal.engineer>
Maybe this will work? I dunno but users are still saying they're getting errors deleting accs. In theory it shouldn't matter if the transaction all gets committed at the same time, though, right? I can't really test this so I would like someone to tell me whether this will actually make a difference.
Co-authored-by: François-X. T <fetch@ferrous.ch>
* Fix error when trying to delete user with uploaded images
`{"error":"database_error","description":"Database Error: Error while interacting with the database: error returned from database: update or delete on table \"users\" violates foreign key constraint \"uploaded_images_owner_id_fkey\" on table \"uploaded_images\""}`
* Update certain things to use Ghost instead of deleting entirely
* Fix mistake
This reconciles a couple of differences between the frontend and backend regarding gallery image uploads.
- Frontend: The frontend thought that the limit should be 500 MiB for gallery images. This is obviously not right. It has been updated to 5 MiB.
- Backend: The backend has been rejecting anything between 2 MiB and 5 MiB, but this is inconsistent with prior usage, where the limit used to be 5 MiB. It has been updated to allow anything under 5 MiB.
Fixes#4291
* Change "Billing" link on dashboard for admins
Requires an archon change before merging
* change order
* steal changes from prospector's old PR
supersedes #3234
Co-authored-by: Prospector <prospectordev@gmail.com>
* lint?
---------
Co-authored-by: Prospector <prospectordev@gmail.com>
* Hopefully fix collection visibility once and for all
Follow up to #3408 and #3864
* Use same unlisted approach for collections as is used for projects
* Allow modification of failed charges on admin billing page
Allows cancelling a failed subscription and forcing another charge attempt
* use addNotification
Fixes#1485
Also fixes an issue where email_verified was being set to true regardless of whether the oauth provider provides an email (thus indicating that a null email is verified)
* Add blog post: Pride Month 2025 campaign
* fix lint maybe
* Revert changes to other stuff
* run fix
* use local links
* re-run fix
---------
Co-authored-by: Prospector <prospectordev@gmail.com>
Some users elect to try to perform their upgrade immediately before their subscription renews. However, we throw an error whenever the proration charge is under 30 cents because we lose more money on fees than we gain by charging the customer. This PR changes charges so that the user's server will simply be provided a free upgrade instead of requiring them to wait until after their next renewal.
* Clear owner's project cache after deleting organization
Fixes an issue where people would think their projects were deleted along with their organization, when this isn't actually the case.
* address PR review
* Update apps/labrinth/src/routes/v3/organizations.rs
Signed-off-by: Emma Alexia <wafflecoffee7@gmail.com>
* Fix lint
* actually fix lint
---------
Signed-off-by: Emma Alexia <wafflecoffee7@gmail.com>
* Remove new-projects channel emojis
With new loaders, this functionality has become unwieldy. We don't have enough emoji slots in the server for the number of emojis we'd need for the loaders. It is easiest to simply format them in the same way knossos does.
Note: I forgor how the borrow checker works, this compiles but I'm sure it's gore to anyone who actually knows the difference between a string slice and a String, I come from Javaland though so pls forgive
* Rename func accordingly
When a payment for a subscription fails, we continue to try to re-attempt retrieving payment for 30 days.
Sometimes making it fail is an intentional choice on the user's part (e.g. Privacy.com card) or other times the user just doesn't want their subscription anymore after it fails.
This PR allows users with a failed payment to simply cancel instead of waiting for the 30-day timer to set in.
* Fix random_projects route not returning the requested number of projects
* fix(labrinth): further improve random project route SQL query
* chore: fix typo in comment
* tweak(labrinth): more apparent and fast randomness for `random_projects_get`
* tweak(labrinth): even better random projects query
* chore: address formatting review
---------
Co-authored-by: Alejandro González <me@alegon.dev>
* Fix `updated` field including deleted versions
Four years ago, I created issue modrinth/labrinth#200. Today, while it adorns a different name (modrinth/code#2766), the issue remains the same. In celebration of Modrinth's oldest bug report, here is a fix.
Instead of having a separate `updated` field, it simply pulls the publish date of the most recent version. This should also allow the `updated` column on the `mods` table to be dropped at a later date, but I would rather get confirmation that it works before we go ahead with that.
Fixes#2766
* Update apps/labrinth/src/database/models/project_item.rs
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
Signed-off-by: Emma Alexia <wafflecoffee7@gmail.com>
---------
Signed-off-by: Emma Alexia <wafflecoffee7@gmail.com>
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
* Revert "fix: capitalization of ID org route breaks projects list (#3621)"
This reverts commit e4adbb9469.
* Fix organization projects route properly
Reverted #3621 because it caused more bugs to be created, in the form of organizations with capital letters not showing any projects
* Update apps/labrinth/src/routes/v3/organizations.rs
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
Signed-off-by: Emma Alexia <wafflecoffee7@gmail.com>
* fix copy-paste error
---------
Signed-off-by: Emma Alexia <wafflecoffee7@gmail.com>
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
* Allow servers to be unprovisioned without issuing a refund
for very specific weird circumstances where a server gets stuck/etc; useful for support
* still create a charge
* Fix compile
* Fixes error when an admin tries transferring project ownership
* Fixes error when trying to delete a user when they previously have a transaction
Co-authored-by: Jai Agrawal <18202329+Geometrically@users.noreply.github.com>
* Fix project visibility in hash routes
* improve
* clippy
* CLIPPYYYYYYYYYYYYYY
* clippy, I hope you know that I hate you
---------
Co-authored-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
* SEO/Metadata cleanup
May split rules changes into its own PR
* Revert rules/terms changes as they are now on a separate branch
* Update [searchProjectType].vue
* Update terms.vue
* Miscellaneous fixes/improvements to landing page
* The downsides of not being able to set up a local testing env, in a commit
* Update how stats are retrieved
* Fix prettier
* Make requested changes
* Restore nuxt.config.js
* Restore composables/tag.js
* Update index.vue