Skip to content
This repository was archived by the owner on Nov 20, 2025. It is now read-only.

Partially implement core/version-check endpoint.#252

Draft
costdev wants to merge 8 commits intoaspirepress:mainfrom
costdev:handle_core_updates_internally
Draft

Partially implement core/version-check endpoint.#252
costdev wants to merge 8 commits intoaspirepress:mainfrom
costdev:handle_core_updates_internally

Conversation

@costdev
Copy link
Copy Markdown
Collaborator

@costdev costdev commented May 23, 2025

Pull Request

What changed?

This introduces a partial controller implementation for core/version-check.

Notes:

  • partial and rollback values aren't covered (yet, maybe?).
  • I've opted for doing it all in a single controller file without DB integration because it's a first iteration and I'm honestly not sure of all of the implementation points within AspireCloud's architecture.
  • The URLs are built using config('app.aspirecloud.download.base'). I think that's correct.
  • My thinking is that, with the proper additional code, if a package isn't available at AspireCloud, it can be downloaded to AspireCloud for future requests.
  • This PR may also serve as a reference point for an alternative PR.

Did you fix any specific issues?

Related: #52

CERTIFICATION

By opening this pull request, I do agree to abide by the Code of Conduct and be bound by the terms of the Contribution Guidelines in effect on the date and time of my contribution as proven by the revision information in GitHub.

@costdev costdev requested a review from chuckadams May 23, 2025 01:47
$translation->slug = 'default';
$translation->language = $this->locale;
$translation->version = $this->currentVersion;
$translation->updated = '2023-10-01T00:00:00Z'; // Store in DB from the translations file. Pull from DB for here.
Copy link
Copy Markdown
Collaborator Author

@costdev costdev Jun 14, 2025

Choose a reason for hiding this comment

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

This data should be compared with the request body's subkey containing the currently installed translation's data including its updated time string. If the updated value is the same as the API's latest translation for that type/slug/version/locale, then no translation is needed. Otherwise, the API should provide the translation offer. If the value isn't set, or there's no body, or otherwise isn't available, the API should provide the translation offer.

@chuckadams chuckadams marked this pull request as draft October 25, 2025 17:08
@chuckadams chuckadams added the backlog Not scheduled on any project or milestone label Oct 25, 2025
@chuckadams
Copy link
Copy Markdown
Contributor

This will require some extensive modification to fit AC's architecture, and we would definitely want to support rollback, since I don't think mixing backends between AC and .org during a single extended "transaction" would be ideal. I'd like to see some captures of a rollback happening with .org and replay them on AC to ensure we can replicate the resulting state.

Copy link
Copy Markdown
Contributor

@chuckadams chuckadams left a comment

Choose a reason for hiding this comment

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

I'm calling this a work in progress and marking the PR as draft. It has valuable information on things like the query format, so I don't want to see it all drift away if this PR were closed, but it's being put on one of our many back burners.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

backlog Not scheduled on any project or milestone

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants