Discard spans with invalid timestamps

Discard spans with invalid timestamps
Also adds a test for compressed spans

appreciate the consideration!
On Mon, 26 Nov 2018, 18:52 worldtiki<EMAIL_ADDRESS>wrote:

@worldtiki commented on this pull request.
In
src/main/java/com/hotels/service/tracing/zipkintohaystack/forwarders/haystack/HaystackDomainConverter.java
https://github.com/HotelsDotCom/pitchfork/pull/18#discussion_r236204942:

  */

public static Span fromZipkinV2(zipkin2.Span zipkin) {

public Optional fromZipkinV2(zipkin2.Span zipkin) {

   // TODO: move this outside of the converter and into the ZipkinController.addSpans chain

Thanks for the feedback, it's always much appreciated!
I'll reply to both comments here as they're related.
This is related to this ticket: ExpediaDotCom/haystack#611
https://github.com/ExpediaDotCom/haystack/issues/611
Still not sure yet but it looks like the performance problems with the
queries to Elasticsearch (aggregations) are a result of bad timestamps.
Based on the data we have so far there's reason to believe that some rogue
service is using a wrong timestamp (possibly reporting in millis and not
micros or with a timestamp that someone hardcoded). (I don't think the null
timestamps are causing any issue in Haystack but I figured it was super
cheap to add that optional validation as well).
Regarding the issues like orphan spans, etc. I guess it depends on how you
look at this feature. I see it more of a quick way to troubleshoot a
problem and stop offenders and not so much a fully fledged feature to
sanitize the data and handle those edge cases.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/HotelsDotCom/pitchfork/pull/18#discussion_r236204942,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAD61_yliV47xHz8r4NyytEG4BheujIOks5uy8fggaJpZM4YyDlE
.


Find out if transaction is active

Is there an official way to find out, if a knex object currently has an active transaction?
Something like the following:
console.log(knex.isTransacting());  // -> false
knex.transaction(function(trx) {
  console.log(trx.isTransacting()); // -> true
});

There is no official way to check if the knex instance is transaction or nor, nor what is the transaction state. If you wish to implement that feature I won't object. If you decide to implement this, please open another issue with some specification how it could work to discuss about it a bit more first.

Stumbled on this recently via a Google search - for anyone else coming here the same way, knex now includes an isCompleted method on transactions for this purpose, cf. transaction docs.


Deleting RF PolyLoad Data doesn't work

Hello there again,
I'm not able to delete PolyLoads in RFEM with the Parametric FEM Toolbox.
First I'm using 'Get Data' with PolyLoads set to true.
These PolyLoads I'm feeding into the 'RF PolyLoad' Data Node of the Assemble 'RF PolyLoad' component with delete set to true.
Then I'm feeding these PolyLoads into the 'Set Data' component.
The data is getting through and I flattened the input but nothing changes in RFEm if I set the 'Get Data' and Set'Data' component to true.

I use this workflow for many other RFEM Data types and it works.
What am I missing or is this an actual bug?
Thank you very much!

Hello, you're right there was actually a bug here. Sorry. I have released a version v1.3.4 in which this issue should be fixed - see releases.
Thanks for pointing it out!
Best,
Diego

Hello,
Thank you very much for this really fast bugfix.
I tested the new release and it works fine now!
But it seems that the RF LoadCase component has the same issue. If I use the same workflow as before, the load cases stay in RFEM.
Greetings,
Lukas

Hello Lukas,
you're right again, thanks! I've just fixed the bug for Load Cases, Load Combos and Result Combinations. See release v1.3.5.
Best regards,
Diego

Tank you very much for alle the work you put into this! :)


Instructions on using as GitHub Issue Template

See: https://github.com/stevemao/github-issue-templates/blob/master/checklist/ISSUE_TEMPLATE.md

See also: https://github.com/oxr463/pentesting-demo

See: https://stackoverflow.com/a/54116735/8507637

about: ~
assignees: ~
labels: ~
name: ~
title: ~

Copy markdown file(s) to .github/ISSUE_TEMPLATE/, prepend the following YAML snippet to the front matter, and customize for each template as desired:


Unable to download "Elysium - Dynolod 3D Output"

When attempting to install the modlist wabbajack fails when trying to download the Dynolod output. I have run the full AE downgrader so Im positive its not this.
Pertinent log information below
7390.32 - Unable to download Elysium - Dyndolod 3D Output.7z (WabbajackCDNDownloader+State|https://authored-files.wabbajack.org/Elysium - Dyndolod 3D Output.7z_b3e81829-8133-43c2-a2bf-607121d59fd3) 7390.32 - Unable to download Elysium - Dyndolod 3D Output (Creation Club).7z (WabbajackCDNDownloader+State|https://authored-files.wabbajack.org/Elysium - Dyndolod 3D Output (Creation Club).7z_3aa777cd-6677-4077-83d5-7bc5ab81ceaf) 7390.32 - Cannot continue, was unable to download one or more archives 7390.32 - File hash check (-42) 19157def42b181e36d2b3736b7ad2ee8f989ea1bc3fe3e13b84fc36a820e59f2 7390.32 - Encountered error, can't continue - System.Exception: Cannot continue, was unable to download one or more archives    at Wabbajack.Lib.AInstaller.Error(String msg) in C:\actions-runner\_work\wabbajack\wabbajack\Wabbajack.Lib\AInstaller.cs:line 70    at Wabbajack.Lib.MO2Installer._Begin(CancellationToken cancel) in C:\actions-runner\_work\wabbajack\wabbajack\Wabbajack.Lib\MO2Installer.cs:line 161    at Wabbajack.Lib.ABatchProcessor.<Begin>b__66_0() in C:\actions-runner\_work\wabbajack\wabbajack\Wabbajack.Lib\ABatchProcessor.cs:line 177    at Wabbajack.MO2InstallerVM.<>c__DisplayClass31_0.<<Install>b__0>d.MoveNext() in C:\actions-runner\_work\wabbajack\wabbajack\Wabbajack\View Models\Installers\MO2InstallerVM.cs:line 181 --- End of stack trace from previous location ---    at Wabbajack.MO2InstallerVM.Install() in C:\actions-runner\_work\wabbajack\wabbajack\Wabbajack\View Models\Installers\MO2InstallerVM.cs:line 175    at Wabbajack.InstallerVM.<>c__DisplayClass85_0.<<-ctor>b__75>d.MoveNext() in C:\actions-runner\_work\wabbajack\wabbajack\Wabbajack\View Models\Installers\InstallerVM.cs:line 383 7390.51 - File hash check (-42) 19157def42b181e36d2b3736b7ad2ee8f989ea1bc3fe3e13b84fc36a820e59f2

same problem , you have a solution ?

Yeahp, the issue is that those files are now hosted on MEGA and are larger than the free user download limit, so when it cuts you off wabbajack thinks it's done and tries to move on with files that won't work in the end.
Solution was to buy a month of MEGA and connect the account in wabbajack's settings and delete the previous failed download

I have the same proble, but none of the current "solutions" worked for me. I have MEGA premium for 1 month and i allowed Wabbajack to enter MEGA with my credentials, still hash fail and it will not start download. (deleted unfinished files before)
I dowloaded it manually from MEGA and pasted it into the download folder, still Wabbajack will generate hash error (same as in the opening post). I tried to unzip the files from these two pack, same error. Any suggestions? I'm clueless what should i do. Thanks in advance.


Error in transup_interp

Lines 184-185 of look_up_tables.py incorrectly assigned transm to transup_interp. transup is only used for the thermal L_s radiance so this probably doesn't affect too many results, but any thing used the thermal radiance is a bit suspect.
Original:
self.transup_interp = VectorInterpolatorJIT(             self.lut_grids, self.transm)
Fix:
self.transup_interp = VectorInterpolatorJIT(             self.lut_grids, self.transup)

This is fixed (thanks Jay!) so I'll close out the issue.


Extremely large (perplexity)loss when implementing memory network for language modeling

Recently, I am trying to implement the End-To-End Memory Networks for language modeling according to carpedm20's Tensorflow implementation and you can find my code here. But even after I set all the parameters same with his, my mxnet version doesn't work properly and produce extremely large (perplexity)loss in training phase from the very beginning.
I tried to change the learning rate and gradient clip to much smaller values(i.e. init_lr=0.0005, max_grad_norm=1). Now, the validation perplexity first fall to 200-300 but then increase to 400-500 again.
I also tried to use ADAM instead of SGD. This change could give a better validation result around 160 but still much higher than the TF implementation(114).
Currently, the only difference between these two implementations I know is the lr factor method. The TF version scales the learning rate when the loss stops to decrease. But I don't know how to implement it in MXNet. Instead, I use a normal mx.lr_scheduler.FactorScheduler.
Questions:

Is there any difference between tensorflow's SGD and mxnet's SGD(when both momentum and wd are set to 0)?
Why does the ADAM produces a not too bad result while the SGD fails to converge from the very beginning even their initial learning rates are the same.

data = mx.sym.Variable('data', shape=(-1, edim))
I don't think -1 works

try plotting your network definition and check against original implementation

@piiswrong , I didn't get any error message by setting shape=(-1, xxx) so far. Do you mean I should change it to batch size or just define these input variables without shape like data = mx.sym.Variable('data')?
I plot the network structure(when nhop=1) and you can find it here.
I know it is not a good idea to post such long code here and ask other people to help me debug. But I have been stuck here for a long time without any progress. Really need some help about the above mentioned problems.

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


useGlobalState

New Features
I would like to add a useGlobalState hook
What is the new or updated feature that you are suggesting?
Prop drilling is a pain and Context are not only start to get out of hand the way they are nested, but they cause a ton of rerenders and are a pain to configure. I propose a useGlobalState hook that can extend the features of useState, but globally.
function useGlobalState<T>(config: GlobalSateConfig<T>): readonly [T, (stateOrSetter: T) => void]

Why should this feature be included?
So people can seamlessly and easily add a legible and easy to manage state option for global state
🚨 I will implement this hook myself. I just want to run it by the team before I start 🚨

Why not to leave it to existing libraries?
redux/recoil/there is a ton others..

@xobotyi a simple useGlobalState hook will fill the gap between "context hell" and having to add a giant dependency for a couple of pieces of state. In smaller websites it's not unlikely to only need a couple of pieces of global state.

Client-state management libraries generally aren't that big (at least the ones I'm aware of), with the exception of Recoil (79 kB minified). Jotai, Zustand and Redux are all well below 10 kB minified.
In my opinion, useContext + useReducer combination gets you pretty far client-state management-wise. When that's not enough, a dedicated state management library comes into question. I don't think there's a middle ground between those, but let me know if you think I'm mistaken.
Implementing global state management is tricky business and I don't think we should duplicate the efforts those libraries are making. This is the same rationale we used when we decided not to port navigation-related hooks from react-use in #33 and head-element modifying hooks in #1004 .

@ArttuOll I guess more than the size of the dependency its the amount that goes into it. Its usually a couple of dependencies and at least a couple files in order to set up basic global state. For smaller websites that don't usually need something so robust, I think its useful. However, it's totally up to yall.

After more digging, I feel like you're right. I'm just too used to using Redux and hate it some much. Now that I am looking at other libraries, I would probably just use one of those instead.

Yeah, I feel like Jotai's atoms might be what you want if you only need a couple of pieces global state. Closing this now.


This XML file does not appear to have any style information associated with it

I used the url_strategy flutter package to remove /#/ from the web URL and define routes for pages as per your package example
and hosted to AWS S3 it's working fine as per your Solution in #9  but when I refresh the URL from any page it shows access denied

Hi @ajaylg
This is not something from the package. you need to configure your server to redirect all unknown pages to index.html so flutter can handle the URL.
to do so you need to create a .htaccess file in the same folder where you index.html file is and add the flowing in it:
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

BTW: you can remove the hashtag from the URL using. It is not in the dous yet.
void main() {
  QR.setUrlStrategy();
  runApp(MyApp());
}

I created .htaccess file and imported the above code you provided but nothing happens shows same result as mentioned above
#10

Can you Provide Some Detail information about this hosting
@SchabanBo

@ajaylg
unfortunately, I don't know, I didn't use S3 before.
I tried this method here and it seems, it works fine

Hi @SchabanBo
when i deploy build file in netlify . it works all routings are works, once i refresh the page. it gives the 404 page not found!
can you please help me out from this issue

I solved

Hi @SchabanBo
when i deploy build file in netlify . it works all routings are works, once i refresh the page. it gives the 404 page not found!
can you please help me out from this issue

I Solved this issue in AWS S3 Static web hosting by simply adding index.html in error document field like this
@guruprakashIT
@SchabanBo

I don't no this is the right solution, but it works in my case
@guruprakashIT


cleanup(sinsp): remove some duplicated code

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area libsinsp
Does this PR require a change in the driver versions?
No
What this PR does / why we need it:
remove some duplicated code
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97
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:

OWNERS [Andreagit97]

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

LGTM label has been added.  Git tree hash: 31f3e93c69df74574d3dd4397065c41944a33dad

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
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:

OWNERS [Andreagit97,FedeDP]

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


One of the Settings Sync services is down and intermittently returning HTTP 412

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.71.0
OS Version: Windows 10 21H1 19043.1826

Steps to Reproduce:

Attempt any Settings Sync operation
View sync logs

Extracts from logs, it occasionally succeeds but it appears that the URL vscode-sync.trafficmanager.net is down (tested from multiple networks in different locations)
My own pings:
~ dig +short @<IP_ADDRESS> vscode-sync.trafficmanager.net
vscode-sync-euw-01.azurewebsites.net.
waws-prod-am2-325.sip.azurewebsites.windows.net.
waws-prod-am2-325.cloudapp.net.
<IP_ADDRESS>
~ /bin/ping vscode-sync.trafficmanager.net
PING waws-prod-am2-325.cloudapp.net (<IP_ADDRESS>) 56(84) bytes of data.
^C
--- waws-prod-am2-325.cloudapp.net ping statistics ---
375 packets transmitted, 0 received, 100% packet loss, time 389766ms

Logs within VSCode:
[2022-09-06 11:03:28.022] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/resource/machines
[2022-09-06 11:03:43.889] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/resource/machines
[2022-09-06 11:03:59.941] [settingssync] [info] Request failed {"url":"https://vscode-sync.trafficmanager.net/v1/resource/machines","status":412}
[2022-09-06 11:04:55.686] [settingssync] [info] Auto Sync: Triggered by Activity
[2022-09-06 11:06:30.627] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/resource/machines/latest
[2022-09-06 11:07:39.470] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/resource/machines/latest
[2022-09-06 11:08:45.992] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/manifest
[2022-09-06 11:08:45.993] [settingssync] [error] RequestFailed (UserDataSyncError) syncResource:unknown operationId:unknown: Connection refused for the request 'https://vscode-sync.trafficmanager.net/v1/manifest'.
    at f.request (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:145584)
    at async f.manifest (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:143301)
    at async n.createSyncTask (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:118995)
    at async n.doSync (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:115485)
[2022-09-06 11:08:45.993] [settingssync] [error] RequestFailed (UserDataSyncError) syncResource:unknown operationId:unknown: Connection refused for the request 'https://vscode-sync.trafficmanager.net/v1/manifest'.
    at f.request (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:145584)
    at async f.manifest (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:143301)
    at async n.createSyncTask (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:118995)
    at async n.doSync (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:115485)

I'm guessing the 412 comes from Azure Traffic Manager, and the application it's managing traffic to is down. This is just a guess though.
Occasionally it appears to succeed with Sync done, took xxxms but I appear to be having a lot of issues syncing my settings between two locations, so I think this service being down is causing problems.
Edit:
Trying to sync on a new install of vscode fails entirely with:
[2022-09-06 11:18:17.904] [settingssync] [info] Did reset the local sync state.
[2022-09-06 11:18:50.985] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/resource/settings
[2022-09-06 11:18:51.003] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/resource/settings/latest
[2022-09-06 11:18:51.003] [settingssync] [error] RequestFailed (UserDataSyncError) syncResource:unknown operationId:unknown: Connection refused for the request 'https://vscode-sync.trafficmanager.net/v1/resource/settings/latest'.
    at f.request (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:145584)
    at async f.read (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:142015)
    at async getRemoteUserData (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:31064)
    at async getRemoteUserDataSyncConfiguration (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:70341)
    at async t.getUserDataSyncConfiguration (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:132303)
    at async t.getPreviews (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:83:131871)
[2022-09-06 11:18:51.010] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/resource/keybindings
[2022-09-06 11:18:51.045] [settingssync] [info] Did reset the local sync state.
[2022-09-06 11:18:59.862] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/resource/snippets

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.71.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Typo on my side, I am on the latest version, thanks bot :)

I'm having the same issue. trying to sync settings to a new laptop
[2022-10-17 11:27:12.499] [settingssync] [info] Using settings sync service https://vscode-sync.trafficmanager.net/
[2022-10-17 11:27:12.499] [settingssync] [info] Auto Sync is disabled.
[2022-10-17 11:29:05.220] [settingssync] [info] Sync started.
[2022-10-17 11:29:05.366] [settingssync] [info] Did reset the local sync state.
[2022-10-17 11:29:05.375] [settingssync] [info] Settings: Not synced yet. Last sync resource does not exist.
[2022-10-17 11:29:05.712] [settingssync] [info] GlobalState: Not synced yet. Last sync resource does not exist.
[2022-10-17 11:30:47.498] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/resource/settings/latest
[2022-10-17 11:38:42.610] [settingssync] [info] GlobalState: Not synced yet. Last sync resource does not exist.
[2022-10-17 11:38:44.595] [settingssync] [info] Settings: Not synced yet. Last sync resource does not exist.
[2022-10-17 11:38:44.705] [settingssync] [info] Settings: Not synced yet. Last sync resource does not exist.

@lszomoru I'm guessing these failures might actually be related to the server slowdowns we were looking into last week

I've seen some 412's today and a lot of other service outages today. It's been a weird day between machines with out of sync settings.

@Tyriar, that is possible though in order to be sure we would need an "ExecutionId" in order to look up the sync execution in the telemetry. @mindflux, would you be able to enable trace logging in VS Code and share the contents of the "Settings Sync" output so that we can correlate the client side telemetry with the service side telemetry? Thank you!

Experiencing the same thing again tonight.
[2022-10-19 20:20:51.765] [settingssync] [info] Using settings sync service https://vscode-sync.trafficmanager.net/ [2022-10-19 20:20:51.765] [settingssync] [info] Auto Sync is enabled. [2022-10-19 20:20:51.765] [settingssync] [info] Auto Sync: Suspended until auth token is available. [2022-10-19 20:21:02.615] [settingssync] [info] Auto Sync: Triggered by Interval [2022-10-19 20:21:02.615] [settingssync] [info] Sync started. [2022-10-19 20:21:02.615] [settingssync] [trace] Sending request to server {"url":"https://vscode-sync.trafficmanager.net/v1/manifest","type":"GET","headers":{"X-Execution-Id":"e729eb31-c66f-451b-94f3-b2d0ce04ff70","Content-Type":"application/json","X-Client-Name":"code","X-Client-Version":"1.72.2","X-Client-Commit":"d045a5eda657f4d7b676dedbfa7aab8207f8a075","X-Account-Type":"microsoft","X-Machine-Session-Id":"7964a3e7-3ff8-4865-83ba-f1af14fa019d","X-User-Session-Id":"40733b1e-7210-4a85-978a-edfa880eef73"}} [2022-10-19 20:21:41.804] [settingssync] [trace] activity sources windowFocus [2022-10-19 20:21:41.805] [settingssync] [debug] Auto Sync: Waiting until sync is finished. [2022-10-19 20:23:21.607] [settingssync] [info] Request failed https://vscode-sync.trafficmanager.net/v1/manifest [2022-10-19 20:23:21.608] [settingssync] [error] RequestFailed (UserDataSyncError) syncResource:unknown operationId:unknown: Connection refused for the request 'https://vscode-sync.trafficmanager.net/v1/manifest'.     at y.request (vscode-file://vscode-app/c:/Users/Ryan/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:88:167499)     at async y.manifest (vscode-file://vscode-app/c:/Users/Ryan/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:88:165229)     at async l.createSyncTask (vscode-file://vscode-app/c:/Users/Ryan/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:88:133064)     at async o.doSync (vscode-file://vscode-app/c:/Users/Ryan/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:88:101510) [2022-10-19 20:23:21.608] [settingssync] [error] RequestFailed (UserDataSyncError) syncResource:unknown operationId:unknown: Connection refused for the request 'https://vscode-sync.trafficmanager.net/v1/manifest'.     at y.request (vscode-file://vscode-app/c:/Users/Ryan/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:88:167499)     at async y.manifest (vscode-file://vscode-app/c:/Users/Ryan/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:88:165229)     at async l.createSyncTask (vscode-file://vscode-app/c:/Users/Ryan/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:88:133064)     at async o.doSync (vscode-file://vscode-app/c:/Users/Ryan/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:88:101510) [2022-10-19 20:23:21.609] [settingssync] [info] Auto Sync: Triggered by Activity [2022-10-19 20:23:21.609] [settingssync] [info] Sync started. [2022-10-19 20:23:21.610] [settingssync] [trace] Sending request to server {"url":"https://vscode-sync.trafficmanager.net/v1/manifest","type":"GET","headers":{"X-Execution-Id":"54d404b6-2345-47c6-a74d-f11eb54a24f5","Content-Type":"application/json","X-Client-Name":"code","X-Client-Version":"1.72.2","X-Client-Commit":"d045a5eda657f4d7b676dedbfa7aab8207f8a075","X-Account-Type":"microsoft","X-Machine-Session-Id":"7964a3e7-3ff8-4865-83ba-f1af14fa019d","X-User-Session-Id":"40733b1e-7210-4a85-978a-edfa880eef73"}}

@mindflux, sorry for not getting back to you on this until now. We believe that we have understood the issue that was causing service availability issues and put mitigations in place to avoid it in the future. Have you been seeing similar errors in the last 7 days? Thank you!

@mindflux, sorry for not getting back to you on this until now. We believe that we have understood the issue that was causing service availability issues and put mitigations in place to avoid it in the future. Have you been seeing similar errors in the last 7 days? Thank you!

Hey @lszomoru I haven't seen any more errors, but I haven't been paying attention since I haven't experienced weird sync issues between work and home like I was.  Thanks for investigating!

Thanks! Will go ahead and close this issue for now.


Activate environment under raspberry pi fails - gn command not found

Reproduction steps
Build for the Raspi 3B+ Host OS raspbian fails.
When activating the environment I am getting this error

Could you advice what could be wrong?
By the way, I was able to build gn from sources without issues from here
https://gn.googlesource.com/gn/
Platform details

Platform
raspi
Platform Version(s)
No response
Type
Hardware validated
(Optional) If manually tested please explain why this is only manually tested
No response
Anything else?
No response

do not use raspberry debian or else system other than ubuntu22.04, I once used debian for building, and there is no suitable toolchain to build for armlf kernel, you just need to flash into ubuntu22.04 as its kernel type is arm64, and set a good proxy(very important because if not, you will crash anytime while building pigweed etc...), by the way, I am using ubuntu22.04 server lts, it worked fine


Add deck file echo --selector=... command

Various commands in the deck file subcategory use JSON Path selectors to apply transformations to declarative files in a pipeline.  This issue raises a proposal to add a command that will return a value from a selector on STDOUT.  This command can be useful in a few scenarios:

Provide a command that can be used at development time to test the behavior of a given selector
Provide a command that can be used in pipelines to query a file for a value using the same syntax as the rest of the pipeline. This could be useful to populate an env var or feed into a --value parameter in a subsequent command.

Suggested syntax:
deck file echo --selector "$..key" --format yaml|json -n

print or echo verbs could be chosen.
-n will append a new line to the returned value, otherwise no newline character is added
The command should fail (return non-zero exit code) if the selector returns no value so that users can easily determine empty values vs "missed selectors" as well as break pipelines if queries fail.

how about deck file select "$..key1" "$..key2"

-s, --state string file to read from, default "-" (stdin)
-o, --output-file string to specify an output file, default "-" (stdout)
--format string output format to specify json/yaml
--allow-empty to not fail on an empty selection (output becomes an empty array)

what's the use of the -n? yaml is always multi-line, so does it matter to have one more or less?

what's the use of the -n?

I missed that the output options should include text only (non-structured values) for selecting down to a single value to pass into subsequent commands or variables.   Maybe that can be automatic based on the selector results. It's similar to bash echo which provides a new line by default but often needs to be suppressed. We can match the behavior of echo if we want.
I'm indifferent on the select verb.  If we allow multiple selectors we'll need to design outputting multiple values in a helpful way.  I'm not sure it's necessary to support multiple personally.

That makes sense.
A selector always returns an array. So individual values to be returned needs some extra flags to specify then.
if a selector returns:
[
  "hello"
]

How would the command know to output hello over ["hello"] ?
Adding a flag --single or --first to return the first entry, then what would the behaviour be if there is more than 1 entry in the selector result?


add speechInProgress context key for keybinding reuse

fix #203197

fyi, renamed the context to make it more specific to speech-to-text


HeatmapLyaer: set point size to address ANGLE bug

possible fix for #3554
More details: https://bugs.chromium.org/p/angleproject/issues/detail?id=3941

Background

Change List

Coverage remained the same at 82.612% when pulling 3e7b3bbbfb03851e6109c4a973d45d739726ab07 on HeatmapLayerPointSize into 39524c39aa9d3f23bc7fb7223c77921fb4f29a0e on master.


Need to update to Node 16

Do the checklist before filing an issue:

[x] Is this related to the actions-rs Actions?
If you think it's a problem related to Github Actions in general, use GitHub Community forum instead: https://github.community
[x] You've read the Contributing section about bugs reporting: https://github.com/actions-rs/.github/blob/master/CONTRIBUTING.md#reporting-bugs
[ ] Is this something you can debug and fix? Send a pull request! Bug fixes and documentation fixes are welcome.

Description
I'm seeing the following warning in my CI:

Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions-rs/clippy-check

Expected behavior
Expected no warnings :)
Additional context
I'm assuming this line simply needs to be updated, but I'm not sure if there are any risks with doing so.

Will be fixed by #168 (there's no telling when it will be merged, though)

@svartalf any chance this can be updated?

In case anyone's interested, I forked this Action and published a working version that uses node16: clechasseur/rs-clippy-check.


YouTube Music Playlists don't show up

What version of Music Assistant has the issue?
2022.7.b5
The problem
When I navigate to the playlists section under youtube music, the playlists never load, it shows the loading bar forever and I get the following error in the logs:
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/config/custom_components/mass/websockets.py", line 106, in async_get_mass_func
    await orig_func(hass, connection, msg, mass)
  File "/config/custom_components/mass/websockets.py", line 856, in websocket_browse
    result = await mass.music.browse(msg.get(URI))
  File "/usr/local/lib/python3.10/site-packages/music_assistant/controllers/music/__init__.py", line 209, in browse
    return await prov.browse(path)
  File "/usr/local/lib/python3.10/site-packages/music_assistant/models/music_provider.py", line 273, in browse
    return [x async for x in self.get_library_playlists()]
  File "/usr/local/lib/python3.10/site-packages/music_assistant/models/music_provider.py", line 273, in
    return [x async for x in self.get_library_playlists()]
  File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/ytmusic.py", line 134, in get_library_playlists
    playlists_obj = await get_library_playlists(headers=self._headers)
  File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/helpers.py", line 125, in get_library_playlists
    return await loop.run_in_executor(None, _get_library_playlists)
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/helpers.py", line 117, in _get_library_playlists
    playlists = ytm.get_library_playlists(limit=9999)
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/mixins/library.py", line 32, in get_library_playlists
    playlists = parse_content_list(results['items'][1:], parse_playlist)
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/browsing.py", line 158, in parse_content_list
    search_results.append(search_result)
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/browsing.py", line 196, in parse_playlist
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/utils.py", line 155, in nav
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/utils.py", line 149, in nav
KeyError: 'runs'

How to reproduce
Navigate to the playlist section under youtube music
Relevant log output
2022-07-14 11:24:57 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140717956706512] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
await func(hass, connection, msg)
File "/config/custom_components/mass/websockets.py", line 106, in async_get_mass_func
await orig_func(hass, connection, msg, mass)
File "/config/custom_components/mass/websockets.py", line 856, in websocket_browse
result = await mass.music.browse(msg.get(URI))
File "/usr/local/lib/python3.10/site-packages/music_assistant/controllers/music/init.py", line 209, in browse
return await prov.browse(path)
File "/usr/local/lib/python3.10/site-packages/music_assistant/models/music_provider.py", line 273, in browse
return [x async for x in self.get_library_playlists()]
File "/usr/local/lib/python3.10/site-packages/music_assistant/models/music_provider.py", line 273, in
return [x async for x in self.get_library_playlists()]
File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/ytmusic.py", line 134, in get_library_playlists
playlists_obj = await get_library_playlists(headers=self._headers)
File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/helpers.py", line 125, in get_library_playlists
return await loop.run_in_executor(None, _get_library_playlists)
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/helpers.py", line 117, in _get_library_playlists
playlists = ytm.get_library_playlists(limit=9999)
File "/usr/local/lib/python3.10/site-packages/ytmusicapi/mixins/library.py", line 32, in get_library_playlists
playlists = parse_content_list(results['items'][1:], parse_playlist)
File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/browsing.py", line 158, in parse_content_list
search_results.append(search_result)
File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/browsing.py", line 196, in parse_playlist
File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/utils.py", line 155, in nav
File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/utils.py", line 149, in nav
KeyError: 'runs'
Additional information
No response
What version of Home Assistant Core are your running
2022.7.0
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Linux

So I think I figured out what is wrong. Looking at the log, you are using a (very) old version of an underlying ytmusicapi library that is not supported with Music Assistant. You probably have installed the other YT Music custom component by KoljaWindeler, which for some reason causes a library collision.
This shouldn't be possible, so I am wondering whether you installed the component manually or via HACS?
To fix this issue:

Uninstall Youtube Music Player
Uninstall Music Assistant
Reboot HA
Install Music Assistant via HACS

Thanks for the response, however , it doesn't seem to be working still after removing all traces of the previous ytmusicapi from HA. Now when I click on "Browse" then "YouTube Music", nothing happens, it just stays on the same screen.
When I click "Playlists" from the main screen nothing happens. The other categories are populated with items though.
I also don't get anymore error logs. I tried to change the logging to debug but it doesn't show anything else for when I try to go into playlists.
Is there any logs that I can capture that might help?

Thanks for the response, however , it doesn't seem to be working still after removing all traces of the previous ytmusicapi from HA. Now when I click on "Browse" then "YouTube Music", nothing happens, it just stays on the same screen. When I click "Playlists" from the main screen it says "No items found.". The other categories are populated with items though.
I also don't get anymore error logs. I tried to change the logging to debug but it doesn't show anything else for when I try to go into playlists.
service: logger.set_level
data:
  music_assistant: debug

Is there any logs that I can capture that might help?

The ID of Music Asssitant is mass, so you would have to call it like this to get the debug logs:
service: logger.set_level
data:
  custom_components.mass: debug

or update the logger section of your configuration.yaml:
---
logger:
  default: error
  logs:
    custom_components.mass: debug

One more question, did you install Music Assistant via HACS?

Yes I installed Music Assistant via HACS.
I may have originally installed YT Music custom component outside of HACS and then later added via HACS. However I have removed all the files related to the YT Music custom component I can find.
I don't see any additional logs related to the playlists (only additional logs after clicking an album or artist) after changing the logger.set_level as you show above.

@rjgrandy
Can you please check if this issue still persists in the latest beta 8? Browsing YS playlist works fine for me.

@erkr
Yes I still get the same error when I go to the browse - playlists area. I do have another error when I do a force full sync, perhaps that would help?
The 2 errors are:
Browse - Playlists
2022-07-21 11:00:47 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139644981034336] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/config/custom_components/mass/websockets.py", line 111, in async_get_mass_func
    await orig_func(hass, connection, msg, mass)
  File "/config/custom_components/mass/websockets.py", line 894, in websocket_browse
    await mass.music.browse(msg.get("path")),
  File "/usr/local/lib/python3.10/site-packages/music_assistant/controllers/music/__init__.py", line 218, in browse
    return await prov.browse(path)
  File "/usr/local/lib/python3.10/site-packages/music_assistant/models/music_provider.py", line 370, in browse
    items=[x async for x in self.get_library_playlists()],
  File "/usr/local/lib/python3.10/site-packages/music_assistant/models/music_provider.py", line 370, in
    items=[x async for x in self.get_library_playlists()],
  File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/ytmusic.py", line 154, in get_library_playlists
    playlists_obj = await get_library_playlists(
  File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/helpers.py", line 135, in get_library_playlists
    return await loop.run_in_executor(None, _get_library_playlists)
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/helpers.py", line 126, in _get_library_playlists
    playlists = ytm.get_library_playlists(limit=9999)
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/mixins/library.py", line 32, in get_library_playlists
    playlists = parse_content_list(results['items'][1:], parse_playlist)
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/browsing.py", line 195, in parse_content_list
    contents.append(parse_func(result[key]))
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/browsing.py", line 267, in parse_playlist
    'title': nav(data, TITLE_TEXT),
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/navigation.py", line 72, in nav
    raise err
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/navigation.py", line 66, in nav
    root = root[k]
KeyError: 'runs'

Force Full Sync
2022-07-21 11:01:42 ERROR (MainThread) [music_assistant] Job [Library sync for provider Youtube Music] failed with error 'runs'.
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/music_assistant/models/music_provider.py", line 398, in sync_library
    async for prov_item in self._get_library_gen(media_type)():
  File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/ytmusic.py", line 154, in get_library_playlists
    playlists_obj = await get_library_playlists(
  File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/helpers.py", line 135, in get_library_playlists
    return await loop.run_in_executor(None, _get_library_playlists)
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.10/site-packages/music_assistant/music_providers/ytmusic/helpers.py", line 126, in _get_library_playlists
    playlists = ytm.get_library_playlists(limit=9999)
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/mixins/library.py", line 32, in get_library_playlists
    playlists = parse_content_list(results['items'][1:], parse_playlist)
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/browsing.py", line 195, in parse_content_list
    contents.append(parse_func(result[key]))
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/parsers/browsing.py", line 267, in parse_playlist
    'title': nav(data, TITLE_TEXT),
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/navigation.py", line 72, in nav
    raise err
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/navigation.py", line 66, in nav
    root = root[k]
KeyError: 'runs'
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/navigation.py", line 72, in nav
    raise err
  File "/usr/local/lib/python3.10/site-packages/ytmusicapi/navigation.py", line 66, in nav
    root = root[k]
KeyError: 'runs'

Thanks, we keep this issue open then!

@MarvinSchenkel Is there any other things I can do or provide to help debug this?

It looks like you have an exotic playlist in your library. Looking at the logs you provided, it looks like you have a playlist without a title in your library. Could you maybe go to https://music.youtube.com/library/playlists and see if you see any strange playlists? If not, please include a screenshot of your playlists so I can have a look as well.

That was it! There was an unnamed Playlist with 0 items. Once I deleted it, the Playlist started showing up. Thanks

@MarvinSchenkel I apologize in advance for posting to a closed issue but my issue is so similar that I hope this makes it a little easier.  I do not have an exotic name in my playlist, but I cannot get the playlist for YTM to load in Music Assistant. I am running version 2022.8.1 of MA and 22.8.2 of HA. Configuration is correct I think because if I go to the Media tab and select a player (output device) I can see Music Assistant as an option for the input.  When I select MA as the input I can see the playlist, albums, artists, etc from YTM in Media.  However, nothing will show in MA and the playlist, album, artist is grayed out.  I came to this issue because I also had previously installed the other YT Music custom component by KoljaWindeler, which I removed following the procedure above in this thread.  Perhaps there is still a library I need to remove.  Any help would be very appreciated and again I apologize if I should not have posted into a closed issue.

Hey! No problem at all, we're happy to help out. Could you please check the log to see if you encounter any errors that might shine some light on the problem?


Use for Gas-Meter

Hello
In Germany many of the gas meters are non electric but emmit a magnetic impuls e.g 1x per 1/10 m³.
I replaced the board with the sensitive LED by a magnetic switch (KY-021 mini) and foud that it can be triggert by a magnet in the same way (like with the LED).
Cannot test it at the moment because our gas heating is not running yet - but will try to test A.S.A.P.
May be there could be a Gas-spinn-off with m³ and names according to that new GAS function.

Sounds interesting and a good way of getting total household energy by measuring both electricity and gas. Not sure about the regulations regarding attaching a sensor to a gas meter though. Here in the UK, when Sky run a satellite cable through our gas meter box the gas authority made them remove it.

In Germany there are magnetic sensors sold for the gas meters for ~70€ (the model I have) for ~70€.
So I am not too concerned (and usually the meters are only visited all 3..5 years -inbetween its self reading)

I just finished my sensor for gas meter so I can share my experience.
I used this sensor from local supplier, because I grew too impatient waiting for KY-021 from AliExpress. Both should work the same.
Positioning for the sensor proved to be somewhat tricky on my meter, but the only real issue was debouncing the reed switch. ESP32 allows up to 13us on internal_filter in pulse_meter and this is not enough - I got 3-4 times more readings than I should. I found the solution in this issue and it worked great.
Reed switch D0 pin is connected to pin 23 on ESP32 and configured as binary_switch. This switch is used to generate a short pulse on pin 22, which is physically connected to pin 21. pulse_meter uses that pin as input, instead of directly relying on input from reed switch.
So far I got perfect readings.
Here is my config
substitutions:
  device_name: burn
  device_description: "Measure your natural gas consumption with the magnetic pulse of your meter."
  friendly_name: Burn
  pulse_pin: GPIO23
  output_pin: GPIO22
  input_pin: GPIO21
  pulse_rate: '100' # imp/m³

esphome:
  name: '${device_name}'
  comment: '${device_description}'
  platform: ESP32
  board: nodemcu-32s

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

logger:

ota:
  password: !secret password

api:

text_sensor:
  - platform: version
    name: "${friendly_name} - ESPHome Version"
    hide_timestamp: true

# Connected directly to input pin used in pulse counter.
output:
  - platform: gpio
    id: gpio_output
    pin:
      number: ${output_pin}

# Used for debouncing reed switch.
binary_sensor:
  - platform: gpio
    name: "${friendly_name} - Pulse input"
    internal: true
    pin:
      number: ${pulse_pin}
      mode: INPUT_PULLUP
    filters:
      - delayed_on: 500ms
      - delayed_off: 500ms
    on_press:
      then:
        - output.turn_on: gpio_output
        - delay: 10ms
        - output.turn_off: gpio_output

sensor:
  - platform: pulse_meter
    name: '${friendly_name} - Gas consumption'
    internal: true
    pin:
      number: ${input_pin}
      mode: INPUT_PULLUP
    internal_filter: 13us # 13us is a limit for ESP32.
    total:
      name: '${friendly_name} - Total gas consumptiom'
      unit_of_measurement: 'm³'
      last_reset_type: auto
      state_class: measurement
      device_class: gas
      accuracy_decimals: 2
      filters:
        - lambda: return x * (1.0 / ${pulse_rate});

It ain't pretty, but it works. The transparent "stuff" inside sensor enclosure is hot glue, to keep it in place.

 pulse_pin: GPIO23

Hi, could you please send me a simple wiring diagram. Somehow I can't orient myself in that. And English is not my friend. Thanks

Thanks for the code, which I was using since me reed switch on the gasmeter always was far off. Unfortunately the situation didn't change. I still have about twice as much reading as there is actually gas being used. Do you have an idea what might be causing this and how to get is fixed? Already played with the filtered times but nothing changed. It's also a German gasmeter with their official reed switch probably similar to what you have... I have a fuelcell heating system so this gives me the measured values as well (but only through their cloud system which I prefer not to use if there are other "offline" options) and they are more or less half of the measured values from the reed switch according to their app.

Hello In Germany many of the gas meters are non electric but emmit a magnetic impuls e.g 1x per 1/10 m³. I replaced the board with the sensitive LED by a magnetic switch (KY-021 mini) and foud that it can be triggert by a magnet in the same way (like with the LED).
Cannot test it at the moment because our gas heating is not running yet - but will try to test A.S.A.P.
May be there could be a Gas-spinn-off with m³ and names according to that new GAS function.

Hi,
what about just using Xiaomi Aqara door sensor MCCGQ14LM to detect magnetic impulse?
Btw I've seen two cool use cases for the Xiaomi Aqara door sensors:

Chair occupancy sensor,
Rain gauge.

Best,
Viv

I just finished my sensor for gas meter so I can share my experience.
I used this sensor from local supplier, because I grew too impatient waiting for KY-021 from AliExpress. Both should work the same.
Positioning for the sensor proved to be somewhat tricky on my meter, but the only real issue was debouncing the reed switch. ESP32 allows up to 13us on internal_filter in pulse_meter and this is not enough - I got 3-4 times more readings than I should. I found the solution in this issue and it worked great.
Reed switch D0 pin is connected to pin 23 on ESP32 and configured as binary_switch. This switch is used to generate a short pulse on pin 22, which is physically connected to pin 21. pulse_meter uses that pin as input, instead of directly relying on input from reed switch.
So far I got perfect readings.
Here is my config
substitutions:
  device_name: burn
  device_description: "Measure your natural gas consumption with the magnetic pulse of your meter."
  friendly_name: Burn
  pulse_pin: GPIO23
  output_pin: GPIO22
  input_pin: GPIO21
  pulse_rate: '100' # imp/m³

esphome:
  name: '${device_name}'
  comment: '${device_description}'
  platform: ESP32
  board: nodemcu-32s

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

logger:

ota:
  password: !secret password

api:

text_sensor:
  - platform: version
    name: "${friendly_name} - ESPHome Version"
    hide_timestamp: true

# Connected directly to input pin used in pulse counter.
output:
  - platform: gpio
    id: gpio_output
    pin:
      number: ${output_pin}

# Used for debouncing reed switch.
binary_sensor:
  - platform: gpio
    name: "${friendly_name} - Pulse input"
    internal: true
    pin:
      number: ${pulse_pin}
      mode: INPUT_PULLUP
    filters:
      - delayed_on: 500ms
      - delayed_off: 500ms
    on_press:
      then:
        - output.turn_on: gpio_output
        - delay: 10ms
        - output.turn_off: gpio_output

sensor:
  - platform: pulse_meter
    name: '${friendly_name} - Gas consumption'
    pin:
      number: ${input_pin}
      mode: INPUT_PULLUP
    internal_filter: 13us # max for ESP32
    state_class: measurement
    device_class: gas
    unit_of_measurement: 'm³/h'
    icon: mdi:fire
    accuracy_decimals: 2
    filters:
      - lambda: return x * (1.0 / ${pulse_rate}) * 60;
    total:
      name: '${friendly_name} - Total gas'
      state_class: measurement
      device_class: gas
      unit_of_measurement: 'm³'
      last_reset_type: auto
      accuracy_decimals: 2
      filters:
        - lambda: return x * (1.0 / ${pulse_rate});

It ain't pretty, but it works. Sensor enclosure is filled with hot glue to keep things from moving.

By any chance, you are still using this ? Cannot get this working, it counts 2-4 x more consumption...

@landmaj  are you ussing magnetic/metal ring to attach the enclosure? What exactly did you used?

I can confirm https://github.com/klaasnicolaas/home-assistant-glow/issues/42#issuecomment-919534019 with the dummy binary_sensor, dummy output and the cable between the both is working. Nice would be a built-in solution for this use case.


Invert Filter on Preload to Ensure Appropriate Nodes are Preloaded

Prior to a more functional approach to preloading being adopted in #312, the "filter" that was being applied was used to continue within a loop. However, now that we're filtering in an iterator, the check should be inverted such that we continue iterating over the appropriate nodes.

[x] Manually test to verify that preload is preloading more than one value

[x] Add unit tests to catch this case

Just checking, is this #318?

Just checking, is this #318?

Yes, yes it is! Let me take that issue and link this.

Change looks fine, but it'd be good to cover it with a test prior to merging. Thanks!

Change looks fine, but it'd be good to cover it with a test prior to merging. Thanks!

Test has been added! There are two commits as part of this PR. The first introduces a failing test (disabled for CI purposes) to demonstrate the bug. The second then fixes the bug and enables the test to verify that preload is loading up the expected value.


Subscriber etcd

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@d1229e5). Click here to learn what that means.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master     #122   +/-   ##
=========================================
  Coverage          ?   74.28%
=========================================
  Files             ?      103
  Lines             ?    15089
  Branches          ?        0
=========================================
  Hits              ?    11209
  Misses            ?     3022
  Partials          ?      858

Impacted Files
Coverage Δ

subscriber/config/service_config.go
81.81% <ø> (ø)

subscriber/common/job/controller.go
33.33% <0%> (ø)

Continue to review full report at Codecov.

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


Fix usage of invalid split window

First of all, cool plugin!
I noticed that sometimes when exiting the split window terminal and trying to reopen it I kept getting errors due to the usage of invalid window number. I am not really sure why the WinClosed autocmd wasn't properly clearing split_win, but I opted for an easy fix - instead of tracking the state of split window and clearing split_win when the window closes we now use nvim_win_is_valid whenever we want to check if it is still open. I think that it should be overall more robust approach, at least until now I haven't noticed any issues, but please tell what do you think.

As a little side note, I noticed that you have some code in until.lua that could probably be replaced with neovim builtins, e.g.

M.table_contains -> vim.tbl_contains
M.join -> table.concat (Lua builtin, should be much faster, see the section Avoid string creation)

But I see M.join is not used anywhere anyway. Also, M.remove_item doesn't seem to be removing an item, but it's also never used, so I guess that's not a problem :)

Thanks so much for the PR, and I'm glad you like it!
I am able to reproduce! Seems if you open the split window then close it with :q then try to reopen it'll exhibit that invalid window bug, though if closed with the toggle split function it works fine. I'm also not sure why the autocmd wasn't working but I like your solution better.
Thanks for all the tips! I did find vim.tbl_contains at some point but forgot to refactor that out.

Also, M.remove_item doesn't seem to be removing an item, but it's also never used, so I guess that's not a problem :)

Oh wow what a mistake, yeah that's exactly the opposite of what I wanted.
I did at some point discover table.concat and it threw me for a loop considering Javascript's array concat function is completely different but I had tried using it the same and it obviously blew up on me lol.
Yeah I had a few util functions that I had used but then apparently stopped using along the way, I will definitely clean those up some more when I have some time this weekend! Thanks!


Cleanup backports since we are now Python 3.x+ only

Can we really replace our lrucache with the built-in one? The one we have has a comment that says that it's modified to make it more performant.

Can we really replace our lrucache with the built-in one? The one we have has a comment that says that it's modified to make it more performant.

As far as I know, lru_cache has had a C implementation since at least python 3.7. I've done a few tests of my own, and functools.lru_cache seems to be at least 3x faster than rez.backport.lru_cache.lru_cache.

Do you think this is a good place to also tackle enum ?

Can we really replace our lrucache with the built-in one? The one we have has a comment that says that it's modified to make it more performant.

As far as I know, lru_cache has had a C implementation since at least python 3.7. I've done a few tests of my own, and functools.lru_cache seems to be at least 3x faster than rez.backport.lru_cache.lru_cache with python 3.11.

Can you share the code you used to run your benchmark? We can also run rez's own benchmark (because yes we have benchmarks).

Do you think this is a good place to also tackle enum
@predat enum should go in another PR IMO.

Can you share the code you used to run your benchmark? We can also run rez's own benchmark (because yes we have benchmarks).

@lru_cache(maxsize=1000)
def fib(n):
    return 1 if n in (0, 1) else fib(n - 1) + fib(n - 2)

with from rez.backport.lru_cache import lru_cache:
python -m timeit -s 'from fib import fib' 'fib(495)'
5000000 loops, best of 5: 53.9 nsec per loop

with from functools import lru_cache:
python -m timeit -s 'from fib import fib' 'fib(495)'
500000 loops, best of 5: 860 nsec per loop

Restored rez/backport/ordereddict.py  so it can still be used the src/rez/vendor/pyparsing/pyparsing.py vendor file. 👍

@JeanChristopheMorinPerso Notes addressed 👍


Issue with example code in Patch statement

The provided example code does not seem to work. As already mentioned in the limitation, tables have to accessed using the @ operator,
Patch(Faxes,
Collect(Faxes, { Subject : "Sub1" } ),
{ Regarding : First(Accounts) }
)
Faxes here need to be likely replaced by [@Faxes]

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

ID: 6dc051e7-945b-0af9-1304-d3c0531fbbff
Version Independent ID: 6dc051e7-945b-0af9-1304-d3c0531fbbff
Content: Use Dataverse low-code plug-ins - Power Apps
Content Source: powerapps-docs/maker/data-platform/low-code-plug-ins.md
Service: powerapps
Sub-service: dataverse-maker
GitHub Login: @Mattp123
Microsoft Alias: matp

Thanks for your comment, @debajdu. This issue has been assigned to the doc author for review.

@debajdu - The @ operator is only required for automated plug-ins as the formula sample works for instance plug-ins. I've added the following sentence to the limitation:
If you're creating an automated plug-in, prepend @ to each table referenced in the Power Fx formula.
Closing issue.


Enable encryption for lambda environment variables

Feature or Bugfix

Bugfix

Detail

The environment variables for the lambda functions are not encrypted in cdk which are identified by checkov scans. This fix is to enable kms encryption for the lambda environment variables.

Relates

Security
Please answer the questions below briefly where applicable, or write N/A. Based on
OWASP 10.

Does this PR introduce or modify any input fields or queries - this includes
fetching data from storage outside the application (e.g. a database, an S3 bucket)? N/A

Is the input sanitized? N/A
What precautions are you taking before deserializing the data you consume? N/A
Is injection prevented by parametrizing queries? N/A
Have you ensured no eval or similar functions are used? N/A

Does this PR introduce any functionality or component that requires authorization? N/A

How have you ensured it respects the existing AuthN/AuthZ mechanisms? N/A
Are you logging failed auth attempts? N/A

Are you using or adding any cryptographic features? N/A

Do you use a standard proven implementations? N/A
Are the used keys controlled by the customer? Where are they stored? the KMS keys are generated by cdk and are used to encrypt the environment variables for all lambda functions in the lambda-api stack

Are you introducing any new policies/roles/users? - N/A

Have you used the least-privilege principle? How? N/A

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@dlpzx i have one more lambda (custom authorizer) in this same stack that i need to enable encryption, could you let me know if i can add to the same PR?


[3.x] Properly clean button_add_item ref in Dict property editor

Fixes #61186
The issue is the same as #59152 on master, so backporting the fix.
p.s. The array property editor does not have the add element button on 3.x.

There's another:
		if (vbox) {
			set_bottom_editor(nullptr);
			memdelete(vbox);
			vbox = nullptr;
		}

Thanks!


Do not call Random for singletone lists

There is no need to call random to pick a random element from list in case there is less than 2 elements

Codecov Report

Merging #564 (ea661bc) into main (77806d3) will decrease coverage by 0.48%.
The diff coverage is 56.25%.

@@             Coverage Diff              @@
##               main     #564      +/-   ##
============================================
- Coverage     92.68%   92.20%   -0.49%
+ Complexity     2412     2403       -9
============================================
  Files           250      250
  Lines          5047     5055       +8
  Branches        543      546       +3
============================================
- Hits           4678     4661      -17
- Misses          241      258      +17
- Partials        128      136       +8

Impacted Files
Coverage Δ

.../java/net/datafaker/service/FakeValuesService.java
85.86% <56.25%> (-1.46%)
:arrow_down:

.../main/java/net/datafaker/idnumbers/EnIdNumber.java
68.75% <0.00%> (-31.25%)
:arrow_down:

...main/java/net/datafaker/providers/base/Domain.java
82.60% <0.00%> (-17.40%)
:arrow_down:

...ker/idnumbers/pt/br/IdNumberGeneratorPtBrUtil.java
92.59% <0.00%> (-3.71%)
:arrow_down:

.../main/java/net/datafaker/service/FakerContext.java
89.74% <0.00%> (-2.57%)
:arrow_down:

...rc/main/java/net/datafaker/service/FakeValues.java
80.85% <0.00%> (-2.13%)
:arrow_down:

...c/main/java/net/datafaker/providers/base/Text.java
77.96% <0.00%> (-0.85%)
:arrow_down:

.../datafaker/transformations/sql/SqlTransformer.java
87.40% <0.00%> (-0.75%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


CoolkIt: Announcement regarding the expiration of the APPID referenced in this project and the cessation of maintenance of the v1 interface, suggesting migration

Hi, Dear users of this project:
I am a technician at CoolKit, and our server has received a large number of requests from this project.
We have found that many users use the default personal APPID configuration parameters, and since this project is still using the v1 interface that has stopped maintenance, this will cause many problems.
To avoid potential interface security risks, we will phase out the v1 interface and make it completely unavailable in the future.
We have supported individual users to use eWeLink Developer Center for free: https://dev.ewelink.cc/ create an application and obtain your own APPID, which can be used continuously within a reasonable range.
And I have noticed that many users have reported that they cannot use certain features of this project because it has been out of maintenance for 3 years and can be used by everyone https://www.npmjs.com/package/ewelink-api-next，This library uses the v2 interface and has completed all open v2 interface encapsulation, providing local area network discovery, control, and support to achieve bidirectional communication with devices by establishing websocket connections, and receiving real-time reporting information from devices.

Hi carl
Thanks for the information.
We are facing a problem with my own APPID  as https://github.com/skydiver/ewelink-api/issues/220#issuecomment-1676312471
Please tell us how to solve the error that appears when setDevice method.

This is an example of eWeLink OAuth2.0 login：https://github.com/coolkit-carl/eWeLinkOAuthLoginDemo

@coolkit-carl This new library its broken : Error [ERR_REQUIRE_ESM]: require() of ES Module!!

Did you miss this bit in the readme?

I know that, but at the moment I can't use type module;

The 1.0.2 to be released supports CommonJS. I need some time for a complete test. If you are willing to try it out,
You can add https://github.com/coolkit-carl/ewelink-api-next/tree/main/dist These four files add https://github.com/coolkit-carl/ewelink-api-next/blob/main/package.json Copy this file to your node_ In modules, delete the content from the previous 'dist'.

Then you can use it, like this:
const eWeLink = require('ewelink-api-next').default

const client = new eWeLink.WebAPI({
    appId: 'xxx',
    appSecret: 'xxx',
    region: 'eu',
    logObj: eWeLink.createLogger('eu'),
  })

;(async () => {
  let response = await client.user.login({
    account: 'xxx',
    password: 'xxx',
    areaCode: '+1',
  })
  console.info(JSON.stringify(response))
})()

Hi,
As a skilled back end developer, I have a rich experience in API development using node.js.
I saw your job post in upwork.
I wanna work with you.
Please contact me.
Thank you.


Feature Request: Allow selection of multiple concurrent logging drivers.

What kind of request is this (question/bug/enhancement/feature request):
Feature Request

The need for this functionality is based on a requirement that all K8S cluster logs be sent to a specific logging system for archival and use in compliance auditing.  This logging system is not what would be used for "generic" K8S logging, or what would be used by various dev/admin/etc teams for troubleshooting.

Some teams already have an existing logging system and just want us to send logs to that system instead of using our logging system, but we need to get the logs into our logging system as well.

The request is to allow the selection of multiple logging driver output at both the cluster and/or project level logging -
Example -
At the cluster level, select Splunk as logging driver, input HEC endpoint info, add custom fields, etc. Save config.  This would be the auditing and compliance log archive.
While still in the cluster level logging, let me add another logging driver of my choosing (this could be another instance of the same log driver, or a new instance of a different log driver). This logging driver will be for more filtered log ingestion to a separate logging system used by various teams for troubleshooting, reporting, etc.
The same criteria applies to Project level logging.
gz#4261

With logging v2 introduced in rancher 2.5, you can configure multiple logging sources with the Logging resource.
https://rancher.com/docs/rancher/v2.x/en/logging/v2.5/
https://banzaicloud.com/docs/one-eye/logging-operator/configuration/logging/


modify input shape from [?,?,?,3] to [1,640,640,3]

This template is for miscellaneous issues not covered by the other issue categories.
For questions on how to work with TensorFlow, or support for problems that are not verified bugs in TensorFlow, please go to StackOverflow.
If you are reporting a vulnerability, please use the dedicated reporting process.
For high-level discussions about TensorFlow, please post to<EMAIL_ADDRESS>for questions about the development or internal workings of TensorFlow, or if you would like to know how to contribute to TensorFlow, please post to<EMAIL_ADDRESS>hello, everyone.
I am using tensorflow.contrib.graph_editor to modify my SSD model. In fact, my model has input shape [?,?,?,3], so many nodes in the graph may not have exact shapes, such as [?,?,?,32] and [?,?,?,64]. So i want to use 'swap_inputs' to swap a new node whose shape is [1,640,640,3] with the input node whose shape is [?,?,?,3]. So how could the change affect all the nodes in the graph whose shape are not exact?

@hnuhchen,
If you are looking to change the input layer for your model you can check out this StackOverflow comment on a similar issue.
Also, please fill in the issue template along with a minimal reproducible code in order to expedite the trouble-shooting process.
Thanks!

Any updates regarding this issue? Thanks!

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Compilation Errors for tcod-rs-based Project on x86_64-pc-windows-gnu

I'm currently trying to get a project of mine (which uses tcod-rs) to compile on Appveyor with x64_64-pc-windows-gnu.
It works with MSVC.
It compiles fine on GNU as well, but when trying to run doc tests it gives the following error:
    error: linking with `gcc` failed: exit code: 1
    note: "gcc" "-Wl,--enable-long-section-names" "-fno-use-linker-plugin"
    "-Wl,--nxcompat" "-nostdlib" "-m64" "C:\\Program Files
    (x86)\\Rust\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\crt2.o" "C:\\Program
    Files (x86)\\Rust\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsbegin.o" "-L"
    "C:\\Program Files (x86)\\Rust\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib"
    "C:\\Users\\appveyor\\AppData\\Local\\Temp\\1\\rustdoctest.IFn9rfSyYfPq\\rust_out.0.o"
    "-o"
    "C:\\Users\\appveyor\\AppData\\Local\\Temp\\1\\rustdoctest.IFn9rfSyYfPq\\rust_out.exe"
    "-Wl,--gc-sections" "-nodefaultlibs" "-L"
    "C:\\projects\\tcod-window\\target\\debug\\deps" "-L"
    "C:\\projects\\tcod-window\\target\\debug" "-L"
    "C:\\projects\\tcod-window\\target\\debug\\build\\tcod-sys-621017da41165f97\\out"
    "-L" "C:\\Program Files (x86)\\Rust\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib"
    "-Wl,-Bstatic" "-Wl,-Bdynamic"
    "C:\\projects\\tcod-window\\target\\debug\\libtcod_window.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libtcod-a271f719c3238129.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\liblazy_static-5e6d9f365bf63baa.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libtcod_sys-67dc38e7808c55ef.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\liblibc-5eb0f3d71076a4bc.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libpiston-5240d76c1091e933.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libevent_loop-57a81c78ae414265.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libtime-71756e48b8b5b73b.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libkernel32-757937e2863677bb.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libwindow-260fa35c785d201b.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libshader_version-9378f7f19a190113.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libinput-0e7fe52cd87fd87a.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\librustc_serialize-3bc953984ed46e7f.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libviewport-5fbc07238cd4e800.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libbitflags-e87d150db0333415.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libfloat-455aab8f72d19c0a.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libbitflags-d88a99e5825ec8bf.rlib"
    "C:\\projects\\tcod-window\\target\\debug\\deps\\libwinapi-42bc588a308ea664.rlib"
    "-L" "C:\\Program Files (x86)\\Rust\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib"
    "-l" "std-cb705824" "-l" "tcod" "-l" "tcod" "-l" "SDL.dll" "-l" "opengl32" "-l"
    "tcod" "-l" "kernel32" "-l" "gcc_eh" "-l" "ws2_32" "-l" "userenv" "-l" "shell32"
    "-l" "advapi32" "-l" "compiler-rt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt"
    "-luser32" "-lkernel32" "C:\\Program Files
    (x86)\\Rust\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsend.o"
    note: ld: cannot find -lSDL.dll

     error: aborting due to previous error

I believe this is due to this line.
Shouldn't it say:
config.flag("-lSDL");

instead of:
config.flag("-lSDL.dll");

If I copy SDL.dll into my project root directory as SDL.dll.dll it compiles fine.

Actually the above is incorrect. It doesn't work if I copy SDL.dll.dll into the project root directory, but it does work if I copy it to C:\Program Files (x86)\Rust\lib\rustlib\x86_64-pc-windows-gnu\lib\SDL.dll.dll.

That's quite strange. Looks like it's not passing the correct -L parameter. I don't see it the output you provided.
Unfortunately, I'm travelling until the end of next week and there won't be a lot of opportunities to have a look at this :-(. I'll have a proper when I get back, sorry!

Alright. For your reference, here is an example failed build.
I've got it working currently with this appveyor.yml. Which hackily fixes the build with this line.
Since it's working, there's no rush on this issue (take your time), but it definitely seems like unintended behaviour.

Hey @indiv0. I'm really sorry this took so long, but I finally got to it and I think I have a fix.
I've cloned your repo and replicated the issue here:
https://ci.appveyor.com/project/tomassedovic/tcod-window/build/1.0.4#L337
And then tested the fix above:
https://ci.appveyor.com/project/tomassedovic/tcod-window/build/1.0.5
So I'm reasonably sure this commit works. Would appreciate if you could confirm it on your side, though. If it's fine, I'll merge it and publish a new release.

No problem.
I've confirmed it works on my end.
Thanks for taking the time!

My pleasure :-). I've released the version 0.10.0 which has the fix. Closing this issue.


HIVE-25414 : Optimise Hive::addWriteNotificationLog: Reduce FS call per notification.

…

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

LGTM. +1


Don't swap cast when it changes comparison semantics

Resolves https://github.com/crate/crate/issues/12135
As bug occurs because of cast optimisation which should not be done in some cases, fixed version will compute correctly but would be expensive.
CREATE TABLE test ( "intcol" INTEGER, "strcol" TEXT)
INSERT INTO test VALUES (1, '1'), (10, '10');

Before
SELECT * FROM test WHERE strCol::bigint > 3;
+--------+--------+
| intcol | strcol |
+--------+--------+
+--------+--------+
SELECT 0 rows in set (0.061 sec) // should be 10 row with 1 as 10 > 3

SELECT * FROM test WHERE intCol::string > '3';
+--------+--------+
| intcol | strcol |
+--------+--------+
|     10 | 10     |
+--------+--------+
SELECT 1 row in set (0.016 sec) // expected no rows as both '1' and '10' alphabetically less than '3'

After
SELECT * FROM test WHERE strCol::bigint > 3;
+--------+--------+
| intcol | strcol |
+--------+--------+
|     10 | 10     |
+--------+--------+

As expected, only 10 > 3.
SELECT * FROM test WHERE intCol::string > '3';
+--------+--------+
| intcol | strcol |
+--------+--------+
+--------+--------+
SELECT 0 rows in set (0.003 sec) // no rows as both '1' and '10' alphabetically less than '3'

Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

Replaced by https://github.com/crate/crate/pull/12155


copy_resources with path containing a directory does not work

If I set
project.get_property('copy_resources_glob').append('conf/app.conf')
Nothing is copied in target directory (even though the file exists)
But
project.get_property('copy_resources_glob').append('test.txt') works properly.
I am testing with windows. I join you a sample project.
Issue.zip
I would like conf/app.conf to be copied in $dir_dist with the same relative path. Would you have a workaround (needs to work on both windows and linux)?

Hi, @pierralex .
Did You try to use pybuilder-smart-copy-resources external plugin? I just do not have time to check Your particular case.
Thank You.

 It sounds exactly like what I was looking for.

@pierralex @AlexeySanko  I tried this but its not working.
Here is the code in build.py
@init
def set_properties(project):
project.set_property("smart_copy_resources_basedir", "src/main/resources")
project.set_property("smart_copy_resources", {
"src/main/resources/*.json": "${dist_dir}"
})
and this is output.
Executing subtask from pybuilder_smart_copy_resources
Copying additional resource files
No files found to copy in smart_copy_resources for pattern: src/main/resources/*.json
.json files exist in the resources folder but still it says no files found.
FYI I am running on windows.
Any idea?

@farooqind @AlexeySanko doesn't maintain his PyB plugins anymore as he's no longer using the project.


Clarify guidance on server-side character limits

Clarify our position on server-side character limits. This change addresses the issue raised here: https://github.com/alphagov/govuk-design-system-backlog/issues/67#issuecomment-428938065

You can preview this change here:
Built with commit 35c86b5d46cc6a947082c9099facac2d59025ea1
https://deploy-preview-585--govuk-design-system-preview.netlify.com


Support canary config check only mode

After adding support for https://github.com/lyft/envoy-api/issues/89, Envoy is now aware of the canary status of an xDS response. Given this, it may be useful to a management server to be able to deliver a canary config, have Envoy determine if it can be applied, but not commit, only performing the dry run while maintaining its existing state.
@rohitbhoj @mattklein123

Added canary field in #105.