Added support for on-the-fly textview contents updates
Added iterative view removal to ConsoleController
Added dumy layouts to Common
Added support for account removal
Fixed command management (now supports leading, padding and trailing spaces)
Various smaller changes
* Added OnClose event to view: triggered when controller is removing view from render queue
* Added more localization
* Added bank transfer
* Fixed account balance reset
* Fixed user copying issues in database: now it does a full deep copy, as opposed to a shallow copy
* Fixed serverside sysinsert checks
* Fixed serverside Account_Get info endpoint
* Other minor things
* Reworked padding rendering (now handled natively by View)
* Fixed how ConsoleController renders dirty views
* Explicitly added padding to the LayoutMeta dimensions computation
* Added support for updating passwords in SessionContext
* Completed account display system
* Added many more resources
* Simplified internationalization
* Added clientside representations for accounts and transations
* MOAR COMMENTS!
* Optimized account serialization
* Corrected issue where copying a user simply copied references to the user accounts; not actually copying accounts (which caused jank)
* Fixed timestamp for TimeStampWriter
* Probably some other minor things
Refactorings:
* BinaryCollector -> BitWriter
* BinaryDistributor -> BitReader
Additions:
* Output class for making serverside output pretty and more readable
* Better RSA keys (private keys withheld)
Changes:
* Minor changes to all views and their rendering
* Added corrective resizing to resize listener to prevent errant window sizes
* Removed "default" language in favour of a purely priority-based system
* NetContext now attempts to verify server identity before continuing to next context
* Simplified common operations in Context
* Minor updates to some layouts
* Completed translations for english and swedish
* Promise system now supports internal processing before notifying original caller
* Bank interactor methods are now async
* Added support for multiple accounts per user (separate repositories for money)
* Removed test code from client program
* Updated Database to support multiple accounts
* Reimplemented RSA on the server side purely as an identity verification system on top of the networking layer (rather than part of the layer)
* Added Account management endpoints
* Added full support for System-sourced transactions
* Added Account availability endpoint
* Added verbose error responses
* Moved encryption algorithms into a folder
* Sorted networking into separate files
Additions:
* Created Elliptic Curve encryption implementation
* Generalized the key exchange implementation
- Implemented Diffie-Hellman key exchange
- Implemented Elliptic Curve Diffie-Hellman key exchange
* Started implementing binary data compressor
Changes:
* Changed NetClient and NetServer to use IKeyExchange for initial AES key exchange instead of RSA (for optimization)
* Adapted TextView implementation to properly support optional borders
* Fed InputView issue caused due to border rendering change
* Fixed and simplified Rectangle computations
* Fixed errant naming in Session layout file
* Fixed errant i18n naming in Session layout file
* Fixed resize background rendering issue in ConsoleController
* Fully implemented ListView (needs testing)
* Updated BankInteractor and server to use ECDH-E with Curve25519
Removals:
* Removed identity verification from NetClient (identities checks should be performed as a layer on top of NetClient/NetServer, not as part of it)
- Prioritizes language file matching system language above all else
- Secondarily prioritizes "default" lang file
- Prioritizes lang files declared in meta file (low-to-high priority system)
Moved resource files to one folder
Added multi-file loading support
Started creating a shared layout resource file
Added language files
- Swedish (default): Incomplete
- English US (priority 0): Complete
- English GB: (priority ): Complete
Continued implementing ListVew
Added reference support for 'top' variable in View.Draw()
Gave layout metadata its own sub-namespace
Gave views their own sub-namespace
Added view naming convention
Moved layout data to a separate folder
Moved layout contexts to a separate folder