Skip to content

Organizations can reserve gems - #6777

Draft
brian-penguin wants to merge 7 commits into
masterfrom
bt/orgs-reserve-gem-names
Draft

Organizations can reserve gems #6777
brian-penguin wants to merge 7 commits into
masterfrom
bt/orgs-reserve-gem-names

Conversation

@brian-penguin

Copy link
Copy Markdown
Contributor

While we are still in Beta with our organizations approach we don't have gates on how many gem reservations can be made (yet) because we don't have a concept of "tiers" for organizations (yet).

  • Add a UI for Organizations to reserve gem names which haven't already been taken.
  • Add the AVO pages for management
  • Add an optional relationship to gem_name_reservations for organizations
image image

Why this change is being made:
- As we work towards a public rollout we want to reduce the surface
  area for problems in the Organization handle namespaces.

What were the changes made to support this:
- allow for a handle starting with a number (in this case 37signals)
- dont allow for organization handles which are taken by User handles
  (I'm not 100% on this one as of currently since I know the use of
  service user accounts is something that happens)
- Add a BUNCH of reserved words to the organization handle reserved
  list. This includes all our routes path segments, a list of prominent
  ruby/rails companies (minus the ones who have already added
  organizations), a bunch of words that look like they could belong to
  the app or rubygems namespaces, words that are tricky and annoying to
  sort out like "nil", and words that imply "trust" like "admin" or
  "safety"
- Update the seeds to use gem-org as the local test org
- Update the lib/patterns to include ORGANIZATION_HANDLE_PATTERN which
  is the same as the base handle pattern but allows for integers leading
Why this change is being made:
- I think this wants to exist in the database instead. Since there's
  still a feature toggle gate on this we have plenty of ability to
  change this before GA

What were the changes made to support this:
- remove the section
Why this change is being made:
- We are going to re-use this functionality to allow orgs to make
  reservations on gem names for themselves. Right now there's not going
  to be limits to this functionality other than making this a "request"
  model that we can allow admin to accept or reject

What were the changes made to support this:
- Add an optional reference to the gem_name_reservations table
Why this change is being made:
- also add to the avo resources

What were the changes made to support this:
- Make it so we can reference an organization from an GemNameReservation
Why this change is being made:
- We want to see these from Avo
Why this change is being made:
- We want to let organizations reserve their own gem names for their
  private gems

What were the changes made to support this:
- Add a new route/controller/view etc
- Update the translations files
- tests for the things

Next:
- the pusher tests are failing, they are related to setup but we are
  also changing the assumptions on how this works. So you can't make a
  reservation at all if a gem exists with the same name
@brian-penguin brian-penguin self-assigned this Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant