userDaniel Pcancel
reporust_rebootcancel

1,872 Commits over 457 Days - 0.17cph!

19 Days Ago
Update: Add FallbackUploader - uses primary uploader if enabled, otherwise uses fallback - Added a test that checks it - DryRun is now a per-accumulator settings instead of a global overwrite - lets each uplaoder decide how to act Allows us to setup flexible chains(extra loggers, backups, etc), and more importantly we can emulate current analytics flow Tests: ran unit tests
19 Days Ago
Update: Move accumulators into uploaders - AnalyticsTests.TestUploade has logging enabled permanently to help validate things It was a blocker to implement uploader chains (which I discovered we need for server, but should be quick) Tests: ran unit tests
19 Days Ago
Clean: rename AnalyticsUploader -> AnalyticsManager Disambiguates from the internal IUploader Tests: compiles in editor
19 Days Ago
Bugfix: apply separator in json-lists aggregation correctly Tests: used accumulator logging to see what is being fed
19 Days Ago
Update: Accumulators can now log what they're being fed This revealed a bug with json concatenation, should be a quick fix Tests: ran unit tests
19 Days Ago
Merge: from server_occlusion_gen_reorder_narrowphase - Bugfix for ServerOcclusion potentially crashing during generation Tests: generated custom map that had a consistent crash and a default 4.5k procgen editor world
19 Days Ago
Bugfix: ServerOcclusion - don't schedule same SubGrid cells repeatedly for rock intersection It caused more work to be done(this saves ~13s), and in some cases even an out-of-bounds access crash. Tests: generated server occlusion cache for a 6k custom map that had a consistent crash, generated default editor 4.5k proc gen world
19 Days Ago
Merge: from main
20 Days Ago
Update: AnalyticsUploader - combine AzureBulkJsonUploader and AzureBulkCSVUploader into BulkAccumulator - this also allows to combine the 2 uploaders into 1 This enabled aligning EventRecord serialization with current system. I think this is the last change to the code, next up will updating user code and testing in "real world". Tests: ran unit tests
20 Days Ago
Update: AnalyticsTable - bring back useJsonDataObject support Tests: ran unit tests
20 Days Ago
Tests: add all Analytics Uploader tests - Covers ClientFPUploader, ServerFPUploader, AzureBulkJsonUploader, AzureBulkCSVUploader with multithread data generation - Specialized editor logging for each uploader, as it doesn't make sense to emit compressed goup ClientFPUploader will need internet connection as it relies on steam Tests: ran unit tests
20 Days Ago
Update: AnalyticsUploader - refactor how we accumulate data - AnalyticsTable no longer serializes EventRecords, that's moved to IAccumulators - Implement serializers on top of IAccumulators (Csv, Json, CompressedCsv, CompressedJson) - Uploaders automatically create IAccumulators per AnalyticsTable Still missing an accumulator that would replicate how client analytics are serialized, but now it should be easy to do. Unit tests got simplified, need to expand coverage Tests: ran unit tests
20 Days Ago
Update: implement AzureBulkUploaderImpl - uses UploadBlobAsync instead of OpenWriteAsync Not tested. Realized that current abstractions will not play well together, so gotta move a bit of stuff around. Tests: none, will do later once I start converting user-code
21 Days Ago
Update: AnalyticsUploader - implement FPUploaderImpl - add editor-only DryRun switch to log everything instead of actually sending it - IUploader.Upload is now async Tests: none, not hooked up to anything yet, that'll be next experiment
21 Days Ago
Update: AnalyticsTable - return EventRecord back to pool - amended test to check for pool usage Tests: ran unit tests
21 Days Ago
Update: AnalyticsUploader now flushes it's queue on shutdown. - Updated tests to validate everything got flushed - Fixed missed gzipstream end block serialization tracking - Fixed ever-growing memory stream Next up need to add EventRecord pooling, then gotta implement remaining uploaders, and in theory it's done Tests: ran unit tests
21 Days Ago
Update: add per-AnalyticsTable telemetry - using this telemetry to improve unit tests Next up need to add support for flush-on-shutdown Tests: ran unit tests
22 Days Ago
Update: Initial rewrite of the analytics core - Only implements NullUploader, I'll implement actual uploaders after tests are good - Added basic tests for it, but they don't validate anything - that'll be next. - Renamed existing AnalyticsTests.cs to Test.EventRecord.cs (+ internal rename) - those tests validate EventRecord serialization Goal is to use one implementation to cover needs of both Client and Server. Got the basics done, need to add telemetry to be able to test better, support EventRecord pooling and implement the existing uploaders. Tests: ran new unit tests
22 Days Ago
Merge: from baseplayer_vis_nre - Potential(low chance) bugfix for NRE on spectate end - Breadcrumbs in case it's not fixed Tests: editor and standalone build spectating loop
22 Days Ago
Clean: remove hacky testing code changes Tests: editor compiles
22 Days Ago
Bugfix: potentially fix BasePlayer Vis NRE - Added extra logs to catch other sources - Refactored code to extract invariant checks Not confident it'll actually solve it, if it does - can remove extra logs Tests: using spec_loop command to force client to quickly spectate-then-stop in a loop. Tried both in editor and standalone builds - no issues(though I couldn't repro it originally this way anyway)
22 Days Ago
Merge: from main
25 Days Ago
Merge: from main
25 Days Ago
Update: don't build UI bundle for server bundles Tests: none, trivial change
25 Days Ago
Clean: get rid of StoreTakeover internal warmup count It never goes past 1 since we fixed open order of store Tests: stuck an assert and validated poked at different menus
25 Days Ago
Bugfix: ensure StoreItemGrid caches local source bundles Fixes wrong imges displayed in the shop for specific items Tests: navigated to store and clicked a bunch of pages. Compared before and after images
25 Days Ago
Update: reimplement UI_StoreItemGrid population - Warmup completelly skips initialization of tiles - Expanded the interface to permit existing custom usage (filtering via search, editor test tools) Tests: Clicked through a bunch of tabs and tiles, used search
25 Days Ago
Update: remove extra CacheBundleIcons calls from store tabs Previously were needed because tab could open before the store - since it was fixed, it's unnecessary Tests: navigated to store tabs - no errors
25 Days Ago
Clean: StoreItemGrid.Warmup -> OnOpened Review feedback pt 2 Tests: none, trivial change
25 Days Ago
Clean: rename WarmupIcons to CacheBundleIcons Review feedback pt1 Tests: none, trivial change
25 Days Ago
Backup 2
26 Days Ago
Update: reimplementation of UI dynamic bundle Only bundles 2 prefabs - Store and Inventory. This removed the need for editor-users to worry about what should be in which bundle. Doesn't work yet - inventory is borked, scrolling in store as well, and not unloading as much as I expected. Going to try to tweak it to see if it's usable. Tests: built standalone and took snapshots
26 Days Ago
Update: testing code to try to trigger NREs. so far unsuccessful Need to switch away from the task for a bit, will get back to it later today Tests: 2p session, used spectate_loop to see what happens on 2nd player end - no NREs
27 Days Ago
Update: AssetDatabaseBackend - throw an error if trying to load an asset that's not part of a dynamic bundle Tests: clicked through store in editor
27 Days Ago
Update: feed dynamic bundle hashset externally to AssetBundleBackend This allows us to reuse the const instead of hardcoding a raw string Tests: compiles in editor
27 Days Ago
Clean: pre-review cleanup - got rid of unit test as it doesn't prove anything and relied on API that's not promoted (or needed atm) - formatting fixes, dead code removal - got rid of fallback inspector code Tests: editor compiles in all configs
27 Days Ago
Merge: from main
27 Days Ago
Merge: from storetakeover_icons - Storetakeovers and related resources now can be dynamically loaded/unloaded Tests: navigated through the store and inventory while taking memory snapshots
27 Days Ago
Merge: from merge_with_atlas - General improvements to editor workflow - Fixing outstanding bugs and TODOs - Updated all assets again to catch up with atlas work Tests: navigated through the store and inventory while taking memory snapshots
27 Days Ago
Clean: replace a path with a named constant Tests: editor compiles
27 Days Ago
Clean: remove dead UI_Store::overlayPages variable Tests: editor compiles
27 Days Ago
Update: don't open first tab during UI_Store warmup Helps avoid early bundle loads Tests: interacted with the store in editor
27 Days Ago
Bugfix: fix NRE when clicking packs on DLC screen - DLC screen now uses path proxies for prefabs - also fixed database backend not tracking release refcount properly (funny I made this mistake twice >.>) The overlay prefabs are assigned to ui/store.bundle, which when unloaded breaks the stored reference. Tests: in editor navigated to dlc page and tried clicking on all tiles - all opened as pages
27 Days Ago
Update: activate path proxies for UI - fix a bug with UI_SteamInventory using released textures This CL breaks prefab and texture dependencies. Going to validate standalone next Tests: using bundle backend, interacted with store in editor
27 Days Ago
Update: resave assets for ui/store.prefab - Still contains both path proxies and original objects, in case I'll need to chase up some sort of desync in upcoming test Tests: activated proxy path code and tested in editor(by inspecting prefabs and ensuring they assets) and non-bundle playmode(by going through a bunch of tabs in store)
27 Days Ago
Bugfix: avoid closing already-closed page This fixes an issue where we tried to unsub from dynamic bundle without loading it first Tests: started in editor and navigated to shop
27 Days Ago
Buildfix: get rid of dead code call Tests: editor compiles
27 Days Ago
Bugfix: path migration fixes - get rid of UI_StoreItemOverlayPage paths, since they're not used atm and might not be needed - make sure Takeover's page prefab gets assigned the right bundle
27 Days Ago
Update: overwriting all modified assets with copy from main Tests: none, will upgrade them next
27 Days Ago
Merge: from main Will need to copy all prefabs from main in next CL to ensure nothing's tarnished