Commit Graph

103 Commits

Author SHA1 Message Date
Dalai Felinto
a4aa5faa20 UI: Extensions: stash Dismiss/Allow Online Access buttons inside the panel
This includes a small cleanup:
* Remove dead code.
* Rename context to _context since it is not being used.
2024-06-04 09:49:36 +02:00
Campbell Barton
595ac21d85 Cleanup: remove now unused logic for refreshing the splash screen 2024-06-04 10:49:11 +10:00
Campbell Barton
a26031ed9b Fix #122652: Clicking offline status icon enabled online access
Oversight in [0] made clicking on the status bar icon enable online
access instead of opening the preferences.

[0]: c9a99c7eeb
2024-06-03 23:49:07 +10:00
Campbell Barton
916268bed9 Fix #122645: Extensions tag popover empty until checking for updates 2024-06-03 21:02:33 +10:00
Campbell Barton
1839ec7d9c Extensions: support showing files included in the build sub-command
Add a verbose argument to list all files included in a package,
useful when checking paths are properly included.
2024-06-03 21:02:32 +10:00
Campbell Barton
4a117f3116 Extensions: add popover to filter by tags
Since the categories from add-ons are no longer shown all extensions
are shown together. Support filtering by tags as an alternative.
2024-06-02 23:25:49 +10:00
Campbell Barton
5e462135f3 Extensions: avoid redundant conversion the new manifest to bl_info
Converting the manifest TOML to the bl_info ran before checking
if the add-on was legacy.
2024-06-02 23:00:11 +10:00
Campbell Barton
f1bf9d366c Extensions: support canceling asynchronous operations
Pressing escape now passes `canceled` the finished action
(not currently used).
2024-06-02 21:49:44 +10:00
Julien Duroure
c8d77efe27 glTF exporter: fix typo in a previous commit
Checking if mesh has vertex color was wrong
2024-06-01 16:56:53 +02:00
Julien Duroure
04b08bcb40 glTF exporter: Fix glTF vendor extensions declaration 2024-06-01 16:51:26 +02:00
Dalai Felinto
c9a99c7eeb Extensions: revised welcome message + behavior
Make it possible allow online access directly from the welcome screen.

Ref !122511
2024-06-01 23:17:11 +10:00
Campbell Barton
42c4678707 Cleanup: quiet warnings from mypy & ruff 2024-06-01 22:54:52 +10:00
Julien Duroure
cab79018ee glTF exporter: Remove false positive warning 2024-06-01 10:05:43 +02:00
Jesse Yurkovich
7806d3229a Cleanup: make format 2024-05-31 18:59:34 +02:00
Jacques Lucke
5a43eb0cbc Add-ons: make node wrangler a core add-on
Making node wrangler a core add-ons means that it will ship with Blender, but it still has to be enabled explicitly. It won't be available on the extensions platform anymore.

We'll still continue to move parts of its functionality out of the add-on into default Blender. However, that takes a little bit longer, because we need to go over the design and code quality in more detail first. Once, the most important functionality (#121749) is merged, the remaining node wrangler features can be put on the extensions platform.

Ref !122557
2024-05-31 16:53:26 +02:00
Brecht Van Lommel
d568abea62 Extensions: Install From Disk operator handling both legacy and new
When a user has downloaded an add-on as a zip file, it's not clear in
advance if this is a legacy add-on or a new extension. So they would
have to use trial and error, or inspect the zip file contents.

This uses a simple heuristic to check if the file is a legacy add-on,
and if so automatically calls the legacy operator instead.

The operator now show both extension and legacy add-on properties,
with the latter in a default collapsed subpanel.

Pull Request: https://projects.blender.org/blender/blender/pulls/121926
2024-05-31 16:22:08 +02:00
Campbell Barton
a21f75d04d Extensions: improve checks for packages to upgrade
- All remote repositories are included in the check for outdated
  packages, the check-for-updates setting is only used to sync with
  the remote before checking for outdated packages.
- Defer checking for repositories to notify until after Blender
  has opened since checking for installed packages & outdated
  repositories could add some noticeable overhead.
2024-05-31 23:26:28 +10:00
Campbell Barton
8bd3be2160 Extensions: show extension updates in the status bar
Move extension update display from the splash screen to the status bar.
Based on !122413 with minor changes & removal of splash text.

Co-authored-by: Harley Acheson <harley.acheson@gmail.com>
2024-05-31 21:37:37 +10:00
Dalai Felinto
711b722ec1 Extensions: Fix missing operator
This was probably borked during one of the recent renames.
To reproduce the original issue:

* Go to Preferences > Extensions
* Check the console:

rna_uiItemO: unknown operator 'extensions.show_online_prefs'
4.2/scripts/addons_core/bl_pkg/bl_extension_ui.py:354
2024-05-31 13:06:29 +02:00
Campbell Barton
43a47f39f9 UI: always show text on the splash when running in offline mode
see #119521
2024-05-31 18:47:15 +10:00
Campbell Barton
eb59a7f574 Cleanup: correct incorrect internal naming of URL params/query
The "query" component of the URL was misnamed "params".
2024-05-31 11:17:58 +10:00
Campbell Barton
d3850b329c Fix dropping extension URL's failing to match local URL's
Dropping an extensions into Blender would was not finding the meta-data
because the recently added parameter caused the URL lookup to fail.
2024-05-31 11:00:20 +10:00
Campbell Barton
24abd35d14 Extensions: use "extensions" category for operator
Replace use of "bl_pkg" operator category with "extensions",
this naming was used while the functionality was experimental,
not intended to be used once extensions was moved out of experimental.
2024-05-31 10:32:01 +10:00
Julien Duroure
c05c08cbff glTF exporter: Allow float socket (ex. Alpha) to get data from Color socket
This is how it works in Blender, but before this commit, only R channel was used
Now, we convert RGB to BW to get float data
2024-05-30 18:59:24 +02:00
Campbell Barton
29f1c96657 Extensions: detect dropping URL's from disabled repositories
Report an error when dropping a URL into a repository which has been
disabled.
2024-05-30 23:22:12 +10:00
Campbell Barton
b19d4d7df6 Extensions: suppress connection errors in console for automatic checks
Being offline shouldn't be considered an error which checking for
updates on startup, so connectivity issues are suppressed unless
running in debug mode.

Ref !122463
2024-05-30 23:22:09 +10:00
Julien Duroure
6a4210ff90 glTF exporter: Perf: Manage drivers on SK when disable viewport option
When trying to optimize performance, we can disable other object in viewport when baking animation
We are now able to bake also drivers on SK with this option
The solution is to copy drivers to temporary created custom properties on armature,
to be able to evaluate them during baking
2024-05-30 15:17:34 +02:00
Julien Duroure
9ba22d4bc7 glTF exporter: Fix #122379: Fix GN data type check 2024-05-30 15:14:00 +02:00
Julien Duroure
018ece5309 glTF: Update user extension ui registration after Blender changes
After Panel UI refactoring for I/O, there is no more Panel class
2024-05-30 15:11:25 +02:00
Campbell Barton
a8a976e09b Extensions: separate URL drop message when offline mode is forced 2024-05-30 17:35:55 +10:00
Campbell Barton
8f97419561 Extensions: show a dialog when dropping a URL while offline
The dialog notifies the user that online access is required with a
button to go to the system preferences.

See #120665.
2024-05-30 16:07:59 +10:00
Campbell Barton
ed2b8e9c5c Fix file-load causing syncing extension repositories to hang 2024-05-30 10:42:11 +10:00
Campbell Barton
d2049f0aa7 Fix checking for extension updates while modifying repositories
It's possible the user frees or change the repository after a check
for updates starts because synchronizing repositories isn't blocking.

Resolve by using a copy of the repository when checking for updates,
only applying updates if the copy still matches the preferences once
the update is complete.
2024-05-30 10:28:17 +10:00
Campbell Barton
b05958ba02 Extensions: avoid syncing the repos when there the list is empty 2024-05-30 10:20:12 +10:00
Campbell Barton
515d8b9a0d Cleanup: minor tweaks to comments for extensions notifications 2024-05-29 21:33:24 +10:00
Campbell Barton
33622c7546 Fix extensions makefile on systems without a GNU userland 2024-05-29 21:28:40 +10:00
Campbell Barton
e991154ddb Extensions: sync remote extensions when displaying preferences
When online mode is enabled and the preferences are shown,
the users needed to manually check for updates.

Now this runs in the background, sharing logic with checking for
updates on startup.

When updates run status text is currently shown in the preferences
window, eventually this should be displayed in the status bar.

To avoid conflicts when updating a queue is used to avoid problems
caused by check for updates on startup & the preferences window also
checking for updates. Since checking for updates is optional it's
possible some repositories wont be handled by checking on startup
so both updates run for now. De-duplicating update checks can be
supported eventually.
2024-05-29 21:04:55 +10:00
Campbell Barton
051e10d39a Extensions: make "test_blender" less noisy 2024-05-29 15:31:44 +10:00
Campbell Barton
3f5f5eb2c0 Fix invalid URL's causing extension operations to fail to run
URL's without a known prefix now use error reporting that shows up in
the status bar.
2024-05-29 15:26:30 +10:00
Campbell Barton
f0ebc310c8 Extensions: update tests after changing UI text 2024-05-29 15:11:55 +10:00
Brecht Van Lommel
5de8ea74c4 Extensions: Only check for updates on startup every 24 hours
To reduce network bandwith and to only bother users once a day with
add-on updates. All repos are checked together so that there is only
one notification per day.

Also tweaked the wording so that it's more clear this will not actually
install the updates.

Ref !121888
2024-05-29 15:07:04 +10:00
Campbell Barton
7dc5b7c134 Fix error upgrading/installing extensions for the active repository
Removing the check for an empty repository list isn't correct when
only polling the active repository. Restore the check with a more
detailed error message.
2024-05-29 09:48:14 +10:00
Campbell Barton
6360edc867 Cleanup: quiet unused argument warning, line wrapping 2024-05-29 09:48:14 +10:00
Dalai Felinto
8d79a24075 UI: Only show offline mode if launched with --offline-mode
Blender is offline by default. There is no need to mention that unless the user
went out of their way to make it offline (with the --offline-mode argument).

This is still waiting for the offline icon #122225. Using the internet
icon meanwhile.

Co-authored by Pablo Vazquez.

---

Pull Request: https://projects.blender.org/blender/blender/pulls/122392
2024-05-28 23:29:24 +02:00
Hans Goudey
33a5b47735 Cleanup: Make format 2024-05-28 13:35:44 -04:00
Dalai Felinto
4b57951604 Extensions: New status message when checking for update
```
- Sync repo: {remote_url}
+ Checking repository "{remote_name}" for updates...

- Sync downloading remote data
+ Refreshing extensions list for "{remote_name}"...

- sync: invalid manifest ({error_msg}) reading {remote_url}!"
+ Repository error: invalid manifest ({error_msg}) for repository "{remote_name}"!

- Sync complete: {:s}".format(remote_url)
+ Extensions list for "{remote_name}" updated
```

---

Note, this is working as expected (from Blender anyways), however I can't test test_cli.py at the moment here.

---

Old messages:

<img src="https://projects.blender.org/attachments/9d4db8f5-ef9a-48c8-9e56-cb534aa9aed5" width=650>

New messages:

<img src="https://projects.blender.org/attachments/0245bcb7-6c4e-47e4-a616-0cf831761b47" width=450>

---

Co-authored by Pablo Vazquez

Pull Request: https://projects.blender.org/blender/blender/pulls/122378
2024-05-28 18:39:42 +02:00
Dalai Felinto
18cf4e9d09 Correct tooltip for bl_pkg.extensions_show_for_update 2024-05-28 18:12:00 +02:00
Dalai Felinto
7ac762241e Extensions: Fixup for Install/Update operator
The same tooltip is used for Update. Which didn't make much sense as it
was (since it was suggesting that it was enabling the extension).

Simplifying the message now.

Fixup for: 31f7016ba9

Co-authored by Pablo Vazquez.
2024-05-28 18:12:00 +02:00
Campbell Barton
be4788a9bd Extensions: pass platform to the remote URL
Add the platform to the URL when connecting to the remote server.

Based on !122234.

Co-authored-by: Dalai Felinto <dalai@blender.org>

----

This follows documented platform ID's from: https://docs.blender.org/manual/nb/dev/advanced/extensions/getting_started.html

Co-authored-by: Dalai Felinto <dalai@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/122371
2024-05-28 16:35:41 +02:00
Campbell Barton
b15bc1b5bb Extensions: add the blender version to the remote URL
Add query arguments to the URL when connecting to the remote server.

This information is stripped to create relative paths and for error
messages to prevent overly verbose URS's.

Based on !122234.

Co-authored-by: Dalai Felinto <dalai@blender.org>
2024-05-28 21:41:43 +10:00