Debugging in VS code terminates when hot reload is running npm run watch

Repro steps
Provide the steps required to reproduce the problem:
Github repo: https://github.com/exhaler/DebugSample

Create a function app in VS Code
Press F5 to run debug mode
Open another terminal and run npm run watch
Azure functions will stop working with error:

The terminal process "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command func host start" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it.

Expected behavior
Since i'm running npm run watch I expect the new changes to be applied and to continue debugging the function.

Actual behavior
npm run watch is running correctly detecting changes, however VS code debug terminal terminates.

Known workarounds
Running debug without npm run watch works, however when I save some changes on a .ts file, I have stop and re-launch the debugger again.

Related information

Note: Running npm run watch in a terminal and func start in another terminal works correctly and the changes are applied. This issue only happens when trying to debug the function in VS code F5
Programming language

Windows 10
Azure Functions Core Tools
Core Tools Version:       4.0.5611 Commit hash: N/A +591b8aec842e333a87ea9e23ba390bb5effe0655 (64-bit)
Function Runtime Version: <IP_ADDRESS>91
Node v18.20.2
typescript v4

launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Node Functions",
            "type": "node",
            "request": "attach",
            "port": 9229,
            "preLaunchTask": "func: host start"
        }
    ]
}

tasks.json
{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "func",
			"label": "func: host start",
			"command": "host start",
			"problemMatcher": "$func-node-watch",
			"isBackground": true,
			"dependsOn": "npm build (functions)",
			"options": {
				"cwd": "${workspaceFolder}/api"
			}
		},
		{
			"type": "shell",
			"label": "npm build (functions)",
			"command": "npm run build",
			"dependsOn": "npm clean (functions)",
			"problemMatcher": "$tsc",
			"options": {
				"cwd": "${workspaceFolder}/api"
			}
		},
		{
			"type": "shell",
			"label": "npm install (functions)",
			"command": "npm install",
			"options": {
				"cwd": "${workspaceFolder}/api"
			}
		},
		{
			"type": "shell",
			"label": "npm prune (functions)",
			"command": "npm prune --production",
			"dependsOn": "npm build (functions)",
			"problemMatcher": [],
			"options": {
				"cwd": "${workspaceFolder}/api"
			}
		},
		{
			"type": "shell",
			"label": "npm clean (functions)",
			"command": "npm run clean",
			"dependsOn": "npm install (functions)",
			"options": {
				"cwd": "${workspaceFolder}/api"
			}
		}
	]
}

local.settings.json
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "AzureWebJobsFeatureFlags": "EnableWorkerIndexing"
  }
}

package.json
{
  "name": "api",
  "version": "1.0.0",
  "description": "",
  "scripts": {
    "build": "tsc",
    "watch": "tsc -w",
    "clean": "rimraf dist",
    "prestart": "npm run clean && npm run build",
    "start": "func start",
    "test": "echo \"No tests yet...\""
  },
  "dependencies": {
    "@azure/functions": "^4.0.0",
    "azure-ad-verify-token": "^3.0.3"
  },
  "devDependencies": {
    "@types/node": "^18.x",
    "rimraf": "^5.0.0",
    "typescript": "^4.0.0"
  },
  "main": "dist/src/functions/*.js"
}

host.json
{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

@exhaler I believe you need the "restart" flag in your launch.json to get this behavior. Full launch.json:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Node Functions",
            "type": "node",
            "request": "attach",
            "port": 9229,
            "preLaunchTask": "func: host start",
            "restart": true
        }
    ]
}

@exhaler I believe you need the "restart" flag in your launch.json to get this behavior. Full launch.json:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Node Functions",
            "type": "node",
            "request": "attach",
            "port": 9229,
            "preLaunchTask": "func: host start",
            "restart": true
        }
    ]
}

That did the trick, thanks!

Yeah do the following in your tasks.json file:

Add a watch task configuration
Update the "dependsOn" property of the "func: host start" task to point to the new watch task instead of the build task

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "func",
            "label": "func: host start",
            "command": "host start",
            "problemMatcher": "$func-node-watch",
            "isBackground": true,
            "dependsOn": "npm watch (functions)"
        },
        {
            "type": "shell",
            "label": "npm watch (functions)",
            "command": "npm run watch",
            "dependsOn": "npm clean (functions)",
            "isBackground": true,
            "problemMatcher": "$tsc-watch"
        },
        // rest of your tasks

That did the trick!

Yeah do the following in your tasks.json file:

Add a watch task configuration
Update the "dependsOn" property of the "func: host start" task to point to the new watch task instead of the build task

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "func",
            "label": "func: host start",
            "command": "host start",
            "problemMatcher": "$func-node-watch",
            "isBackground": true,
            "dependsOn": "npm watch (functions)"
        },
        {
            "type": "shell",
            "label": "npm watch (functions)",
            "command": "npm run watch",
            "dependsOn": "npm clean (functions)",
            "isBackground": true,
            "problemMatcher": "$tsc-watch"
        },
        // rest of your tasks

That did the trick!


Sass compile fails with #{ } constructions

Hi!
Problem code:
foo {
  font: 22px/#{28/22} bar
}

It works fine if i do:
foo {
  line-height: #{28/22}
}

But fails when inline.
$ nodejs --version
v4.2.1
$ npm --version
3.3.10

On osX error:
[1]    18135 bus error

On Ubuntu:
Segmentation fault (core dumped)

This is fixed in the latest libsass and will be in the next node-sass version.

This is fixed in the upcoming 3.5.0-beta. Subscribe to #1349 for further updates.


Store hexadecimals as binary

Blockchain structures have various hexadecimal values: account numbers, node identifiers, signatures, hashes. All of them are represented in memory and JSON as hexadecimal strings. We probably can live with it, but when it come to persisting to disk we would like store them as true binary.
Implement this feature by overriding from_messagepack() and to_messagepack() methods. This should reduce size of the persisted data (before compression about 2 times, implement a unittest proving that).
Please, be aware that messagepack has some automatic utf-8 decoding with string. Make sure you do not mess up with it.

@dmugtasimov I implemented it (https://github.com/thenewboston-developers/thenewboston-node/pull/114) but some interesting thing turns out.
If I measure block serialized to message pack it gets 33% smaller. But when I generate blockchain and calculate average block size it increases from 276 bytes per block to 307 which is 11% larger. It turns out that XZ compression works much worse with binary data.
What do you think?

@andbortnik I think you have an implementation bug

@dmugtasimov See raw file size:
-rw-rw-r-- 1 andy andy  83144 Apr 20 16:30 compact_values
-rw-rw-r-- 1 andy andy 124741 Apr 20 16:31 original_values

After xz compression:
-rw-rw-r-- 1 andy andy 31320 Apr 20 16:30 compact_values.xz
-rw-rw-r-- 1 andy andy 27768 Apr 20 16:31 original_values.xz

@andbortnik I requested changes to the PR. Later I will take a look to figure out what to do with it. Increase of compressed size looks very strange.

Just to compare:
-r--r--r-- 1 andy andy  83081 Apr 20 21:59 compact_values
-r--r--r-- 1 andy andy  70238 Apr 20 21:56 compact_values_and_subkeys
-r--r--r-- 1 andy andy 124739 Apr 20 21:57 original

XZ compression:
-r--r--r-- 1 andy andy 26836 Apr 20 21:56 compact_values_and_subkeys.xz
-r--r--r-- 1 andy andy 31400 Apr 20 21:59 compact_values.xz
-r--r--r-- 1 andy andy 27736 Apr 20 21:57 original.xz

@andbortnik See what I told you. It was an implementation bug: forgotten keys conversion

@dmugtasimov It wasn't a bug. I just implemented the main part and decided to check the effect of it first. And I was surprised that files got bloated instead. Wanted you to know that so I wouldn't spend any time further. Anyway the final change is not what we expected to have.


Fix tsv read error in Windows

The initial version suffers from the error of UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position when loading the .tsv filein Windows System, as indicated in https://github.com/huggingface/pytorch-pretrained-BERT/issues/52
It is solved by adding encoding='utf-8' when reading the .tsv file.

Ok, thanks @jiesutd!


Fix columns mismatched on Country comparisons

Related: Issue #116
While comparing multiple countries, some column headers were missing and
some were mistmatched. This PR fixes these cases.
Feel free to reorganize at will :)
Sample screenshots with the case I posted on the issue (I've also noticed the full comparison wasn't working well:

Awesome! 😊


nist controls blog post

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind user-interface

/kind content

/kind translation

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area blog

/area documentation

/area videos

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

LGTM label has been added.  Git tree hash: 52d752689b64097b69298990d13859ab435b3e6e

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS [Issif,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Fixed svg height error for legend

Fixes #1920

Background

Change List

Checklist

[ ] Have tested PR with one or more demo configurations
[ ] Documentation added, updated, or not applicable

Hi @tkakar , thank you for this bug fix. To address the failing GH Actions, you can run pnpm changeset and commit the changeset


Cookie lifetime

Hi!
Do I understand correctly that you have removed the ability to set the lifetime of cookies?
Version 0.1.56:
cookie_manager.set(cookie, val, expires_at=datetime.datetime(year=2022, month=2, day=2))
Version 0.1.60:
cookie_manager.set(cookie, val) # Expires in a day by default

Why was this done in version 0.1.60?
Is there a way (in version 0.1.60) to set the lifetime?

Thanks for the answers!

No. I just removed the outdated example. But you can set the lifetime by using the same flag.


Properly document type generation

I'm trying out nexus, coming from graphqlgen. I'm hoping to keep my strict TS settings as that's currently impossible with graphqlgen.
I've created a whole new project and made a workflow and already managed to break types with nexus.
Somehow, "the most important piece" is documented very, very little. Even compared to the rest of the docs.
Reading the https://nexus.js.org/docs/type-generation page leaves me as clueless as before. The source code is out of place too, why isn't there a nice table, like you'd expect and do find almost(Stripe) everywhere(Apollo) else(Prisma)?
It seems to me that you've begun using nexus in the Prisma docs far too early. I'm really unsure on how to do anything else besides the exact path you're guiding me through.
I'm trying to do as follows:

Compile TS
Compile output with babel
Run node on babel's output

I should probably clarify - I'm trying to have Intellisense on the resolve parameters for each field.
Such that parent, args and context are typed from the beginning.
With my setup, I've set typegenAutoConfig by following the example but that hasn't helped. There's not much else to do based on the documentation and I don't even know if this is possible.
I've done this with graphqlgen and it seems Prisma updates and changes everything every month and nexus is the next thing after graphqlgen. Please correct me if I'm wrong... Nexus is the thing in the docs atm and graphqlgen is quite dead - it's really hard to figure out what you're doing internally or what the current best practice is.

The types will be generated when makePrismaSchema is called. So you need to run your code at least once to get types. I'd recommend using some sort of "watch" tool that re-executes your code every time you make a change so the types get recreated by nexus and stay up to date, one option is ts-node-dev like in that example you linked.
Also make sure your outputs paths are configured correctly, the .ts file created by nexus needs to be in a folder included in your .tsconfig (I put mine in src/generated/nexus.ts).
You mention you are compiling your code using babel and then running the output so the paths will be relative to the .js file output by babel not relative to the .ts file keep that in mind when setting up your paths.

Oh my! I've forgotten to add the generated folder to the include in tsconfig.json. The rest is running just fine with watch flags on tsc and babel. Thanks for the quick reply, even though it's filled with negativity and poor explanations.
I still like tables for the reference though. It's really annoying having to scroll around and actually locate specific information - instead of looking at a compact table where everything is succinctly explained. I'm quite sure the JSDoc notation can be used.
This is awesome btw! As soon as it worked and after having looked at nexus for some hours - it's really amazing how everything works to give the developer much more oversight and a great experience.

Yep - will look to add docs for it this week. Glad it's working for you!

This will be better addressed by #242


Send replay entries read callback from background thread, to avoid recursive stack calls

Motivation
As reported on #383 there is a potential stack overflow when replaying a large number of entries that are being served from cache. Since the entries are immediately available, the callback is triggered in the same thread and that leads to chain it with the next read call.
Modifications
Trigger replay read callback from background thread to break the stack chain and avoid recursion.

seems ok :+1:


Snippet Completions for JSX Attributes

With the release of typescript 4.5 and vs code also merged it, so would this feature be added to coc-tsserver ?
Snippet Completions for JSX Attributes

This https://github.com/neoclide/coc-tsserver/pull/319?

yes?

Would that pull request be merged to coc-tsserver?

Of course.

Ok, and can I ask when that pull request be merged to coc-tsserver ?

if you plan to merge it then I will close this issue now


Timezone converter

Idea: 6pm ET = GMT will show 7pm. We can start with --time {time} --from {timezone} --to {timezone}.

If from is omitted, take current time zone, or a configured one. Same for to.
If time is omitted, take now().

I like this both ideas. Parsing stuff like 6pm ET = GMT seems doable.
As for the latter one, I was also thinking about this the other day. I was considering adding it to WorldTimesCommand though. The thought I had was:
time --from {zone} --to {zone} <exact or relative time>

time: works as is. Shows all the times for the zones you care about.
time --from GMT 11:00: Shows what 11:00 GMT is for all the zones you have configured.
time --from GMT --to ET 11:00: Similar to above, but only shows what 11:00 GMT is for the specified target time zone rather than all the default ones.
time +18:00: Shows you what the time (and day) it would be for all your configured time zones 18 hours from now.

I can see a use for the relative time zone thing when trying to find a reasonable scheduled time for people across multiple time zones.
Also, I think --to can parse into a List if you have multiple of them. I'm pretty sure Decline supports that. So you could do: time --to ET --to Tokyo and so on.
All of these don't need to be done in one go. They're just additional ideas that can always be added later.


Feature Request: YM2151 timer and IRQ support

The YM2151 routines do not clock the timers, and the IRQ line is not connected to the system yet. Per Kevin (TexElec), the IRQ line is indeed connected, so it would be beneficial to activate these timers in the emulation. Furthermore, the chip also has a purely internal feature CSM which causes a keyDn event on all 8 channels whenever TimerA overflows, which does not function properly unless the timers are clocked.

2ac9ed43f0c4842c88d4398e849ea06706cfa80d should implement these, and is part of the nr39.2 release.
I'm going to go ahead and preemptively close this, but please don't hesitate to re-open if you find a problem with the YM timers or IRQ implementation. Closing is just an organizational tool, not an ultimatum. :)


Make the class reference table sortable

Closes #27
The main table's headers are now clickable to sort columns in ascending or descending order.
String columns are sorted alphabetically, description columns are sorted by MISSING vs. OK, and numeric columns are sorted by how complete they are overall.
The custom JS sorting implementation here is an adaptation that leans heavily on this StackOverflow answer.
I didn't think it would be worth it to implement any ascending/descending icons on table headers, but I can if desired.

@Calinou Since you're generally on top of labeling everything, I'm guessing you didn't get notified about this PR yet, but if not, I apologize for pinging you unnecessarily.


RSolr::Error::InvalidRubyResponse with sunspot_test

Hi I really don't know who is the responsible of this error (RSolr, sunspot or sunspot_test so I corss-post with sunspot)

Failure/Error: Unable to find matching line from backtrace
RSolr::Error::InvalidRubyResponse:
RSolr::Error::InvalidRubyResponse - 200 OK
Request Data:

<?xml version=\"1.0\" encoding=\"UTF-8\"?><delete><query>*:*</query></delete>

 Backtrace: /Users/mauroasprea/.rvm/gems/ruby-1.9.3-p0/gems/rsolr-1.0.6/lib/rsolr/client.rb:256:in `rescue in evaluate_ruby_response'
  /Users/mauroasprea/.rvm/gems/ruby-1.9.3-p0/gems/rsolr-1.0.6/lib/rsolr/client.rb:253:in `evaluate_ruby_response'
  /Users/mauroasprea/.rvm/gems/ruby-1.9.3-p0/gems/rsolr-1.0.6/lib/rsolr/client.rb:228:in `adapt_response'
  /Users/mauroasprea/.rvm/gems/ruby-1.9.3-p0/gems/rsolr-1.0.6/lib/rsolr/client.rb:164:in `execute'
  /Users/mauroasprea/.rvm/gems/ruby-1.9.3-p0/gems/rsolr-1.0.6/lib/rsolr/client.rb:158:in `send_and_receive'
  (eval):2:in `post'
  /Users/mauroasprea/.rvm/gems/ruby-1.9.3-p0/gems/rsolr-1.0.6/lib/rsolr/client.rb:67:in `update'
  /Users/mauroasprea/.rvm/gems/ruby-1.9.3-p0/gems/rsolr-1.0.6/lib/rsolr/client.rb:131:in `delete_by_query'
  /Users/mauroasprea/.rvm/gems/ruby-1.9.3-p0/gems/sunspot-1.3.0/lib/sunspot/indexer.rb:57:in `remove_all'
  /Users/mauroasprea/.rvm/gems/ruby-1.9.3-p0/gems/sunspot-1.3.0/lib/sunspot/session.rb:178:in `remove_all'
  /Users/mauroasprea/.rvm/gems/ruby-1.9.3-p0/gems/sunspot-1.3.0/lib/sunspot/session.rb:189:in `remove_all!'

I'm getting this when running a rails integration_test of my search controller. In my gemfile I have the following gems:
rsolr (1.0.6)
sunspot (1.3.0)
rspec (2.7.0)
sunspot_test (0.4.0)
guard (0.9.4)
database_cleaner (0.7.0)
vcr (2.0.0.rc1)
I am trying to pass a simple test that saves a model instance (using Factory girl), with its corresponding search block and it searches it later.
Help please?

Hi there! We’re doing some open source maintenance work and closing old issues. If you would still like this issue to be addressed, please re-create it by May 17, 2017. Thanks!


Unable to create database for mysql

I'm unable to create a database with the above.
I have to manually run the SQL to create a table in sql editor.

Please, switch navigator mode to Advanced or Custom

Thank you for bug report.
We need to hide this commands from the context menu in Simple view.

Works after changed to Advanced View:+1:


SubscriberClient creation error

On creating a subscriber client I'm not able to check if the subscriber client is created properly. The same situation is when you try to start it as well. We are not able to get the status. Even if you use the wrong projetId or pull-subscription name. This client will be created but we won't have any messages since this project or pull-subscription does not exist.

The client itself doesn't check, no - but as soon as you try to start it, the returned task will fail. Sample code:
using Google.Cloud.PubSub.V1;

var subscriptionName = new SubscriptionName("badproject", "badsubscription");
var subscriber = SubscriberClient.Create(subscriptionName);
await subscriber.StartAsync(async (message, cancellationToken) =>
{
    Console.WriteLine(message.MessageId);
    await Task.Yield();
    return SubscriberClient.Reply.Ack;
});

Exception:
Unhandled exception. Grpc.Core.RpcException: Status(StatusCode="NotFound", Detail="Resource not found (resource=badsubscription).", DebugException="Grpc.Core.Internal.CoreErrorDetailException: {"created":"@1640008778.847000000","description":"Error received from peer ipv4:<IP_ADDRESS>:443","file":"..\..\..\src\core\lib\surface\call.cc","file_line":1067,"grpc_message":"Resource not found (resource=badsubscription).","grpc_status":5}")

Closing given the reaction to the previous comment.


Termius.Termius version 7.58.3

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Url validation error

manifests\t\Termius\Termius\7.58.3

https://support.termius.com/hc/en-us/articles/4404036107673-Windows-Linux-Mac

Http status code: Forbidden

The link is working.


buildLayeredImage: Allow empty store, no paths to add

This is useful when buildLayeredImage is called in a generic way
that should allow simple (base) images to be built, which may not
reference any store paths.
For example arion uses it to build a very bare base image for use with the host's Nix store.

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

It would be nice to add a test case (building and loading such image) because I'm pretty sure nobody will test this behavior in case of refactoring ;)
What do you think?

I agree it would be nice to have a test. I did look for existing tests to add to, but I didn't find any. Or are these supposed to be used as tests? https://github.com/NixOS/nixpkgs/blob/f9388a76344479c3a1855f45a69fc3676905a4e7/pkgs/build-support/docker/examples.nix

@roberth that's not ideally at all, but currently, we add an example image in pkgs/build-support/docker/examples.nix and we use this image in the NixOS test nixos/tests/docker-tools.nix.
Basically, you'd have to add an example image without any path and docker load this image in the test to ensure the image can be loaded by Docker.
The commit baa78de59403a69936bd9fc4709707d600926308 can be used as example.

@nlewo I've added a test case.

@roberth Arf, we just merged to Python migration of the test:/ Could you rebase your test?

@nlewo rebased.

This also solves https://github.com/hercules-ci/arion/issues/91 according to manveru.

@GrahamcOfBorg test docker-tools

@GrahamcOfBorg test docker-tools
I'm surprised by the timeout. Output seems to have stopped around here https://github.com/NixOS/nixpkgs/pull/80921/files#diff-1635c3330be60719346294be6c07f88fR153
The preceding test produced output and it should return immediately.
I've tested this locally. (exec -a custom-true busybox) |& grep custom-true and docker run --rm no-store-paths:latest custom-true |& grep custom-true return immediately. Local testing was on 19.09 though.

@GrahamcOfBorg test docker-tools

Seems to pass on rerun.

Backported to 20.03


fix: allow optional nested folders

Allow the A/*/f pattern to match the A/f file.
File list using ./**/*.swift in this project root:
> /bin/ls -1 ./**/*.swift
Package.swift
Sources/FilenameMatcher/FilenameMatcher.swift
Tests/FilenameMatcherTests/FilenameMatcherTests.swift

> /bin/ls -1 ls **/**/*.swift
Package.swift
Sources/FilenameMatcher/FilenameMatcher.swift
Sources/FilenameMatcher/FilenameMatcher.swift
Sources/FilenameMatcher/FilenameMatcher.swift
Tests/FilenameMatcherTests/FilenameMatcherTests.swift
Tests/FilenameMatcherTests/FilenameMatcherTests.swift
Tests/FilenameMatcherTests/FilenameMatcherTests.swift

Is there a chance you'd continue on this PR, @nekrich? It's the only regression apart from significant performance improvements being reported in https://github.com/realm/SwiftLint/pull/5157. I'd really like to move this forward.

@SimplyDanny I'll take a look

@SimplyDanny I've released 2.0.0 with a new .globstar option that's enabled by default, so this should hopefully be resolved without any API changes needed in https://github.com/realm/SwiftLint/pull/5157.
BCR PR is wait for review: https://github.com/bazelbuild/bazel-central-registry/pull/3427

Awesome! Internal tests look promising. Thank you, @ileitch.


feat(db/redis) craete advisory and cve index

If this Pull Request is work in progress, Add a prefix of “[WIP]” in the title.
What did you implement:
craete advisory and cve index in redis
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
Checklist:
You don't have to satisfy all of the following.

[ ] Write tests
[ ] Write documentation
[ ] Check that there aren't other open pull requests for the same issue/feature
[ ] Format your source code by make fmt
[ ] Pass the test by make test
[ ] Provide verification config / commands
[ ] Enable "Allow edits from maintainers" for this PR
[ ] Update the messages below

Is this ready for review?: NO
Reference

https://blog.github.com/2015-01-21-how-to-write-the-perfect-pull-request/

superseded by https://github.com/vulsio/goval-dictionary/pull/406


JIT EBBs in the ThreadNet tests require ExtLedgerState in block production

Fixes #2047.
PR #1942 changed blockProduction to take a LedgerState instead of
ExtLedgerState, which suffices for all forging. However, the ThreadNet tests'
current approach to EBBs requires anticipating during block production whether
the produced block will be invalid in anyway. (The node does not emit the EBB
unless the EBB unless it is also emitting a valid block.) And that anticipatory
validation must include protocol-level errors, which requires the full
ExtLedgerState.
It may be possible to instead change the tests to allow for EBBs without
successors, but I'm don't see how, so I currently propose leaving that for future work if we
prioritize it.
Edit: PR 2176 essentially fixed this failure mode en passant. This PR now just simplifies the JIT EBB logic accordingly.

@edsko and I reviewed on a call. Thanks!
Plan: re-expanding the produceBlock API as this PR currently does is undesirable. Edsko saw alignment with other concerns and so pressed for the new CannotLead mechanism (see merged PR #2169). I'm going to rebase this PR to rely on that instead; the goal is that the tests should never generate an invalid block because the CannotLead check will abort the thread upstream. Until Issue #2173, this will also involve dialing back the Gen NodeJoinPlan so that it avoids all PBftExceededSignThreshold errors.

Once PR #2176 is merged, this PR will change dramatically; it will merely simplify the JIT EBB generator, under the assumption that (at least in the test suite for now) nodes now never forge invalid blocks!

bors merge


Make parser faster

I'm currently trying logos

Benchmark
Baseline for lexer (current master)
test angular       ... bench:   9,578,946 ns/iter (+/- 84,723) = 75 MB/s
test backbone      ... bench:   1,264,300 ns/iter (+/- 14,542) = 47 MB/s
test colors        ... bench:      20,011 ns/iter (+/- 1,195) = 57 MB/s
test jquery        ... bench:   6,659,763 ns/iter (+/- 109,626) = 40 MB/s
test jquery_mobile ... bench:  10,725,134 ns/iter (+/- 86,827) = 42 MB/s
test mootools      ... bench:   5,097,875 ns/iter (+/- 63,947) = 31 MB/s
test underscore    ... bench:   1,045,126 ns/iter (+/- 14,696) = 41 MB/s
test yui           ... bench:   5,571,735 ns/iter (+/- 46,035) = 60 MB/s

Baseline for parser (current master)
test angular          ... bench:  21,427,294 ns/iter (+/- 231,365) = 33 MB/s
test backbone         ... bench:   3,052,910 ns/iter (+/- 28,900) = 19 MB/s
test colors           ... bench:      47,614 ns/iter (+/- 1,662) = 24 MB/s
test jquery           ... bench:  16,766,244 ns/iter (+/- 203,100) = 16 MB/s
test jquery_mobile    ... bench:  26,923,991 ns/iter (+/- 548,048) = 16 MB/s
test large            ... bench:     590,187 ns/iter (+/- 4,517) = 8 MB/s
test mootools         ... bench:  13,427,258 ns/iter (+/- 205,498) = 11 MB/s
test underscore       ... bench:   2,681,820 ns/iter (+/- 259,582) = 16 MB/s
test yui              ... bench:  12,422,033 ns/iter (+/- 89,599) = 27 MB/s

Blocked by https://github.com/rust-analyzer/rust-analyzer/issues/4500
Although I can switch an editor, but it will affect rust users of swc.

Blocked by https://github.com/maciejhirsz/logos/issues/174


Clean up auto_flush; add flush_mapped to use listeners

This PR is redundant - I will include these changes into a new PR that fixes #28


Right-click !price for all items

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Instead of always typing out "!price [item name]" to check the current GE price and HA values, could we add an option to the right click menu to check the price of an item?
Describe alternatives you've considered
None currently
Additional context

Both the Item Prices and Examine plugins can already do this. Item Prices does this on hover as a tooltip, and Examine does it when you examine the item


DRM Support?

Some of these services support DRM (like widevine) and encryption; any plans to surface these features... I could consider putting together a pull request if you guys are open to it?

hey @aphillipo, we're not serving any DRM content on nytimes.com for now but a PR would be more than welcome!

Haha - for now ;-)
Looking at the issues with DRM: there is very little in the way of specs for the licensing server, this is that best I've found:
https://storage.googleapis.com/wvdocs/Widevine_DRM_Proxy_Integration.pdf
The HTML5 player + licensing server should use EME to decrypt the content.  However, it seems the player has to support all the licensing servers/encryption systems (Apple Fairplay, Play Ready, Widevine) to be fully compatible with all DRM devices.  It's maybe needed to (AFAIK) sign licensing agreements with Widevine, Microsoft and Apple.
Solutions and information on how this actually works seems like a nightmare and I can't find if it's required to register with each of these licence server providers individually even though they all do almost the same thing!  It seems writing one of these servers (they aren't that complex, just obscure and proprietary) is forbidden!

To be honest for this we should just add the flags/licencing servers and some keys we generate to encrypt our video.  Aside from that it would be up to the user to use the video player of choice.

This needs some thought because for example bitmovin doesn't support Apple FairPlay but it'd e nice if we could attract that from the user knowing about it (the bitmovin player seems to know about it).
This requires I'd say quite a it of work.  I'm just going to use HLS for now, should be fine mostly.


UDP Associate support for socks5

It can be verified using python and netcat.
pip install PySocks
import socks
import socket

TARGET_IP = "<IP_ADDRESS>"
TARGET_PORT = 1234
MESSAGE = "Hello, UDP Associate!"

s = socks.socksocket(socket.AF_INET, socket.SOCK_DGRAM)
s.set_proxy(socks.PROXY_TYPE_SOCKS5, "localhost", 1080)
s.sendto(MESSAGE, (TARGET_IP, TARGET_PORT))

Hello, thanks a lot for the commit. I've been waiting for this feature.
I think you missed it these ones:
//go version go1.9.1 linux/amd64
./main.go:120:4: undefined: socks.UDPEnabled
./tcp.go:50:15: undefined: socks.InfoUDPAssociate

@hvonw pls check your import path before compiling. If you clone my repo, everything goes to github.com/lixin9311/blabla, but the program will still try to import from the original repo.

@lixin9311 My bad, It's ok now. Thanks again!

@lixin9311 Could you please send the PR to the stable repo? https://github.com/shadowsocks/go-shadowsocks2


Allow disabling of automatic multi-search indexing on a per-object basis

The work to index a multisearch record for a single record may take a while especially if it is indexing dependency objects. It would be extremely helpful to be able to disable automated indexing in favor of a cron job that does the work say every 10 minutes for the updated records.
My proposal is to add a option to multisearch: multisearch disable_auto_indexing: true
This, combined with the ability to execute: record.update_pg_search_document will make the need fully solved.

You can now pass an update_if: -> {} lambda to multisearchable to control whether the record is updated.


YAML output does not contain info about layer data being retrieved from the cache

Steps to reproduce
$ ./tern report -y -i docker.io/photon:2.0

tern.log:
2018-10-30 10:52:36,948 - DEBUG - common - Loaded from cache: layer 666babb7a8

But YAML output doesn't have this info:
  notes:
  - notices: []
    origin_str: 'Docker image: docker.io/photon:2.0'

tern.log

python3 -m tern -l -k report -y -i debian:buster -f a.yaml

log statement is Loaded from cache: layer "a7c88e50ab"
The yaml output has

Also https://github.com/vmware/tern/blob/74cc9fbe4e51e05b0c31bc381fcf0d47ab2b1a4e/tern/helpers/common.py#L53
So is this issue outdated or am I missing something ?


Backlog of pan gesture commands on Windows

I was wondering you could change the line (or add an option to effect the change) in PlatformGestureEffect.ControlOnPointerMoved in Platforms\Windows\PlatformGestureEffect.cs from:
detector.ProcessMoveEvents(pointerRoutedEventArgs.GetIntermediatePoints(Control ?? Container));
to something like:
detector.ProcessMoveEvents(new List<PointerPoint>() { pointerRoutedEventArgs.GetCurrentPoint(Control ?? Container) });
The reason being that I find GetIntermediatePoints returns several points, and if a particular draw operation takes a little bit of time, you end up with a delayed response where an image that you're panning can keep moving as the application tries to catch up with the move events in the queue.  Instead, I think a coalescing approach should taken (or, at least, the option should be given), and all of those other points except the most recent should be discarded.
This only affects the Windows platform, as all the other platforms seems to go the coalescing route.
Otherwise I've found this library to be absolutely fantastic and indispensable given the current state of gesture operations in .NET MAUI.

So your issue is, you are using the PanPointCommand, and you are receiving too many points per event, am I right ?
I created a new property ReturnAllPointsOnWindows which is false by default. So you should see your new behavior by default in 1.0.6
Can you test the prerelease version of 1.0.6 which is already on nuget ?

Yep, you got it!  Just tried it and it works great.  Thank you for such a quick response!

1.0.6 stable released


Is Kitten completely free? (because of Backend Bundles)

💬 Question
UI Kitten and Eva version

Package
Version

@eva-design/eva

@ui-kitten/components

Please how free is Kitten React Native components because i'm seeing that you connected payment backed to UI Kitten ?
I dont understand...
### here
Backend Bundles - backend starter kits connected to UI Kitten layouts

Backend Bundles is our product which includes screens from Kitten Tricks and some pre-defined business logic and server-side APIs.
So yes, Kitten Tricks is free and that's why it's open-source 👍


ZWave climate component is not displayed correctly since 0.103.0

Home Assistant release with the issue:

arch
x86_64

dev
false

docker
true

hassio
true

os_name
Linux

python_version
3.7.5

timezone
Asia/Jerusalem

version
0.103.0

virtualenv
false

Last working Home Assistant release (if known):
0.102.3
Operating environment (Hass.io/Docker/Windows/etc.):
Hass.io Docker
Integration:
https://www.home-assistant.io/integrations/zwave/
Description of problem:
Hi,
I'm using ZXT-120 ZWave modules with Aeotec ZW090 Z-Stick Gen5 EU.
Since the upgrade to 0.103.0 the climate devices merged into 1 (which is great!!!), but it's not working well, issues are:

In previous version I had 2 devices one for heating and the other for cooling, for each of them I had target temprature which was available all the time (off/cool/heat/heatcool), now I have nothing in that attribute when the AC is off, when it's on it displays 0
set point for high and low are displayed as empty (null) in the UI even when the AC is off
when trying to change the low set point - since it's null, need to click on the down (lower) to get to 0 and then set it to the right temprature.
when trying to change the high set point - since it's null, need to click on the down (lower) same as the low set point, the issue this time is there is an exception.

Additional information:
AC is off

AC is on heat

Relates / duplicates of #29924 ?

Relates / duplicates of #29924 ?

Read about that issue before, according to the issue described over there:
"all my climate (zwave, Danfoss & compatible) disapears."
Could it be that components disapeared since the name changed.
Anyway, the issue I reported is about incorrect data that being displayed,
I have all the components merged from climate.[name]_cooling / climate.[name]_heating / climate.[name]_unused1,2,3,4 to single on of climate.[name]_mode, which is perfect,
thanks

I read, sorry misunderstood

Do your automations still work?

My automation through Node-RED / lovelace controls that wraps the climate components using service call works great,
It's just the component's original UI and calculation of target temperature which are not working properly

Can confirm to have the very same issue here.
Update to 103 results in all my Z-Wave based climate devices (Devolo thermostat) to disappear as climate devices. Can still see the measured temperature and the battery levels.
Rolled back to latest 102 version, and things are back again ....

@erikproper , correct me if i'm wrong:
the issue you are describing supposed to be solved as part of 0.103.1 since it didn't support climate devices without single setpoint, now it support both mode single or multiple,
the issue I raised is about once it switched to single, the temprature are not being displayed correctly.

I looked more into the logs of ZWave, it seems that HA is trying to set and get using the same property of ZWAVE:
'''
2019-12-20 19:02:06.066 Info, Node033, Value::Set - COMMAND_CLASS_THERMOSTAT_SETPOINT - Heating 1 - 1 - 1 - 24
2019-12-20 19:02:06.067 Detail, Node033, Queuing (Send) ThermostatSetpointCmd_Set (Node=33): 0x01, 0x0c, 0x00, 0x13, 0x21, 0x05, 0x43, 0x01, 0x01, 0x01, 0x18, 0x25, 0x34, 0x8f
2019-12-20 19:02:06.067 Info, Node033, ThermostatSetpointCmd_Get Not Supported on this node
2019-12-20 19:02:06.067 Detail,
2019-12-20 19:02:06.067 Info, Node033, Sending (Send) message (Callback ID=0x34, Expected Reply=0x13) - ThermostatSetpointCmd_Set (Node=33): 0x01, 0x0c, 0x00, 0x13, 0x21, 0x05, 0x43, 0x01, 0x01, 0x01, 0x18, 0x25, 0x34, 0x8f
2019-12-20 19:02:06.076 Detail, Node033,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2019-12-20 19:02:06.076 Detail, Node033,   ZW_SEND_DATA delivered to Z-Wave stack
2019-12-20 19:02:06.123 Detail, Node033,   Received: 0x01, 0x07, 0x00, 0x13, 0x34, 0x00, 0x00, 0x06, 0xd9
2019-12-20 19:02:06.123 Detail, Node033,   ZW_SEND_DATA Request with callback ID 0x34 received (expected 0x34)
2019-12-20 19:02:06.123 Info, Node033, Request RTT 55 Average Request RTT 57
2019-12-20 19:02:06.123 Detail,   Expected callbackId was received
2019-12-20 19:02:06.123 Detail,   Expected reply was received
2019-12-20 19:02:06.124 Detail,   Message transaction complete
2019-12-20 19:02:06.124 Detail,
2019-12-20 19:02:06.124 Detail, Node033, Removing current message
2019-12-20 19:02:06.124 Detail, Notification: Notification - MsgComplete
2019-12-20 19:02:08.576 Detail, Node033,   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x21, 0x03, 0x80, 0x03, 0x64, 0x37
2019-12-20 19:02:08.576 Detail,
2019-12-20 19:02:08.576 Info, Node033, Received Battery report from node 33: level=100
2019-12-20 19:02:08.576 Detail, Node033, Refreshed Value: old value=100, new value=100, type=byte
2019-12-20 19:02:08.576 Detail, Node033, Changes to this value are not verified
2019-12-20 19:02:08.577 Detail, Node033, Notification: ValueChanged
2019-12-20 19:02:11.077 Detail, Node033,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x21, 0x05, 0x31, 0x05, 0x01, 0x01, 0x17, 0xf7
2019-12-20 19:02:11.077 Detail,
2019-12-20 19:02:11.078 Info, Node033, Received SensorMultiLevel report from node 33, instance 1, Temperature: value=23C
2019-12-20 19:02:11.078 Detail, Node033, Refreshed Value: old value=23, new value=23, type=decimal
2019-12-20 19:02:11.078 Detail, Node033, Changes to this value are not verified
2019-12-20 19:02:11.078 Detail, Node033, Notification: ValueChanged
2019-12-20 19:02:13.633 Detail, Node028, Polling: COMMAND_CLASS_THERMOSTAT_SETPOINT index = 2 instance = 1 (poll queue has 0 messages)
2019-12-20 19:02:13.633 Info, Node028, ThermostatSetpointCmd_Get Not Supported on this node
'''
In my zwcfg xml file getsupported="false" while COMMAND_CLASS_THERMOSTAT_MODE do allow it

Please, fix. We cant turn on our heaters... Winter... Cold 😣

@elad-bar Share your zwcfg XML of your device as well it helps the troubleshooting.

In case none of the code on the code list works for the targeted air conditioner, user can use IR code learning function. See manual at section "IR Code Learning" for a description of the procedure. Value 0-22

Note: The status value 0x01 and 0x04 will be reset to 0 when the ZXT-120 receive a get command to this parameter. Idle - this IR channel is idle (default). OK - the latest learning process successful and completed. Learning - the ZXT- 120 is busy processing previous learning request. Failed - the latest learning request failed.

Look up the code list of ZXT-120 according to your AC brand.

To avoid the IR interference by disabling the surrounding IR emitter if 2 air-conditioners in a room are used. Extend the battery life by disabling the Surround IR Emitters

Bit mask = 1, learn location has learn data. Otherwise, Bit mask 0 See figure Learn location

This parameter is used to compensate the temperature error at temperature sensor. Formula: Display temperature = sensor reading value + offset value (unit = degree C) 0x00 = 0C (Default)

the issue is as written above, due to the fact "COMMAND_CLASS_THERMOSTAT_SETPOINT" by default (OpenZWave configuration) getsupported set to false, changing that value to true solves it
A post confirmed my suspicions:
https://community.home-assistant.io/t/applying-fix-in-openzwave-to-get-remotec-zxt-120-working-with-hassbian/49048/30
the second issue that the multiple setpoint is always displayed wasn't solve yet

My
<Node id="6" name="" location="" basic="4" generic="8" specific="6" type="General Thermostat V2" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
		<Manufacturer id="115" name="Z-Wave.Me">
			<Product type="24" id="1" name="Floor Thermostat" />
		</Manufacturer>
		<CommandClasses>
			<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4" innif="true" mapping="64">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="4" innif="true">
				<Instance index="1" />
				<Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="C" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="21.7" />
			</CommandClass>
			<CommandClass id="64" name="COMMAND_CLASS_THERMOSTAT_MODE" version="2" innif="true">
				<Instance index="1" />
				<Value type="list" genre="user" instance="1" index="0" label="Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Heat" value="1" />
					<Item label="Furnace" value="7" />
					<Item label="Heat Econ" value="11" />
				</Value>
				<SupportedModes>
					<Mode index="1" label="Heat" />
					<Mode index="7" label="Furnace" />
					<Mode index="11" label="Heat Econ" />
				</SupportedModes>
			</CommandClass>
			<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="2" request_flags="2" innif="true" base="1" typeInterpretation="B">
				<Instance index="1" />
				<Value type="decimal" genre="user" instance="1" index="2" label="Cooling 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
				<Value type="decimal" genre="user" instance="1" index="4" label="Unused 4" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
				<Value type="decimal" genre="user" instance="1" index="8" label="Dry Air" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
			</CommandClass>
			<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="117" name="COMMAND_CLASS_PROTECTION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="list" genre="system" instance="1" index="0" label="Protection" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Unprotected" value="0" />
					<Item label="Protection by Sequence" value="1" />
					<Item label="No Operation Possible" value="2" />
				</Value>
			</CommandClass>
			<CommandClass id="119" name="COMMAND_CLASS_NODE_NAMING" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Associations num_groups="1">
					<Group index="1" max_associations="10" label="Group 1" auto="true">
						<Node id="1" />
					</Group>
				</Associations>
			</CommandClass>
			<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3" />
				<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3.42" />
				<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="1.01" />
			</CommandClass>
		</CommandClasses>
	</Node>

@allmoney your XML is missing a heating setpoint in the command class.

Try modding your XML like this:
			<CommandClass id="64" name="COMMAND_CLASS_THERMOSTAT_MODE" version="2" innif="true">
				<Instance index="1" />
				<Value type="list" genre="user" instance="1" index="0" label="Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
                                        <Item label="Off" value="0" />
					<Item label="Heat" value="1" />
					<Item label="Furnace" value="7" />
					<Item label="Heat Econ" value="11" />
				</Value>
				<SupportedModes>
                                        <Mode index="0" label="Off" />
					<Mode index="1" label="Heat" />
					<Mode index="7" label="Furnace" />
					<Mode index="11" label="Heat Econ" />
				</SupportedModes>
			</CommandClass>

and
			<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="2" request_flags="2" innif="true" base="1" typeInterpretation="B">
				<Instance index="1" />
				<Value type="decimal" genre="user" instance="1" index="1" label="Heating 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
				<Value type="decimal" genre="user" instance="1" index="7" label="Furnace" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
				<Value type="decimal" genre="user" instance="1" index="11" label="Heat Econ" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
			</CommandClass>

See if those modifications fix it for you.

@firstof9 Thanks, Chris!!!
Will try now...
Maybe I need to fix something in these lines too?
				<Value type="decimal" genre="user" instance="1" index="1" label="Heating 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
				<Value type="decimal" genre="user" instance="1" index="7" label="Furnace" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
				<Value type="decimal" genre="user" instance="1" index="11" label="Heat Econ" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />

Those lines should be ok as they are.

@firstof9 why it higher than my temp which i set? Please, help. I don't know how fix it :(

That's how heating works, when the temp his your setpoint it kicks on and heats up a few degrees warmer.
But what it looks like you're showing me is that your issue is fixed now.

@firstof9 I not understand where is problem... I cant understand how it works :(
For example, in code I see 4 modes:

But in UI only 2:

Where in XML problem?... :(

If you view the climate device in the dev-tools states in Home Assistant, does it only show "Off, Heat" ?

@firstof9

Correct me if I'm wrong, but the modes are being populated when the z-wave device is added to the network, so if it wasn't completely setup when added, this might be why you don't see them all.

@allmoney due to the update to the climate integration, any mode other than, Heat, Cool, Heat_Cool (Auto), or Off get put as "Presets".
Your device is displaying properly and appears to be working correctly after the XML modification.

I have a similar issue with a 2GIG CT80. When the thermostat mode is on heat I get the temperature values just fine. When it's on off I get no values. I also used to be able to set the temperature on the setpoints even when the thermostat was off. Now I can't do it.
Thermostat on HEAT:

Thermostat OFF:

Notice how when it's OFF the temperature is null and the card doesn't display the temp. Also, when I try to set the temperature when it's OFF it seems to do nothing with it.
I haven't looked at the logs yet as I have my logs set to INFO. I will change it to DEBUG and look at them when I get a chance.
What can we do to make it so that we can set the temperature even when the thermostat is OFF? The reason this is useful is that it greatly simplifies how to program thermostat schedules in HASS and have it play nicely with presence to have HASS turn the thermostat on/off based on presence.

So while the thermostat is in the off setting, which setpoint do you think it should be changing? Heating or Cooling?

@firstof9, there are 2 options:

Last one that worked - meaning I set cool 19c, I turn off and turn on again on cool it will get to 19c, I changed to heat (since it's the first time) it will be 25c, switching between heat and cool will use the last used.

Why should it be like that - you mostly probably don't change heat and cool every few days (2-4) times a year...

Hide the setpoint (single and multiple) when ac is off, show single target when ac is set to manual mode or dual setpoint in case you switched to auto.

Why to use that approach - less confusing

@firstof9 in manual of thermostat http://rus.z-wave.me/drive/?file=16ef68ed7221041120492bd287849fdd53f3 I see:
Parameter No. 5 (1 byte) - The maximum width of the corridor with temperature (can be 1 — 60)
Parameter No. 6 (1 byte) - Maximum allowable temperature (can be 20 — 55, now it set to 30 i think)
But I not see these parameters in xml in HA. How can I add it? Please, help!

@elad-bar

Last one that worked - meaning I set cool 19c, I turn off and turn on again on cool it will get to 19c, I changed to heat (since it's the first time) it will be 25c, switching between heat and cool will use the last used.

So when the thermostat is in the Off setting you want something to remember the last setting you used was heat and adjust the heat set point? I don't understand what you are attempting to convey here.
When I switch between heat/cool the previous set points populate as expected.

Option 1 will return the look and feel of version <103 - didn't say how to implement it, just explained a desired solution
A simple solution that will do the work would be option 2 - fix the ui to work according mode (ac state) and not supported capabilities

So while the thermostat is in the off setting, which setpoint do you think it should be changing? Heating or Cooling?

I'm mainly interested in setting the temperature programmatically, not necessarily via the UI. With that in mind here are some thoughts:

We could keep things as they are but also expose a service that let's us directly set the temperature/value for the individual setpoints. This means we would also have to expose the setpoint entities along with the mode entity.
We could modify the climate.set_temperature service to accept either just the "temperature" as it does now and keep the current behavior; and also optionally accept the "mode" along with the "temperature" in the data. That would tell the service which setpoint to set.
We could modify the climate.set_temperature service to set the temperature on all setpoints instead of just the one associated with the mode; or have it work as it does now, but when the mode is "off" then set the temperature on all setpoints.

As for the UI I'm in favor of something simple. I think setting the temperature in the UI should apply the temperature to all setpoints, regardless of what mode it's in.
Again, these are just some thoughts.. :)

@elad-bar I agree the UI should hide the set points when the mode is off and only display the min/max set points in "Auto" mode.
@chilicheech When I look at climate.set_temperature hvac_mode is a parameter. What I don't understand is why you'd want to adjust a set point while the unit is off doesn't make sense at all.

@chilicheech When I look at climate.set_temperature hvac_mode is a parameter. What I don't understand is why you'd want to adjust a set point while the unit is off doesn't make sense at all.

Let me try to explain.  So I rely on hass to do the programming. Along with the programming I also rely on hass to turn the thermostat on and off based on presence. Let's use a simple program as an example:

Set the temperature to 65F at 7:00
Set the temperature to 60F at 20:00
Turn off the thermostat when no one is home
Turn on the thermostat when someone is home

For simplicity let's use just the off and heat modes. Suppose the thermostat is currently set to heat mode and to 65F. If everyone leaves the house at 19:00 the thermostat will turn off. At 20:00 the automation will try to set the temperature to 60F, but will fail to do it because the mode is set to off. When we return home at 21:00 the thermostat turns on to heat mode but the temperature is set to 65F instead of 60F.
The above automation was working beautifully when I could set the temperature directly on the setpoints.
With the current implementation I would have create a more complex automation.
Another reason I want to set the temperature when the thermostat is off is this. Say the thermostat was previously set to 75F and is now turned off. The thermostat reports that it is currently 70F. I want to turn it on but with a lower temperature, say 65F. If I have to first turn it on to heat mode and then set the temperature I will unnecessarily waste natural gas and electricity just to set the temperature to 65F. Although, this might not be the case if the climate.set_temperature sets the temperature first and then the mode when we pass it the hvac_mode parameter.
While the climate.set_temperature has an hvac_mode parameter it will set the thermostat to that mode. What I want is to set the heat (or cool) temperature without modifying the thermostat's mode.

One thing I just noticed after upgrading to 103.5, if I set the thermostat (Honeywell T6 Pro) to the heat_econ mode, the desired temperature isn't shown anymore, were before if was shown as the "away" temperature preset.
Is it simply something that was forgot or something that is per design?
Thx!!

@chilicheech

Update:
I played a bit with using the climate.set_temperature with the hvac_mode parameter and it seems to have no effect when the thermostat is set to off. In other words, with the thermostat in the off mode, if I call the climate.set_temperature service with entity_id: <my entity id>, temperature: 62, and hvac_mode: heat, nothing happens.

Sounds like a bug to me, might want to create a separate bug report for that.

@firstof9 I opened #30533 to address the climate.set_temperature not doing anything when specifying the hvac_mode paramater and the current hvac_mode being off.

One way I can think of to accomplish this is to re-expose all the individual setpoints (along with the currently exposed mode).

This is a poor solution. None of the other climate integrations have separate entities for their individual modes. I do agree the climate.set_temperature should work as documented tho.


Patch latex export from markdown

Obsidian's syntax for align blocks in display math confuses pdflatex due to the double math mode. This PR adds an ad-hoc filter to the pandoc invocation that allows for exporting latex direct from the markdown source, even when one has syntax
$$
\begin{align}
\sin(x)\\\cos(c)
\end{align}
$$

This does not completely resolve #188 (export from HTML source is still broken), but it at least adds a passable workaround.

Will this be merged soon?

@Spuriosity1 What is the status on this?

It's a hacky workaround, but it's functional for exporting .md -> .tex. One could very well question its value though - it's probably easier to simply run pandoc yourself on the raw markdown file, with a custom filter. The repo owner has not said anything about this PR so far, so it seems like it might be time for a new fork.


Initial support for TechEmpower Framework Benchmarks

Add initial support for TechEmpower spring and jetty benchmarks. Currently assumes that Docker is installed and the Docker daemon is running before tests are run.

looks good


Create scorecards.yml

This configures the OSSF scorecards scanner on this repo.

Codecov Report
Base: 100.00% // Head: 100.00% // No change to project coverage :thumbsup:

Coverage data is based on head (66f7247) compared to base (e784e45).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##              main        #7   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           52        52
=========================================
  Hits            52        52

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Swagger UI blank page with errors

After upgrading to wiremock-jre8-standalone-2.27.2.jar, everything seems to work, except navigating to __admin/swagger-ui give the message "Error fetching resource list ... Please wait" and freezes. Further attempts to load the Swagger page give a blank page.
I also tried the same with wiremock-jre8-standalone-2.26.3.jar with the same issue.
When I downgrade to wiremock-standalone-2.7.1.jar, everything works fine. I have not tried any other versions in between.
I am setting the following flags on the standalone when starting:
--enable-browser-proxying
--port
--record-mappings
--verbose
--root-dir
I see the following errors when I inspect the page:
swagger-ui.css:1 Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH
swagger-ui-standalone-preset.js:1 Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH
swagger-ui-bundle.js:1 Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH
(index):77 Uncaught ReferenceError: SwaggerUIBundle is not defined
at window.onload ((index):77)
window.onload @ (index):77
load (async)
(anonymous) @ (index):73
I am running the standalone jar on 3.10.0-1160.11.1.el7.x86_64 GNU/Linux. I have tried both Chrome 89.0.4389.114 (Official Build) (x86_64) and Safari Version 14.0.3 (166<IP_ADDRESS>.7) browsers.

Are you trying to access it over HTTP or HTTPS?
There's a known issue with it over HTTPS but HTTP should work OK (it does for me at the moment).

Specifically over HTTP.

I'm struggling to replicate this. I've started the standalone JAR with the same flags you've indicated and over HTTP it loads fine for me in Chrome 89.0.4389.90.

Is there any other context you can share that might be relevant?
Browser plugins/corporate policies that might be interfering?

The instance is running on a virtual Linux box that is our build machine. It does not have a display, so I am hitting the Linux box from my machine. When this was happening in 2.26.3, I was able to replicate this locally on my machine, as well as remotely.
Any potential issues caused by browser plugins or corporate policies would likely affect version 2.7.1, which is not having any issues. I am running the same flags and ports on all versions.
Are there any clues in the errors I posted? Specifically: "SwaggerUIBundle is not defined", or the fact that there are so many content length mismatches?

"SwaggerUIBundle is not defined" is just a result of the JS not loading fully so I don't think that's much help.
I've now managed, once, to get ERR_CONTENT_LENGTH_MISMATCH on one of the supporting files by repeatedly refreshing. Suggests there's something not quite right about the way the files are being served. Hopefully the Jetty upgrade in the next release will help with that.


Fix start_num propogation.

Fix designs starting from 0 even when start_num is specified.

thanks for the fix!


Channel publish is not returning error is the exchange/queue doesn't exists

Hi,
Channel publish is not returning error is the queue doesn't exists.
I manually delete the exchange/queue just before this line but channel.Publish() doesn't return error. How do I make sure that if the message is actually delivered into the exchange/queue?
Thanks

Solution is described here: http://www.inanzzz.com/index.php/post/0aeg/creating-a-rabbitmq-producer-example-with-golang


Support virtualization in Code action list

while working on a python/notebook file, language server suggests tons of code actions, which blocks the UI for ~5 seconds

The UI freeze is caused by DOM reads

related to https://github.com/microsoft/pylance-release/discussions/3873

The list is already virtualized but this layout call forces the entire thing to render (before correctly shrinking it back down):
https://github.com/microsoft/vscode/blob/e9b6a7750d320eb5cb9c6f47f0372b3adac44b58/src/vs/platform/actionWidget/browser/actionList.ts#L248
The layout call is used to find the max width of the items in the list and then resize the widget to fit this. I'm not sure what the best way to do this for a list is, but at the very least we could probably make a single call to getBoundingClientRect on the container node instead of on each element

After change from above PR


Updated README.md

Pull Request
Title
Updated README.md
Description
Updated the Readme file to include details about all the  machine learning models used and capabilities of the project.
Related Issues
Fixes #80
Changes Made
Added details in the readme file about the 4 machine learning models used, namely:

Fertilizer Prediction
Crop Recommendation
Soil Quality Prediction
Yield Prediction

Checklist

[x] I have tested the changes locally
[x] Documentation has been updated (if necessary)
[x] Changes are backward-compatible

Screenshots (if applicable)

Additional Notes

Footer

@manikumarreddyu
Sir, I request you to please add the labels to this Issue.


validate scheduled time is in the future

For scheduled changes we don't want users setting a time in the past.
Changes in this pull request:

if scheduled changes are enabled check that the scheduled time is after the current time

I went the current time, but we could easily change it to an hour from the current time or some other set time from the current time.

There's one existing functional test that is failing (test_create_batch_change_with_scheduled_time_and_owner_group_succeeds) since it is using datetime.datetime.now(); it needs to be padded for a future time.


neural network: principia, training, use cases, examples

An introductory talk on neural networks and other dangerous things.


Fix inconsistent path behaviors when running diffs

Closes: #565
This PR should fix the behavior noted in the aforementioned Issue. The root cause was a couple of things, but it was made more obvious when scanning /tmp paths on macOS because this path is symlinked to /private/tmp.
Knowing this, I updated the code to evaluate symlinks and also made the behavior when scanning directories versus files consistent (the /private/tmp -> /tmp symlink behavior was making the relative path incorrect).
Additionally, when passing in file paths specifically, the fromPath would match the scan path of files within the directory with the relative path product being .. If both the src and dest reports contain the . key, then it will appear as though completely unrelated files were actually modifications (which is incorrect).
By checking if fromPath is a directory or not, we can set the value of fromPath such that the relative path between it and files.Value.Path is essentially the filename which is stored as a key in the map we reference.
As a last resort, I set fromRoot to fromPath if the former evaluates to ..
A couple of examples with the fix:
Unrelated files in separate paths:
$ go run cmd/mal/mal.go diff ./out/samples-ec1ba5f2dc0e1f7085a0af73aa0f6fb1043e7534/javascript/clean/lottie-player.min.js /bin/bash
├─ 🟡 Deleted: lottie-player.min.js [MEDIUM]
│     ≡ data [LOW]
│       🟢 encoding/json_decode — Decodes JSON messages: JSON.parse
│       🟢 encoding/json_encode — encodes JSON: JSON.stringify
│     ≡ execution [MEDIUM]
│       🟢 plugin — references a 'plugin':
│            function installPlugin, getExpressionsPlugin, plugins, return expressionsPlugin, setExpressionsPlugin
│       🟡 remote_commands/code_eval — evaluate code dynamically using eval(): eval("
│     ≡ networking [MEDIUM]
│       🟡 download — download files: download_
│       🟢 url/embedded — contains embedded HTTPS URLs: https://www.jsdelivr.com/using-sri-with-dynamic-files
│       🟢 url/parse — Handles URL strings: new URL
│     ≡ operating-system [MEDIUM]
│       🟡 time/clock_sleep — uses setInterval to wait: setInterval(
│
├─ 🟡 Added: bash [MEDIUM]
│     ≡ credential [MEDIUM]
│       🟡 shell/bash_history — access .bash_history file
│     ≡ discovery [MEDIUM]
│       🟡 group/lookup — get entry from group database: endgrent, getgrent, setgrent
│       🟢 system/hostname_get — get computer host name: gethostname
│     ≡ evasion [MEDIUM]
│       🟡 hidden_files/var_tmp — path reference within /var/tmp: var/tmp/
│     ≡ execution [MEDIUM]
│       🟡 dylib/symbol_address — get the address of a symbol: dlsym
│       🟡 program — executes external programs: execve
│       🟢 program/background — wait for process to exit: waitpid
│       🟢 shell/SHELL — path to active shell: SHELL
│       🟢 shell/TERM — Look up or override terminal settings: TERM
│       🟡 shell/bash_dev_udp — uses /dev/udp for network access (bash)
│       🟡 shell/exec — executes shell: /bin/sh, /bin/zsh
│       🟡 tty/pathname — returns the pathname of a terminal device: ttyname
│     ≡ filesystem [MEDIUM]
│       🟢 file/delete — deletes files: unlink
│       🟢 link_read — read value of a symbolic link: readlink
│       🟢 path/etc — path reference within /etc: /etc/hosts, /etc/inputrc, /etc/profile
│       🟡 path/etc_hosts — references /etc/hosts
│       🟡 path/tmp — path reference within /tmp: /tmp/
│       🟡 path/usr_local — path reference within /usr/local/bin
│       🟢 path/var — path reference within /var:
│            /var/db/ManagedConfigurationFiles/com.apple.bash/etc/profile, /var/maiH, /var/mail, /var/tmp/
│       🟡 permission/modify — modifies file permissions: chmod
│       🟢 tempdir — looks up location of temp directory: TMPDIR
│       🟢 tempdir/tempfile_create — Uses mktemp to create temporary files: temp file
│     ≡ impact [MEDIUM]
│       🟡 remote_access/reverse_shell — references a reverse shell: /bin/sh, socket
│     ≡ networking [MEDIUM]
│       🟢 resolve/hostport_parse — Network address and service translation: freeaddrinfo, getaddrinfo
│       🟡 socket/connect — initiate a connection on a socket: _connect
│       🟡 socket/listen — listen on a socket: accept
│       🟢 socket/peer_address — get peer address of connected socket: getpeername
│       🟡 tcp/ssh — Uses SSH (secure shell) service
│     ≡ process [LOW]
│       🟢 chdir — changes working directory: cd which change the
│       🟢 create — create child process: _fork
│       🟢 executable_path — sets a custom PATH: /bin:/usr/, /usr/bin:/sbin
│       🟢 groupid_set — set real and effective group ID of process: setgid
│       🟢 parent_pid_get — gets parent process ID: getppid
│       🟢 userid_set — set real and effective user ID of current process: setuid

Same parent directory, related files, external scan:
$ go run cmd/mal/mal.go diff /tmp/old /tmp/new
├─ 🛑 Changed: /private/tmp/new/lottie-player.min.js [MEDIUM → CRITICAL]
│     ▲ anti-static [NONE → CRITICAL]
++      🟡 obfuscation/generic/hex_conversion — converts hex data to ASCII: toString("hex");
++      🟠 obfuscation/js/bitwise — uses an excessive amount of unsigned bitwise math:
++           a>>>0, a>>>11, a>>>13, a>>>15, a>>>16, a>>>22, a>>>24, a>>>25, a>>>26, a>>>31, a>>>32, a>>>6, a>>>8, b>>>0…
++      🟡 obfuscation/js/char_codes — obfuscated javascript that relies on character manipulation:
++           charAt, charCodeAt, const, fromCharCode, function(, length, push, shift, toString, {return
++      🟠 obfuscation/js/char_to_int — converts manipulated numbers into characters:
++           charAt(a>>>6*(3-l)&6, charAt(n%l),t--)}(, charAt(s>>>6*(3-a)&6, function(
++      🛑 obfuscation/js/ebe — highly obfuscated javascript (eBe):
++           charCodeAt, eBe(-1), eBe(-10), eBe(-11), eBe(-12), eBe(-13), eBe(-14), eBe(-15), eBe(-16), eBe(-17), eBe(-…
++      🟠 obfuscation/js/int_to_char — converts incremented numbers into characters:
++           charCodeAt(++a), charCodeAt(++d), charCodeAt(++n), charCodeAt(++s), function(
++      🟠 obfuscation/js/power — uses many powered array elements (>25):
++           charAt(a, charAt(c, charAt(n, charAt(s, charAt(t, charAt(u, charAt(w, e[0]^e[10], e[10]^e[20], e[11]^e[21]…
│     ▲ command & control [NONE → HIGH]
++      🟡 addr/ip — hardcoded IP address:
++           <IP_ADDRESS>, <IP_ADDRESS>3, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, 146.288.257.686, <IP_ADDRESS>, 15.2…
++      🟠 addr/url_unusual — Contains HTTP hostname with unusual top-level domain:
++           https://api.mantlescan.xyz/, https://mantlescan.xyz/, https://openchain.xyz/
│     ▲ credential [NONE → MEDIUM]
++      🟡 keychain — May access the macOS keychain
++      🟢 password — references a 'password': PasswordBasedCipher, to countless passwords
++      🟢 ssl/private_key — References private keys: privateKey
│     ▲ cryptography [NONE → MEDIUM]
++      🟢 aes — Supports AES (Advanced Encryption Standard)
++      🟡 blockchain — Uses a blockchain
++      🟢 ed25519 — Elliptic curve algorithm used by TLS and SSH: ed25519
++      🟢 hmac — Uses HMAC (Hash-based Message Authentication Code): HMAC.init
++      🟡 uuid — generates a random UUID: randomUUID
│     ▲ data [LOW → HIGH]
│       🟢 encoding/json_decode — Decodes JSON messages: JSON.parse
│       🟢 encoding/json_encode — encodes JSON: JSON.stringify
++      🟠 builtin/appkit — Includes AppKit, a web3 blockchain library:
++           Price impact reflects the change in market price due to your trade, Select which chain to connect to your …
++      🟡 embedded/base64_url — Contains base64 url: odHRwOi8v::$http
++      🟢 encoding/base64 — Supports base64 encoded strings
++      🟢 encoding/qr_code — works with QR Codes
│     ▲ discovery [NONE → MEDIUM]
++      🟡 system/platform — get system identification: process.platform, process.versions
│     ≡ execution [MEDIUM]
│       🟢 plugin — references a 'plugin':
│            function installPlugin, getExpressionsPlugin, plugins, return expressionsPlugin, setExpressionsPlugin
│       🟡 remote_commands/code_eval — evaluate code dynamically using eval(): eval("
│     ▲ exfiltration [NONE → CRITICAL]
++      🟡 stealer/browser — Uses HTTP, archives, and references multiple browsers:
++           .config, Brave, Chrome, Discord, Firefox, Opera, POST, Safari, https, zip
++      🟡 stealer/credit_card — references 'credit card'
++      🛑 stealer/wallet — makes HTTPS connections and references multiple wallets by name:
++           BraveWallet, CoinbaseBrowser, CoinbaseConnector, CoinbaseInjectedProvider, CoinbaseInjectedSigner, Coinbas…
│     ▲ filesystem [NONE → MEDIUM]
++      🟢 file/open — opens files: open(
++      🟢 mount — mounts file systems
++      🟡 path/relative — references and possibly executes relative path:
++           ./aes, ./blowfish, ./cipher-core, ./core, ./evpkdf, ./format-hex, ./hmac, ./lib-typedarrays, ./mode-cfb, .…
│     ▲ impact [NONE → MEDIUM]
++      🟡 remote_access/agent — references an 'agent': useragent
++      🟡 remote_access/heartbeat — references a 'heartbeat':
++           heartBeatTimeout, heartbeat_pulse, lastHeartbeatResponse, updateLastHeartbeat
++      🟡 resource/bank_xfer — references 'bank transfer'
│     ≡ networking [MEDIUM]
│       🟡 download — download files: download_
│       🟢 url/embedded — contains embedded HTTPS URLs: https://www.jsdelivr.com/using-sri-with-dynamic-files
│       🟢 url/parse — Handles URL strings: new URL
++      🟡 http/form_upload — upload content via HTTP form: POST, application/json, application/x-www-form-urlencoded
++      🟡 http/post — submits content to websites: Content-Type, HTTP, POST, http
++      🟡 http/websocket — supports web sockets:
++           WalletLinkWebSocket, WebSocket:gV, WebSocket:typeof, WebSocketClass:h, WebSocketClass:l, clearWebSocket, w…
++      🟡 ip/addr — mentions an 'IP address': ipAddr
++      🟢 resolve/hostport_parse — Network address and service translation: getaddrinfo
++      🟡 socket/listen — listen on a socket: accept
++      🟢 socket/send — send a message to a socket: _send
++      🟡 url/encode — encodes URL, likely to pass GET variables: urlencode
++      🟡 url/request — requests resources via URL: requests.get(e)
++      🟡 webrtc — makes outgoing WebRTC connections, uses blockchain: RTCPeerConnection
│     ▲ operating-system [MEDIUM → LOW]
--      🟡 time/clock_sleep — uses setInterval to wait
++      🟢 env/get — Retrieve environment variable values: env.DEBUG, env.MODE, env.NEXT, env.NODE
++      🟢 fd/read — reads from a file handle: e.read()
++      🟢 fd/write — writes to a file handle:
++           a.write(o), decoder.write(n), decoder.write(t), e.write(t), i.write(e), t.write(o), this.write(e)
│

Same parent directory, related files, internal scan:
$HOME/go/1.23.2/bin/mal diff old new
├─ 🛑 Changed: new/lottie-player.min.js [MEDIUM → CRITICAL]
│     ▲ anti-static [NONE → CRITICAL]
++      🟡 obfuscation/generic/hex_conversion — converts hex data to ASCII: toString("hex");
++      🟠 obfuscation/js/bitwise — uses an excessive amount of unsigned bitwise math:
++           a>>>0, a>>>11, a>>>13, a>>>15, a>>>16, a>>>22, a>>>24, a>>>25, a>>>26, a>>>31, a>>>32, a>>>6, a>>>8, b>>>0…
++      🟡 obfuscation/js/char_codes — obfuscated javascript that relies on character manipulation:
++           charAt, charCodeAt, const, fromCharCode, function(, length, push, shift, toString, {return
++      🟠 obfuscation/js/char_to_int — converts manipulated numbers into characters:
++           charAt(a>>>6*(3-l)&6, charAt(n%l),t--)}(, charAt(s>>>6*(3-a)&6, function(
++      🛑 obfuscation/js/ebe — highly obfuscated javascript (eBe):
++           charCodeAt, eBe(-1), eBe(-10), eBe(-11), eBe(-12), eBe(-13), eBe(-14), eBe(-15), eBe(-16), eBe(-17), eBe(-…
++      🟠 obfuscation/js/int_to_char — converts incremented numbers into characters:
++           charCodeAt(++a), charCodeAt(++d), charCodeAt(++n), charCodeAt(++s), function(
++      🟠 obfuscation/js/power — uses many powered array elements (>25):
++           charAt(a, charAt(c, charAt(n, charAt(s, charAt(t, charAt(u, charAt(w, e[0]^e[10], e[10]^e[20], e[11]^e[21]…
│     ▲ command & control [NONE → HIGH]
++      🟡 addr/ip — hardcoded IP address:
++           <IP_ADDRESS>, <IP_ADDRESS>3, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, 146.288.257.686, <IP_ADDRESS>, 15.2…
++      🟠 addr/url_unusual — Contains HTTP hostname with unusual top-level domain:
++           https://api.mantlescan.xyz/, https://mantlescan.xyz/, https://openchain.xyz/
│     ▲ credential [NONE → MEDIUM]
++      🟡 keychain — May access the macOS keychain
++      🟢 password — references a 'password': PasswordBasedCipher, to countless passwords
++      🟢 ssl/private_key — References private keys: privateKey
│     ▲ cryptography [NONE → MEDIUM]
++      🟢 aes — Supports AES (Advanced Encryption Standard)
++      🟡 blockchain — Uses a blockchain
++      🟢 ed25519 — Elliptic curve algorithm used by TLS and SSH: ed25519
++      🟢 hmac — Uses HMAC (Hash-based Message Authentication Code): HMAC.init
++      🟡 uuid — generates a random UUID: randomUUID
│     ▲ data [LOW → HIGH]
│       🟢 encoding/json_decode — Decodes JSON messages: JSON.parse
│       🟢 encoding/json_encode — encodes JSON: JSON.stringify
++      🟠 builtin/appkit — Includes AppKit, a web3 blockchain library:
++           Price impact reflects the change in market price due to your trade, Select which chain to connect to your …
++      🟡 embedded/base64_url — Contains base64 url: odHRwOi8v::$http
++      🟢 encoding/base64 — Supports base64 encoded strings
++      🟢 encoding/qr_code — works with QR Codes
│     ▲ discovery [NONE → MEDIUM]
++      🟡 system/platform — get system identification: process.platform, process.versions
│     ≡ execution [MEDIUM]
│       🟢 plugin — references a 'plugin':
│            function installPlugin, getExpressionsPlugin, plugins, return expressionsPlugin, setExpressionsPlugin
│       🟡 remote_commands/code_eval — evaluate code dynamically using eval(): eval("
│     ▲ exfiltration [NONE → CRITICAL]
++      🟡 stealer/browser — Uses HTTP, archives, and references multiple browsers:
++           .config, Brave, Chrome, Discord, Firefox, Opera, POST, Safari, https, zip
++      🟡 stealer/credit_card — references 'credit card'
++      🛑 stealer/wallet — makes HTTPS connections and references multiple wallets by name:
++           BraveWallet, CoinbaseBrowser, CoinbaseConnector, CoinbaseInjectedProvider, CoinbaseInjectedSigner, Coinbas…
│     ▲ filesystem [NONE → MEDIUM]
++      🟢 file/open — opens files: open(
++      🟢 mount — mounts file systems
++      🟡 path/relative — references and possibly executes relative path:
++           ./aes, ./blowfish, ./cipher-core, ./core, ./evpkdf, ./format-hex, ./hmac, ./lib-typedarrays, ./mode-cfb, .…
│     ▲ impact [NONE → MEDIUM]
++      🟡 remote_access/agent — references an 'agent': useragent
++      🟡 remote_access/heartbeat — references a 'heartbeat':
++           heartBeatTimeout, heartbeat_pulse, lastHeartbeatResponse, updateLastHeartbeat
++      🟡 resource/bank_xfer — references 'bank transfer'
│     ≡ networking [MEDIUM]
│       🟡 download — download files: download_
│       🟢 url/embedded — contains embedded HTTPS URLs: https://www.jsdelivr.com/using-sri-with-dynamic-files
│       🟢 url/parse — Handles URL strings: new URL
++      🟡 http/form_upload — upload content via HTTP form: POST, application/json, application/x-www-form-urlencoded
++      🟡 http/post — submits content to websites: Content-Type, HTTP, POST, http
++      🟡 http/websocket — supports web sockets:
++           WalletLinkWebSocket, WebSocket:gV, WebSocket:typeof, WebSocketClass:h, WebSocketClass:l, clearWebSocket, w…
++      🟡 ip/addr — mentions an 'IP address': ipAddr
++      🟢 resolve/hostport_parse — Network address and service translation: getaddrinfo
++      🟡 socket/listen — listen on a socket: accept
++      🟢 socket/send — send a message to a socket: _send
++      🟡 url/encode — encodes URL, likely to pass GET variables: urlencode
++      🟡 url/request — requests resources via URL: requests.get(e)
++      🟡 webrtc — makes outgoing WebRTC connections, uses blockchain: RTCPeerConnection
│     ▲ operating-system [MEDIUM → LOW]
--      🟡 time/clock_sleep — uses setInterval to wait
++      🟢 env/get — Retrieve environment variable values: env.DEBUG, env.MODE, env.NEXT, env.NODE
++      🟢 fd/read — reads from a file handle: e.read()
++      🟢 fd/write — writes to a file handle:
++           a.write(o), decoder.write(n), decoder.write(t), e.write(t), i.write(e), t.write(o), this.write(e)
│

Same parent directory, related files, internal scan, explicitly passing in files:
$HOME/go/1.23.2/bin/mal diff old/lottie-player.min.js new/lottie-player.min.js
├─ 🛑 Changed: new/lottie-player.min.js [MEDIUM → CRITICAL]
│     ▲ anti-static [NONE → CRITICAL]
++      🟡 obfuscation/generic/hex_conversion — converts hex data to ASCII: toString("hex");
++      🟠 obfuscation/js/bitwise — uses an excessive amount of unsigned bitwise math:
++           a>>>0, a>>>11, a>>>13, a>>>15, a>>>16, a>>>22, a>>>24, a>>>25, a>>>26, a>>>31, a>>>32, a>>>6, a>>>8, b>>>0…
++      🟡 obfuscation/js/char_codes — obfuscated javascript that relies on character manipulation:
++           charAt, charCodeAt, const, fromCharCode, function(, length, push, shift, toString, {return
++      🟠 obfuscation/js/char_to_int — converts manipulated numbers into characters:
++           charAt(a>>>6*(3-l)&6, charAt(n%l),t--)}(, charAt(s>>>6*(3-a)&6, function(
++      🛑 obfuscation/js/ebe — highly obfuscated javascript (eBe):
++           charCodeAt, eBe(-1), eBe(-10), eBe(-11), eBe(-12), eBe(-13), eBe(-14), eBe(-15), eBe(-16), eBe(-17), eBe(-…
++      🟠 obfuscation/js/int_to_char — converts incremented numbers into characters:
++           charCodeAt(++a), charCodeAt(++d), charCodeAt(++n), charCodeAt(++s), function(
++      🟠 obfuscation/js/power — uses many powered array elements (>25):
++           charAt(a, charAt(c, charAt(n, charAt(s, charAt(t, charAt(u, charAt(w, e[0]^e[10], e[10]^e[20], e[11]^e[21]…
│     ▲ command & control [NONE → HIGH]
++      🟡 addr/ip — hardcoded IP address:
++           <IP_ADDRESS>, <IP_ADDRESS>3, <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, 146.288.257.686, <IP_ADDRESS>, 15.2…
++      🟠 addr/url_unusual — Contains HTTP hostname with unusual top-level domain:
++           https://api.mantlescan.xyz/, https://mantlescan.xyz/, https://openchain.xyz/
│     ▲ credential [NONE → MEDIUM]
++      🟡 keychain — May access the macOS keychain
++      🟢 password — references a 'password': PasswordBasedCipher, to countless passwords
++      🟢 ssl/private_key — References private keys: privateKey
│     ▲ cryptography [NONE → MEDIUM]
++      🟢 aes — Supports AES (Advanced Encryption Standard)
++      🟡 blockchain — Uses a blockchain
++      🟢 ed25519 — Elliptic curve algorithm used by TLS and SSH: ed25519
++      🟢 hmac — Uses HMAC (Hash-based Message Authentication Code): HMAC.init
++      🟡 uuid — generates a random UUID: randomUUID
│     ▲ data [LOW → HIGH]
│       🟢 encoding/json_decode — Decodes JSON messages: JSON.parse
│       🟢 encoding/json_encode — encodes JSON: JSON.stringify
++      🟠 builtin/appkit — Includes AppKit, a web3 blockchain library:
++           Price impact reflects the change in market price due to your trade, Select which chain to connect to your …
++      🟡 embedded/base64_url — Contains base64 url: odHRwOi8v::$http
++      🟢 encoding/base64 — Supports base64 encoded strings
++      🟢 encoding/qr_code — works with QR Codes
│     ▲ discovery [NONE → MEDIUM]
++      🟡 system/platform — get system identification: process.platform, process.versions
│     ≡ execution [MEDIUM]
│       🟢 plugin — references a 'plugin':
│            function installPlugin, getExpressionsPlugin, plugins, return expressionsPlugin, setExpressionsPlugin
│       🟡 remote_commands/code_eval — evaluate code dynamically using eval(): eval("
│     ▲ exfiltration [NONE → CRITICAL]
++      🟡 stealer/browser — Uses HTTP, archives, and references multiple browsers:
++           .config, Brave, Chrome, Discord, Firefox, Opera, POST, Safari, https, zip
++      🟡 stealer/credit_card — references 'credit card'
++      🛑 stealer/wallet — makes HTTPS connections and references multiple wallets by name:
++           BraveWallet, CoinbaseBrowser, CoinbaseConnector, CoinbaseInjectedProvider, CoinbaseInjectedSigner, Coinbas…
│     ▲ filesystem [NONE → MEDIUM]
++      🟢 file/open — opens files: open(
++      🟢 mount — mounts file systems
++      🟡 path/relative — references and possibly executes relative path:
++           ./aes, ./blowfish, ./cipher-core, ./core, ./evpkdf, ./format-hex, ./hmac, ./lib-typedarrays, ./mode-cfb, .…
│     ▲ impact [NONE → MEDIUM]
++      🟡 remote_access/agent — references an 'agent': useragent
++      🟡 remote_access/heartbeat — references a 'heartbeat':
++           heartBeatTimeout, heartbeat_pulse, lastHeartbeatResponse, updateLastHeartbeat
++      🟡 resource/bank_xfer — references 'bank transfer'
│     ≡ networking [MEDIUM]
│       🟡 download — download files: download_
│       🟢 url/embedded — contains embedded HTTPS URLs: https://www.jsdelivr.com/using-sri-with-dynamic-files
│       🟢 url/parse — Handles URL strings: new URL
++      🟡 http/form_upload — upload content via HTTP form: POST, application/json, application/x-www-form-urlencoded
++      🟡 http/post — submits content to websites: Content-Type, HTTP, POST, http
++      🟡 http/websocket — supports web sockets:
++           WalletLinkWebSocket, WebSocket:gV, WebSocket:typeof, WebSocketClass:h, WebSocketClass:l, clearWebSocket, w…
++      🟡 ip/addr — mentions an 'IP address': ipAddr
++      🟢 resolve/hostport_parse — Network address and service translation: getaddrinfo
++      🟡 socket/listen — listen on a socket: accept
++      🟢 socket/send — send a message to a socket: _send
++      🟡 url/encode — encodes URL, likely to pass GET variables: urlencode
++      🟡 url/request — requests resources via URL: requests.get(e)
++      🟡 webrtc — makes outgoing WebRTC connections, uses blockchain: RTCPeerConnection
│     ▲ operating-system [MEDIUM → LOW]
--      🟡 time/clock_sleep — uses setInterval to wait
++      🟢 env/get — Retrieve environment variable values: env.DEBUG, env.MODE, env.NEXT, env.NODE
++      🟢 fd/read — reads from a file handle: e.read()
++      🟢 fd/write — writes to a file handle:
++           a.write(o), decoder.write(n), decoder.write(t), e.write(t), i.write(e), t.write(o), this.write(e)
│

An external scan passing in explicit file names results in the same output as the internal scan.

Still seeing some odd diffs in the test data. Working through those now.

@tstromberg -- let me know if you think that the update test data is accurate. Most of the files we diff have entirely different names so the deleted/added behavior seems correct to me.


[SPARK-42051][SQL] Codegen Support for HiveGenericUDF

What changes were proposed in this pull request?

As a subtask of SPARK-42050, this PR adds Codegen Support for HiveGenericUDF
Why are the changes needed?

improve codegen coverage and performance
Does this PR introduce any user-facing change?

no
How was this patch tested?

new UT added

cc @cloud-fan @HyukjinKwon PTAL, thanks

Also cc @LuciferYang , too

Belated Happy new year!
Comments addressed, thank you all.

Since the last commit is for adding a test, I will merge this. thanks @dongjoon-hyun @LuciferYang.
Merged to master

Thank you, @yaooqinn and @LuciferYang !

late LGTM


AudioIssueDuringCall

I am Twilio for my iOS app where we use VoiceCall to send VOIP and as soon as we get connected we disconnect the audio call and connect via video call. The issue which we are facing on doing the same is most of the time while video call gets started we do not receive audio of the caller and callee. And if i try to set audio device the app gets crashed.
7 out of 10 times

@ManishaAstaPartners In order to debug this problem, can you provide following information -

How are you making the VoiceCall? Are you using TwilioVoice SDK and TwilioVideo SDK in the same app?
Can you please fill the issue template ?

Before filing an issue please check that the issue is not already addressed by the following:

Video Guides
Changelog.

If this is an issue with the QuickStart itself, file it here. If this is an issue with the SDK or how to do something with the SDK please use twilio-video-ios instead.
Please ensure that you are not sharing any
Personally Identifiable Information(PII)
or sensitive account information (API keys, credentials, etc.) when reporting an issue.

Description
[Description of the issue]
Steps to Reproduce

[Step one]
[Step two]
[Insert as many steps as needed]

Code
// Code that helps reproduce the issue

Expected Behavior
[What you expect to happen]
Actual Behavior
[What actually happens]
Reproduces How Often
[What percentage of the time does it reproduce?]
Logs
Debug level logs are helpful when investigating issues. To enable debug level logging, add the following code to your application:
TwilioVideoSDK.setLogLevel(.debug)

// Log output when the issue occurs

Versions
All relevant version information for the issue.
Video iOS SDK
[e.g. 1.3.12 via CocoaPods]
Xcode
[e.g. 9.2]
iOS Version
[e.g. 11.2.6]
iOS Device
[e.g. iPhone 8 Plus]

We are tracking this issue https://github.com/twilio/twilio-video-ios/issues/85 Closing this ticket, but feel free to reopen the ticket if you think otherwise.


update dependencies

If I didn't miss something there is no way to really check the results of website generation.
Generating the website worked for me - please check if all is o.k.

Hi @fte378, thank you for this PR,
What do you mean by "check the results"?
If you want to run the website, you can type make from the bertytech/ folder, then open your browser at http://localhost:1313/

You can also check the deploy/netlify link in each PR, for the current one, the link is: https://deploy-preview-25--bertytech.netlify.app/

What do you mean by "check the results"?

I don't have an overview about what is built and how it is built and if any error breaks the build (which should be the case).
So without this knowledge a hugo build without errors doesn't mean that all parts of the site are built correctly. Especially because I changed the tools which are used to do things outside of hugo.
I will have a look at the Makefiles as next step :)

Hi @moul ,
I checked that the scripts using the node modules work correctly.
I noticed that there are AMP features used - the AMP-checker spits out lots of problems.
So it's questionable if AMP should be used at all.
I think the PR is ready for merging.
With kind regards,
Frank

:+1:
Maybe we can setup to push the generated website on a dedicated branch so we can easily get a "git diff" of "what changed"


io API

Implement a similar API to tokio::io that calls methods from EncryptedFs.
Structure of crypto module

crypto::io

Flow

Use crypto::fs::OpenOptionsto create a crypto::fs::File from https://github.com/radumarias/rencfs/issues/97
That calls EncryptedFs::open with corresponding read, write flags and internally we keep the CryptoReaderSeek or/and CryptoWriterSeek based on flags passed to open
When the File object is dropped we close the handle with EncryptedFs::release
You can use crypto::io to read of write to the File.

Moved to https://github.com/radumarias/rencfs/issues/97