NEAR-DevHub / neardevhub-contract

DevHub Portal Product Contract (Hosted on NEAR Blockchain) – Includes other instances (e.g. Infrastructure, Events)
https://neardevhub.org
19 stars 15 forks source link

Web4 scripts from socialdb #148

Closed petersalomonsen closed 2 months ago

petersalomonsen commented 2 months ago

Preview URL: https://devhubweb4.testnet.page/

Notice that the served index.html is referencing web4browserclient.js with a blockHeight parameter. The block height of the latest deployed web4browserclient.js is obtained to a preload call to socialdb. This ensures that the browser will always load the latest version of the script, and allow local caching as long as there are no changes.

image

The javascript file, which is stored in socialdb, can then be loaded from this URL: https://devhubweb4.testnet.page/resources/devhub.near/web4browserclient.js?blockHeight=127582922

This will query socialdb for the latest block height of the javascript referenced in the web4 deployment, and reference the script in the served index.html. The script will also served through web4. Having the blockheight in the query string when referencing the script, ensure that it's always the latest script being loaded, but also enables caching in the browser as long as there are no changes. This is a good alternative to referencing a CDN where you often don't have the same opportunity to check which version is the latest, and also we can reduce the number of dependencies this way. Both when it comes to referencing the script, as we now only can use the web4 gateway, and also in deployment, where everything can be deployed to socialdb.

Resolves #146

petersalomonsen commented 2 months ago

@race-of-sloths include

race-of-sloths commented 2 months ago

@petersalomonsen Thank you for your contribution! Your pull request is now a part of the Race of Sloths! Do you want to apply for monthly streak? Get 8+ score for a single PR this month and receive boost for race-of-sloths!

[

<source media="(prefers-color-scheme: light)" srcset="https://badge.race-of-sloths.com/petersalomonsen?type=bot&theme=light">
<img alt="Shows profile picture for the author of the PR" src="https://badge.race-of-sloths.com/petersalomonsen?type=bot&theme=white">

](https://race-of-sloths.com/profile/petersalomonsen)

Current status: executed | Reviewer | Score | |--------|--------| | @frol | 5 | Your contribution is much appreciated with a final score of 5! You have received 74 (50 base + 20 weekly bonus + 5% lifetime bonus) Sloth points for this contribution Another weekly streak completed, well done @petersalomonsen! To keep your weekly streak and get another bonus make pull request next week! Looking forward to see you in race-of-sloths
What is the Race of Sloths

Race of Sloths is a friendly competition where you can participate in challenges and compete with other open-source contributors within your normal workflow For contributors: - Tag @race-of-sloths inside your pull requests - Wait for the maintainer to review and score your pull request - Check out your position in the [Leaderboard](https://race-of-sloths.com/leaderboard) - Keep weekly and monthly streaks to reach higher positions - Boast your contributions with a dynamic picture of your [Profile](https://race-of-sloths.com/profile/petersalomonsen) For maintainers: - Score pull requests that participate in the Race of Sloths - Engage contributors with fair scoring and fast responses so they keep their streaks - Promote the Race to the point where the Race starts promoting you - Grow the community of your contributors Feel free to check [our website](https://race-of-sloths.com) for additional details!

Bot commands - For contributors - **Include a PR:** `@race-of-sloths include` to enter the Race with your PR - For maintainers: - **Invite contributor** `@race-of-sloths invite` to invite the contributor to participate in a race or include it, if it's already a runner. - **Assign points:** `@race-of-sloths score [1/2/3/5/8/13]` to award points based on your assessment. - **Reject this PR:** `@race-of-sloths exclude` to send this PR back to the drawing board. - **Exclude repo:** `@race-of-sloths pause` to stop bot activity in this repo until `@race-of-sloths unpause` command is called