Good First Issues in C#
Explore curated starter issues in high-scoring C# repositories. Every listed issue belongs to a welcoming repository scored by C-Rank™ on PR merge rates, review responsiveness, and first-timer acceptance.
Arm Issue Sniper for fresh C# beginner issues
Beginner issues in welcoming S/A-Tier repositories get snatched within 15 minutes. Receive instant alerts on Discord, Telegram, or Email the minute a maintainer opens a new task.
Live Good First Issues (30)
ArcadeMaker should be a cross platform engine, and it should allow targetting mobile devices. Currently, the engine provides functions for getting input from mouse and keyboard (like keyDown(key) and getMouseX() and so on), but it still lacks basic functions for touch panels input. MonoGame, of couse, provides this functionality, so in order to add it to ArcadeMaker, the same patterns should be impemented: Declaring the engine functions (e.g. getTocuhPositions() and isTouching(x, y, maxDistance) in the IGame interface (ArcadeMaker.Core/IGame.Funcs.cs). The declarations should look like this: /// <summary> /// Checks if the player is currently touching a specific point. /// </summary> [EngineFunc(/*num of params: */ 3)] [Param("x", ParamType.Number, "The x to check for touching at.")] [Param("y", ParamType.Number, "The y to check for touching at.")] [Param("maxDistance", ParamType.Number, "The range for the check.")] IValue IsTouching(Exp.Instance? _, IValue?[] args); Write the back
Version 6.0.0-beta.1 Commit hash No response Tested debug version? Yes Which operating systems have you used? Windows Linux macOS Other What is the architectural bit size you're using? 32-bit 64-bit Unsure or unknown What processor are you using? An Intel or AMD An ARM or Apple Silicon Unsure or unknown Description Unbalanced markup stack Exact command line used aaru m info /dev/sr0 Expected behavior Printing ATIP Actual behavior Exception Output of command execution with debug output enabled ATIP System.InvalidOperationException: Unbalanced markup stack. Did you forget to close a tag? at IEnumerable<AnsiMarkupSegment> Spectre.Console.AnsiMarkup.Parse(string markup, Style? style) in /_/src/Spectre.Console.Ansi/AnsiMarkup.cs:106 at Spectre.Console.Markup..ctor(string text, Style? style) in /_/src/Spectre.Console/Widgets/Markup.cs:43
PR #84961 resolved #80052 by adding a special handling for short is patterns. We should investigate if a more general solution would be possible. See #84961 (comment) by @RikkiGibson: I was wondering whether the increased overhead of the DAG codegen, is inherent to it or not? Basically, is there is some adjustment we can instead make to the DAG codegen, which would allow it to generate code generally as good or better than the "naive" sequence of linear tests? This could either be an optimization of the lowered DAG code itself, or, some shape change to the lowered code which allows a subsequent optimization pass (e.g. temp reuse) to be able to optimize some code it couldn't before. Note that I'm not deeply opposed to the current approach or to being pragmatic about making sure we can solve the key scenario for .NET 11. Just wondering if it's possible for us to pursue a better general solution. And #84961 (comment): #68694 and #72273 already attempted a more general solution bu
Found this out when redoing the Character UI for objectives refactor. I made it so clicking on the job in your character menu opened up the UI. Unfortunately, NONE OF OUR JOBS HAVE GUIDES ASSOCIATED WITH THEM IN THEIR PROTOTYPES. This can be done entirely with YAML. This should be done, it should've been done years ago. These guides exist I'm pretty sure??? AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA I need my strongest YAML samurai to save me.
I think that having the ability to take game screenshots from within the code would be nice. Sometimes games want to allow the player to capture the scores screen and stuff. To implement it, an engine function declaration needs to be added to ArcadeMaker.Core/IGame.Funcs.cs file, and the implementation needs to be added at ArcadeMaker/Engines/MonoGame/Core/ArcadeMakerMonoGame.cs. A quick Google search shows that MonoGame has a RenderTarget2D class that can be used for that. The frame needs to be drawn to an instance of this target class, and it should happen in Draw event, so I guess that our engine function will need to throw an exception if its called outside of Draw event. Note that a futile implementation of the function would also be needed at the IDE project, in the FutileGame class. Just add the signature of the method to the class, with empty body. If you have any questions, please feel free to ask! 🙂
Is your feature request related to a problem? Please describe. PicView's context menu cannot be customized with user-defined actions, making it difficult to quickly open the current image with other programs or tools. Describe the solution you'd like Add support for user-defined context menu actions, with configurable commands and arguments. Arguments could include variables such as the current image file path, allowing users to launch external programs with the selected image. Describe alternatives you've considered Using external scripts or manually opening images in other applications, but this is less convenient than having the actions directly in PicView. Additional context Allow users to define custom context menu actions that execute external programs or scripts. Each action could specify the executable or command to run, along with configurable arguments and placeholders such as the current image's full file path. For example: Name: Make image smaller Command: magick.exe Argume
Imagine the following C program: typedef enum Side { Side_L, Side_R } Side; I expect Side_L and Side_R to be available for .NET side: either Side type should be exported, or at least constants Side_L and Side_R should exist. I propose: let's start by exposing this as a real enum type. Note that the scope of this issue is to export the type purely for .NET interop purpose: this doesn't mean that the C functions accepting this enum's values have to be converted as well. It would be nice, surely, but I'm not sure what the consequences for the function pointer compatibility this might be. So, for now, let's just update the CLR metadata, and not use the values of this enum anywhere in the Cesium-generated IL code.
Opening the Dashboard can terminate the Blazor circuit and leave the yellow error bar. On a local run it happens on a cold page load, both from the sidebar and from a direct /Dashboard load. It is not unconditional: production is fine, and reloading the same page with Chart.min.js already in the browser cache is fine too. From the UI log: Microsoft.JSInterop.JSException: Chart is not defined ReferenceError: Chart is not defined at DrawDetectionsChart (<anonymous>:17:9) at AIForOrcas.Client.Web.Pages.Dashboard.LoadMetrics() in Dashboard.razor.cs:line 46 at AIForOrcas.Client.Web.Pages.Dashboard.OnInitializedAsync() in Dashboard.razor.cs:line 22 What I measured on a local run: Cold load: the circuit goes down, and typeof window.Chart is "function" a few seconds later. The library does arrive, just after the call that needs it. Same page reloaded, script in cache: no crash, both charts draw. Production: Chart defined, both charts draw, no console errors. Dashboard.razor loads
问题描述 以前是用bgm账号来登录potatovn的账号的,前段时间没打开过potatovn,现在登录状态过期了,然后也没办法用bgm登
Hello folks, I tested on my system the Git store (but just for reading the files) and its working perfectly. Any feedback on more operations and usage cases are very welcome.
Which Umbraco version are you using? 17+ Bug summary The TipTap toolbar should not display a shadow unless its content is scrolled. Today it looks like this when viewing the top of the content: Specifics No response Steps to reproduce Setup a tiptap(Rich Text Editor) editor in a document. Expected result / actual result No response
The current behavior is dependent on whether we are currently constructing the struct instance, and feels a little inconsistent. Basically, it feels like we should be able to get a similar behavior for member flow states, when any default value of a struct type is used, as when we are working out the initial state of struct fields in a constructor. Note that 'null-resilient' properties using field keyword would be excepted from this. Their initial flow state would be the same as the property. Currently working on a change to make that work more consistently in constructors. (resolving #77991). I consider this issue low priority struct S { public void M() { this = default; this.Prop2.ToString(); // no warning } public S() { this = default; Prop2.ToString(); // warning } public string Prop2 { get; set; } }
Is there an existing issue for this? I have searched the existing issues Is your feature request related to a problem? Please describe the problem. When a workspace contains only one AppHost, the Aspire pane still requires the user to expand it before its actions are visible. There is no ambiguity in this case, so the extra interaction hides the available AppHost actions unnecessarily. Describe the solution you'd like When AppHost discovery finds exactly one AppHost in the workspace, automatically expand that AppHost in the Aspire pane so all of its actions are immediately shown. Additional context This is part of #19405.
Goal Add vLLM as a first-class selectable serving engine while preserving the existing workflow: Add or register a compatible model. Create launch profiles. Select a runtime such as vLLM · WSL · CUDA. Load it from Overview. Use its direct OpenAI-compatible endpoint or the shared gateway. Monitor, group, unload, and automate it through the existing UI and llwmctl. Initial scope The first supported configuration should be: WSL2 with a supported Ubuntu distribution NVIDIA CUDA An application-managed, version-pinned vLLM Python environment Hugging Face repository IDs or complete local Transformers model directories Installation, status, update, repair, and removal operations Managed vllm serve lifecycle, readiness, logs, API key, and stable ports vLLM Prometheus telemetry mapped into the existing live and historical Metrics surfaces Native Windows and community-maintained vLLM forks are out of scope for the initial implementation. GGUF support should be considered separately because
ArcadeMaker has a feature called "paths" - you can draw a path in the IDE, and make an object following it using startPath(...) or draw it using drawPath(...). But sometimes you want to get (in the code) the coordinates of a path, to check for intersection with it, for example. Currently, there's no function for getting the coordinates of a path. And in other times you would want to dynamically construct a path in the code, and the engine lacks the right function for this too. To implement a function that gets a path ID and returns an array of all of its coordinates, you should add to IGame.Funcs.cs a method like this: /// <summary> /// Gets an array of all the coordinates of the given path. /// </summary> /// <param name="expinst">The calling runtime instance (unused).</param> /// <param name="args">(pathID).</param> [EngineFunc(1)] [Param("pathID", ParamType.Number, "The ID of the path to follow. Use 'Paths' enum for that, e.g. Paths.PthRoad.")] Exp.Instance GetPathPoints(Exp.Instan
Hi Dom, Can you Share some example codes to get the dynamic properties of blocks. through code. i have attached a CAD drawing for reference. Dynamic blocks.zip Regards, Rajapandi.S
Before reporting I searched existing issues I tried in private/incognito browser What went wrong? What i wanted to archive: "A numeric field which only accepted minus at fist symbol for negative values, numbers (0-9) and symbols (,.) for thousand sections as well as digits." What I've done: Use the pattern property with following RegEx: "^-?[0-9.,]*$" Its working in the UI, but I get en error in the browser which tells me the Pattern "^-?[0-9.,]*$*" is not allowed because there are nothing to repeat. And if I get it correct adds this line NumericFlield a extra * to the pattern, which I think is a bug? Reproduction link https://try.mudblazor.com/snippet/cOwKYWlWevbljMey Reproduction steps Add "^-?[0-9.,]*$" as Pattern to component Render in browser open dev tools Version (bug) 9.8.0 Version (working) No response Environment Edge Blazor rendering mode Server
Pax is quite lame currently in its current implementation. I think as a chemical it's cool, but a 5u injection results in more than 12 seconds of being completely unable to do combat. Combine this with a hypospray and you can be completely disabled from combat entirely as there's not much you can do to stop someone from just injecting you over and over again. Back when mediborgs could hold beakers in the same hand as their hypos this was taken to an extreme since you couldn't run away from their either without an EMP or Stimulants. There's basically no counterplay to a Pax injection other than prayer, and is made worse since it's so effective you can easily mix it with harmful chems that knockdown, stun, or just fucking kill you to completely remove someone's ability to play the game. I grant my accord to whoever finds the most creative and fun way to nerf pax into something fun. I hate microbalance so I'm not gonna do this shit myself.
The fix in #606 covered Candidates, but the same shape exists on the other three detection pages. In Confirmed.razor.cs, Unknown.razor.cs and FalsePositives.razor.cs the ActOnSubmitCallback calls LoadDetections() without clearing detections first, while the page-change and filter-change callbacks on those pages do clear it. The bottom pagination component only checks detections != null && detections.Count > 0, so a reload that comes back empty leaves the previous list's pager rendered under the no-records message. Seen live on the Confirmed page: re-moderating the last confirmed detections to No empties the list and the pager stays under the message. Unknown and False Positives share the same code path. To reproduce: on any of the three pages, filter down to a single page of results and re-moderate the last record so it leaves the list. Same symptom as #605, same one-line fix as #606: move the clear to the top of each page's LoadDetections() and drop the per-callback clears.
Description of the bug Upload a new Splashscreen in unsupported format and save other changes. Should not touch the image, but something happens (405 server code and jf-web can't access property "_sdk", r is undefined) Opened another web instance in different browser, but I can't reach the form. Reproduction steps Upload a JXL or so Upload fails (good), because it needs to be SkiaSharp readable/supported Save the form (save other changes) It changed something for image. What is the current bug behavior? 405 error from the server and SDK error in js-web What is the expected correct behavior? Only save supported formats (readable by SkiaSharp or mime-type), additionally would be best to be able to reach branding page for an update (never send 405 or make web more robust on failed response) Jellyfin Server version Master Specify commit id No response Specify unstable release number No response Specify version number No response Specify the build version Release Environment - OS: linux -
What problem are you hitting درود برای لینوکس هم میساختید دیگه What you would like Relay to do درود برای لینوکس هم میساختید دیگه What you do today instead درود برای لینوکس هم میساختید دیگه
Description i was instructed to post the issue here, as its about .NET api main issue when SetEnvironmentVariable() is used that contains a %variable% the registry key is set as reg_sz instead of expanded so the variable is not correctly save and breaking for example the path environment variable or other created variables Proposed technical implementation details (optional) GetEnvironmentVariable() add a new optional parameter that can be used to get a variable not expanded This allows to save it to a variable and pass it directly to SetEnvironmentVariable without breaking %% inside variables also for SetEnvironmentVariable it should detect if a % is inside the parameter and set the korrekt registrykey type when saving (reg_expand_sz) currently it always saves as reg_sz which breaks Path variable when used here the current behaviour is described. for the correct behaviour when creating the reg key (reg_sz or expanded), you can also look here at line 90 https://github.com/microsoft/Po
There were various connection / pairing / streaming issues, some very old in the issues section. I've cleaned up the old issues and am recommending everyone try out version 2.5 or higher and report back if still having issues. Version 2.5 has been modernization to WinUI 3 + .NET 10. Several bug fixes have been applied relating to Bluetooth and connection handling. The LSL Bridge has also been consolidated into the main application, so there's no just the single executable. I believe many of the random connection issues should now be resolved, but if they are not, I'd like to keep issues consolidated as much as possible. Most of the old issues were probably hitting the same bugs or required similar troubleshooting with the systems or headsets. If there are any new actual bugs detected, we can spin them off to separate issues as needed. Reference Old Issues: #77 #76 #74 #71 #70 #57 #56 #54 #53 #51 #42 #41 #38 #37 #30 #26 #21 #18
Description Steps To Reproduce Select file/folder Click rename Ctrl + C the highlighted text Try paste in another text box Paste will be last thing copied before Files attempt/nothing Files Version 4.2.6.0 Windows Version 10.0.26200.8875 User ID 670e1391-905a-4fe8-a9da-a22f01a4676c Log File debug.log
Windows 版本 26200.9168 Snap Hutao 版本 1.19.9.0 设备 ID B69B21BBB95BD819A55C502BCB4FBDE3 问题分类 游戏启动器 发生了什么? 之前帧率解锁功能可用,但在我清理显卡着色器缓存并删除所有C:\Users\用户名\AppData\Local\NVIDIA\DXCache中的能删除的.NVPH文件后,该功能失效,其他注入功能正常运行。我试过重启,重装胡桃,,更新驱动等方法,都没用,游戏一直保持60帧。求问解决方法 你期望发生的行为? No response 最后一步 我认为上述的描述已经足以详细,以允许开发人员能复现该问题
On current version of BenchmarkDotNet implementation. --affinity command line argument is parsed as int (signed). So it can't accept value that over int.MaxValue value and it can't specify over 32-processor affinity. BenchmarkDotNet/src/BenchmarkDotNet/ConsoleArguments/CommandLineOptions.cs Line 67 in b515068 public int? Affinity { get; set; } I thought, it need to change affinity parameter to nuint (unsigned) to pass affinity as bit mask. Note: Currently BenchmarkDotNet seems not support CPU groups. So affinity can set up to 64 logical CPU cores. BenchmarkDotNet/src/BenchmarkDotNet/Extensions/ProcessExtensions.cs Lines 45 to 46 in b515068 // Max supported affinity without CPU groups is 64 long cpuMask = Environment.ProcessorCount >= 64 ? un
ConsoloniaAppTestBase can initialize the application only once per entire app domain. We should make it to teardown and spin up for each test. https://github.com/Consolonia/Edit.NET/actions/runs/31764312730/job/94656923807?pr=61
Description FluentFlyout setting's about page's open source licenses section is outdated: We removed WPF-UI 4.3.0 and replaced it with unchihugo.WPF-UI 4.4.1. This should be an easy change in the file FluentFlyoutWPF/ViewModels/AboutViewModel.cs. Open for new contributors looking to help with the project. Additional context No response Confirm that you have done the following: I have searched that there is no existing issue regarding my feature request I have read the FAQ and there is no answer to my feature request
Is your feature request related to a problem? Please describe the problem. When AppHost start and stop operations are invoked from a git worktree, they are not aware that the checkout is a linked worktree. A start can conflict with an instance from the primary checkout or another worktree, and a stop can target the wrong running AppHost unless the caller manually supplies the correct isolation and project options. Describe the solution you'd like Make the AppHost start and stop operations detect the current git worktree. Starting from a linked worktree should automatically use isolated mode, while stopping should prefer or scope itself to the AppHost associated with that worktree. Explicit project or isolation arguments should continue to override inferred behavior. Additionally, an isolated property should be exposed via the tool so it is more discoverable to agents Additional context This would make concurrent agent and developer workflows safer without requiring every caller to unde
tests-run reports TotalTests as the size of the entire test tree for the given testMode, ignoring testAssembly / testNamespace / testClass / testMethod. PassedTests / FailedTests / SkippedTests count only executed tests, so the summary is internally inconsistent whenever a filter is set. Repro Unity 6000.3.5f1, com.ivanmurzak.unity.mcp 0.87.0. Project has 941 tests in EditModeTests.dll. tests-run { testMode: EditMode, testAssembly: "EditModeTests", testClass: "SongPipelineCacheTests" } → { Status: "Passed", TotalTests: 942, PassedTests: 1, FailedTests: 0, SkippedTests: 0 } One test ran, but TotalTests reports the whole EditMode tree (941 project tests + 1 stub from com.unity.addressables). The same 942 appears for an unfiltered run, a single-assembly run, and this single-class run — the value is constant regardless of filter. Cause TestResultCollector.RunFinished — Editor/Scripts/API/Tool/Tests/TestResultCollector.cs:105: _summary.TotalTests = CountTests(result.Test); result.Tes
Top C# Repositories with Beginner Issues (20)
Updated Daily via GitHub GraphQLJellyfin plugin for local AI-powered subtitle generation using Whisper - all processing stays on your server
Self-hosted optimization, monitoring (NMS), and security audit tool for UniFi Networks. Includes Wi-Fi Optimizer for wireless health scoring and channel optimization, advanced DNS/VLAN/firewall security checks, config optimization suggestions, centralized WAN and LAN speed test server w/ L2 tracing, CM, ONT, SFP, 5G modem stats +more.
The original unitystation
A collection of accessible, headless primitives and beautifully-designed components for Blazor inspired by shadcn/ui.
A 2D game engine with its own programming language and IDE.
An embeddable C#/.NET AI agent runtime for building extensible agents that evolve with your projects.
.NET Core tool to print or save all the licenses of a project
☢️ Fallout — The C#/.NET Build System
This is a repo to house some common tools for our various docker repos.
Aaru Data Preservation Suite
DBA Dash - SQL Server Monitoring Tool
Real-time AI-assisted killer whale notification system (model and moderator portal) :star:
The OpenAPI.NET SDK contains a useful object model for OpenAPI documents in .NET along with common serializers to extract raw OpenAPI JSON and YAML documents from the model.
MobiFlight is an open source project that allows you to create your own home cockpit for your favorite flight simulator in a flexible, affordable and extremely user-friendly way.
Compile TypeScript to .NET IL; Use .NET classes in Typescript
Eppie — open protocol encrypted p2p email
🦴 2dog is Godot in .NET
A next-generation platform for diabetes management
:electron: Build cross platform desktop apps with ASP.NET Core (Razor Pages, MVC, Blazor).
Powerful .NET library for benchmarking
How to make your first C# open-source pull request
Finding approachable Good First Issues in C# allows you to build real-world software engineering experience. Instead of submitting PRs to abandoned repositories, GetMerged verifies maintainer review speeds and first-timer acceptance rates before you write a single line of code.
Select any issue above to claim it directly on GitHub, or click a repository to inspect full maintainer review turnaround metrics and triage guidance!
Get this week's top welcoming repos + fresh Good First Issues for C#
Free weekly email, scoped to C#. No account needed - confirm once and unsubscribe anytime.