Create an exercise generator for custom-set

As discussed in #290, it would be nice to have exercise generators for exercises so that it would be easier to keep them in synch with canonical tests.
This issue's been created to discuss about the creation of the first of them.

I've had a look at how this is being done for some of the other language tracks:
go - https://github.com/exercism/xgo#generating-test-cases
ruby - https://github.com/exercism/xruby/blob/master/README.md#generated-test-suites
scala - doesn't have anything in the readme
They are fairly different - for example, the ruby track has a file in /bin for each of the exercises, while the go track is simpler and keeps the exercise-specific files in the exercise dir. The scala track has a special top level dir dedicated to the whole thing called 'testgen'.
I'll start with a file in the exercise dir and see what comes of that - seems the simplest approach. Need to remember to use the magic 'example' prefix as noted: https://github.com/exercism/todo/issues/8#issue-70155154

I had in mind an idea similar to the scala approach. But it doesn't matter, let's start with a file in each exercise dir.

I've spiked this, which you can take a look at over here: https://github.com/ireddick/xjavascript/commit/a21d753f46ed45bf4ad52af66f721f04b6f25ec1
You can run it from within the exercise dir with:
node example-gen.js
I've also added a generated spec file, 'example-gen-output.js', to show what it looks like.
From this, I think we can create something a little cleaner. I'm unsure about re-use at the moment, as I haven't looked to see how consistent the test case data is for the various exercises. I'm also noting that the purpose here isn't to write a generic generator https://github.com/exercism/todo/issues/8#issue-70155154
I have a few questions:

What about the existing non-canonical tests?

These are currently located at the end of the spec file. My suggestion is to continue to do this, but to run them through the generator for consistency. This would mean declaring them in the same form as the canonical test data, probably simply hard coded in the generator file.

Do we need to add a version number to the spec file?

See here in the ruby spec: https://github.com/exercism/xruby/blob/master/exercises/custom-set/example.rb#L98

Are we OK with using template literals?

They're an ES6 feature so it's technically breaking the "use the same language as the track" rule.

First of all, thanks for your work and sorry to reply so late.

I'm also noting that the purpose here isn't to write a generic generator exercism/todo#8 (comment)

Yep. As I understand them, we would need a generator for each exercise. It will be easier to write them than write a generic one that generates all posible exercises. Let's focus on write a generator for each exercise.
I wouldn't be worried about code reuse. There is only one generator, the one you're working on. When more generators exist, we will think about code reuse.

What about the existing non-canonical tests?

I think non-canonical tests exist mainly for these reasons:

They are language specific, and they make no sense in other languages
They are kind of duplicated test cases, and they are redundant
They are old test cases and nobody took the time to clean them

As you point out, there are two solutions:

Append them directly in the generator
Move them with the rest of canonical tests, this will affect other language tracks.

I agree with your suggestion, let's keep them in this track. You could create a issue in this track to have a reminder to move them with canonical tests if you want.

Do we need to add a version number to the spec file?

I don't think so, I don't know what's the purpose of the version number in the ruby spec. Sorry.

Are we OK with using template literals?

For me it's ok. It makes the code easier to write in this case. It's an ES6 feature, and this track is focused on features prior to ES6, but I don't think it will be problematic. The rule you talk about is to prevent writing these generators in ruby for a java track, for example. But a JavaScript developer would be happy to learn and use template literals.

I also have some comments about the code.
I would include some comments at the top of the file, explaining how to run the generator, or stating some restrictions.
There is no way to have a README file for each generator, so I would include some comments in them. For this particular generator, I would explain:

How to run it (the node example-gen.js is enough)
Minimum NodeJS version needed, because of template literals feature. It's not available in all versions of NodeJS.
The script needs x-common repository to be in a specific place in the file system, because the script reads a file from a specific path. Just to be sure that we don't forget to clone that repository or to update it before running the generator.

Thanks for the feedback!
I'm working on a simpler, cleaner version that will include what you've suggested.
I'll check what the other tracks are doing with regard to ensuring that x-common is checked out and up to date.

Apologies for the long delay - I'm pretty close to having a commit ready.

Great! Go, go, go!


Formatter undocumented deviation: comment line wrapping inside lists

Hi, thanks for building ruff, it's a great tool, and I've been watching eargerly for auto-formatter support for a while now. Have just tried it out and wanted to report a few formatting deviations - at least as far as I can tell from reading the readme. Apologies if any of these are duplicates, I've had a quick scan of the open issues and I can't seem to see these exact cases.
# before / with black
def test_to_wkb(self):
    wkbs0 = [
        (
            b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00"
            b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        ),  # POINT (0 0)
    ]

# after running `ruff format`
def test_to_wkb(self):
    wkbs0 = [
        (
            b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00"
            b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"  # POINT (0 0)
        ),
    ]

I don't know if this is related to the pragma comment rules? The difference is super minor but black's behaviour is preferable as it is the entire binary sequence inside the parentheses that is the binary encoding of a Point.

This sounds similar to https://github.com/astral-sh/ruff/pull/7269
Although implementing a generic solution could be challenging. But it may be worth special casing it for implicit concatenated strings.
My recommendation would be to make this a leading comment instead. leading comments tend to work better than trailing comments
def test_to_wkb(self):
    wkbs0 = [
		 # POINT (0 0)
        (
            b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00"
            b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        )
    ]

Although Ruff get's this wrong too (for the same reasons):
def test_to_wkb(self):
    wkbs0 = [
        (
			# POINT (0 0)
            b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00"
            b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        )
    ]

For comparison, Prettier always moves comments out of the parentheses. This would work well in the second example I made, but prevents you from e.g. documenting the first item.

For now, our priority is gonna be to fix the suggested alternative:
def test_to_wkb(self):
    wkbs0 = [
        # POINT (0 0)
        (
            b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00"
            b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        ),
        (1)
    ]

Which we currently format as:
def test_to_wkb(self):
    wkbs0 = [
        (
            # POINT (0 0)
            b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00"
            b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        ),
        (1),
    ]

We want this to be part of the Beta.
It'd be nice to fix the trailing comment case here, but we see it as lower-priority. It may fall out of the same solution.

(This probably requires rethinking how we handle parenthesized comments in general.)


VRPN connection is bad

I am getting a warning that VRPN connection is bad.
I am quite sure I am on the correct ip address and port. I am interfacing with optitrack and ros2.
Any advice ?
Thanks

Can you provide more detailed error traces? What is the exact error message you are seeing?

Hi so I am seeing exactly the Warning: "VRPN connection is bad".
This occurs in client.cpp line 78: RCLCPP_WARN(this->get_logger(), "VRPN connection is bad");
I have setup optitrack to stream to the correct IP address and through the correct port, but I cannot get it to work...
Thanks for your help !

There may be 2 IP addresses. Are you using the one setup in Motive or the IP address of the host machine (that is running Motive)?

The IP address I am using is the IP of Motive. This works when using ROS1 with the original VRPN client.

Can you try setting the IP to be the host machine's local IP (dynamically allocated by the router) instead of the IP specified in Motive?

I will try this tomorrow morning when I have access to opti-track again. Thanks for the help - I'll be in touch. I really need to get this to work - thanks for your work in making this possible !

opti track is set to stream at IP X. I am setting the vrpn client to listen to the same IP X.
I can't debug this issue - any other ideas ?

The VRPN client should listen to the IP of the host computer. You can get this IP by running ipconfig in a windows terminal. From my experience, this IP is usually not the same IP as the one set in Motive.


use dash for 'api_management'

Add missing dash for api_management resource.

If this is the case there will be a need to also change the regex and do a make all to regenerate the files.

Would love to see this PR finished. Even in Microsoft learn the example is apim-navigator-prod.
https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-naming#example-names-general

In order to finish this pr it would also need to change all the other files not only the json one.
make gen would do it for the person.


annotation: enable custom listener ports through annotation

Checklist

[x] The title of the PR is clear and informative
[x] If applicable, the changes made in the PR have proper test coverage
[x] Issues addressed by the PR are mentioned in the description followed by Fixes.

Description
#159
Implement the workitem #159, allowing to override the listener port per ingress. The feature propose a new annotation, enabling the developer to define the listtenre port
"appgw.ingress.kubernetes.io/override-frontend-port": "444"
If the port is withing the App Gw authorized range (1 - 64999) this listener will be created on this specific port. If an invalid port or no port is set in the annotation, the configuration will fallback on default 80 or 443.
Note: Documentation is missing. Should I update the MD documentation in this PR ?
Fixes
#159

@rbickel Asked Biao to look as well.

@akshaysngupta is your review still outstanding?
when can we expect to get this feature released?
many thanks

Thanks for merging that @akshaysngupta ! Is there any date when this will be packaged for a release?


[Feature Request] Enhance Taskcat funtionality when imported into python tests

Overview
Taskcat fills a huge void in the Cloudformation tooling ecosystem. Unfortunately it still falls short of its goal of having functional testing of stacks. Lets start off with a simple example.
ArchiveLogsBucket:
  Type: AWS::S3::Bucket
  DeletionPolicy: Retain
  UpdateReplacePolicy: Retain
  Properties:
    BucketName:
      !Sub ${BucketPrefix}-archive-${AWS::Region}
  Tags:
    - Key: Environment
      Value: ${Environment}

With this kind of resource I would want to deploy the stack and make sure my logic works. We also need to delete the stack, check that the bucket remains and then cleanup the bucket. This would be per region in true taskcat spirit. This is a simple template so no conditionals or Maps but the testing required is a bit advanced.
This kinda testing is a big pain in the current version of taskcat. You either have to use the command line and glue it all together with bash or import taskcat and build the tooling out yourself. I have even seen teams actually run the taskcat cli from python and then parse the output of the program for the stack names =/.
Proposal
I think we could easily extend the current Test class to support state. Which appears thats in the plans because I see a "resume" function in the works. Once the class supports state it would be easy to create a context manager that handled the creation and deletion of the test stacks and yielded the stacks.
Pseudo code:
from taskcat import TestManager

# You can use any testing framework here but for this example I wont use any

s3 = boto3.resource('s3')

def test_audit_bucket():
  # You could pass in your own test config dict but here I will use a taskcat config file
  my_test = TestManger('../myBucket/.taskcat')

  buckets = []

  # Entering the with block would create the stacks and return them as a list
  with my_test('default') as stacks:

    assert len(my_test.project.regions) == len(stacks)

    # stack object has all you expect like stack name, region, parameters, outputs etc.
    for stack in stacks:
      bucket = s3.Bucket(stack.resources.ArchiveLogsBucket.id)

      buckets.append(bucket)

      assert stack.region in bucket.name

      # bucket.tags doesn't exist for boto but it should =/
      assert bucket.tags['Environment'] == stack.parameters.Environment

  # When we come out of the with block the stacks are deleted.

  for bucket in buckets:
    assert bucket.exists() # so its not easy to check if a bucket exists with boto...
    bucket.delete()

If it can handle this example though most common use cases should be covered. Thinks like updating the stack by changing the parameters and testing if resources were replaced or updated would also be possible. I think this would be a nice addition and a more advanced way to interact with taskcat while testing cloudformation. I have already started work on this and half a working POC.
My only question is do you want the work here in taskcat or do you want me to do my own package? I think some of the changes would make sense here in taskcat but I also see adding lots of additional things to make testing aws resources easier that isn't that related to taskcat. Things like my_resource.exists(), or my_resource.has_tags({'MyTag': 'MyValue'}). I haven't done much looking, maybe something like that exists for boto3 already.
I was going to push my repo in the next day or two and maybe that would help you decide once you see the code.

We're happy to review your work as a PR directly into taskcat and go from there. 👍

@andrew-glenn I see 2 main approaches. I could modify the Test class to keep track of some state like uid, and stacker.
I could also create a new class that inherits from Test but keeps state. The test class currently has that WIP resume method so I assume at some point in the future it will need some state.
Do you prefer one over the other?

I think just straight into the Test class will be best. Any new classes of this type would contain functionality we would probably want to bring back into Test at some point. This would mean introducing a known depreciation path over the next 6 months.

While we work on getting this added to Taskcat I went ahead and published a pip package so people can use it now and provide feedback on its use.
https://github.com/DontShaveTheYak/cloud-radar
I went ahead published this under the same license as Taskcat. Please let me know if there is something more that I need to do from a licensing perspective.

I don't think you'll need to do anything further. Also - Just a heads up that I stepped away from most things computer until 12/7 to recharge. I may give the PR a review between now and then, or I may not. It's 💯 on my radar in either event.

No problem, enjoy the holidays =)


[T2A3][F09-A2] Chua Jun Wen

Reduce SLAP

Good job.. Keep up the good work. Try to fix the indentation problem


[BUG] hide_dialog_attributes not working on lock entity

Describe the bug
When setting the hide_dialog_attributes to 'true' this seems to work for every entity except for locks

Console log errors (F12)

To Reproduce
Steps to reproduce the behavior:

add the hide_dialog_attributes value 'true' to the dashboard
Open any lock entity
See error

Expected behavior
Using the value hide_dialog_attributes should hide the attributes dropdown from every more-info pane in the dashboard.
Screenshots

Versions:

Home Assistant: v2024.7.1
Kiosk-Mode v6.0.1

Hi @BjornWill,
For the dialogs elements, we basically hide them taking the reports and feedback of users, as there are so many entities and dialogs types it is very hard to make it work everywhere at once.
I'll try to debug this with that kind of entity and add the necessary code to support it.
Regards

Hi @BjornWill,
Once this pull request is merged and a new version is released, your issue should be solved.
Regards

Hi @BjornWill,
A new version has been released. Please, install it and check that your issue is solved.
Regards


Migrate to Maven Central

JFrog just announced that they'll be shutting down JCenter:
https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
Key dates are:
February 28th: No more submissions will be accepted to Bintray, JCenter
May 1st: Bintray, JCenter services will no longer be available
Hence need to migrate to another maven repository like Maven central.

@nisrulz Do you have any updates on this? At the moment i cannot fetch the library anymore, since it is not available on maven yet. Can you please let me know if you have an estimation on when it will be availble on another maven repository?
And is there a 'fallback' in the meantime where i can get the library from?

I guess the fallback would be to use Jitpack, until I can sync this library to MavenCentral.


Horizon v2.31.0 and RPC v21.4.0 changes

Please add support to your SDK for the following API changes.
Horizon Changes
Horizon v2.31.0 made the following changes:

New endpoint: POST /transactions_async allows asynchronous transaction submission (code: stellar/go#5188).
Error schema change: POST /transactions now includes a the hash in its timeout response, which may or may not require code changes depending on how your SDK handles transaction submission errors (code: stellar/go#5328).

Soroban RPC Changes
RPC v21.4.0 added the following endpoints:

getTransactions, which returns pages of transaction details (code: stellar/soroban-rpc#174).
getFeeStats, which returns aggregated fee statistics over a few ledgers (code: stellar/soroban-rpc#172).
getVersionInfo, which returns detailed information about the software versions the RPC server is running (code: stellar/soroban-rpc#132). Please keep in mind that this endpoint accidentally used snake_case for response fields and it will be updated to camelCase (see soroban-rpc#164) as part of Protocol 22's breaking changes when the time comes.

Reference

RPC documentation for getFeeStats.
RPC documentation for getTransactions.
RPC documentation for getVersionInfo.
Horizon documentation for /async_transactions.
JavaScript implementations: stellar-sdk#989 (/transactions_async) and stellar-sdk#1006 (/getFeeStats), both included in v12.2.0.

Hello @Shaptic,
thank you for adding this issue. It has been resolved in release 2.6.4.


Add option to specify ip address of Lifx bulb, bypassing discovery

Description:
This adds a configuration option for directly specifying IP Addresses of Lifx bulbs, bypassing discovery.
I've tried to retain backwards compatibility with existing config entries, if people were happy breaking backwards compatibility, it might be better to rework this to the config looks like:
lifx:
  light:
    discovery:
      - server: IP_ADDRESS
        broadcast: IP_ADDRESS
    hosts:
      - host: IP_ADDRESS
        mac: MAC_ADDRESS

Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#8011
Example entry for configuration.yaml (if applicable):
lifx:
  light:
    - server: IP_ADDRESS
      broadcast: IP_ADDRESS
    - host: IP_ADDRESS
      mac: MAC_ADDRESS

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

Hi @insertjokehere,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

I run my Home Assistant instance on a Kubernetes cluster. Because of the way that Kubernetes (and Docker/Docker Swarm) work, discovery through UDP broadcast in like the way Lifx does doesn't work unless I enable 'host mode' networking. However, if I enable host mode, the Home Assistant container can't connect to other services within the cluster without exposing those services to the wider network.
tl;dr: I want to be able to integrate Lifx bulbs with Home Assistant in cases where Home Assistant has connectivity to the bulbs, but is not on the same subnet

If you have connectivity, it actually works to use the LIFX discovery with a unicast address:
lifx:
 light:
   - server: <IP_ADDRESS>
     broadcast: <IP_ADDRESS>
   - server: <IP_ADDRESS>
     broadcast: <IP_ADDRESS>

Could that work for your case?

Huh, yup, that works, thanks. Don't know why that didn't occur to me after reading through the aiolifx code over the last few days.
Will open a PR for the docs to make a note of this, I can't be the only one who has had this.
Thanks again.


Microsoft.DotNet.ProjectModel.ProjectContextBuilder Replacement for CSProj

Currently, we use Microsoft.DotNet.ProjectModel.ProjectContextBuilder to build a Microsoft.DotNet.ProjectModel.ProjectContext. Currently, this fails on a 2017 project with the following error: Could not resolve project at: D:\Work\Coalesce.VS2017RC<IP_ADDRESS>116.0.D15REL\src\Coalesce.Web. This could happen when project.lock.json was moved after restore.
What is the planned upgrade path to get this working with .csproj based projects?
/cc @granterickson, @morrisjoe, @breaman, @ascott18

I don't know what ProjectContextBuilder used to do @piotrpMSFT @davidfowl any thoughts here?

@davidfowl @filipw
Static methods on Microsoft.DotNet.ProjectModel.ProjectContext seem to be incompatible with the new .csproj, and fail looking for a project.json file.
Ex:
Microsoft.DotNet.ProjectModel.ProjectContext.CreateContextForEachTarget
Microsoft.DotNet.ProjectModel.ProjectContext.Create

Is there a new way to get a project context w/ .csproj?

You need to use the msbuild APIs. Omnisharp is your best bet at figuring out the equivalent APIs to use (these are no longer first class):
https://github.com/OmniSharp/omnisharp-roslyn/blob/cf41430ccded50d36cafd81ced578e29770c5daa/src/OmniSharp.MSBuild/ProjectFile/ProjectFileInfo.cs

is omnisharp-roslyn and those msbuild APIs available as a nuget package?

Going to close this in lieu of MSBuild APIs, this is what OmniSharp a few other projects are using.

I know this is an old question, but I just want to point out the nice project Buildalyzer, which makes all this work really simple, for future reference. It might help other people as it has helped me.
https://github.com/daveaglick/Buildalyzer


[REG 2.066] Issue 15674 - alias this rejected for 'out' parameter

Sweet, thanks a lot. And :+1: for targeting stable.
FYI @mihails-strasuns-sociomantic

@MartinNowak : Any chance you could take a look at this ?

Auto-merge toggled on


Unsupported engine for<EMAIL_ADDRESS>

npm WARN notsup Unsupported engine for<EMAIL_ADDRESS>wanted: {"node":"^12.18.0","npm":"^6.14.5"} (current: {"node":"14.7.0","npm":"6.14.8"})
npm WARN notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>npm WARN notsup Unsupported engine for<EMAIL_ADDRESS>wanted: {"node":"^12.18.0","npm":"^6.14.5"} (current: {"node":"14.7.0","npm":"6.14.8"})
npm WARN notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>

This is because the engines field is restricted to Node 12--so any other versions will produce the warning.
I got this same warning when using node 14. But I've verified the package does indeed work on node 14 :)
@cjpatoilo would you accept a PR by me to edit the engines field to the support versions to include node 14? Once that's done, it should fix the warnings.


CUDA VERSION - 2

    Cuda compatibility is a nightmare unfortunately.

I have systems with 2080ti where the cuda 11 libraries don't work, so we are likely keeping the repo as is.
Thanks for sharing your configuration.
I haven't tested torch 1.12, but it should work fine.
For people who want to stick with torch 1.11:
Instead of deleting torch from the requirements.txt one can also replace it with:

--extra-index-url https://download.pytorch.org/whl/cu113
torch==1.11.0+cu113
--extra-index-url https://download.pytorch.org/whl/cu113
torchaudio==0.11.0
--extra-index-url https://download.pytorch.org/whl/cu113
torchvision==0.12.0+cu113

and then install torch-scatter and mmcv with

pip install torch-scatter -f https://data.pyg.org/whl/torch-1.11.0+cu113.html

pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.11.0/index.html

Originally posted by @Kait0 in https://github.com/autonomousvision/transfuser/issues/114#issuecomment-1277619389

dear debeloper, torch 1.12 does not work


License

I'm confused with the license type for this code. At the end of the README.md it is sais that this project is for academic purposes only, but it is licensed as MIT, which includes commercial use. Anyone knows under what license this project really is?
Thanks!!

As I developed this repo based on repos licensed as MIT, I followed the default license. If you want to use the code of our proposed rectification module, please consult Prof. Jin<EMAIL_ADDRESS>lianwen.jin@gmail.com).


NMEA 2000 Implementation

I am wondering if anyone is aware of a N2K implementation that uses this library, or anyone working on NMEA 2000 extensions for this library?
Thought I would ask before I reinvent the wheel...

Hi @rowanbsmith, I am not aware of any NMEA 2000 library built which leverages this library nor of anyone actively working on one. Admittedly, I went down a NMEA 2000 rabbit hole after reading this question. It would be totally feasible to do. However, I am currently not planning on authoring an extensions library for this anytime soon.


Improve/ensure consistency of command arguments, e.g. model names vs. file names

trestle has many commands and there is increasing need for consistency of meaning across the commands, to avoid confusion in usage.
Examples guidelines are:
-f may be an actual file name, a directory, or a model name.  Is it good to have this flexibility or is it confusing?  Should it strictly be an actual file name with extension?
-n should always be a model name - and never a file
-m is useful for markdown content - but should never be a file.  i.e. it should refer to a directory or task name
-o is useful as a clear statement of output - but sometimes that output is an actual file name and sometimes it is a model name.  So that can also be confusing.
-p specifically refers to the name of a profile model present in the trestle workspace.  Is it ok to use a single letter when the type of model needed is clear?
-y for a yaml file.  If it is intended as a yaml header, it could be -yh.  It needs to be distinct from -h.
Many of these ambiguities can be dealt with by special handling when the command is executed - e.g. to convert a file name to a pure model name - but that may end up being confusing to users.
Issue is resolved by deciding on a forward-looking path for expected command arguments and establishing guidelines for their usage.
In addition, guidelines should be set for when errors should be raised vs. resolving ambiguities in the code and figuring out what the user wants.

This should be considered as part of ongoing work to create a manager for command invocations.

Done.


Weird emit_print behavior

hexchat.hook_print('Channel Message', function (args)
	print('this is printed once')
	hexchat.emit_print('Fake event', 'nothing', 'should happen')
	return hexchat.EAT_ALL
end)

In this example the print happens twice for me, I have encountered other weird issues such as the return not getting registered, I imagine that function is corrupting the stack or something.

Similar corruption seems to happen on context:print() also... weird issues in this script where the value of channel could be changed.

As discussed on IRC, this couldn't be reproduced, so closing for now.


Is it possible to strip query strings from logs?

I'd really like to use this module in our project, but we have an annoying requirement to remove query strings from our logs.
Is this currently possible with hmpo-logger?

This could be added as an option

I've made a PR for a token function that returns a stripped URL
https://github.com/UKHomeOffice/passports-logger/pull/16
this could be used by updating the meta that is logged in the config when configuring the logger:
{
meta: {
request: 'strippedRequest'
}
}


intl-messageformat resolves to broken release

🐛 Bug Report
package.json in @internationalized/message has dependency of intl-messageformat: "^9.12.0", which may be resolved to version 9.13.0. This release is broken, it crashes on lots of rather old browsers, because it doesn't check for availability of Intl.Locale. Bug was fixed in version 10.0.0, breaking changes from changelog don't seem important for react-aria.
Issue in intl-messageformat repo: https://github.com/formatjs/formatjs/issues/3588#event-6612532878
Changelog for version 10.0.0:  https://github.com/formatjs/formatjs/releases/tag/intl-messageformat%4010.0.0
🤔 Expected Behavior
No crashes
😯 Current Behavior
Crashes when using useSelect on browser not supporting Intl.Locale
💁 Possible Solution
Bump dependency version to ^10.0.0.
🔦 Context
Affects any usage of useSelect.
💻 Code Sample
Open this sandbox in Safari 13 or below (or any browser not supporting Intl.Locale): https://codesandbox.io/s/wandering-leftpad-wfn4hi?file=/src/App.js
There will be an error in console: TypeError: undefined is not a constructor (evaluating 'new Intl.Locale(supportedLocales[0])')
🌍 Your Environment

Software
Version(s)

react-spectrum
3.18.0

Browser
Safari 12

Operating System
MacOS 10.12.6

🧢 Your Company/Team

🕷 Tracking Issue (optional)

Do we know when the fix will be released in the react-aria package? We're on 3.17.0 and experiencing this issue.

Sorry for the longer delay between last release and our upcoming one, our company had a summer shut down. We're aiming for end of the month.


[ERROR] Failed to expand bicep source: Cannot process argument because the value of argument "name" is not valid.

Existing rule
Azure.AppService
Description of the issue
I have following userAssignedIdentities for Web app
identity: {
    type: 'UserAssigned'
    userAssignedIdentities: {
      '${userAssignedScope}': {}
    }
  }

It works fine when I deploy it. But when I run PSRule, it fails with following error
[ERROR] Failed to expand bicep source '\Infrastructure\infra\main.dev-nb.bicepparam'. Exception calling "GetBicepParamResources" with "2" argument(s): "Cannot process argument because the value of argument "name" is not valid. Change the value of the "name" argument and run the operation again."
   [ERROR] Failed to expand bicep source '\Infrastructure\infra\main.dev.bicepparam'. Exception calling "GetBicepParamResources" with "2" argument(s): "Cannot process argument because the value of argument "name" is not valid. Change the value of the "name" argument and run the operation again."

Error messages
[ERROR] Failed to expand bicep source '\Infrastructure\infra\main.dev.bicepparam'. Exception calling "GetBicepParamResources" with "2" argument(s): "Cannot process argument because the value of argument "name" is not valid. Change the value of the "name" argument and run the operation again."

Reproduction
identity: {
    type: 'UserAssigned'
    userAssignedIdentities: {
      '${userAssignedScope}': {}
    }
  }

gives the error when disabling
  identity: {
    type: 'UserAssigned'
    //userAssignedIdentities: {
    //  '${userAssignedScope}': {}
    //}
  }

PSRule Test works
But need to enable it again for deployment.
Version of PSRule
2.9.0
Version of PSRule for Azure
1.36.0
Additional context
When searching, I found this #2751 but it did not make me wiser.

@maythamfahmi Thanks for reporting the error.
Are you able to provide a little more detail around userAssignedScope?

Is this a variable or parameter in a .bicep file?
If it is a parameter, is it set by an output from another module?
Can provide an example of where it is defined and where is it set?

@maythamfahmi Thanks for reporting the error.
Are you able to provide a little more detail around userAssignedScope?

Is this a variable or parameter in a .bicep file?
If it is a parameter, is it set by an output from another module?
Can provide an example of where it is defined and where is it set?

Thanks, I am glad for your quick feedback, here is my answer:
parameter in appService.bicep that takes the value from an output. As mentioned it deploys fine in Azure and works as expected, it is more psrule that comes with this error message.
appService.bicep
param location string
param appServicePlanName string
param webAppName string
param userAssignedScope string

resource asp 'Microsoft.Web/serverfarms@2023-01-01' = {
  name: appServicePlanName
  location: location
  sku: {
    name: 'S1'
  }
}

resource webApp 'Microsoft.Web/sites@2023-01-01' = {
  name: webAppName
  location: location
  identity: {
    type: 'UserAssigned'
    userAssignedIdentities: {
      '${userAssignedScope}': {}
    }
  }
  properties: {
    serverFarmId: asp.id
    httpsOnly: true
  }
}

main.bicep
module appService '../modules/appService/appService.bicep' = {
  name: 'WebApp-Deployment'
  scope: resourceGroup(rgAppService.name)
  params: {
    webAppName: '${appServiceName}'
    appServicePlanName: '${appServicePlanName}'
    location: location
    skuName: webAppSkuName
    userAssignedScope: userAssignedId.outputs.scope
  }
}

@maythamfahmi Ok thanks for the additional detail.
Some follow up questions.

What is scope set from?

Is it the resource id of a user-assigned managed identity or something different?

In the common case it would be something like, because the resource id is required for the userAssignedIdentities block:

// ---------
// RESOURCES
// ---------

@sys.description('Create or update a User-Assigned Managed Identity.')
resource identity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {
  name: name
  location: location
}

// -------
// OUTPUTS
// -------

@sys.description('A unique identifier for the Managed Identity.')
output id string = identity.id

yes, I use output scope string = userAssignedIdentities.id, the same as output id string = identity.id

@BernieWhite I have made a little found that might enlighten your debugging work. I did a review with my colleague Jonas, and he suggested for fun trying to harden the id. Funny enough the PSRule works fine. With that said.
So when testing with this it works:
userAssignedIdentities: {
'/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-name': {}
}

@maythamfahmi The issue is cause by the resource IDs for the module deployments being incorrectly generated when you have a subscription level target scope and modules targeted to a resource group scope.

A fix will be available in the next pre-release, available in the next few days. As a workaround:

Order the modules in the parent deployment is required order. i.e. in this case define the managed identity before the app service. OR
Using an exsiting reference or resourceId function or concat the resource ID (less preferred) in the app service module.

@BernieWhite just to let you know, the same issue is happening for Microsoft.Cdn/profiles@2024-02-01

@maythamfahmi OK, thanks. This is also for v1.36.0 or are you trying with a v1.37.0 preview?

@BernieWhite  😊I still using 1.36.0, I will try with 1.37.0 preview and let you know

@BernieWhite
We are still seeing this issue, when passing UserAssignedIdentity properties, between bicep modules.
   ERROR  Failed to expand bicep source '/main.test.bicepparam'. Exception calling "GetBicepParamResources" with "2" argument(s): "Unable to expand resources because the source file '/main.test.bicepparam' was not valid. An error occurred evaluating expression '[reference('userAssignedIdentity').outputs.id.value]' line 1414. The language expression property 'id' doesn't exist."
Using PSRule version 1.39.2
containerRegistry.bicep
targetScope = 'resourceGroup'

param containerRegistryName string
@allowed([
  'Basic'
  'Standard'
  'Premium'
])
param containerRegistrySku string
param location string
param logAnalyticsId string
param userAssignedId string
param acrRoleAssignments object[]
param tags object

resource containerRegistry 'Microsoft.ContainerRegistry/registries@2023-11-01-preview' = {
  name: containerRegistryName
  location: location
  identity: {
    type: 'UserAssigned'
    userAssignedIdentities: {
      '${userAssignedId}': {}
    }
  }
  sku: {
    name: containerRegistrySku
  }
  tags:tags
  properties: {
    adminUserEnabled: false
    policies: {
      azureADAuthenticationAsArmPolicy: {
        status: 'enabled'
      }
    }
  }
}

resource acrMonitoring 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview' = {
  name: '${containerRegistryName}-logging'
  scope: containerRegistry
  properties: {
    logs: [
      {
        category: 'ContainerRegistryRepositoryEvents'
        enabled: true
      }
      {
        category: 'ContainerRegistryLoginEvents'
        enabled: true
      }
    ]
    metrics: [
      {
        category: 'AllMetrics'
        enabled: true
      }
    ]
    workspaceId: logAnalyticsId
  }
}

@description('Following will add principals to the key vault Reader')
module acrReaderRoleAssignment 'rgRoleAssignment.bicep' = {

  name: 'acrReaderRoleAssignment'
  params: {
 roleAssignments:acrRoleAssignments
  }
}

output containerRegistryName string = containerRegistry.name
output containerRegistryId string = containerRegistry.id
output containerRegistryUrl string = containerRegistry.properties.loginServer

Common.bicep
targetScope = 'subscription'
// Parameters
@description('')
@allowed([
  'test'
  'prod'
])
@minLength(3)
@maxLength(4)
param environment string

@description('')
@maxLength(3)
param solutionName string

@description('')
@maxLength(5)
param companyInitName string

@description('Deployment Location')
@allowed([
  'westeurope'
  'northeurope'
  'swedencentral'
])
param location string

@description('')
param sequenceNo string
@description('')
param tags object
@description('')
param persistent bool
@description('')
param commonSubnetId string
@description('')
param clusterSubnetId string
@description('')
param logAnalyticsWorkspaceId string
@description('')
param kvRoleAssignments object[]
@description('')
param acrRoleAssignments object[]
@description('')
param appInsightsName string
@description('')
param appiConnectionString string

//Function import
import { naming } from '../../functions/naming.bicep'

// Variables
var sequence = environment == 'prod' ? '' : '${sequenceNo}'
var rgCommonName = naming('rg', 'common', companyInitName, solutionName, environment, sequence).name
var keyVaultName = naming('kv', '', companyInitName, solutionName, environment, sequence).name
var userAssignedIdentityName = naming('id', '', companyInitName, solutionName, environment, sequence).name
var containerRegistryName = naming('acr', '', companyInitName, solutionName, environment, sequence).nameWithoutDash

// Resources

resource rgCommon 'Microsoft.Resources/resourceGroups@2024-07-01' = {
  name: rgCommonName
  location: location
  tags: union(tags, {})
}

module rgCommonPersistentLock '../../core/lockRg.bicep' = if (persistent) {
  name: '${rgCommonName}-Lock-Deployment'
  scope: rgCommon
}

module userAssignedIdentity '../../core/userAssignedIdentities.bicep' = {
  scope: rgCommon
  name: '${userAssignedIdentityName}-Deployment'
  params: {
    userAssignedName: userAssignedIdentityName
    location: location
    tags: tags
  }
}

var kvRoleAssignmentsAutoGenerated = [
  {
    name: 'Key Vault Secrets User: Allow web app Reader role to key vault via User Assigned Identity'
    roleDefinitionResourceId: '/providers/Microsoft.Authorization/roleDefinitions/4633458b-17de-408a-b874-0445c86b69e6'
    principalId: userAssignedIdentity.outputs.principalObjectId
    principalType: 'ServicePrincipal'
  }
]

module keyVault '../../core/keyVault.bicep' = {
  name: '${keyVaultName}-Deployment'
  scope: rgCommon
  params: {
    subnetIds: [
      {
        id: commonSubnetId
      }
      {
        id: clusterSubnetId
      }
    ]
    keyVaultName: keyVaultName
    location: location
    tags: tags
    logAnalyticsWorkspaceId: logAnalyticsWorkspaceId
    kvRoleAssignments: union(kvRoleAssignments, kvRoleAssignmentsAutoGenerated)
  }
  dependsOn: [
    userAssignedIdentity
  ]
}

var acrRoleAssignmentsAutoGenerated = [
  {
    name: 'AcrPull. Pull artifacts from a container registry.'
    roleDefinitionResourceId: '/providers/Microsoft.Authorization/roleDefinitions/7f951dda-4ed3-4680-a7ca-43fe172d538d'
    principalId: userAssignedIdentity.outputs.principalObjectId
    principalType: 'ServicePrincipal'
  }
]

module containerRegistry '../../core/containerRegistry.bicep' = {
  scope: rgCommon
  name: '${containerRegistryName}-Deployment'
  params: {
    location: location
    acrRoleAssignments: union(acrRoleAssignments, acrRoleAssignmentsAutoGenerated)
    containerRegistryName: containerRegistryName
    containerRegistrySku: 'Standard'
    logAnalyticsId: logAnalyticsWorkspaceId
    tags: tags
    userAssignedId: userAssignedIdentity.outputs.id
  }
  dependsOn: [
    userAssignedIdentity
  ]
}

module applicationInsightsConnectionString '../../core/keyVaultCreateSecret.bicep' = {
  name: '${appInsightsName}-Secret-Deployment'
  scope: rgCommon
  params: {
    keyVaultName: keyVaultName
    secretName: '${appInsightsName}ConnectionString'
    secretValue: appiConnectionString
  }
  dependsOn: [
    keyVault
  ]
}

@description('User Assigned Identity Id (scope)')
output userAssignedIdentityId string = userAssignedIdentity.outputs.id
@description('User Assigned Identity Principle Id (Object Id)')
output userAssignedIdentityObjectId string = userAssignedIdentity.outputs.principalObjectId
@description('User Assigned Identity Client Id')
output userAssignedIdentityClientId string = userAssignedIdentity.outputs.clientId
output containerRegistryName string = containerRegistry.outputs.containerRegistryName
output containerRegistryId string = containerRegistry.outputs.containerRegistryId
output containerRegistryUrl string = containerRegistry.outputs.containerRegistryUrl
output keyVaultName string = keyVault.outputs.keyVaultName


Add SuspendFunSwallowedCancellation rule

Fixes https://github.com/detekt/detekt/issues/5468
More details:
This PR tries to detekt, all the suspend fun inside a runCatching block. Currently, I am finding each suspension point(suspend fun) inside the runCatching block and then for each suspension point trying to backpropagate if I can reach back to the original runCatching block or not.
Cases, where I am not able to reach, are as follows (these cases will not be reported a code smell for the current runCatching block)

If the suspension point is called by lambda which is not an inline function
If suspension point is called by fun which is inline but lambda, where that suspension point is present, is not inlined lambda(in other words lambda is marked with noinline or crossinline)

If any of the above points gets encountered, I break the backpropagation and then check if the returned function descriptor is the same as the current runCatching block(I am not checking against fqName as there could be multiple nested runCatching and then deeper suspension point will be reported against all the parent runCatching)
I have created this draft PR for early feedback and suggestion on improving the propagation around TCs. Although I agree that I am propagation a runCatching..suspend fun from top to bottom then bottom to top, I want to know if should I optimise this(do this in single propagation(This will require custom propagation of child or some other logic)) or is it okay. I'm fine either way
Update:
Now in the commit, I have simplified the traversal logic and only going inside a function for traversal when that function is inline or value parameter of the function is not marked noinline or crossinline(This helped in preventing the backpropagation from the suspension point)

Feels like the code is getting shorter, but definitely simpler, nice one!

Thanks

I was out for some time and there are a lot of comments on these PR. Is there any blockers to merge this? Can I help to unblock something?
To me the tests feel a bit too long but this rule is a clear win for our users so we can improve that in later PRs. I mean, this implements just "half" issue. The runCatching thing. We need to implement the try/catch too.

Hi @BraisGabin try-catch was agreed to be implemented as a separate PR(that's why the generic name SuspendFunSwallowedCancellation). Your input Is needed for the comment(context: Currently I am allowing false negative while addressing that comment will favour false positive instead of false negative)

@BraisGabin note: unresolved conversations are unresolved, hence the name ;)

@BraisGabin note: unresolved conversations are unresolved, hence the name ;)

Hi @TWiStErRob can you check once again? I have added the TC as well for your case and it is passing

I think it's sufficiently covered with tests, so let's release it and see if false positives/negatives come up. I would add a note in the issue description something like:
* Note: This is a very complex topic, so there are ought to be
* false positive/false negative findings, if you come across one,
* please report in the [detekt issue tracker](https://github.com/detekt/detekt/issues).

I know this is the default expected behavior, but in the case of this rule, it's even more important to not just "suppress it in my case", but discuss usage patterns we didn't think of.

I think it's sufficiently covered with tests, so let's release it and see if false positives/negatives come up.

Merging as we want this included in 1.23 👍


Camera thumbnails visible, but not streaming across all models

While all but one of my cameras now show up in HA, none of them are able to stream.  My last camera is not recognized at all although it is the simplest of them all - the Indoor Cam  T8400
RTSP addresses show up for each camera, but RTC throws out several 'unrecognized' error codes
Steps to reproduce the behavior:

Go to '...'
402f1039_eufy_security_ws_2024-04-19T17-24-52.652Z.log

Click on '....'

Scroll down to '....'
a889bffc_go2rtc_2024-04-19T17-23-49.715Z.log

See error

Expected behavior
A clear and concise description of what you expected to happen.
Additional information
Go to Settings -> System -> Repairs -> Click on 3 dots (...) -> System Information and get Version and Installation Type to below fields;

Home Assistant Installation Type (OS - Supvervised - Core):  OS
Home Assistant Core Version:  core-2024.4.3
Eufy Security Add-on Version: 1.8.0-2
Eufy Security Integration Version: v8.0.1

Hardware Information;
E340 Battery but using Home DC Voltage
S340 Solocam using solar
T8400 Indoor cam 2 - one showing thumbnail, one not discovered - both USB Powered
Solocam S40 (solar)

Live Streaming Protocol (RTSP/P2P):  P2P but GoRTC installed

Debug Logs from Home Assistant (https://github.com/fuatakgun/eufy_security/discussions/624) - Without this, I will automatically resolve this issue
Logger: homeassistant.components.camera
Source: components/camera/init.py:902
integration: Camera (documentation, issues)
First occurred: 12:12:34 (3 occurrences)
Last logged: 12:13:07

This error originated from a custom integration.
Logger: homeassistant
Source: custom_components/eufy_security/eufy_security_api/web_socket_client.py:63
integration: Eufy Security (documentation, issues)
First occurred: 12:15:47 (2 occurrences)
Last logged: 12:16:26
Error doing job: Exception in callback WebSocketClient._on_close(>)
Traceback (most recent call last):
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/config/custom_components/eufy_security/eufy_security_api/web_socket_client.py", line 81, in _on_close
self.close_callback(future)
File "/config/custom_components/eufy_security/eufy_security_api/api_client.py", line 317, in _on_close
_LOGGER.debug(f"on_close - executed - {future} = {future.exception()}")
^^^^^^^^^^^^^^^^^^
File "/config/custom_components/eufy_security/eufy_security_api/web_socket_client.py", line 63, in _process_messages
async for msg in self.socket:
File "/usr/local/lib/python3.12/site-packages/aiohttp/client_ws.py", line 312, in anext
msg = await self.receive()
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/client_ws.py", line 244, in receive
msg = await self._reader.read()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/streams.py", line 681, in read
return await super().read()
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/streams.py", line 640, in read
await self._waiter
asyncio.exceptions.CancelledError
Logger: homeassistant.components.stream.stream.camera.doorbell
Source: components/stream/init.py:448
integration: Stream (documentation, issues)
First occurred: 12:14:57 (7 occurrences)
Last logged: 12:18:27
Error from stream worker: Error demuxing stream: [Errno 110] Operation timed out: 'rtsp://<IP_ADDRESS>:8554/T8214510234017E3'
Error from stream worker: Error opening stream (HTTP_NOT_FOUND, Server returned 404 Not Found) rtsp://<IP_ADDRESS>:8554/T8214510234017E3
Logger: homeassistant.components.stream.stream.camera.garage
Source: components/stream/init.py:448
integration: Stream (documentation, issues)
First occurred: 12:14:09 (8 occurrences)
Last logged: 12:18:49
Error from stream worker: Error demuxing stream: [Errno 110] Operation timed out: 'rtsp://<IP_ADDRESS>:8554/T8170T1023462BB6'; last error log: [NULL] missing picture in access unit with size 92
Error from stream worker: Error opening stream (HTTP_NOT_FOUND, Server returned 404 Not Found) rtsp://<IP_ADDRESS>:8554/T8170T1023462BB6
Logger: homeassistant.components.stream.stream.camera.sl_living_room
Source: components/stream/init.py:448
integration: Stream (documentation, issues)
First occurred: 12:16:15 (6 occurrences)
Last logged: 12:19:01
Error from stream worker: Error opening stream (ERRORTYPE_113, Host is unreachable) rtsp://<IP_ADDRESS>/live0
Error requesting stream: camera.garage does not support play stream service

Logs from Eufy Security Add-on (either from Add-ons page of Home Assistant or Docker output):
EufyAddon Log.pdf

Would you share your device with me in case further debugging required? (Yes/No):  Yes

Additional context
Add any other context about the problem goes here. Mainly, share everything as log files and use screenshots as last resort.

I have the same issue as stated here, I will be willing to share as well if need be.

hi - you should have my device shares from a couple of weeks ago - let me know if I need to send another invite.  Thanks again!

same here :( Eufy E340

@ramseys1990 please share following the readme file and drop a message over here

Hi, I have shared my cameras to<EMAIL_ADDRESS>

@fuatakgun Just wanted to touch base on this and see if I still need the cameras to be shared with you.


Advance time once all variables have been read

@mrogowski Should we merge this one?

Yes, I forgot we didn't already!


ionic build --prod or --aot Error: No provider for Config!

When I run ionic build --prod or ionic build --aot it throws Error: No provider for Config!.
This is the line that it's referring to import * as import129 from 'ionic-img-viewer/node_modules/ionic-angular/config/config';
import128.registerCustomTransitions(this.parent.get(import129.Config)),
Cordova CLI: 6.5.0
Ionic Framework Version: 2.0.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.1.4

Had to upgrade to Ionic 2.1.0


Build a Customer Model (Translator Text)

I am keen to build out the example but do not see any sample data.   Did something change?

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

ID: 918b5e6a-5692-2e44-5a41-88077c115c34
Version Independent ID: a7c1fe3a-677e-fc93-ae54-d4a1da60bc12
Content: Quickstart: Build, deploy, and use a custom model - Custom Translator - Azure Cognitive Services
Content Source: articles/cognitive-services/Translator/custom-translator/quickstart-build-deploy-custom-model.md
Service: cognitive-services
GitHub Login: @rajdeep-in
Microsoft Alias: v-rada

@jloughlinMSFT Hi John, you need to upload your own data set.

This is a disappointing response.  I think the value of being able to produce a custom translator is significant but it  will be hidden from people who would otherwise be interested but don’t happen to have parallel texts readily available.  For my own purposes, I would like to demonstrate this feature for a Microsoft customer.   Can you please send a file this was tested with?
Thank you,
John
From: YutongTie-MSFT<EMAIL_ADDRESS>Sent: Tuesday, February 26, 2019 6:01 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: John Loughlin<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Build a Customer Model (Translator Text) (#25785)
@jloughlinMSFThttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FjloughlinMSFT&data=02|01|joloughl%40microsoft.com|1ca55c86b9c040b9765808d69c3e52b1|72f988bf86f141af91ab2d7cd011db47|1|0|636868188820983745&sdata=hUzTUyfbLd3GNXWmg7IqnSi4e%2BDQ0WSw2OKJIIpGHmw%3D&reserved=0 Hi John, you need to upload your own data set.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F25785%23issuecomment-467650813&data=02|01|joloughl%40microsoft.com|1ca55c86b9c040b9765808d69c3e52b1|72f988bf86f141af91ab2d7cd011db47|1|0|636868188820983745&sdata=WG0NW3S30xkpo10N1U%2BuvsEXFLB%2BWrwg5sPFtmj5mYg%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAcNndyyKEFLSRVAAjFrYnJgMBAAL28_aks5vRbzAgaJpZM4bTJzo&data=02|01|joloughl%40microsoft.com|1ca55c86b9c040b9765808d69c3e52b1|72f988bf86f141af91ab2d7cd011db47|1|0|636868188820983745&sdata=qbzc2TCvCcvWDq%2Fwn01CiTpEx1xeH9NtCi8hnWGhMd4%3D&reserved=0.

@jloughlinMSFT Hi John, sorry to that. Though it does not have have any data set for testing in the document, I think we can ask for help from the author to see if they have any sample data for it and add it in the document for further usage.
@rajdeep-in Hi, we haven't seen any sample data set when trying to demo this feature, but it needed. Could you please share the sample when you are building this document or could you please share any other samples? Please tell me if you need any help.

@YutongTie-MSFT I've responded you over email.

@rajdeep-in Thanks. Please also update the document if necessary.
@jloughlinMSFT Hi John, we solved this issue offline so I will close this ticket.

hi @jloughlinMSFT ,
You may use sample data from http://opus.nlpl.eu/OpenSubtitles2018.php . You may navigate at links at the top for smaller data sets.

#please-close


Remove duplicate prefix mapping check in SAX infosets

When converting SAX events to text using our built-in ContentHandler, we
intentionally do not output namespace prefix mappings if a prefix has
already been mapped to the same namespace. This differs from the
XMLTextInfosetOutputter behavior, which does not do this duplicate
removal. So for example, the XMLTextInfosetOutputter might output an
infoset like this with duplicate namespace mappings:
<ns:a xmlns:ns="foo">
  <ns:b xmlns:ns="foo">test</ns:b>
</ns:a>

But when using SAX we would output this, with the duplicate mapping
removed:
<ns:a xmlns:ns="foo">
  <ns:b>test</ns:b>
</ns:a>

Although these two infosets are functionally the same, our TDMLRunner
requires that they be exactly the same, including the namespace prefix
mappings on every element. Otherwise the TDMLRunner throws an exception
and the test fails.
Ideally, these two infoset outputters would always have the same output.
Also, one could argue that our SAX ContentHandler should more closely
match the SAX events, so if we get events with duplicate mappings, the
ContentHandler should output duplicate mappings. So this modifies the
ContentHandler so that it does not remove duplicate mappings, and it
matches the XMLTextInfosetOutputter behavior/output, allowing tests to
pass.
DAFFODIL-2568

I made a new JIRA ticket about the 100ms test timeout failure. DAFFODIL-2582


feat: Remove provider dependency

The StrokeOrderAnimator now uses a ListenableBuilder to directly
listen to the StrokeOrderAnimationController. This removes the need
for a ChangeNotifierProvider and Consumer.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#92  👈
#91
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Mr-Pepe and the rest of your teammates on  Graphite

LGTM

Merge activity

Jun 7, 9:38 AM EDT: Graphite rebased this pull request after merging its parent, because this pull request is set to merge when ready.


build error !

just try to build with visual studio 2019 and i got more than 80 errors and i think this is not for windows 64
i hope you can fix it or build it and re-upload it again.

It does compile with VS2019 and VS2022. Did you follow the compile instructions? Also a bit more information would help me to figure out why you are getting errors.

You didn't follow the compile instructions in the README and you are missing references to xdevkit and JRPC

Just fork and clone and after that what i must do? what folder i must create and where?
You obviously did not read the README for setting up the ReClass.Net project and folder structure. The release files are posted with instructions to follow.


Custom IAM and STS endpoint support for terragrunt --terragrunt-iam-role commands

I've looked at the Terragrunt "Work with multiple AWS accounts" docs but could not find any reference to flags or env vars that can be set in order for terragrunt to retrieve AWS credentials from a custom endpoint. My specific use case is for local testing terragrunt commands that need to assume an IAM role that is simulated locally. Internally this means changing AWS sts assume-role API requests to incorporate an endpoint URL parameter (e.g. in the AWS CLI form it would be something like aws sts assume-role --endpoint-url=${CUSTOM} ...)
Maybe env vars along the lines of TERRAGRUNT_IAM_ROLE_ENDPOINT_URL and TERRAGRUNT_STS_ROLE_ENDPOINT_URL

Hi,
endpoints used by Terragrunt can be configured for S3 and Dynamodb, for remote state block  through keys, which chan be configured to load env variables:
endpoint
dynamodb_endpoint

References:
https://terragrunt.gruntwork.io/docs/reference/config-blocks-and-attributes/#remote_state
https://terragrunt.gruntwork.io/docs/features/keep-your-remote-state-configuration-dry/
If is required to pass custom endpoint to invoked Terraform - it should be implemented in provider definition in HCL files, or generated through generate block

Hi @denis256, thank you for your quick response. My question is in regards to an endpoint for Terragrunt to
use for assuming roles before invoking Terraform. Specifically, I'm referring to passing a custom endpoint URL to the STS client created within the aws_helper/config.go file's AssumeIamRole function.

Hi,
I think it should be implemented in code, not sure if you can pass a custom endpoint through AWS_STS_REGIONAL_ENDPOINTS / AWS_S3_US_EAST_1_REGIONAL_ENDPOINT env variables


ApiEndpoint with path produces inccorect api url

Describe the bug
ApiEndpoint ending with path creates incorrect URL while calling apis with below constructor
public ApiRootBuilder defaultClient(final ClientCredentials credentials, final String tokenEndpoint,
            final String apiEndpoint) {....
}

e.g.
apiEndpoint = "https://example.com/path/"
projectKey = "catalog-test"
To Reproduce
Steps to reproduce the behavior
Use any api endpoint url ending with path in this constructor
public ApiRootBuilder defaultClient(final ClientCredentials credentials, final String tokenEndpoint,
            final String apiEndpoint)

Expected behavior
When makes call to categories
Expected URL:  "https://example.com/path/catalog-test/categories"
Actual URL:  "https://example.com/catalog-test/categories"
Screenshots/Code snippet
Current implementation is trimming the path because of / prepended while creating the uri
    @Override
     protected ApiHttpRequest buildHttpRequest() {
        List<String> params = new ArrayList<>(getQueryParamUriStrings());
        String httpRequestPath = String.format("/%s/categories", this.projectKey);
        if (!params.isEmpty()) {
            httpRequestPath += "?" + String.join("&", params);
        }
        return new ApiHttpRequest(ApiHttpMethod.GET, URI.create(httpRequestPath), getHeaders(), null);
    }

Stack information (please complete the following information):

Java: [e.g. 11]
SDK: [e.g. v11.2.0]

Additional context
After the fix below test case should pass
  @Test
  public void testImmutableUriWithHostAndPath() {
    ApiHttpRequest request = new ApiHttpRequest(ApiHttpMethod.POST, URI.create("/test"), null, null);

    ApiHttpRequest newRequest = request.resolve(URI.create("https://example.com/path/"));

    Assertions.assertEquals("test", request.getUri().toString());
    Assertions.assertEquals("https://example.com/path/test", newRequest.getUri().toString());
    Assertions.assertNotEquals(request, newRequest);
  }

Not clean but possible fix with minimum impact and least changes

  public ApiHttpRequest resolve(final URI baseUri) {
    URI slashTrimmedURI = URI.create(this.uri.getPath().substring(1));
    boolean uriHasPath = baseUri.getPath().length() > 0;
    this.uri = uriHasPath ? slashTrimmedURI : this.uri;
    return withUri(baseUri.resolve(this.uri));
  }

We will have to go another way. I updated the generator that the URIs from the buildRequest function will be relative ones by removing the leading slash.
The client builder will then ensure that the base URI has a trailing slash and all ServiceRegions get the slash added.
Also it mainly affects internal behavior, it's possibel that someone relies on it, so we will release a new major. (once sonatype/maven is available again)

I released version 12.0.0 which now uses a relative path for requests.

@jenschude  how did you edited so many files in one go?

These files are auto generated


[Core] Missing files in alpha.5-2 ?

Do you know why current alpha-5.2 does not provide all files under src/core/ ?
For instance, the folder src/core/coordination/ which exports the provider MdUniqueSelectionDispatcher is missing.
This provider is needed because of this error:

Here is @angular2-material/core alpha-5.2:

Here is @angular2-material/core at master:

BTW, as shown in the src/demo-app/radio/radio-demo.ts MdUniqueSelectionDispatcher is supposed to be exported.

@manekinekko Those files were changed on master after the last release. If you look at the older version of the readme, the service was MdRadioDispatcher, exported from radio/


Option to handle 500 requests.

Datatables normally has an option under ajax called "error" in which you can handle errors. I would like to somehow configure this since we use oauth to send our requests, but this can throw an error (such as the token being revoked). Can we get an option to handle 500's?
I can obviously configure this manually for every datatable, but I would like some global way of altering the options. Maybe just a service decorator that mutates the options?

This bundle is not opinionated on the client side of handling errors, if only because an unauthenticated request should return a 403 response, not 500. I would recommend wrapping your client-side datatable code to perform global initialization duties.


Allow the per page limit to be configured

Currently coded to 10 I believe - should be an option.

:+1:

Closing as we are tracking inside another system now!


not syncing

From snapshot:
block: 290070/290070  connected: 0  unconnected: 0
[19:19:36.703] Operation is not valid due to the current state of the object.

From scratch:
peers are connected but sync process stucks on the same height - 290070/300070.
The message in logs is the same: Operation is not valid due to the current state of the object.
Node verison: 3.3.1
OS: ubuntu 18.04

Any suggestions how to fix this, please?

Solution: don't use version 3.3.1
Old version 3.2.1 works perfectly.

Ok, it does not really work.
Version 3.2.1 stucks on block 1758990 with the below notification:
Operation is not valid due to the current state of the object.
Upgrade to the latest version leads to error:
Corruption: corrupted compressed block contents
How to make it work, guys?

Version 3.2.1 stucks on block 1758990 with the below notification:
Operation is not valid due to the current state of the object.

Did you fully resync after downgrading to the correct version? Sounds like you have a state mismatch.

Yes, I fully resync.
You can test it on your side. Linux version stucks. Windows version is OK.


[1.0.0+] Items to stunt and promote dinosaur growth.

What is it?:
Add two items, one to increase the growth rate of dinosaurs, and one to freeze it so they no longer grow naturally.
To Be Implemeneted In:
1.0.0
Progress:
Implemented subject to further changes.

Implemented.


Unsure of how error handling works

I'm working on an error command (#49) to report if the last command failed, but I'm unsure of how commands report their errors. I've looked through the Wasi, WasiResult, and Console types, but can't find how commands report their exit status.
Should I be changing the Console.error() function to set a flag that I can then check in the error command? Or should I not be changing the types that are already there?

So this one is actually not a real Unix command, rather one that shell.js uses.
function error() {
  return common.state.error;
}

I made a mistake in the beginning by having my sample programs' main functions return void instead of an integer to signify an error.  Also my current implementation of Process.exit calls an abort function causing the whole binary to exit.  However, in the scope of this assignment, I think a fair assumption is that all programs will share Console.error and that anything written to it constitutes that an error has occurred. For example,
cat(["cat", "/filethatdoesntexist"])

will write to stderr.  Console has a file descriptor for it you can access with Console.stderr.  Thus if this file descriptor has a non-zero offset, you can assume that something was written to it and an error has occurred.
This program is hard because we don't have a shell yet so invoking programs is just a function call.  Otherwise we could add state to the shell that you could read to determine if the last run command had an error.

I found that checking if Console.stderr.tell() > 0 would work as it is how the current tests check to see if an error occurred. Beyond that, since we don't have a shell like you said, is there nothing else that can be done for this?

I mean you could edit Process.exit and add a static error variable.  This way people can write to stderr with actually having an error, which is useful if you want to write warnings but not exit with an error.
Consider cat foo README.md || echo "no error". Even though foo doesn't exist, it prints that error to stderr and then prints README.md to stdout.  And returns "false" meaning there was an error and so the other side of the || is executed and no error is written to stdout.  Since people expect Process.exit() to actually exit there program would stop after foo and not read in the second argument.  Thus for now, I think a non empty stderr is the best work around.

I see that Process has an exit function in it's type definition, but I can't find it anywhere in kernel/src/process. Where is the exit function?

Ah yes, everything in a src directory is typescript.  It's in assemblyscript/assembly/wasa/mock/process.ts.  Perhaps you could add a function separate from exit for this purpose since like I said before users will assume that exit means exit and could use that to say that an error has occurred, just not bad enough to exit the program completely.

I think I've figured it out, but how can I access process from my error command in the ash package? When I try importing it keeps telling me that it cannot find the module.

I think I've figured it out, but I'm having trouble accessing Process from my error.ts file in the ash package. When I try to import process from assembly script, it keeps telling me that the module cannot be found.

Hmm not sure exactly what you mean.  If you push to your PR, then I can take a look.  The idea with Process, Console, etc, is that you shouldn't have to import them in your binary program, rather they are globals that are provided by the runtime.  This allows them to be swapped out, currently they are mocks, but I'm working making them actually call out to Wasi.
If you did add a function to Process you should edit the types/wasi/index.d.ts file which currently declares Process like so,
/**
 * Provides function to exit.
 */
declare class Process {
  static exit(code: number): void;
}

Then your editor will know that there exists a Process defined somewhere that will have that function.  Then the testing framework already includes the Process implemented by the mocks.  So it will be linked at compile time.  Make sense?

That makes sense, I see none of the example commands import anything. Does the same go for Wasi? If I wanted to use the Wasi.errno enums, should they be accessible from these functions?

I don't think so since Wasi is a namespace and I could only get it to work with classes.  However, importing Wasi should work.

That also makes sense. My current issue is that my tests are failing, even though they said Expected and Actual are both 1. I'm getting a RuntimeError (unreachable) as well, but I'm not sure how to interpret the message given. I've pushed the code up, can you take look?

To my knowledge it should be working correctly, but my Process.error() is not working properly.
I set it up so that a command like cat would call Process.error(Code) if it raises an error, which would then set the static flag to that code. Then in the ash error() command it checks if the flag is not 0 (SUCCESS). However the flag is never changing when I call Process.error, but I'm not sure what's wrong there.

So when I ran your tests I got:
    [Stack]: RuntimeError: unreachable
               at ~lib/array/Array<~lib/string/String>#__get (wasm-function[68]:50)
               at packages/ash/assembly/bin/echo/main (wasm-function[257]:23)
               at start:packages/ash/assembly/__tests__/error.spec~anonymous|0~anonymous|2 (wasm-function[258]:12)

This means that you tried to get something from the array and it was out of bounds.  I looked at your code it's because you didn't add the command name to the command line arguments.  Silly I know by it's tradition.

Well test does exist ;-) checkout __test__/simple_fs.ts

I think I'm confused as to how process works. I created a static variable that gets set with a call to Process.error(). I changed cat to call Process.error() when it errors, but either that never changes the static variable's value, or I am not properly retrieving that variable in my error command.

You're assumptions are correct and it seems correct.  Have you changed the test to something else?  Otherwise it shouldn't have an error as test does exist.

I see, that fixed it! Now I need to figure out how to reset the flag back. Since technically when you use the error ash command, that is your new last command, it would be alright to reset the error flag when error is called from ash, right?

I got it working and my tests pass. When there is an error, 1 (truthy-enough?) is returned. If there wasn't an error on the last command, then 0 is returned. Thanks for the help!

I think it's a safe assumption that ash will do this when it executes a command. Sounds good!


fix(nuxt): init errors with null in Nuxt payload and asyncData

🔗 Linked issue
Closes #23411
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
This PR aligns the initial values of error(s) set in asyncData composable and Nuxt payload with their type definitions.

📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Do you think we could add a test page in test/fixtures/basic?


Can't play video from sd card (custom path)

Steps to reproduce

create a new folder in SD card (eg. "Aniyomi/downloada")
set the download path to the folder created eg. /storage/9016-4EF8/Aniyomi/downloads
download any anime (i did from animepahe)
try to play the anime

Expected behavior
it should play the video
Actual behavior
gives a error saying it can't play the video
Crash logs
tried to capture a screenshot but too much pain and I can't seem to get the timing right
Aniyomi version
<IP_ADDRESS>
Android version
Android 9
Device
Redmi 6
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have tried the troubleshooting guide.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

Feature has been added in the beta, wait for update to stable


Start black screen after updating 1.12+

black screen screenshot

当我发现出现黑屏时,我尝试了在清单文件修改:android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
还是会出现黑屏.
我尝试在style.xml文件修改为:android:style/Theme.Wallpaper.NoTitleBar

code screenshot

不是会出现黑屏.
我尝试加入条种flutter的群,更新后不少人出现了黑屏问题,有的说编译后就正常.然而我编译后只是黑屏的时间短了一些.
我又尝试了重新创建了一个全新的flutter工程,不是会出现黑屏.
难道大goole的开发人员没有出现过这个问题?
然后,请问各路大神,我的黑屏应该怎么解决?

When I found a black screen, I tried to modify the manifest file: android: theme = "@ android: style / Theme.Wallpaper.NoTitleBar"
A black screen still appears.
I try to modify the style.xml file to: android: style / Theme.Wallpaper.NoTitleBar
No black screen will appear.
I tried to join various flutter groups. After the update, many people experienced black screen problems, and some said that it was normal after compilation. However, the black screen time was shorter after compilation.
I tried to re-create a brand new flutter project, and no black screen appears.
Hasn't the developer of big goole ever encountered this problem?
Then, may I ask the gods, how should I solve my black screen?

1.提issue使用英文，仅有的几个单词还拼错了，‘activate’，‘goole’ 你连机翻都做不到，不配得到别人的帮助。
遵守issue模板，或者提供完整的信息。这不是论坛。
2.提问前请先搜索issue，相关 #47582 , #48480

Please use English.
Follow the issue template, and provide complete information.
This is not a forum.
Please search for issues before asking questions, related # 47582, # 48480

Hi @secret620
I see there's an open issue  addressing the case you described.
Please follow up on that issue,
I'm closing the current one as duplicate.
If you disagree please write in the comments
and I will reopen it.
Thank you

我的问题都没有解决为什么要关闭我的问题?

@huage2580 你中文有问题就不要怪别人?我一个英文都没有写,都是从终端复制粘贴上来的

Hi @MuZiLee
the issue isn't solve yet, please follow up in the link I've provided in my previous answer
thank you.


Revert "No C++ when not needed"

Reverts gopro/cineform-sdk#15

 All committers have signed the CLA.


🖌 Punch: (Data) - Verify data

Found some differences, from PCS but this is probably due to the pre-proccessing, But the differences are very small about 2-6 which can be explained with the delay of caching as well


GPU offloading of tensor contraction

@HerManNav can you write here the results you obtain?

It seems the CuArray structure is not being properly integrated with Tensors. Further work is requiered
Creating a Tensor:
cu_tensor = Tensor(CuArray(rand(4,4)), [:i, :j])

4×4 Tensor{Float64, 2, CuArray{Float64, 2, CUDA.Mem.DeviceBuffer}}:
┌ Warning: Performing scalar indexing on task Task (runnable) @0x00007f71dfb26e10.
│ Invocation of getindex resulted in scalar indexing of a GPU array.
│ This is typically caused by calling an iterating implementation of a method.
│ Such implementations *do not* execute on the GPU, but very slowly on the CPU,
│ and therefore are only permitted from the REPL for prototyping purposes.
│ If you did intend to index this array, annotate the caller with @allowscalar.
└ @ GPUArraysCore ~/.julia/packages/GPUArraysCore/HaQcr/src/GPUArraysCore.jl:106
 0.241556  0.129489   0.80101    0.615841
 0.679561  0.0986361  0.270873   0.855307
 0.955491  0.773435   0.4851     0.902845
 0.917217  0.348947   0.0748666  0.898347

Trying to contract 2 tensors:
data1, data2 = rand(4,4), rand(4,4)

tensor1 = Tensor(data1, [:i, :j])
tensor2 = Tensor(data2, [:j, :k])

cu_tensor1 = Tensor(CuArray(data1), [:i, :j])
cu_tensor2 = Tensor(CuArray(data2), [:j, :k])

julia> @benchmark contract(tensor1, tensor2) evals=100
BenchmarkTools.Trial: 10000 samples with 100 evaluations.
 Range (min … max):  3.221 μs … 66.071 μs  ┊ GC (min … max):  0.00% … 93.54%
 Time  (median):     3.345 μs              ┊ GC (median):     0.00%
 Time  (mean ± σ):   3.775 μs ±  4.460 μs  ┊ GC (mean ± σ):  10.50% ±  8.27%

   ▃▇█▇▅▄▄▃▂▁▁▁                                              ▂
  ▇█████████████▇▇▇▅▅▁▅▅▇█▇▅▆▄▅▄▄▄▃▁▄▃▁▁▁▁▁▁▁▁▁▁▄▁▁▁▁▁▁▁▃▁▁▄ █
  3.22 μs      Histogram: log(frequency) by time     5.18 μs <

 Memory estimate: 5.89 KiB, allocs estimate: 83.

@benchmark (CUDA.@sync contract(cu_tensor1, cu_tensor2)) evals=100
BenchmarkTools.Trial: 1646 samples with 100 evaluations.
 Range (min … max):  26.898 μs … 202.919 μs  ┊ GC (min … max): 0.00% … 39.54%
 Time  (median):     27.774 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   30.361 μs ±  16.088 μs  ┊ GC (mean ± σ):  2.44% ±  3.96%

  ▄▇█▇▆▂ ▂▂ ▁▂▂▁   ▁                      ▁                    ▁
  ██████▇███████▇████▇▇█▇▆▆▄▅▅▁▁▁▁▁▁▁▁▅▄▇▇███▇▆▅▆▆▅▅▅▁▁▄▅▁▁▁▁▄ █
  26.9 μs       Histogram: log(frequency) by time      43.4 μs <

 Memory estimate: 6.75 KiB, allocs estimate: 108.

Those tensors are very small. GPUs have increased throughput but at the cost of increased latency too. It is more than probable that the execution time is given by the latency costs in this example.
Could you try a tensor contraction (a matrix multiplication) of two tensors of size i = j = k = 2048?

Overflow means other kind of error (which actually doesn't raise an exception, maybe a hardware interruption). I think you mean Out-of-Memory (or OOF).
That's not a OOF error, or anything related to the GPU. The error is thrown when is trying to print the data. If you launch the code with ; in the end, the data should not be printed and thus, you should not have the error.

c_gpu = contract(cu_tensor1, cu_tensor2);

Still this is a strange error. We should check that.

Indeed, it should be some problem with printing the data from the vram, since both results (from cpu and gpu) match if we index them manually (not printing). I don't think we should actually care about this anymore.
Anyway, my main concern is that the executions I performed in GPU are always slower than in CPU, even for large matrices or 3-tensor, as I explained in my previous post.
I just checked it out with Base.@elapsed & Base.@time and its CUDA analogous, this time with n = 8192. I run it several times since these tools, unlike BenchmarkTools, only measures one execution of the provided code.
# Execute it for the first time to let Julia compile the code (this is done only once):
julia> c_cpu = contract(tensor1, tensor2);

julia> c_gpu = contract(cu_tensor1, cu_tensor2);

# Now let's check those times with @time:
julia> Base.@time contract(tensor1, tensor2);
  3.296003 seconds (84 allocations: 512.006 MiB, 0.26% gc time)

julia> Base.@time contract(tensor1, tensor2);
  3.320518 seconds (84 allocations: 512.006 MiB)

julia> Base.@time contract(tensor1, tensor2);
  3.295321 seconds (84 allocations: 512.006 MiB, 0.49% gc time)

julia> CUDA.@time contract(cu_tensor1, cu_tensor2);
  4.424156 seconds (22.50 k CPU allocations: 1.155 MiB) (1 GPU allocation: 512.000 MiB, 0.02% memmgmt time)

julia> CUDA.@time contract(cu_tensor1, cu_tensor2);
  4.382499 seconds (172 CPU allocations: 9.797 KiB) (1 GPU allocation: 512.000 MiB, 0.02% memmgmt time)

julia> CUDA.@time contract(cu_tensor1, cu_tensor2);
  4.359802 seconds (173 CPU allocations: 10.094 KiB) (1 GPU allocation: 512.000 MiB, 0.02% memmgmt time)

# Now with @elapsed:
julia> CUDA.@elapsed contract(cu_tensor1, cu_tensor2)
4.3339796f0

julia> CUDA.@elapsed contract(cu_tensor1, cu_tensor2)
4.3237624f0

julia> Base.@elapsed contract(tensor1, tensor2)
3.305727348

julia> Base.@elapsed contract(tensor1, tensor2)
3.311123997

Maybe we should take a look to the particular implementation in Tensors and more specifically in OMEinsum?

I think that performing a simple operation like matrix multiplication could be a good first step to check the performance of the GPU. This is a computation-heavy operation that should benefit from parallel processing on a GPU, especially for large matrices. For example:
using CUDA

# Create two large matrices
n = 8192
A = rand(n, n)
B = rand(n, n)

# Transfer the matrices to the GPU
A_d = cu(A)
B_d = cu(B)

# Warmup run to compile the functions
C_cpu = A * B
C_gpu = A_d * B_d

# Measure the time on the CPU
@time A * B

# Measure the time on the GPU
CUDA.@time A_d * B_d

@HerManNav, could you try this?

The only thing I found is an reference of lack of GPU support for OMEinsum v0.3.0. I currently use a much recent version (v0.7.4).
https://under-peter.github.io/OMEinsum.jl/stable/implementation/
I also found some old (2019-2020) issues in the same OMEinsum.jl repo in which they say there were an incompatibility between OMEinsum and CuArrays, but not performance issues. Those problems were already fixed and closed.
About the matrix multiplication @jofrevalles proposed, it works perfectly and with a huge speed-up. So we can conclude the problem es the integration of OMEinsum with CuArrays.

Okay, let's discuss it together tomorrow.

I discovered that VRAM is not being properly freed (at least not always) when executing consecutive contraction operations. I compared this against contraction operations in CPU with regular Arrays. I perfomed some contractions overwriting the same variable.
In CPU, Julia GC works as expected. In GPU, however, VRAM gets full at a certain point, and starts swapping from there on, taking much longer. This could be either because of CuArrays or Tensors.

Nice catch! Tensors has nothing to do here, OMEinsum in any case.


hi two factor code

basically
its impossible to get two factor code when u go in secret steamdesktopauthenticator because on latest version when u go to mafile  my steamid it only pop ups the long code

found the issue close this

Is the file decrypted?

Close it yourself.

wat u mean

and were do i fnd the factor code

how do i close


[Fix #5228] Beware of overridden LineLength:Max in auto-gen-config

If user configuration contains a value for Metrics/LineLength:Max that's different from the default, then it's no use generating the correct line length max in the first phase of --auto-gen-config because that's not the value that will be used in phase 2 anyway.
This reasoning assumes that inherit_from: .rubocop_todo.yml comes before the Metrics/LineLength:Max setting, but that should be the 99% case.

@bbatsov @pocke @Drenmi Hello? Any comments? :smile:

Thanks, @pocke! I went ahead and merged now. If there are more comments, I can fix those things later.


Can I pass segue from passcode viewController?

Can I pass segue from passcode ViewController to another ViewController wherein I allow to select folders where user want to enable password and dissmis that ViewController on Save?

Can any one help me on this?

Awaiting for any help on this.

No you cannot as SwiftPasscodeLock creates an entirely new window that it replaces the main window with. If you want to use segues you'll need to instantiate a custom PasscodelockviewController that does not involve this window creation. that is the root view controller or some other view controller in your UINavigationController stack.

@jabwd  Thanks for the response. Can you suggest any library for the same?

@chirayu25 Like I said you can still use this library, though I'd recommend changing it's layout because it will get you rejected from the AppStore.
If you want to use SwiftPasscodeLock just don't use the presenter, but manually use the PasscodeLockViewController directly.
Keep in mind that SwiftPasscodeLock is not secure. It does not clear memory of the passcode.


Added provision to reset the unit and unitExternalId field of TimeseriesMetadata

As a part of these changes while building the request, I have verified the value of the unit and unitExternalId field.
if it is an empty string or blank space we are setting it to setNull to true.
This is needed for one of the scenarios where TimeseriesMetadata object gets updated with the unit value as blank/some other value that is not present in the unit catalogue. We wanted to reset the unitExternalId field when unit value is blank hence added this change.

@dsorenes can you please review this when you are available? If you are busy, can you please add someone who can review it?

Isn't it sufficient to use setUnit(null) to get the desired effect? And if element.hasUnit() return false we have an else statement that sets that value to null? Not sure I see from a quick look why we want to use empty string here.

Isn't it sufficient to use setUnit(null) to get the desired effect? And if element.hasUnit() return false we have an else statement that sets that value to null? Not sure I see from a quick look why we want to use empty string here.

No, if we set the unit field to null it throws NullPointerException from the class generated by compiling the protobuf proto.


Why the Hitman version says there are new versions of this program but I didn't see source code updated here?

Why the Hitman version says there are new versions of this program but I didn't see source code updated here?
By the way, the dialog seems doesn't want to popup twice. Now I cannot find the URL it told me to download ...

If I go to: https://github.com/FransBouma/InjectableGenericCameraSystem/tree/master/Cameras/Hitman2016
I can click the release link which brings me to the latest build of the tools.

By the way, the dialog seems doesn't want to popup twice. Now I cannot find the URL it told me to download ...

I don't know what you mean?

@FransBouma When the first time I run the program downloaded from exactly what your link pointing to, it prompted a dialog, telling me to download a new version from a website. I didn't open the website, the URL reads like a blog provider.
If you don't know what it is, maybe github was hacked.

You're in China? It might be the DNS was spoofed. In any case, download it from here directly: https://github.com/FransBouma/InjectableGenericCameraSystem/releases/tag/Hitman2016_v109
Hopefully that helps :)

I'm in the US. By the way, when the console window prompt, it prints:
All hooks enabled.
Can't find pattern for block 'AOB_CAMERA_READ_INTERCEPT3'! Hook not set.
Can't find pattern for block 'AOB_FOV_WRITE_INTERCEPT1'! Hook not set.
Can't find pattern for block 'AOB_FOV_WRITE_INTERCEPT2'! Hook not set.
One or more interception offsets weren't found: tools aren't compatible with this game's version.
Waiting for camera struct interception...

So if you have time you can take a look.
I am curious, do you need to reverse engineering the game to hack all of these things? Or you only use standard DirectX hook features?

I see they've patched the game again. The tools are for v1.10, but I see on steam they've released 1.12.1 in July. I did add AOB scanning (so it can find the code based on byte sequences) but apparently this failed for some parts.
I'll see what I can do, but don't get your hopes up. I've uninstalled the game a long time ago. Reverse engineering of the game parts where the camera is used. These are then patched with a hook, i.e. they jump into the camera tools, which skips parts of the original assembler if the camera is enabled, see e.g. https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/Hitman2016/InjectableGenericCameraSystem/Interceptor.asm
Blocks to hook are found here: https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/Hitman2016/InjectableGenericCameraSystem/InterceptorHelper.cpp#L71
Hooks are set here:
https://github.com/FransBouma/InjectableGenericCameraSystem/blob/master/Cameras/Hitman2016/InjectableGenericCameraSystem/InterceptorHelper.cpp#L106
so it's likely the byte sequence used for the 3 blocks that aren't found is different now.

Thank you

Extreme Injector v3
A new version of Extreme Injector has been detected (v3.7).
To obtain the latest version either visit the place where you downloaded the injector or head over to my blog page at:
masterscorner.wordpress.com
OK
I got the dialog again. So is this intended?

You can ignore that. To download the v3.7 I had to register on that forum and I didn't want to, so I keep using the older version, which works fine.

@FransBouma So the GUI is Extreme Injector? I thought you made the whole thing so that you created that dialog, and wondering why I couldn't find the source code.

No the extreme injector injects the dll into the attached process, and contains some stealth code to do that. When it does that, the dll is attached to the process and then this code runs, which starts up the rest. the hitman camera doesn't contain an in-game UI tho, only the last few cameras do, e.g. the MGS5 one and the Hellblade one.


metasploit: 6.1.8 -> 6.1.9

Motivation for this change
Update to latest upstream release 6.1.9
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 140997 run on x86_64-linux 1

1 package built:

msf (metasploit)


Fix readme link

Updates a link in the readme that still points to the old repo.

Thanks @fedgiac


Updated numpy to 2.0.2 and other packages to the latest

Fixes Issue 362

@NickAkhmetov thanks for reviewing. for ome-zarr, I did get errors when I bumped the version, so that could be a reason?
regarding the minor version bump, I agree, as there could be potential consequences of these changes

@NickAkhmetov I bumped the minor version but tests were failing, reverting it back is still failing the tests (docs build) though the code is the same as the previous successful run.

@NickAkhmetov https://github.com/numpy/numpy/issues/26710
this might be an issue as python3.12 and docs build workflow fail


Fix interoperability issues with draft-11

Fix a couple of mentions of draft8 that should be draft11, plus an additional typo in the README. The issues found during the IETF 121 Hackathon in Dublin.

The pull request now also fixes the interoperability issues with draft-11 clients. They were due to two different issues:

First, the SRV and VER tags were in the wrong order in src/tag.rs, causing errors when they were encountered in the correct order in requests. A more robust fix would probably be to compare tags by uint32 value when ordering them, since this will work even for unknown tags.
Responses did not include NONC tags, as required by the draft.

Thank you so much for the draft11 fixes!


Masking issue with luminance filter

We have an animation exported by an animator ( I do not know AE ) that works fine across all browsers except IE 11 on Windows 8 (for some reason it's fine on Windows 10). Our logo has a solid blue background over white text that animates in as a mask on that text.
In IE 11 the text wouldn't show at all. Digging into the DOM I tracked the issue down to a filter using fematrix '0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 0 1' set here https://github.com/bodymovin/bodymovin/blob/master/build/player/bodymovin.js#L4524
I'm not fully versed on feColorMatrix transformations but changing the last 0 to a 1 (supposedly alpha) rendered it. See the change:

I'm not sure if this has other implications but it fixed the issue without any adverse side effects. Is this a bug or is there an error in how the AE animation was created?
(I did notice I could replicate the masking issue if I switched from svg renderer to canvas)

I'm setting the alpha channel to 1 so it doesn't depend on the input alpha channel. Replacing the last 0 for a 1 would always set the alpha chanel to a higher value than 1. It shouldn't affect but I'm not sure how browsers will handle this.
Nevertheless do you need this to be a track matte mask? can you use a regular mask instead?
If it's the same, it would be much more performant.


Add Firewall Policy resource for VWAN implementation

Overview/Summary
Currently, only the Hub & Spoke implementation includes a Firewall Policy for the Azure Firewall deployment.
This PR adds creation of a Firewall Policy and associates it with the Azure Firewall deployed to a Virtual Hub.
I have used all existing input parameters, so no changes should be needed in the Portal experience.
This PR fixes/adds/changes/removes

Add a Microsoft.Network/firewallPolicies resource and link it to the Microsoft.Network/azureFirewalls resource in the eslzArm/subscriptionTemplates/vwan-connectivity.json deployment template.
Add this update to the docs/wiki/Whats-new.md page.

Breaking Changes
none
Testing Evidence

As part of this Pull Request I have

[x] Checked for duplicate Pull Requests
[x] Associated it with relevant issues, for tracking and closure.
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[x] Performed testing and provided evidence.
[x] Updated relevant and associated documentation.
[x] Updated the "What's New?" wiki page (located: /docs/wiki/whats-new.md)

NOTE: I do not believe there are any Wiki docs which need updating with this change (other than the What's new page) but please let me know if this would be useful to add somewhere.

Will test ALZ Accelerator (portal) with URL https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fkrowlandson%2FEnterprise-Scale%2Fvwan-addfirewallpolicy%2FeslzArm%2FeslzArm.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2Fkrowlandson%2FEnterprise-Scale%2Fvwan-addfirewallpolicy%2FeslzArm%2Feslz-portal.json

Will test ALZ Accelerator (portal) with URL https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fkrowlandson%2FEnterprise-Scale%2Fvwan-addfirewallpolicy%2FeslzArm%2FeslzArm.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2Fkrowlandson%2FEnterprise-Scale%2Fvwan-addfirewallpolicy%2FeslzArm%2Feslz-portal.json

This worked as expected 👍

However we should add DNS proxy support like we do in Hub & Spoke Model and advertise in the portal. Will create PR review for this

Successfully ran Portal deployment with updates requested to add DNS proxy settings:

Connectivity settings to show DNS proxy enabled:

Identity settings to show identity Subscription with spoke virtual network:

DNS Proxy settings visible on Firewall Policy:

DNS Proxy settings visible on spoke virtual network for identity: