Skip to content

Ranking system revisited

Announcements
3 2 1.1k 1
  • I’ve spent some time refactoring the ranking system, as it didn’t really make that much sense - admittedly, it looked good when it first went in, but it never actually reflected reality.

    Based on this, I’ve changed the names of the ranks (there are no actual quantity adjustments in terms of the reputations users have acquired) so they look like the below

    • Newbie (0)
    • Rookie (10)
    • Apprentice (20)
    • Explorer (30)
    • Contributor (50)
    • Enthusiast (100)
    • Collaborator (150)
    • Regular (200)
    • Proficient (300)
    • Experienced (500)
    • Veteran (750)
    • Grand Master (1000)
    • Guru (2000)
    • Yoda (5000)

    This new layout makes the system reflect reality in the sense that is now based on your experience with the platform itself rather than any specific skill set.

    Enjoy 🙂

  • I’ve spent some time refactoring the ranking system, as it didn’t really make that much sense - admittedly, it looked good when it first went in, but it never actually reflected reality.

    Based on this, I’ve changed the names of the ranks (there are no actual quantity adjustments in terms of the reputations users have acquired) so they look like the below

    • Newbie (0)
    • Rookie (10)
    • Apprentice (20)
    • Explorer (30)
    • Contributor (50)
    • Enthusiast (100)
    • Collaborator (150)
    • Regular (200)
    • Proficient (300)
    • Experienced (500)
    • Veteran (750)
    • Grand Master (1000)
    • Guru (2000)
    • Yoda (5000)

    This new layout makes the system reflect reality in the sense that is now based on your experience with the platform itself rather than any specific skill set.

    Enjoy 🙂

    @phenomlab Which rank plugin using Sudonix?

  • @phenomlab Which rank plugin using Sudonix?

    @cagatay nodebb-plugin-user-level

  • phenomlabundefined phenomlab forked this topic on

Related Topics
  • 14 Votes
    9 Posts
    1k Views
    @DownPW of course. As I mentioned in the first post, Sudonix isn’t going anywhere. It’ll continue to be free as it always has been.
  • ANNOUCEMENT: New NTFY Server

    Announcements ntfy push alerts
    9
    1
    7 Votes
    9 Posts
    2k Views
    @crazycells that’s as good a test as any
  • Adding reputation

    Solved Customisation reputation
    17
    1
    4 Votes
    17 Posts
    2k Views
    @OT very odd. Shouldn’t be that complex, but glad you have it working.
  • 1 Votes
    4 Posts
    1k Views
    @Vijay-Kumavat-0 I think you’d be better off customising the plugin above to be honest. It seems like you’d be reinventing the wheel otherwise. I’d modify /nodebb/node_modules/nodebb-rewards-essentials/lib/conditions.js /nodebb/node_modules/nodebb-rewards-essentials/lib/rewards.js These seem to be the two files that control what is in the dropdown lists.
  • 36 Votes
    43 Posts
    10k Views
    I was experiencing 500 (Internal Server Error) responses from the proxy, visible in the browser console: GET https://proxy.xxx-xxx.net/ogproxy?url=https%3A%2F%2Fzupimages.net%2Fup%2F26%2F16%2Fld8h.jpg 500 (Internal Server Error) After investigation, I found two root causes: 1. Direct image URLs being sent to the proxy The custom JavaScript responsible for detecting links and sending them to the proxy was using the following regex to exclude direct image links: var fileExtensionPattern = /\.(png|jpeg|gif|pdf|docx?|xlsx?|pptx?|zip|rar|svg)$/i; Note that .jpg and .webp were missing from the pattern. As a result, links ending in .jpg were not recognized as direct image URLs and were forwarded to the OGProxy, which then tried to scrape them as web pages using open-graph-scraper — causing a 500 error. The fix was to add the missing extensions: var fileExtensionPattern = /\.(jpg|png|jpeg|gif|pdf|docx?|xlsx?|pptx?|zip|rar|svg|webp)$/i; 2. The proxy not following HTTP redirects Some image hosting services (e.g. zupimages.net) return a 301 redirect from the bare domain to www. When curl follows the redirect manually the image loads fine: curl -IL https://zupimages.net/up/26/16/ld8h.jpg HTTP/2 301 → https://www.zupimages.net/up/26/16/ld8h.jpg HTTP/2 200 However, the proxy’s axios.get() call does not handle this gracefully when open-graph-scraper is involved, resulting in a 500 error being returned to the client. My questions are: Is there a known best practice for handling redirect chains in open-graph-scraper? Would passing maxRedirects or followRedirect options explicitly to axios or ogs fix this reliably? Is there a cleaner way to pre-filter direct image/file URLs before they reach the proxy, ideally at the NodeBB plugin level rather than in custom JS? Thanks in advance.
  • Fancybox now used for image handling

    Announcements fancybox
    16
    6 Votes
    16 Posts
    3k Views
    And it seems to be less conflicting!
  • Polling system added

    Announcements poll
    1
    0 Votes
    1 Posts
    462 Views
    No one has replied
  • Reputation system update

    Announcements voting rank award
    11
    10 Votes
    11 Posts
    2k Views
    I think I will not use your author button because I use Badge group and 3 badge it’s too much to display… But your idea is so cool ^^