Improve handling of query timeouts

Currently when a SQL query fails due to a timeout, the end user gets a not so nicely presented exception message.
We should probably be:

Tuning the database to minimise the likelyhood of query timeouts

Handle the query timeout exception in a dedicated way and deliver a useful error message to the end user

Here is an example of a stack trace for a query timeout:
[2018-06-28 08:47:02,271] ERROR in views: Unhandled error occurred, sqlalchemy.exc.OperationalError: (psycopg2.extensions.QueryCanceledError) canceling statement due to statement timeout
 [SQL: 'SELECT measurement.input_no AS m_input_no, measurement.measurement_start_time AS measurement_start_time, measurement.msm_no AS msm_no, measurement.report_no AS m_report_no, coalesce(label.anomaly, measurement.anomaly, false) AS anomaly, coalesce(label.confirmed, measurement.confirmed, false) AS confirmed, coalesce(label.msm_failure, measurement.msm_failure, false) AS msm_failure, measurement.exc AS exc, measurement.residual_no AS residual_no, report.report_id AS report_id, report.probe_cc AS probe_cc, report.probe_asn AS probe_asn, report.test_name AS test_name, report.report_no AS report_no, coalesce(input.input, NULL) AS input \nFROM measurement JOIN report ON report.report_no = measurement.report_no LEFT OUTER JOIN label ON label.msm_no = measurement.msm_no LEFT OUTER JOIN input ON measurement.input_no = input.input_no \nWHERE report.probe_cc = %(probe_cc_1)s ORDER BY test_name DESC \n LIMIT %(param_1)s OFFSET %(param_2)s'] [parameters: {'probe_cc_1': 'IR', 'param_1': 150, 'param_2': 150}] (Background on this error at: http://sqlalche.me/e/e3q8)
Unhandled error occurred, sqlalchemy.exc.OperationalError: (psycopg2.extensions.QueryCanceledError) canceling statement due to statement timeout
 [SQL: 'SELECT measurement.input_no AS m_input_no, measurement.measurement_start_time AS measurement_start_time, measurement.msm_no AS msm_no, measurement.report_no AS m_report_no, coalesce(label.anomaly, measurement.anomaly, false) AS anomaly, coalesce(label.confirmed, measurement.confirmed, false) AS confirmed, coalesce(label.msm_failure, measurement.msm_failure, false) AS msm_failure, measurement.exc AS exc, measurement.residual_no AS residual_no, report.report_id AS report_id, report.probe_cc AS probe_cc, report.probe_asn AS probe_asn, report.test_name AS test_name, report.report_no AS report_no, coalesce(input.input, NULL) AS input \nFROM measurement JOIN report ON report.report_no = measurement.report_no LEFT OUTER JOIN label ON label.msm_no = measurement.msm_no LEFT OUTER JOIN input ON measurement.input_no = input.input_no \nWHERE report.probe_cc = %(probe_cc_1)s ORDER BY test_name DESC \n LIMIT %(param_1)s OFFSET %(param_2)s'] [parameters: {'probe_cc_1': 'IR', 'param_1': 150, 'param_2': 150}] (Background on this error at: http://sqlalche.me/e/e3q8)
[2018-06-28 08:48:05,697] ERROR in views:   File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python3.5/site-packages/connexion/decorators/decorator.py", line 66, in wrapper
    response = function(request)
  File "/usr/local/lib/python3.5/site-packages/connexion/decorators/validation.py", line 293, in wrapper
    return function(request)
  File "/usr/local/lib/python3.5/site-packages/connexion/decorators/decorator.py", line 42, in wrapper
    response = function(request)
  File "/usr/local/lib/python3.5/site-packages/connexion/decorators/parameter.py", line 219, in wrapper
    return function(**kwargs)
  File "/app/measurements/api/measurements.py", line 320, in list_measurements
    for row in q:
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2878, in __iter__
    return self._execute_and_instances(context)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2901, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 186, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 507, in do_execute
    cursor.execute(statement, parameters)

  File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python3.5/site-packages/connexion/decorators/decorator.py", line 66, in wrapper
    response = function(request)
  File "/usr/local/lib/python3.5/site-packages/connexion/decorators/validation.py", line 293, in wrapper
    return function(request)
  File "/usr/local/lib/python3.5/site-packages/connexion/decorators/decorator.py", line 42, in wrapper
    response = function(request)
  File "/usr/local/lib/python3.5/site-packages/connexion/decorators/parameter.py", line 219, in wrapper
    return function(**kwargs)
  File "/app/measurements/api/measurements.py", line 320, in list_measurements
    for row in q:
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2878, in __iter__
    return self._execute_and_instances(context)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 2901, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 186, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/usr/local/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 507, in do_execute
    cursor.execute(statement, parameters)

end user gets a not so nicely presented exception message

Does he? Exception messages should be delivered to user's browser if and only if the app is running in DEBUG=True mode. Otherwise that information leak is considered a possible vulnerability.

Do they? Exception messages should be delivered to user's browser if and only if the app is running in DEBUG=True mode

I don't mean that they get a stack trace, but rather the message field of the JSON formatted response says sqlalchemy.exc.OperationalError instead of saying "You query timed out because it was too broad" or something of that sort.
My suggestion is to explicitly handle that particular exception (i.e. the query timed out) and fill the response with a well written error message instead of the sqlalchemy exception.

Ah! Yes, that's really good suggestion, I've not got the idea at first :-)


[v2.9] Revert wrangler v2.0

What this PR does / why we need it:
Since we don't know yet, when exactly Wrangler for v2.9 will be updated. We have to revert this change.
https://github.com/rancher/gke-operator/pull/306
Which issue(s) this PR fixes
Issue #
Special notes for your reviewer:
Checklist:

[ ] squashed commits into logical changes
[ ] includes documentation
[ ] adds unit tests
[ ] adds or updates e2e tests
[ ] backport needed

wrong branch


Package Folder Structure

This PR shows the basic changes required to migrate this repository to a Unity Package hierarchy (defined here) so that it can be more easily integrated into a project and more easily maintained. I go into more detail here (https://github.com/VRMADA/ultimatexr-unity/discussions/3) as to why I think the repo should adopt this folder structure & import mechanism.
To test, add my branch to a project via the package manager through a gitURL. This will mimic what it would be like for an end user to add the package to their project. Or checkout my branch and select "Add package from disc..." to mimic what it would be like for a maintainer to add the package.
HTTPS URL: https://github.com/nvandessel/ultimatexr-unity.git#feature/package-folder-structure

Hi @nvandessel,
Thanks a lot for the pull request! As soon as we release our next update I will try to merge it.
Adding the package support is our next top priority right now.

Merged in your latest changes to the package structure, I haven't tested though, however; did not have any compile errors in Editor after resolving the conflicts. I choose all upstream/main and simply ensured things stayed in the correct directory.

Thanks for merging the latest changes. Adding Package Folder Structure is our next goal right now.

Merged in changes from v0.9.2

I'm currently reviewing the folder structure and will do some preliminary tests using a private repo. \Art\Devices and \Scripts\Devices, although empty, should also be inside \Runtime. Is there a specific reason why they were left outside?
I'm also wondering if we should rename Examples to Samples or if the name is OK as long as it's referenced also in the package.json section.

I've added the following changes:

Moved the Hand Pose Editor presets to the Editor folder and added support for the Hand Pose Editor Window to load them in both modes (\Assets and package). This wasn't working correctly before.
Adjusted all editor script namespaces to mirror the new folder structure.
Added new ULTIMATEXR_PACKAGE symbol to detect when the framework was installed using the package manager.
Some other minor changes.

I'm going to fully test it again using this version and if everything goes well it should be ready to be merged to main.
Please tell me if it also works on your side and if you have additional suggestions.

Hi! I'll try to find time later tonight to do some testing, if I'm unable to this evening, I wont be able to test until tomorrow afternoon (PST). Everything looks correct in terms of organization though!
No suggestions right now, seems like you've got the package structure figured out now 😃

Thanks! If everything is correct I hope to merge the pull request on Monday to officially release 0.9.3

Exciting stuff! Thanks for working with me to unlock this!

What would be the recommended way to provide users without git the possibility to install the package? I guess it would require a scoped registry and hosting the package yourself. I've found OpenUPM but it seems to work using a command-line interface instead of the Package Manager UI. It seems they tried to integrate it but at some point the Unity terms changed and now it's prohibited: https://github.com/openupm/openupm/discussions/10

Personally we use Verdaccio which was recommended to us by Unity, however this has a similar issue of not displaying Packages within the Package Manager UI for things that are not currently installed. Once a package is installed though it does work and shows when updates are available, but I realize this is not a perfect UX.
It's definitely possible though because HTC has been supplying all their SDKs for the Focus3 through the package manger, and you're able to see all packages within their scoped registry within the package manager. I have a feeling that they might be using OpenUPM too, but not certain. I would recommend checking out their packages (if you haven't already), by just adding their scoped registry and then you can peek at their package.json as well to see how they have formatted things to ensure it plays nice.
Name: Vive
URL: https://npm-registry.vive.com/
Scopes: com.htc.upm

Users should be able to use the HTTPS URL without jumping through too many hoops with Git, basically just hit copy and paste into the package manager.
Another alternative is publishing on the Unity Asset Store, they accept (and might even prefer) package folder structure, that way user can import the asset from there. To do this I believe you just need to export a .unitypackage or you supply a directory (the root of this repo) and it creates the .unitypackage for you.


Add TipTap Editor for code highlighting

This one was inspired from : https://github.com/liyasthomas/postwoman/pull/78 .
Basically this one is done with TipTap editor (readonly mode) and highlight.js. Given the fact that tiptap is a text editor (but displays as divs), it solves the problem with responsiveness, copying html etc., and this one is able to handle any type of input (but highlighting is only available for js, css,  xml, json or other language if we wanna add.).
Only Problem with this: HTML is always parsed into DOM and display as text, so there is no HTML highting here ...

Hey @starvsion,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 1779fbd0-ca9c-11e9-8574-4b7115d53811

Is this not a direct conflict with #78?

Is this not a direct conflict with #78?

Just a proposal for an alternative solution to that one ...

Fair enough, I just feel like using a WYSIWYG editor library is a bit overkill. It also abstracts away a lot of the control from us in terms of style. So I prefer fixing #78 over a new implementation. Either way, having an alternative doesn't hurt!

Better alternatives are always welcomed but as @NBTX said, this seems like an overkill.

This one was inspired from : #78 .
Basically this one is done with TipTap editor (readonly mode) and highlight.js. Given the fact that tiptap is a text editor (but displays as divs), it solves the problem with responsiveness, copying html etc., and this one is able to handle any type of input (but highlighting is only available for js, css, xml, json or other language if we wanna add.).
Only Problem with this: HTML is always parsed into DOM and display as text, so there is no HTML highting here ...

Thank you for your PR, I have thought about this approach as well, but I kinda had the thought of keeping Postwoman as lean as possible, I mean, that is one sole thing this project focuses on right ? To be a quick and lean alternative to other API Requesters out there. That is even one of the reasons I preferred Prism over highlight.js, we don't need full on parsers, for our use case, a regex based highlighter is more than enough... Prism is lean, and really modular so with the build time tree shaking and stuff, we just have minimal code in the final version.

This one was inspired from : #78 .
Basically this one is done with TipTap editor (readonly mode) and highlight.js. Given the fact that tiptap is a text editor (but displays as divs), it solves the problem with responsiveness, copying html etc., and this one is able to handle any type of input (but highlighting is only available for js, css, xml, json or other language if we wanna add.).
Only Problem with this: HTML is always parsed into DOM and display as text, so there is no HTML highting here ...

Thank you for your PR, I have thought about this approach as well, but I kinda had the thought of keeping Postwoman as lean as possible, I mean, that is one sole thing this project focuses on right ? To be a quick and lean alternative to other API Requesters out there. That is even one of the reasons I preferred Prism over highlight.js, we don't need full on parsers, for our use case, a regex based highlighter is more than enough... Prism is lean and really modular so with the build time tree shaking and stuff, we just have minimal code in the final version...

This one was inspired from : #78 .
Basically this one is done with TipTap editor (readonly mode) and highlight.js. Given the fact that tiptap is a text editor (but displays as divs), it solves the problem with responsiveness, copying html etc., and this one is able to handle any type of input (but highlighting is only available for js, css, xml, json or other language if we wanna add.).
Only Problem with this: HTML is always parsed into DOM and display as text, so there is no HTML highting here ...

Thank you for your PR, I have thought about this approach as well, but I kinda had the thought of keeping Postwoman as lean as possible, I mean, that is one sole thing this project focuses on right ? To be a quick and lean alternative to other API Requesters out there. That is even one of the reasons I preferred Prism over highlight.js, we don't need full on parsers, for our use case, a regex based highlighter is more than enough... Prism is lean and really modular so with the build time tree shaking and stuff, we just have minimal code in the final version...

I agree, maybe having an editor is an overkill, I will close this PR now.


[PowerToys Run] Inline calculations fail when including parentheses -- utilising operator precedence

Description of the new feature / enhancement
I expect operator precedence (use of parentheses) for inline calculations should at the least be supported by PowerToys Run.
Currently when attempting to perform non-complex calculations involving parentheses, the input stops being treated as a calculation.
For comparison, macOS equivalent Spotlight supports parentheses without issue.
Scenario when this would be used?
Useful when trying to perform only slightly more complex calculations using PowerToys Run.
Supporting information
Simple inputs such as:

(25+20)
(1+2)/3
etc.

Examples are welcome/needed for us to adress this issue

Examples are welcome/needed for us to adress this issue

OP Updated.

Hi @jcphua I can repro this. Calculation with parentheses are supported only if the Calculator plugin is called with the action keyword (default is=). Not sure if a bug or if by design.

Nice. Wasn't aware of the = prefix. Good to know.
My response to this new knowledge, and whether to deem this issue (closed) is whether as per your comment it's a bug or by design-- is PowerToys is targeted for simpletons like me, or for power users (or those attentive enough to have seen any docs mentioning this = calculation prefix)?

Default activation commands are documented here: https://docs.microsoft.com/en-us/windows/powertoys/run#direct-activation-commands and can be customized in the plugin manager.
In the Calculator plugin docs parentheses are not mentioned: https://docs.microsoft.com/en-us/windows/powertoys/run#calculator-plugin
Let's keep this opened: I will look at source code and clarify this behavior.

Oh thats pretty simple: ( is the default activation command for Time and Date plugin.
You have to disable the plugin or change the activation command.

@jaimecbernardo @crutkas is this something we want to change?
xref https://github.com/microsoft/PowerToys/issues/14495

I think we should change the default key. One issue we do face is period for math as well.  I think ( is too math centric so we should tweak that.
Maybe a warning box for “this action command will impact math calculations” for period and (

@crutkas
What do you suggest as new activation command for the 'Time and Date' pulgin and for the Program plugin?

Program I think is hard as period is pretty powerful in the context of quickness.
For date time, It could be as easy as shitting to )

For date time, It could be as easy as shitting to )

Let's not do that 🤣🤣💩

Eek. Let edit that

Program I think is hard as period is pretty powerful in the context of quickness.

For date time, It could be as easy as shifting to )

Had to look twice to see the difference between the old ( and your suggested ) 😄

Eek. Let edit that

What does "Eek" mean?

Eek. Let edit that

What does "Eek" mean? Don't know this phrase.

The same as "oops".
It's also the name of a silly cartoon.

@crutkas
As I understand you prefer ) as new activation command for time and date plugin.
Dou you have an idea for program plugin now?
@niels9001
What is needed to add a warning on some activation commands?

 Could be a more complex activation as well such as ‘time’

I don’t have a massive preference on this. Could be a more complex activation as well such as ‘time’

@crutkas
What about * for program?
After some investigation we should war on the following character as the break calc on global queries: ., ,, (, +, -

Period was picked cause it was a no-shift key in pretty much all (if not all) keyboard layouts.  It also has advantage of being east reach where on US keyboards, asterisk fails both those criteria

Why are we messing with program here?  Why don’t we just make the activate “time”?

I think the period is changed in case somebody wants to start a calculation with (e.g.) .5 * pi

Why are we messing with program here? Why don’t we just make the activate “time”?

This comes from you. You suggested to change program plugin.

I think the period is changed in case somebody wants to start a calculation with (e.g.) .5 * pi

And yes this is true.

While valid, That should be done outside this targeted issue and the PR. That is a much larger discussion and thinking point due to two years of muscle memory for everyone and have very few complaints of the scenario.

@crutkas
Is this issue fixed or should we keep open for the dot keyword used in program plugin? For me it feels closed.

this targeted that since keyword so yes.  I do think we should rethink what is on by default.


Using too many shapes yields strange effects

Description
As title suggests, adding too many shapes causes weird effects in the editor:

When adding the latest shape, the focus is shifted to the top-left corner of the canvas where it shows a text input.
Scrolling back the widgets back into view, all shapes except the last one are selectable.
Trying to delete the last shape yields a TypeError:
app.min.js:1976 Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
    at mxCodec.encodeCell (app.min.js:1976)
    at mxObjectCodec.a.encodeObject (app.min.js:1996)
    at mxObjectCodec.encode (app.min.js:1981)
    at mxCodec.encode (app.min.js:1975)
    at Editor.getGraphXml (app.min.js:2095)
    at Editor.getGraphXml (app.min.js:10518)
    at App.EditorUi.getXmlFileData (app.min.js:10724)
    at App.EditorUi.getFileData (app.min.js:10735)
    at App.<anonymous> (app.min.js:11034)
    at app.min.js:272

After which none of the other shapes are selectable.
Reproduce
See GIF above, tested in ipydrawio 1.1.3 and 1.2.0 (binder)

Start a fresh instance of Diagram
Add 8 shapes, these are placed without problems
Adding a next shape (9) cause a shift of focus.

The problem seems to occur when object with id=10 is added.
Note that a fresh diagram starts with two cells already defined with id=0 and 1
Adding 9 shapes as above leads to the final shape having id=10.
Similarly, adding two shapes, removing them, and adding seven shapes yields the same problem as the final shape still has id=10
Expected behavior
No issues adding more than 10 shapes
Arrows are also counted as shapes with an id, so this is really impeding making large flowcharts for me
Context
https://mybinder.org/v2/gh/bollwyvl/jupyterlab-drawio/gh-80-widget-custom-shapes?urlpath=lab%2Ftree%2Fdocs%2Ftutorials%2Fworking-with-custom-libraries%2Findex.ipynb

thanks for the report... unfortunately, i have never encountered that error condition, and have built some fairly large things with the editor (though less so through the widget).
I see the reference for binder: does this also occur with the latest conda/pip installable versions?

Yes, if i spin up a new Jlab instance with a fresh install this error also happens.
It seems to be related to the Widget, in the Document I can confirm this is not an issue.
Do you see this problem in the binder as well? Or is just on my machine for some reason?

@bollwyvl just wondering if you are experiencing this as well in the widget?
If i run the binder above I get this problem just copying 9 shapes into the canvas.
I tested in Chrome, Firefox and Edge -> happens in all browsers.
Tested on multiple machines -> happens on my laptop and desktop machine.
This bug is hurting my productivity a bit...


Development server renders nav from top node, while live server renders children

I created a site by copying the Pacific theme, and the navigation configuration contains a top-level "Welcome" with a handful of children. On the live server, the "Welcome" node is not rendered, while on the dev server it is.
Here's the configuration:

Live server:

Dev server:

Sorry for using screenshots to communicate the issue - I'm not yet sure what the best way is to output and report useful data!

Weird. What does the navigation block partial look like? Can you paste it in here?

I'm pretty sure this is unchanged from the template:
{.section items}

    {.repeated section @}
      {.collection?}
        {.index?}
          {.if collection}
            {.if collection.homepage}
              {.repeated section items}
                {.section collection}
                  {.collectionTypeNameEquals? gallery}
                  {.or}

                      {navigationTitle}

                  {.end}
                {.end}
              {.end}
            {.end}

                {collection.navigationTitle}

          {.end}
        {.or}

        {.folder?}

          <input type="checkbox" name="folder-toggle-{collection.id}" id="folder-toggle-{collection.id}" class="folder-toggle-box hidden" />
          {collection.navigationTitle}

          {.repeated section items}

            {.collection?}

                {collection.navigationTitle}

            {.end}
            {.section externalLink}

                {title}

            {.end}
          {.end}

        {.or}

          {.section collection}

              {navigationTitle}

          {.end}

        {.end}
      {.end}
      {.or}
        {.section externalLink}

            {title}

        {.end}

      {.end}

    {.end}

{.end}

It seems like it might be going into the folder code path, though the "Welcome" node is an index?

Replicated this locally with the Pacific template so I think I can fix it. It looks like I'm not currently supporting the index? predicate, just the folder? one.

An index only renders its children, not the index root, if its set as the homepage.

Nvm - that's hardcoded into the template. Looks like all it needed was to support the index? predicate.

Looks like a fix - but it was actually in the jsont module - https://github.com/NodeSquarespace/node-squarespace-jsont/commit/8247659f76422501575b21de9a7a6c0696d01cd7. I bumped the version for the server though, so you should be able to run an update and pull in the latest node-squarespace-jsont as well.
:)

Looks good. Thanks!


Duplicate carriers/shipping method gets displayed when multiple association are available in the database

Current behavior

If the same shipping method gets associated with a carrier multiple times, then in that case, the shipping method is displayed multiple times in the dropdown on the order details page or in the tracking code modal.
Expected behavior

If the carrier or shipping methods have multiple associations then only unique values should be displayed in the all the select dropdowns.
Steps to reproduce the issue

Can you handle fixing this bug by yourself?

[x] YES
[ ] NO

Environment details

Browser:
OS:
Code Version:

Additional information

The duplicate carriers are caused by duplicate data in the FacilityParty table, and the duplicate shipment methods are due to duplicate data in the ProductStoreShipmentMeth table. The source of the duplicate data should be fixed to resolve this issue correctly. As a precaution, a PR has been raised to fetch distinct records.


Failed to fetch exception in console

Server.ts:161  Uncaught (in promise) TypeError: Failed to fetch
    at Server.ts:161
    at new Promise (<anonymous>)
    at e.value (Server.ts:156)
    at ResizeHandler.tsx:101
    at o (debounce.js:17)

check #240 for reason why this is being closed


Extension for merging

Hello,
First off, I have been using FluentResults for a while and found it really great so far. I mostly use this library for Return Types like Result<some-type>. I have a question or suggestion. I would like to collate multiple errors/reasons into one result and I use Result.Merge(...) for this purpose. I wonder if there is any better approach or any suggestion.
What I am currently doing
public static Result Validate(Person model)
{
    var result = Result.Ok();

   if (string.IsNullOrWhiteSpace(model.FirstName))
   {
            result = Result.Merge(
                result,
                Result.Fail($"{nameof(model.FirstName)} must not be empty"));
    }

   if (string.IsNullOrWhiteSpace(model.LastName))
   {
            result = Result.Merge(
                result,
                Result.Fail($"{nameof(model.LastName)} must not be empty"));
    }

    return result;
}

Can we consider having some extension like result.Merge(Result.Fail($"{nameof(model.LastName)} must not be empty"))?
Thank you!

Hi, thanks for your feedback.
I'am dealing with the same scenario. I would write ...
public static Result Validate(Person model)
{
    return Result.Merge(
            Result.FailIf(string.IsNullOrWhiteSpace(model.FirstName), $"{nameof(model.FirstName)} must not be empty"),
            Result.FailIf(string.IsNullOrWhiteSpace(model.LastName)), $"{nameof(model.LastName)} must not be empty")
            );
}

If you still need a result.Merge(...) method then feel free to submit a pull request. The setup of FluentResults is very easy.

Many thanks for your response. This is much more elegant than what I achieved with WithError as below
{
    var result = Result.Ok();

   if (string.IsNullOrWhiteSpace(model.FirstName))
   {
            result.WithError($"{nameof(model.FirstName)} must not be empty");
    }

   if (string.IsNullOrWhiteSpace(model.LastName))
   {
            result.WithError($"{nameof(model.LastName)} must not be empty");
    }

    return result;
}```

I have observed the following:
1. Using ```WithError``` changes the Result to Fail but not ```WithReason```. That made me rethink how to use reasons and errors.
2. The constructor of Result is public. Is this intentional?

I will have a look into submitting a PR for merge extensions.

I don't really understand that. WithReason() has the same logic as WithError()

Yes this is intentional. I think it was because to support a generic approach for that mediatr validation pipeline https://github.com/altmann/FluentResults/blob/master/src/FluentResults.Samples.MediatR/MediatRLogic/PipelineBehaviors/ValidationPipelineBehavior.cs


services/horizon: Remove Horizon Submission Queue

Closes #4996

PR Checklist
PR Structure

[ ] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[ ] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[ ] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.
[ ] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[ ] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[ ] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What
Horizon manages an internal submission queue. This intent of this is to protect/isolate clients from potentially receiving error messages on transaction submission when multiple transactions are submitted very quickly in succession. If transactions (from the same source account) are submitted with sequence numbers out-of-order, then this submission queue will hold those transactions in-memory so that it can re-order them in line with their sequence numbers, allowing all of them to succeed when they are actually submitted to core
This PR:

removes this queue and routes transactions directly to core for submission.
removes the tests related to the queue.

Why
Recently, core has released a change that prevents the submission of multiple transactions in a ledger for a given account. With this change, the Horizon submission queue is even less likely to provide any benefit to end-users, and if anything cause more confusion. Transactions would be queued up in-memory, only to have only one of them be able to be submitted when they were finally submitted to core.
Known limitations
N/A

Loving that there's so much code going away 🥳 Left a couple of notes where I'm not sure about behavior.
Are there DB tables that can be dropped as a result of this PR?

@Shaptic No db tables will be dropped for this change.

I think ErrNoAccount can be removed since it seems to not be referenced anywhere

I think we can simplify OpenSubmissionList by removing all the error return values from the function signatures. I noticed that none of the functions actually returned any errors except for Add() which tries to validate the transaction hash. I don't think it's necessary to have this validation because we have already validated the transaction hash before invoking txsub


NFS Ganesha Per-Host Exports

Addresses bugs 1 & 2 of #4467 - the task now creates a conf-HOSTNAME RADOS object if one doesn't already exist instead of the default ganesha-export-index object. This allows NFS Ganesha to pick up exports per-host rather than globally, and for Ceph's Dashboard to recognise what NFS Ganesha servers exist in the cluster. The NFS Ganesha configuration template has also been updated so that NFS Ganesha uses the host-specific RADOS object for determining exports.

@KingJ
It means this could be removed:
roles/ceph-nfs/defaults/main.yml:51:ceph_nfs_rados_export_index: "ganesha-export-index"

@KingJ do you want someone to take over this PR?

@KingJ any news?

@guits Apologies for the lack of activity on this PR. I've not had as much time to work on this as i'd like recently, so if you would be willing to take over this PR that's not a problem by me.

jenkins test all


Update token cards more gracefully when there's a matching script

Fixes token update glitch seen when debug tokenscript matches address of token but not the chain - ie token with same address on different chains is created by same account and there's a script for one of those token but not the other. Rare but annoying.
Smooths out update when debug script is dropped in and closes a TODO.

@JamesSmartCell so what happens now if the same address but different chain is triggered via a debug tokenscript?

It all works correctly. This is to fix an ugly update glitch that is very hard to get. I only saw it because I have two tokens on different chains with the same address, one of which has a script the other doesn't.
I also had a TODO: in the code that was causing the issue so it seemed like a good opportunity to resolve that at the same time. Works better now.


Asciidoc backend?

Hello,
I have been following the progress of Substance for a while. I always found it was providing a neat user experience, way ahead of any other editors.
I was wondering what would be the shortest path to map the structure of the document into DocBook or better, Asciidoc?
Thanks :-)

Obsolete.


Reduce size of Jupiter-Notebook's ASCII logo

Some of our ASCII logos exceed the max size imposed by our Guideline. The Jupyter-notebook's ASCII logo is one of them:

The idea would be to come up with a new ASCII logo for Jupyter-notebook with a width < MAX_WIDTH = 40 and height < MAX_HEIGHT = 25

To check if your ASCII logo falls into the boundaries of width/height defined above, you can run cargo test -- --ignored

I would like to resolve this one.

@atluft have you already completed it? Just wanted to ask as I had come up with a solution too.

no, go ahead and I will try another

@maash3r
Go ahead, I will look at another one.

@atluft Thanks.
@o2sh Can you assign it to me?


Tacotron2 convert onnx issue

Hi, Thanks to this repository. I have a trained Text2Speech model(with custom data) on tacotron2 but when I try to convert my pytorch model to onnx, the outputted audio results are not as good as the pytorch model's results.
Also the length of the result audio file with onnx model is bigger than the result from my pytorch model.
I did not face any code errors while converting my model.
I am using the example provided on the espnet_onnx.
on issue 28, the author mentioned the same audio file problem when converting the tacotron2 pytorch model to onnx.
Is there any updates on this issue ?
Thank you!

Thank you for reporting your issue @shakhbozabdigapporov. I would like to confirm the following:

What is your ESPnet and ESPnet-ONNX version? Does the same error occur with the latest version?
Do you use vocoder in your model? If so, please check the vocoder_type config. The config file is located in the ~/.cache/espnet_onnx/<your model name>/config.yml. If it was set to not_used, then please check if your vocoder is supported here
Is the sample_rate or other configuration correct?

Thank you for your reply!

I am using ESPnet-ONNX latest version.
The vocoder I am using for my model config is:
vocoder:
model_path: .../PWGVocoder.onnx
vocoder_type: OnnxVocoder
And it is supported. But I have a trained vocoder as well but the result is the same with my trained vocoder as well.
The model and the vocoder I am using is taken from this github: https://github.com/IS2AI/Kazakh_TTS.git
The sample rate and other configurations are correct.

The problem is vits model is working perfect with great results when converted to onnx but this model only is not working well.

@shakhbozabdigapporov
After some analysis, I came to think that there might be bugs around the decoder part of the Tacotron2 implementation. If it is okay, would you share the tts_conf? I will further investigate the decoder part with your configuration...

Thanks for the reply. Here is my train config for tts with Tacotron2 model.
It is working fine with the pth model I have.  Here is my train config for tts with Tacotron2 model.
It is working fine with the pth model I have.  Here is my train config for tts with Tacotron2 model.
It is working fine with the pth model I have.  Here is my train config for tts with Tacotron2 model.
It is working fine with the pth model I have.  I've thoroughly investigated this issue but couldn't identify any bugs.

Could you attempt to reproduce this issue using the pretrained model on the Hugging Face Hub, such as kan-bayashi/ljspeech_tacotron2 (link)? If you encounter the same issue, please share the model name.
If this issue isn't reproducible with the mentioned model or others, would you compare the configurations and share the differences? I want to check the difference in configuration.


How to 'uncheck' a checkbox?

Hi Andrew,
I am able to 'check' a checkbox using the WVInput element with
WVInput eleInput = new WVInput(...)  ...;
eleInput.Checked = true;
However I'm unable to uncheck the same checkbox. I have tried a few methods, for example...
eleInput.Checked = false;
 eleInput.set_setAttribute("checked","");
 eleInput.remoteAttribute("checked");
also FYI
It seems the following 'disabled' property works...
eleInput.removeAttribute("disabled");
But the setter on the boolean doesn't work...
eleInput.Disabled = false;
regards,
Paul Jackson

Thanks for spotting that, there's some unfinished code around booleans, will have a fix shortly.

I've fixed the boolean issues now, so should be OK.

Andrew, is WVInput.@checked a typo in the zip download?

@pjacko Where are you seeing WVInput@checked?

In the WVBrowser assembly
 namespace Aimco.WV2 {     public class WVInput : WVHTMLElement {         public WVInput(WVBrowser NewBrowser, ulong Id);`
        public string formNoValidate { get; set; }
...
        public string formAction { get; set; }
        public bool @checked { get; set; }
        public void select();
        public void setRangeText(string Text, int Start, int Finish, WVUtils.WVSelectMode SelectMode = WVUtils.WVSelectMode.preserve);
    }
}

Hmm, never seen that before, it's not from the source:
Property checked() As Boolean
	Get
		Return Bool("checked")
	End Get
	Set(value As Boolean)
		Bool("checked") = value
	End Set
End Property

Is it the same after this morning's update?

Andrew, it's still in a C# project for the WVBrowser.dll version 0.0.865.2.
It seems that 'checked' is a reserved word in C#, which is probably the cause.
#region Assembly WVBrowser, Version=0.0.865.2, Culture=neutral, PublicKeyToken=null
// C:\projects\oaWebView2\Core\WVBrowser\WVBrowser.dll
#endregion

namespace Aimco.WV2 {
    public class WVInput : WVHTMLElement {
        public WVInput(WVBrowser NewBrowser, ulong Id);
       ...
       public string formAction { get; set; }
        public bool @checked { get; set; }
       ...
        public void setSelectionRange(int Start, int Finish, WVUtils.WVSelectionDirection SelectionDirection = WVUtils.WVSelectionDirection.none);
    }
}


Fixes for ExternalRefProcessor issues #434 and #435

Fixes

#434 - Some $ref values from external files are not updated with the processed internal reference values
#435 - Relative reference can also start with "/"

Hi @JehandadK  can you please try on an spec with the new release of parser. I believe we solved this issue, but not sure. Can you please test? if is not solve please send us a PR wit a failing test thanks.

moved to #864


From 01-05-2022 (recording audio)

For some reason WebXDownloader downloads has some audio problem, I mean on streaming it works fine but when downloaded some times videos has missing audio (no noise), just completely missing segments of audio of the recording at random.
Using: Google chrome, latest version of webxdownloader, vlc as media player

Hi, have you tried a different player? I have some reports that people are having problems with VLC, but other players seem to work.

Yeah seems, an issue with VLC player, I'll close the issue thanks for the help dind't think about it since I dind't update it and was running just fine few weeks ago


Remove explicit panics and exits

Remove explicit panics and exits
Let's bubble up errors instead of panicking and also not use exit(...) because it does not call destructors which might give issues.

Stack created with Sapling. Best reviewed with ReviewStack.

#78
-> #77
#76
#75
#72
#71

I think it is bad to make too many pr at the same time. We cannot know what should be merged first, Can you only mark the first pr to ready to review and other ones to draft?

Changes made in https://github.com/waycrate/wayshot/pull/77/commits/bc9098e6be4ace02c9ce35749f9625c6a765beb2 look fine to me! Approved!


[Bug]: Docx document leads to a blank display for the knowledge graph

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Branch name
main
Commit ID
1621313c0f6dcd82fb67d4d00e0f9552c814361a
Other environment information
Ubuntu 20.04
Python 3.11
NodeJs v18.8.0
Nvidia RTX 3090
CUDA 11.8

Actual behavior
When using the GraphRAG model, clicking on a parsed docx document leads to a blank display for the knowledge graph image, but the mind map guide is displayed correctly. Then I imported a book.txt, and both the knowledge graph and the mind map were displayed correctly.
Blank graph:

Mind map is ok:

book.txt knowledge graph and mind map both ok:

Expected behavior
No response
Steps to reproduce
upload docx file and trunk by GraphRAG method

Additional information
No response

@WildCamel Can you upload the file which failed to display knowledge graph?


Mismatch data type in instrument description model

BybitSpotInstrumentLotSizeFilter
There is unclear description in market Bybit api for instrument type, but in response example it is decimal for spot.
https://bybit-exchange.github.io/docs/v5/market/instrument#response-parameters
>> basePrecision	string	The precision of base coin
>> quotePrecision	string	The precision of quote coin

https://bybit-exchange.github.io/docs/spot/public/instrument#response-parameters
> basePrecision	string	Decimal precision (base currency)
> quotePrecision	string	Decimal precision (quote currency)

Fixed in new version. Thank you very much


fix urls for fetching runs

the documentation here implies that we're supposed to use an applicationId or a pipelineId to fetch runs not name and owner

+1


Error occured: Sequence contains no elements

Hello,
I am getting error while Extracting product and tags from the respective api.
I tried the latest branch as mentioned in the 468
The updated code also not working, Please help us , Thanks.

Hi,
I'm getting this error too.
On my case the APIM have a lot off API's (1000+) not sure if is related with that.
Thanks!

@RupengLiu please take a look.

We have the same issue.
Steps to reproduce
Setup

Create a new APIM instance using the Consumption plan.
Create a new blank API with a single GET operation.
Do not create any product.

Runs the tool with the following parameters:
extract --sourceApimName YOUR_APIM_NAME --destinationApimName YOUR_APIM_NAME --resourceGroup YOUR_APIM_RESOURCE_GROUP --fileFolder TAGET_FOLDER_PATH

The tools throws: System.InvalidOperationException: 'Sequence contains no elements'. The exception occurs in ProductAPIExtractor:107
string apiProductName = templateResources.Last().name.Split('/', 3)[1];

Additional information
You won’t get this exception if your API is included in at least one product.

Getting the same error when extracting tags
Extracting tags from example-api API: 'post-httpexample' Operation found 'get-httpexample' Operation found Error occured: Sequence contains no elements Sequence contains no elements

Hi @miaojiang any update on this? This is a showstopper for me.

Ok fixed it, problem is in TagAPIExtractor.cs around line 134. Here is the updated code. Will work on a pull request.
if (templateResources.Count > 0)
{
// Extract the tag name from the last resource
string[] lastTagName = templateResources.Last().name.Replace("')]", "").Split('/');
if (lastTagName.Length > 3)
{
// Operations tag
dependsOn = new string[] { $"[resourceId('Microsoft.ApiManagement/service/apis/operations/tags', parameters('{ParameterNames.ApimServiceName}'), '{apiName}', '{lastTagName[2]}', '{lastTagName[3]}')]" };
}
else
{
// API tag
dependsOn = new string[] { $"[resourceId('Microsoft.ApiManagement/service/apis/tags', parameters('{ParameterNames.ApimServiceName}'), '{apiName}', '{lastTagName[2]}')]" };
}
}

Hi! This issue is still active. needs same fix as commit
https://github.com/Azure/azure-api-management-devops-resource-kit/commit/747ed9ed0425c70d36f3ffd92d8c53d7b4aa68d1#diff-2f15c8251abffed3751427799d66466e265b6a23270945547acff84e8c14ebd8
but for ProductApiExtractor
                foreach (string apiName in multipleApiNames)
                {

                    templateResources.AddRange(await GenerateSingleProductAPIResourceAsync(apiName, exc, dependsOn));
                    if (templateResources.Count > 0)
                    {
                        string apiProductName = templateResources.Last().name.Split('/', 3)[1];
                        dependsOn = new string[] { $"[resourceId('Microsoft.ApiManagement/service/products/apis', parameters('{ParameterNames.ApimServiceName}'), '{apiProductName}', '{apiName}')]" };
                    }
                }

Hello. Thanks for your comments and descriptive contributions.
Recently we were working on refactoring the repo code, I hope this trouble is gone. Check out the links for the fixed code:

ProductApiExtractor checks
TagApiExtractor checks

Let me close the issue now. If this or any other trouble appears, feel free to open a new issue.


Enforce that == is used instead of === for strings

In Dart, strings are not identity equal if they have the same content (only sometimes, e.g. if they are small or the app runs in dart2js).

Doing it this way is less error prone than changing === to == when we know that the type is a string...


Fix compiling issue with newer gcc-ng package versions

@VictorOnink discovered an interesting bug.
On his cluster, he was running parcels and got the following error:
In file included from /tmp/parcels-20788/parcels_random_4145b686-38e2-45a1-aadd-d599bc75389a.c:1:0:
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h: In function 'temporal_interpolation_structured_grid':
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:511:7: error: 'for' loop initial declarations are only allowed in C99 mode
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:544:7: note: in expansion of macro 'INTERP'
       INTERP(spatial_interpolation_bilinear, spatial_interpolation_trilinear_surface);
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:511:7: note: use option -std=c99 or -std=gnu99 to compile your code
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:544:7: note: in expansion of macro 'INTERP'
       INTERP(spatial_interpolation_bilinear, spatial_interpolation_trilinear_surface);
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:516:7: error: 'for' loop initial declarations are only allowed in C99 mode
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:544:7: note: in expansion of macro 'INTERP'
       INTERP(spatial_interpolation_bilinear, spatial_interpolation_trilinear_surface);
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:511:7: error: 'for' loop initial declarations are only allowed in C99 mode
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:546:7: note: in expansion of macro 'INTERP'
       INTERP(spatial_interpolation_bilinear, spatial_interpolation_trilinear);
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:516:7: error: 'for' loop initial declarations are only allowed in C99 mode
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:546:7: note: in expansion of macro 'INTERP'
       INTERP(spatial_interpolation_bilinear, spatial_interpolation_trilinear);
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:511:7: error: 'for' loop initial declarations are only allowed in C99 mode
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:549:5: note: in expansion of macro 'INTERP'
     INTERP(spatial_interpolation_nearest2D, spatial_interpolation_nearest3D);
     ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:516:7: error: 'for' loop initial declarations are only allowed in C99 mode
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:549:5: note: in expansion of macro 'INTERP'
     INTERP(spatial_interpolation_nearest2D, spatial_interpolation_nearest3D);
     ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:511:7: error: 'for' loop initial declarations are only allowed in C99 mode
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:551:5: note: in expansion of macro 'INTERP'
     INTERP(spatial_interpolation_tracer_c_grid_2D, spatial_interpolation_tracer_c_grid_3D);
     ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:516:7: error: 'for' loop initial declarations are only allowed in C99 mode
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:551:5: note: in expansion of macro 'INTERP'
     INTERP(spatial_interpolation_tracer_c_grid_2D, spatial_interpolation_tracer_c_grid_3D);
     ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:511:7: error: 'for' loop initial declarations are only allowed in C99 mode
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:553:5: note: in expansion of macro 'INTERP'
     INTERP(spatial_interpolation_bilinear_invdist_land, spatial_interpolation_trilinear_invdist_land);
     ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:516:7: error: 'for' loop initial declarations are only allowed in C99 mode
       for (int i = 0; i < tii; i++) {                                   \
       ^
/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include/parcels.h:553:5: note: in expansion of macro 'INTERP'
     INTERP(spatial_interpolation_bilinear_invdist_land, spatial_interpolation_trilinear_invdist_land);
     ^
Compiling: gcc -Wall -fPIC -I/home/ubelix/climate/vo18e689/anaconda3/envs/py3_parcels_v2_2/lib/python3.6/site-packages/parcels/include -g -O3 -m64 -o /tmp/parcels-20788/parcels_random_4145b686-38e2-45a1-aadd-d599bc75389a.so /tmp/parcels-20788/parcels_random_4145b686-38e2-45a1-aadd-d599bc75389a.c -shared -m64

Now, we compared our version of gcc-ng. The outcome:
I have the package from the conda-forge channel, which gives us a gcc-version of 7.3.0. He has on the cluster a version of gcc with 9.3.0.
The issue is as follows:
gcc 9.3.0 is more strict in enforcing a certain C-standard during code-parsing. Now, having a for (...)-loop in a macro-definition is not allowed in the initial C-89 standard, which is the default standard applied by gcc without re-definition. gcc 7.3.0 doesn't check this part of the standard-compliance during the syntax check of C-parsing, but gcc 9.3.0 does check that compliance. Hence, we don't get an error with the conda-forge version of gcc-ng, but we do get that error with the anaconda version of gcc-ng.
How can we solve it ?

[ ] add the compiler switch -std=c99 to the compiler (not linker) switches in the code generator in parcels

Thanks for reporting! Could this be part of #914, which refactors the compiler? Would be a good application of why we need to soon merge that PR

Just to flag that I also encountered this bug working on a cluster at GFDL. gcc version 9.3.0 is what was installed by default into the py3_parcels environment. A fresh install with gcc_linux-64==7.3.0 does not seem to have worked - same error crops up.

Note that downgrading parcels to 2.1.5 works.

Background on the compiler flag: see GCC man-page

here is the related section about the applicable C-standard:
       -std=
           Determine the language standard.   This option is currently only supported when compiling C or C++.

           The compiler can accept several base standards, such as c90 or c++98, and GNU dialects of those standards, such as gnu90 or gnu++98.  When a base
           standard is specified, the compiler accepts all programs following that standard plus those using GNU extensions that do not contradict it.  For
           example, -std=c90 turns off certain features of GCC that are incompatible with ISO C90, such as the "asm" and "typeof" keywords, but not other
           GNU extensions that do not have a meaning in ISO C90, such as omitting the middle term of a "?:" expression. On the other hand, when a GNU
           dialect of a standard is specified, all features supported by the compiler are enabled, even when those features change the meaning of the base
           standard.  As a result, some strict-conforming programs may be rejected.  The particular standard is used by -Wpedantic to identify which
           features are GNU extensions given that version of the standard. For example -std=gnu90 -Wpedantic warns about C++ style // comments, while
           -std=gnu99 -Wpedantic does not.

           A value for this option must be provided; possible values are

           c90
           c89
           iso9899:1990
               Support all ISO C90 programs (certain GNU extensions that conflict with ISO C90 are disabled). Same as -ansi for C code.

           iso9899:199409
               ISO C90 as modified in amendment 1.

           c99
           c9x
           iso9899:1999
           iso9899:199x
               ISO C99.  This standard is substantially completely supported, modulo bugs and floating-point issues (mainly but not entirely relating to
               optional C99 features from Annexes F and G).  See <http://gcc.gnu.org/c99status.html> for more information.  The names c9x and iso9899:199x
               are deprecated.

           c11
           c1x
           iso9899:2011
               ISO C11, the 2011 revision of the ISO C standard.  This standard is substantially completely supported, modulo bugs, floating-point issues
               (mainly but not entirely relating to optional C11 features from Annexes F and G) and the optional Annexes K (Bounds-checking interfaces) and
               L (Analyzability).  The name c1x is deprecated.

           gnu90
           gnu89
               GNU dialect of ISO C90 (including some C99 features).

           gnu99
           gnu9x
               GNU dialect of ISO C99.  The name gnu9x is deprecated.

           **gnu11
           gnu1x
               GNU dialect of ISO C11.  This is the default for C code.  The name gnu1x is deprecated.**

           c++98
           c++03
               The 1998 ISO C++ standard plus the 2003 technical corrigendum and some additional defect reports. Same as -ansi for C++ code.

           gnu++98
           gnu++03
               GNU dialect of -std=c++98.

           c++11
           c++0x
               The 2011 ISO C++ standard plus amendments.  The name c++0x is deprecated.

           gnu++11
           gnu++0x
               GNU dialect of -std=c++11.  The name gnu++0x is deprecated.

           c++14
           c++1y
               The 2014 ISO C++ standard plus amendments.  The name c++1y is deprecated.

           gnu++14
           gnu++1y
               GNU dialect of -std=c++14.  This is the default for C++ code.  The name gnu++1y is deprecated.

           c++1z
               The next revision of the ISO C++ standard, tentatively planned for 2017.  Support is highly experimental, and will almost certainly change in
               incompatible ways in future releases.

           **gnu++1z
               GNU dialect of -std=c++1z.  Support is highly experimental, and will almost certainly change in incompatible ways in future releases.**

with GCC 8.4.0, this looks different:
       -std=
           Determine the language standard.   This option is currently only supported when compiling C or C++.

           The compiler can accept several base standards, such as c90 or c++98, and GNU dialects of those standards, such as gnu90 or gnu++98.  When a base
           standard is specified, the compiler accepts all programs following that standard plus those using GNU extensions that do not contradict it.  For
           example, -std=c90 turns off certain features of GCC that are incompatible with ISO C90, such as the "asm" and "typeof" keywords, but not other
           GNU extensions that do not have a meaning in ISO C90, such as omitting the middle term of a "?:" expression. On the other hand, when a GNU
           dialect of a standard is specified, all features supported by the compiler are enabled, even when those features change the meaning of the base
           standard.  As a result, some strict-conforming programs may be rejected.  The particular standard is used by -Wpedantic to identify which
           features are GNU extensions given that version of the standard. For example -std=gnu90 -Wpedantic warns about C++ style // comments, while
           -std=gnu99 -Wpedantic does not.

           A value for this option must be provided; possible values are

           c90
           c89
           iso9899:1990
               Support all ISO C90 programs (certain GNU extensions that conflict with ISO C90 are disabled). Same as -ansi for C code.

           iso9899:199409
               ISO C90 as modified in amendment 1.

           c99
           c9x
           iso9899:1999
           iso9899:199x
               ISO C99.  This standard is substantially completely supported, modulo bugs and floating-point issues (mainly but not entirely relating to
               optional C99 features from Annexes F and G).  See <http://gcc.gnu.org/c99status.html> for more information.  The names c9x and iso9899:199x
               are deprecated.

           c11
           c1x
           iso9899:2011
               ISO C11, the 2011 revision of the ISO C standard.  This standard is substantially completely supported, modulo bugs, floating-point issues
               (mainly but not entirely relating to optional C11 features from Annexes F and G) and the optional Annexes K (Bounds-checking interfaces) and
               L (Analyzability).  The name c1x is deprecated.

           c17
           c18
           iso9899:2017
           iso9899:2018
               ISO C17, the 2017 revision of the ISO C standard (expected to be published in 2018).  This standard is same as C11 except for corrections of
               defects (all of which are also applied with -std=c11) and a new value of "__STDC_VERSION__", and so is supported to the same extent as C11.

           gnu90
           gnu89
               GNU dialect of ISO C90 (including some C99 features).

           gnu99
           gnu9x
               GNU dialect of ISO C99.  The name gnu9x is deprecated.

           gnu11
           gnu1x
               GNU dialect of ISO C11.  The name gnu1x is deprecated.

           **gnu17
           gnu18
               GNU dialect of ISO C17.  This is the default for C code.**

           c++98
           c++03
               The 1998 ISO C++ standard plus the 2003 technical corrigendum and some additional defect reports. Same as -ansi for C++ code.

           gnu++98
           gnu++03
               GNU dialect of -std=c++98.

           c++11
           c++0x
               The 2011 ISO C++ standard plus amendments.  The name c++0x is deprecated.

           gnu++11
           gnu++0x
               GNU dialect of -std=c++11.  The name gnu++0x is deprecated.

           c++14
           c++1y
               The 2014 ISO C++ standard plus amendments.  The name c++1y is deprecated.

           gnu++14
           gnu++1y
               GNU dialect of -std=c++14.  This is the default for C++ code.  The name gnu++1y is deprecated.

           c++17
           c++1z
               The 2017 ISO C++ standard plus amendments.  The name c++1z is deprecated.
           gnu++17
           gnu++1z
               GNU dialect of -std=c++17.  The name gnu++1z is deprecated.

           c++2a
               The next revision of the ISO C++ standard, tentatively planned for 2020.  Support is highly experimental, and will almost certainly change in
               incompatible ways in future releases.

           gnu++2a
               GNU dialect of -std=c++2a.  Support is highly experimental, and will almost certainly change in incompatible ways in future releases.

In short: new GCC versions - as picked up by the new anaconda repo from @VictorOnink - redefine the standard C-version from C11 (GNU dialect) to C17 (GNU dialect), where  hiding functions in macro's is prohibited.

@VictorOnink - please check if the patch in #972 fixes your original problem

I've installed the latest version of parcels and it seems to all work. I haven't run a full simulation but before it would crash when I would try to run from parcels import ParcelsRandom, and now that doesn't have any issues at all. So it looks good!


Hammerhead.js is causing Test Cafe to fail a test

What is your Scenario?
I'm running the test that fails due to a hammerhead error.
What is the Current behavior?
The test fails.
What is the Expected behavior?
The test must pass.
What is your public website URL? (or attach your complete example)
See private ticket T1127746.
What is your TestCafe test code?
See private ticket T1127746.
Steps to Reproduce

Run the test.
Wait for result.

TestCafe version
2.1.0
Node.js version
16.18.0
Command-line arguments
testcafe chrome test.js
Browser name(s) and version(s)
<EMAIL_ADDRESS>Platform(s) and version(s)
Windows 10

@felis2803 could you share the stacktrace or more error if possible so we can see if it could be a similar error than another we could experience?

Same question than @JSteunou please :)

@JSteunou, @bbutel,
I'm sorry, I can't do that because a user from the DevExpress Support Center contacted us with this issue, and I can't share their data. Also, today they posted that they found the issue that was causing the hammerhead error and fixed it on their side. So, this issue will be closed.
It is better for you to open a separate issue dedicated to the problem you encountered. We will try to help.

Ok. It was juste to know if it is the same issue than we discovered (issue not opened yet because running out of time to make a simple example). It is related to optional chaining & hammerhead.


Drag Out Menu Broken

Saw a few people with the same issue on https://gitter.im/Dogfalo/materialize so I thought I'd open an issue.
The drag out menu is broken on the Materializecss.com site. I can't get it to work on my own either.
Thanks for the fantastic framework!

Duplicate of #239
It was disabled due to an iOS bug. We will work on a fix soon. And thanks!


[MLU] add mlu paddleinference c++ api demo.

RT

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Incorrect GetHashCode implementation for bindings with float/double

For the binding definition of SKSize, GetHashCode is defined as
	public override int GetHashCode ()
		{
			return (int) width ^ (int) height;
		}

However, this is incorrect. Size(10, 10) and Size(10.99, 10.99) will provide the same hash code in this instance.
I have a PR ready, but I presume, this bug also will remain across the definitions. Will probably give it a glance to see if more changes are required with other binding that accept float/double before submitting.

@prasannavl, thanks for pointing this out.
I had a look at the MS reference source, and they do this:
public override int GetHashCode() {
    return base.GetHashCode();
}

https://referencesource.microsoft.com/#System.Drawing/commonui/System/Drawing/Advanced/SizeF.cs,232
But in the case of RectangleF:
public override int GetHashCode() {
    return unchecked((int)((UInt32)X ^
        (((UInt32)Y << 13) | ((UInt32)Y >> 19)) ^
        (((UInt32)Width << 26) | ((UInt32)Width >>  6)) ^
        (((UInt32)Height <<  7) | ((UInt32)Height >> 25))));
}

https://referencesource.microsoft.com/#System.Drawing/commonui/System/Drawing/Advanced/RectangleF.cs,345
Interesting... I am not sure what the best thing is, or even why they differ.

Mono, on the other had gust casts to an int (I think I copied the mono format):
https://github.com/mono/mono/blob/master/mcs/class/System.Drawing/System.Drawing/SizeF.cs#L263
The rectangle is even more conflicting, they just add all the fields together:
https://github.com/mono/mono/blob/master/mcs/class/System.Drawing/System.Drawing/RectangleF.cs#L502
The question I as is... What should it be?

Interesting! In retrospect, for some reason, it eluded me that hash code need not be different for different values. It is a 4-byte number after all. It can't be. The only requirement being it has to be the same for the same set of values.
MS's base.GetHashCode supposedly XORed the entire memory block 32-bytes at a time, which is technically what mono's implementation does (though I found the results of both to be different - I'm guessing the native implementation does more than just XOR - perhaps changed over time).
For what it's worth, I think the mono implementation is simpler, and uses lesser instructions (though negligible) than MS, in case of the RectangleF.
This is an interesting tid-bit, though I think now that this whole issue isn't actually one. I apologize, if I had wasted your time unintentionally. Closing this.

@prasannavl No problem and waste. We all learned something - I had to look up these things. The community is what keeps it real!


FileDestination.swift:95:92: Cannot convert value of type '[FileAttributeKey : Any]?' to expected argument type '[String : Any]?'

In the 6.0.0 version, I'm receiving an error when building in Xcode 9:
XCGLogger/Destinations/FileDestination.swift:95:92: Cannot convert value of type '[FileAttributeKey : Any]?' to expected argument type '[String : Any]?'
My app is written in Swift 3.2.
The line referenced is:
https://github.com/DaveWoodCom/XCGLogger/blob/master/Sources/XCGLogger/Destinations/FileDestination.swift#L95

It does appear to be that that line isn't compatible with Swift 3.2.

Hi. Use XCGLogger 5.0.5 for Swift 3.2. 6.0.0 is for Swift 4.0.
They are functionally the same, 6.0.0 just updates syntax for Swift 4

OK, gotcha, thank you.

Hi @winzig and @TannerJuby1 (via #233).
I've done some more testing with this, and if you're using CocoaPods, it seems that pod update will change the SWIFT_VERSION setting for each target in your pod project. So you may have it set to 4.0, then it'll revert to 3.0 and you'll get the above errors again.
I've just released 6.0.1 that adds a setting to the podspec that specifies the SWIFT_VERSION for XCGLogger. However, it seems that CocoaPods (1.3.1 at least) will still set a default version that overrides it. So, I've created a post_install hook you can add to your project's podfile that will correct the SWIFT_VERSION.
post_install do |installer|
    installer.pods_project.targets.each do |target|
        if ['SomeTarget-iOS', 'SomeTarget-watchOS'].include? "#{target}"
            print "Setting #{target}'s SWIFT_VERSION to 4.0\n"
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '4.0'
            end
        else
            print "Setting #{target}'s SWIFT_VERSION to Undefined (Xcode will automatically resolve)\n"
            target.build_configurations.each do |config|
                config.build_settings.delete('SWIFT_VERSION')
            end
        end
    end

    print "Setting the default SWIFT_VERSION to 3.2\n"
    installer.pods_project.build_configurations.each do |config|
        config.build_settings['SWIFT_VERSION'] = '3.2'
    end
end

You may need to tweak that, replace SomeTarget-iOS etc with other targets that should be 4.0 and don't specify the version in their podspec.
Let me know if that helps.

does this problem still exist?
I updated my pods and XCGLogger was updated to 6.0.4. getting the same error message:
"Cannot convert value of type '[FileAttributeKey : Any]?' to expected argument type '[String : Any]?'"
at code line:
`  private func openFile() {
guard let owner = owner else { return }
    if logFileHandle != nil {
        closeFile()
    }

    guard let writeToFileURL = writeToFileURL else { return }

    let fileManager: FileManager = FileManager.default
    let fileExists: Bool = fileManager.fileExists(atPath: writeToFileURL.path)
    if !shouldAppend || !fileExists {
        fileManager.createFile(atPath: writeToFileURL.path, contents: nil, attributes: fileAttributes)
    }

...
`
in:
//  FileDestination.swift
any updates on what to do?

hi @DaveWoodCom  can you please help  that how to add target name in the above script you had given... e.g if my one of the target name is "ProjNameWatchApp" then how could I add it in above script ? I had added like below
if ['ProjName', 'ProjNameWatchApp'].include? "#{target}"     print("Setting #{target}'s SWIFT_VERSION to 4.0\n")   else    print("Setting #{target}'s SWIFT_VERSION to Undefined (Xcode will automatically resolve)\n")   end
here the loop always goes in else condition and my every pod Swift_version is set like below
Setting AFNetworking's SWIFT_VERSION to Undefined (Xcode will automatically resolve) Setting APNumberPad's SWIFT_VERSION to Undefined (Xcode will automatically resolve)
Can you please help me how to solve the XCGLogger in FileDestination.swift file by solving this issue
Thanks

The problem still exists in Xode 10.2 swift 4.2 version, trying to upgrade it XCGLogger 6.1.0. Please do a permanent fix.

I think the solution to this might be to add:
  spec.swift_version = '4.2'

into the XCGLogger .podspec.


Bytes not encoding

Bytes need to have been given an encoding in order to convert string objects to bytes

Don't merge yet, still working through changes to the block and chain system as to how pickle and bytes interact.


🐞 v1 - Anomalib CLI entrypoint logs are duplicated

Describe the bug
When running anomalib via both API and CLI, the logs are duplicated.
Dataset
MVTec
Model
PADiM
Steps to reproduce the behavior

Run any model on any dataset via either CLI or API.
For example the following CLI command produces the following output:

anomalib fit --model Padim --data MVTe

OS information
OS information:

OS: MacOS
Python version: [3.10]
Anomalib version: [1.0.0]
PyTorch version: [2.1.1]
CUDA/cuDNN version: N/A
GPU models and configuration: M3

Expected behavior

Logs should not be duplicated.

Screenshots
No response
Pip/GitHub
GitHub
What version/branch did you use?
v1.0.0
Configuration YAML
N/A

Logs
❯
anomalib fit --model Padim --data MVTec
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find torch. To use this feature, ensure that you have torch installed.
2024-01-11 11:47:52,034 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
[01/11/24 11:47:52] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
Seed set to<PHONE_NUMBER>
2024-01-11 11:47:52,416 - anomalib.utils.config - WARNING - Anomalib currently does not support multi-gpu training. Setting devices to 1.
                    WARNING  Anomalib currently does not support multi-gpu training. Setting devices to 1.    config.py:239
[01/11/24 11:47:52] WARNING  Anomalib currently does not support multi-gpu training. Setting devices to 1.    config.py:239
2024-01-11 11:47:52,417 - anomalib.utils.config - INFO -  Setting model input size (256, 256) to dataset size (256, 256).
                    INFO      Setting model input size (256, 256) to dataset size (256, 256).                 config.py:180
                    INFO      Setting model input size (256, 256) to dataset size (256, 256).                 config.py:180
2024-01-11 11:47:52,418 - anomalib.utils.config - INFO - Project path set to results/padim/mvtec/bottle
                    INFO     Project path set to results/padim/mvtec/bottle                                   config.py:116
                    INFO     Project path set to results/padim/mvtec/bottle                                   config.py:116
2024-01-11 11:47:52,447 - anomalib.models.components.base.anomaly_module - INFO - Initializing Padim model.
                    INFO     Initializing Padim model.                                                 anomaly_module.py:36
                    INFO     Initializing Padim model.                                                 anomaly_module.py:36
2024-01-11 11:47:52,672 - timm.models.helpers - INFO - Loading pretrained weights from url (https://download.pytorch.org/models/resnet18-5c106cde.pth)
                    INFO     Loading pretrained weights from url                                             helpers.py:247
                             (https://download.pytorch.org/models/resnet18-5c106cde.pth)
                    INFO     Loading pretrained weights from url                                             helpers.py:247
                             (https://download.pytorch.org/models/resnet18-5c106cde.pth)
2024-01-11 11:47:52,741 - anomalib.data.utils.transforms - INFO - No config file has been provided. Using default transforms.
                    INFO     No config file has been provided. Using default transforms.                  transforms.py:130
                    INFO     No config file has been provided. Using default transforms.                  transforms.py:130
2024-01-11 11:47:52,743 - anomalib.data.utils.transforms - INFO - No config file has been provided. Using default transforms.
                    INFO     No config file has been provided. Using default transforms.                  transforms.py:130
                    INFO     No config file has been provided. Using default transforms.                  transforms.py:130
2024-01-11 11:47:52,744 - anomalib.callbacks - INFO - Loading the callbacks
                    INFO     Loading the callbacks                                                           __init__.py:45
                    INFO     Loading the callbacks                                                           __init__.py:45
2024-01-11 11:47:52,745 - anomalib.engine.engine - INFO - Overriding max_epochs from None with 1 for Padim
                    INFO     Overriding max_epochs from None with 1 for Padim                                  engine.py:81
                    INFO     Overriding max_epochs from None with 1 for Padim                                  engine.py:81
2024-01-11 11:47:52,746 - anomalib.engine.engine - INFO - Overriding val_check_interval from None with 1.0 for Padim
                    INFO     Overriding val_check_interval from None with 1.0 for Padim                        engine.py:81
                    INFO     Overriding val_check_interval from None with 1.0 for Padim                        engine.py:81
2024-01-11 11:47:52,746 - anomalib.engine.engine - INFO - Overriding num_sanity_val_steps from None with 0 for Padim
                    INFO     Overriding num_sanity_val_steps from None with 0 for Padim                        engine.py:81
                    INFO     Overriding num_sanity_val_steps from None with 0 for Padim                        engine.py:81
2024-01-11 11:47:52,870 - anomalib.data.image.mvtec - INFO - Found the dataset.
                    INFO     Found the dataset.                                                                mvtec.py:413
                    INFO     Found the dataset.                                                                mvtec.py:413
Epoch 0:   0%|                                                                                | 0/7 [00:00<?, ?it/s]Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
2024-01-11 11:47:59,627 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:47:59,627 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:47:59,627 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:47:59,627 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:47:59,627 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:47:59,627 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:47:59,627 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:47:59,628 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
[01/11/24 11:47:59] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
[01/11/24 11:47:59] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
[01/11/24 11:47:59] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
[01/11/24 11:47:59] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
[01/11/24 11:47:59] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.                                                        [01/11/24 11:47:59] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.

[01/11/24 11:47:59] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
[01/11/24 11:47:59] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
Epoch 0: 100%|██████████████████████████████████████████████████████████████████████| 7/7 [00:07<00:00,  0.95it/s, v_num=52024-01-11 11:48:00,636 - anomalib.models.image.padim.lightning_model - INFO - Aggregating the embedding extracted from the training set.
[01/11/24 11:48:00] INFO     Aggregating the embedding extracted from the training set.               lightning_model.py:88
[01/11/24 11:48:00] INFO     Aggregating the embedding extracted from the training set.               lightning_model.py:88
2024-01-11 11:48:00,665 - anomalib.models.image.padim.lightning_model - INFO - Fitting a Gaussian to the embedding collected from the training set.
                    INFO     Fitting a Gaussian to the embedding collected from the training set.     lightning_model.py:91
                    INFO     Fitting a Gaussian to the embedding collected from the training set.     lightning_model.py:91
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
Could not find torch. To use this feature, ensure that you have torch installed.
2024-01-11 11:48:06,963 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:48:06,963 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:48:06,963 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:48:06,963 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:48:06,963 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:48:06,963 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:48:06,963 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
2024-01-11 11:48:06,963 - anomalib.utils.exceptions.imports - WARNING - Could not find comet_ml. To use this feature, ensure that you have comet_ml installed.
[01/11/24 11:48:06] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
[01/11/24 11:48:06] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.                                                        [01/11/24 11:48:06] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.

[01/11/24 11:48:06] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
[01/11/24 11:48:06] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
[01/11/24 11:48:06] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
[01/11/24 11:48:06] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
[01/11/24 11:48:06] WARNING  Could not find comet_ml. To use this feature, ensure that you have comet_ml      imports.py:25
                             installed.
Epoch 0: 100%|██████████████████████████████████████████████████████████████████████| 7/7 [00:15<00:00,  0.46it/s, v_num=5]
2024-01-11 11:48:58,503 - anomalib.callbacks.timer - INFO - Training took 65.47 seconds
[01/11/24 11:48:58] INFO     Training took 65.47 seconds                                                        timer.py:59
[01/11/24 11:48:58] INFO     Training took 65.47 seconds

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hey guys! Is this issue up for grabs? I don't have the same OS does that matter?

Hi @rghvsh, #1748 might potentially address this. I need to double check though

I have checked this on Linux and MacOS, and it seems to be resolved with #1748

That's great! Was looking for some good first issues to work on will find something else.
Cheers
Raghav

Sure, thanks! I'll add some more issues soon


Requery and JDK 7

Hi,
We have experienced a issue with requery on 2 different computers :
Machine A : Android Studio with JDK 1.8
Machine B : Android Studio with JDK 1.7
The Machine A can import requery and run the project perfectly.
The Machine B can import requery (gradle sync and build OK) but the app crash at launch with a stacktrace like java.lang.RuntimeException: Unable to instantiate application fr.lesechos.fusion.DevApplication
We have tried to import Dagger 2 (which also use the apt plugin) because we though that the issue was here. The app launch was successful.
Switching to JDK 1.8, the app can launch without issues.
Maybe there is a issue with requery compile and JDK 1.7, just for your information :)

Thanks for reporting! The annotation processor is written in Java 8 and needs the Java 8 JRE or JDK to run. I will update the docs to make that clear. Interesting that it even compiled and ran the app though it gradle should fail with a compilation error. If you have the full stack trace that would pinpoint the cause.

Added JDK 8 to the setup guide https://github.com/requery/requery/wiki/Android


Need Permissions

Hello, I appreciate your excellent work! I'm considering training with my own dataset by referring to the training code in this repository. Therefore, I would like to check the normal maps for training. Could you grant me access?
Thank you.

Please try it again.


Prepare documentation with description of messages consumed from ccx-XXX-insights-operator-archive-rules-results topic

Messages consumed from ccx-XXX-insights-operator-archive-rules-results topic

Generated documentation:
https://redhatinsights.github.io/insights-data-schemas/internal-pipeline/parquet_rules_results.html
Documentation source:
https://github.com/RedHatInsights/insights-data-schemas/blob/master/docs/internal-pipeline/parquet_rules_results.md


Bug with FreeCodeCamp and Safari 8

Hello, this bug has been bothering me for a while and I wanted to report it. Basically the bug goes as follows: randomly, as I am typing text, the objectives disappear and reappear. I have attached a video below to exemplify it. The bug may be associated with Safari.
Link to video exemplifying the bug: https://www.dropbox.com/s/ycw5xqv073tnmiz/Bug report.mp4?dl=0
Sorry for the horrible quality. Dropbox compressed the video a ton and I cannot upload videos straight to Github. The issue is highly visible so it should not be an issue :). Thanks.
System specs: iMac (21.5-inch, Mid 2010), OS X Yosemite 10.10.3, Safari 8.0.6 (Installed extensions: uBlock, 1Password, and Pushbullet).
Thanks for the help. I hope this bug can be solved because it is quite distracting.

Thanks @JC713.
This issue is stale, sorry we never go to it!  That video is no longer available too.
I'm going to close this for now but if it is still a problem please reopen it.


Module selection dialog show only 5 first modules

I try to add new factory
$ yo ng-poly:factory auth
? Which module is this for?
❯ app
  app/models
  app/libs
  app/libs/moment
  app/libs/lodash

List for module selection shows only 5 first modules. Moving arrow down not show other modules but instead just circle this 5. I dont know when this broken. But I remember that before I saw full list of my angular modules after moving arrow down.
yo ng-poly:factory auth --module=components/auth works fine.
My other modules named components and views with submodules in them (if that matters).

Ooo, this is going to be fun to fix.
So, in an update we "fixed" the module list by making sure the components directory was not displayed because that's where we put custom Polymer elements We also disabled views along with other Angular component types when we added the module-type structure.
I'll look into this tonight and see if we can be smarter. I'm really sorry about the inconvenience.

Hmm.. I did think that module list is collecting by parsiong .js files for .module('components.auth', [ or something similar. I did not think that it is just existing directories.
But don't worry. --module=components/auth works fine so this bug is not too critical.

v0.10.4 will no longer hide the views/, etc. directories when using a module-only structure.
Working on only ignoring components/ when Polymer is installed.

Maybe we can consider directories as modules only if in this directory there are .js file with name of this directory or `[name_of_this_directory]-module.js? And then not blacklist any directories at all.

That's a way better idea. Great idea. Thanks!

v0.10.5 does what you proposed. Thanks again for the idea and sorry for the very long delay in fixing this bug.

Would it work for old-stype module-name.js (without -module suffix)? I still have some in my project.
But if not I think I can rename them...

Requires -module suffix.


Delegate parsing of media types to library

Instead of us handling any media-type related parsing, we should instead
delegate to a library for this.
Improvement to #1657.

Note that there are style issues, but it looks quite painful to solve without #1563

@oleg-nenashev yes if you're still happy with it!