Skip to content

feat(ufmt): enhance printf functionnalities by adding flags #4136

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

Open
wants to merge 39 commits into
base: master
Choose a base branch
from

Conversation

paulogarithm
Copy link

@paulogarithm paulogarithm commented Apr 14, 2025

Fixes

  • ufmt/printf
    • added flag parsing, such as %.number, %#, %0, and others
    • cf 5d71b3a
    • new features has been tested using unit tests (see tests)

paulogarithm and others added 30 commits April 7, 2025 18:47
* includes gnominers
* includes home
* include pure packages
* reorganise gnominers into submodules
* create the dao submodule
* add the tofix folder with all broken features
* create the minerdao

/!\ DAO DOESNT WORK RN BECAUSE OF CYCLE DEPENDANCIES /!\
* i didnt use subfolders
* add precisision flag ("%.2f")
* add 0 & ' ' flags ("%03d", "% 3d")
* add length parsing (not used rn)
* add # for hex ("%#02x")
* add %i & %X (%i is just %d, %X is big hex)
* change the home
* ass some tests to handle what ive done
* also changed my home page so it displays a number
Format -> FormatRound

because it rounds...
* cause of major issue because it was reading to far
* better messages
* better formatting
* use `p/moun/md` for md formatting in users.gno
@github-actions github-actions bot added the 📦 🤖 gnovm Issues or PRs gnovm related label Apr 14, 2025
@Gno2D2 Gno2D2 requested a review from a team April 14, 2025 14:52
@Gno2D2
Copy link
Collaborator

Gno2D2 commented Apr 14, 2025

🛠 PR Checks Summary

🔴 Pending initial approval by a review team member, or review from tech-staff

Manual Checks (for Reviewers):
  • IGNORE the bot requirements for this PR (force green CI check)
  • The pull request description provides enough details
Read More

🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers.

✅ Automated Checks (for Contributors):

🟢 Maintainers must be able to edit this pull request (more info)
🔴 Pending initial approval by a review team member, or review from tech-staff

☑️ Contributor Actions:
  1. Fix any issues flagged by automated checks.
  2. Follow the Contributor Checklist to ensure your PR is ready for review.
    • Add new tests, or document why they are unnecessary.
    • Provide clear examples/screenshots, if necessary.
    • Update documentation, if required.
    • Ensure no breaking changes, or include BREAKING CHANGE notes.
    • Link related issues/PRs, where applicable.
☑️ Reviewer Actions:
  1. Complete manual checks for the PR, including the guidelines and additional checks if applicable.
📚 Resources:
Debug
Automated Checks
Maintainers must be able to edit this pull request (more info)

If

🟢 Condition met
└── 🟢 And
    ├── 🟢 The base branch matches this pattern: ^master$
    └── 🟢 The pull request was created from a fork (head branch repo: paulogarithm/gno)

Then

🟢 Requirement satisfied
└── 🟢 Maintainer can modify this pull request

Pending initial approval by a review team member, or review from tech-staff

If

🟢 Condition met
└── 🟢 And
    ├── 🟢 The base branch matches this pattern: ^master$
    └── 🟢 Not (🔴 Pull request author is a member of the team: tech-staff)

Then

🔴 Requirement not satisfied
└── 🔴 If
    ├── 🟢 Condition
    │   └── 🟢 Or
    │       ├── 🟢 At least 1 user(s) of the organization reviewed the pull request (with state "APPROVED")
    │       ├── 🔴 At least 1 user(s) of the team tech-staff reviewed pull request
    │       └── 🔴 This pull request is a draft
    └── 🔴 Then
        └── 🔴 And
            ├── 🟢 Not (🔴 This label is applied to pull request: review/triage-pending)
            └── 🔴 At least 1 user(s) of the team tech-staff reviewed pull request

Manual Checks
**IGNORE** the bot requirements for this PR (force green CI check)

If

🟢 Condition met
└── 🟢 On every pull request

Can be checked by

  • Any user with comment edit permission
The pull request description provides enough details

If

🟢 Condition met
└── 🟢 And
    ├── 🟢 Not (🔴 Pull request author is a member of the team: core-contributors)
    └── 🟢 Not (🔴 Pull request author is user: dependabot[bot])

Can be checked by

  • team core-contributors

@thehowl
Copy link
Member

thehowl commented Apr 14, 2025

Can you split it into two?

@paulogarithm
Copy link
Author

@thehowl done

@paulogarithm paulogarithm changed the title feat(ufmt) & fix(#4109): enhance printf functionnalities by adding flags + fixing gnovm html escape issue feat(ufmt): enhance printf functionnalities by adding flags Apr 14, 2025
@paulogarithm paulogarithm marked this pull request as ready for review April 14, 2025 15:08
@Gno2D2 Gno2D2 added the review/triage-pending PRs opened by external contributors that are waiting for the 1st review label Apr 14, 2025
Copy link

codecov bot commented Apr 14, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

📢 Thoughts on this report? Let us know!

Copy link
Member

@notJoon notJoon left a comment

Choose a reason for hiding this comment

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

I've left a few comments. I would appreciate if you could check them 👍

paulogarithm and others added 5 commits April 15, 2025 10:48
* fix oldLen and oldString that was stored and not
  updated in the precision changed, so it was checking
  the old string instead of the fresh new one
* added tests to handle the special case of %.000000f
@paulogarithm
Copy link
Author

@notJoon i'm done fixing everything 👍 i just need your opinion on something (concerning backward pointer checking usefullness)

@paulogarithm
Copy link
Author

tell me if i need to add anything else !

Copy link
Member

@notJoon notJoon left a comment

Choose a reason for hiding this comment

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

I've confirmed that all the requested changes have been reflected and all tests have passed.

It's a minor point related to policy, but the "resolve conversation" button should not be pressed until the reviewer has checked it. Please refer to this document for more details.

Anyway, except for this, everything else looks good.

remove: review/triage-pending flag

@notJoon notJoon removed the review/triage-pending PRs opened by external contributors that are waiting for the 1st review label Apr 16, 2025
@leohhhn leohhhn moved this from In Progress to In Review in 🧑‍🎓Student contributors Apr 16, 2025
@notJoon
Copy link
Member

notJoon commented Apr 16, 2025

@paulogarithm

Hmm... When using ufmt (especially, using Sprintf function), gas consumption increases causing "out of gas" errors and test failures. The other CI failure issues will likely be resolved with a branch update, but this one seems to require code modifications.

I'll check this problem today. If it's okay, may I modify this code together with you?

@paulogarithm
Copy link
Author

paulogarithm commented Apr 16, 2025

totally fine for me, @notJoon ! but maybe it's because of the maps, so when you'll test, can you try putting the maps in the scope like i did, even if it's more greedy on memory ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📦 🤖 gnovm Issues or PRs gnovm related 🧾 package/realm Tag used for new Realms or Packages.
Projects
Status: In Review
Status: Triage
Development

Successfully merging this pull request may close these issues.

4 participants