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.
Description
How to test?
🔄 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/2893
**Author:** [@Fredkiss3](https://github.com/Fredkiss3)
**Created:** 4/23/2026
**Status:** 🔄 Open
**Base:** `dev` ← **Head:** `feat/roles-and-user-multi-selectors`
---
### 📝 Commits (10+)
- [`9db5ff9`](https://github.com/fosrl/pangolin/commit/9db5ff9ff73c885959e1e42977345f4a9a2001ec) ♻️ small refactor
- [`53c48e6`](https://github.com/fosrl/pangolin/commit/53c48e6f041b3a4a3ec39f1cec54e3ed1be338c9) 🌐 update french translations
- [`b9bee28`](https://github.com/fosrl/pangolin/commit/b9bee2836b1973fbd31ad060ee60c2061c4da295) 🚧 wip
- [`da4dd88`](https://github.com/fosrl/pangolin/commit/da4dd88fddf4fc3d24b77db661bb3402dd0dee33) Merge branch 'dev' into feat/roles-and-user-multi-selectors
- [`c746e1b`](https://github.com/fosrl/pangolin/commit/c746e1bc8dd9f2f2181f517ab9f86e45c17f342d) 🚧 wip
- [`cb3fa02`](https://github.com/fosrl/pangolin/commit/cb3fa028c301ea66103aae54bdb9394de73df59e) ♻️ create custom autocomplete tag input
- [`955aa41`](https://github.com/fosrl/pangolin/commit/955aa41f53556a2d5c60eef29f64ea3b5ce14e81) ⏪ revert changes modifying existing tag input
- [`95cbaaa`](https://github.com/fosrl/pangolin/commit/95cbaaae213c45a6cdf81cff1639f41242c24c00) ✨ new multi select tag input
- [`2ea9d27`](https://github.com/fosrl/pangolin/commit/2ea9d272379e6bbb88803b9da42f88f40be6d2bd) ✨ machine selector
- [`91ce8be`](https://github.com/fosrl/pangolin/commit/91ce8bea4bdd01d2ce15409fb8b00ac47502e8e2) 🔨 add local mailer for catching emails
### 📊 Changes
**13 files changed** (+413 additions, -168 deletions)
<details>
<summary>View changed files</summary>
➕ `docker-compose.mailpit.yml` (+12 -0)
📝 `messages/fr-FR.json` (+4 -3)
📝 `src/components/InternalResourceForm.tsx` (+138 -58)
📝 `src/components/machines-selector.tsx` (+24 -65)
📝 `src/components/multi-select/multi-select-content.tsx` (+4 -3)
➕ `src/components/multi-select/multi-select-tag-input.tsx` (+90 -0)
➕ `src/components/roles-selector.tsx` (+1 -0)
📝 `src/components/tags/autocomplete.tsx` (+12 -7)
📝 `src/components/tags/tag-input.tsx` (+43 -27)
📝 `src/components/ui/command.tsx` (+1 -1)
📝 `src/components/ui/controlled-data-table.tsx` (+1 -1)
➕ `src/components/users-selector.tsx` (+64 -0)
📝 `src/lib/queries.ts` (+19 -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.
## Description
## How to test?
---
<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/2893
Author: @Fredkiss3
Created: 4/23/2026
Status: 🔄 Open
Base:
dev← Head:feat/roles-and-user-multi-selectors📝 Commits (10+)
9db5ff9♻️ small refactor53c48e6🌐 update french translationsb9bee28🚧 wipda4dd88Merge branch 'dev' into feat/roles-and-user-multi-selectorsc746e1b🚧 wipcb3fa02♻️ create custom autocomplete tag input955aa41⏪ revert changes modifying existing tag input95cbaaa✨ new multi select tag input2ea9d27✨ machine selector91ce8be🔨 add local mailer for catching emails📊 Changes
13 files changed (+413 additions, -168 deletions)
View changed files
➕
docker-compose.mailpit.yml(+12 -0)📝
messages/fr-FR.json(+4 -3)📝
src/components/InternalResourceForm.tsx(+138 -58)📝
src/components/machines-selector.tsx(+24 -65)📝
src/components/multi-select/multi-select-content.tsx(+4 -3)➕
src/components/multi-select/multi-select-tag-input.tsx(+90 -0)➕
src/components/roles-selector.tsx(+1 -0)📝
src/components/tags/autocomplete.tsx(+12 -7)📝
src/components/tags/tag-input.tsx(+43 -27)📝
src/components/ui/command.tsx(+1 -1)📝
src/components/ui/controlled-data-table.tsx(+1 -1)➕
src/components/users-selector.tsx(+64 -0)📝
src/lib/queries.ts(+19 -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.
Description
How to test?
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.