By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Summary
Fix tabulation between host and port inputs in target address in resources by memoizing the getColumns function and all its dependencies
Refactored the target address component into its own component
Also fixed the focus state of the components in the target address to have the same visual state
Screenshots
Before
After
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/fosrl/pangolin/pull/2306
**Author:** [@Fredkiss3](https://github.com/Fredkiss3)
**Created:** 1/23/2026
**Status:** ✅ Merged
**Merged:** 1/23/2026
**Merged by:** [@miloschwartz](https://github.com/miloschwartz)
**Base:** `dev` ← **Head:** `fix/tab-from-host-port`
---
### 📝 Commits (2)
- [`e3e4bdf`](https://github.com/fosrl/pangolin/commit/e3e4bdfe09a90cfd829fec0e25382fb28c6d849c) 🚸 fix target item tabbing by memoizing the `getColumns` (and its dependencies)
- [`c1b4732`](https://github.com/fosrl/pangolin/commit/c1b473294e5738ea827e47b68a09c0dc09eebe52) 🔥 remove useless `useEffect`
### 📊 Changes
**6 files changed** (+439 additions, -758 deletions)
<details>
<summary>View changed files</summary>
📝 `src/app/[orgId]/settings/resources/proxy/[niceId]/proxy/page.tsx` (+49 -267)
📝 `src/app/[orgId]/settings/resources/proxy/create/page.tsx` (+143 -475)
📝 `src/components/DomainPicker.tsx` (+0 -12)
➕ `src/components/resource-target-address-item.tsx` (+241 -0)
📝 `src/components/ui/input.tsx` (+1 -1)
📝 `src/components/ui/select.tsx` (+5 -3)
</details>
### 📄 Description
## Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
## Summary
- Fix tabulation between host and port inputs in target address in resources by memoizing the `getColumns` function and all its dependencies
- Refactored the target address component into its own component
- Also fixed the focus state of the components in the target address to have the same visual state
## Screenshots
| Before | After |
| :----------------: | :--------: |
| <video src="https://github.com/user-attachments/assets/a7acc694-51ad-4a28-88bf-ce8623d6f084"></video> | <video src="https://github.com/user-attachments/assets/51b3ad48-03d6-4731-8abc-b3fbb14aadcf"></video> |
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/fosrl/pangolin/pull/2306
Author: @Fredkiss3
Created: 1/23/2026
Status: ✅ Merged
Merged: 1/23/2026
Merged by: @miloschwartz
Base:
dev← Head:fix/tab-from-host-port📝 Commits (2)
e3e4bdf🚸 fix target item tabbing by memoizing thegetColumns(and its dependencies)c1b4732🔥 remove uselessuseEffect📊 Changes
6 files changed (+439 additions, -758 deletions)
View changed files
📝
src/app/[orgId]/settings/resources/proxy/[niceId]/proxy/page.tsx(+49 -267)📝
src/app/[orgId]/settings/resources/proxy/create/page.tsx(+143 -475)📝
src/components/DomainPicker.tsx(+0 -12)➕
src/components/resource-target-address-item.tsx(+241 -0)📝
src/components/ui/input.tsx(+1 -1)📝
src/components/ui/select.tsx(+5 -3)📄 Description
Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Summary
getColumnsfunction and all its dependenciesScreenshots
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.