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

[stable31] feat(settings): add admin & user setting iframe #4525

Merged
merged 35 commits into from
Feb 26, 2025

Conversation

backportbot[bot]
Copy link

@backportbot backportbot bot commented Feb 26, 2025

Backport of #4373

Warning, This backport's changes differ from the original and might be incomplete ⚠️

Todo

  • Review and resolve any conflicts

Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.

Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
…directories

Signed-off-by: codewithvk <vivek.javiya@collabora.com>
…y of user and system settings.

Note: We will delete this commit/code after the entire prototype is ready. Reviewers can ignore this commit during the review process.
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
TODO: We should try to centralize the path everywhere so that a change in one place updates it everywhere!
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
… it to system-settings dir

Signed-off-by: codewithvk <vivek.javiya@collabora.com>
…equest

Signed-off-by: codewithvk <vivek.javiya@collabora.com>
- Implement dynamic routing for settings files, enabling URLs structured as /settings/{type}/{category}/{filename}.
- Support various setting types (e.g. userconfigs, sharedconfigs) and categories (e.g. autotext, wordbook) so that multiple files can be stored for each category.
- Ensure proper URL parsing and directory handling for uploading and retrieving files via the WOPI interface.

Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
…om iframe

Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
@backportbot backportbot bot requested a review from codewithvk February 26, 2025 06:46
@backportbot backportbot bot added enhancement New feature or request 3. to review Ready to be reviewed feedback-requested labels Feb 26, 2025
codewithvk and others added 5 commits February 26, 2025 08:32
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: Julius Knorr <jus@bitgrid.net>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
@elzody
Copy link
Contributor

elzody commented Feb 26, 2025

@codewithvk The CI will fail here and it is related, but for me figuring out the issue is non-trivial and to get main passing I have had to resort to commenting out a line -- but on 31 we shouldn't break any functionality more than it already might be, so for now once the CI is done running we will just have to merge and follow up with fixes there.

If it helps, commenting out this line fixes everything again:

$response['UserSettings'] = $this->generateSettings($userId, 'userconfig');

And on my CI testing on main I get an error like this from the CI logs, not sure if helpful:

{
  "reqId": "uRPn10ieU0BZg8aGaFVs",
  "level": 3,
  "time": "2025-02-25T19:21:17+00:00",
  "remoteAddr": "172.18.0.2",
  "user": false,
  "app": "richdocuments",
  "method": "POST",
  "url": "/index.php/apps/richdocuments/wopi/settings/upload?fileId=%2Fsettings%2Fuserconfig%2Fbrowsersetting%2Fbrowsersetting.json&access_token=jD9tkIfI3Yti1rAdvv91KXqXZuBhWuiy",
  "message": "Failed to validate WOPI access",
  "userAgent": "COOLWSD HTTP Agent 24.04.12.4",
  "version": "32.0.0.0",
  "exception": {
    "Exception": "OCP\\Files\\NotPermittedException",
    "Message": "",
    "Code": 0,
    "Trace": [
      {
        "file": "/home/runner/actions-runner/_work/richdocuments/richdocuments/lib/private/AppFramework/Middleware/MiddlewareDispatcher.php",
        "line": 73,
        "function": "beforeController",
        "class": "OCA\\Richdocuments\\Middleware\\WOPIMiddleware",
        "type": "->"
      },
      {
        "file": "/home/runner/actions-runner/_work/richdocuments/richdocuments/lib/private/AppFramework/Http/Dispatcher.php",
        "line": 106,
        "function": "beforeController",
        "class": "OC\\AppFramework\\Middleware\\MiddlewareDispatcher",
        "type": "->"
      },
      {
        "file": "/home/runner/actions-runner/_work/richdocuments/richdocuments/lib/private/AppFramework/App.php",
        "line": 161,
        "function": "dispatch",
        "class": "OC\\AppFramework\\Http\\Dispatcher",
        "type": "->"
      },
      {
        "file": "/home/runner/actions-runner/_work/richdocuments/richdocuments/lib/private/Route/Router.php",
        "line": 307,
        "function": "main",
        "class": "OC\\AppFramework\\App",
        "type": "::"
      },
      {
        "file": "/home/runner/actions-runner/_work/richdocuments/richdocuments/lib/base.php",
        "line": 1034,
        "function": "match",
        "class": "OC\\Route\\Router",
        "type": "->"
      },
      {
        "file": "/home/runner/actions-runner/_work/richdocuments/richdocuments/index.php",
        "line": 24,
        "function": "handleRequest",
        "class": "OC",
        "type": "::"
      }
    ],
    "File": "/home/runner/actions-runner/_work/richdocuments/richdocuments/apps/richdocuments/lib/Middleware/WOPIMiddleware.php",
    "Line": 64,
    "message": "Failed to validate WOPI access",
    "exception": {},
    "CustomMessage": "Failed to validate WOPI access"
  }
}

Have not been able to figure out if something is wrong in richdocuments or upstream Collabora, was hoping you can help?

@elzody elzody merged commit 1a7264d into stable31 Feb 26, 2025
65 of 72 checks passed
@elzody elzody deleted the backport/4373/stable31 branch February 26, 2025 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. to review Ready to be reviewed enhancement New feature or request feedback-requested
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants