Skip to content

Commit fcab10a

Browse files
Merge branch 'v24' into patch-1
2 parents 01fb3df + c7fb579 commit fcab10a

1,226 files changed

Lines changed: 88111 additions & 24857 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ helm-charts
1212
.env
1313
.editorconfig
1414
.idea
15-
coverage*
15+
coverage*

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
root = true
3+
4+
[*]
5+
charset = utf-8
6+
end_of_line = lf
7+
indent_size = 2
8+
indent_style = space
9+
insert_final_newline = true
10+
11+
[*.sh]
12+
indent_size = 4
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ""
5+
labels: ""
6+
assignees: ""
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what the bug is.
11+
12+
**To Reproduce**
13+
Steps to reproduce the behavior:
14+
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
28+
- OS: [e.g. iOS]
29+
- Browser [e.g. chrome, safari]
30+
- Version [e.g. 22]
31+
32+
**Smartphone (please complete the following information):**
33+
34+
- Device: [e.g. iPhone6]
35+
- OS: [e.g. iOS8.1]
36+
- Browser [e.g. stock browser, safari]
37+
- Version [e.g. 22]
38+
39+
**Additional context**
40+
Add any other context about the problem here.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
name: "📝 API/DB Feature Request"
3+
about: Suggest a new backend API or database feature
4+
title: "[Feature] <short description here>"
5+
labels: [feature, backend]
6+
assignees: ""
7+
---
8+
9+
## ✨ API/Database Feature Request
10+
11+
### Summary
12+
13+
Describe the feature being requested. What functionality does it add to the backend or database? What problem does it solve?
14+
15+
## 📘 Use Case
16+
17+
Explain the use case behind this feature. Who is it for, and why is it needed now?
18+
19+
## 📥 Example API Request
20+
21+
```
22+
POST /api/example-endpoint
23+
Content-Type: application/json
24+
Authorization: Bearer <token>
25+
26+
{
27+
"exampleField": "value",
28+
"anotherField": 123
29+
}
30+
```
31+
32+
## 📤 Example API Response
33+
34+
```
35+
// JSON response
36+
{
37+
"id": "abc123",
38+
"status": "success",
39+
"data": {
40+
"result": true,
41+
"timestamp": "2025-04-30T18:00:00Z"
42+
}
43+
}
44+
```
45+
46+
## 📦 Database Considerations
47+
48+
- **New Tables**: Yes/No
49+
If yes, describe the schema or include a rough layout.
50+
51+
- **Modified Tables**: Yes/No
52+
Describe what changes are needed and why.
53+
54+
- **Migrations Required**: Yes/No
55+
56+
- **Indexes Required**: Yes/No
57+
Include any thoughts on performance or query efficiency.
58+
59+
## 🔐 Security & Access Control
60+
61+
- Does the endpoint require authentication? Yes/No
62+
- Should it be limited to specific roles (e.g. admin, worker, user)?
63+
- Any sensitive data in the request or response?
64+
65+
## 📎 Additional Context
66+
67+
Add any screenshots, designs, relevant discussion links, or references to prior issues.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ""
5+
labels: ""
6+
assignees: ""
7+
---
8+
9+
**Is your feature request related to a problem? Please describe.**
10+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
12+
**Describe the solution you'd like**
13+
A clear and concise description of what you want to happen.
14+
15+
**Describe alternatives you've considered**
16+
A clear and concise description of any alternative solutions or features you've considered.
17+
18+
**Additional context**
19+
Add any other context or screenshots about the feature request here.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: New Contribution Template (Clean)
3+
about: "For new Contributions to be added to the Project Management Process, examples removed"
4+
title: ""
5+
labels: ""
6+
assignees: ""
7+
---
8+
9+
## Purpose
10+
11+
.
12+
13+
---
14+
15+
## Objectives
16+
17+
- .
18+
19+
---
20+
21+
## Description
22+
23+
.
24+
25+
---
26+
27+
[Discord Name if Different]
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
name: New Contribution Template
3+
about: "For new Contributions to be added to the Project Management Process "
4+
title: ""
5+
labels: ""
6+
assignees: ""
7+
---
8+
9+
By the time the contribution is ready for final review, the main post of the Issue should be able to serve as the PR description, supplemented by the testing results/peer reviews.
10+
11+
## Purpose
12+
13+
Very brief statement as to what this contribution's purpose is. Examples:
14+
15+
- Add new feature that allows users to create custom flags.
16+
- Fix bug: modals not closing on game start.
17+
- Add new Iceland map.
18+
19+
---
20+
21+
## Objectives
22+
23+
Please provide a short list of objectives for the contribution, the number and level of specificity of the items will depend on the scope of the contribution. Is the means by which completion can be measured and success of the changes assessed. May be the starting point for the creation of sub-issues if collaboration is needed/desired. Examples:
24+
25+
**For the Custom Flags Feature**
26+
27+
- Create UI for Flag Customization.
28+
- Create customization features that provide a wide range of possibilities for users to express themselves.
29+
- Ensure some customization features are limited to users with certain traits.
30+
- Assess user traits related to limited customization against Discord roles.
31+
- Create method for customized flags to be displayed correctly on all connected clients.
32+
- Create means of restricting certain customization combinations to prevent hate symbols, or ensure it is not possible to create hate symbols with provided customizations.
33+
34+
**For a Bug Fix**
35+
36+
- Ensure all open modals except game start (and any other expected) modal close as expected when the game starts.
37+
- Ensure all modals still function as expected prior to game start.
38+
39+
**For New Map**
40+
41+
- Add New Map, Iceland to the game for use in Singleplayer and Custom lobbies.
42+
- Add map to lobby rotation.
43+
44+
---
45+
46+
## Description
47+
48+
Please provide a more detailed description of what is being changed/added, how it is being changed/added, provide any additional detail related to the objectives which would be needed or useful in assessing the contribution overall.
49+
50+
Examples of what info would be expected:
51+
52+
**For the Custom Flags Feature**
53+
54+
- Details about where the UI would be accessed from, mockups of a concept UI if they exist.
55+
- What kind of customizations will be available.
56+
- What traits will be provided limited customization features? (Patreons, Devs, Owner, etc.)
57+
- What kind of customizations will be limited.
58+
- Any high-level technical implementation details that may be useful in assessing viability, or which will require assistance from other contributors or the project owner (communication between the clients, use or access to a backend DB, discord integration, etc.)
59+
60+
**For a Bug Fix**
61+
62+
- Details about the bug's behavior
63+
- Details about the cause of the bug (once known)
64+
- Details about the fix
65+
- Any secondary effects of implementing the fix
66+
67+
**For a New Map**
68+
69+
- Size of the map
70+
- Number of Nation Bots
71+
- Images of the Map
72+
- Any interesting features of the map
73+
74+
---
75+
76+
[Discord Name if Different]

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## Description:
2+
3+
Describe the PR.
4+
5+
## Please complete the following:
6+
7+
- [ ] I have added screenshots for all UI updates
8+
- [ ] I process any text displayed to the user through translateText() and I've added it to the en.json file
9+
- [ ] I have added relevant tests to the test directory
10+
- [ ] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced
11+
- [ ] I have read and accepted the CLA agreement (only required once).
12+
13+
## Please put your Discord username so you can be contacted if a bug or regression is found:
14+
15+
DISCORD_USERNAME

.github/workflows/ci.yml

Lines changed: 57 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,70 @@
1-
name: CI
2-
on: [push, pull_request]
1+
name: 🧪 CI
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches: [main]
7+
8+
permissions: {}
9+
310
jobs:
411
build:
12+
name: 🏗️ Build
513
runs-on: ubuntu-latest
14+
timeout-minutes: 30
615
steps:
716
- name: Checkout repository
817
uses: actions/checkout@v4
918
with:
1019
submodules: false
11-
- name: Setup bun
12-
uses: oven-sh/setup-bun@v2
20+
- name: Setup node
21+
uses: actions/setup-node@v4
1322
with:
14-
bun-version: 1.2.4
15-
- name: install packages
16-
run: bun install
17-
- name: Build
18-
run: bun run build-prod
23+
node-version: 20
24+
- run: npm ci
25+
- run: npm run build-prod
1926
- uses: actions/upload-artifact@v4
2027
with:
2128
path: out/index.html
2229
retention-days: 1
30+
test:
31+
name: 🔬 Test
32+
runs-on: ubuntu-latest
33+
timeout-minutes: 30
34+
steps:
35+
- name: Checkout repository
36+
uses: actions/checkout@v4
37+
with:
38+
submodules: false
39+
- name: Setup node
40+
uses: actions/setup-node@v4
41+
with:
42+
node-version: 20
43+
- run: npm ci
44+
- run: npm test
45+
46+
eslint:
47+
name: 🔍 ESLint
48+
runs-on: ubuntu-latest
49+
timeout-minutes: 30
50+
steps:
51+
- uses: actions/checkout@v4
52+
- uses: actions/setup-node@v4
53+
with:
54+
node-version: "20"
55+
cache: "npm"
56+
- run: npm ci
57+
- run: npx eslint --format gha
58+
59+
prettier:
60+
name: 🎨 Prettier
61+
runs-on: ubuntu-latest
62+
timeout-minutes: 30
63+
steps:
64+
- uses: actions/checkout@v4
65+
- uses: actions/setup-node@v4
66+
with:
67+
node-version: "20"
68+
cache: "npm"
69+
- run: npm ci
70+
- run: npx prettier --check .

0 commit comments

Comments
 (0)