bitburner-src/src
LJ 27a8abbdec
PORTS: Support all serializable data. (#1089)
A significant portion of players who use ports are passing objects through them. Currently they are required to handle that themselves via JSON serialization. This PR adds better support for passing objects; which is more convenient, extensive, and optimized (probably, more on this one later).

This adds zero overhead to existing (or when passing any primitive types) port usage, and also isn't a breaking change. The questions to debate here are:

Should objects be supported in the first place?
If so, how exactly do we want to serialize objects?
Based on an extensive discussion in Discord, the overwhelming majority answered "yes" to question one. As for question two, that has been much more hotly contested.

Ultimately, `structuredClone` was used, despite less-than-stellar performance, because other options were worse either in safety, speed, error-handling, or multiple of the above.
2024-02-17 19:15:17 -08:00
..
@types add better typing to Electron.tsx 2022-04-21 23:50:49 -07:00
Achievements MISC: move server constants into their own constant (#1075) 2024-02-10 04:13:42 -05:00
Arcade/ui Fix check for "True Recursion" achievement (#827) 2023-10-03 01:29:09 -04:00
Augmentation add descriptions for hacknet_node_level_cost and hacknet_node_core_cost (#1032) 2024-01-14 16:12:49 -05:00
BitNode UI: Improve theme support. (#1079) 2024-02-15 23:51:07 -05:00
Bladeburner BUGFIX: few bandaids for Bladeburner (#1093) 2024-02-15 04:48:04 -08:00
Casino ENUMS: Initial Enum Helper rework + Reorganization (#596) 2023-06-12 00:34:20 -04:00
Company COMPANY: Show unqualified direct promotion (followup) (#983) 2023-12-19 05:27:26 -05:00
Corporation CORPORATION: Improve performance of cycle valuation (#1088) 2024-02-15 05:43:37 -08:00
CotMG Update StaneksGiftRoot.tsx (#987) 2023-12-27 06:10:35 -05:00
Crime BITNODE: IPvGO territory control strategy game (#934) 2023-12-26 11:45:27 -05:00
DarkWeb ENUMS: Initial Enum Helper rework + Reorganization (#596) 2023-06-12 00:34:20 -04:00
data BUGFIX: Properly deep copy array data for coding contracts (#1064) 2024-01-31 19:43:04 -05:00
DevMenu/ui COMPANY: Much better job location interface (#927) 2023-12-18 07:23:47 -05:00
Diagnostic FILES: Path rework & typesafety (#479) 2023-04-24 10:26:57 -04:00
Documentation changelog update, regenerate docs 2024-01-07 08:37:38 -05:00
Exploits UI: Fix some DevMenu react errors, add number of exploits to savegame comparison (#825) 2023-10-02 23:28:16 -04:00
Faction UI: 'Disable Text Effects' setting applies to "corrupted text" (#944) 2023-12-27 03:30:08 -05:00
GameOptions/ui REMOTE: Added possibility to change target IP of remote API (#943) 2024-01-07 07:57:54 -05:00
Gang MISC: change all nextUpdates to use one Promise (#1069) 2024-02-10 06:27:47 -05:00
Go [IPvGO] Remove testing flag (#1016) 2024-02-10 08:04:21 -05:00
Hacking CODEBASE: Expand lint rules, and Aliases are stored as maps (#501) 2023-05-05 03:55:59 -04:00
Hacknet Servers are sorted on Active Scripts page (#1102) 2024-02-16 21:06:18 -05:00
hash CODEBASE: Expand lint rules, and Aliases are stored as maps (#501) 2023-05-05 03:55:59 -04:00
Hospital Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
Infiltration INFILTRATION: Different visual rework for CheatCodeGame (#994) 2023-12-27 00:45:40 -05:00
Literature FACTIONS: Add "Rumors" system for learning about faction join requirements (#888) 2023-11-02 10:20:24 -04:00
Locations UI: Improve theme support. (#1079) 2024-02-15 23:51:07 -05:00
Message FACTIONS: Fix for faction names staying scrambled after joining (#968) 2023-12-07 20:53:28 -05:00
Milestones TYPESAFETY: FactionName (#644) 2023-06-25 22:53:35 -04:00
Netscript MISC: HGWOptions accepts non integer (#1035) 2024-02-10 07:24:11 -05:00
NetscriptFunctions MISC: change all nextUpdates to use one Promise (#1069) 2024-02-10 06:27:47 -05:00
NetworkShare v1.5.0 2022-03-07 17:51:02 -05:00
Paths CODEBASE: Expand lint rules, and Aliases are stored as maps (#501) 2023-05-05 03:55:59 -04:00
PersonObjects MISC: change all nextUpdates to use one Promise (#1069) 2024-02-10 06:27:47 -05:00
Programs MISC: Add an option to run b1t_flume with a "quick" option (#1072) 2024-02-10 04:14:11 -05:00
RemoteFileAPI add purchasedPlayer to RFA server data (#1103) 2024-02-17 00:11:29 -05:00
Script MISC: refactor weaken effect calculation (#1076) 2024-02-16 17:18:16 -08:00
ScriptEditor PORTS: Support all serializable data. (#1089) 2024-02-17 19:15:17 -08:00
Server Servers are sorted on Active Scripts page (#1102) 2024-02-16 21:06:18 -05:00
Settings REMOTE: Added possibility to change target IP of remote API (#943) 2024-01-07 07:57:54 -05:00
Sidebar/ui NETSCRIPT: Add .script deprecation notice & migration guide (#1007) 2024-01-07 08:15:24 -05:00
SourceFile BITNODE: IPvGO territory control strategy game (#934) 2023-12-26 11:45:27 -05:00
StockMarket Changing color of stocks going up (#1065) 2024-02-10 06:28:18 -05:00
Terminal MISC: refactor weaken effect calculation (#1076) 2024-02-16 17:18:16 -08:00
Themes UI: Improve theme support. (#1079) 2024-02-15 23:51:07 -05:00
ThirdParty rm any 2022-07-15 01:51:30 -04:00
Types MISC: change all nextUpdates to use one Promise (#1069) 2024-02-10 06:27:47 -05:00
ui Servers are sorted on Active Scripts page (#1102) 2024-02-16 21:06:18 -05:00
utils MISC: Gang Expenses category in MoneySource (#1043) 2024-01-23 18:18:56 -05:00
Work API: Updating typing for ns.singularity.getCurrentWork() (#989) 2023-12-27 06:06:45 -05:00
Alias.ts TERMINAL: Prevent recursive aliases from being resolved. (#741) 2023-08-28 14:26:25 -04:00
CodingContractGenerator.ts CCT: Fewer money coding contracts if the reward would be $0 (#918) 2023-12-03 04:00:15 -05:00
CodingContracts.ts MISC: enforce eslint react checks (#640) 2023-06-26 22:29:44 -04:00
Constants.ts changelog 2024-02-10 08:24:05 -05:00
db.tsx Fixing spelling mistake 2022-01-10 15:17:04 +10:00
DevMenu.tsx DEVMENU: Easier to add/remove sleeves (#908) 2023-12-04 14:36:00 -05:00
Electron.tsx UI: Correct behavior of "back" button on faction augs page 2023-06-26 04:24:37 -04:00
engine.tsx MISC: Protect against reassigning certain globals (#972) 2023-12-16 05:03:52 -05:00
Enums.ts TYPESAFETY: CompanyName (#650) 2023-07-11 09:23:17 -04:00
ExportBonus.tsx Make the main player object an alias, makes it easier to import 2022-10-09 18:42:14 -04:00
Hacking.ts BITNODE: IPvGO territory control strategy game (#934) 2023-12-26 11:45:27 -05:00
index.html Upgrade monaco and bump game version to 2.3.0dev (#369) 2023-02-23 21:43:29 -05:00
index.tsx CODEBASE: Expand lint rules, and Aliases are stored as maps (#501) 2023-05-05 03:55:59 -04:00
InteractiveTutorial.ts Documentation added ingame (#667) 2023-07-12 17:10:52 -04:00
NetscriptFunctions.ts PORTS: Support all serializable data. (#1089) 2024-02-17 19:15:17 -08:00
NetscriptJSEvaluator.ts CODEBASE: Expand lint rules, and Aliases are stored as maps (#501) 2023-05-05 03:55:59 -04:00
NetscriptPort.ts PORTS: Support all serializable data. (#1089) 2024-02-17 19:15:17 -08:00
NetscriptWorker.ts more hotfixing 2023-05-26 14:59:42 -04:00
Player.ts CODEBASE: Add Jsonable Map and Set types, move player.sourceFiles to a map (#473) 2023-04-18 03:19:45 -04:00
Prestige.ts Update Prestige.ts (#985) 2023-12-19 05:21:05 -05:00
RedPill.tsx PRESTIGE: Make bitnode reset synchronous again (#566) 2023-06-03 18:04:45 -04:00
SaveObject.ts CORPORATION: Use accounting methods for all funds transactions (#949) 2023-12-07 21:22:21 -05:00
Terminal.ts add hoop before exposing 2022-10-11 21:02:04 -04:00
TextFile.ts EDITOR: Reorganization and minor efficiency improvements (#886) 2023-10-23 07:02:33 -04:00
types.ts MISC: HGWOptions accepts non integer (#1035) 2024-02-10 07:24:11 -05:00
UncaughtPromiseHandler.ts uncaught promises no longer spam console (#134) 2022-10-19 17:13:15 -04:00