* Add user confirmation to initial sync
* Use "Accept" instead of "Confirm"
* Draw tree alphabetically for determinism
* Add diff table dropdown
* Add diff table to newly added objects
* Unblock keybind workflow
* Only show reject button when two way is enabled
* Try to patch back to the files when changes are rejected
* Improve text spacing of the prop diff table
* Skip user confirmation of perfect syncs
* Give instances names for debugging UI
* Optimize tree building
* Efficiency: dynamic virtual scrolling & lazy rendering
* Simplify virtual scroller logic and avoid wasteful rerenders
* Remove debug print
* Consistent naming
* Move new patch applied callback into accept
* Pcall archivable
* Keybinds open popup diff window
* Theme rows in diff
* Remove relic of prototype
* Color value visuals and better component name
* changeBatcher is not needed when no sync is active
* Simplify popup roact entrypoint
* Alphabetical prop lists and refactor
* Add a stroke to color blot for contrast
* Make color blots animate transparency with the rest of the page
* StyLua formatting on newly added files
* Remove wasteful table
* Fix diffing custom properties
* Display tables more meaningfully
* Allow children in the button components
* Create a rough tooltip component
* Add tooltips to buttons
* Use provider+trigger schema to avoid tooltip ZIndex issues
* Add triangle point to tooltip
* Tooltip underneath instead of covering
* Cancel hovers when unmounting
* Allow multiple canvases from one provider
* Display above or below depending on available space
* Move patch equality to PatchSet.isEqual
* Use Container
* Remove old submodules
* Reduce false positives in diff
* Add debug log
* Fuzzy equals CFrame in diffs to avoid floating point in
* Fix decodeValue usage
* Support the .changedName patches
* Fix content overlapping border
* Fix tooltip tail alignment
* Fix tooltip text fit
* Whoops, fix it properly
* Move PatchVisualizer to Components
* Provide Connected info with full patch data
* Avoid implicit nil return
* Add patch visualizer to connected page
* Make Current column invisible when visualizing applied patches
* Avoid floating point diffs in a numbers and vectors
* Add the devsetting config options into settings
* Create dropdown component and add setting controls
* Static dropdwon width and spin arrow
* Improve dropdown option contrast and border
* Forgot to make the settings page respect the static spacing, oops
* Smaller arrow
* Vert padding
* Reset option for settings
* Hide reset button when on default
* Respect the logLevel setting
* Portal settings out to external typechecking module
* Implement new configs using the new singleton Settings
* Remove DevSettings
* Update test runner to use new settings
* More helpful test failure output
* Support non-plugin environment
* Migrate dropdown to new packages system
* Clean up components a tad
* Support implicit values for primitive attributes
This commit adds support for strings, numbers, and booleans to be implicitly typed in attribute maps, reducing the redundancy of needing to specify their types.
I also quietly adjusted one of the tests to use a more stable class/property pair. Since SourceAssetId is locked to Roblox, it could potentially disappear at any time.
* Apply formatting.
* Address feedback
* Backwards compatible format usage.
* Axe UnresolvedValueMap in favor of $attributes
Attributes can be defined directly on instances, with support for unambiguous types.
* Adjust test.
* to_string() -> into()
* Made attribute test more concise.
* small cleanup
* Update src/resolution.rs
* Update src/resolution.rs
* Update src/resolution.rs
* Update src/resolution.rs
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>
* Rough prototype of patch info display
* Remove extra newline
* Switch to binding
* Update slower for older timestamps
* Batch patches within a second of each other
* Fix indentation
* Less wasteful refresh hz
* More apt variable name
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>
* Switch git submodules to Wally packages
* Update build snapshot
* Add wally to foreman and use latest versions
* Install packages in CI runners
* Fix indents
* Install packages in the correct directory
* Install packages in correct dir of release action too
* Remove submodules from ci checkout
* Remove submodules from release checkout
* Update selene with latest fix
* Fix whitespace
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>
* Use singleton settings outside the Roact tree
* Cleanup listener on unmount
* Refactor setting page components
* Fix willUnmount being added to the wrong table
* Remove bindings in favor of state
* Change Notification sound to generic sound
The notification sound causes the game to summon an error due to no experience permissions with no way to grant permission. This is due to the new audio policy update.
* Update Notification sound
* Disambiguate camelCase and PascalCase.
*.meta.json forces camelCase while *.model.json forces PascalCase. This commit reinforces camelCase as the preference for both, but allows for PascalCase in both as well.
* Made requested changes, breaking due to serde bug.
* Make work with existing Serde stuff
* Work around MSRV
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>
* Add notifications prototype
* Add timeout
* Improve function name
* Faster timeouts and fully clickable
* Update remove padding from old X button
* Only auto-dismiss when viewport is open
* Start auto dismiss once viewed
* Avoid redundantly displaying widget text as notifs
* Add sound effect
* Add setting for notifications
* Remove duplicate PluginSettings.StudioProvider
* Use short pop sound effect
* Fix broken audio, thanks Roblox
* Use e instead of createElement
* Added address reference to CLI output
* Stored loopback check address as a variable
* Changed other loopback references to the new variable
* Fixed mistake on address_string variable
* Merge write calls
Co-authored-by: Lucien Greathouse <me@lpghatguy.com>