Commit Graph

222 Commits

Author SHA1 Message Date
Lucien Greathouse
83a0ae673c 0.5.0-alpha.9 2019-04-04 21:20:00 -07:00
Lucien Greathouse
5d681a72ac Rewrite CSV conversion to dodge Serde (#152)
* Rewrite CSV conversion to dodge Serde

* Update CHANGELOG
2019-04-04 18:21:55 -07:00
Lucien Greathouse
d725970e6e Fix handling of CSV files with empty columns and rows (#149)
* Fix #147

* Add localization test project, fix empty rows in general

* Fill out 'normal' CSV in localization test project

* Update Changelog
2019-04-04 13:16:10 -07:00
Lucien Greathouse
54b82760cd Switch 'rojo build' to use BufWriter, magic performance increase 2019-04-01 18:02:46 -07:00
Lucien Greathouse
77f79fa913 0.5.0-alpha.8 2019-03-29 17:36:43 -07:00
Lucien Greathouse
913ac7c9f5 Update dependencies 2019-03-28 15:44:56 -07:00
Lucien Greathouse
41025225b2 Rewrite message queue with oneshot futures (#139) 2019-03-27 13:27:50 -07:00
Lucien Greathouse
be094d5b7c Make snapshot application communicative (#135)
* Add children sorting to snapshot_reconciler

* Update snapshot tests to include stable children order

* Bump dependencies, which should make this PR work
2019-03-20 10:39:53 -07:00
Lucien Greathouse
459673bd59 0.5.0-alpha.6 2019-03-19 18:24:30 -07:00
Lucien Greathouse
ec0a1f1ce4 New snapshot tests (#134)
* Changes project-related structures to use `BTreeMap` instead of `HashMap` for children to aid determiniusm
* Changes imfs-related structures to have total ordering and use `BTreeSet` instead of `HashSet`
* Upgrades dependencies to `bx_dom_weak`1.2.0 and rbx_xml 0.5.0 to aid in more determinism stuff
* Re-exposes the `RbxSession`'s root project via `root_project()`
* Implements `Default` for a couple things
* Tweaks visualization code to support visualizing trees not attached to an `RbxSession`
* Adds an ID-invariant comparison method for `rbx_tree` relying on previous determinism changes
* Adds a (disabled) test to start finding issues in the reconciler with regards to communicativity of snapshot application
* Adds a snapshot testing system that operates on `RbxTree` and associated metadata, which are committed in this change
2019-03-14 14:20:03 -07:00
Lucien Greathouse
ad93631ef8 Port to futures channel instead of std one.
Fixes #133.
2019-03-12 11:45:39 -07:00
Lucien Greathouse
5b9facee00 Fix up variable naming in serialize_unresolved_minimal 2019-03-11 16:35:54 -07:00
Lucien Greathouse
376f2a554a Better default project, including minimal property types 2019-03-11 16:28:40 -07:00
Lucien Greathouse
5fd0bd3db9 Update/prune dependencies with help of cargo-outdated 2019-03-11 14:12:49 -07:00
Lucien Greathouse
b65a8ce680 0.5.0-alpha.5 2019-03-01 15:40:30 -08:00
Lucien Greathouse
5fc4f63238 Upgrade dependencies 2019-03-01 15:34:16 -08:00
Lucien Greathouse
eb97e925e6 Flip LiveSession::session_id private, add getter 2019-02-27 14:54:05 -08:00
Lucien Greathouse
16f8975b18 Flip project field of LiveSession private to prepare for multi-project future 2019-02-27 14:51:53 -08:00
Lucien Greathouse
5073fce2f7 Implement LiveSession::restart_with_new_project as foundation for reloading 2019-02-27 14:42:41 -08:00
Lucien Greathouse
cf5036eec6 Fix warnings compiling server 2019-02-27 00:49:38 -08:00
Lucien Greathouse
20be37dd8b Improve error messages from bad snapshots 2019-02-27 00:47:02 -08:00
Lucien Greathouse
93349ae2dc Use rbx_reflection to allow type inference on projects (#130)
* Start dependency on rbx_reflection

* Alive and working, all tests pass

* Update CHANGELOG
2019-02-26 22:51:21 -08:00
Lucien Greathouse
88e739090d WIP: Server plugins via rlua (Lua 5.3) (#125)
* Add 'plugins' field to project and add rlua

* Scaffold out new SnapshotContext type (again) with plugin state

* Almost functional snapshot system with rlua proof-of-concept

* Gate plugin config on 'plugins-enabled' feature, tell Travis to test all features

* Guard remaining plugin setup code behind feature

* Bump minimum version to 1.33, should've caught this before

* Whoops, latest Rust is 1.32, not 1.33
2019-02-24 00:31:58 -08:00
Lucien Greathouse
4f31c9e72f Fix /api/read and /api/subscribe, re-add debug output 2019-02-22 15:56:24 -08:00
Lucien Greathouse
c9a663ed39 Remove Rouille and port everything to Hyper 2019-02-22 15:11:27 -08:00
Lucien Greathouse
105d8aeb6b Start to stub out sub-services 2019-02-22 13:08:07 -08:00
Lucien Greathouse
6ea1211bc5 It's alive! 2019-02-22 10:50:14 -08:00
Lucien Greathouse
c13291a598 Break apart web interface between UI and API 2019-02-19 11:44:24 -08:00
Lucien Greathouse
aaa78c618c Move diagnostics page to use Ritz, show server version 2019-02-19 11:27:22 -08:00
Lucien Greathouse
2890c677d4 Bump dependency from rbx_tree 0.2.0 to rbx_dom_weak 0.3.0 2019-02-14 17:22:44 -08:00
Lucien Greathouse
b9ee14a0f9 Remove unused Cargo features section 2019-02-11 10:27:09 -08:00
Lucien Greathouse
4a597e0ba7 0.5.0-alpha.4 2019-02-08 18:20:48 -08:00
Lucien Greathouse
4d3036d030 Add more design documentation into the codebase for high-level concepts 2019-02-07 15:26:01 -08:00
Lucien Greathouse
ecb9b5e28f Support nested partitions and partitions directly targeting services (#122)
* Do the nested partition thing

* Tidy up touched code

* Add nested partition test project, not fully functional

* Clean up variable names, move path_metadata mutation strictly into snapshot_reconciler

* Remove path_metadata, snapshotting is now pure

* Factor out snapshot metadata storage to fix a missing case

* Pull instance_name out of per_path_metadata, closer to what we need

* Refactor to make metadata make more sense, part one

* All appears to be well

* Cull 'metadata_per_path' in favor of 'instances_per_path'

* Remove SnapshotContext

* InstanceMetadata -> PublicInstanceMetadata in web module

* Build in snapshot testing system for testing... snapshots?

* Remove pretty_assertions to see if it fixes a snapshot comparison bug

* Reintroduce pretty assertions, it's not the cause of inequality

* Fix snapshot tests with custom relative path serializer
2019-02-07 14:55:01 -08:00
Lucien Greathouse
69d1accf3f 0.5.0-alpha.3 2019-02-01 17:19:00 -08:00
Lucien Greathouse
785bdb8ecb Implement new project file name, default.project.json (#120)
* Implement new project file name, default.project.json

* Rename all test projects to default.project.json

* Update CHANGELOG

* Fix warning message typo
2019-02-01 17:06:03 -08:00
Paul Doyle
0ff59ecb4e Fix issue w/ existing files not being updated in imfs (#119)
* Fix issue w/ existing files not being updated in imfs

* Add a test for updating files
2019-01-31 20:24:42 -08:00
Lucien Greathouse
b58fed16b4 Fix uses using failure::Error 2019-01-30 10:29:38 -08:00
Lucien Greathouse
6719be02c3 Fall back to showing GraphViz source when GraphViz is not installed 2019-01-29 18:10:14 -08:00
Lucien Greathouse
8757834e07 Improve error reporting for IO issues 2019-01-29 17:29:47 -08:00
Lucien Greathouse
aa243d1b8a Add sweet new live sync homepage 2019-01-28 18:30:42 -08:00
Lucien Greathouse
aeb18eb124 Refactor web code to make routing more clear 2019-01-28 18:23:57 -08:00
Lucien Greathouse
6c3e118ee3 Sort inputs in LiveSession 2019-01-28 17:50:47 -08:00
Lucien Greathouse
3c0fe4d684 Reduce number of threads needed for FsWatcher 2019-01-28 17:11:01 -08:00
Lucien Greathouse
821122a33d 0.5.0-alpha.2 2019-01-28 15:45:52 -08:00
Lucien Greathouse
e5d3204b6c Implement .model.json files
Closes #97.
2019-01-28 14:37:35 -08:00
Lucien Greathouse
4516df5aac Fix message in rbx_session 2019-01-28 13:58:24 -08:00
Lucien Greathouse
663df7bdc2 Remove redundant debug assertions in imfs 2019-01-28 11:23:19 -08:00
Lucien Greathouse
e81f0a4a95 Improve IMFS robustness with out-of-order events
Fixes #111.
2019-01-28 11:03:52 -08:00
Lucien Greathouse
38cd13dc0c 0.5.0-alpha.1 2019-01-25 18:01:37 -08:00