deserialise a WebRequestException

Hi,  this is probably a simple question but I have not yet found an easy way to deserialise a WebRequestException.Response.  I can see this is JSON data and appears to be specific Exceptions (e.g. System.Data.Entity.Infrastructure.DbUpdateException).  Ii am keen to reinflate these exceptions back on the client side so that I can provide the user with a better message than Internal Server Error.  I can see that the most inner exception is actually a SqlException, specifically a duplicate key, even down to the value of that key.
Any help would be greatly appreciated.
{
  "error":{
    "code":"","message":"An error has occurred.","innererror":{
      "message":"An error occurred while updating the entries. See the inner exception for details.","type":"System.Data.Entity.Infrastructure.DbUpdateException","stacktrace":"   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n   at Jbssa.FreightRates.Server.Controllers.RegionsController.<Post>d__3.MoveNext() in F:\\tfs2013\\New Tech Apps\\Dev\\Jbssa.FreightRates\\src\\Server\\Jbssa.FreightRates.Server\\Controllers\\RegionsController.cs:line 42\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__3`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()","internalexception":{
        "message":"An error occurred while updating the entries. See the inner exception for details.","type":"System.Data.Entity.Core.UpdateException","stacktrace":"   at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.<UpdateAsync>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Data.Entity.Core.Objects.ObjectContext.<ExecuteInTransactionAsync>d__3d`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Data.Entity.Core.Objects.ObjectContext.<SaveChangesToStoreAsync>d__39.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<ExecuteAsyncImplementation>d__9`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Data.Entity.Core.Objects.ObjectContext.<SaveChangesInternalAsync>d__31.MoveNext()","internalexception":{
          "message":"Cannot insert duplicate key row in object 'scoFreightRate.Region' with unique index 'IX_Code'. The duplicate key value is (R1).\r\nThe statement has been terminated.","type":"System.Data.SqlClient.SqlException","stacktrace":"   at System.Data.SqlClient.SqlCommand.<>c__DisplayClass16.<ExecuteDbDataReaderAsync>b__17(Task`1 result)\r\n   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()\r\n   at System.Threading.Tasks.Task.Execute()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Data.Entity.Core.Mapping.Update.Internal.DynamicUpdateCommand.<ExecuteAsync>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.<UpdateAsync>d__0.MoveNext()"
        }
      }
    }
  }
}

This turned out to be a little easier than I thought with the use of the following web site http://json2csharp.com/.
I now have the following "ExceptionTranslator", something I implemented for my project, but thought the idea might help someone else.
    public class WebRequestExceptionTranslator : IExceptionTranslator
    {
        public IExceptionModel Translate(Exception ex, out bool handled)
        {
            handled = false;

            var wre = ex as WebRequestException;
            if (wre != null)
            {
                var model = new ExceptionModel();
                try
                {
                    var jobject = JsonConvert.DeserializeObject<RootObject>(wre.Response);
                    if (jobject.error != null)
                    {
                        model.Message = jobject.error.message;
                        var inner = jobject.error.innererror;
                        string message = string.Empty;
                        while (inner != null)
                        {
                            message = inner.message.Replace("See the inner exception for details.", "Click Details for more information.");
                            inner = inner.internalexception;
                            if (inner == null)
                                model.Description = message;
                            else
                                model.Message = message;
                        }
                        handled = true;
                        return model;
                    }
                }
                catch
                {
                    // this generated an exception, let another exception translator deal with it.
                }
            }
            return null;
        }

        class Innererror
        {
            public string message { get; set; }
            public string type { get; set; }
            public string stacktrace { get; set; }
            public Innererror internalexception { get; set; }
        }

        class Error
        {
            public string code { get; set; }
            public string message { get; set; }
            public Innererror innererror { get; set; }
        }

        class RootObject
        {
            public Error error { get; set; }
        }
    }

Thanks for sharing!


Switch to tokenize.open

Also, add tests of BOM and -*- coding and drop support for Python 2.7.
Closes: #15

Branch updated again. Let me know if you'd prefer I simply remove .travis.yml in this PR.

Thank you!

I've released findimports 2.0.0 with this change.


how to get the top result

see taking all the data would increase the time of data loading. so, if it is possible likewise as the real news API provides you pageSize so how can we do that.

i fought a good solution for that

怎么解决的？


ref(install): Log namespace for existing mesh

Signed-off-by: Kalya Subramanian<EMAIL_ADDRESS>
Description:
Makes error messages more clear about existing meshes when there is an existing mesh that conflicts with the new install.

Affected area:

Functional Area

New Functionality
[ ]

Documentation
[ ]

Install
[X]

CLI Tool
[X]

Certificate Management
[ ]

Control Plane
[ ]

Ingress
[ ]

Egress
[ ]

Networking
[ ]

Observability
[ ]

SMI Policy
[ ]

Sidecar Injection
[ ]

Security
[ ]

Upgrade
[ ]

Tests
[ ]

CI System
[ ]

Demo
[ ]

Performance
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project?

Did you notify the maintainers and provide attribution?
No

Is this a breaking change?
No

Codecov Report

Merging #3846 (1b549bf) into main (34d4b6d) will increase coverage by 0.07%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #3846      +/-   ##
==========================================
+ Coverage   67.63%   67.70%   +0.07%
==========================================
  Files         198      198
  Lines       11034    11034
==========================================
+ Hits         7463     7471       +8
+ Misses       3521     3514       -7
+ Partials       50       49       -1

Flag
Coverage Δ

unittests
67.70% <100.00%> (+0.07%)
:arrow_up:

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

Impacted Files
Coverage Δ

cmd/cli/install.go
84.00% <100.00%> (ø)

pkg/crdconversion/crdconversion.go
69.56% <0.00%> (+8.69%)
:arrow_up:

Continue to review full report at Codecov.

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


add the option for token accesss

Why change the domain ???

I'm sorry i need to get in my custom components
On Fri, Apr 28, 2023, 9:37 AM Alone @.***> wrote:

Why change the domain ???
—
Reply to this email directly, view it on GitHub
https://github.com/al-one/hass-xiaomi-miot/pull/1103#issuecomment-1526897771,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFRWULNKX7R6AS6E2T7S4Z3XDMUOZANCNFSM6AAAAAAXOT5X4Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

Do you have any idea can I pass access token and security key beside of
login ?
On Fri, Apr 28, 2023, 10:37 AM Tan Tann @.***> wrote:

I'm sorry i need to get in my custom components
On Fri, Apr 28, 2023, 9:37 AM Alone @.***> wrote:

Why change the domain ???
—
Reply to this email directly, view it on GitHub
https://github.com/al-one/hass-xiaomi-miot/pull/1103#issuecomment-1526897771,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFRWULNKX7R6AS6E2T7S4Z3XDMUOZANCNFSM6AAAAAAXOT5X4Q
.
You are receiving this because you authored the thread.Message ID:
@.***>


Query saved to a variable does not work with mapped conditions

Environment
Knex version: 2.3.0
Database + version: PostgreSQL + 14.3
OS: Mac
Bug

Explain what kind of behaviour you are getting and how you think it should do
When I save a query to a variable and then map the conditions for the where clause of that query, the conditions are not applied.

const query = db.select('*'). from('users');

const users = await Promise.all(['John', 'Doe'].map((firstName) => query.modify((builder) => builder.where({ firstName }))));

The code snippet above does not work. Replacing the variable with the query, like in the snippet below, works though:
const users = await Promise.all(['John', 'Doe'].map((firstName) => db.select('*'). from('users').modify((builder) => builder.where({ firstName }))));

Is there a workaround for this? I am reusing a query and would rather save it to a variable.

In case anyone runs into this problem in the future, the problem here was that the query was being permanently modified each time the loop ran. It, therefore, ran with older conditions attached rather than running one per time. To reuse partial queries like this, you ought to clone the query first.
Link to the docs: https://knexjs.org/guide/query-builder.html#clone
I ended up doing this and it worked:
const users = await Promise.all(
    ['John', 'Jane', 'Doe'].map((firstName) => {
        const temp = query.clone();
        temp.modify((builder) => builder.where({ firstName }));
    }),
);


Add back support for atomics that always return the non-NaN values

Feature request
From @uchytilc in #5556:

I saw this change in the change log and was wondering if there would be a way to revert the change via an option or something to allow atomic min/max to return the non-Nan value always. I have found this a very useful feature. For example it prevents the need to initialize different values when trying to find a max/min reduction (i.e. -inf vs +inf).

Thanks for recording this @gmarkall. If I have time to do this, how would you recommend I record/set an optional variable to change between the two methods? Would it be best to have it in the definition of the function (i.e. cuda.atomic.min(args..., nan_arg = True)) and pass in an additional argument to the llvm ir function? It looks like the llvm_to_ptx function in nvvm.py looks for references in the llvm ir to do a string replace with the reduction ptx so the python arguments are lost at this point. I could either add in a bool argument to the llvm ir (so the choosing is done during evaluation in CUDA kernel) or I could record the python argument in Python somewhere and pick which version to compile.

nanmax and nanmin might be good names cf. NumPy

@uchytilc Thanks for your interest in this - as @stuartarchibald suggests, it would probably be better to bring back the old versions with names cuda.atomic.nanmax and cuda.atomic.nanmin instead - this will avoid dealing with the additional argument. if you copy the existing parts of the implementation for max and min (the typing in numba.cuda.cudadecl, lowering in numba.cuda.cudaimpl, and the IR in numba.cuda.cudadrv.nvvm) and modify the IR string to implement the old behaviour, that should work - does this give you enough to go on to start implementation?

That is probably enough to get me started. It might be a bit before I get around to doing it but I'll get to it eventually.

Hi All, thanks for taking a look at this!
After doing a bit of investigation into https://github.com/holoviz/datashader/issues/932, I just wanted to pass along the implications of this situation for Datashader.

The change in semantics for numba.cuda.atomic.min/max in numba 0.50 was a breaking change for Datashader's GPU support (brief description in https://github.com/holoviz/datashader/issues/932#issuecomment-651395153).
In combination with https://github.com/numba/numba/issues/5746, this means Datashader will need to remain pinned to numba<=0.48 until it's possible to get the old behavior back.
Transitively, this means that Datashader can't be compatible with the cudf/rapids 0.14+ because these have a lower bound on numba of 0.49.

Thanks again!

Since this seems to be blocking quite a few things downstream I'd like to get this fixed by 0.51.0RC1, hence I updated the Milestone.

I'm looking at this now.

@gmarkall I've done most of the patch, I can push up if you want to continue on that?

https://github.com/stuartarchibald/numba/commit/8b308bdaab5c05b6b85f84fe776dda0546c268eb

@jonmease There was a bug in the old semantics - the old value in the array was always supposed to be returned by min and max - however, if there was a NaN initially, then the new value got returned instead. Ideally when we implement the old behaviour again as nanmin and nanmax, we'd like to fix this bug, and ensure that the old value is always returned. Was this a behaviour that you relied on in Datashader?

Hi @gmarkall, thanks for taking a look! I'm not sure I'm following though.
Datashader relies on being able to initialize an array of NaN values. In psuedo-code
a = [nan, nan, nan]

Then it repeatedly performs min/max operations (in parallel)
First operation
cuda.atomic.max(a, 1, 3.0)
a

[nan, 3.0, nan]

Second operation
cuda.atomic.max(a, 1, 4.0)
a

[nan, 4.0, nan]

I'm not sure what you mean by "we'd like to fix this bug, and ensure that the old value is always returned".
Does the new behavior of nanmin/nanmax you have in mind still behave this way?
FWIW, there's already work in progress in Datashader to switch from min/max to nanmin/nanmax in https://github.com/holoviz/datashader/pull/940.

Thanks for the quick reply! It does still behave that way - what you should also be able to do is:
a = [nan, nan, nan]

old = cuda.atomic.nanmax(a, 1, 3.0)

At this point, old, should hold the value nan - but in the original implementation, it holds 3.0. I think it looks like you're not using the returned value at all, so it should be safe for you if the nanmax and nanmin implementations always return the old value (i.e. nan in this case)?

Ahh, I understand now. Yes, we were not using the returned value so semantically this isn't a problem for Datashader.
But does this change have a performance implication? Does it involve making a copy of the input array?

But does this change have a performance implication? Does it involve making a copy of the input array?

Sorry I didn't respond sooner - there's no copy of the input array made, and no performance implication for the change - something was always returned anyway, it's just that the wrong values were sometimes returned before.


Feat: implement tab

Tracking issue: #253
Panel PR: https://github.com/versotile-org/verso-panel/pull/10
Not yet ready for reviewing

[x] Add keyboard shortcut

[x] New tab
[x] Close tab

[x] UI: Remove "+" button
[x] Remove tab_id_order
[x] Clean up and change back panel URI

There are still some bugs that need to be resolved, but I think we can start reviewing this PR

I'm wondering if we should stop rendering tabs that are not focused, such as the animation event that could spam the compositor's channel.
Or is it possible that we can tell Servo to not sending event when the webview is not focusing?

@pewsheen I don't current embedder could pause the script thread of each webview. If you want to stop rendering, just removing it from painting_order should be fine.
Another possible approach could be sending unfocus event to constellation, but I'm not sure if that could work. But overall, I think many users would expect background webview tabs should still run.

@pewsheen I don't current embedder could pause the script thread of each webview. If you want to stop rendering, just removing it from painting_order should be fine.
Another possible approach could be sending unfocus event to constellation, but I'm not sure if that could work. But overall, I think many users would expect background webview tabs should still run.

I found there's SetWebViewThrottled message can be used. I'll commit a patch later


@conda-forge-admin rerender

[ ] I read the conda-forge documentation and could not find the solution for my problem there.

Issue:

Environment (conda list):

$ conda list

Details about  conda and system ( conda info ):

$ conda info

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I rerendered the recipe in conda-forge/rubin-sim-feedstock#14.


filePath and fileMode descriptions

Seems that filePath and fileMode descriptions should be swapped.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8cc1177b-962d-f1a3-dad8-777c5f064e19
Version Independent ID: e74eb6ba-e528-5b43-6627-76ba98f9ecc3
Content: ResourceFile.FromUrl(String, String, String) Method (Microsoft.Azure.Batch) - Azure for .NET Developers
Content Source: xml/Microsoft.Azure.Batch/ResourceFile.xml
Service: batch
GitHub Login: @CamSoper
Microsoft Alias: casoper

Thank you for your feedback.  Tagging and routing to the team best able to assist.

@timer84 Just wanted to check if this issue can be closed as looks like the bug has been fixed.


Combine State and NextState

What problem does this solve or what need does it fill?
System may need receive two params to process one state (a bit redundant and counterintuitive). Is it possible that combining State and NextState into one?

here's some discussion from the Stageless RFC about this

Hmmm, make sense. What about Query-like feature to combine resources?

The SystemParam derive macro works nicely for that :)
I'm leaning towards "this won't actually be an improvement" because of the change detection argument, so are you okay to close this out?

OK, I'll look at how SystemParam works.


Make Shared Modules Browser Compatible

The IS-Client should be runnable in browser and node.js. Therefore the IS-Client cannot depend on any packages only runnable in node.js like the Shared Modules. Replace node.js packages in Shared Modules with browser compatible packages.

Shared modules seems to be usable now in browsers. This issue will be closed.


Add tooltips to subjects

https://trello.com/c/0WrR1Nc2/19-show-tooltip-examples-of-5-subdisciplines-on-hover-of-category

@hmoco I added a note to the Trello card about new taxonomy items we added to the top. We may have to make a decision about that soon. I don't know if that's a hindrance yet.


Update CONTRIBUTING.md - Docker installation section

In the Docker Installation Environment section, topic 2, you are asked to create a config.ini file, with keys to AWS and Google. However, its function is not explained, making it appear that file creation is mandatory. We should refer to the section Source files (src /), subsections Suppliers information (CNPJ) and Miscellaneous, where the use of the keys is explained.

Thanks @ivolima — I'm testing a new branch that fixes that. If it works I'll send a PR in the newt few minutes ; )

Closed by #271


Ability to change the "Show All" to "Hide All" related records by default

On a per catalog basis (so probably an annotation at the catalog level like a new chaise-config annotation property):

ability to set your catalog's default behavior to "Hide All" related records by defaut

option 1:
true - hide all empty sections regardless permissions
false - show all empty sections regardless of permissions
null - use login/create heuristics
hideEmptyRelatedOnLoad: true || false || null

option 2:
emptyRelatedTables: {
  hide: ["globus-group-id-1", "globus-group-id-2"],
  show: ["*"] // true
}

We discussed both options in chaise standup and decided on sticking with option 1.

Reassigning this issue to @robes to verify the changes working for your intended use case.

I'm going to close this due to inactivity.

Wait… I thought this was done. No?
Or at least that there was a chaise config property introduced to allow us to change our preferred default of show/hide all.
On 7/13/21, 12:44 PM, "Aref Shafaei"<EMAIL_ADDRESS>wrote:
I'm going to close this due to inactivity.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/informatics-isi-edu/chaise/issues/2067#issuecomment-879352475, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABACCWTIOARS7UPKGUPMVYTTXSJRJANCNFSM4ZUBCK3Q.


Debugger is waiting a preLaunchTask (QEMU in waiting mode)

I saw this https://github.com/microsoft/vscode/issues/6209 but it does not work for me, because QEMU doesn't write anything in console.
Debugger is waiting for the process to complete. Obviously, this process must be performed during debugging.
I am trying to run my program for ARM in QEMU:
launch.json:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug program",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\test.elf",
            "miDebuggerServerAddress": "localhost:9000",
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\gcc_arm\\bin\\arm-none-eabi-gdb.exe",
            "preLaunchTask": "Build and run",
        }
    ]
}

tasks.json:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build",
            "type": "shell",
            "command": "make",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "Run QEMU",
            "type": "shell",
            "isBackground": true,
            "command": "qemu-system-arm -S -gdb tcp::9000 -M lm3s811evb -kernel test.elf -nographic",
        },
        {
            "label": "Build and run",
            "dependsOrder":"sequence",
            "dependsOn": [
                "Build",
                "Run QEMU",
            ]
        }
    ]
}

As you can see, I run QEMU with the -S key. This forces QEMU to wait for the Debugger.
The console is empty at this time.
Everything works great if I run QEMU manually.
Maybe there is some kind of function to start Debug without waiting for completion?
Or do I need to get QEMU to write something in console?
Is it possible to add such a function in VSCode?

Hmm. This works:
tasks.json:
{
            "label": "Run QEMU",
            "type": "shell",
            "isBackground": true,
            "command": "echo Starting QEMU&qemu-system-arm -S -gdb tcp::9000 -M lm3s811evb -kernel test.elf -nographic",
            "problemMatcher": {
                "pattern": {
                    "regexp": "^(Starting QEMU)",
                    "line": 1,
                },
                "background": {
                    "activeOnStart": true,
                    "beginsPattern": "^(Starting QEMU)",
                    "endsPattern": "^(Starting QEMU)"
                }
            }
        },

launch.json:
"preLaunchTask": "Run QEMU",
But, this does not work:
tasks.json:
{
            "label": "Build",
            "type": "shell",
            "command": "make",
            "group": {
                "kind": "build",
                "isDefault": true
            },
        },
{
            "label": "Run QEMU",
            "type": "shell",
            "isBackground": true,
            "command": "echo Starting QEMU&qemu-system-arm -S -gdb tcp::9000 -M lm3s811evb -kernel test.elf -nographic",
            "problemMatcher": {
                "pattern": {
                    "regexp": "^(Starting QEMU)",
                    "line": 1,
                },
                "background": {
                    "activeOnStart": true,
                    "beginsPattern": "^(Starting QEMU)",
                    "endsPattern": "^(Starting QEMU)"
                }
            }

        },
{
            "label": "Build and run",
            "dependsOrder":"sequence",
            "dependsOn": [
                "Build",
                "Run QEMU",
            ]
        }

launch.json:
"preLaunchTask": "Build and run",
Oh...

Ok, now it works as i wanted...
"command": "make&echo Starting QEMU&qemu-system-arm -S -gdb tcp::9000 -M lm3s811evb -kernel test.elf -nographic",

This is probably due to the taskService not sending correct events after a tusk has finished. Forward to @alexr00 as she might want to potentially investigate this. Thanks

Currently, having background tasks in a a 'dependsOn` is not supported. Duplicate of https://github.com/microsoft/vscode/issues/70283


Can not load tflite model

TF information
tf-nightly           1.15.0.dev20190730

Model Information
I use the bert's run_classifier.py to export the classifier model
1141         name_to_features = {
1142             "input_ids": tf.VarLenFeature(tf.int64),
1143             "input_mask": tf.VarLenFeature(tf.int64),
1144             "segment_ids": tf.VarLenFeature(tf.int64),
1145             "label_ids": tf.FixedLenFeature([], tf.int64)
1146         }
1147         serving_input_receiver_fn = tf.estimator.export.build_parsing_serving_input_receiver_fn(name_to_features)
1148         estimator.export_savedmodel(FLAGS.output_dir, serving_input_receiver_fn)

Then the estimator to export model.
Code to generate tflite model
import tensorflow as tf
import sys
saved_model_dir = sys.argv[1]
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE]
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS,
                                       tf.lite.OpsSet.SELECT_TF_OPS]
tflite_quant_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_quant_model)

Code to load tflite model
import tensorflow as tf

# Load TFLite model and allocate tensors.
interpreter = tf.lite.Interpreter(model_path="converted_model.tflite")
interpreter.allocate_tensors()

# Get input and output tensors.
input_details = interpreter.get_input_details()
print(input_details)
output_details = interpreter.get_output_details()
print(output_details)

# Test model on random input data.
input_shape = input_details[0]['shape']
input_data = np.array(np.random.random_sample(input_shape), dtype=np.float32)
interpreter.set_tensor(input_details[0]['index'], input_data)

interpreter.invoke()

# The function `get_tensor()` returns a copy of the tensor data.
# Use `tensor()` in order to get a pointer to the tensor.
output_data = interpreter.get_tensor(output_details[0]['index'])
print(output_data)

When load tflite load model path I get error message
$python test_quant.py
WARNING: Logging before flag parsing goes to stderr.
W0801 15:01:28.343195<PHONE_NUMBER>94496 __init__.py:328] Limited tf.compat.v2.summary API due to missing TensorBoard installation.
INFO: Initialized TensorFlow Lite runtime.
Traceback (most recent call last):
  File "test_quant.py", line 5, in <module>
    interpreter = tf.lite.Interpreter(model_path="converted_model.tflite")
  File "/home/guohuawu.wgh/miniconda3/envs/quant/lib/python3.6/site-packages/tensorflow_core/lite/python/interpreter.py", line 206, in __init__
    model_path))
ValueError: Input array not provided for operation 'reshape'.

You can remove "the reshape layer", because the operation of "reshape" is  unsupported in tensorflow-1.15.0.

@wugh  I'm having this same issues, where you able to resolve it

@raziel Can we expect anything to be done about this
note for me only have this issue with the quantized version of the model

Hi.
Does the model convert if you don't set the quantization flag?
Meaning removing: converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE]

@raziel and @suharshs Yes conversions completes successfully when the quantization flag is not set

Hi,
tf version-1.13
i created one tf lite model, to load this model i am using tensorflow code i.e
from future import print_function
from absl import flags
import numpy as np
import tensorflow as tf
flags.DEFINE_string('model_path', None, 'Path to model.')
FLAGS = flags.FLAGS
def main(_):
flags.mark_flag_as_required('model_path')
Load TFLite model and allocate tensors.
interpreter = tf.lite.Interpreter(model_path=FLAGS.model_path)
interpreter.allocate_tensors()
Get input and output tensors.
input_details = interpreter.get_input_details()
print('input_details:', input_details)
output_details = interpreter.get_output_details()
print('output_details:', output_details)
Test model on random input data.
input_shape = input_details[0]['shape']
change the following line to feed into your own data.
input_data = np.array(np.random.random_sample(input_shape), dtype=np.float32)
interpreter.set_tensor(input_details[0]['index'], input_data)
interpreter.invoke()
output_data = interpreter.get_tensor(output_details[0]['index'])
print(output_data)
if name == 'main':
tf.app.run()
But i am getting error while running this code i.e:
interpreter = tf.lite.Interpreter(model_path=FLAGS.model_path)
File "/lib/python3.5/site-packages/tensorflow/lite/python/interpreter.py", line 55, in init
model_path))
ValueError: Model provided has model identifier 'inpu', should be 'TFL3'
does anybody know about this error?
thanks in advance.

@devarajnadiger It seems your models is malformed. "TFL3" is the versioning info we include in the flatbuffer file. How did you created the model?
You should probably file another issue and include the model.

sorry @rachellj218. there was a mistake from my side i.e we should convert our checkpoints to pb twice to get tflite model as mentioned here: https://github.com/tensorflow/models/blob/master/research/lstm_object_detection/g3doc/exporting_models.md .
after following this, I was able to test my tflite model.

I have the same problem. Does tf2.0 support the reshape operation in tflite?

@zldrobit  - Thanks; your instructions worked to fix this issue for me.
@suharshs I can readily reproduce this issue on TF2. Feel free to contact me if you need any info. LDAP is jbetker.

p
this code might help you.

import numpy as np
import tensorflow as tf
Load TFLite model and allocate tensors.
interpreter = tf.lite.Interpreter(model_path="/content/drive/My Drive/Colab Notebooks/YOLO/optimized_pydnet++.tflite")
interpreter.allocate_tensors()
Get input and output tensors.
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()
Test model on random input data.
input_shape = input_details[0]['shape']
input_data = np.array(np.random.random_sample(input_shape), dtype=np.float32)
interpreter.set_tensor(input_details[0]['index'], input_data)
interpreter.invoke()
The function get_tensor() returns a copy of the tensor data.
Use tensor() in order to get a pointer to the tensor.
output_data = interpreter.get_tensor(output_details[0]['index'])
#output_data.summary()
print(output_data)

@wugh Hello, have you solved the problem? I met the same issue.

Hi @wugh ! We are checking to see if you still need help in this issue or not .Have you tried latest versions yet ?

tf information: tf.2.4.0
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.representative_dataset = representative_dataset_gen
#converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
tflite_model = converter.convert()
open(output_model_filepath, "wb").write(tflite_model)
and
interpreter = tf.lite.Interpreter(model_path=model_path)
_interpreter_wrapper.CreateWrapperFromFile(
ValueError: Could not open("xx.tflite")
does anybody know about this error?
thanks in advance.

Hello
he error message interpreter = tf.lite.Interpreter(model_path=args.model) occurs when TensorFlow Lite interpreter is unable to load the model at the specified model_path. Here are a few things you can try to fix this error:

Verify that the file exists:
Make sure that the model file exists at the specified path. If not, provide the correct path to the model in the model_path argument.

Check the file extension:
Ensure that you are specifying the correct file extension in the model_path argument. TensorFlow Lite models typically end with the extension .tflite.

Check TensorFlow Lite version:
Make sure that you are using the correct version of TensorFlow Lite that is compatible with your model. You may need to install a specific version of TensorFlow Lite to load your model.

Here's an example of loading a TensorFlow Lite model:
import tensorflow as tf

# Define the path to the TensorFlow Lite model file
model_path = "/path/to/tflite/model.tflite"

# Load the TensorFlow Lite model
try:
    interpreter = tf.lite.Interpreter(model_path=model_path)
    interpreter.allocate_tensors()

except ValueError as ve:
    print("Error loading the TensorFlow Lite model:", ve)
    exit()

In this example, we create an instance of the tf.lite.Interpreter class and pass in the model_path argument to load the model. We allocate tensors for the interpreter and catch any ValueError that may occur if there is an issue with the model file.


update gisce/react-formiga-components to v1.1.0

Automated changes by create-pull-request GitHub action

:tada: This PR is included in version 2.0.9 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add CIMB Clicks Charge

Add support for submitting CIMB charges.
http://docs.veritrans.co.id/sandbox/charge.html#vtdirect-cimb

Added in Version 0.9 (#14).  Thanks @yanwarsolah!


Implement ProjectLayout.getSettingsDirectory()

Context

Contributor Checklist

[ ] Review Contribution Guidelines.
[ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[ ] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[ ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team.
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective.
[ ] Provide unit tests (under <subproject>/src/test) to verify logic.
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes.
[ ] Ensure that tests pass sanity check: ./gradlew sanityCheck.
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest.

Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test this

I've triggered the following builds:

Pull Request Feedback (Trigger) (Check)

Build Scan

Another thing, this requires an entry in the release notes!

The following builds have passed:

Pull Request Feedback (Trigger) (Check)

Build Scan

We should also update the PR description to provide a bit of context for the change

@bot-gradle test this

I've triggered the following builds:

Pull Request Feedback (Trigger) (Check)

Build Scan

The following builds have failed:

Pull Request Feedback (Trigger) (Check)

Build Scan

@bot-gradle test this

I've triggered the following builds:

Pull Request Feedback (Trigger) (Check)

Build Scan

The following builds have failed:

Pull Request Feedback (Trigger) (Check)

Build Scan

I've triggered the following builds:

Pull Request Feedback (Trigger) (Check)

Build Scan

The following builds have failed:

Pull Request Feedback (Trigger) (Check)

Build Scan

@bot-gradle test this

I've triggered the following builds:

Pull Request Feedback (Trigger) (Check)

Build Scan

The following builds have failed:

Pull Request Feedback (Trigger) (Check)

Build Scan

I've triggered the following builds:

Pull Request Feedback (Trigger) (Check)

Build Scan

The following builds have failed:

Pull Request Feedback (Trigger) (Check)

Build Scan


[core-http] Update changelog for December release

Updating the changelog for the December release with 2 changes going into the next release:

Support custom auth scopes PR 12752
Add helper function createSpan to help in the creation of tracing spans in Track2 libraries PR 12525

Looks good! Thank you. Approved after the merge ✅


The information presented on this page is almost useless

Of course you support the latest version of each of the major web browsers.
What is not obvious is what downlevel versions of web browsers are supported. Each of the major web browsers releases a new version every time you turn a corner, and if you look at web browser usage statistics, consumers obviously are not keeping up with browser updates.
Please consider putting more effort into the information presented here so that customers who are evaluating Blazor WASM as a front-end technology can properly assess what browsers (and versions!) can be expected to work should they adopt Blazor WASM for their front end technology.
Thank you.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 63759755-cf32-b97c-bd29-4715db83f3fd
Version Independent ID: b03c3cec-a3de-d563-d0f8-45fabfb39758
Content: ASP.NET Core Blazor supported platforms
Content Source: aspnetcore/5.0/blazor/supported-platforms.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @KirkMunroSagent ... We've had this discussion a few times.

Each of the major web browsers releases a new version every time you turn a corner, and if you look at web browser usage statistics, consumers obviously are not keeping up with browser updates.

That's exactly right ... and also exactly the problem for Blazor. Only the latest (i.e., the current release) is officially supported because MS can't keep up with rapidly-rolled-out browser versions over time and make an official commitment to patch Blazor for any particular prior browser release. They consider bug reports for resolution for prior releases on a case-by-case basis reported them on the product unit's repo.

what downlevel versions of web browsers are supported

"None" is the official answer, which is what this page indicates. You'll find the same for SignalR ...
https://docs.microsoft.com/aspnet/core/signalr/supported-platforms
I asked the last time this subject came up about adding some text to explain the reasoning, but management declined. They might reconsider if more devs write in asking, so we'll keep an 👂 open for more feedback.

Thanks for the fast reply @guardrex.
From a business perspective, I understand, but the communication is wrong.
The only value in saying "current" is in telling customers that Microsoft will officially support all updates to each of the major browsers that are supported (Edge, Chrome, Firefox and Safari), but in that case, that's exactly what the support docs should day, because that is what Microsoft is saying.
The existing wording doesn't convey the same message, and indicates that Microsoft isn't testing with recent browser releases at all. That's simply untrue, because by the simple nature of software development taking time and Blazor WASM having a long release cycle (tied to the .NET release cadence), you're naturally passing through multiple versions of each of the major browsers since they release more frequently than Blazor does. i.e., Blazor ships its next major update as part of the November 11, 2021 release of .NET 6. At that point in time, whatever "current" versions will be supported. Then as that version of Blazor remains supported over time (36 months since it is an LTS release), many updates will ship for each of those browsers, with each of those updates becoming the current version, which will be supported by Blazor. Patches released during that time will very likely (but not necessarily, I get that) work on these updated versions.
Also, for what it's worth, other front-end technologies such as Angular and Vue declare browser support more broadly than "current", although Angular isn't much better (last two versions).
My personal perspective: declaring browser support based on date rather than version (e.g., releases in the last 6 months) does not feel like a stretch for offering official support, especially considering the release cadence of Blazor. That's barely saying more than "current", since you're obviously working with these versions as mentioned above, and it offers your customers more value than you are currently offering with "Current" today.

Management declined to provide more or different coverage ... i.e., anything along the lines of the example text that I floated to them. This is exactly what they want to say. You'll have to make your adoption decision on that basis.


Improve warning when initial connection is to host with rpc_address of <IP_ADDRESS>

This case leads to the following error message:
{"level":"error","ts":1674158444.9508557,"caller":"proxycore/cluster.go:357","msg":"unable to create new endpoint","error":"ignoring host because its `peer` is not set or is invalid","stacktrace":
"github.com/datastax/cql-proxy/proxycore.(*Cluster).addHosts\n\t/go/src/cql-proxy/proxycore/cluster.go:357
github.com/datastax/cql-proxy/proxycore.(*Cluster).queryHosts\n\t/go/src/cql-proxy/proxycore/cluster.go:300
github.com/datastax/cql-proxy/proxycore.(*Cluster).connect\n\t/go/src/cql-proxy/proxycore/cluster.go:223
github.com/datatax/cql-proxy/proxycore.ConnectCluster\n\t/go/src/cql-proxy/proxycore/cluster.go:163
github.com/datastax/cql-proxy/proxy.(*Proxy).Connect\n\t/go/src/cql-proxy/proxy/proxy.go:167
github.com/datastax/cql-proxy/proxy.(*runConfig).listenAndServe\n\t/go/src/cql-proxy/proxy/run.go:274
github.com/datastax/cql-proxy/proxy.Run\n\t/go/src/cql-proxy/proxy/run.go:195
main.main\n\t/go/src/cql-proxy/proxy.go:29
runtime.main\n\t/usr/local/go/src/runtime/proc.go:225"}
panic: runtime error: index out of range [0] with length 0

Relevant code is NewEndpoint.  This code starts with "rpc_address" and falls back to "peer" if that's set to <IP_ADDRESS>.  This doesn't work for system.local, though, where "peer" is not a defined column.   Thus we wind up with the error message above which doesn't really communicate what's going on.
It would be nice if we could provide a more informative error to the user, at least something indicating that <IP_ADDRESS> rpc_addresses will introduce this behaviour.

Some of our Cassandra clusters have "rpc_address" column with an "unspecified" address of <IP_ADDRESS> in their system.local table. I would be glad if we could use cql-proxy with those clusters.
I found that the ZDM proxy seems to use broadcast_address or listen_address if rpc_address is <IP_ADDRESS>.
https://github.com/datastax/zdm-proxy/blob/main/proxy/pkg/zdmproxy/host.go#L188
Is it possible to use the same logic in cql-proxy?


Consider adding a language filter

Resulting from CRM-8032.
One potential use-case is to find a group of publications based on the language of the publication. This can be useful for speakers of regional lingua-francas ie Latin America (Spanish), or ECA (Russian) and further east (Mandarin, Arabic) as well as users in the Anglosphere.
The registry already has filters, and lists the publication language (where available) on the publication page. It should be possible to filter by publication language.

@sabahfromlondon What do you think?

@jpmckinney sounds like an excellent idea.
The use case in the ticket didn't come up in the user research, but I agree that we want to support users looking for examples of data in specific languages.
Do you want to use "Language" or "Publication language" as the label for the filter? I think I have a preference for "Publication language".
Can we manually add the language for the datasets where this is missing? For example:https://data.open-contracting.org/en/publication/12 - we can add the language as Czech?

I'd go with "Publication language".
We will need to add a step for adding a new publication, to manually check the language in case it is not extractable from the data: https://github.com/open-contracting/data-registry/blob/main/.github/ISSUE_TEMPLATE/new-publication.md
We can also add a filter to the admin backend, to make it easy to find publications with blank languages. We need all publications to have a language set, otherwise a user can select a language and not have a relevant publication match.

@yolile @sebasdocp  We have these languages (below).
That's a lot of languages to display on https://data.open-contracting.org/en/search/
We can use a dropdown, but visible options are better than hidden options.
As I understand, the use case is to discover other countries with the same language. So, for example, there are 4 Italian datasets, but they are all from Italy – so the language filter adds nothing compared to the country filter.
So, the rule can be that we include only languages that occur in multiple countries. With that, we'd get these languages (with number of countries):
 count | language_en
-------+-------------
    16 | English
    15 | Spanish
     3 | French (France, Luxembourg, Canada)
     3 | German (Germany, Austria, Switzerland)
     2 | Dutch (Netherlands, Belgium)
     2 | Greek (Greece, Cyprus)
     2 | Albanian (Albania, Kosovo)
(7 rows)

What do you think the design should be? @yolile You can share additional info on use cases.
Full list if no filters applied (with number of datasets, instead of number of countries):
 count | language_en
-------+-------------
    42 | Spanish
    36 | English
     5 | French
     4 | German
     4 | Italian
     3 | Dutch
     2 | Albanian
     2 | Croatian
     2 | Slovenian
     2 | Greek
     2 | Portuguese
     1 | Moldovan
     1 | Kyrgyz
     1 | Lithuanian
     1 | Romanian
     1 | Serbian
     1 | Danish
     1 | Macedonian
     1 | Bulgarian
     1 | Georgian
     1 | Estonian
     1 | Slovak
     1 | Hungarian
     1 | Czech
     1 | Icelandic
     1 | Polish
     1 | Latvian
     1 | Norwegian
     1 | Swedish
     1 | Indonesian
     1 | Finnish
(31 rows)

Queries:
SELECT COUNT(*), language_en FROM data_registry_collection GROUP BY language_en ORDER BY count DESC;
SELECT COUNT(DISTINCT(country_en)), language_en FROM data_registry_collection GROUP BY language_en HAVING COUNT(DISTINCT(country_en)) > 1 ORDER BY count DESC;

(Notes on how I set missing languages)
I filled in the OpenTender languages based on:
for i in 71 72 75 88 91 44 45 12 49 94 138 92 50 51 47 54 69 52 46 53 48 55 56 57 58 87 60 68 70 73 74 139 93 89 90
  echo $i
  curl -sS "https://data.open-contracting.org/en/publication/$i/download?name=2022.jsonl.gz" | gunzip - | head -n 3 | jq .buyer.name
end

If the two buyer names didn't look like they were the same language, I re-ran it with a sample of 10 and took the majority. For example:

Belgium: 3/3 Dutch, but I checked 10 anyway and there was some French
Cyprus: 1/10 English
Czechia: 1/10 Slovak, not sure if misdetected
EU Institutions: mostly English but also French, Romanian and some singletons out of 20
Finland: 1/10 Swedish, not sure if misdetected
Switzerland: mostly German but also French

Only unexpected was:

Georgia: English (10/10)
Ireland: English (2/10 Irish)
Malta: English (10/10)

I'm not sure if the use case is just for the main language, or for all languages. In any case, for now, I changed the label on the detail page from "Language" to "Main language".

@yolile You can share additional info on use cases.

To be honest, I haven't heard again from anyone about this need

Aha, then I guess we can abandon the issue. FYI @sebasdocp
FWIW, Spanish is LAC + Spain, which is very predictable and there is already a Region filter for LAC. English is Canada, UK, Australia, South Asia, Africa, and the unexpected ones mentioned (Georgia, Ireland, Malta).


New org: SENS Research Foundation

https://www.sens.org/about-us/team/ has the current team.

I created the file and added 111 positions. Ready for review.


gst-vaapi deinterlace refactor and additions

Moved reusable code to a class and added
additional deinterlace tests for avc, mpeg2 and
vc1.
Also, gst-vaapi deinterlace produces output as
field rate (i.e. doubles the number of frames).
Thus, ensure check_metric will take this into
account.

On second thought, I think it would be better to deprecate raw input deinterlace.  Thus closing and will resubmit full solution for all middleware.

superseded by #90


Add WindowResolution to prelude

Objective
Feels like WindowResolution should be in the prelude for ease of use

Changelog

Add WindowResolution to prelude

Hmm. I really wish we had clear guidelines on "what goes in the prelude". My personal take is that this is rarely used (once per app generally), and should not be added to the prelude.

I do agree that guidelines for prelude items would be very beneficial. I will clarify my reasoning for why I made this pull request:
It's true that the frequency of this type is generally low per app, however I suspect the frequency of use is very high in the sense that many apps will use it.
Since use statements are once per file, that second type of usage frequency seemed to me to be the more relevant one when deciding on prelude items.
As Bevy has a relatively very large prelude in my opinion, I thought it was appropriate.
Of course though I completely understand if this PR is closed!

@alice-i-cecile There are several impl From for WindowResolution in the present. Do you think this is still relevant?


Disallow Empty Bug Reports

Noticed there's been a number of empty bug reports that end up just being closed down or things that don't really make sense. Probably not a huge issue as they just get closed down and move on with our day.
Having said that, is it worth adding a guard in the 'submit bug report' page to prevent empty bug reports? Or at least a confirmation?
Happy to close if no one really minds but thought I'd raise a quick one for it

Was this addressed? I’m unable to submit an empty report and looking at NewIssueTableViewController.swift it seems this is normal. How are you reproducing this?

Hadn't personally tried/experienced it, but historically we received a lot of empty reports. Though this does seem to have died down...
May no longer be an issue

I see what you are talking about, actually. I’ll take care of this.


term_dumpload("tempdump.log") shows only last 60-something lines to the dump

term_dumpload("tempdump.log") shows only last 60-something lines of dump. I produced dump while either one of terminal-normal or terminal mode is active.
Terminal emulator: Terminal.app of/on macOS
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jan 24 2021 04:31:58)
macOS version - arm64
Included patches: 1-2400
Compiled by Homebrew

Steps to reproduce:

Open terminal in vim :term
Run some commands like echo in terminal with dummy text (in my case I did >>ls, >>echo and filled few hundred lines).
While terminal is focussed, press <C-w>: to enter vim command: :call term_dumpwrite(bufnr('%'),'tempdump.log')
Exit vim :q! (first enter <C-w>: to move to command buffer)
Restart vim
Open terminal  :term, focus command buffer <C-w>: , and  :call term_dumpload('tempdump.log').
Press i to enter insert mode, and scroll up and down.

As you would notice, the number of lines would be 60 something...
As a sidenote: I too see the bug reported here: https://github.com/vim/vim/issues/2865#issuecomment-479989618

term_dumpwrite()  writes the text in the terminal, not scrollback.  You can check the number of lines in the dump file.
That works as intended.

term_dumpwrite()  writes the text in the terminal, not scrollback.  You can check the number of lines in the dump file.
That works as intended.


Allow query inheritance in UnsafeCommandBufferBuilder

Of course that doesn't mean that queries are actually usable. It's a first step.

Technically a breaking change, but since it's about an obscure internal part of the library I don't think it's a problem to break here.


Why editor.action.smartSelect is not working in html file?

I can not use editor.action.smartSelect.grow and editor.action.smartSelect.shrink functions to working on html file. I don't think the develop team have any reason to disable them on html file. It's should be working on any file!! Any body know why?
Please fix it!
Thanks!

I tracked this down to line 58 in editor\contrib\smartSelect\common\smartSelect.ts
When the code uses model.getModel().logicalSelectionSupport it does not work
var selectionSupport = model.getMode().logicalSelectionSupport || this._tokenSelectionSupport;
// but works with _tokenSelectionSupport
var selectionSupport = this._tokenSelectionSupport;
I just don’t know enough about the VS Code APIs to know if this is the right fix

I think the problem lies somewhere in the languages\html\common\htmlWorker.ts. For me it seems as if the getRangesToPosition implementation doesn't return the appropriate Position but returns undefined. I do not know how to debug the worker thoug :( but it really aint't "effort easy" I think.

Agree, did some more digging and getRangesToPosition in (\languages\html\common\html.ts) essentially an empty implementation.
TokenSelectionSupport (contrib\smartSelect\common\tokenSelectionSupport.ts) has an implementation that is used by all other languages.
The empty implementation in html.ts is being used because in html.ts, line 311 we have
this.logicalSelectionSupport = this;
which causes the below line in editor\contrib\smartSelect\common\smartSelect.ts to use the empty implementation which returns undefined as you noted
var selectionSupport = model.getMode().logicalSelectionSupport || this._tokenSelectionSupport;
Seems this needs some refactoring - perhaps check if Mode implements ILogicalSelectionSupport before attempting to use it.

@aeschli Any reason the html implementation is a noop?


omnistaging

Motivation
JAX transformations like jit and pmap stage out computations to XLA. That is, we apply them to functions comprising multiple jax.numpy operations so that rather being executed one at a time from Python the operations are all part of one end-to-end optimized XLA computation.
But exactly which operations get staged out? Here’s an example:
import jax.numpy as jnp
from jax import lax

@jit
def select_tril(x):
  mask = jnp.arange(x.shape[0])[:, None] > jnp.arange(x.shape[1])
  return lax.select(mask, x, jnp.zeros_like(x))  # lax.select is like jnp.where

x = np.arange(12).reshape((3, 4))
select_tril(x)

ENTRY jit_select_tril.8 {
  constant.3 = pred[] constant(false)
  constant.1 = pred[3,4]{1,0} constant({...})
  parameter.2 = s32[3,4]{1,0} parameter(0)
  constant.4 = s32[] constant(0)
  broadcast.5 = s32[3,4]{1,0} broadcast(constant.4), dimensions={}
  select.6 = s32[3,4]{1,0} select(constant.1, parameter.2, broadcast.5)
  ROOT tuple.7 = (s32[3,4]{1,0}) tuple(select.6)
}

The select operation is staged out, but the operations for constructing the constant mask are not. Rather than being staged out, the operations that construct mask are executed op-by-op at Python tracing time, and XLA only sees a compile time constant constant.1 representing the value of mask. That’s unfortunate, because if we had staged out the operations for constructing mask, XLA could have fused them into the select and avoided materializing the result at all. As a result we end up wasting memory with a large constant, wasting time dispatching multiple un-fused op-by-op XLA computations, and potentially even fragmenting memory.
(The broadcast that corresponds to the construction of the zeros array for jnp.zeros_like(x) is staged out because JAX is lazy about very simple expressions from #1668.)
The reason the creation of mask is not staged out is that jit operates based on data dependence. That is, jit stages out only those operations in a function that have a data dependence on an augment. Control flow primitives and pmap behave similarly. In the case of select_tril, the operations to construct the constant mask do not have a data dependence on the argument x, so they are not staged out; only the lax.select call has a data dependence.
The omnistaging change is about enabling jit, pmap, and control flow primitives to stage out more computation to XLA. As the name implies, it’s about staging out as much as possible! More precisely, with omnistaging all jax.numpy calls in the dynamic context of a jit-transformed function are staged out to XLA.
After omnistaging, the computation XLA sees for select_tril is
ENTRY jit_select_tril.16 {
  constant.4 = pred[] constant(false)
  iota.1 = s32[3]{0} iota(), iota_dimension=0
  broadcast.5 = s32[3,1]{1,0} broadcast(iota.1), dimensions={0}
  reshape.7 = s32[3]{0} reshape(broadcast.5)
  broadcast.8 = s32[3,4]{1,0} broadcast(reshape.7), dimensions={0}
  iota.2 = s32[4]{0} iota(), iota_dimension=0
  broadcast.6 = s32[1,4]{1,0} broadcast(iota.2), dimensions={1}
  reshape.9 = s32[4]{0} reshape(broadcast.6)
  broadcast.10 = s32[3,4]{1,0} broadcast(reshape.9), dimensions={1}
  compare.11 = pred[3,4]{1,0} compare(broadcast.8, broadcast.10), direction=GT
  parameter.3 = s32[3,4]{1,0} parameter(0)
  constant.12 = s32[] constant(0)
  broadcast.13 = s32[3,4]{1,0} broadcast(constant.12), dimensions={}
  select.14 = s32[3,4]{1,0} select(compare.11, parameter.3, broadcast.13)
  ROOT tuple.15 = (s32[3,4]{1,0}) tuple(select.14)
}

In addition to improving JAX’s memory performance, omnistaging enables a host of other improvements and simplifications throughout JAX. For example, it allows lax.cond to accept thunks, so that lax.cond(x > 0, lambda: f(y), lambda: g(z)) will only evaluate one of f(y) and g(z). Another example is that it lets us remove the lazy sublanguage of #1668.
What's the catch? Common issues and fixes
TODO
Enable with a flag!
This PR sets up parallel implementations of the old core and the new omnistaging one. The old one is still used by default; omnistaging is enabled by setting the JAX_OMNISTAGING environment variable, by setting the boolean flag jax_omnistaging, or by using from jax.config import config; config.enable_omnistaging().
Main implementation idea
The semantics of transformations in JAX are based on a stack of interpreters. When you call a transformed function, we think of pushing its transformations onto a global stack. Each stack frame represents a layer of interpretation. When we bind a primitive, we interpret it using the transformation on the top of the stack (calling the corresponding Trace's process_primitive). If that transformation rule itself binds primitives, those binds are interpreted using the second stack frame. And so on down the stack. If the transformation rule for the interpreter on the bottom of the stack binds primitives, those binds get interpreted with an implicit evaluation interpreter. That implicit evaluation interpreter is special because we know that it will bind no primitives and that there are no more transformations that can come. It's the exit.
Those are the semantics, but there's a kind of an optimization: transformations in the stack are only applied if the input arguments to a primitive bind are boxed in a Tracer of the corresponding transformation. (If the inputs are boxed with different Tracers, the one corresponding to the highest level in the stack wins; that's the purpose of keeping the stack around, and having levels!) That lets us skip irrelevant transformations for primitive binds whose inputs haven't been "infected" with the transformation. Because we've always treated jit the same way, it also results in jit's data-dependence behavior, where the only operations that are staged out are those boxed in the appropriate Tracers because they have a data dependence on an argument to the jit-transformed function. As we've seen, this data-dependent-staging behavior for jit can be undesirable.
The solution idea here is to make jit (and pmap) act differently, by making the implicit bottom of the stack less implicit. That is, we instantiate the special exit-at-the-bottom-of-the-stack interpreter frame explicitly. We make the eval interpreter an explicit interpreter, and when the trace stack is initialized we put an eval interpreter at the base. The point of making it explicit is that now we can swap it out: when we trace a jitted function, we swap out the base of the interpretation stack. That way, when the interpretation of a primitive bind bottoms out while we're tracing a jitted function, instead of evaluating the primitive application we'll stage it out to a jaxpr. Because we always hit the bottom of the stack, regardless of whether arguments to the primitive bind are boxed in a particular Tracer, we end up staging out all primitive binds. Hence "omnistaging"!
(There's one more twist, but it's not really fundamental. The dynamic attribute on the trace stack is one additional mechanism to handle control flow primitives. For those, we want to insert a "special exit-the-system staging frame" at an arbitrary point in the trace stack, not just at the bottom. So they trace functions to jaxprs by pushing a dynamic trace to the top of the stack rather than swapping out the base. That in effect lets us point at a function and say "regardless of whatever transformations are already going on in the system, and regardless of what transformations this function will itself push onto the stack when I run it, give me a jaxpr for this function on these avals!")
For comparison, the current implementation sets up jit (and pmap) traces in a special downward-growing stack, which in some ways also is meant always to sit under the regular transformation stack. But it's a whole stack, rather than just a single base frame, because it has to sort out data dependence issues (e.g. in the case of multi-input primitives) and decide for any given primitive bind which jit traces it should be staged into. Since we're not relying on data dependence anymore, we don't need a whole stack!

@hawkinsp suggested that omnistaging might help with our slow compile times in https://github.com/google/jax/issues/3847, so I decided to give it a try.
Unfortunately omnistaging currently breaks that part of TFP used in that example. It seems to rely on eager evaluation, e.g., something like the following:
In [6]: jnp.concatenate([jnp.array([3]), jnp.array([3, 4])])
Out[6]: DeviceArray([3, 3, 4], dtype=int32)

from these lines of code:
https://github.com/tensorflow/probability/blob/7e8be7a3820aeaf023567794c02b8dbd6b7d3e84/tensorflow_probability/python/optimizer/lbfgs.py#L427-L429
With omnistaging, this stages out an abstract value, which isn't a valid input into shape.

Yes, TFP breaks super hard with omnistaging. I've iterated with the TFP folks a good bit already. I think in the long run they'll need to fix how they call JAX code, since even now omnistaging is just turning a performance bug (potentially doing shape arithmetic on the accelerator) into a loud error, but in the short run they'll have to use a flag to disable omnistaging.
I believe @hawkinsp meant that omnsitaging would make fixing #3847 easy, and he's right! All we have to do is memoize the call on this line and we'll avoid retracing functions when we can. (All the arguments there are already hashable too!)

I'm looking forward to this glorious future!

Thanks for implementing this!!

Another example is that it lets us remove the lazy sublanguage of #1668.

To clarify, it would only allow the removal of the lazy sublanguage inside of JIT functions, right? #1668 still seems beneficial in the eager op-by-op case.

It's not clear yet how much it'll make sense to remove, but once omnistaging is on by default the need for the lazy sublanguage is greatly reduced, so the complexity costs of its implementation start to look a lot bigger.


set ldflags in the build process

Describe the solution you'd like
[A clear and concise description of what you want to happen.]
https://www.digitalocean.com/community/tutorials/using-ldflags-to-set-version-information-for-go-applications
example: https://github.com/Azure/azure-workload-identity/blob/4cb46ac18bc2bfb5f9478fb1e911dfe9ade7a899/Makefile#L17
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:

Eraser version:
Kubernetes version: (use kubectl version):

Also https://tip.golang.org/doc/go1.18#debug/buildinfo


Vertical slider moving down

Is there a way to get a vertical slider with slides moving down instead of up? If yes, how does it work? Here's an example of how I want it to behave:
http://www.gyula-trebitsch-schule-tonndorf.de/
Everything else works fine!
Thank you!
winnewoerp

It worked! This did the trick:
.slick-slider .slick-list {
	transform:rotate(180deg);
}

.slick-slider .slick-slide {
	transform:rotate(180deg);
}

Some additional code was necessary for the correct display of text within the slides:
.slick-slider .slick-slide.slick-active {
	position:relative;
	z-index:1;
}

/* text in my case is placed in a <figcaption> tag */
.slick-slider figcaption {
	visibility:hidden;
}

.slick-slider .slick-slide.slick-active figcaption {
	visibility:visible;
}

Once again: Thank you very much!

Thanks for posting your solution!

Many thanks for the solution!


tools(build-tools): bump eslint-config-fluid to 5.1.0

fix defects and remove unused disables

@jason-ha just an FYI for you - one reason I disabled the autofixer for unused disables is twofold:

Before pnpm, we had problems with dep upgrades sneaking into the repo, and disables would disappear either due to false negative bugs or other eslint changes. Then that issue would go away and lint would start failing. This is no longer relevant with pnpm IMO.
The autofixer for disable comments leaves a blank line (or it used to) Before prettier, this was really annoying. Maybe prettier helps address it.

Not sure these are the most relevant today, just thought you might be wondering why the fix command excludes these fixes in the client release group.

@jason-ha just an FYI for you - one reason I disabled the autofixer for unused disables is twofold:

Before pnpm, we had problems with dep upgrades sneaking into the repo, and disables would disappear either due to false negative bugs or other eslint changes. Then that issue would go away and lint would start failing. This is no longer relevant with pnpm IMO.
The autofixer for disable comments leaves a blank line (or it used to) Before prettier, this was really annoying. Maybe prettier helps address it.

Not sure these are the most relevant today, just thought you might be wondering why the fix command excludes these fixes in the client release group.

Thanks - good info to have. It would be nice to have unused disables be errors.
The auto-fixer left a line with a space. It was annoying. I didn't see if prettier would handle them because I was reviewing each change anyway. Probably auto-fix+prettier gets close to the best result.


Improve support for watchify when using the sass preprocessor

This modification uses the results from the sass compiler to emit
file dependencies for watchify.

thanks!


Add auto restart

Resolves #169
Adds auto restart option for MD, which generates restart_stem based on inputs (including file_prefix and restart_stem), and if restarting simulation, uses the most recent matching file for the input structure.
Also includes fixes for:

prefix_override, which threw errors if given a Paths (e.g. anything via --restart-stem)
How restart_stem was used, as currently for restart_stem=stem, files of the form stem-T300.0-res-1.extxyz are created, the same as the old usage of struct_name. With these changes, they should now be stem-1.extxyz

Note: the limit after restarting is the effectively the same as before - however far the previous simulation got + the full steps input (e.g. for NaCl-nvt-T300.0-res-100.extxyz, with --steps 1000, the last step would be 1100.)
One thing to consider is that this implementation can (and arguably is likely) to lead to duplicated steps for statistics and/or trajectory file.
E.g. if you were to print statistics every 100 steps, but restart every 1000 steps, then the statistics file may to be written for a while after the last restart file. When we restart, we then append duplicate steps.
Do we want to delete these duplicate steps? This is even harder for the trajectory, since we'd have to calculate which images would be duplicated.

I would not delete the steps ideally one write restart at the same step as printing, I will add maybe a note to that effect is the two are different. let us not defend the users from themselves

Hopefully there would be a corresponding step, but realistically it's quite wasteful to generate a restart file as often as you'd want to output the statistics, so I'd expect this would happen for most use cases unavoidably.

Just to make sure we're on the same page, I'm talking about something like
janus md --ensemble nvt --struct tests/data/NaCl.cif --steps 1000 --stats-every 10 --restart-every 100
janus md --ensemble nvt --struct tests/data/NaCl.cif --steps 1000 --stats-every 10 --restart-every 100  --restart

If the first command fails at step 140, then the -stats file will have steps 100, 110, 120, 130 and 140.
When we (auto) restart, it resumes from step 100, so we end up with stats for 110, 120, 130 and 140 again.
My issues is (1) I don't think the user should have to set restart_every to match stats_every, and even then this could be inconsistent with traj_every, and (2) there's not a nice way to avoid this otherwise, that I can think of...

From discussions with @oerc0122, perhaps for now it might be sufficient to add a label to each trajectory image (dyn_step?), which means the user can relatively straightforwardly determine from both the stats and traj files where any overlap is?

It turned out we already had an info["step"] from when we set the statistics, but that meant it would only update at the stats frequency, so wasn't necessarily accurate at the time each trajectory step is written out.
I think the varying frequencies of updating different info keys is still a problem for others e.g. "density" and "real_time", but we can think about that in a separate issue.


[Breaking] Remove importOrderCaseInsensitive option

Reference #22
This removes the importOrderCaseInsensitive option, making sorts always case-insensitive.

@blutorange I see you might have moved on to using Rome instead of prettier (https://github.com/diffplug/spotless/pull/1663), would you like me to stop tagging you on these PRs?


Delete Team Option

Its possible to notice from the logs and from the feedback got that people use to create a new team every time their VM crash or dosent work. In order to avoid it problem and improve the performance on the server it would be nice to have the option to delete a team from an event
Its a good way to start dealing with haaukins since it will not be much to add. it just:

add a new message in the proto file

make deleteTeam function

implement the features in the webclient and the client

This issue has been released already https://github.com/aau-network-security/haaukins/pull/643


[General Discussion]: 0.5.3b should've come on Pico Day

What is your question?
the title says it all! also i need to stop creating more "discussions"

this needs to be official


...cause I got issues, you got them too...

[ ] So give 'em all to me, and I'll give mine to you
[ ] Bask in the glory of all our problems
[ ] 'Cause we Git the kind of code it takes to solve 'em

Updated issues..


Small spelling mistake in creating webhooks page.

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/developers/webhooks-and-events/webhooks/creating-webhooks
What part(s) of the article would you like to see updated?
You'll first need to set up what events  you webhook should listen to.
The you should be "your" :)
Additional information
No response

@clxmente Thank you for opening an issue and linking it to your PR! ✨


Introduce a Discord Server?

an official Voyager Discord would be awesome!
Voyager architecture could probably be applied to more than just MC, would be nice to get a community seeded for this purpose.

I think this would be a good place to host competitions for expanding capabilities. If not a Voyager specific discord, maybe a general minedojo one.


Add navbar shortcut to your own player page (resolve #7)

If this is to be implemented, it should keep with proper web form. The profile should be available by a profile token on the Eastern side of the nav bar (check profiles or similar services for reference


Monitor too busy

Is your feature request related to a problem? Please describe.

https://cheatsheetseries.owasp.org/cheatsheets/Nodejs_Security_Cheat_Sheet.html#monitor-the-event-loop
Describe the solution you'd like

Describe alternatives you've considered

Additional context


Highlighting in Command Palate makes menu text difficult to read

Hi, when using Penumbra Dark, Contrast+, or Contrast++, the highlighted menu text in vscode's command palate becomes very difficult to read. It looks as if it's using the highlight color from Penumbra Light. The grey text and cream highlight does not have enough contrast to read quickly.

Here's an example of similar menu highlighting in One Dark Pro

@Aidan-B1409 if you want, yo can overwrite the color values for list.activeSelectionBackground in your editor global settings, using this:
"workbench.colorCustomizations": {
  "[Penumbra Dark Contrast++]": {
    "list.activeSelectionBackground": "#2c313a"
  }
}

The inversion was somewhat of a deliberate choice based on the template I was working off, I could see how the text has too little contrast though.
One Dark actually makes only a tiny distinction between hovering and selecting which I think is useful to have. My suggestion would be to keep the inversion and increase the contrast which would look like this:


Fix minor typo in code comment

Fixed just a minor typo in a code comment, no code changes.

I updated the PR with the proposed change.
Thanks!


Fixing unsafe examples

This PR corrects some unsafe examples leading to credentials being logged along with URLs.

Codecov Report

Merging #157 (78bd47b) into main (ebb397a) will increase coverage by 0.24%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #157      +/-   ##
==========================================
+ Coverage   76.82%   77.07%   +0.24%
==========================================
  Files          33       33
  Lines        2408     2408
==========================================
+ Hits         1850     1856       +6
+ Misses        416      411       -5
+ Partials      142      141       -1

Flag
Coverage Δ

integration-test
77.07% <ø> (+0.24%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2 files with indirect coverage changes


GUA-213: add content for personal tax account

This contains static screens for the personal tax account service.
It also includes some corrections to the locale files as there were duplication issues.

Huh, odd that there's only conflicts to cy 🤔
we'd want both of these, no? https://github.com/alphagov/di-solid-prototype/pull/92/conflicts


DS-2366 Allow dspace.dir to be filtered

...during maven build
https://jira.duraspace.org/browse/DS-2366

Apart from one question (above), this looks sensible.

I agree with Mark Wood, fix that typo and this is ready to go. You have my provisional +1.

Marking as milestone 5.2 because the Jira ticket has fix version = 5.2
@mdiggory, any chance you could update this PR to fix the typo? I think 5.2 will be cut on Monday.

I've rescheduled this (and its ticket) for 6.0. It seems more of an improvement than a bug fix. See ticket for more info

NOTE: I've just merged a new PR which may resolve some of these web.xml filtering issues: #1094
It's unclear to me what problems this old PR was seeking to resolve. But, I no longer am having issues in my IDE (Netbeans) after merging #1094.

Closing this. It's highly outdated, and #1104 (highly likely for 6.0) will change the landscape even further. This needs a new PR at a minimum, though as I noted previously, I don't see any issues in my IDE that warrant fixing at this time (since #1094)


fix(mount) update permissions to ensure access

Modify the 'kong' user to match the ownership of the mounted plugin folder. Kong will not start because of permission errors if it cannot write to the /kong-plugin/servroot folder (which resides on the mount). Since those permissions are controlled by the host, we update the 'kong' user inside the container to match the UID and GID.

My permission error went away, but I've got another error
Declarative file "kong.yml/yaml/json" not found, skipping import
Error: nginx configuration is invalid (exit code 1):
nginx: the configuration file /kong-plugin/servroot/nginx.conf syntax is ok
nginx: [emerg] bind() to unix:/kong-plugin/servroot/worker_events.sock failed (1: Operation not permitted)
nginx: configuration file /kong-plugin/servroot/nginx.conf test failed

Does anyone see it?
Thank you

My permission error went away, but I've got another error
Declarative file "kong.yml/yaml/json" not found, skipping import
Error: nginx configuration is invalid (exit code 1):
nginx: the configuration file /kong-plugin/servroot/nginx.conf syntax is ok
nginx: [emerg] bind() to unix:/kong-plugin/servroot/worker_events.sock failed (1: Operation not permitted)
nginx: configuration file /kong-plugin/servroot/nginx.conf test failed

Does anyone see it?
Thank you

I am getting the same error with pongo 2.2.0 while trying to test https://github.com/Kong/kong-plugin. I am running inside of WSL2.


Drive free space not correct

Love the skin.  Just having one issue.
The drives meter isn't reading correct for me.  If it said "free" instead of "used" it would be closer, but still not exact.  I tried looking in drive.ini to change the wording but didn't see it in there.   Also, you can see that the bar graph isn't matching.  The C: drive bar is around 80% filled, but the numbers show 90.5 GB out of 499.6 GB which is about 20%.   I've attached a screenshot.  Thanks.

Windows 10, Rainmeter 4.1beta r2822

@jojosteez Thanks for your feedback!
This will be fixed in the next release, if you want to use it now click on the link above this comment and then replace the file drive.ini with the contents of this link.

Thank you so much!  Updated the file and it's reading correctly.  Thanks again!


Fix "conservative" StringConcatenation offenses

This PR fixes Style/StringConcatenation offenses

discovered by using that cop in "conservative" mode
autocorrecting them
fixing new offenses created by the autocorrection

NOTE: Even when "safely" corrected, interpolation performs differently from concatenation when one of the values to be combined is nil:
> x = nil
 => nil
> "string" + x
... TypeError (no implicit conversion of nil into String)
> "string#{x}"
 => "string"

This PR does NOT fix StringConcatenation offenses found in the default aggressive mode.
Those will be fixed in a later PR(s).
The end game is to (eventually) fix all StringConcatenation offenses
because interpolation performs better than concatenation.
(In Ruby 2.x, it performs better when combining > 2 things. In 3.x it's better or equal all the time.)
https://mrod.space/2018/06/24/ruby-concatenation-vs-interpolation.html
https://mrod.space/2020/07/16/ruby-concatenation-vs-interpolation-performance.html

Coverage remained the same at 85.78% when pulling 405b1c04ce35919ac4f6a1c9fb6ba784494752e9 on jdc-string-concat-conservative into d3d80396c653fb07aea6c901ea4327c4f9a5095d on master.

Another trap for the unwary (i.e., me).
If we need to modify a string in place, we cannot simply create it from interpolated strings.
For example, with
x = "b"
str = "a#{x}"

creates the frozen string str.
This contrasts with
x = "b"
str = "a" + x

which creates the mutable string str.

Yes. And I got whiplashed yesterday with one of the changes in this PR.
Also note that concatenating nil throws an error, but interpolating it does not.

Seriously? I'll get whiplash! Rubocop finally was getting me trained to replace concatenation with interpolation... Thanks for the warning.
…
On Mon, Jun 13, 2022 at 9:48 AM Joseph D. Cohen @.> wrote: Another trap for the unwary (i.e., me). If we need to modify a string in place, we cannot simply create it from interpolated strings. For example, with x = "b"str = "a#{x}" creates the frozen string str. This contrasts with x = "b"str = "a" + x which creates the mutable string str. — Reply to this email directly, view it on GitHub <#1017 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYTNNIS2EQT3CVTOGRS5WTVO433NANCNFSM5YS2DYRA . You are receiving this because you are subscribed to this thread.Message ID: @.>

Looks good to me.

Thabks for the heads up about frozen strings Joe. I believe this is part of the transition to Ruby 3 (which 2.7.6 is meant to be preparatory for). Stricter typing and freezes of static objects to save memory.  I've encountered a lot of similar changes. I think it will settle a bitonce we're on 3 and get used to it.


add sqlite3_close_hook

The callback allows registering a custom close hook, which gets called prior to closing the connection, allowing users to perform custom cleanups.
Fixes #62

Should we call xCloseCallback() after we've disconnected all virtual tables, though?

Hm, no idea, I wanted to call it as early as possible to avoid the preexisting shutdown order issue. I can imagine some artificial use cases where you want to finalize some statements with virtual tables still existing. Again, no idea. I'm open to changing the order if presented an argument why it makes sense, otherwise I suggest leaving it as is until somebody complains?


D3D12 ray tracing sample missing UAV barrier

https://github.com/microsoft/DirectX-Graphics-Samples/blob/master/Samples/Desktop/D3D12Raytracing/src/D3D12RaytracingMiniEngineSample/ModelViewer.cpp#L848
The code surrounding the link above looks like this:
    auto uavBarrier = CD3DX12_RESOURCE_BARRIER::UAV(nullptr);
    for (UINT i = 0; i < bottomLevelAccelerationStructureDescs.size(); i++)
    {
        pRaytracingCommandList->BuildRaytracingAccelerationStructure(&bottomLevelAccelerationStructureDescs[i], 0, nullptr);
    }
    pCommandList->ResourceBarrier(1, &uavBarrier);

    pRaytracingCommandList->BuildRaytracingAccelerationStructure(&topLevelAccelerationStructureDesc, 0, nullptr);

Note the lack of a UAV barrier within the loop body. The bottomLevelAccelerationStructureDescs array contains descriptions for BLAS builds defined further up. Note that in line 811, the scratch memory assigned to each description in the array is the same, implying that these BLAS builds may not overlap on the GPU timeline or they will surely invoke a memory hazard.
The reason this code "works" currently is because even further up in line 727, the number of BLAS descriptions in this loop is hardcoded to 1. While the code works, it clearly wasn't intended to function this way, and its suggested to either remove the loop altogether, insert UAV barriers as needed, or allocate additional scratch storage so the BLAS builds operate in independent regions of a single scratch buffer.

Thank you for bringing this to our attention. I'll push a fix soon.

Fixed with https://github.com/microsoft/DirectX-Graphics-Samples/pull/790

Nice work, thanks!


delete-batch is throwing permission denied error

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az storage blob delete-batch
Errors:
az: error: unrecognized arguments: -dryrun

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az storage blob delete-batch --source {} --connection-string {} --pattern {} -d{}

Expected Behavior
Environment Summary
Darwin-19.0.0-x86_64-i386-64bit
Python 3.7.5
Shell: bash

azure-cli 2.0.76 *

Additional Context

@ZhouXing244266602 Please take a look

@haroldrandom @ZhouXing244266602 I found out the issue. This was because I have used -dryrun instead of --dryrun. Thanks for the response.


gw read failes with kryoflux modified drive

C:\temp\gw\3>gw read --track c=0-79:h=0,1:h1.off=-8  foo.scp
Reading c=0-79:h=0-1:h1.off=-8 revs=3
T0.1: Raw Flux (136823 flux in 545.42ms)
T1.1: Raw Flux (129626 flux in 516.53ms)
T2.1: Raw Flux (128936 flux in 513.92ms)
T3.1: Raw Flux (130010 flux in 517.94ms)
T4.1: Raw Flux (129290 flux in 518.08ms)
T5.1: Raw Flux (130379 flux in 519.78ms)
T6.1: Raw Flux (130305 flux in 518.72ms)
T7.1: Raw Flux (146471 flux in 516.42ms)
** FATAL ERROR:
Track0 signal absent after seek to cylinder 0
No file is generated at all. The same command with kryoflux stream file destination also aborts with the same error, but I find the first seven tracks of the back side to be saved. Content of those files is correct.

Additional note: After that
gw read --track c=0-79:h=0,1  foo.scp
and
gw seek 0
fail with the same error message.
gw seek 1
repairs that so that any non negative track can be seeked to.

This makes it appear that approaching track 0 from negative tracks, the trk0 sensor is not triggered. That seems bad to me? Like your trk0 sensor mod isn't quite right? Try this:
gw reset
gw seek --force -8
gw seek 0

compared with
gw reset
gw seek 8
gw seek 0

C:\temp\gw>gw reset
C:\temp\gw>gw seek --force -8
C:\temp\gw>gw seek 0
** FATAL ERROR:
Track0 signal absent after seek to cylinder 0
C:\temp\gw>gw reset
C:\temp\gw>gw seek 8
C:\temp\gw>gw seek 0
(all three with no output)
And the drive has been modified by a professional - very expensive.
The other drive mod for other drives that needs an offset of +8 for head 0 - that is reported to work. But I don't have such a drive to verify - but a trustworthy source for that information.
pin 26 shows the same result. For normal operation it's asserted at track 0 (low  active). But if coming from negative tracks, it's not asserted.
And yes, the drive's working with kryoflux without any problem at all.

I wonder if it depends on the drive. Mine asserts track0 at track 0 and at negative tracks, whether I seek in or out. Possibly yours does not adjust the TRK0 signal when stepping inwards (since logically, how can you find track 0 when stepping inwards?!).
Out of interest what is the exact model of your flippy drive?

Panasonic JU-475-4 APJ

Basically same as mine. Maybe I'll have to power mine up and have an investigation.
Anyway here is a build which may fix the issue for you. Give it a spin! Need to be logged into github to see the Artifact download link at bottom of this page:
https://github.com/keirf/greaseweazle/actions/runs/1678996851

Confirmed working. I have read a complete geos 2.0 disk (both sides) and written it back to the disk I cleared in the other issue. My C128 with my 1571 tells me: No error on that disk.

This is now in master ready for v0.38 release.


Add QT ya make build in CI

This branch was used primarily for testing - and contains a large number of such commits.
The closest to the current version can be considered a successful build from
https://github.com/ytsaurus/ytsaurus/actions/runs/7843895758/job/21405173965
Which differs from the current version only in style corrections

Shipped!


Presenter getModel callbacks support anything that implements call

Any getModel value that implements call will be invoked just like a function. This lets you do neat stuff like this:
import Presenter from 'microcosm/addons/presenter'
import { get } from 'microcosm'
import { getUsers } from 'actions/users'

class UsersQuery {
  constructor () {
    this.action = null
  }

  call (source, state, repo) {
    // Fetch user records if we don't already have them
    if (!this.action) {
      this.action = repo.push(getUsers)
    }

    return get(state, 'users')
  }
}

class UsersPresenter extends Presenter {
  getModel () {
    return {
      users: new UsersQuery()
    }
  }
}

Which is pretty neat. This allows us to work on an abstraction for querying data, and possibly automatically fetching it.

Codecov Report

Merging #321 into presenter-callbacks will not change coverage.
The diff coverage is 100%.

@@                Coverage Diff                 @@
##           presenter-callbacks   #321   +/-   ##
==================================================
  Coverage                  100%   100%
==================================================
  Files                       23     23
  Lines                      787    787
==================================================
  Hits                       787    787

Impacted Files
Coverage Δ

src/addons/presenter.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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