Actions for Branded Domains
Problem: multitenant users do not want to be heading over to .bankless.community, instead we would like to offer them them a more vanilla link:
This should:
- Appear in links to the bountyboard
- Automatically redirect to the DAO specified
- Fallback to bankless with a 'DAO not found'
- Be backwards compatible with existing implementation
Proposed Implementation
Stage 1: Redirect with backwards compatability? (Do we even need this step?)
- Users who navigate to the url via bountyboard.xyz/dao will be redirected to bountyboard.bankless.community but will have the DAO preloaded
- Users who navigate via /dao/bounties/{{id} will hit the single bounty page
Stage 2: Migrate primary CNAME to bountyboard.xyz
- No redirects, move the infra off bankless
Technical Steps, Please Add
Bots
- Change Bountybot to generate URLs to /{customer.name}/bounties/{bountyId} in all places in the discord bot
DevOps
- Get sanity check from DevOps on considerations for vercel migration to a new domain
- Check CORS, OAuth, Environment Variables across all environments
- Change the URL of the staging environment
- Understand how http://bountyboard.xyz/* urls will be passed to the application during a redirect, at the moment it is not implemented
- Add 301 redirects from bountyboard.bankless.community to bountyboard.xyz
- Add backwards compatible support for older links
- Check with API users across the DAO - content gateway, DAO Dash, Mobile App, about ramifications of a move of the API base URL
- Ideally, keep the old API running and available at bountyboard.bankless.community/api
Board
- Add support for a /[:daoid] to display the index page with the customer preloaded into the Context API
- Add the /[:daoId]/bounties/[:bounityid]
- Change the /[:bountyId] wildcard to instead look for /[:daoId]/bounties/[:bountyId]
- Add a fallback check for backwards compatability - if the DAO is not found, try searching the string for a bounty id
- Ensure caching is still maintained across both routes (should be as it's controlled at customer level)
- Check workflow to ensure the above will work even with redircets