Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the example to use go-app v9 in place of v6 #4

Merged
merged 1 commit into from
Aug 9, 2023

Conversation

filmil
Copy link
Contributor

@filmil filmil commented Aug 1, 2023

*issues are now fixed, thanks to the kind folks at maxence-charriere/go-app#853

v9 is very different from v6, apparently.

The following changes were necessary:

  • Update the dependency to go-app v9.
  • Update the go compiler to 1.20.5, since go-app v9 needs go 1.18+
  • This in turn required new rules_go.
  • This in turn required updating gazeller, and protobufs.
  • Ran bazel run //:buildifier to fix the build files.
  • Unified the server and client side binaries for the sample app. v9
    seems to not like when the two are separated.
  • Moved all static web resources to /web/.... This is a requirement in
    v9, you can not serve these resources from a different subdirectory.
  • Removed one last(?) appearance of protoc string in api.proto,
    which caused gazelle and go mod tidy to get confused.
  • Ran ./third_party/update_go_mods. Most deps got updated to newer
    versions.
  • Ran bazel run //:gazelle
  • Migrated some of the v6 API that no longer exists to v9.
  • Added an icon. Apparently without it, the app will not start (?!)
  • Renamed SearchBar, InstanceTable and Manager component variables to
    exported, because it now makes a difference for computing the UI
    updates.
  • Fix for a somewhat unusual v9 behavior where a component initialized
    outside of OnMount or app.RouteFunc actually does not get used
    in building widgets. Leads to bizarre nil pointer accesses. I added
    comments that explain where the caveats are.

v9 is very different from v6, apparently.

The following changes were necessary:

* Update the dependency to go-app v9.
* Update the go compiler to 1.20.5, since go-app v9 needs go 1.18+
* This in turn required new `rules_go`.
* This in turn required updating `gazeller`, and protobufs.
* Ran `bazel run //:buildifier` to fix the build files.
* Unified the server and client side binaries for the sample app. v9
  seems to not like when the two are separated.
* Moved all static web resources to `/web/...`. This is a requirement in
  v9, you can not serve these resources from a different subdirectory.
* Removed one last(?) appearance of `protoc` string in `api.proto`,
  which caused `gazelle` and `go mod tidy` to get confused.
* Ran `./third_party/update_go_mods`. Most deps got updated to newer
  versions.
* Ran `bazel run //:gazelle`
* Migrated some of the v6 API that no longer exists to v9.
* Added an icon. Apparently without it, the app will not start (?!)
* Renamed SearchBar, InstanceTable and Manager component variables to
  exported, because it now makes a difference for computing the UI
  updates.
* Fix for a somewhat unusual v9 behavior where a component initialized
  outside of `OnMount` or `app.RouteFunc` actually does *not* get used
  in building widgets. Leads to bizarre nil pointer accesses. I added
  comments that explain where the caveats are.
@filmil
Copy link
Contributor Author

filmil commented Aug 2, 2023

@grahamjenson the v6->v9 migration issues are fixed, you can now merge if you want.

@filmil
Copy link
Contributor Author

filmil commented Aug 9, 2023

Any interest in merging this? @grahamjenson

@grahamjenson grahamjenson merged commit 6c3ff61 into grahamjenson:master Aug 9, 2023
@grahamjenson
Copy link
Owner

Didn't review very closely. Merged with trust :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants