## Description:
AI nukes avoid SAM launchers
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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
Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
Co-authored-by: evanpelle <evanpelle@gmail.com>
## Description:
Currently, SAMs target any nuke within range. This can be frustrating
when a random SAM from another player intercepts your nuke, especially
since nukes follow a curved trajectory, leaving little room to adjust
their path.
This change modifies how SAMs intercept nukes: they will now only target
those whose impact points are near the SAM.
The “target range” is still generous, allowing players to defend against
Hydrogen bombs, while preventing random SAMs to intercept your valued
nukes.
In this example, the target was the opponent missile silo:
https://github.com/user-attachments/assets/0d8be2ac-e04d-44a4-a67e-54836cce8899
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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:
IngloriousTom
## Description:
- Close the socket on parse failure.
- Use `safeParse` and `prettifyError` to improve logging output on zod
validation failures.
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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
Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
Co-authored-by: evanpelle <evanpelle@gmail.com>
**Closes Issue #1001.**
_Will require updates to translations for each language but English is
in place as are pointers to relevant map files and thumbnails._
## Description:
All assets and references to the Japan and Neighbors map have been
updated to reflect East Asia.
**New Behavior**

**Old Behavior**

Game test is functioning. Other languages will need to be updated for
their displayed text to align.
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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:
ajaxburger
_My git name is included in my nickname on the server._
---------
Co-authored-by: evanpelle <evanpelle@gmail.com>
## Description:
- Adds logic to hard-set the transform handler directly to a new
position, without a movement animation
- Implements #1004



- removed a second initialization of the TransformHandler to prevent
transformation desyncs between layers. Incidentally this probably fixes
#62
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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:
demonessica
---------
Co-authored-by: tnhnblgl <51187395+tnhnblgl@users.noreply.github.com>
## Description:
Changed from consolex to console
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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:
@qqkedsi
Fixes#1016
## Description:
Fix the zod user schema validation to make roles optional. This was
causing a validation error when looking up the user's roles.
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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
Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
## Description:
added custom controls for attack ration to user setting
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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:
@qqkedsi

Co-authored-by: evanpelle <evanpelle@gmail.com>
## Description:
Fixes : https://github.com/openfrontio/OpenFrontIO/issues/958
Use the actual troop count on the boat unit when it lands, not the
original this.troops value.
Tested locally with all nukes type and it works fine.
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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:
.doo
---------
Co-authored-by: rldtech <r.le-disez+oplab@groupeonepoint.com>
Co-authored-by: tnhnblgl <51187395+tnhnblgl@users.noreply.github.com>
## Description:
this is a fix for the "possibly null" error. dosent seem to cause
runtime issues but does cause the compiler to throw an error this just
adds a safety check
## Please complete the following:
- [x] I have added screenshots for all UI updates (No UI Updates)
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file (No Text Updates)
- [x] I have added relevant tests to the test directory (No Tests to
add)
- [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:
jerryslang
## Description:
Validate incoming API data with zod.
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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
---------
Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
## Description:
Only donate up to what the receiving player can get so we don't silently
loose troops
See the chat here :

## 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:
theodoreleon.aetarax
---------
Co-authored-by: tnhnblgl <51187395+tnhnblgl@users.noreply.github.com>
## Description:
Alliance Request and Embargo icons now switch from white to black
according to whether dark mode is enabled.

*Dark mode off*

*Dark mode on*
## Potential issue:
The only caveat is that upon changing the theme when both icons are
displayed, the display order is not conserved, so they may appear in a
different order than before.
This seems however to be a very small use case, and rather insignificant
as icons don't have an order to begin with.
Do let me know if this is a problem though!
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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:
@vermylion
## Description:
Ensure that team sizes are equal.
Closes#841
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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
---------
Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
## Description:
This is a UI fix that addresses the issue where the nuke related options
were not able to be deselected in private lobby's, these are now able to
done.
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
## Please put your Discord username so you can be contacted if a bug or
regression is found:
Shaan160
Fixes#989

_Related to Issue #972_
## Description:
Updating the modal_content overflow behavior from "scroll" to "auto"
presents the scroll-bar when content overflows on the Y axis but hides
it when not necessary to view all content.
**New behavior**

**Previous behavior**

This maintains the functionality of the Language dialog but hides the
scrollbar when necessary in the Join Lobby dialog. This automatic
behavior should further apply to any dialogs making use of the
`c-modal_content` class.
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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:
ajaxburger
## Description:
This PR addresses the issue of long continuous strings (without spaces)
overflowing their container in the user interface. By adding the CSS
property word-break: break-all (via the Tailwind class break-all) to the
text container, we ensure that lengthy words will wrap properly and
maintain the layout integrity across different screen sizes.

_Before_

_After_
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [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:
RTHOne
Co-authored-by: evanpelle <evanpelle@gmail.com>
### Description:
This PR adds dynamic sorting to the in-game leaderboard. Players can now
sort the leaderboard by tiles owned (default), gold, or troops by
clicking the respective column headers. The currently selected sort is
indicated with a downward arrow (⬇️). This improves usability and makes
it easier to compare player stats mid-game.
### Please complete the following:
[✅] I have added screenshots for all UI updates
https://github.com/user-attachments/assets/d0238698-a187-4fc7-9407-04d11cccbc32
[✅] I process any text displayed to the user through translateText() and
I've added it to the en.json file
[❌] I have added relevant tests to the test directory
[✅] 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
Closes#923
---------
Co-authored-by: evanpelle <openfrontio@gmail.com>
Co-authored-by: evanpelle <evanpelle@gmail.com>
## Description:
This pull request addresses a layout issue where text in instructions
(player icon) would overflow or be cut off, especially when translated
into languages with longer word structures (e.g., Dutch, German, French,
...)

_Before_ (web app view)

_After_ (mobile layout)
### 🔧 Changes made:
Removed fixed height classes h-8 and md:h-10 from description
containers.
Allowed natural text wrapping and height growth by relying on min-h only
where needed.
Added text-center for better alignment and break-words to handle long
words gracefully.
### 🧪 Tested in:
Dutch
German
French
English
Responsive layouts (mobile and desktop)
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory -> UI only
- [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:
RTHOne