Nim good first issues

30 open Nim issues currently match the default 10+ star filter. Scored difficulty: 5,946 at 1/5, 8,786 at 2/5, 12,699 at 3/5, 12,118 at 4/5, 857 at 5/5. This hub uses the same feed as the homepage, limited to repositories whose GitHub language is Nim.

All languages · Browse projects · How to find good first issues

Active projects

Unique repos with open help-wanted issues updated in the last 30 days

Showing 30 of ~30 matching filters (Nim · 10+ stars)

List

bug: kad interop flakyness

AI summary

This issue reports intermittent failures in the Kademlia (kad) interoperability tests, specifically a "timeout waiting for service" error. The logs indicate that the rust-peer component is failing to bootstrap due to a lack of known peers, leading to test flakiness.

buggood first issueflaky-test
316
Difficulty
3/5
zedeus/nitter

Linkify multi-feed usernames

AI summary

The user is requesting the re-implementation of two features in Nitter: making usernames clickable in user lists to navigate to their feeds, and making usernames clickable in retweet notifications to link to the retweeter's feed instead of the retweeted content. These features are believed to have worked previously but are no longer functional.

enhancementgood first issue
13.3K
Difficulty
2/5

KadDHT put values never expire

AI summary

This issue identifies a security vulnerability in the KadDHT protocol where stored key-value pairs do not expire. While compliant with the specification, this lack of expiration creates an attack vector. A potential solution is to implement a time-based expiration for stored values, such as 24 hours.

good first issuesecurity
316
Difficulty
2/5

ecnist.nim: ineffective use of memory

AI summary

Optimize the `getBytes` and `toBytes` methods in the `ecnist.nim` file of the Nim libp2p project to reduce memory usage. The current implementation performs unnecessary memory allocations and copies during key encoding. The goal is to modify the code to encode the key only once and avoid redundant memory allocations, potentially by directly returning data from the `Asn1Buffer` instead of copying it.

good first issue
316
Difficulty
3/5

Implement Execution api method eth_getStorageValues

AI summary

This issue proposes the implementation of the `eth_getStorageValues` method for the Ethereum execution API. This method is designed to retrieve multiple storage slots from a specific account at a given block, offering an efficient way to fetch related storage data.

good first issueJSON-RPC
627
Difficulty
2/5

add test for `kadInteropTest` proc

AI summary

This issue requests the addition of unit tests for the `kadInteropTest` procedure. The tests should involve two Nim nodes communicating, with a focus on verifying both successful and unsuccessful interoperation scenarios.

good first issue
316
Difficulty
2/5

flaky test: anyCompleted with timeout

AI summary

A test named 'anyCompleted with timeout' is failing intermittently, indicated by a 'Check failed: f.cancelled()' error. The issue suggests that the timeouts in the test might be too aggressive, leading to flakiness.

good first issueflaky-test
316
Difficulty
2/5

refactor(test): create utilities that wait for nodes to subscribe

AI summary

This issue proposes refactoring existing test code to improve readability and maintainability. The goal is to replace repetitive `checkUntilTimeout` blocks used for waiting for node subscriptions with dedicated utility procedures for different connection patterns (hub, star, chain, ring). This will make tests cleaner and easier to understand.

good first issue
316
Difficulty
2/5

refactor(test): refactor out usage of hardcoded topic "foobar"

AI summary

This issue proposes refactoring a specific test file, `test_gossipsub_message_handling`, to replace hardcoded topic strings with constant values. The goal is to improve code maintainability and consistency by passing these constant topic values as arguments to functions, similar to how it's done in other tests.

good first issue
316
Difficulty
2/5

testws: use gnerated keys instead of hardcoded

AI summary

This issue proposes to replace hardcoded security keys and certificates in the `testws` file with dynamically generated ones within the `wsSecureTransProvider` procedure. This change aims to improve security and maintainability by avoiding the use of static credentials in tests.

good first issue
316
Difficulty
2/5

test: change `newRng()` to `rng`

AI summary

This issue proposes a refactoring of the test suite to replace the `newRng()` function with the `rng` template from the `tool/crypto` module. The goal is to standardize the random number generator usage across tests, as demonstrated by the provided example in `testidentify.nim`.

good first issue
316
Difficulty
1/5

doAssert false -> raiseAssert "messge"

AI summary

This issue proposes a code refactoring where instances of `doAssert false` with a hardcoded false condition should be replaced by `raiseAssert` with an appropriate message. This change aims to improve clarity and potentially performance by directly raising an assertion instead of evaluating a false condition.

good first issue
316
Difficulty
1/5

check false -> raiseAssert "messge"

AI summary

This issue proposes replacing `check false` statements with `raiseAssert` calls that include a descriptive error message. The goal is to improve error handling by providing more context when a check fails.

good first issue
316
Difficulty
2/5
nim-lang/nimony

implement basic threading API

AI summary

This issue proposes implementing a basic threading API for Nim's standard library, defining a `RawThread` object and procs for creation, joining, and getting the current thread's ID. It requires cross-platform support (Windows/Posix), specific handling for stack size and CPU pinning, and robust error reporting using underlying OS error codes. The `getThreadId` function is expected to be a fast, cached operation.

good first issuefeaturestdlib
256
Difficulty
3/5

Also browsing: Python , TypeScript , JavaScript