Commit Graph

934 Commits

Author SHA1 Message Date
Scott Anderson 1070a7cb0f JWT decoding with jose (#617)
## Description:

- Decode JWT with jose, and manually verify claims.
- Unfortunately, chrome isn't able to verify EdDSA signatures, so we
can't use the simpler `jwtVerify` jose function, which would verify
claims for us.
- Use the persistent_id from the JWT.


![image](https://github.com/user-attachments/assets/f3561311-0264-48f7-8173-e7f98c3b581e)

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

fake.neo

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-04-30 10:17:44 -07:00
Samuel Safahi e0cbbf0173 Add Duration to Defense Debuff Messages (#603)
## Description:

This PR updates the in-game defense debuff message to include the
**duration** of the effect, improving clarity and usability during
gameplay.

### Change Summary:
- Updated static text to:  
`You broke your alliance with United States, making you a TRAITOR (50%
defense debuff for 30 secs)`
- Improves player understanding of how long penalties last.
- Aligns with other UI efforts focused on real-time feedback and clearer
mechanics.
- Sets a standard for future status/debuff messages to include duration
info where relevant.

This small but high-impact change enhances the player experience,
especially in intense or competitive matches where timing matters.

---

## Please complete the following:

- [] I have added screenshots for all UI updates  
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

---

## Please put your Discord username so you can be contacted if a bug or
regression is found:

**@walker9607**


Resolves issue
https://github.com/openfrontio/OpenFrontIO/issues/602#issue-3018752308
2025-04-29 17:21:18 -07:00
evanpelle cc9b1a305b add link to tournament (#621)
## Description:

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

<DISCORD USERNAME>

Co-authored-by: evan <openfrontio@gmail.com>
2025-04-29 13:22:29 -07:00
Scott Anderson cb9a97083a Discord login (#611)
## Description:

## Please complete the following:

- [ ] I have added screenshots for all UI updates
- [ ] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [ ] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

<DISCORD USERNAME>

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-04-28 18:31:42 -07:00
Duwibi ccba7a5617 Add Antarctica Map (#544)
## Description:
This PR adds the new Deglaciated Antarctica map(suggested by Backn). It
has 9 nations - most of the country territorial claims on the continent
and the "Penguin Empire".

fixes #545 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

Nikola123

---------

Co-authored-by: Loymdayddaud <145969603+TheGiraffe3@users.noreply.github.com>
2025-04-28 12:58:10 -07:00
Tom 42b6a649ce Use monospace font for private lobby code input (#566)
## Description:
Changes private lobby code input font to be monospace. Parity with lobby
creation screen (#438).

**Before:**

![image](https://github.com/user-attachments/assets/da25cf2c-a8df-4d62-86ae-1eb575ad7bac)

**After:**

![image](https://github.com/user-attachments/assets/a65a0ff8-d48e-4c38-a949-8cc0fc82d383)


## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [X] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

imdarktom
2025-04-27 17:10:56 -07:00
evan 386e1916a3 update discord link 2025-04-24 14:18:47 -07:00
evan 3c586455a8 disable defense under name until new meta is live 2025-04-24 13:14:30 -07:00
evan ff535820c5 bugfix: don't show build icon in radial during spawn phase, bugfix: log warning and hide playerpanel if tile not owned by player 2025-04-24 12:40:51 -07:00
evan 7a944e670a disable multitab detector on DEV environment 2025-04-24 12:15:47 -07:00
icslucas 13abdc30ef Update MultiTabDetector.ts (#588)
## Description:
Replaced the original focus/visibility-based MultiTabDetector
implementation with a lock-based system using localStorage to reliably
prevent multitabbing in OpenFront. The new system enforces a single
active tab per browser instance by using a unique tabId and a shared
lock key with periodic heartbeats. This eliminates race conditions,
prevents event-hook tampering, and avoids fingerprinting while
maintaining compatibility with existing punishment callbacks and UI
warnings.

## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [X] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

Lucas

---------

Co-authored-by: evan <openfrontio@gmail.com>
2025-04-24 11:51:17 -07:00
evan 9428ac1a28 add back old europe map as Europe Classic 2025-04-24 08:56:36 -07:00
evan 34333e306f bugfix: add null check on trade ship target in alternate view 2025-04-24 08:14:06 -07:00
evan e86e4d581c alternate view: make trade ships yellow when destined for ally port 2025-04-24 08:09:28 -07:00
evan 35805b2e4e remove random-name element from front page 2025-04-24 07:59:29 -07:00
evan a2ba10bdbd show density under player name 2025-04-23 14:26:12 -07:00
evan fe4396ebcd show incoming tradeships as green in alternate view 2025-04-23 13:46:19 -07:00
evanpelle 84287b8dfa Multi src astar (#594)
## Description:
Samples border shore tiles and uses multi-a* for determining the
transport ship spawn cell.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

<DISCORD USERNAME>
evan

---------

Co-authored-by: evan <openfrontio@gmail.com>
2025-04-23 10:16:43 -07:00
evan b2c3a8add6 remove .io, since just OpenFront is trademarked 2025-04-23 10:15:38 -07:00
evan c6484752e5 add trademark to OpenFront.io in footer 2025-04-23 10:14:41 -07:00
evan a70f1f98dd remove unnecessary logging in SpriteLoader 2025-04-22 20:49:02 -07:00
Readixyee 72b4c68172 Sprite system optimizations (#564)
## Description:

fixes issue #563 and optimizes clearrect and the cachekeys for sprites

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

Readix
2025-04-22 20:39:32 -07:00
Aotumuri 0402e609a4 replaces player names with randomized name (#340)
This PR replaces player names with randomized name
The goal is to reduce exposure to inappropriate or offensive names.
Additionally, content creators no longer need to worry about displaying
other players’ usernames.
<img width="1276" alt="スクリーンショット 2025-03-25 23 03 37"
src="https://github.com/user-attachments/assets/3d396bb0-336f-41a0-8d56-ff5229fe05f8"
/>
<img width="1048" alt="スクリーンショット 2025-03-25 23 03 48"
src="https://github.com/user-attachments/assets/a72711cf-9743-4879-8f2f-b8187b10a272"
/>
Use the upper left button (Ninja) to change settings.
<img width="1173" alt="スクリーンショット 2025-03-25 23 04 03"
src="https://github.com/user-attachments/assets/2d2fcbbd-7342-40b0-97c1-ecc184e5fbb6"
/>

Fixes #489

---------

Co-authored-by: evanpelle <evanpelle@gmail.com>
2025-04-22 20:26:45 -07:00
evan cee06c82db bugfix: have radial menu check canBuild when checking if boating allowed 2025-04-22 08:15:21 -07:00
evanpelle 71849b47cd better transport ship spawn (#587)
## Description:

Taken from PR #506

Improve transport source tile by considering border extremums

Only calculate better spawn tile for humans, and have the sender
calculate it and send the src tile in the intent for better performance.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

<DISCORD USERNAME>
evan

Co-authored-by: evan <openfrontio@gmail.com>
2025-04-21 19:49:17 -07:00
evan 5763bc21dd update version to v22.0 2025-04-21 14:57:08 -07:00
michaelabilliot a4329d42ee Add category to singleplayer (#449)
## Description:
Just simply adds categories to the single player menu
![Screenshot 2025-04-11 at 05 40
49](https://github.com/user-attachments/assets/e6811b69-5abf-427f-9989-55f4538b034f)

Fixes #453 

## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [X] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

lunhuiyan1718
2025-04-19 12:09:41 -07:00
Evan d66dcedcc2 move menu up to remove top gap 2025-04-18 13:53:12 -07:00
Evan 11a9b9e5b0 move "join discord button" to footer, this makes space for the login button 2025-04-18 13:46:50 -07:00
Max Dohme 9aa933b676 Add live update for player menu (#511)
## Description:

UX Improvement - Make the player menu options update live, like
donations and re-offering alliance if it was rejected previously. Now
player doesn't have to keep re-opening the menu to see the options
updated.

Fixes #521 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

eyeseeem

---------

Co-authored-by: Max Dohme <max.dohme@gmail.com>
Co-authored-by: Scott Anderson <scottanderson@users.noreply.github.com>
Co-authored-by: APuddle210 <david.eskin@gmail.com>
2025-04-17 14:21:16 -07:00
Scott Anderson 5a8f724563 Auto transport (#540)
## Description:

fixes #541 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

aPuddle & fake.neo

---------

Co-authored-by: APuddle210 <david.eskin@gmail.com>
Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-04-17 10:41:08 -07:00
Duwibi 027f9ac9ac Add Faroe Islands map (#441)
## Description:
This PR adds the new "Faroe Islands" map that is based on the real
islands. It has 6 nations - the 6 regions of the Feroe Islands.

Fixes #460

## Please complete the following:

- [ ] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

Nikola123
2025-04-17 08:51:48 -07:00
Evan 13fe8b9e39 detect and punish multi-tabbing 2025-04-16 14:33:54 -07:00
Evan 9db5924d33 remove patreon from winmodal 2025-04-15 21:05:03 -07:00
Evan 4e2f61a792 fix boat trail on alternate view 2025-04-15 20:56:58 -07:00
Evan 8658fd0ff9 bufix: paint unit sprites correctly on alternate view 2025-04-15 20:46:59 -07:00
Scott Anderson 5167f67b96 Allow up to seven teams for players (#445)
## Description:

- Allow up to seven teams for players, and one for bots.
- Add team count selection to the single player dialog.
- Select random number of teams in server rotation.

Fixes #456

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors


![image](https://github.com/user-attachments/assets/cbc1ba82-9d06-4763-896c-abdce067a161)


![image](https://github.com/user-attachments/assets/9f82a0a5-c0bb-49b6-a714-2b13286a64ca)

## Please put your Discord username so you can be contacted if a bug or
regression is found:

fake.neo

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
2025-04-15 19:02:58 -07:00
Max Dohme 1ed3d50eb1 Add right-click on radial menu to close (#509)
## Description:

UX Improvement - Add right-click on radial menu to close it, instead of
having to click outside the menu.

Fixes #520 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

eyeseeem

Co-authored-by: Max Dohme <max.dohme@gmail.com>
2025-04-15 18:28:22 -07:00
Loymdayddaud b70a368f9b small grammar fix (#437)
## Description:
Removed a comma where it shouldn't be.

Fixes #463 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:
N/A
2025-04-15 18:26:00 -07:00
Duwibi c5c3dddb4e Update Translations (#498)
## Description:
This PR updates the following languages to have the latest translations:
Bulgarian, Dutch, German, French, Esperanto, Polish, Russian and
Ukrainian. It adds the following new languages: Italian, Brazilian
Portuguese, Serbo-Croatian, Turkish, Hindi and Bengali. It also adds a
flag and integrates Esperanto.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

Fixes #499 

## Please put your Discord username so you can be contacted if a bug or
regression is found:

Nikola123
2025-04-15 18:25:29 -07:00
Evan f0282a54fe update ads.txt, remove google ads 2025-04-15 14:02:07 -07:00
Readixyee a8c87e3bf1 Sprite system (#512)
## Description:

This adds the spriteLoader that loads and caches sprites to be used in
the unitlayer for rendering units as well as sprites for all units and
an alternative mirv sprite to show what can be done using sprites

color codes for grayscaled sprites:
b4b4b4 = territory color
464646 = border color
828282 = spawnhighlight color

The sprites are grayscaled and recolored to have a single base png for
all units

Fixes #505 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

Readix
2025-04-15 11:41:06 -07:00
Max Dohme 6d295fe0f6 Fix screen bounds calculation and transform (#514)
## Description:

UX Improvement - Make view properly transform to actual player position.
Required a fix of the screen bounds calculation, which was using the
full screen size, instead of the current window size.

Fixes #519 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

eyeseeem

Co-authored-by: Max Dohme <max.dohme@gmail.com>
2025-04-14 19:11:08 -07:00
Aotumuri 3eccbaa982 Added User Settings Modal (#379)
## Description:

This PR adds a **User Settings** modal accessible from the main UI.

Currently available settings include:
- Toggle for Dark Mode
- Writing Speed Multiplier (slider)
- Bug Count (number input)
-  Troop and Worker Ratio (slider)
-  Left Click to Open Menu
-  Emoji toggle

Settings are saved via `localStorage` and persist across sessions.
There's also a hidden Easter Egg...

https://discord.com/channels/1284581928254701718/1286741605310533653/1355900228712009908
<img width="787" alt="スクリーンショット 2025-03-31 8 40 08"
src="https://github.com/user-attachments/assets/a9943834-cf40-4fa6-b828-06a8476172da"
/>

Fixes #482 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

<DISCORD USERNAME>
aotumuri
2025-04-14 11:47:50 -07:00
Aotumuri adb29035c0 Change lang modal (#432)
## Description:
I updated the language modal to match the style of the other modals.
<img width="564" alt="スクリーンショット 2025-04-05 18 17 56"
src="https://github.com/user-attachments/assets/bbca2157-6842-46f7-83f7-f76b255d35b7"
/>

Fixes #473 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

aotumuri
2025-04-12 18:01:01 -07:00
Aotumuri 4c777412b6 Improve Key Interaction Visibility (#428)
## Description:
Enhanced the visual clarity of key inputs using custom CSS.
Keyboard keys now appear more distinct and intuitive, making the help
modal easier to understand at a glance.
Keys can be changed easily.

Fixes #477 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

<DISCORD USERNAME>
aotumuri(.w. / (๑-̀ㅂ-́)و✧)
2025-04-12 09:34:15 -07:00
Tom 608f57b2a9 Improve private lobby code readability (#438)
## Description:
Use mono font for code generated for private lobbies, making it easier
to distinguish some letters (lowercase L's vs. capital I's).
Fixes #391.
Fixes #462 

Before:

![image](https://github.com/user-attachments/assets/0b6f6f15-5e7c-4c31-abed-3301a3f508e9)

After:

![image](https://github.com/user-attachments/assets/abd7b6f7-75e6-4461-85fa-528ebf92cc14)


## Please complete the following:

- [X] I have added screenshots for all UI updates
- [X] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [X] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

imdarktom
2025-04-12 08:57:04 -07:00
Aotumuri 77abece577 Fixed flag size (#431)
## Description:
before
<img width="410" alt="スクリーンショット 2025-04-05 16 45 08"
src="https://github.com/user-attachments/assets/f4f53783-ad11-4e81-9cd3-813515610129"
/>

now
<img width="359" alt="スクリーンショット 2025-04-05 16 44 43"
src="https://github.com/user-attachments/assets/3f3f556d-8c89-4b08-9544-c93d20b516cc"
/>

Fixes #474 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

Aotumuri
2025-04-11 20:58:40 -07:00
Evan dd85f3ba69 update version 2025-04-10 14:32:25 -07:00
Evan 1f581901c4 add google analytics 2025-04-10 13:37:06 -07:00