Skip to content

Conversation

@maniksurtani
Copy link
Contributor

@maniksurtani maniksurtani commented Oct 22, 2025

Summary

This change removes a dependency on the gsap library, used by ui/desktop. The library is used to animate text on the greeting screen on startup.

The library is problematic - it is not open source. Instead, it uses this rather badly-written bespoke license:
https://gsap.com/community/standard-license/ This is not an open source license because it has prohibitions on certain competing uses and also it's not clear it even allows commercial distribution.

gsap's highly limited use in this codebase can easily be achieved using the native JS Web Animations API. The Web Animations API is optimised at the browser level so this should perform better too, though that isn't the primary goal of this change.

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

Testing

Manual testing

Screenshots/Demos (for UX changes)

No change in UI from before and after the change.

Copy link
Collaborator

@DOsinga DOsinga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I never liked this library, now that I know they have a doubtful license even better

Copy link
Collaborator

@zanesq zanesq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks much needed! Tested locally and animation looks good.

Can we add respecting the users reduced-motion preferences? We didn't do this before but since its front and center animation I think we should (we do this already with the sidebar animations).

if (window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches) { set final state and return; }

@michaelneale
Copy link
Collaborator

nice one, yeah good catch.

@maniksurtani
Copy link
Contributor Author

Can we add respecting the users reduced-motion preferences?

@zanesq let's do that in a separate PR since it changes the behaviour. This PR won't change any behaviour but is just a refactor.

@maniksurtani maniksurtani requested a review from zanesq October 23, 2025 02:03
@maniksurtani maniksurtani merged commit 8d9c19f into main Oct 23, 2025
14 checks passed
@maniksurtani maniksurtani deleted the manik/remove-gsap branch October 23, 2025 02:15
wpfleger96 added a commit that referenced this pull request Oct 23, 2025
* main:
  Add tech-article-explainer recipe (#5333)
  doc: added beta banner for old blog post (#5332)
  feat: add code refactor recipe (#5320)
  Security audit recipe (#5319)
  feat: add generate commit message recipe (#5326)
  fix: remove dependency on gsap library (#5330)
  feat: dynamically load ollama models (#5309)
  fix: skip temperature for goose-gpt-5 model (#5311)
katzdave added a commit that referenced this pull request Oct 23, 2025
…message

# By Better-Boy (3) and others
# Via GitHub
* 'main' of github.com:block/goose:
  Create recipe dir on save (#5337)
  docs: Update Discord link (#5335)
  [recipe workflow]: Fix `Invalid revision range` error  (#5334)
  Add tech-article-explainer recipe (#5333)
  doc: added beta banner for old blog post (#5332)
  feat: add code refactor recipe (#5320)
  Security audit recipe (#5319)
  feat: add generate commit message recipe (#5326)
  fix: remove dependency on gsap library (#5330)
  feat: dynamically load ollama models (#5309)
  fix: skip temperature for goose-gpt-5 model (#5311)
  Replace compaction notifications with system notifications (#5218)

# Conflicts:
#	crates/goose/src/agents/agent.rs
michaelneale added a commit that referenced this pull request Oct 24, 2025
* main: (77 commits)
  Fix legacy import (#5343)
  Unify loading goose messages and usechatstream determines chat state (#5306)
  Docs: goose session export and goose session import (#5267)
  Create recipe dir on save (#5337)
  docs: Update Discord link (#5335)
  [recipe workflow]: Fix `Invalid revision range` error  (#5334)
  Add tech-article-explainer recipe (#5333)
  doc: added beta banner for old blog post (#5332)
  feat: add code refactor recipe (#5320)
  Security audit recipe (#5319)
  feat: add generate commit message recipe (#5326)
  fix: remove dependency on gsap library (#5330)
  feat: dynamically load ollama models (#5309)
  fix: skip temperature for goose-gpt-5 model (#5311)
  Replace compaction notifications with system notifications (#5218)
  Diagnostics (#5323)
  Fix gemini again (#5308)
  fix: synchronize local message state after conversation compaction (#5315)
  docs: replace broken links with working links (#5266)
  Add Web Accessibility Auditor recipe to cookbook (#5318)
  ...
BlairAllan pushed a commit to BlairAllan/goose that referenced this pull request Oct 25, 2025
gsap's highly limited use in this codebase can easily be achieved using the native JS Web Animations API.

Signed-off-by: Blair Allan <[email protected]>
@maniksurtani maniksurtani mentioned this pull request Oct 28, 2025
katzdave pushed a commit that referenced this pull request Oct 28, 2025
gsap's highly limited use in this codebase can easily be achieved using the native JS Web Animations API.
BlairAllan pushed a commit to BlairAllan/goose that referenced this pull request Nov 29, 2025
gsap's highly limited use in this codebase can easily be achieved using the native JS Web Animations API.

Signed-off-by: Blair Allan <[email protected]>
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.

5 participants