Some "good first issues" (likely easy to fix) for contributors #14731

Open
opened 2025-11-02 11:21:26 -06:00 by GiteaMirror · 10 comments
Owner

Originally created by @wxiaoguang on GitHub (Jul 9, 2025).

Here are some "good first issues", if you'd like to contribute, feel free to try (just do it, no need to ask 😁 )

This issue will also be updated if there are new good first issues, welcome maintainers to add more.

Help to improve English sentences in "locale_en-US.ini"

  • Many contributors are not English native speakers (include me), so some sentences don't read good
  • Non-English translations are managed by Crowdin (see the contribution guideline)

Help to improve documents and config example

Refactor legacy "delete-button" to "link-action" + confirm dialog

  • Old "delete-button"'s design doesn't work well, now we have better "link-action" to handle various cases

Split large functions into small ones

  • In history, many functions were just patched and patched, became longer and longer
  • It's good to split large functions into small ones, and it's better to add some necessary tests

Refactor legacy tw-flex tw-items-center tw-gap-xx

  • to flex-text-block or flex-text-inline
Originally created by @wxiaoguang on GitHub (Jul 9, 2025). Here are some "good first issues", if you'd like to contribute, feel free to try (just do it, no need to ask 😁 ) This issue will also be updated if there are new good first issues, welcome maintainers to add more. ### Help to improve English sentences in "locale_en-US.ini" * Many contributors are not English native speakers (include me), so some sentences don't read good * Non-English translations are managed by Crowdin (see the contribution guideline) ### Help to improve documents and config example * Gitea has far more features the the document describes (https://gitea.com/gitea/docs) * The `app.example.ini` could also be improved. ### Refactor legacy "delete-button" to "link-action" + confirm dialog * Old "delete-button"'s design doesn't work well, now we have better "link-action" to handle various cases ### Split large functions into small ones * In history, many functions were just patched and patched, became longer and longer * It's good to split large functions into small ones, and it's better to add some necessary tests ### Refactor legacy `tw-flex tw-items-center tw-gap-xx` * to `flex-text-block` or `flex-text-inline`
GiteaMirror added the good first issue label 2025-11-02 11:21:26 -06:00
Author
Owner

@Joshdike commented on GitHub (Jul 11, 2025):

Please, could you point me to the folder containing the file "locale_en-us.ini". I would love to help

@Joshdike commented on GitHub (Jul 11, 2025): Please, could you point me to the folder containing the file "locale_en-us.ini". I would love to help
Author
Owner

@wxiaoguang commented on GitHub (Jul 11, 2025):

It is in options/locale/locale_en-US.ini , you can use GitHub's "Go to file" to find it, or clone the repo and use some commands like find

@wxiaoguang commented on GitHub (Jul 11, 2025): It is in `options/locale/locale_en-US.ini` , you can use GitHub's "Go to file" to find it, or clone the repo and use some commands like `find`
Author
Owner

@Joshdike commented on GitHub (Jul 11, 2025):

Found it. working on it

@Joshdike commented on GitHub (Jul 11, 2025): Found it. working on it
Author
Owner

@Joshdike commented on GitHub (Jul 11, 2025):

Opened a pull request: https://github.com/go-gitea/gitea/pull/35053

@Joshdike commented on GitHub (Jul 11, 2025): Opened a pull request: [https://github.com/go-gitea/gitea/pull/35053](url)
Author
Owner

@theSC0RP commented on GitHub (Aug 20, 2025):

Is this still open? I could take up some tasks like the refactoring work.

@theSC0RP commented on GitHub (Aug 20, 2025): Is this still open? I could take up some tasks like the refactoring work.
Author
Owner

@dleandro commented on GitHub (Sep 12, 2025):

@theSC0RP Hey, are you still looking into this?
Asking because I would like to take a crack at the refactor of the huge functions, maybe we could even collaborate

@dleandro commented on GitHub (Sep 12, 2025): @theSC0RP Hey, are you still looking into this? Asking because I would like to take a crack at the refactor of the huge functions, maybe we could even collaborate
Author
Owner

@yamirghofran commented on GitHub (Sep 16, 2025):

@theSC0RP @dleandro same here. Please let me know if you are working on this and if it would be possible to collaborate.

@yamirghofran commented on GitHub (Sep 16, 2025): @theSC0RP @dleandro same here. Please let me know if you are working on this and if it would be possible to collaborate.
Author
Owner

@dleandro commented on GitHub (Sep 20, 2025):

@yamirghofran Hey, I haven't been able to do much but I identified some of the functions that have the highest line count maybe you could start taking a look into these ones

=======================
Functions with 200+ lines
1386 lines: registerWebRoutes in routers/web/web.go (lines 298-1683)
884 lines: Routes in routers/api/v1/api.go (lines 891-1774)
423 lines: AddBranchProtectionCanPushAndEnableWhitelist in models/migrations/v1_11/v111.go (lines 13-435)
418 lines: CommonRoutes in routers/api/packages/api.go (lines 111-528)
377 lines: SubmitInstall in routers/install/install.go (lines 223-599)
374 lines: ParseCompareInfo in routers/web/repo/compare.go (lines 193-566)
347 lines: ServCommand in routers/private/serv.go (lines 79-425)
327 lines: EditBranchProtection in routers/api/v1/repo/branch.go (lines 734-1060)
325 lines: DeleteRepositoryDirectly in services/repository/delete.go (lines 53-377)
321 lines: prepareMigrationTasks in models/migrations/migrations.go (lines 79-399)
304 lines: migrateRepository in services/migrations/migrate.go (lines 178-481)
294 lines: RepoAssignment in services/context/repo.go (lines 416-709)
292 lines: SearchIssues in routers/api/v1/repo/issue.go (lines 36-327)
289 lines: HookPostReceive in routers/private/hook_post_receive.go (lines 33-321)
283 lines: buildIssueOverview in routers/web/user/home.go (lines 368-650)
281 lines: ParsePatch in services/gitdiff/gitdiff.go (lines 486-766)
267 lines: prepareIssueFilterAndList in routers/web/repo/issue_list.go (lines 492-758)
261 lines: RecreateTable in models/migrations/base/db.go (lines 51-311)
259 lines: updateRepoUnits in routers/api/v1/repo/repo.go (lines 768-1026)
256 lines: viewPullFiles in routers/web/repo/pull.go (lines 656-911)
254 lines: preReceiveBranch in routers/private/hook_pre_receive.go (lines 139-392)
244 lines: ToAPIPullRequest in services/convert/pull.go (lines 30-273)
243 lines: prepareViewPullInfo in routers/web/repo/pull.go (lines 314-556)
241 lines: prepareUserProfileTabData in routers/web/user/profile.go (lines 81-321)
239 lines: transferOwnership in services/repository/transfer.go (lines 94-332)
239 lines: httpBase in routers/web/repo/githttp.go (lines 59-297)
238 lines: (Manager).ProcessStacktraces in modules/process/manager_stacktraces.go (lines 118-355)
238 lines: ProcReceive in services/agit/agit.go (lines 36-273)
235 lines: ListIssues in routers/api/v1/repo/issue.go (lines 330-564)
233 lines: ChangeRepoFiles in services/repository/files/update.go (lines 98-330)
232 lines: innerToRepo in services/convert/repository.go (lines 25-256)
230 lines: EditPullRequest in routers/api/v1/repo/pull.go (lines 576-805)
230 lines: MergePullRequest in routers/api/v1/repo/pull.go (lines 854-1083)
227 lines: (Conn).readV2ProxyHeader in modules/proxyprotocol/conn.go (lines 206-432)
223 lines: prepareIssueViewCommentsAndSidebarParticipants in routers/web/repo/issue_view.go (lines 601-823)
223 lines: runDump in cmd/dump.go (lines 104-326)
214 lines: FindLFSFile in modules/git/pipeline/lfs_nogogit.go (lines 20-233)
214 lines: loadServerFrom in modules/setting/server.go (lines 184-397)
212 lines: ToAPIPullRequests in services/convert/pull.go (lines 275-486)
212 lines: runServ in cmd/serv.go (lines 156-367)
212 lines: runHookProcReceive in cmd/hook.go (lines 495-706)
212 lines: GetAllCommits in routers/api/v1/repo/commits.go (lines 95-306)
208 lines: CreatePullRequest in routers/api/v1/repo/pull.go (lines 366-573)
206 lines: (Source).Sync in services/auth/source/ldap/source_sync.go (lines 24-229)
205 lines: MergePullRequest in routers/web/repo/pull.go (lines 1013-1217)
204 lines: parseHunks in services/gitdiff/gitdiff.go (lines 798-1001)
200 lines: KeysPost in routers/web/user/setting/keys.go (lines 46-245)

@dleandro commented on GitHub (Sep 20, 2025): @yamirghofran Hey, I haven't been able to do much but I identified some of the functions that have the highest line count maybe you could start taking a look into these ones > ======================= Functions with 200+ lines 1386 lines: registerWebRoutes in routers/web/web.go (lines 298-1683) 884 lines: Routes in routers/api/v1/api.go (lines 891-1774) 423 lines: AddBranchProtectionCanPushAndEnableWhitelist in models/migrations/v1_11/v111.go (lines 13-435) 418 lines: CommonRoutes in routers/api/packages/api.go (lines 111-528) 377 lines: SubmitInstall in routers/install/install.go (lines 223-599) 374 lines: ParseCompareInfo in routers/web/repo/compare.go (lines 193-566) 347 lines: ServCommand in routers/private/serv.go (lines 79-425) 327 lines: EditBranchProtection in routers/api/v1/repo/branch.go (lines 734-1060) 325 lines: DeleteRepositoryDirectly in services/repository/delete.go (lines 53-377) 321 lines: prepareMigrationTasks in models/migrations/migrations.go (lines 79-399) 304 lines: migrateRepository in services/migrations/migrate.go (lines 178-481) 294 lines: RepoAssignment in services/context/repo.go (lines 416-709) 292 lines: SearchIssues in routers/api/v1/repo/issue.go (lines 36-327) 289 lines: HookPostReceive in routers/private/hook_post_receive.go (lines 33-321) 283 lines: buildIssueOverview in routers/web/user/home.go (lines 368-650) 281 lines: ParsePatch in services/gitdiff/gitdiff.go (lines 486-766) 267 lines: prepareIssueFilterAndList in routers/web/repo/issue_list.go (lines 492-758) 261 lines: RecreateTable in models/migrations/base/db.go (lines 51-311) 259 lines: updateRepoUnits in routers/api/v1/repo/repo.go (lines 768-1026) 256 lines: viewPullFiles in routers/web/repo/pull.go (lines 656-911) 254 lines: preReceiveBranch in routers/private/hook_pre_receive.go (lines 139-392) 244 lines: ToAPIPullRequest in services/convert/pull.go (lines 30-273) 243 lines: prepareViewPullInfo in routers/web/repo/pull.go (lines 314-556) 241 lines: prepareUserProfileTabData in routers/web/user/profile.go (lines 81-321) 239 lines: transferOwnership in services/repository/transfer.go (lines 94-332) 239 lines: httpBase in routers/web/repo/githttp.go (lines 59-297) 238 lines: (Manager).ProcessStacktraces in modules/process/manager_stacktraces.go (lines 118-355) 238 lines: ProcReceive in services/agit/agit.go (lines 36-273) 235 lines: ListIssues in routers/api/v1/repo/issue.go (lines 330-564) 233 lines: ChangeRepoFiles in services/repository/files/update.go (lines 98-330) 232 lines: innerToRepo in services/convert/repository.go (lines 25-256) 230 lines: EditPullRequest in routers/api/v1/repo/pull.go (lines 576-805) 230 lines: MergePullRequest in routers/api/v1/repo/pull.go (lines 854-1083) 227 lines: (Conn).readV2ProxyHeader in modules/proxyprotocol/conn.go (lines 206-432) 223 lines: prepareIssueViewCommentsAndSidebarParticipants in routers/web/repo/issue_view.go (lines 601-823) 223 lines: runDump in cmd/dump.go (lines 104-326) 214 lines: FindLFSFile in modules/git/pipeline/lfs_nogogit.go (lines 20-233) 214 lines: loadServerFrom in modules/setting/server.go (lines 184-397) 212 lines: ToAPIPullRequests in services/convert/pull.go (lines 275-486) 212 lines: runServ in cmd/serv.go (lines 156-367) 212 lines: runHookProcReceive in cmd/hook.go (lines 495-706) 212 lines: GetAllCommits in routers/api/v1/repo/commits.go (lines 95-306) 208 lines: CreatePullRequest in routers/api/v1/repo/pull.go (lines 366-573) 206 lines: (Source).Sync in services/auth/source/ldap/source_sync.go (lines 24-229) 205 lines: MergePullRequest in routers/web/repo/pull.go (lines 1013-1217) 204 lines: parseHunks in services/gitdiff/gitdiff.go (lines 798-1001) 200 lines: KeysPost in routers/web/user/setting/keys.go (lines 46-245)
Author
Owner

@yamirghofran commented on GitHub (Sep 20, 2025):

@dleandro Thanks! Will get started on it soon.

@yamirghofran commented on GitHub (Sep 20, 2025): @dleandro Thanks! Will get started on it soon.
Author
Owner

@tysoncung commented on GitHub (Oct 9, 2025):

I noticed this issue. Have you tried checking the error logs or console output? That might help narrow down the root cause. I'd be happy to help investigate if you can share more details about your environment (OS, version, etc.).

@tysoncung commented on GitHub (Oct 9, 2025): I noticed this issue. Have you tried checking the error logs or console output? That might help narrow down the root cause. I'd be happy to help investigate if you can share more details about your environment (OS, version, etc.).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#14731