Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sponsorship changes #4274

Merged
merged 12 commits into from
Nov 13, 2022
Merged

Sponsorship changes #4274

merged 12 commits into from
Nov 13, 2022

Conversation

mattgodbolt
Copy link
Member

@mattgodbolt mattgodbolt commented Nov 11, 2022

Rotate sponsors on the top of the page:

  • topIcon -> topIconShowEvery
  • Sponsors becomes an interface with methods to get levels, pick sponsors etc
  • A somewhat acceptable algorithm for generating a "fair choice" of sponsors given the constraints^:
    • "show at least 1 in N times"
    • don't unfairly show one sponsor more than any other at the same level
  • Sponsor icons are loaded dynamically via a "bits" handler (introducing a short delay in them appearing), but this means the index.html doesn't change on every load, so it's still cacheable

^ the algorithm turns out to be an NP type algorithm, according to the math PhDs at my day job :)

@github-actions github-actions bot added the ui label Nov 11, 2022
Copy link
Member

@RubenRBS RubenRBS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Congratulations on finally gettings this done 😅

@mattgodbolt
Copy link
Member Author

lol right :) I still need to write the PR notes (editing them now)

@mattgodbolt mattgodbolt marked this pull request as ready for review November 12, 2022 15:43
@mattgodbolt
Copy link
Member Author

Just foolishly wrote more tests and found some issues, so re-drafting for now.

@mattgodbolt mattgodbolt marked this pull request as draft November 12, 2022 16:20
@mattgodbolt mattgodbolt marked this pull request as ready for review November 12, 2022 16:22
@mattgodbolt
Copy link
Member Author

Turns out my tests were wrong, so it's all good.

@mattgodbolt mattgodbolt merged commit cfb3dc5 into main Nov 13, 2022
@mattgodbolt mattgodbolt deleted the mg/sponsor_2 branch November 13, 2022 16:35
@RubenRBS
Copy link
Member

This is now live

mattgodbolt added a commit that referenced this pull request Dec 20, 2022
Rotate sponsors on the top of the page:
- `topIcon` -> `topIconShowEvery`
- `Sponsors` becomes an interface with methods to get levels, pick sponsors etc
- A somewhat acceptable algorithm for generating a "fair choice" of sponsors given the constraints:
  - "show at least 1 in N times"
  - don't unfairly show one sponsor more than any other at the same level
 - Sponsor icons are loaded dynamically via a "bits" handler (introducing a short delay in them appearing), but this means the index.html doesn't change on every load, so it's still cacheable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants