Uncaught Error: Atom can only handle files < 2MB for now.

Open SQL file with size 395MB
Not open, but show this mensage

Atom Version: 0.165.0
System: linux 3.13.0-44-generic
Thrown From: Atom Core
Stack Trace
Uncaught Error: Atom can only handle files < 2MB for now.
At /usr/share/atom/resources/app/src/project.js:462

Error: Atom can only handle files < 2MB for now.
  at Project.module.exports.Project.buildBuffer (/usr/share/atom/resources/app/src/project.js:462:15)
  at Project.module.exports.Project.bufferForPath (/usr/share/atom/resources/app/src/project.js:439:63)
  at Project.module.exports.Project.open (/usr/share/atom/resources/app/src/project.js:393:19)
  at Workspace.module.exports.Workspace.openUriInPane (/usr/share/atom/resources/app/src/workspace.js:482:29)
  at Workspace.module.exports.Workspace.open (/usr/share/atom/resources/app/src/workspace.js:409:19)
  at Ipc.<anonymous> (/usr/share/atom/resources/app/src/window-event-handler.js:45:32)
  at Ipc.emit (events.js:110:17)
  at process.<anonymous> (/usr/share/atom/resources/atom/renderer/api/lib/ipc.js:22:29)
  at process.emit (events.js:118:17)

Commands

Config
{}

Installed Packages
# User
No installed packages

# Dev
No dev packages

See #307 to track this issue


[FEATURE REQUEST] - Extractor for most additional options and new nodes

Summary
Extractor for most additional options and new nodes:
Name String: Sampler
Name String: VAE
Int: Clip skip
Boolean: Pad conds
Basic Example
I would like to thank you for your work, and I have a few suggestions for additions.
Extractor for Additional Options:

Name String: Sampler

Example from the prompt reader: "Sampler: DPM++ 2M SDE Heun Karras"
In this case: "DPM++ 2M SDE Heun Karras"

Name String: VAE

Example from the prompt reader: "VAE: kl-f8-anime2.ckpt"
In this case: "kl-f8-anime2.ckpt"

Int: Clip skip

Example from the prompt reader: "Clip skip: 2"
In this case: "2" (If this option isn't in the prompt reader, return "1")

Boolean: Pad conds

Example from the prompt reader: "Pad conds: True"
In this case: "True" (If this option isn't in the prompt reader, return "False")

Of course, the names of VAEs and models can sometimes be unhelpful if they are, for example, in folders. Therefore, I would suggest creating a new node that searches the folders with the given name and, if found, automatically returns the entire path to that model, for example, "Anime/anime_v10.safetensor" and pass to Checkpoint Selector.
Similarly, for the names of samplers, there should be an additional node that extracts the sampler_name from the string and pass to Sampler Selector as well as the scheduler and pass to Scheduler Selector.
If you think that dealing with names and their additional node converters would be too much work, I would mainly request the output for Clip skip and Pad conds.
Reference Issues.
No response

Firstly, thank you for your suggestions. I will explain them one by one.

You might have noticed that in ComfyUI, a sampler name is composed of two parts: sampler_name and scheduler. This naming convention differs from other tools. For instance, "DPM++ 2M SDE Heun Karras" is named dpmpp_2m_sde_heun (with a Karras scheduler) in ComfyUI. However, there is no dpmpp_2m_sde_heun sampler in ComfyUI yet (only dpmpp_2m_sde). What I want to point out here is that if users work exclusively with ComfyUI, converting the format will suffice. But when integrating images created with other tools, users may encounter images generated by samplers that are not supported by ComfyUI.
One detail you might not be aware of is that most tools don't write the VAE in metadata, especially when users use models with baked VAE. I have no way to determine the specific VAE used.
Although the v1.1.0 reader can output the model, I still think this is a bad decision. Firstly, the model name is not unique; it can be changed at anytime. Secondly, not all tools include the model's suffix (e.g. safetensor) and the path (as in your example, Anime). I think anyone who needs this output will likely be using it to read images generated with ComfyUI, thus a node to search for the model might not be necessary.
To the best of my knowledge, no tools by default store Clip skip and Pad conds in the metadata, so I have no way to retrieve that data.

Based on the above discussion, within these parameters, the only feasible one is the sampler (for unsupported samplers, I can prompt an error).

Thank you for the detailed response in points, and I understand your thought process. At the moment, I haven't created my own nodes, and I'm not aware of their limitations. However, I'll take the opportunity to explain in this discussion why both the outputs and the new nodes I've written make sense and what potential solutions there might be for the text's missing options.
Overall, I would like to transfer most of the metadata from a1111 to comfyui to automate the loading of images created using various models and load these options into the appropriate nodes in comfyui.

You've already described a solution for this point towards the end, and I agree with it.

Here, I would resolve it by stating that if there is no VAE in the metadata, it should either produce an error or send the "baked VAE".

It's true that model names may not be unique, but for those who use the same models on their computers and those who don't change model names specifically for such occasions, they can easily load these names, provided there is a node to search through folders. From my experience, many photos from civitai have original model names. Another matter – it's good that you pointed out that not all tools return a suffix. However, all these issues can be addressed in the code, for example, by checking whether a particular model has a suffix or not. In cases where it doesn't, it can simply be added. Perhaps people are already using it this way, but jokingly, I'd say that I'm also a human, and I would like to use it for automatically extracting models for importing into the node. :P

Using a1111, my photos often save with Clip skip and Pad conds metadata, and when I load them using your reader, these options are visible. An example photo with these metadata is below.

If you're concerned that there might potentially be too much error handling resulting in frequent errors, this could be addressed using a node. For instance, if there's an error on the first line, send a preset sampler/model/vae using this node.

Instead of discussing whether or not to add these outputs, I have a new idea. I can write a separate node specifically for reading all the parameters in the image. The advantage is you can read any options, and I can keep the Reader clean.
+-------------------------+
| SD Parameters Extractor |
|                         |
| settings                |
| parameter               |
| type                    |
|                   VALUE |
+-------------------------+

Connect the settings to the Reader, then in the parameter, choose the option you need (it will be a combo box and will update after the first run), and finally choose the format you wish for the output.

It's true that model names may not be unique, but for those who use the same models on their computers and those who don't change model names specifically for such occasions, they can easily load these names, provided there is a node to search through folders. From my experience, many photos from civitai have original model names. Another matter – it's good that you pointed out that not all tools return a suffix. However, all these issues can be addressed in the code, for example, by checking whether a particular model has a suffix or not. In cases where it doesn't, it can simply be added. Perhaps people are already using it this way, but jokingly, I'd say that I'm also a human, and I would like to use it for automatically extracting models for importing into the node.  I’ll consider it, though.

If you're concerned that there might potentially be too much error handling resulting in frequent errors, this could be addressed using a node. For instance, if there's an error on the first line, send a preset sampler/model/vae using this node.

I guess I would prefer to keep the error messages rather than having the user load the pre-set content without being aware of it.

Please try the Parameter Extractor and model matching feature in the new version.


Add SecurePropertyStorage

Add SecurePropertyStorage, it helps you define secure storages for your properties using Swift property wrappers. Thanks!

Thank you!


Respect defaults View's extent property and add resolutions property

Hi,
I would like to propose minor change into your angular-ol-directive. For View defaults object, there is extent property, that is not respected when created new ol.View object in olHelpers.createView().
I have modified it and you can see it in:
https://github.com/vkasala/angular-openlayers-directive/commit/ff44edbd621c0a32a467a77c5a20f63802054398
Thanks.
Viliam Kasala

@vkasala Hi, can you check whether this is still valid and perhaps provide a PR for this?


⚠ Fetchers has degraded performance

In c777532, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 413 ms

Resolved: Fetchers performance has improved in d26fd81.


Handle kb interrupts gracefully

Before this, if you’re doing something like runinng tests and
then hit ctrl-c, the python dies first, and then the still-running
bazel process continues to write things to stdout until it exits itself.
Note that this bug only affected osx. on linux the behavior upon
ctrl-c was identical to a non-bazelisk invocation of bazel. after this
change, behavior upon ctrl-c is identical to a non-bazelisk
invocation of bazel, for both osx and linux.

Thanks, that's a nice improvement!
I wonder if we should call this in a loop though? With the current fix, the same issue would happen again once the user presses Ctrl-C twice. Bazel's behavior is to gracefully stop the build the first and second time Ctrl-C is pressed and to forcefully shutdown the server as quickly as possible when it's pressed the third time.


Moving Image to IDisposable.

This relates to #347
I've been doing some benchmarking with various approaches to accessing pixel data within my Image class. If we can make that as fast as possible then we have a quick performance win which benefits the library as a whole.
So these are the three approaches I'm using (I'm only including the important bits):
Image (The current default.)
// Constructor
public Image(int width, int height)
{
    pixels = new float[width * height * 4];
}

// Indexer
public Color this[int x, int y]
{
    get
    {

        int start = ((y * this.Width) + x) * 4;
        return new Color(this.pixels[start],
                            this.pixels[start + 1],
                            this.pixels[start + 2],
                            this.pixels[start + 3]);
    }

    set
    {
        int start = ((y * this.Width) + x) * 4;

        this.pixels[start] = value.R;
        this.pixels[start + 1] = value.G;
        this.pixels[start + 2] = value.B;
        this.pixels[start + 3] = value.A;
    }
}

Fixed Image (Pixels fixed upon access)
// Constructor
public Image(int width, int height)
{
    pixels = new float[width * height * 4];
}

// Indexer
public Color this[int x, int y]
{
    get
    {
        fixed (float* p = &this.pixels[0])
        {
            return *((Color*)(p + ((y * this.Width) + x) * 4));
        }
    }

    set
    {
        fixed (float* p = &this.pixels[0])
        {
            Color* c = (Color*)(p + (((y * this.Width) + x) * 4));
            c->R = value.R;
            c->G = value.G;
            c->B = value.B;
            c->A = value.A;
        }
    }
}

Unsafe Image (Pixels fixed at initialisation, implements IDisposable)
// Constructor
public Image(int width, int height)
{
    this.pixelsHandle = GCHandle.Alloc(new float[width * height * 4], GCHandleType.Pinned);
    this.pixels = (float*)this.pixelsHandle.AddrOfPinnedObject().ToPointer();
}

// Indexer
public Color this[int x, int y]
{
    get
    {
        return *((Color*)(this.pixels + ((y * this.Width) + x) * 4));
    }

    set
    {
        Color* c = (Color*)(this.pixels + (((y * this.Width) + x) * 4));
        c->R = value.R;
        c->G = value.G;
        c->B = value.B;
        c->A = value.A;
    }
}

This yields the following results:
BenchmarkDotNet=v<IP_ADDRESS>
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz, ProcessorCount=12
Frequency=3117490 ticks, Resolution=320.7709 ns, Timer=TSC
HostCLR=MS.NET 4.0.30319.42000, Arch=32-bit RELEASE
JitModules=clrjit-v4.6.1063.1

Type=ImagePerformance  Mode=Throughput

               Method |     Median |    StdDev | Scaled |

------------------------- |----------- |---------- |------- |
1. Image | 14.6007 ms | 0.7283 ms |   1.00 |
2. Image Parallel | 12.2520 ms | 0.4032 ms |   0.84 |
3. Fixed Image | 11.5585 ms | 0.8774 ms |   0.79 |
4. Fixed Image Parallel | 12.0792 ms | 0.5968 ms |   0.83 |
5. Unsafe Image |  9.4637 ms | 0.2921 ms |   0.65 |
6. Unsafe Image Parallel |  8.2399 ms | 0.1148 ms |   0.56 |
We can safely ignore fixing each time but Implementing IDisposable and pinning the pixels at initialisation yields a ~35% increase in speed in linear and a ~34% increase in parallel compared to the original parallel approach.
These numbers are too much of an improvement to ignore but it will make the API a lot more complicated and prone to developers not cleaning up after themselves.
So... Your input is important here.
Do we implement IDisposable or is there another way? Additionally, if you can see anything in the code that can be improved upon please chip in. :smile:
Please comment below.
Benchmark Code:
BenchmarkTest.zip

Ok so I've been playing around a bit more.
If I change the setters a bit more to what would appear on the surface to be more efficient .
Fixed Image (Pixels fixed upon access)
public Color this[int x, int y]
{
    get
    {
        fixed (float* p = &this.pixels[0])
        {
            return *((Color*)(p + ((y * this.Width) + x) * 4));
        }
    }

    set
    {
        fixed (float* p = &this.pixels[0])
        {
            *(Color*)(p + (((y * this.Width) + x) * 4)) = value;
        }
    }
}

Unsafe Image (Pixels fixed at initialisation, implements IDisposable)
public Color this[int x, int y]
{
    get
    {
        return *((Color*)(this.pixels + ((y * this.Width) + x) * 4));
    }

    set
    {
        *(Color*)(this.pixels + (((y * this.Width) + x) * 4)) = value;
    }
}

I get the following results (Note the ratio is more important than time)
Both fixed and unsafe get a performance boost in linear. Parallel bizarrely seems to slow things down.
Does anyone know why?
BenchmarkDotNet=v<IP_ADDRESS>
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz, ProcessorCount=12
Frequency=3117490 ticks, Resolution=320.7709 ns, Timer=TSC
HostCLR=MS.NET 4.0.30319.42000, Arch=32-bit RELEASE
JitModules=clrjit-v4.6.1063.1

Type=ImagePerformance  Mode=Throughput

               Method |     Median |    StdDev | Scaled |

------------------------- |----------- |---------- |------- |
1. Image | 13.6190 ms | 0.2642 ms |   1.00 |
2. Image Parallel | 12.3815 ms | 0.6229 ms |   0.91 |
3. Fixed Image |  9.6160 ms | 0.6788 ms |   0.71 |
4. Fixed Image Parallel | 12.3755 ms | 0.4107 ms |   0.91 |
5. Unsafe Image |  7.2887 ms | 0.1586 ms |   0.54 |
6. Unsafe Image Parallel |  8.1792 ms | 0.1470 ms |   0.60 |

My results:
Benchmark code as-is

BenchmarkDotNet=v<IP_ADDRESS>
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Core(TM) i7-4900MQ CPU @ 2.80GHz, ProcessorCount=8
Frequency=2728068 ticks, Resolution=366.5598 ns, Timer=TSC
HostCLR=MS.NET 4.0.30319.42000, Arch=32-bit RELEASE
JitModules=clrjit-v4.6.1531.0

Type=ImagePerformance  Mode=Throughput

               Method |     Median |    StdDev | Scaled |

------------------------- |----------- |---------- |------- |
1. Image | 15.9796 ms | 1.0788 ms |   1.00 |
2. Image Parallel | 12.0840 ms | 0.4778 ms |   0.76 |
3. Fixed Image | 12.2143 ms | 1.4041 ms |   0.76 |
4. Fixed Image Parallel | 11.4232 ms | 0.8076 ms |   0.71 |
5. Unsafe Image | 10.6769 ms | 0.5672 ms |   0.67 |
6. Unsafe Image Parallel |  7.6689 ms | 0.3947 ms |   0.48 |
Direct memory assignment in fixed and unsafe

BenchmarkDotNet=v<IP_ADDRESS>
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Core(TM) i7-4900MQ CPU @ 2.80GHz, ProcessorCount=8
Frequency=2728068 ticks, Resolution=366.5598 ns, Timer=TSC
HostCLR=MS.NET 4.0.30319.42000, Arch=32-bit RELEASE
JitModules=clrjit-v4.6.1531.0

Type=ImagePerformance  Mode=Throughput

               Method |     Median |    StdDev | Scaled |

------------------------- |----------- |---------- |------- |
1. Image | 17.7992 ms | 1.1530 ms |   1.00 |
2. Image Parallel | 11.9554 ms | 0.3178 ms |   0.67 |
3. Fixed Image | 12.2498 ms | 0.9363 ms |   0.69 |
4. Fixed Image Parallel | 10.9880 ms | 0.2686 ms |   0.62 |
5. Unsafe Image |  9.3535 ms | 0.3994 ms |   0.53 |
6. Unsafe Image Parallel |  7.8387 ms | 0.2934 ms |   0.44 |

Interesting. Thanks for that, useful to see. I'm assuming your direct assignment adjusted code is as I described in my sample.
This is an interesting learning process. It does seem clear to me in both our results that switching to IDisposable would yield an excellent improvement. Let's hope someone from the .NET team happens to stumble upon this.

I went ahead and merged this just now. Don't think there's any leaks but if anyone reads this please check.


Support for: escaped characters (eg. slash, dot) in classes, custom bracket notation

Is your feature request related to a problem? Please describe.
Using tailwind's custom property value syntax (square brackets) results in an error. The same goes for when you want to use full-stops or slashes in classnames - they aren't pulled correctly from the css file into the list of supported names.
Describe the solution you'd like
Support for the above missing features
Describe alternatives you've considered
For the escaped characters, the only solution is to avoid using them which is annoying. For the custom syntax a generic whitelist matcher could be put in the error config, but this would not be clear which properties support this and would also not check the tailwind class before the square brackets

@finnmerlett Could you provide example classnames for each cases you are experiencing please ?
Thanks

You can use v2.0.1 or v3.3.1

@finnmerlett no, actually, there was an issue with special characters 😉
Thank you for reporting it


Added exit status for uperf failures

Description
Context: https://github.com/cloud-bulldozer/benchmark-operator/issues/773
Realted Wrapper PR: https://github.com/cloud-bulldozer/benchmark-wrapper/pull/439
Adding exit status for uperf failure cases. This change needs to be integrated in all the workloads that use sanfu for execution as a future action item.
Fixes
Made code changes to return a non-zero exit in case of failures.
Testing
Tested it integrating with benchmark-wrapper.
Screenshots

@vishnuchalla can you fix the conflict and update the failure task to use the common role benchmark_state like in PR #781

@vishnuchalla can you fix the conflict and update the failure task to use the common role benchmark_state like in PR #781

Done. Resolved the conflicts and used benchmark_state

Codecov Report

Merging #782 (75450d8) into master (94005cd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #782   +/-   ##
=======================================
  Coverage   53.47%   53.47%
=======================================
  Files           8        8
  Lines         331      331
=======================================
  Hits          177      177
  Misses        154      154

Flag
Coverage Δ

gha
53.47% <ø> (ø)

python-3.9
53.47% <ø> (ø)

unit
53.47% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 94005cd...75450d8. Read the comment docs.


Fix for issue #1 and #3

Ignore the changes on the function comment lines - this is done by emacs.

Fixes work. git branch merged and pypi updated.


Add support for Zedar R600

Describe the bug
After a clean install of tuya-local (and a fairly clean install of HA), I can't find the device I expected to find. I fill in all data (ip, protocol 3.3, local key) for my device (a robot vacuum cleaner) and the dps that are logged are in fact the dps I would expect from my robot vacuum so no issues there it seems, yet it will always suggest the same 6 devices (see screenshot) with none of them being a robot vacuum.

I have also added my own yaml file with my device id and configured all dps (it's almost identical to the device ID kljjvealoaepeysi, device "Kabum Smart 700 Rev 2023").
All the dps I find in the log match the one from the yaml file, yet it's not suggested as a device type.
Additional context
Logs:

Device matches asc_wifi_circuit_breaker with quality of 19%. DPS: {"updated_at":<PHONE_NUMBER>.8133426, "1": false, "2": false, "4": "smart", "5": "sleep", "6": 0, "7": 0, "8": 83, "9": "strong", "17": 7408, "19": 12808, "21": 7408, "23": 13678, "26": 4, "27": true, "28": 0, "45": true, "102": false, "105": false, "106": false, "107": false, "108": false}

Detected blocking call to open inside the event loop by custom integration 'tuya_local' at custom_components/tuya_local/helpers/device_config.py, line 101: self._config = load_yaml(filename) (offender: /usr/src/homeassistant/homeassistant/util/yaml/loader.py, line 226: with open(fname, encoding="utf-8") as conf_file:), please create a bug report at https://github.com/make-all/tuya-local/issues Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle resp = await handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 83, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 85, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware response = await handler(request) File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle result = await handler(request, **request.match_info) File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 81, in with_admin return await func(self, request, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 222, in post return await super().post(request, flow_id) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 70, in wrapper return await method(view, request, data, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 122, in post result = await self._flow_mgr.async_configure(flow_id, data) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 368, in async_configure result = await self._async_configure(flow_id, user_input) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 414, in _async_configure result = await self._async_handle_step( File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 517, in _async_handle_step result: _FlowResultT = await getattr(flow, method)(user_input) File "/config/custom_components/tuya_local/config_flow.py", line 436, in async_step_local return await self.async_step_select_type() File "/config/custom_components/tuya_local/config_flow.py", line 474, in async_step_select_type async for type in self.device.async_possible_types(): File "/config/custom_components/tuya_local/device.py", line 360, in async_possible_types for match in possible_matches(cached_state): File "/config/custom_components/tuya_local/helpers/device_config.py", line 982, in possible_matches parsed = TuyaDeviceConfig(cfg) File "/config/custom_components/tuya_local/helpers/device_config.py", line 101, in __init__ self._config = load_yaml(filename)

@make-all , judging on the tags you've added/removed I don't think I made myself 100% clear.
The id that I mentioned (for Kabum Smart 700 Rev 2023) was just an example, but for me the search seems broken entierly, I can't seem to find ANY product. The search result will always be the same (19% match on asc_wifi_circuit_breaker).
I hope that clears some things up now :-)

You are correct that you are not making yourself clear.
You say "I can't seem to find ANY product", but your screenshot shows six possible matches found.
And now your complaint seems to be that you are not able to enter the else clause, which is the "can't find ANY product" case.

That was really helpfull, thanks @make-all !
This helped me doing some debugging and I managed to add the device now. I'm only left with a few more issues. Perhaps you could guide me into the right direction?
The vacuum is in an idle state, but here there's some sort of state which says error, however I'm not even sure what that card entry is;

Also none of the commands work yet. I'll continue my troubleshooting, but I'd love to hear if you've got an idea :-D

I'm almost there, but I'm gonna need help with the final part. I think I've mapped all data, everything is showing correctly (except for that error from previous comment, but I'm not sure what you'd need for that).
From what I can see my issues are only in the action (sending it out to clean, sending it to it's dock, etc.). On every action change, Tuya seems to be doing 3 things.. Changing the status (DP ID 5), changing the mode (DP ID 4), changing the power_go (DP ID 1)

Hope you can help!
Device ID
yiarxtixzkmnegxk
YAML
name: Robot vacuum
products:
  - id: yiarxtixzkmnegxk
    name: Zedar R600
primary_entity:
  entity: vacuum
  dps:
    - id: 1
      type: boolean
      optional: true
      name: activate
      mapping:
        - dps_val: false
          constraint: pause
          conditions:
            - dps_val: true
              value: false
            - dps_val: false
              value: false
              hidden: true
            - dps_val: null
              value: false
              hidden: true
        - dps_val: true
          constraint: pause
          conditions:
            - dps_val: false
              value: true
            - dps_val: true
              value: true
              hidden: true
            - dps_val: null
              value: true
              hidden: true
        - dps_val: null
          value: false
          hidden: true
    - id: 2
      type: boolean
      optional: true
      name: pause
    - id: 4
      type: string
      name: command
      mapping:
        - dps_val: smart
          value: smart
        - dps_val: chargego
          value: return_to_base
        - dps_val: zone
          value: zone
        - dps_val: pose
          value: go_to_position
        - dps_val: part
          value: room
    - id: 5
      type: string
      name: status
      mapping:
        - dps_val: standby
          value: standby
        - dps_val: smart
          value: cleaning
        - dps_val: smart_clean
          value: cleaning
        - dps_val: zone_clean
          value: cleaning
        - dps_val: part_clean
          value: cleaning
        - dps_val: cleaning
          value: cleaning
        - dps_val: paused
          value: paused
        - dps_val: goto_pos
          value: going_to_location
        - dps_val: pos_arrived
          value: on_location
        - dps_val: pos_unarrive
          value: cannot_find_location
        - dps_val: goto_charge
          value: returning
        - dps_val: charging
          value: charging
        - dps_val: charge_done
          value: charged
        - dps_val: sleep
          value: sleep
        - dps_val: select_room
          value: select_room
        - dps_val: wall_follow
          value: wall_follow
        - dps_val: direction_control
          value: direction_control
    - id: 9
      type: string
      name: fan_speed
      mapping:
        - dps_val: turnoff
          value: "Off"
        - dps_val: gentle
          value: Low
        - dps_val: normal
          value: Medium
        - dps_val: strong
          value: High
    - id: 11
      type: boolean
      optional: true
      name: locate
    - id: 12
      type: string
      optional: true
      name: direction_control
      mapping:
        - dps_val: forward
          value: forward
        - dps_val: backward
          value: reverse
        - dps_val: turn_left
          value: left
        - dps_val: turn_right
          value: right
        - dps_val: stop
          value: stop
    - id: 14
      type: string
      optional: true
      name: path_data
    - id: 15
      type: string
      optional: true
      name: complex_command
    - id: 16
      type: string
      optional: true
      name: request
      mapping:
        - dps_val: get_map
          value: Get map
        - dps_val: get_path
          value: Get path
        - dps_val: get_both
          value: Get both
    - id: 28
      type: bitfield
      name: error
      mapping:
        - dps_val: 0
          value: none
        - dps_val: 2
          value: left_wheel_hang
        - dps_val: 4
          value: main_brush_stuck
        - dps_val: 8
          value: right_wheel_hang
        - dps_val: 16
          value: left_wheel_stuck
        - dps_val: 32
          value: right_wheel_stuck
        - dps_val: 64
          value: cliff
        - dps_val: 128
          value: side_brush_stuck
        - dps_val: 512
          value: collision
        - dps_val: 1024
          value: dust_box_stuck
        - dps_val: 4096
          value: ground_check_failure
        - dps_val: 32768
          value: vacuum_motor_stuck
        - dps_val: 65536
          value: high_current
        - dps_val: 131072
          value: charge_port_closed
    # - id: 32
    #   type: string
    #   optional: true
    #   name: device_timer
    - id: 33
      type: string
      optional: true
      name: disturb_time_set
    # - id: 34
    #   type: string
    #   optional: true
    #   name: device_info
    - id: 35
      type: string
      optional: true
      name: voice_data
secondary_entities:
  - entity: button
    name: Start
    icon: "mdi:play"
    category: config
    dps:
      - id: 1
        type: boolean
        name: button
        optional: true
  - entity: button
    name: Pause
    category: config
    icon: "mdi:pause"
    dps:
      - id: 2
        type: boolean
        name: button
        optional: true
  - entity: button
    name: Dock
    category: config
    icon: "mdi:lightning-bolt"
    dps:
      - id: 3
        type: boolean
        name: button
        optional: true
  - entity: sensor
    name: Cleaning time
    class: duration
    category: diagnostic
    dps:
      - id: 6
        type: integer
        name: sensor
        unit: min
        class: measurement
  - entity: sensor
    name: Cleaned area
    category: diagnostic
    icon: "mdi:floor-plan"
    dps:
      - id: 7
        type: integer
        name: sensor
        unit: m2
  - entity: sensor
    class: battery
    dps:
      - id: 8
        type: integer
        name: sensor
        unit: "%"
        class: measurement
  - entity: select
    name: Mopping
    icon: "mdi:cup-water"
    category: config
    dps:
      - id: 10
        type: string
        name: option
        optional: true
        mapping:
          - dps_val: closed
            value: "Off"
          - dps_val: low
            value: Low
          - dps_val: middle
            value: Medium
          - dps_val: high
            value: High
          - dps_val: null
            value: "Off"
            hidden: true
  - entity: button
    name: Reset map
    category: config
    dps:
      - id: 13
        type: boolean
        name: button
        optional: true
  - entity: sensor
    name: Edge brush life
    class: duration
    category: diagnostic
    dps:
      - id: 17
        type: integer
        name: sensor
        unit: min
  - entity: button
    name: Edge brush reset
    class: restart
    category: config
    dps:
      - id: 18
        type: boolean
        name: button
        optional: true
  - entity: sensor
    name: Roll brush life
    class: duration
    category: diagnostic
    dps:
      - id: 19
        type: integer
        name: sensor
        unit: min
  - entity: button
    name: Roll brush reset
    class: restart
    category: config
    dps:
      - id: 20
        type: boolean
        name: button
        optional: true
  - entity: sensor
    name: Filter life
    class: duration
    category: diagnostic
    dps:
      - id: 21
        type: integer
        name: sensor
        unit: min
  - entity: button
    name: Filter reset
    class: restart
    category: config
    dps:
      - id: 22
        type: boolean
        name: button
        optional: true
  - entity: sensor
    name: Mop life
    class: duration
    category: diagnostic
    dps:
      - id: 23
        type: integer
        name: sensor
        unit: min
  - entity: button
    name: Mop reset
    class: restart
    category: config
    dps:
      - id: 24
        type: boolean
        name: button
        optional: true
  - entity: switch
    name: Do not disturb
    category: config
    dps:
      - id: 25
        type: boolean
        name: switch
        optional: true
        mapping:
          - dps_val: null
            value: false
            hidden: true
  - entity: number
    name: Volume
    category: config
    icon: "mdi:volume-high"
    dps:
      - id: 26
        type: integer
        name: value
        range:
          min: 0
          max: 10
        unit: "%"
        mapping:
          - scale: 0.1

@make-all , I can tell by the amount of "new device requests" that you're a busy man, so I'm happy to add support for this myself. It would be amazing if you could push me into the direction on how to debug though, because it could take me days finding it out on my own lol.
If I can get the commands to work, that would be amazing already. I already shared what's needed for that in my last comment.
Currently I have to get 2 things done I guess. When play button is hit, I should update the command to "smart" and switch power_go (aka activate) to true. I assume this is done through the mapping on the command? Would that look something like the following snippet? Or should this be configured on it's primary entity instead of on the command?
  - entity: button
    name: Start
    icon: "mdi:play"
    category: config
    dps:
      - id: 1
        type: boolean
        name: button
        optional: true
        mapping:
          - dps_val: true
            constraint: command
            value: smart

Also I see one weird thing in the activate command. If I click the play button, you'll see that it will turn itself off again, I assume because it updates data from the device which never turned on. Not sure whether that is or is not intended. Could be intended because it technically never turns on (it never starts executing any kind of command).
https://github.com/make-all/tuya-local/assets/107768491/f9471125-ffae-47da-861b-81de68def70e
I do not see any messages in the log either, is there some kind of way to debug this? Maybe a way to see a response from the device after sending it a command?

Hi @make-all , sorry for pinging you again.
I've finished the mapping so all data is showing correctly (inculding the error I mentioned 2 comment earlier).
Now I'm only stuck with the commands not working. I did my research and I'm fairly certain that my entity is configured correctly, but my device doesn't really seem to pickup the commands it should recieve. I have enabled debug logs and here's what I've got:
2024-07-05 16:26:09.587 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Robot vacuum: Mapped dps 1 to True from True
2024-07-05 16:26:09.587 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Considering mapping for range of activate
2024-07-05 16:26:09.588 DEBUG (MainThread) [custom_components.tuya_local.device] Zedar vacuum new pending updates: {"2": {"value": false, "updated_at":<PHONE_NUMBER>.5880642, "sent": false}, "1": {"value": true, "updated_at":<PHONE_NUMBER>.5880642, "sent": false}}
2024-07-05 16:26:09.589 DEBUG (MainThread) [custom_components.tuya_local.device] Zedar vacuum sending dps update: {"1": true, "2": false}
2024-07-05 16:26:09.705 DEBUG (MainThread) [custom_components.tuya_local.device] Zedar vacuum received {"1": false, "2": true, "4": "chargego", "5": "charge_done", "6": 0, "7": 0, "8": 100, "9": "strong", "17": 7371, "19": 12771, "21": 7371, "23": 13678, "26": 4, "27": false, "28": 0, "45": true, "102": false, "105": false, "106": false, "107": false, "108": false, "full_poll": true}

I'm not entirely sure what's happening here. It mentions it's sending the dps update as I expect it to send, but the dps aren't updated. Anything that you know of I can do?

Sorry didn't mean to close it...
@make-all , I can confirm that the commands I have configured do work (mapping is correct), but they never actually get to the device. I have wrote a custom script which worked instantly
 % cat zedar.py
import tinytuya
import sys

device = tinytuya.Device('DEVICE_ID', 'IP_ADDRESS', 'LOCAL_KEY')
device.set_version(3.3)
data = device.status()

request = sys.argv[1]

if (request == 'start'):
  payload=device.generate_payload(tinytuya.CONTROL, {'1': True, '2': False})
  device._send_receive(payload)

if (request == 'pause'):
  payload=device.generate_payload(tinytuya.CONTROL, {'2': True})
  device._send_receive(payload)

if (request == 'charge'):
  payload=device.generate_payload(tinytuya.CONTROL, {'4': 'chargego'})
  device._send_receive(payload)

With that script, I can run the following commands with no problem and the vacuum will follow up the commands;
python3 zedar.py start
python3 zedar.py pause
python3 zedar.py charge

Do you have any idea why these commands aren't received by the device if sent through your integration?


Ctrl+Comma stopped working in 0.190

What more is there to say ... :)

What OS? Does this happen in safe mode? (atom --safe)

@medowlock ctrl-, is still bound to the command for showing the settings view. Is that not happening for you? Can you take a screenshot of what you see in the keybinding resolver when you hit ctrl-,? Also, try running Atom in safe mode as @mnquintana suggested and let us know if that helps.

OS is Windows 8.1, does not happen in safe mode.
@izuzak Using the keybinding resolver, it looks like the "emmet" package was the one that broke this shortcut. Removing it fixed the issue.
Thanks! Keep up the good work ! :)


Unable to Login Even With New Update

Describe the bug
As far as I am aware, the new desktop entry should fix the login prompt issue with Fusion. However, here is what happens when I attempt to log in:

It gets stuck on this "Check the Browser" page and there is no login page that opens. Not sure if I am missing a step or a workaround to this issue. I am running on an Arch distrobox container with GPU passthrough. I ensured that a browser is correctly installed (Firefox) and it was open before I ran my application. Here is the full console output.
--2024-02-20 10:41:53--  https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/builds/stable-branch/bin/build-version.txt
Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20 [text/plain]
Saving to: ‘/tmp/fusion360/build-version.txt’

build-version.txt                                     100%[======================================================================================================================>]      20  --.-KB/s    in 0s

Last-modified header missing -- time-stamps turned off.
2024-02-20 10:41:53 (5.04 MB/s) - ‘/tmp/fusion360/build-version.txt’ saved [20/20]

Online Build-Version: 2.0.17228
Online Insider-Build-Version: 2.0.17228
The version.txt file not exist!
EN
Gtk-Message: 10:41:54.001: Failed to load module "canberra-gtk-module"
Gtk-Message: 10:41:57.257: Failed to load module "canberra-gtk-module"
wine: could not open working directory L"unix\\home\\krishna\\Documents\\Distrobox\\Fusion360\\.fusion360\\wineprefixes\\default\\", starting in the Windows directory.
wine: could not open working directory L"unix\\home\\krishna\\Documents\\Distrobox\\Fusion360\\.fusion360\\wineprefixes\\default\\", starting in the Windows directory.
setProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) failed: COM error 0x57  (Unknown error 0x057)
"C:/Program Files/Autodesk/webdeploy/production/57cd45aa09be2d79663784069561ec17eda99ca8/plugins"
EnableNonClientDpiScaling() failed for HWND 0x5012c (120) (Call not implemented.)
qt.webenginecontext:

GLImplementation: desktop
Surface Type: OpenGL
Surface Profile: CompatibilityProfile
Surface Version: 4.6
Using Default SG Backend: yes
Using Software Dynamic GL: no
Using Angle: no

Init Parameters:
  *  application-name Fusion360
  *  browser-subprocess-path C:\Program Files\Autodesk\webdeploy\production\57cd45aa09be2d79663784069561ec17eda99ca8\QtWebEngineProcess.exe
  *  create-default-gl-context
  *  disable-d3d11
  *  disable-es3-gl-context
  *  disable-features DnsOverHttpsUpgrade,ConsolidatedMovementXY,InstalledApp,BackgroundFetch,WebOTP,WebPayments,WebUSB,PictureInPicture
  *  disable-gpu-rasterization
  *  disable-speech-api
  *  enable-features NetworkServiceInProcess,TracingServiceInProcess
  *  enable-threaded-compositing
  *  ignore-gpu-blocklist
  *  in-process-gpu
  *  log-severity disabled
  *  no-proxy-server
  *  use-gl desktop

[2656:2660:0220/104203.701:ERROR:dxva_video_decode_accelerator_win.cc(1449)] DXVAVDA fatal error: could not LoadLibrary: msvproc.dll: Module not found. (0x7E)
[2656:2660:0220/104203.810:ERROR:network_change_notifier_win.cc(228)] WSALookupServiceBegin failed with: 8
info:  Game: Fusion360.exe
info:  DXVK: v2.3
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6fffddd33f90
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_EXT_surface_maintenance1
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  NVIDIA GeForce RTX 2080 Ti:
info:    Driver : NVIDIA 545.29.6
info:    Memory Heap[0]:
info:      Size: 11264 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48167 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[4]: Property Flags = 0x7

DevTools listening on ws://<IP_ADDRESS>:9766/devtools/browser/33d89ffc-942c-45fd-b14e-19ad50f6e14e
info:  DXGI: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
info:  Game: Fusion360.exe
info:  DXVK: v2.3
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6fffddd33f90
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_EXT_surface_maintenance1
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  NVIDIA GeForce RTX 2080 Ti:
info:    Driver : NVIDIA 545.29.6
info:    Memory Heap[0]:
info:      Size: 11264 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48167 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:  DXGI: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
BUG OptionAdapter UseEagleRc called before setting callbacks.EagleAPI.Version = 0.1.2
BUG OptionAdapter UseEagleRc called before setting callbacks.BUG OptionAdapter UseEagleRc called before setting callbacks.QString::arg: 1 argument(s) missing in %1/scripts
QString::arg: 1 argument(s) missing in %1/scripts
BUG OptionAdapter UseEagleRc called before setting callbacks.QString::arg: 1 argument(s) missing in %1/ulps
QString::arg: 1 argument(s) missing in %1/ulps
BUG OptionAdapter UseEagleRc called before setting callbacks.QString::arg: 1 argument(s) missing in %1/design rules
QString::arg: 1 argument(s) missing in %1/design rules
BUG OptionAdapter UseEagleRc called before setting callbacks.QString::arg: 1 argument(s) missing in %1/spice
QString::arg: 1 argument(s) missing in %1/spice
Registering module:  "uiHelper"
EnableNonClientDpiScaling() failed for HWND 0x20216 (120) (Call not implemented.)
0bc8:fixme:qmgr:BackgroundCopyJob_AddFileSet Check for valid filenames and supported protocols
0bc8:fixme:qmgr:BackgroundCopyJob_SetPriority 00007FFFFE8E1A50, 2: stub
0bc8:fixme:qmgr:BackgroundCopyJob_SetMinimumRetryDelay 00007FFFFE8E1A50, 60.
0bc8:fixme:qmgr:BackgroundCopyJob_SetNoProgressTimeout 00007FFFFE8E1A50, 86400.: stub
"10:42::08.993" MAGWorkControllerClientConnection  cmd sent  "auth"
"10:42::08.994" MAGWorkClientControllerConnection  cmd sent  "auth"
MAGWorkControllerClientConnection  cmd received  "auth"
"10:42::08.994" MAGWorkControllerClientConnection  cmd sent  "authok"
MAGWorkClientControllerConnection  cmd received  "auth"
"10:42::08.994" MAGWorkClientControllerConnection  cmd sent  "authok"
MAGWorkClientControllerConnection  cmd received  "authok"
MAGWorkControllerClientConnection  cmd received  "authok"
Connecting to controller server
Controller server info:  QHostAddress("<IP_ADDRESS>") : 40419
host connected QHostAddress("<IP_ADDRESS>") : 50040
"10:42::08.998" MAGWorkControllerHostConnection  cmd sent  "auth"
"10:42::08.998" MAGWorkHostControllerConnection  cmd sent  "auth"
MAGWorkControllerHostConnection  cmd received  "auth"
"10:42::08.999" MAGWorkControllerHostConnection  cmd sent  "authok"
MAGWorkHostControllerConnection  cmd received  "auth"
"10:42::08.999" MAGWorkHostControllerConnection  cmd sent  "authok"
MAGWorkHostControllerConnection  cmd received  "authok"
Controller connected
Sending max processes:  16
"10:42::08.999" MAGWorkHostControllerConnection  cmd sent  "ready"
MAGWorkControllerHostConnection  cmd received  "authok"
Remote debugging server started successfully. Try pointing a Chromium-based browser to http://<IP_ADDRESS>:9766
MAGWorkControllerHostConnection  cmd received  "ready"
006c:fixme:mountmgr:query_property Unsupported property 0x7
006c:fixme:mountmgr:query_property Unsupported property 0x8
info:  Game: msedgewebview2.exe
info:  DXVK: v2.3
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6fffddd33f90
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_EXT_surface_maintenance1
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  NVIDIA GeForce RTX 2080 Ti:
info:    Driver : NVIDIA 545.29.6
info:    Memory Heap[0]:
info:      Size: 11264 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48167 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:  DXGI: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
info:  Game: msedgewebview2.exe
info:  DXVK: v2.3
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6fffddd33f90
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_EXT_surface_maintenance1
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  NVIDIA GeForce RTX 2080 Ti:
info:    Driver : NVIDIA 545.29.6
info:    Memory Heap[0]:
info:      Size: 11264 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48167 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:  DXGI: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
warn:  D3D11DeviceFeatures: External memory features not supported
info:  D3D11InternalCreateDevice: Maximum supported feature level: D3D_FEATURE_LEVEL_12_1
info:  D3D11InternalCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_1
info:  Device properties:
info:    Device : NVIDIA GeForce RTX 2080 Ti
info:    Driver : NVIDIA 545.29.6
info:  Enabled device extensions:
info:    VK_EXT_attachment_feedback_loop_layout
info:    VK_EXT_conservative_rasterization
info:    VK_EXT_custom_border_color
info:    VK_EXT_depth_bias_control
info:    VK_EXT_depth_clip_enable
info:    VK_EXT_extended_dynamic_state3
info:    VK_EXT_fragment_shader_interlock
info:    VK_EXT_graphics_pipeline_library
info:    VK_EXT_memory_priority
info:    VK_EXT_non_seamless_cube_map
info:    VK_EXT_robustness2
info:    VK_EXT_shader_module_identifier
info:    VK_EXT_swapchain_maintenance1
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_maintenance5
info:    VK_KHR_pipeline_library
info:    VK_KHR_present_id
info:    VK_KHR_present_wait
info:    VK_KHR_swapchain
info:    VK_NVX_binary_import
info:    VK_NVX_image_view_handle
info:  Device features:
info:    robustBufferAccess                     : 1
info:    fullDrawIndexUint32                    : 1
info:    imageCubeArray                         : 1
info:    independentBlend                       : 1
info:    geometryShader                         : 1
info:    tessellationShader                     : 1
info:    sampleRateShading                      : 1
info:    dualSrcBlend                           : 1
info:    logicOp                                : 1
info:    multiDrawIndirect                      : 1
info:    drawIndirectFirstInstance              : 1
info:    depthClamp                             : 1
info:    depthBiasClamp                         : 1
info:    fillModeNonSolid                       : 1
info:    depthBounds                            : 1
info:    wideLines                              : 1
info:    multiViewport                          : 1
info:    samplerAnisotropy                      : 1
info:    textureCompressionBC                   : 1
info:    occlusionQueryPrecise                  : 1
info:    pipelineStatisticsQuery                : 1
info:    vertexPipelineStoresAndAtomics         : 1
info:    fragmentStoresAndAtomics               : 1
info:    shaderImageGatherExtended              : 1
info:    shaderClipDistance                     : 1
info:    shaderCullDistance                     : 1
info:    shaderFloat64                          : 1
info:    shaderInt64                            : 1
info:    variableMultisampleRate                : 1
info:    shaderResourceResidency                : 1
info:    shaderResourceMinLod                   : 1
info:    sparseBinding                          : 1
info:    sparseResidencyBuffer                  : 1
info:    sparseResidencyImage2D                 : 1
info:    sparseResidencyImage3D                 : 1
info:    sparseResidency2Samples                : 1
info:    sparseResidency4Samples                : 1
info:    sparseResidency8Samples                : 1
info:    sparseResidency16Samples               : 1
info:    sparseResidencyAliased                 : 1
info:  Vulkan 1.1
info:    shaderDrawParameters                   : 1
info:  Vulkan 1.2
info:    samplerMirrorClampToEdge               : 1
info:    drawIndirectCount                      : 1
info:    samplerFilterMinmax                    : 1
info:    hostQueryReset                         : 1
info:    timelineSemaphore                      : 1
info:    bufferDeviceAddress                    : 1
info:    shaderOutputViewportIndex              : 1
info:    shaderOutputLayer                      : 1
info:    vulkanMemoryModel                      : 1
info:  Vulkan 1.3
info:    robustImageAccess                      : 0
info:    pipelineCreationCacheControl           : 1
info:    shaderDemoteToHelperInvocation         : 1
info:    shaderZeroInitializeWorkgroupMemory    : 0
info:    synchronization2                       : 1
info:    dynamicRendering                       : 1
info:  VK_AMD_shader_fragment_mask
info:    extension supported                    : 0
info:  VK_EXT_attachment_feedback_loop_layout
info:    attachmentFeedbackLoopLayout           : 0
info:  VK_EXT_conservative_rasterization
info:    extension supported                    : 1
info:  VK_EXT_custom_border_color
info:    customBorderColors                     : 1
info:    customBorderColorWithoutFormat         : 1
info:  VK_EXT_depth_clip_enable
info:    depthClipEnable                        : 1
info:  VK_EXT_depth_bias_control
info:    depthBiasControl                       : 1
info:    leastRepresentableValueForceUnormRepresentation : 1
info:    floatRepresentation                    : 0
info:    depthBiasExact                         : 1
info:  VK_EXT_extended_dynamic_state3
info:    extDynamicState3AlphaToCoverageEnable  : 1
info:    extDynamicState3DepthClipEnable        : 1
info:    extDynamicState3RasterizationSamples   : 1
info:    extDynamicState3SampleMask             : 1
info:    extDynamicState3LineRasterizationMode  : 1
info:  VK_EXT_fragment_shader_interlock
info:    fragmentShaderSampleInterlock          : 1
info:    fragmentShaderPixelInterlock           : 1
info:  VK_EXT_full_screen_exclusive
info:    extension supported                    : 0
info:  VK_EXT_graphics_pipeline_library
info:    graphicsPipelineLibrary                : 1
info:  VK_EXT_line_rasterization
info:    rectangularLines                       : 1
info:    smoothLines                            : 1
info:  VK_EXT_memory_budget
info:    extension supported                    : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 1
info:  VK_EXT_non_seamless_cube_map
info:    nonSeamlessCubeMap                     : 0
info:  VK_EXT_robustness2
info:    robustBufferAccess2                    : 1
info:    robustImageAccess2                     : 1
info:    nullDescriptor                         : 1
info:  VK_EXT_shader_module_identifier
info:    shaderModuleIdentifier                 : 1
info:  VK_EXT_shader_stencil_export
info:    extension supported                    : 0
info:  VK_EXT_swapchain_colorspace
info:    extension supported                    : 0
info:  VK_EXT_swapchain_maintenance1
info:    swapchainMaintenance1                  : 1
info:  VK_EXT_hdr_metadata
info:    extension supported                    : 0
info:  VK_EXT_transform_feedback
info:    transformFeedback                      : 1
info:    geometryStreams                        : 1
info:  VK_EXT_vertex_attribute_divisor
info:    vertexAttributeInstanceRateDivisor     : 1
info:    vertexAttributeInstanceRateZeroDivisor : 1
info:  VK_KHR_external_memory_win32
info:    extension supported                    : 0
info:  VK_KHR_external_semaphore_win32
info:    extension supported                    : 0
info:  VK_KHR_maintenance5
info:    maintenance5                           : 1
info:  VK_KHR_present_id
info:    presentId                              : 1
info:  VK_KHR_present_wait
info:    presentWait                            : 1
info:  VK_NVX_binary_import
info:    extension supported                    : 1
info:  VK_NVX_image_view_handle
info:    extension supported                    : 1
info:  VK_KHR_win32_keyed_mutex
info:    extension supported                    : 0
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 1
info:    Sparse   : 0
sudo: The "no new privileges" flag is set, which prevents sudo from running as root.
sudo: If sudo is running in a container, you may need to adjust the container configuration to disable the flag.
info:  Memory type mask for sparse resources: 0x2
warn:  DXVK: No state cache file found
info:  DXVK: Graphics pipeline libraries supported
info:  DXGI: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
info:  DXGI: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
err:   D3D11VideoDevice::GetVideoDecoderProfileCount: Stub
info:  NVIDIA GeForce RTX 2080 Ti:
info:    Driver : NVIDIA 545.29.6
info:    Memory Heap[0]:
info:      Size: 11264 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48167 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[4]: Property Flags = 0x7
info:  DXGI: Hiding actual GPU, reporting vendor ID 0x1002, device ID 73df
006c:fixme:mountmgr:query_property Faking StorageDeviceProperty data
[2656:2852:0220/104246.158:ERROR:devtools_http_handler.cc(419)] GetMimeType doesn't know mime type for: browser/33d89ffc-942c-45fd-b14e-19ad50f6e14e text/plain will be returned
[2656:2660:0220/104246.159:ERROR:devtools_http_handler.cc(419)] GetMimeType doesn't know mime type for: browser/33d89ffc-942c-45fd-b14e-19ad50f6e14e text/plain will be returned

Desktop (please complete the following information):

Version number of Autodesk Fusion 360: Latest
Graphics card model + Graphics card driver (Version number) - Nvidia 2080Ti with Driver (545.29.06) and CUDA(12.3)
Operating system (OpenSUSE Leap 15.3, Fedora 34, ...) - Base Arch Linux but running in Arch Distrobox Container. Also tried Ubuntu 22.04 Container but can't install browser without systemd.
Desktop environment (XFCE 4.16, Gnome 40, ...) - Base is KDE
DXVK- or OpenGL-Mode - Not sure

Could be related to issue #391, try to check if mimetype handler point to correct location.

nano $HOME/.local/share/applications/adskidmgr-opener.desktop check, that "C:\Program Files\Autodesk\webdeploy\production\57cd45aa09be2d79663784069561ec17eda99ca8\Autodesk Identity Manager\AdskIdentityManager.exe" actually point to correct folder 57cd45aa09be2d79663784069561ec17eda99ca8 will probably be different.

I've updated that and it still hasn't worked. It simply just opens the website, lets me log in, then never actually continues on the Autodesk Fusion program.

57cd45aa09be2d79663784069561ec17eda99ca8

Did You fill Your folder name? From there: ~/.fusion360/wineprefixes/default/drive_c/Program Files/Autodesk/webdeploy/production/  ?

What do you mean by fill my folder name?

that long string is different for each instalation/update so you have to check above directory a fill correct folder name into
$HOME/.local/share/applications/adskidmgr-opener.desktop
See on image, for me its 57cd45aa09be2d79663784069561ec17eda99ca8 which is latest version.

I see, in my I have nothing past ~/.fusion360/wineprefixes/default/.

I see... I'll just try reinstalling it from scratch and not change the path then.... (Ill post a comment on the result after that is done).

That should not be necessary, check $HOME/.local/share/applications/adskidmgr-opener.desktop, line with WINEPREFIX= should contain path to Your installation`

hi. i was also encounter this problem
but i fixed it but just edit the adskidmgr-opener.desktop file
Exec=env WINEPREFIX="/home/gttwt/.fusion360/wineprefixes/default" wine "C:\Program Files\Autodesk\webdeploy\production\{unmatched version}\Autodesk Identity Manager\AdskIdentityManager.exe" %u
``` to

Exec=env WINEPREFIX="/home/gttwt/.fusion360/wineprefixes/default" wine "C:\Program Files\Autodesk\webdeploy\production\57cd45aa09be2d79663784069561ec17eda99ca8\Autodesk Identity Manager\AdskIdentityManager.exe" %u
thank you @Tony763

Hello, I appreciate all the help. I tried what @gittawat and @Tony736 suggested and changed the version to match the folder under my wineprefix and it still didn't open any browser. Is there any way to check if my container has a default browser set which this identity manager can open to?

Hi all! I also have an issue with logins. I followed the above suggestions to change the path to the executable wine is supposed to invoke. Unfortunately, after signing in. it asks if I want to use the handler. I hit 'allow always for this type'. The other window with fusion360 does not change at all, and I actually cannot close it either. Is there any known bugs with a wayland compositor? (I am using hyprland).

Hi @DragonflyRobotics, which browser do you have set as default? For me, only Firefox installed from DEB package works. Firefox in snap and chrome crash while opening window to sign in.

I'm also not able to log in. No browser window opens when clicking the login button. But I can open a linux browser window from the Windows prompt.
~/.fusion360/wineprefixes/default$ WINEPREFIX=$PWD wine cmd

Microsoft Windows 10.0.19043
Z:\home\zzz\.fusion360\wineprefixes\default>c:
c:\>cd windows
c:\windows>winebrowser.exe https://google.com
Opening in existing browser session.

For my case, this does open a browser window.
I believe this winebrowser.exe is also used in the authentication workflow. winebrowser.exe is registered as the http/https handler in the registry.

Out of curiosity I upgraded the msedgewebview version to 121.0.2277.128 using the download URL
SP_WEBVIEW2_INSTALLER_URL="https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/dcac5baa-e96b-47e9-8532-b11345db2b0d/MicrosoftEdgeWebView2RuntimeInstallerX64.exe

but this did not change anything.

I just tried running the installation process on an Ubuntu 22.04 laptop. I installed YAD, ran the script, then changed the ID in the desktop file. It still doesn't open the login window. I tried what @alexswerner suggested by running the winebrowser.exe and that worked beautifully. There is not container or Distrobox to interfere with this install since it was on my base system.

Actually, rerunning it, it seems my error message is slightly different. At the very end, I get:
[6620:6620:0223/103522.374109:ERROR:socket.cc(120)] recvmsg: Connection reset by peer (104)

Here is the full log:

--2024-02-23 10:34:49--  https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/builds/stable-branch/bin/build-version.txt
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20 [text/plain]
Saving to: ‘/tmp/fusion360/build-version.txt’

build-version.txt            100%[===========================================>]      20  --.-KB/s    in 0s

Last-modified header missing -- time-stamps turned off.
2024-02-23 10:34:49 (1.16 MB/s) - ‘/tmp/fusion360/build-version.txt’ saved [20/20]

Online Build-Version: 2.0.17228
Online Insider-Build-Version: 2.0.17228
The version.txt file not exist!
EN

(yad:6221): Gdk-WARNING **: 10:34:50.122: ../../../../../gdk/x11/gdkwindow-x11.c:5653 drawable is not a native X11 window

(yad:6232): Gdk-WARNING **: 10:34:51.849: ../../../../../gdk/x11/gdkwindow-x11.c:5653 drawable is not a native X11 window
wine: could not open working directory L"unix\\home\\krishna\\.local\\share\\applications\\wine\\Programs\\Autodesk\\Fusion360\\default\\", starting in the Windows directory.
wine: could not open working directory L"unix\\home\\krishna\\.local\\share\\applications\\wine\\Programs\\Autodesk\\Fusion360\\default\\", starting in the Windows directory.
setProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) failed: COM error 0x57  (Unknown error
0x057)
"C:/Program Files/Autodesk/webdeploy/production/0a22ca515421cec8a3addbf5f00fde68499915d7/plugins"
EnableNonClientDpiScaling() failed for HWND 0x300a2 (120) (Call not implemented.)
qt.webenginecontext:

GLImplementation: desktop
Surface Type: OpenGL
Surface Profile: CompatibilityProfile
Surface Version: 4.6
Using Default SG Backend: yes
Using Software Dynamic GL: no
Using Angle: no

Init Parameters:
  *  application-name Fusion360
  *  browser-subprocess-path C:\Program Files\Autodesk\webdeploy\production\0a22ca515421cec8a3addbf5f00fde6849991
5d7\QtWebEngineProcess.exe
  *  create-default-gl-context
  *  disable-d3d11
  *  disable-es3-gl-context
  *  disable-features DnsOverHttpsUpgrade,ConsolidatedMovementXY,InstalledApp,BackgroundFetch,WebOTP,WebPayments,
WebUSB,PictureInPicture
  *  disable-gpu-rasterization
  *  disable-speech-api
  *  enable-features NetworkServiceInProcess,TracingServiceInProcess
  *  enable-threaded-compositing
  *  ignore-gpu-blocklist
  *  in-process-gpu
  *  log-severity disabled
  *  no-proxy-server
  *  use-gl desktop

[380:384:0223/103504.375:ERROR:dxva_video_decode_accelerator_win.cc(1449)] DXVAVDA fatal error: could not LoadLib
rary: msvproc.dll: Module not found. (0x7E)
[380:384:0223/103504.518:ERROR:network_change_notifier_win.cc(228)] WSALookupServiceBegin failed with: 8
info:  Game: Fusion360.exe
info:  DXVK: v2.3
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6fffd67f3f00
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 15.0.7, 256 bits)
info:  Intel(R) HD Graphics 5500 (BDW GT2):
info:    Driver : Intel open-source Mesa driver 23.2.1
info:    Memory Heap[0]:
info:      Size: 11887 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:      Memory Type[1]: Property Flags = 0xf
warn:  DXGI: Found monitors not associated with any adapter, using fallback
info:  Adapter LUID 0: 0:412

DevTools listening on ws://<IP_ADDRESS>:9766/devtools/browser/3509292f-2ff0-4acb-999c-05af7537664f
info:  Game: Fusion360.exe
info:  DXVK: v2.3
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6fffd67f3f00
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 15.0.7, 256 bits)
info:  Intel(R) HD Graphics 5500 (BDW GT2):
info:    Driver : Intel open-source Mesa driver 23.2.1
info:    Memory Heap[0]:
info:      Size: 11887 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:      Memory Type[1]: Property Flags = 0xf
warn:  DXGI: Found monitors not associated with any adapter, using fallback
err:   readMonitorEdidFromKey: Failed to get EDID reg key size
err:   DXGI: Failed to parse display metadata + colorimetry info, using blank.
BUG OptionAdapter UseEagleRc called before setting callbacks.EagleAPI.Version = 0.1.2
BUG OptionAdapter UseEagleRc called before setting callbacks.BUG OptionAdapter UseEagleRc called before setting c
allbacks.QString::arg: 1 argument(s) missing in %1/scripts
QString::arg: 1 argument(s) missing in %1/scripts
BUG OptionAdapter UseEagleRc called before setting callbacks.QString::arg: 1 argument(s) missing in %1/ulps
QString::arg: 1 argument(s) missing in %1/ulps
BUG OptionAdapter UseEagleRc called before setting callbacks.QString::arg: 1 argument(s) missing in %1/design rul
es
QString::arg: 1 argument(s) missing in %1/design rules
BUG OptionAdapter UseEagleRc called before setting callbacks.QString::arg: 1 argument(s) missing in %1/spice
QString::arg: 1 argument(s) missing in %1/spice
Registering module:  "uiHelper"
EnableNonClientDpiScaling() failed for HWND 0x100f8 (120) (Call not implemented.)
"10:35::15.196" MAGWorkControllerClientConnection  cmd sent  "auth"
"10:35::15.197" MAGWorkClientControllerConnection  cmd sent  "auth"
MAGWorkControllerClientConnection  cmd received  "auth"
"10:35::15.198" MAGWorkControllerClientConnection  cmd sent  "authok"
MAGWorkClientControllerConnection  cmd received  "auth"
"10:35::15.199" MAGWorkClientControllerConnection  cmd sent  "authok"
MAGWorkClientControllerConnection  cmd received  "authok"
MAGWorkControllerClientConnection  cmd received  "authok"
Connecting to controller server
Controller server info:  QHostAddress("<IP_ADDRESS>") : 40661
host connected QHostAddress("<IP_ADDRESS>") : 40786
"10:35::15.205" MAGWorkControllerHostConnection  cmd sent  "auth"
"10:35::15.206" MAGWorkHostControllerConnection  cmd sent  "auth"
MAGWorkControllerHostConnection  cmd received  "auth"
"10:35::15.207" MAGWorkControllerHostConnection  cmd sent  "authok"
MAGWorkHostControllerConnection  cmd received  "auth"
"10:35::15.208" MAGWorkHostControllerConnection  cmd sent  "authok"
MAGWorkHostControllerConnection  cmd received  "authok"
Controller connected
Sending max processes:  4
"10:35::15.209" MAGWorkHostControllerConnection  cmd sent  "ready"
MAGWorkControllerHostConnection  cmd received  "authok"
Remote debugging server started successfully. Try pointing a Chromium-based browser to http://<IP_ADDRESS>:9766
MAGWorkControllerHostConnection  cmd received  "ready"
info:  Game: msedgewebview2.exe
info:  DXVK: v2.3
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6fffd67f3f00
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 15.0.7, 256 bits)
info:  Intel(R) HD Graphics 5500 (BDW GT2):
info:    Driver : Intel open-source Mesa driver 23.2.1
info:    Memory Heap[0]:
info:      Size: 11887 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:      Memory Type[1]: Property Flags = 0xf
warn:  DXGI: Found monitors not associated with any adapter, using fallback
info:  Adapter LUID 0: 0:44d
info:  Game: msedgewebview2.exe
info:  DXVK: v2.3
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6fffd67f3f00
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 15.0.7, 256 bits)
info:  Intel(R) HD Graphics 5500 (BDW GT2):
info:    Driver : Intel open-source Mesa driver 23.2.1
info:    Memory Heap[0]:
info:      Size: 11887 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:      Memory Type[1]: Property Flags = 0xf
warn:  DXGI: Found monitors not associated with any adapter, using fallback
warn:  D3D11DeviceFeatures: External memory features not supported
info:  D3D11InternalCreateDevice: Maximum supported feature level: D3D_FEATURE_LEVEL_11_1
info:  D3D11InternalCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_1
info:  Device properties:
info:    Device : Intel(R) HD Graphics 5500 (BDW GT2)
info:    Driver : Intel open-source Mesa driver 23.2.1
info:  Enabled device extensions:
info:    VK_EXT_custom_border_color
info:    VK_EXT_depth_clip_enable
info:    VK_EXT_non_seamless_cube_map
info:    VK_EXT_robustness2
info:    VK_EXT_shader_module_identifier
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_swapchain
info:  Device features:
info:    robustBufferAccess                     : 1
info:    fullDrawIndexUint32                    : 1
info:    imageCubeArray                         : 1
info:    independentBlend                       : 1
info:    geometryShader                         : 1
info:    tessellationShader                     : 1
info:    sampleRateShading                      : 1
info:    dualSrcBlend                           : 1
info:    logicOp                                : 1
info:    multiDrawIndirect                      : 1
info:    drawIndirectFirstInstance              : 1
info:    depthClamp                             : 1
info:    depthBiasClamp                         : 1
info:    fillModeNonSolid                       : 1
info:    depthBounds                            : 0
info:    wideLines                              : 0
info:    multiViewport                          : 1
info:    samplerAnisotropy                      : 1
info:    textureCompressionBC                   : 1
info:    occlusionQueryPrecise                  : 1
info:    pipelineStatisticsQuery                : 1
info:    vertexPipelineStoresAndAtomics         : 1
info:    fragmentStoresAndAtomics               : 1
info:    shaderImageGatherExtended              : 1
info:    shaderClipDistance                     : 1
info:    shaderCullDistance                     : 1
info:    shaderFloat64                          : 1
info:    shaderInt64                            : 1
info:    variableMultisampleRate                : 1
info:    shaderResourceResidency                : 0
info:    shaderResourceMinLod                   : 0
info:    sparseBinding                          : 0
info:    sparseResidencyBuffer                  : 0
info:    sparseResidencyImage2D                 : 0
info:    sparseResidencyImage3D                 : 0
info:    sparseResidency2Samples                : 0
info:    sparseResidency4Samples                : 0
info:    sparseResidency8Samples                : 0
info:    sparseResidency16Samples               : 0
info:    sparseResidencyAliased                 : 0
info:  Vulkan 1.1
info:    shaderDrawParameters                   : 1
info:  Vulkan 1.2
info:    samplerMirrorClampToEdge               : 1
info:    drawIndirectCount                      : 1
info:    samplerFilterMinmax                    : 0
info:    hostQueryReset                         : 1
info:    timelineSemaphore                      : 1
info:    bufferDeviceAddress                    : 0
info:    shaderOutputViewportIndex              : 1
info:    shaderOutputLayer                      : 1
info:    vulkanMemoryModel                      : 1
info:  Vulkan 1.3
info:    robustImageAccess                      : 0
info:    pipelineCreationCacheControl           : 1
info:    shaderDemoteToHelperInvocation         : 1
info:    shaderZeroInitializeWorkgroupMemory    : 0
info:    synchronization2                       : 1
info:    dynamicRendering                       : 1
info:  VK_AMD_shader_fragment_mask
info:    extension supported                    : 0
info:  VK_EXT_attachment_feedback_loop_layout
info:    attachmentFeedbackLoopLayout           : 0
info:  VK_EXT_conservative_rasterization
info:    extension supported                    : 0
info:  VK_EXT_custom_border_color
info:    customBorderColors                     : 1
info:    customBorderColorWithoutFormat         : 1
info:  VK_EXT_depth_clip_enable
info:    depthClipEnable                        : 1
info:  VK_EXT_depth_bias_control
info:    depthBiasControl                       : 0
info:    leastRepresentableValueForceUnormRepresentation : 0
info:    floatRepresentation                    : 0
info:    depthBiasExact                         : 0
info:  VK_EXT_extended_dynamic_state3
info:    extDynamicState3AlphaToCoverageEnable  : 0
info:    extDynamicState3DepthClipEnable        : 0
info:    extDynamicState3RasterizationSamples   : 0
info:    extDynamicState3SampleMask             : 0
info:    extDynamicState3LineRasterizationMode  : 0
info:  VK_EXT_fragment_shader_interlock
info:    fragmentShaderSampleInterlock          : 0
info:    fragmentShaderPixelInterlock           : 0
info:  VK_EXT_full_screen_exclusive
info:    extension supported                    : 0
info:  VK_EXT_graphics_pipeline_library
info:    graphicsPipelineLibrary                : 0
info:  VK_EXT_line_rasterization
info:    rectangularLines                       : 0
info:    smoothLines                            : 0
info:  VK_EXT_memory_budget
info:    extension supported                    : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 0
info:  VK_EXT_non_seamless_cube_map
info:    nonSeamlessCubeMap                     : 0
info:  VK_EXT_robustness2
info:    robustBufferAccess2                    : 1
info:    robustImageAccess2                     : 1
info:    nullDescriptor                         : 1
info:  VK_EXT_shader_module_identifier
info:    shaderModuleIdentifier                 : 1
info:  VK_EXT_shader_stencil_export
info:    extension supported                    : 0
info:  VK_EXT_swapchain_colorspace
info:    extension supported                    : 0
info:  VK_EXT_swapchain_maintenance1
info:    swapchainMaintenance1                  : 0
info:  VK_EXT_hdr_metadata
info:    extension supported                    : 0
info:  VK_EXT_transform_feedback
info:    transformFeedback                      : 1
info:    geometryStreams                        : 1
info:  VK_EXT_vertex_attribute_divisor
info:    vertexAttributeInstanceRateDivisor     : 1
info:    vertexAttributeInstanceRateZeroDivisor : 1
info:  VK_KHR_external_memory_win32
info:    extension supported                    : 0
info:  VK_KHR_external_semaphore_win32
info:    extension supported                    : 0
info:  VK_KHR_maintenance5
info:    maintenance5                           : 0
info:  VK_KHR_present_id
info:    presentId                              : 0
info:  VK_KHR_present_wait
info:    presentWait                            : 0
info:  VK_NVX_binary_import
info:    extension supported                    : 0
info:  VK_NVX_image_view_handle
info:    extension supported                    : 0
info:  VK_KHR_win32_keyed_mutex
info:    extension supported                    : 0
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 0
info:    Sparse   : n/a
warn:  DXVK: No state cache file found
info:  DXVK: Graphics pipeline libraries not supported
err:   D3D11VideoDevice::GetVideoDecoderProfileCount: Stub
info:  Intel(R) HD Graphics 5500 (BDW GT2):
info:    Driver : Intel open-source Mesa driver 23.2.1
info:    Memory Heap[0]:
info:      Size: 11887 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:      Memory Type[1]: Property Flags = 0xf
warn:  DXGI: Found monitors not associated with any adapter, using fallback
[6620:6620:0223/103522.374109:ERROR:socket.cc(120)] recvmsg: Connection reset by peer (104)

@Tony763 I appreciate your help because I got it working!!! I purged my Snap Firefox install, installed it with the debian package, set my default browser to firefox and it worked. I logged in.

I can trace that winebrowser.exe is actually called in my case with
$ strace --no-abbrev --string-limit=1024 -f -o /tmp/strace.log -e trace=execve .fusion360/wineprefixes/default/box-run.sh 2>&1 | grep developer.api.autodesk

In /tmp/strace.log I found a line like
execve("/opt/wine-staging/bin/wine64-preloader", ["/opt/wine-staging/bin/wine64-pre"..., "/opt/wine-staging/bin/wine64", "C:\\windows\\system32\\winebrowser." ....

It even proceeds correctly and executes chrome (probably in a snap). But no window opens. I tried switching the default browser to firefox (also probably in a snap) with the same result. Unclear why.  But the above command has the right URL to proceed. I can manually put it in the browser and get to the page where I can successfully authenticate.
Being redirected back does not work for me either. Apparently the mime type has changed from adskidmgr to adsk.idmgr. When I updated the xdg settings (xdg-mime default adskidmgr-opener.desktop x-scheme-handler/adsk.idmgr) and the handler in ~/.local/share/applications/adskidmgr-opener.desktop I get the Fusion to come to pop up. But still still not log in.
So in summary, there is a bug in opening the browser window which can be worked around with strace. Additionally the mime types seems not to match and the fix is straight forward to replace adskidmgr with adsk.idmgr. But this still does not get us there.

I manually pasted the url from strace into firefox and things worked out. This firefox is even in a snap package.

Hi @alexswerner, try firefox from DEB package, it worked for me, every other browser just crash.

Did the related bug fix in wine 9.3 released yesterday fix the issue?
https://bugs.winehq.org/show_bug.cgi?id=54794

I did not test it yesterday as new version was not published as package, yet. But I think, fix was merged much soner so mention in changelog was just backloging.

Oh. Bummer.

I am seeing the same thing. This used to work incredibly well for a couple of days before the update. I am on Winen 9.3 Staging.

Yep, me too. Just filling bug on wine.

https://bugs.winehq.org/show_bug.cgi?id=56373
I will compare logs from 9.2

BTW, returning back to 9.2 fixes issue.

Having spent a couple hours fiddling this evening trying to get things up and running, confirm @Tony763 s result that rolling back to Wine 9.2 works (I now have it running on Ubuntu 22.04), 9.3 still seems busted.

I believe the error is related to two things.

The default Browser, which is being opened in Linux instead of Wine.
The handler for the url "adskidmgr:/" which is done after login.

To solve 1.
I installed chrome on wine.... using offline installer.
export WINEPREFIX="/home/ricardo/.fusion360/wineprefixes/default"
wine ChromeStandaloneSetup64.exe
I edit register  "HKEY_CLASSES_ROOT\http\shell\open\command"
and "HKEY_CLASSES_ROOT\https\shell\open\command"
And point to "C:\Program Files\Google\Chrome\Application\chrome.exe" "%1"
To solve 2.
I tried to add desktop entry as explained in: https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux/issues/391#issuecomment-1952768578
But dont work.
What I did was copy the link after logging in and manually run the
wine "C:\Program Files\Autodesk\webdeploy\production\0a22ca515421cec8a3addbf5f00fde68499915d7\Autodesk Identity Manager\AdskIdentityManager.exe" "adskidmgr:/login?code=xxxxxxxxxxxxx"

Hi @ricardojlrufino, just to by sure, for error 2. did you edit resulting desktop entry and removed  / and ^M as described? Code in comment #391 is mean to report bug not to show a correct way how to do it :slightly_smiling_face:

HI @Tony763 , I didn't make this adjustment, it went unnoticed.

Downgrade Wine-staging to 9.2 and it still doesn't work.  Seems like when I hit the sign in button it just locks up.  The web browser does pop up and I do sign up but nothing happens when it tries to redirect.

I think you might fix it with my comment in #396

I think you might fix it with my comment in #396

thanks!! i can fix it

I am somehow still unable to log in. I am using Firefox from the arch repo and used the install.sh script to install fusion.
The command
❯ find . -name "AdskIdentityManager.exe"
returns:

./.fusion360/wineprefixes/default/drive_c/Program Files/Autodesk/webdeploy/production/b738a7f16475c27414ba957f7f0b2ee5b34e4e6d/Autodesk Identity Manager/AdskIdentityManager.exe

My adskidmgr-opener.desktop contains the following:
[Desktop Entry]
Type=Application
Name=adskidmgr Scheme Handler
Exec=env WINEPREFIX="/home/josua/.fusion360/wineprefixes/default" wine "/home/josua/.fusion360/wineprefixes/default/drive_c:/Program Files/Autodesk/webdeploy/production/b738a7f16475c27414ba957f7f0b2ee5b34e4e6d/Autodesk Identity Manager/AdskIdentityManager.exe"%u
StartupNotify=false
MimeType=x-scheme-handler/adskidmgr;

Any idea what could be going wrong here? I already rebooted as well as someone stated that worked for them...

I have solved this issue. I have change the desktop. files to read-only so that a newer update can't change the content of these files!


Fixed InputContext::GetNumDeviceMappings()

Previously, GetNumDeviceMappings would unconditionally return INPUT_DEVICE::kTotal = 10 when VR support is enabled, which is incorrect in non-VR versions.
Now it correctly returns 4 on SE and AE, but still 10 on VR. Also added INPUT_DEVICES::VirtualKeyboard() which returns the correct enum value for the virtual keyboard based on runtime version.

Thanks!


Protocol relative baseUri support

Hello, this pull request provide support for protocol relative baseUri, e.g. //some.host/api

Coverage decreased (-0.03%) to 89.168% when pulling b51c808cf4a8601ea9c1d41fb42c2a8eedb75a40 on Ezaki113:master into 2f85b8de28fdf3276c9f61fdfdcf6862bca3017c on alecsammon:master.

👍

@Ezaki113 Please change the uri back to url in all instances it was changed.

@Ezaki113 Sorry, I'll try to sound more like a human being. Why did you change the name from url to uri? :)

@pies because there are no baseUrl param in 0.8/1.0 specs and baseUri can also be uri template which is not URL


Fix missing argument pass-through for display_ee

Fixes #219

Coverage remained the same at 64.81% when pulling 4f5eef30d5766b2ec79d84ec7c3632f22aa56bcd on issue-219 into c0afe7b341af380f2d2fad493fc1c7c33eba9650 on master.


Spider gbXML Viewer R15 'Maevia'

@ladybug-tools/core @mdengusiak @EK-CEL
Spider gbXML Viewer R15 'Maevia' is kind of ready for testing. It does not yet have all the features of previous releases. Help deciding what features to bring in and with what priority is something you can help with now,
Spider gbXML Viewer R15 'Maevia'
New features include

handle very large files ( > 700MB )
code is quite modular with code in small files

Use this link for the latest: http://www.ladybug.tools/spider-gbxml-tools/spider-gbxml-viewer
Source code: https://github.com/ladybug-tools/spider-gbxml-tools/tree/master/spider-gbxml-viewer

Zoom problem:

SGV R15.4 fixes the Displays Settings > zoom all issue

Problem: When I show\hide storeys the app resets the "Show/hide by surface type" settings.

Yup, I pointed this out in the pop-up menu help:

Currently has no connection with 'Show/hide by surface type' settings. Interaction and precedence is a to-be-done

Working out the way the interaction is should be is going to be tricky. And the coding is going to be fun. I think it's going to be the the latest action overrides all preceding actions. I could write this all up. But a better thing will be to build a few experiments.

I believe openings and edges are child sub-elements of surfaces. And they should be shown only for the visible surfaces.

Currently in R15 there is only the minimum amount of code for openings. There will be more and the above issues will be dealt with.
The only question is what is the priority for openings / data validation / sun and shadow / and a number of other features that exist in previous release that will be here one day.

I'd like to have the no connection with 'Show/hide by surface type' settings problem to be solved at first. After that the program will be fully functional and can be published for users.
The rest of the "problems" are mostly cosmetic and can be addressed when the program reaches "polishing" phase.
I guess the opening/edges "child presentation" is somewhere deep in the app core and would require significant efforts. But fixing this issue will make the app more tree-like structured and manageable.

@EK-CEL
SGV R15.5 may provide a solution to a better the connection between

Show/hide by surface type
Show/hide by storeys

I will fix the openings issue at the same time as developing a future clickable openings module

Sorry , I still have a problem with surfaces and storeys. I click the following for a multistorey building model:

[ exterior surfaces ] button
Select LEVEL 00 from the storey list
[InteriorWall] surface type

I expect the interior walls appeared for the selected storey only. Unfortunately the app resets the whole building.

Storey and zone buttons not working well for me. Please see a sample model, i.e. Samples1 > annapolis-md-single-family-residential-2016.xml

@EK-CEL
Good points
Some thoughts:
Check Revisions
Always check that you are on latest revision. Very often you need clear the cache. Control-Shift-R should do this. Whenever I do a fix, I increment the release number so do check that we are on same page.
Surface types and Building Storeys
Getting the settings as you want is still very tricky. The following image was made by clicking some stoeys then clicking some types then going back and clicking some storeys.

Zones
There are a number of issues:

A lot of models do not have well-defined zone
The button for zones does not seem to be updating its text
Nobody has pushed me to do a better job with zones

Let's work on this!

Thank you for the thoughts. Typically after working with a large model I open a small one, then I can load another model. I guess it should clean up the cache.
Sure the Zone issue is not crucial for core functioning, but my eyebrows go up when I see such strange behavior.  Probably I should temper my perfectionism. :) I don't understand how well-polished  should be the app to get published. Personally, I would like to have fixed the storey and surface type coordination (watch the video here), and I can live with all other issues.

@EK-CEL

Typically after working with a large model I open a small one, then I can load another model. I guess it should clean up the cache.

This does not always work as wanted. often files are cached by the ISP or whatever it seems. So do check revision numbers and how to do a hard reload when playing with new releases.

Sure the Zone issue is not crucial for core functioning, but my eyebrows go up when I see such strange behavior.

The Annapolis model - from Revit - definitely has some strange zones. Most other models - that use zones - seem to be OK. Please do point me to others of the sample models that you feel might have issues in the Viewer.

storey and surface type coordination

Will work on it. Shade is definitely having issues. Currently storeys 'see' the surface types, but not vice versa. Will work on getting both to see and respond each other's states in a better way.
I will be out exploring the countryside around the the San Francisco Bay area today and tomorrow, so no quick fixes.

@EK-CEL
** Spider gbXML Viewer 'Maevia' R15.6
I worked a bit on the storey. and surface type connections. The both update and check the others current status at the same time, There are many issues.
Things that help:

Do use new reset and show all buttons
Better first to set the surface types you want visible then second set the storeys

The interaction between all the surface types and all the levels and all the buttons you can push is complicated. It will take time and patience to work out a good work flow for suitable for most offices
Show / Hide by Surface Type

Refactor/simplify code a lot. Improve filtering for roof/shade etc. Add 'reset surfaces' and 'Show all' buttons. Add surface types and storeys connections.

Show / Hide by Storey

Update pop-up text
Better connection with surface type buttons

Tried the R15.6 update. It works better now. Unfortunately I select surface types, but they don't appear. I need to re-select the storeys I want to explore.
Still storey/surface type connection require improvements. Thank you very much for working on it!

@EK-CEL
Thank you for the feedback. I am noticing some of these issues too. It's a very interesting set of circumstances and I am having fun tackling them.
So let's think of some workflows that we would like to solve as a priority.
Would you like to select a group of surface type to display then check level by level and then do some editing? Or would you like to first select a level and then be able to click surface types on or off then edit?
Of course , eventually we want to do both. But in the meantime, we need to create one or two workflows that I can debug and that enable you to check things
If you could describe several steps you normally take fix a model that could really help.

Typically I use the first scenario:** select a group of surface type to display then check level by level**.
In fact during the review I need to see how other "invisible" surface types compromise the model. For example, I choose the "Exterior Surfaces", go to a floor, and  (accidentally realizing that I need to check other surfaces)  turn on the Interior Wall surfaces (for the currently selected levels only! I don't want to reset the whole model). Then I review Interior Surfaces are not exposed. And if there is no problems I turn them off and go to the next level.

@EK-CEL
SGV R15.7 is up
Shade is having issues. the various filter buttons have issues.
The types and storeys interaction seems to be progressing

Looks good for me.
It seems we need the Show All Storeys button.

@EK-CEL
R15.8 ~ add (not very smart) show all storeys button

I wish the button getting smarter :)

@EK-CEL
I think the 'show all storeys' button in SGV R15.12 is a bit smarter.
It should now be doing a better job of staying in touch with the surfaces by type settings.

Minor issue:
The app shows the "No surfaces would be visible", but they are there. It is confusing a little bit, but not important.

I think the 'show all storeys' button in SGV R15.12 is a bit smarter.

The button works like a charm. Thank you!

@EK-CEL

The app shows the "No surfaces would be visible", but they are there. It is confusing a little bit, but not important.

What do you think of the behavior in Maevia 15.3?

@theo-armour
Sorry, I cannot find the R15.3 version.

@EK-CEL
Oops link should have been to latest: R15.13
You can always get latest release with this link
https://www.ladybug.tools/spider-gbxml-tools/spider-gbxml-viewer/