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

set imageurl prefix to use new nextcloud-commons capabilities #1489

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ protected void onNoteLoaded(Note note) {
super.onNoteLoaded(note);
noteLoaded = true;
registerInternalNoteLinkHandler();
binding.singleNoteContent.setMarkdownImageUrlPrefix(repo.getAccountById(note.getAccountId()).getUrl()+"/index.php/apps/notes/notes/"+note.getRemoteId()+"/attachment?path=");
Copy link
Member

Choose a reason for hiding this comment

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

This uses the internal API of the notes app. This is not intended (and will not always work). Please wait for nextcloud/notes#826 to be implemented and then use the official API!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

okay, now i have to say i am still confused about what you mean with internal API.

The only difference between above endpoint and the notes_api-routes are that the latter do have a requirement-version, but besides that i cant see a difference. Is it only semantic and therefore "locked" down? Because most other apps that i have contributed to didn't really check for that (Which isn't really the best style, but yeah.)

Copy link
Member

Choose a reason for hiding this comment

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

The internal API is used by the web app, only. It has no public contract, so it can be changed at any time without information to third-party developers. It is fitted to the demands of the web app and not to the demands of third-party apps like mobile apps (e.g. which have an offline mode).

In contrast to this, the public API has a public documentation as well as continuous integration tests, it changes very seldom, changes must be backwards-compatible (create an incompatible new major API version should be used with caution) and it is fitted to the needs of mobile apps.

changedText = note.getContent();
binding.singleNoteContent.setMarkdownString(note.getContent(), setScrollY);
binding.singleNoteContent.getMarkdownString().observe(requireActivity(), (newContent) -> {
Expand Down
Loading