Commit Graph

2060 Commits

Author SHA1 Message Date
Dalai Felinto 54fa2513b5 Extensions: Manifest polishing
* Match name with the extension ID.
* More strict double comment for optional parameters.
* Comment out tag since it is optional.
* More complete explanation for the paths_exclude_pattern.
2024-10-10 12:02:56 +02:00
Julien Duroure 7389b08a08 glTF exporter: fix crash using full collection hierarchy export 2024-10-10 11:18:49 +02:00
Red-Andringa c6b39783aa Fix batch renaming object data from the outliner
Correct typo is_editabe > is_editable.

Ref: !127675
2024-09-23 13:31:29 +02:00
Jesse Yurkovich 37463de122 Fix: error in node wrangler format string 2024-09-23 13:30:20 +02:00
Jacques Lucke 84ed03ec12 Fix: error in node wrangler format string 2024-09-23 13:30:01 +02:00
Mateusz Grzeliński 225b9a9428 Fix #126792: "extension install" sub-command fails to install
Do not report error when local repo does not have manifest and we are
asking for remote repositories.
If the errors list is filled with any error the operation is considered
failure.

Ref: !127360
2024-09-23 12:48:57 +02:00
Julien Duroure 062a574786 glTF: Fix typo in a previous commit 2024-09-23 12:26:18 +02:00
Julien Duroure ade00479f4 glTF: hook UI, distinct import & export draw code 2024-09-23 12:24:57 +02:00
Julien Duroure cf0a1b0420 glTF exporter: fix missing hook parameters leading to crash 2024-09-23 12:23:37 +02:00
Julien Duroure 79d64e293c glTF: hook UI, distinct import & export draw code 2024-09-23 12:21:45 +02:00
Campbell Barton 55bd057497 Fix #127329: Keyboard interrupt doesn't work from Python 2024-09-12 11:02:15 +02:00
Julien Duroure ded3d92514 glTF exporter: fix error message if hook failed
Pull Request: https://projects.blender.org/blender/blender/pulls/127451
2024-09-11 16:16:16 +02:00
Julien Duroure f82b50654a glTF exporter: Regression: RGB to Shader socket unlit management 2024-09-11 15:30:39 +02:00
Julien Duroure 4f660c3b2c glTF exporter: avoid double export
Make sure to not check instances inside instances collection when GN instance is enable.
2024-09-11 15:29:26 +02:00
Julien Duroure e38cda5280 glTF exporter: Fix custom prop when apply modifier
Since 4.2, props are Statically Typed
so no need to copy them in that case, because overwriting them will crash
2024-09-11 15:28:05 +02:00
Julien Duroure fc9b876f25 glTF exporter: Fix UI after Blender changes 2024-09-11 15:26:44 +02:00
Andrej730 7ceedb5f4c Fix: Typo in extensions repository lock info message
`Fore` -> `Force`

Pull Request: https://projects.blender.org/blender/blender/pulls/126778
2024-09-11 14:42:08 +02:00
Dalai Felinto e877bedac7 Extensions: Update the example license on the manifest template
Use GNU/GPL 3.0 or later instead of 2.0 or later.
2024-09-11 14:03:54 +02:00
Campbell Barton c97ceed55d Fix failure to remove libraries when removing wheels
Disabling wheels wasn't removing the modules "*.libs" directories.

Pull Request: https://projects.blender.org/blender/blender/pulls/126404
2024-08-16 15:35:34 +02:00
Campbell Barton 26c14a2200 Fix #125958: Disabling/uninstalling extensions doesn't remove wheels
Cleaning up wheels was skipped when there were no enabled extensions.

Now this is only skipped when there are no extensions on startup.
2024-08-16 15:35:33 +02:00
Campbell Barton 3476864e92 Fix active theme behavior when adding/removing themes
Regression in [0] which displays the filename for the active
theme but still used the label internally.

This meant actions such as removing the theme would not always apply
to the name being displayed.

- Adding a new theme was not setting it active.
- Detecting if a theme was built-in used the run-time label as a lookup.
- Theme removal first require it to be re-selected.

[0]: 0bb6317035
2024-08-16 11:02:26 +02:00
Campbell Barton de56588967 Presets: consider presets within the extensions repo to be "built-in"
It was possible to remove a preset defined within an extension,
the only way to restore it was to uninstall & re-install the extension.
2024-08-16 11:02:09 +02:00
Campbell Barton 399ed8b653 Fix unhandled permissions exception in bpy.utils.is_path_builtin
An excepting would be raised when the parent/child paths didn't
have permissions to access.
2024-08-16 11:01:49 +02:00
Campbell Barton e0bd7709d5 Cleanup: move bpy.utils parent-path check into a function 2024-08-16 11:01:11 +02:00
Christoph Lendenfeld 0a0a770480 Fix #124691: Custom bone wire rendering broken on Mac
This issue occurred only on Mac which has to circumvent
geometry shaders lacking support for them.

This patch reverts the vertex shader for Mac devices to
how it was before f9ea64b0ba. (and uses the frag shader from before that commit)
In order to communicate that to the user I added a label
in the GUI when the platform is Mac.

Co-authored-by: Clément Foucault <foucault.clem@gmail.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/125967
2024-08-16 10:15:00 +02:00
Dalai Felinto 2d2ebead32 Templates: Blender Manifest template
Pull Request: https://projects.blender.org/blender/blender/pulls/125668
2024-08-07 15:11:00 +02:00
Dalai Felinto 2be7442332 Templates: Remove bl_info from addon_add_object 2024-08-07 15:10:06 +02:00
Campbell Barton c5df790980 Extensions: use wait cursor when toggling add-ons
Add-ons with large wheels can take a while to extract,
set the wait cursor so it's clear Blender is busy.
2024-08-06 19:04:22 +02:00
Campbell Barton b38439db99 Fix #77837: Error removing addons/extension/wheels on WIN32
When deleting files on WIN32, open files cannot be removed.
This is especially a problem for compiled Python modules which
remain open once imported.

Previously it was not as common for add-ons to include compiled Python
modules however with extensions supporting Python-wheels,
it's increasingly likely users run into this.

Workaround the problem by:
- Scheduling the files for removal next time Blender starts.
- Rename paths that cannot be removed to avoid collisions when
  the paths is reused (re-installing for example).

This is supported for:
- Extensions.
- Python wheels.
- Legacy user add-ons.
- App-templates.

Details:
- On startup, a file exists that indicates cleanup is needed.
  In the common case the file doesn't exist.
  Otherwise module paths are scanned for files to remove.
- Since errors resolving paths to remove could result in user data loss,
  ensure the paths are always within the (extension/addon/app-template)
  directory.
- File locking isn't used, if multiple Blender instances start at the
  same time and try to remove the same files, this won't cause errors.
  Even so, remove the checking file immediately avoid unnecessary
  file-system access overhead for other Blender instances.

Also resolves #125049.
2024-08-06 19:04:22 +02:00
Campbell Barton 2037ced2f3 Fix error installing app-templates & legacy add-ons overwriting symlinks
Resolve error when overwriting existing Python modules would attempt
to recursively remove a symlink which raised an error.

Related to #123827, same error but for extensions.
2024-08-06 19:04:22 +02:00
Campbell Barton 6288cd3ce7 Extensions: restore fix for removing extensions with symlinks
Regression from [0], removed the fix for #123827.

[0]: 08b75549e3
2024-08-06 19:04:22 +02:00
Campbell Barton dd0be27783 Fix error where upgrading an extension always enabled it
Upgrading disabled extensions should never enable them.
2024-08-06 19:04:22 +02:00
Campbell Barton cb7cebe4d8 PyAPI: add bpy.app.python_args, use when calling Python from Blender
Expose arguments to use when creating a Python sub-process.

Python could fail to start when loaded in a customized environment,
with PYTHONPATH set for e.g. Blender ignores these and loads but a
Python sub-process attempts to use these environment variables which
may point to incompatible Python versions.

Resolve the root cause of #124731.
2024-08-06 19:04:22 +02:00
Campbell Barton 6cb5d6e969 PyAPI: include bpy.utils.extension_path_user in __all__
This wasn't being included in generated docs.
2024-08-06 19:04:22 +02:00
Miguel Pozo c6b358fda2 Fix #125387: Cycles Material Panel shows EEVEE Legacy settings
Update `draw_material_settings` to show EEVEE Next properties.
This only changes the internal function, instead of the Panel classes
themselves, to avoid breaking the Python API.

Pull Request: https://projects.blender.org/blender/blender/pulls/125616
2024-08-06 19:04:22 +02:00
Sybren A. Stüvel 2b9853c441 Fix #125226: Anim: Rigify limbs.spline_tentacle doesn't generate correctly
A template string was accidentally turned into an f-string in
78b9218c98, which changes the way it is
evaluated. Easy enough to roll back that one change.
2024-08-06 19:04:22 +02:00
Campbell Barton 381cb736e8 Fix #125660: Extensions fail to sync HTTPS repositories on WIN32
Workaround: `[ASN1] nested asn1 error` error when making HTTPS
connections on systems with certificates that OpenSSL cannot parse
are installed.

This is a general issue with Python, resolve by applying a proposed
fix [0] to the extensions Python process at run-time.
(this doesn't impact Blender's Python run-time).

The down side is HTTPS connections will only work for extensions
on systems with this problem so this needs to be resolved by Python
long term.

While any changes to Python's SSL checks is worth avoiding,
this simply skips SSL certificates in the windows store that OpenSSL
can't parse instead of failing all SSL connections.

See related issues:

- https://github.com/python/cpython/issues/79846
- https://github.com/openssl/openssl/issues/25023

[0]: https://github.com/python/cpython/pull/91740

Ref !124943.
2024-08-06 19:04:22 +02:00
Germano Cavalcante ab6bddad4f Fix #123179: can't select multiple snap target elements in UV Editor
Missed after 'Set Snap Base' commit.

Just like in 3D View, UV editing can also benefit from selecting
multiple snap target elements.

The C++ code was already done, it was only necessary to edit the
interface.

Pull Request: https://projects.blender.org/blender/blender/pulls/124986
2024-08-06 19:04:22 +02:00
Campbell Barton 55286169c7 Fix #125763: Uninitialized extension repos printing warnings on startup
Since [0] missing repository directories printed a warning on startup.

When checking for blocked extensions on startup, skip directories
that don't exist & don't print any warnings if the repository data
hasn't been downloaded.

[0]: 656fe6d3e4
2024-08-06 19:04:22 +02:00
Campbell Barton 0b9f3e2e88 Extensions: support "blocklist" in the remote repository
Support blocking extensions so there is a way for the maintainers of
the remote repository to notify the user if one of their installed
extensions blocked along with a reason for blocking.

Blocked extensions cannot be installed from the preferences or by
dropping a URL.

When an installed & blocked extension is found:

- An icon int the status bar shows an alert,
  clicking on the icon shows the blocked extensions.
- The extensions preferences show a warning.
- The extensions & add-ons UI shows an alert icon
  and "details" section shows the reason.

Details:

- Blocked & installed extensions are shown first in the installed
  extensions panel.
- The internal "install" logic prevents downloading & installing
  blocked extensions.
- Blocked extensions can still be downloaded & installed from disk.
- The "list" command includes an error message if any installed
  extensions are blocked.
- The "server-generate" command can optionally take a configuration
  file that includes the blocklist for the generated JSON.

See design #124954.
2024-08-06 19:04:22 +02:00
Campbell Barton ffa8243158 Fix unhandled exception for non dictionary items in extensions repo
Ensure items in the repository list are dictionaries.
2024-08-06 19:04:22 +02:00
Julian Eisel c6aa85c516 Fix #123735: Tooltip missing from open URL preset operator
Necessary because the "type" property is no longer the default
`bl_property` since 7bc34283ea.
2024-08-06 19:04:22 +02:00
Campbell Barton 0bb0ebe05f Fix #122754: Extensions empty when filtering addons in the workspace 2024-08-06 19:04:22 +02:00
Campbell Barton d5bd1e88a8 Cleanup: remove unused BUG_ADDON URL preset 2024-08-06 19:04:22 +02:00
Dalai Felinto c5c37b5bef Fix #122858: Core extensions report bugs to add-on repository
Core extensions should have their bugs reported as any other issue in
Blender.

This PR removes their "Rrport a Bug" link.

I left the link only for glTF since it has its own tracker. But I
wouldn't mind removing it as well.

Ref: !125218
2024-08-06 19:04:22 +02:00
Guillermo Venegas 46e987b4e4 Fix #125319: Can't drop images in uv editor
Caused in b97ac126f8

Pull Request: https://projects.blender.org/blender/blender/pulls/125322

Pull Request: https://projects.blender.org/blender/blender/pulls/125424
2024-07-25 16:47:06 +02:00
Julien Duroure 6c8510f0c0 glTF exporter: Fix UDIM export crash when not rectangular tile locations 2024-07-25 16:07:59 +02:00
Julien Duroure ee3d935deb glTF exporter: Fix row active UI and add tooltip 2024-07-25 15:59:40 +02:00
Julien Duroure d3d22496bc glTF exporter: avoid crash when animation + full collection hierarchy 2024-07-25 15:56:53 +02:00
Campbell Barton 54951b1e19 Extensions: minor wording tweak (v -> version)
Consistent with other errors when the versions mismatch.
2024-07-25 15:53:48 +02:00