Skip to content

Conversation

@preschian
Copy link

@preschian preschian commented Sep 13, 2025

Milestone Delivery Checklist

  • The delivery template has been copied and updated.
  • This pull request is being made by the same account as the accepted application.
  • I have disclosed any and all sources of reused code in the submitted repositories and have done my due diligence to meet its license requirements.
  • The delivery is according to the delivery guidelines.

Link to the application pull request: PolkadotOpenSourceGrants/apply#20

@preschian preschian marked this pull request as ready for review September 13, 2025 06:34
@niklasp niklasp self-assigned this Sep 29, 2025
@niklasp
Copy link

niklasp commented Oct 6, 2025

@preschian thank you for the milestone delivery. Great work for M2! I added some improvements that are required (marked in 🔴). The issues marked in yellow (🟡) are nice to haves for the templates but not required for a successful delivery.

Please take a look at the evaluation document and let me know when I can evaluate this milestone again.

@preschian
Copy link
Author

hi @niklasp, thanks for the great evaluation document. here are some quick updates:

🔴 subscan explorer link does not work on all networks (also addressed in m1 delivery comment)

after some debugging, I found out there’s an issue between dedot and the talisman wallet. I’ve already raised it to Sinzii regarding this. there’s no issue with other wallets.

🔴 fetchBalance in Balance.tsx contains a possible race condition. read more

which section is the “read more” referring to?


I’ll fix the other points as well.

@preschian
Copy link
Author

Hi @niklasp, thank you very much for your feedback. As always, I really appreciate it. Now, ready to evaluate again.

🔴 subscan explorer link does not work on all networks

Fixed, related PR: https://github.com/dedotdev/dedot/pull/636

🔴 createRemarkTransaction only calls unsub when finalized, and only two status are handled. unsub should be called on other tx status types too

It's intended to only call unsub when the tx is finalized, because if we call unsub before that, the UI will show the tx as "processing" forever. We also intended to only handle two status types; in the template UI we only show two callbacks plus onError.

🔴 fetchBalance in Balance.tsx contains a possible race condition. read more
🟡 consider using kebab-case filenames as used in next.js generally: https://nextjs.org/docs/app/getting-started/server-and-client-components

Fixed for React and Next.js templates.

🔴 docs page needs info on how to connect to other chains than the 4 provided
🟡 consider replacing "Funds Token" label with something like "Get Tokens" (all templates)
🟡 x.com link in footer does not direct to correct domain

Updated in all templates.

🟡 some dependencies are outdated. Please consider adding an automated process with e.g. dependabot

We already have a dependabot config, but we set it with a cooldown to avoid NPM Supply Chain Attacks. So, we won't update the dependencies immediately once they are released. https://github.com/preschian/create-dot-app/blob/628bd0e790e0dda33494530e9b12e90e92434303/.github/dependabot.yml#L14-L20

In reality, PRs for dependency updates may have an interval of more than 1 week, to ensure that CI/CD testing also passes. The exception is when there are critical updates that need to be applied immediately.

🟡 dedot supports lightclients, consider adding support

Let me track it here: preschian/create-dot-app#171. In my experience, light clients are sometimes much slower than WebSocket clients. Will consider it if there is such an improvement.

🟡 identicons do not show on account selection window

Will track it here: preschian/create-dot-app#172.

running pnpm build gives a warning

There is some conflict between Tailwind CSS rules and transformer rules. Tracked here: preschian/create-dot-app#168.


some improvements also for https://www.createdot.app/

Screenshot 2025-10-08 at 14 23 28

@niklasp
Copy link

niklasp commented Oct 14, 2025

Sure, lightclients are much slower and provide worse UX but it is a Polkadot speciality to not run ontop of trusted RPCs and papi + dedot provide easy plugin options. Imo good docs and templates should allow + mention or link options how to run with lightclients.

It's intended to only call unsub when the tx is finalized, because if we call unsub before that, the UI will show the tx as "processing" forever. We also intended to only handle two status types; in the template UI we only show two callbacks plus onError.

You are right, I confirmed in dedot telegram.

Sorry forgot to add the link to the race condition
https://react.dev/reference/react/useEffect#fetching-data-with-effects As far as I remember you also applied the concept in one place but not in the file mentioned above

So that would be the only thing I would ask you to fix before accepting the delivery. Thank you

@preschian
Copy link
Author

Imo good docs and templates should allow + mention or link options how to run with lightclients

@niklasp oh, this is good idea 👍🏻 updated issue description here: preschian/create-dot-app#171

Sorry forgot to add the link to the race condition react.dev/reference/react/useEffect#fetching-data-with-effects As far as I remember you also applied the concept in one place but not in the file mentioned above

So that would be the only thing I would ask you to fix before accepting the delivery

Oh, I replied too quickly. Just remembered that while fixing the template, the balance component for all React templates was already resolved in the same PR: https://github.com/preschian/create-dot-app/pull/170/files#diff-d22fc2fff2d6e0236f2208f4ef74467209472b3fa2c5a32b3114d29db31fa014

thank you so much for reviewing 🙏🏻

@preschian
Copy link
Author

hi @niklasp, any updates?

@niklasp niklasp merged commit 9c47603 into PolkadotOpenSourceGrants:master Oct 20, 2025
@preschian
Copy link
Author

hi @oshakarishvili 👋🏻
since you handled the payout for milestone 1, just wondering if there’s already a schedule for the milestone 2 payout?

@oshakarishvili
Copy link

@preschian, yes, our previous call failed due to the child bounty ID, but the new call is currently waiting for multisig approval. Should be done shortly.

@preschian preschian deleted the delivery-create-dot-app-2 branch October 22, 2025 12:33
@oshakarishvili
Copy link

@preschian sorry once again for the delay. the payout has been executed several hours ago: https://polkadot.subsquare.io/treasury/child-bounties/59_9

@preschian
Copy link
Author

yay, thank you so much @oshakarishvili

@ditavia-br
Copy link

@preschian thanks for having completed this project. Please let us know about any promoting of this project in the community and how the acceptance is going so far from it. Just to have track on the results.

@preschian
Copy link
Author

@ditavia-br The response has been quite positive. It was definitely the right call to include Vue templates. I received several kind messages on Telegram thanking me for providing them. An old friend of mine also helped contribute a few Vue/Nuxt templates.

The community has been incredibly supportive. For example, Sacha from Devcult kindly used create-dot-app during his workshop: https://x.com/0xPresc/status/1976244198329446828

Bader also used it for EduNews: https://x.com/baderyo_o/status/1980630995876348348

Most recently, I received a really nice response from Alex, one of the founders of ROGUE. I am very grateful that he plans to include create-dot-app in pop-cli. That kind of support really motivates me to collaborate with more builders in the ecosystem.

Also, there are now additional templates for Solidity and ink! smart contracts, expanding create-dot-app beyond front-end use cases.

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.

4 participants