[WIP][SPARK-31359][SQL] Speed up timestamps rebasing

What changes were proposed in this pull request?
In the PR, I propose to optimise the DateTimeUtils.rebaseJulianToGregorianMicros() and rebaseGregorianToJulianMicros() functions, and make them faster by using pre-calculated rebasing tables. This approach allows to avoid expensive conversions via local timestamps. For example, the America/Los_Angeles time zone has just a few time points when difference between Proleptic Gregorian calendar and the hybrid calendar (Julian + Gregorian since 1582-10-15) is changed in the time interval 0001-01-01 .. 2100-01-01:

i
local  timestamp
Proleptic Greg. seconds
Hybrid (Julian+Greg) seconds
difference in minutes

0
0001-01-01 00:00
-62135568422
-62135740800
-2872

1
0100-03-01 00:00
-59006333222
-59006419200
-1432

...
...
...
...
...

13
1582-10-15 00:00
-12219264422
-12219264000
7

14
1883-11-18 12:00
-2717640000
-2717640000
0

The difference in microseconds between Proleptic and hybrid calendars for any local timestamp in time intervals [local timestamp(i), local timestamp(i+1)), and for any microseconds in the time interval [Gregorian micros(i), Gregorian micros(i+1)) is the same. In this way, we can rebase an input micros by following the steps:

Look at the table, and find the time interval where the micros falls to
Take the difference between 2 calendars for this time interval
Add the difference to the input micros. The result is rebased microseconds that has the same local timestamp representation.

Here are details of the implementation:

Pre-calculated tables are stored to JSON files gregorian-julian-rebase-micros.json and julian-gregorian-rebase-micros.json in the resource folder of sql/catalyst. The diffs and switch time points are stored as seconds, for example:

[
  {
    "tz" : "America/Los_Angeles",
    "switches" : [ -62135740800, -59006419200, ... , -2717640000 ],
    "diffs" : [ 172378, 85978, ..., 0 ]
  }
]

The JSON files are generated by 2 tests in RebaseDateTimeSuite - generate 'gregorian-julian-rebase-micros.json' and generate 'julian-gregorian-rebase-micros.json'. Both tests are disabled by default.
The switches time points are ordered from old to recent timestamps. This condition is checked by the test validate rebase records in JSON files in RebaseDateTimeSuite. Also sizes of the switches and diffs arrays are the same (this is checked by the same test).

The rebase info from the JSON files is placed to hash tables - gregJulianRebaseMap and julianGregRebaseMap. I use AnyRefMap because it is almost 2 times faster than Scala's immutable Map. Also I tried java.util.HashMap but it has worse lookup time than AnyRefMap in our case.
The hash maps store the switch time points and diffs in microseconds precision to avoid conversions from microseconds to seconds in the runtime.

I moved the code related to days and microseconds rebasing to the separate object RebaseDateTime to do not pollute DateTimeUtils. Tests related to date-time rebasing are moved to RebaseDateTimeSuite for the same reason.

Why are the changes needed?
To make timestamps rebasing faster:

Saving timestamps to parquet files is ~ x3.8 faster
Loading timestamps from parquet files is ~x2.8 faster.
Loading timestamps by Vectorized reader ~x4.6 faster.

Does this PR introduce any user-facing change?
No
How was this patch tested?

Added the test validate rebase records in JSON files to RebaseDateTimeSuite. The test validates 2 json files from the resource folder - gregorian-julian-rebase-micros.json and julian-gregorian-rebase-micros.json, and it checks per each time zone records that

the number of switch points is equal to the number of diffs between calendars. If the numbers are different, this will violate the assumption made in RebaseDateTime.rebaseMicros.
swith points are ordered from old to recent timestamps. This pre-condition is required for linear search in the rebaseMicros function.

Added the test optimization of micros rebasing - Gregorian to Julian to RebaseDateTimeSuite which iterates over timestamps from 0001-01-01 to 2100-01-01 with the steps 1 ± 0.5 months, and checks that optimised function RebaseDateTime.rebaseGregorianToJulianMicros() returns the same result as non-optimised one. The check is performed for the UTC, PST, CET, Africa/Dakar, America/Los_Angeles, Antarctica/Vostok, Asia/Hong_Kong, Europe/Amsterdam time zones.
Added the test optimization of micros rebasing - Julian to Gregorian to RebaseDateTimeSuite which does similar checks as the test above but for rebasing from the hybrid calendar (Julian + Gregorian) to Proleptic Gregorian calendar.
The tests for days rebasing are moved from DateTimeUtilsSuite to RebaseDateTimeSuite because the rebasing related code is moved from DateTimeUtils to the separate object RebaseDateTime.
Re-run DateTimeRebaseBenchmark at the America/Los_Angeles time zone (it is set explicitly in the PR #28127):

Item
Description

Region
us-west-2 (Oregon)

Instance
r3.xlarge

AMI
ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20190722.1 (ami-06f2f779464715dc5)

Java
OpenJDK 64-Bit Server VM 1.8.0_242 and OpenJDK 64-Bit Server VM 11.0.6+10

Test build #120812 has started for PR 28119 at commit 52bf1d4.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25511/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25518/
Test PASSed.

Test build #120819 has started for PR 28119 at commit 4b89d12.

Test build #120812 has finished for PR 28119 at commit 52bf1d4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120812/
Test PASSed.

Test build #120824 has started for PR 28119 at commit ac2beef.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25523/
Test PASSed.

Test build #120819 has finished for PR 28119 at commit 4b89d12.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120819/
Test PASSed.

Test build #120824 has finished for PR 28119 at commit ac2beef.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120824/
Test PASSed.

Test build #120833 has started for PR 28119 at commit 2b21ad7.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25530/
Test PASSed.

Test build #120833 has finished for PR 28119 at commit 2b21ad7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120833/
Test PASSed.

Test build #120842 has started for PR 28119 at commit a52175d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25539/
Test PASSed.

Test build #120845 has started for PR 28119 at commit 2b4a437.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25542/
Test PASSed.

Test build #120842 has finished for PR 28119 at commit a52175d.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class RebaseDateTimeSuite extends SparkFunSuite with Matchers with SQLHelper

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120842/
Test PASSed.

Test build #120845 has finished for PR 28119 at commit 2b4a437.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120845/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25552/
Test PASSed.

Test build #120859 has started for PR 28119 at commit d39c835.

Test build #120859 has finished for PR 28119 at commit d39c835.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120859/
Test FAILed.

Test build #120864 has started for PR 28119 at commit d5800f9.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25558/
Test PASSed.

Test build #120864 has finished for PR 28119 at commit d5800f9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120864/
Test PASSed.

Test build #120884 has finished for PR 28119 at commit d87ebec.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120884/
Test PASSed.

Test build #120907 has started for PR 28119 at commit 377ef8a.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25599/
Test PASSed.

Test build #120907 has finished for PR 28119 at commit 377ef8a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
    case class RebaseRecord(tz: String, switches: Array[Long], diffs: Array[Long])

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120907/
Test FAILed.

Merged build finished. Test FAILed.

jdk on jenkins servers is outdated :-( . I will comment the check in the test:
sbt.ForkMain$ForkError: java.time.zone.ZoneRulesException: Unknown time-zone ID: Asia/Qostanay
	at java.time.zone.ZoneRulesProvider.getProvider(ZoneRulesProvider.java:272)
	at java.time.zone.ZoneRulesProvider.getRules(ZoneRulesProvider.java:227)
	at java.time.ZoneRegion.ofId(ZoneRegion.java:120)

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25601/
Test PASSed.

Test build #120909 has started for PR 28119 at commit 44df0dc.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25602/
Test PASSed.

Test build #120910 has started for PR 28119 at commit be672b6.

Test build #120913 has started for PR 28119 at commit 8cd02d9.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25605/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25607/
Test PASSed.

Test build #120915 has started for PR 28119 at commit f6cf352.

Test build #120916 has started for PR 28119 at commit 9a38c62.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25608/
Test PASSed.

Test build #120909 has finished for PR 28119 at commit 44df0dc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120909/
Test PASSed.

Test build #120910 has finished for PR 28119 at commit be672b6.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
  case class RebaseRecord(tz: String, switches: Array[Long], diffs: Array[Long])

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120910/
Test PASSed.

Test build #120913 has finished for PR 28119 at commit 8cd02d9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120913/
Test PASSed.

Test build #120915 has finished for PR 28119 at commit f6cf352.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120915/
Test PASSed.

Test build #120933 has started for PR 28119 at commit b9951b9.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25625/
Test PASSed.

Test build #120916 has finished for PR 28119 at commit 9a38c62.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120916/
Test PASSed.

Test build #120933 has finished for PR 28119 at commit b9951b9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120933/
Test PASSed.

Test build #120969 has started for PR 28119 at commit 9402336.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25660/
Test PASSed.

Test build #120970 has started for PR 28119 at commit 25f0996.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25661/
Test PASSed.

Test build #120969 has finished for PR 28119 at commit 9402336.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120969/
Test FAILed.

Test build #120971 has started for PR 28119 at commit 864734d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25662/
Test PASSed.

Test build #120970 has finished for PR 28119 at commit 25f0996.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120970/
Test FAILed.

Test build #120971 has finished for PR 28119 at commit 864734d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120971/
Test PASSed.

Test build #120980 has started for PR 28119 at commit 4281d4b.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25671/
Test PASSed.

Test build #120980 has finished for PR 28119 at commit 4281d4b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/120980/
Test PASSed.

thanks, merging to master/3.0!


Docs are missing optional parameters

Hello,
Your docs are missing the optional params also offered by this action
I've tried to write them out as best I could from the source code
If I could get write access I'm happy to raise a PR
Otherwise, here's what I've got so far
All Params

Name
Description
Default
Optional

appId
Your App ID from the meta store
""
No

appSecret
Your App secret from the meta store
""
Must provide appSecret or token

token
The App ID from the meta store
""
Must provide appSecret or token

apkPath
Path to the APK to upload
""
No

obbPath
Path to an obb file to upload
""
Yes

assetsDir
DLC Content to upload
""
Yes

releaseChannel
Which release channel to upload the apk to
"ALPHA"
Yes

releaseNotes
Release notes to upload
""
Yes

assetFilesConfig
DLC Config
""
Yes

languagePacksDir
Additional languages
""
Yes

debugSymbolsDir
Path to the folder that contains the debug symbol file(s)
""
Yes

debugSymbolsPattern
Specifies a file pattern that matches the filesnames of all debug symbol files
""
Yes

I'm not entirely sure I added support for all these, but you're more than welcome to add to the documentation

The options for reading each of these params in and passing to the uploader exe looks to be correct as best I can tell anyway

If you can grant me write access (even temporarily I'll pop the PR up to date the docs, changes are all sat waiting locally just can't push :D

I see you've already created a fork. It should be no problem to open a PR with it.

That should be done now
I initially forked it this morning more by accident so it might look like a new fork now


[TACHYON-711] Prevent block locking during eviction

https://tachyon.atlassian.net/browse/TACHYON-710

yes, it is a potential problem.
But currently, it will not happen. eviction only happens when client wants to request space or move a block, and functions in TachyonFS are synchronized on one lock. so during the eviction, client will not able to request worker to lock a block again.

@shimingfei multiple clients can talk to the same worker right?

yes, multiple clients can talk to the same worker, such as running Mapreduce with Tachyon, there is one TachyonFS client  in each map/reduce process.

+1 LGTM

@shimingfei
I agree there won't be an issue if the client that locked the block is only doing reads. However, I don't think its a good idea to rely on client behavior, for example, the client may promote a block, which would then be deadlocked (since it would be waiting on the eviction lock). Another possibility would be locking a block and then doing other operations such as creating a block (which would dead lock on the eviction lock), before unlocking the block. Currently there is no way to guarantee the lock and unlock are called without any calls which would lead to the requiring the eviction lock.

@calvinjia
yes, it is a potential issue, and the fix sounds reasonable.
+1 LGTM


Socket / service could be useful for this.

Thinking out loud here. I'm aware that a phone app would do just as well - but we are Linux people.
Right so how about a (systemd) socket or service that waits for input on port 33590 (Decimal unicode symbol for Tea in Chinese I think) for a packet saying START NOW. That would mean you could hit a button on your phone and boom - your tea script starts just like that, the very second you add the boiling water.
It's on the to-do list.
[Unit]
# http://www.fileformat.info/info/unicode/char/8336/index.htm
Description=Listens for other devices telling the socket that water is poured

[Socket]
ListenStream=33590
Accept=yes

[Install]
WantedBy=sockets.target

:+1:

I'm not incredibly familiar with broadcast addressing (as in send a message to .255?) I was thinking more running in on your own computer and pinging your local LAN IP address.

Fair play! :P

if you integrate systemd and add network functionality shouldnt the project be renamed tead?

Well I mean the nginx service is just called that on Arch Linux - though I'm not sure about others. I believe things like Apache are renamed to httpd on Debian based systems (I could be wrong there).
I guess it would be down to the implementation details, unless there is some standard that says services should follow /.*d/, I'm not aware of one though!

I'm going to assign this to myself, I have other things I should be doing but I want my tea done right.


Update GOVUK Design System FormBuilder gem

Review app deployed to https://teaching-vacancies-review-pr-3466.london.cloudapps.digital


feat: add ffi for scroll

Refer https://github.com/scroll-tech/scroll/pull/303

You can push a  git tag  and it will automatically create and upload the released package. ( I have already create the alpha-v1.0 )
Move rust ffi codes of scroll here.

looks good for me. would you suggest merge it?

looks good for me. would you suggest merge it?

Yes, will merge it after @HAOYUatHZ and you approve it.


Spatial shaders with Screen Texture have no information on ANY reflections (both SSR and SDFGI)

Tested versions
4.3 Stable
System information
Windows 10 x64
Issue description
A typical Canvas Item has only 8-bit frame without proper information on its original luminosity.
Passing Screen texture to spatial shader allows getting 32-bit information that gives full control over the color and luminosity, but unfortunately, it also completely removes any reflections, like you see on the screenshot and like already discussed here — it kinda makes the material transparent and should've excluded itself from reflections, but it excludes ANYTHING from reflections, anything behind it as well.

There should be a way to overcome this, right?
I need to get both: reflections and the original 32-bit frame without making it overcomplicated.
Steps to reproduce
Use Spatial shader for screen effects on any scene that has noticeable SSR or SDFGI reflections.
Minimal reproduction project (MRP)
N/A

This is a known limitation, see https://github.com/godotengine/godot/issues/79074#issuecomment-1623781581.
It's still not fully documented, though.

Workaround:
In Godot you can use Canvas shaders with HDR by enabling 2D HDR in Rendering > Viewport settings of Godot Project Settings. It will affect the default Viewport, but you will also need to enable it in any other viewports. You need 2D HDR for 3D games screen canvas item shaders too.

The image will be slightly different from your Spatial shader
Which means, a lot of fixes and fine-tuning will be needed


onMissingTranslation defaultTranslation variable parsing

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Having a variable with a proceeding dollar sign doesn't render as expected when coming from an onMissingTranslation callback;
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem. Your bug will get fixed much faster if we can run your code. Paste the link to your JSFiddle (https://jsfiddle.net/Luktwrdm/) or CodeSandbox (https://codesandbox.io/s/new) example below:
I forked another issue I found, but it provides the issue.
https://codesandbox.io/s/7rwkqzr7x
If you notice look at the above as is, after clicking "To ES", it creates an exception. This appears to be if you're missing a defaultLanguage attribute. That could be expected, though maybe it would make sense to default to the first value of the languages array?
The real issue, if you uncomment the defaultLanguage line, you'll notice you no longer get an exception, but the variable isn't properly getting parsed as it would in a typical translation.
What is the expected behavior?
$${variable} => $value
Which versions of react and react-localize-redux are you using?
react: 16.4.0
react-localize-redux: 5.0.7

@colbyfayock Appreciate I'm a little late here - maybe your codesandbox has changed, but the exception is created because defaultTranslation is undefined.
That in turn is because: <Translate {...props} /> has no children.

no worries :) thanks for taking a look

@colbyfayock I've published a new version v3.21. that should fix this issue. As discussed it will default to the first language for default language when not set.
Please let me know if this works for you.

@ryandrewjohnson it definitely no longer throws an exception, though it doesn't seem to be defaulting to the first value for me 🤔 I updated that code sandbox above to v3.2.1 to show, when clicking To ES, it doesn't error, but doesn't default to en: https://codesandbox.io/s/7rwkqzr7x
Additionally, any chance you thought about a solution for the parsing of the variables? as you'll see in that link as well, if you uncomment out the defaultLanguage and hit To ES, it doesn't substitute the variable value.

@colbyfayock  I will need to spend some time to try and create a test that mimics this scenario. I'm not sure when I'll have time to do this as I'm pretty busy right now. If you have some time feel free to investigate, and submit a PR if you find the solution.

@ryandrewjohnson no problem, I'll try and take a look - I was originally going to but was having trouble trying to spin up the project in the browser, i'll take another shot at it 👍

@ryandrewjohnson got it working, let me know what you think

Fixed in #110


writeImageArrayBuffer crashes: "ITKImageIO is not a constructor"

I am trying to read a DICOM file series and save it as itk::JSONImageIO file. I would like to do it in a web browser. Here is my code:
      readImageDICOMFileSeries(null, acceptedFiles)
        .then(function ({ image, webWorker }) {
          webWorker.terminate()

          if (DOWNLOAD_DICOM) {
            var useCompression = false;

            writeImageArrayBuffer(null, useCompression, image, 'dsb_example.data').then((writtenArrayBuffer)=>{
              console.log('array buffer generated');

              saveByteArray(writtenArrayBuffer, 'dsb_example.data');
            })
          }
        });

Calling writeImageArrayBuffer crashes with an error:

TypeError: i.ITKImageIO is not a constructor

Am I doing something wrong? I would like to generate two files(.json & .data) that I can later download using readImageHTTP method.

Oh, that helps a lot! Thank you @thewtex! Will try later today and let you know\close the issue if it works.

It works, thanks!


Added Error Handling Features for live links

Hello, I am Kunal Achintya Reddy. I added my project Thinkrr and also added a new error handling feature for the "live links" part where in if a user doesn't have a deployable web project or he or she couldn't deploy for some reason, A clean error message is displayed indicating that live link is not available for that certain project.

Hi @globalnebula! Thank you for your great contribution! It is highly appreciated.


Use prerender in the skeleton frontend

A very simple way to address issue #320.

We should definitely have a clear example of how to use prerender, but the unfortunate thing about this is that it also eliminates the benefit of server-side rendering.  I also think we should figure out how to make prerender unnecessary in almost all situations.

Closing since it sounds like we want a better way to demonstrate the use of prerender, and probably just as importantly, when not to use it.


The sql has a syntax error, and because it is a function, the excepti…

…on information will be hidden

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Codecov Report

:exclamation: No coverage uploaded for pull request base (2.0.1-release@2cdd5c0). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             2.0.1-release    #7741   +/-   ##
================================================
  Coverage                 ?   31.98%
  Complexity               ?     1571
================================================
  Files                    ?      432
  Lines                    ?    14569
  Branches                 ?     1445
================================================
  Hits                     ?     4660
  Misses                   ?     9461
  Partials                 ?      448

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 2cdd5c0...3b1a74d. Read the comment docs.

@zhuangchong Because our company uses pg, so only checked pg_ddl

@uh001
considering that it's your first contribution, I think we can get deep communiction, you can contact me through mail or add wechat(KerwinZhuang), when mail or added, please tell me who you are, I think I can help to familiar with the DolphinScheduler if you meet with problems.


Terminal size issues

As nu_plugin is communicating over the stdout, the terminal_size crate doesn't work in its current implementation. It's ideal to use this crate as it's actively supported, and what the rest of nushell uses.
@fdncred has suggested this from discord:
fn terminal_size() -> Option<(Width, Height)> {
    use windows_sys::Win32::System::Console::{GetStdHandle, STD_ERROR_HANDLE};
    let handle = unsafe { GetStdHandle(STD_ERROR_HANDLE) as RawHandle };
    terminal_size_using_handle(handle)
}

Or something similar. To think about!

The only real downside to this is you have to have a dependency on windows-sys (i think that's the crate terminal-size uses). But if you were including terminal-size, you'd have that dependency anyway. But if you decide to forward, I'd do something similar to what the term-size crate does, but in terminal-size syntax.
This is the term-size syntax. It should be easy-ish to retrofit for terminal-size I think.
  if unsafe { GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &mut console_data) } != 0 ||
        unsafe { GetConsoleScreenBufferInfo(GetStdHandle(STD_INPUT_HANDLE), &mut console_data) } != 0 ||
        unsafe { GetConsoleScreenBufferInfo(GetStdHandle(STD_ERROR_HANDLE), &mut console_data) } != 0 {
        Some(((console_data.srWindow.Right - console_data.srWindow.Left + 1) as usize,
                (console_data.srWindow.Bottom - console_data.srWindow.Top + 1) as usize))
    } else {
        None
    }

I just fought this issue with my nu_plugin_dbg and came up with this solution.
#[cfg(not(windows))]
fn termsize() -> usize {
    use std::os::fd::AsRawFd;

    // because STDOUT is redirected we need to use STDERR descriptor
    let (cols, _) = match terminal_size::terminal_size_using_fd(std::io::stderr().as_raw_fd()) {
        Some((w, h)) => (w.0, h.0),
        None => (0, 0),
    };

    cols as usize
}

#[cfg(windows)]
fn termsize() -> usize {
    use std::os::windows::io::RawHandle;
    use windows_sys::Win32::System::Console::{GetStdHandle, STD_ERROR_HANDLE};

    let stderr = unsafe { GetStdHandle(STD_ERROR_HANDLE) } as RawHandle;

    // because STDOUT is redirected we need to use STDERR descriptor
    let (cols, _) = match terminal_size::terminal_size_using_handle(stderr) {
        Some((w, h)) => (w.0, h.0),
        None => (0, 0),
    };

    cols as usize
}


End Time option

"End time" option doesnt seem to work. Intead "Fill all day event" is working for both purpose, its own and the "End time".

@rovel2011 This may be fixed in v.3.0.8, please try #320


fix(deps): update dependency react-scripts to v5

This PR contains the following updates:

Package
Type
Update
Change

react-scripts
dependencies
major
4.0.3 -> 5.0.1

Release Notes

facebook/create-react-app
v5.0.1
Compare Source
Inside any created project that has not been ejected, run:
npm install --save --save-exact<EMAIL_ADDRESS>
or
yarn add --exact<EMAIL_ADDRESS>
:bug: Bug Fix

react-scripts

#12245 fix: webpack noise printed only if error or warning (@Andrew47)

create-react-app

#11915 Warn when not using the latest version of create-react-app but do not exit (@iansu)

react-dev-utils

#11640 Ensure posix compliant joins for urls in middleware (@psiservices-justin-sullard)

:nail_care: Enhancement

cra-template-typescript, cra-template, react-scripts

#12220 Update templates to use React 18 createRoot (@kyletsang)

cra-template-typescript, cra-template

#12223 chore: upgrade rtl version to support react 18 (@MatanBobi)

eslint-config-react-app

#11622 updated deprecated rules (@wisammechano)

:memo: Documentation

#11594 Fix a typo in deployment.md (@fishmandev)
#11805 docs: Changelog 5.0.0 (@jafin)
#11757 prevent both npm and yarn commands from being copied (@mubarakn)

:house: Internal

#11985 Ignore docs when publishing (@iansu)

Committers: 11

Andrew Burnie (@Andrew47)
Clément Vannicatte (@shortcuts)
Dmitriy Fishman (@fishmandev)
Dmitry Vinnik (@dmitryvinn)
Ian Sutherland (@iansu)
Jason Finch (@jafin)
Kyle Tsang (@kyletsang)
Matan Borenkraout (@MatanBobi)
Wisam Naji (@wisammechano)
@mubarakn
@psiservices-justin-sullard

5.0.0 (2021-12-14)
Create React App 5.0 is a major release with several new features and the latest version of all major dependencies.
Thanks to all the maintainers and contributors who worked so hard on this release! 🙌
v5.0.0
Compare Source
Inside any created project that has not been ejected, run:
npm install --save --save-exact<EMAIL_ADDRESS>
or
yarn add --exact<EMAIL_ADDRESS>
:bug: Bug Fix

react-scripts

#12245 fix: webpack noise printed only if error or warning (@Andrew47)

create-react-app

#11915 Warn when not using the latest version of create-react-app but do not exit (@iansu)

react-dev-utils

#11640 Ensure posix compliant joins for urls in middleware (@psiservices-justin-sullard)

:nail_care: Enhancement

cra-template-typescript, cra-template, react-scripts

#12220 Update templates to use React 18 createRoot (@kyletsang)

cra-template-typescript, cra-template

#12223 chore: upgrade rtl version to support react 18 (@MatanBobi)

eslint-config-react-app

#11622 updated deprecated rules (@wisammechano)

:memo: Documentation

#11594 Fix a typo in deployment.md (@fishmandev)
#11805 docs: Changelog 5.0.0 (@jafin)
#11757 prevent both npm and yarn commands from being copied (@mubarakn)

:house: Internal

#11985 Ignore docs when publishing (@iansu)

Committers: 11

Andrew Burnie (@Andrew47)
Clément Vannicatte (@shortcuts)
Dmitriy Fishman (@fishmandev)
Dmitry Vinnik (@dmitryvinn)
Ian Sutherland (@iansu)
Jason Finch (@jafin)
Kyle Tsang (@kyletsang)
Matan Borenkraout (@MatanBobi)
Wisam Naji (@wisammechano)
@mubarakn
@psiservices-justin-sullard

5.0.0 (2021-12-14)
Create React App 5.0 is a major release with several new features and the latest version of all major dependencies.
Thanks to all the maintainers and contributors who worked so hard on this release! 🙌

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will ignore this upgrade and you will not receive PRs for any future 5.x releases. However, if you upgrade to 5.x manually then Renovate will reenable minor and patch updates automatically.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


Fix hardware build

Folder names for NetLayer IP had a typo and build would fail.

This bug popped up because the structure of the VNX repo changed between our previous submodule commit, and the updated one. Accepting the change and closing


feat(core/input): add color theming

Description
The scope of the changes in this pull request are to add css theming variables to the input core component.
SPARK-218761
Motivation and Context
The changes in this PR are to meet presented requirements for the new theming.
How Has This Been Tested?
Live user testing was done to confirm that the changes properly impacted the components without impacting existing use cases.
Screenshots

Types of changes

[ ] 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 change)
[ ] Documentation update
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

Checklist

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

From the look of the percy tests the spinning part of the spinner has disappeared in a number of cases

In addition to the concern raised by @Coread , is there any updates to Documentation that might be needed?

In addition to the concern raised by @Coread , is there any updates to Documentation that might be needed?

Currently, this feature isn't available for general usage. Documentation would further expose these changes to consumers.

@InteractiveTimmy check this remaining Percy diff too, it looks like a spacing style changed

@InteractiveTimmy check this remaining Percy diff too, it looks like a spacing style changed

My changes don't affect spacing, and is scoped only to colors. This may have been introduced by a different PR. Reviewing recent changes now to this project now.


Useless function?

https://github.com/vessap/vessap/blob/5d7c62af2c37a7c794b9469b7ec6dcacd9aa598f/train.py#L21
Maybe I am missing something, but isn't this function just returning its unchanged input variable?

Yes, that is true we removed some part of the code because we were doing the histogram cut off offline and saving the volumes before we commence the training.

So if you really need that then you can as a quick fix put
data[data > cutoff] = cutoff
before the return statement.


concurrent execution

Make the implementation concurrent to speed it up

The fast path doesn't need concurrency. The slow path is already executed concurrently.

Collections often need to be read multiple times, which means we cannot use channels as collections.


Replace dependency constants by dependency notations

Wording changes for future docs and changelogs
First, we use the wording "dependency constant", but in some cases like the Firebase group, we are already not using actual constants (in Kotlin terms), and we will steer away from it further to improve BoM support (as discussed over the phone with @jmfayard).
Consequently, I am suggesting that we use the wording "dependency notation" instead (which is how Gradle calls these) instead, and I'm starting by edits of existing references to the old wording on the website/docs.
Replacing inlined constants by property getters or fields
In the post The Dark Secrets of Fast Compilation for Kotlin from Kotlin's official blog, we discovered that incremental compilation (which is coming to Gradle in version 6.8) is hindered by usage of const val, so we will replace these inlined constants by property getters or fields.
We are currently leaning towards all getters because it brings possibilities like supporting BoM in a safe way.
The exact design is still under consideration, especially as to if we allow to integrate version key rules contextually (as opposed to the current rules files currently used), and how.

Here's a list of new features that we can offer with this change (will be updated with new ideas):

Allow to enable BoM for a whole dependency group by just adding the dependency before the ones from the BoM.
Allow forcing use of BoMs when one is known (with allowlist for exceptions). Could be enabled by default for Firebase libs for example.
Allow disabling version placeholder for a dependency group or a specific dependency for a module or whole project (for use with custom platform/BoM, version constraints, gradle plugin defining the versions)
Track usage of the dependency constants. Can be useful in the migration tool for example.


not compatible with esp32 v2 core

ThingsBoard.h:34:18: error: default template arguments may not be used in template friend declarations
friend class ThingsBoardSized;
ThingsBoard.h:39:18: error: default template arguments may not be used in template friend declarations
friend class ThingsBoardHttpSized;
ThingsBoard.h:1180:38: error: wrong number of template arguments (0, should be 3)
using ThingsBoard = ThingsBoardSized<>;
ThingsBoard.h:34:18: note: provided for 'template<unsigned int PayloadSize, unsigned int MaxFieldsAmt, class Logger> class ThingsBoardSized'
friend class ThingsBoardSized;

@imbeacon I think this issue can be closed, all usages of friend classes has been removed as well and now use simple getter and setters.


storing a style model

Is it possible to learn a style, save it and reapply it later to other content images in order to decrease processing time?

I would love to hear what others have to say about it, but I suspect not. If I understand the paper correctly, it convolves from seed noise (and/or the image) to a style image. That would mean every convolution is unique to input image / style (and settings of course).

@3DTOPO You are correct - there is not a good way to save the style with the current algorithm.To generate an image, we run an optimization problem whose variables are the values of the pixels in the generated image. We use a convolutional neural network to do this, but the weights of the network are fixed; they are just used to evaluate the generated image.


Add Debian support

This is a rebase of https://github.com/voxpupuli/puppet-nftables/pull/66

@traylenator this should be good to go now.

Indeed much simpler sticking to newer debian.


adding navbar

General Checks

[x] the branch is up to date with main/master
[x] the code works when pulled and run locally
[x] All CI checks pass
[x] all conflicts are resolved (if any)
[x] PR has a descriptive title
[x] PR has appropriate labels and milestones for easy identification
[x] PR it is assigned to the owner
[x] reviewers are assigned
[x] the PR contributes only one focused change
[x] It is in the appropriate column in the project board (if necessary)
[x] has short and clear description
[x] is linked to an issue (if it is related)
[x] feedback is addressed (if any and if it is appropriate feedback.)

Markdown

[x] the markdown source is formatted
[x] spelling and grammar is correct in all text
[x] The markdown looks correct when you preview the file
[x] all links and images work

HTML

[x] pages besides /index.html are stored in /pages
[x] the code is well-formatted
[x] the HTML is valid
[x] there are no inline styles (example: style='color: red;')
[x] there are no <style> tags with CSS, all styles are hrefs
[x] there is no inline JavaScript (example: onclick='doSomething()')
[x] there are no <script> tags with JS, all JS is in an separate file
[x] ids are used for JavaScript only, not for CSS
[x] semantic tags are used
[x] spelling and grammar is correct in all site content

CSS

[x] the code is well-formatted
[x] passes all the linting checks

You chose to make the hack your future logo a background image rather than putting it as img and link in html. Do you think we should create a home button in navbar too then? Because usually you can click on logo and it's a link that takes you back to homepage. But our logo isn't a link so maybe it should be a link or there should be a 'Home' option instead in the navbar?

yes the navbar toggler works with me !
You are right about the logo it should be linked to home page, i will fix it soon
Thank you Ali for ur comments


Make Luminaire available through conda distribution

@shahsmit14 @snazzyfox @Aristarhys This issue should be prioritized for the next release.

@sayanchk have zero experience with conda 😿 but i guess https://docs.conda.io/projects/conda-build/en/latest/user-guide/tutorials/build-pkgs.html it's not what hard


TF Lite Hexagon delegate support for snapdragon 865

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
The Snapdragon 865 (Hexagon 698 DSP) is not included in the list of supported Qualcomm SoCs:
https://www.tensorflow.org/lite/performance/hexagon_delegate
Was wondering if you have plans to add support for it to the tflite Hexagon delegate.

The guide page has only sample of the devices listed, not all.
Did you try running it on SD 865 and didn't work ?

@karimnosseir I got access to a phone equipped with the SD 865 and confirm that the delegate works after the recent update of hexagon_nn_skel to v. 1.17. Thank you!

@karimnosseir I got access to a phone equipped with the SD 865 and confirm that the delegate works after the recent update of hexagon_nn_skel to v. 1.17. Thank you!

What did you use version of tensorflow?


Avoid separate cache for integration tests

Travis uses several factors to determine whether a given job shares a cache with a different job. In particular, it uses any environment variables specified in .travis.yml. Previously, integration tests set INTEGRATION=true, which meant that the integration tests did not share a cache with the non-integration tests, even though the compilation is exactly the same.
This patch fixes that by remvoing the INTEGRATION environment variable and instead using the globally available $TRAVIS_BUILD_STAGE_NAME to run the setup required for integration tests only in stages that run integration tests (namely integration and coverage). Now, the test and integration stages share all the parameters that Travis uses to determine cache identifiers, and so they'll share their cache!
Coverage still uses its own cache because it specifically needs to not cache the compiled crate, but does need to cache cargo-tarpaulin.

Another reason for making this change is that it significantly reduces the "cost" (in terms of cache space) of also running integration tests on stable+beta+nightly (as opposed to running just one of them).

Comparing https://travis-ci.org/jonhoo/rust-imap/builds/459218742 and https://travis-ci.org/jonhoo/rust-imap/builds/459494989, this halved runtime for the integration test stage (no recompile), and the final cache ends up ~100MB smaller (1474.91MB -> 1346.51MB).


Update Rook from Incubating to Graduated

Rook has moved from Incubating to Graduated (reference)
Also adding new JSON export for CNCF projects, to be used in redevelopment of CNCF.io home page and subsidiary pages
Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[x] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~15 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

Deploy preview for landscape ready!
Built with commit 9b0810c52f797386cbc2b00c9551a09600feaaa6
https://deploy-preview-2034--landscape.netlify.app

@amye we sadly missed this and should figure out why

Deploy preview for landscape ready!
Built with commit bd209d940f3ecfafd1ce7e81a15737fc834062c5
https://deploy-preview-2034--landscape.netlify.app


Who to contact for security issues

Hello 👋
I run a security community that finds and fixes vulnerabilities in OSS. A researcher (@rootd4ddy) has found a potential issue, which I would be eager to share with you.
Could you add a SECURITY.md file with an e-mail address for me to send further details to? GitHub recommends a security policy to ensure issues are responsibly disclosed, and it would help direct researchers in the future.
Looking forward to hearing from you 👍
(cc @huntr-helper)

Hi! Thanks for finding an issue. I’ve enabled security vulnerability reports at https://github.com/actualbudget/actual-server/security/advisories/new, and will add a security policy shortly.

Opened https://github.com/actualbudget/actual-server/pull/177 to add a security policy. Let me know if you have any feedback on it.

Hi @psmoros & @rootd4ddy, have you had a chance to report the issue yet?

@j-f1 I believe @psmoros is going to disclose this for me. @psmoros have you done so yet?

@j-f1 I've tried contacting @psmoros as well as support from huntr.dev but I'm not getting a response back. If no response is given by tomorrow evening, I'll disclose this via github. I can collaborate on a patch if you'd like as well.

I will send it there for the record (other maintainers will be able to log in and see it aswell) but I will let @rootd4ddy to still go ahead and disclose via GitHub. Feel free to review whichever means suits you best :) Unlike GH we sometimes award bounties and we try to assist with triaging

Done 👍

I can disclose via Github if @j-f1 wants me to. It was just an alternative I suggested as we weren't getting a response on your end.
------- Original Message -------
On Tuesday, April 11th, 2023 at 3:37 PM, Pavlos @.***> wrote:

Done 👍
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


Tester needed to try Netflix add-on on Apple Tv - iPad - iPhone

Need some users willing to try if you can play Netflix videos with the add-on,
on the following devices:

Apple TV ONLY from 4th generation and later
Apple iPad ONLY from 5th generation and later
Apple iPad Pro
Apple iPhone

How to do:

Install the add-on on Kodi 19 by following the instructions
After download this add-on dependency and install/update it: script.module.inputstreamhelper-mac.zip
Try play a video

Ihave an iphone10 and the emulator.... I wil be available till thurs...so I will check it then pal

currently ISA situation is in WIP
i will reopen this when there will be news


Move in a List does not work when using ScrollArea

When I add a ScrollArea to a VBox which contains a List and then add the list to the FocusChain I cannot move in the list with arrow-keys. It works fine as long as I don't have a ScrollArea around it. Am I missing something or is this a bug?
l := tui.NewList()
l.AddItems("line1", "line2", "line3", "line4")
l.SetSelected(0)
userScroll := tui.NewScrollArea(l)
userScroll.SetSizePolicy(tui.Preferred, tui.Maximum)
sidebar1 := tui.NewVBox(userScroll)
sidebar1.SetBorder(true)
sidebar1.SetTitle("List1")
sidebar.Prepend(sidebar1)
....
focusChain.Set(l, l2) // l2 is a list without a ScrollArea

Note that I have a "main" sidebar which holds 2 other sidebars (VBoxes) that contain a list each. One of them have a ScrollArea. And that one will not scroll when selected.

Looks like the key event is not being forwarded to the underlying widget.
ScrollArea should reimplement OnKeyEvent(ev KeyEvent) and pass on the event to the widget it encapsulates. Here's it's done for Box: https://github.com/marcusolsson/tui-go/blob/master/box.go#L213

I'd be happy to accept a PR, otherwise I should be able to add a fix for this during the week.


python-doipclient as transport layer to python-uds

Hi,
Would you be interested in creating a fork to interface to python-uds?
https://python-uds.readthedocs.io/en/latest/index.html
I've had a look myself, but I can't figure it out😒
I have tried your library on a Volvo SPA product, and it works a treat using python-udsoncan.  Just had to change the tester address to 0x0E80
Main reason is that python-uds supports ODX for module definitions and therefore everything can be defined in ODX including service response codes etc.
Andy

Hi @ha-solutions  : What features exactly are you using from the ODX format?

Hi Pylessard,
I created an application a while back using your library, and defined dictionaries for all modules/nodes on a test vehicle.  Only for a minimal amount of DID's & some IO Control.  Found it difficult transferring the source data from the proprietary XML format I had at the time especially around IO masks.  It worked great but I eventually gave up on this application due to issues with Kivy Fronted & Twisted framework.  (Basically, ran out of knowledge)
At the time I wrote my own DoIP transport for your library, but I was missing the UDP for vehicle announcement.  This library fixed issues with my own implementation so sparked interest again!  Now looking to revisit but using pyqt for the front end.
Available source data was like ODX in that everything was supplied in the data such as DTC descriptions, positive/negative responses to each defined service and decoding of DID's.  (ssdb file)
I have been informed now that this data could be supplied in ODX-D format.  My thoughts were that this would then remove the need to define decoding etc within the application and would be a simpler way of importing diagnostic information without any further modification and make everything purely data driven.   Accessing available diagnostics would then be via simple human readable text.
Idea is to load a file and present to the user all available diagnostics within the ODX.  User then selects the ECU and Service and clicks send and the response would then be decoded using ODX and displayed in the correct format.
Andy

Sure, open the issue and will provide a mean for PM.
Also, I'd like to point out that UDS is not only data driven. When using ODX, you need an aditional layer of software over it to be able to do things correctly. Best example is the security algorithm.
I like putting the data and the code together in a Python module where code and structure are treated the same.
Regards

I had looked at adding a plugin for the library you linked to. It wasn't immediately obvious at the time where the best place to inject my code was, so didn't bother. I don't have a ton of time but can take a look when more comes available.
It would be cool if we could package ODX support into udsoncan, but I understand it's not a great format to deal with. I don't remember seeing any great libraries when I looked a while ago.

I created my own DoIP plugin like yours for udsoncan although was missing UDP announcement.  Your code is much more complete.  I also could not figure out how to integrate with python-uds.
I will open an issue to see if we can get a level of ODX support into udsoncan.  ODX has many layers, ODX-D, ODX-C, ODX-F etc and I agree it's not a great format but seems to be the way OEM's are now distributing diagnostic data.  It's my understanding that ODX-F contains binaries, secure access algorithms and java flash jobs to perform ECU flashing.
As pylessard says additional software layers need to exist to be able to do things correctly.

@ha-solutions
Are you able to verify my changes to python-uds? I forked and made some changes on the doip branch:
https://github.com/jacobschaer/python-uds/tree/doip
Seemed OK for ECU reset/TP. If it's all in-order I'll PR with the upstream.

Hi, yes sure I can test on a physical vehicle for you.  Any chance you could send me a quick example of how to set up the connection.
a = Uds(reqId=0x7E0, resId=0x7E8, interface="peak", device="PCAN_USBBUS1")
What exactly do I change interface & device parameters to?

Hi Jacob,
I have used the example from - "Example 5 - Simpole DOIP Using Media Converter"
Getting the following:
Could not import vxlapi: Could not find module 'vxlapi64' (or one of its dependencies). Try using the full path with constructor syntax.
Andy

Hi,
Works perfectly, UDP vehicle announcement to get IP and VIN, then send repeated tester present, and a few DID reads all working on physical vehicle.
Andy

Author of python-uds library is not responsive. Updated documentation on how to use fork.


Create 0000-01-02-parklicoste.md

the first commit on github as learning

I have successfully merged two branches after committing changes into temporary branch file and  merging it by creating a new pull request


DID Comm V2 - Incorrect controller data models

Due to recent updates in normalizing command controllers for DIDComm V1 & V2 support,
command controller data models are not actually matching with the actual parameters a command controller is expecting.

https://github.com/hyperledger/aries-framework-go/blob/main/pkg/controller/command/vcwallet/models.go#L351
https://github.com/hyperledger/aries-framework-go/blob/main/pkg/controller/command/issuecredential/models.go#L76
there may be few more

For example: even though a command controller function says it accepts GenericInvitation it actually accepts outofband.Invitation V1 or outofband.Invitation V2. Hard for clients to find out what to send as request.

also, wallet users has to convert out of band invitation manually to generic invitation in order to use wallet. Need better design.


Missing info / broken link in user.py section of README

Hi,
I thought I'd mention that in the README when you get to the user.py section it assumes that you've connected to the board via Bluetooth, and references a broken (re-directed) link on how to do so (http://docs.openbci.com/tutorials/01-GettingStarted).
My assumption is that the linked resource was replaced with the board-specific versions thereof, but (http://docs.openbci.com/Tutorials/02-Ganglion_Getting Started_Guide) I didn't see instructions in the board-specific getting started sections on how to connect via bluetooth and find a dev path like the one in your example.
On a tangentially related note, it might be worth noting that you can't use the pip install version of bluepy because then from btle won't work (I can go into more detail if needed).

Hello,
In the paragraph you mention, the broken "Getting started" link should refer to the Cyton.
For the ganglion, instead of modifying the source code, did you try to clone the repository with --recursive" and type makeas instructed by both the readme and #36 that you referred at first? You edited you message I think, do you confirm that you don't have any error by using the pip version of bluepy (you reported aNameError: name 'DefaultDelegate' is not defined` before)?

Hi,
Yes thanks very much. I did find that it works without editing the file if bluepy is not installed from pip. I edited the Issue to remove that comment but you probably got the original version of my question by email.
Regarding the bluetooth connection - do you mean the part of the Cyton tutorial that refers to a built-in RFDuino? Since the Ganglion has Simplebee instead of RFduino, is it still possible to connect via bluetooth? Do you know if there's any example out there? It would be an awesome thing to add to the README but I know you are very busy.
Thanks again.

I added you this example to the README. The problem is that the README was written mostly for the Cyton and "patched" for the Ganglion, it should be reworked to better split Cyton / Ganglion when the usage differs.
Regarding my previous comment, the broken link belonged to an example that is meant for the Cyton, I took from granted that from the point of view of the computer it's "talking" to a serial pot, indeed bluetooth is only meaningful with the Ganglion (even if, in theory there is a BLE mode with the Cyton, that to my knowledge nobody really implemented).


UI only refreshed when I move the mouse cursor

[Windows 10]
All the examples I've run (including the tour) have the same glitch: the UI only refreshes after I've moved the mouse.
For example, the Counter example: I click the "Increment" button, nothing happens, I move the mouse just a tiny bit, and the counter updates to "2".
I can include a video if needed, in case I'm the only one experiencing this.

Does it still happen if you enable the glow feature?

Has the source of this problem been identified or is there a workaround for it? I have this exact issue on macOS in two applications that I've wrote using Iced. I can't use glow since to my understanding it doesn't support a bunch of the elements I use like Image and Svg.
When it happens is very unpredictable. Originally, it only happened once a minute, but since in big chunks of my app the user shouldn't be using the mouse, they will have no idea that the screen should actually be showing something else, which is a big deal.
Then I decided to send a delayed (+30ms) refresh Command to update after every UI change to trigger a second refresh (basically, 2 refreshes after each UI-changing update instead of 1), but the problem still happens sometimes once every few minutes.
P.S. The mouse movement doesn't trigger an update call, so the problem should be somewhere else. But for the sake of completeness, I have verified that the update call is in fact changing the state and the view call runs without an error (I've set it to panic if an error occurs).


Write methodology part

What you talked about with @raiben

Note: I am actually writing the experimental setup, as the methodology part is being written by @raiben

OK. Don't forget to name somebody to review when you're done.
2015-01-30 20:55 GMT+01:00 Pablo García Sánchez<EMAIL_ADDRESS>
Note: I am actually writing the experimental setup, as the methodology
part is being written by @raiben https://github.com/raiben
—
Reply to this email directly or view it on GitHub
https://github.com/geneura-papers/2015-GECCO-MADE/issues/10#issuecomment-72260414
.

--
JJ


Update README.md

Put Goblin Refuge as no longer maintained by April 1. Fixes #13.

Closing because this PR was moved to #15


Create MiqAeMethodService::Deprecation for automation deprecations

Refactor Vmdb::Deprecation to allow others to inherit from it and easily change the logger
irb(main):001:0> MiqAeMethodService::Deprecation.deprecation_warning("aaaaa", "bbbbb")
DEPRECATION WARNING: aaaaa is deprecated and will be removed from ManageIQ D-release (bbbbb). (called from irb_binding at (irb):2)
=> "aaaaa is deprecated and will be removed from ManageIQ D-release (bbbbb)"

-------------------------
==> log/evm.log <==
[----] I, [2015-11-13T16:59:07.204905 #22250:3ff85d399988]  INFO -- : MIQ(Vmdb::Loggers.apply_config) Log level for vim.log has been changed to [WARN]
[----] I, [2015-11-13T16:59:08.149577 #22250:3ff85d399988]  INFO -- : MIQ(Vmdb::Initializer.init) - Program Name: bin/rails, PID: 22250, ENV['MIQ_GUID']: , ENV['EVMSERVER']:
[----] W, [2015-11-13T16:59:21.779492 #22250:3ff85d399988]  WARN -- : <AutomationEngine> DEPRECATION WARNING: aaaaa is deprecated and will be removed from ManageIQ D-release (bbbbb). (called from irb_binding at (irb):1)

==> log/automation.log <==
[----] W, [2015-11-13T16:59:21.779689 #22250:3ff85d399988]  WARN -- : DEPRECATION WARNING: aaaaa is deprecated and will be removed from ManageIQ D-release (bbbbb). (called from irb_binding at (irb):1)

@gmcculloug Please review

@gmcculloug Now you can use MiqAeMethodService::Deprecation.deprecation_warning  and it will log only to the $miq_ae_logger (and STDERR in dev mode) which should help you find callers using context clues in the log.


Windows 7 users broken by recent Github change

Issue was originally discovered in an unrelated issue: https://github.com/rust-lang/cargo/issues/5065
Due to a recent change on Github, TLS 1.0 and 1.1 are no longer supported: https://github.com/blog/2507-weak-cryptographic-standards-removed
Unfortunately Windows 7 WinHTTP by default only uses up to TLS 1.0, and because Cargo uses libgit2 which uses WinHTTP, this renders cargo effectively broken whenever it tries to fetch any git repo including the crates.io index.
PS [00:51:51] C:\Users\Arnavion\Desktop> cargo install https://github.com/alexcrichton/wasm-gc
    Updating registry `https://github.com/rust-lang/crates.io-index`
warning: spurious network error (2 tries remaining): unknown certificate check failure; class=Net (12); code=Certificate (-17)
warning: spurious network error (1 tries remaining): unknown certificate check failure; class=Net (12); code=Certificate (-17)
error: failed to fetch `https://github.com/rust-lang/crates.io-index`

Caused by:
  unknown certificate check failure; class=Net (12); code=Certificate (-17)

Fortunately this issue can be fixed by the user by ensuring they have a certain update and also editing their registry appropriately, as described here: https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in
However users are not going to magically know what the solution is when they run into this problem, so we need to tell them everywhere possible. We need to spread awareness on this issue through the Rust blog, TWiR, Reddit, Twitter, and anywhere else that Rust has a social media presence.
Additionally we need to implement checks in Cargo and Rustup for users that are using Windows 7 and don't have the fix applied, telling the user very LOUDLY that they need to apply that fix, along with providing detailed instructions on how to fix it.

However users are not going to magically know what the solution is when they run into this problem, so we need to tell them everywhere possible. We need to spread awareness on this issue through the Rust blog, TWiR, Reddit, Twitter, and anywhere else that Rust has a social media presence.

How easy is it to check the error type and try to see if a failure is due to this issue? If it's easy enough to detect we could even emit a helpful error message with a link to the relevant resources.

Tweeted at https://twitter.com/RustStatus/status/967081220197814272

@matklad @Eh2406 is this something either of you would be up for addressing?

@aturon not sure I can really fix it, because I don't have the relevant windows experience. However, here are some pointers to different pieces of code which might be useful:
The network errors in Cargo are handled here: https://github.com/rust-lang/cargo/blob/e3949fb376c011d586d6825b63fc6aab44b410b3/src/cargo/util/network.rs#L14. I believe the suggestion by @Michael-F-Bryan would work: we need to compare ErrorClass and ErrorCode with those from the error report (12 and 17), and do something special.
However I am not sure that we can use just this code to correctly diagnose the situation. That is, we might give false positive for a genuinely invalid certificate? The relevant code from libgit is
https://github.com/libgit2/libgit2/blob/13c1bf0718363960c1867f35c9ce3ebc7bf74729/include/git2/errors.h#L45 (defenition of the error)
and
https://github.com/libgit2/libgit2/blob/408b16c1b06526f509fdb8997818d648d4d1ea1e/src/transports/winhttp.c#L263 (origin of the error for WinHttp).
I'll try to prepare a patch which checks for this specific combination of error code and OS and emits warning, but, as I've said, I am not sure that this won't give us false-positives :)

Just curious, how will a cargo update that warns about this issue be distributed to the users that would benefit from it? Is it strictly for fresh installs?
Thanks

@setharnold most likely, it won't be :-)
I think we can and should backport this to current beta.
In theory, we might issue a Rust 1.24.1 as well.

Interestingly there may be a 1.24.1 for other reasons https://github.com/rust-lang/rust/pull/48445

An interesting point is that in order to detect that we are on Windows 7 we have to ask Windows what version it is, but Windows will lie and only report at most the newest version we claim to support in our manifest. Since cargo doesn't currently ship with a manifest (the Rust team really needs to stop ignoring this Windows specific stuff), this might make things a bit difficult.

The way I read the linked Microsoft issue it's not really that WinHTTP on Windows 7 doesn't support TLS 1.2, it's just a matter of a wrong default configuration. Could we just patch libgit2 to do the right thing on Windows 7?

cc @alexcrichton Since you maintain the Rust libgit2 stuff, do you know if its possible to get libgit2 to internally configure WinHTTP correctly so we don't depend on the user having to do registry edits?

@retep998 filed an issue on libgit2 repo: https://github.com/libgit2/libgit2/issues/4546

Er, I have that update (3140245) and I'm still getting that stupid error.  What now?

@glmdgrielson Do you have the DefaultSecureProtocols reg key set as discribed in https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in?

I only have it through requesting admin rights. If there's a way to make it use TLS 1.2 without relying on default, I think that would be a better option.

Looks like this might get fixed on the libgit side: https://github.com/libgit2/libgit2/pull/4550.
However, we still should give a warning for a case when automatic updates are disabled.

Mea culpa - I spent most of last week dealing with this issue and thinking about how it affects my day job - Visual Studio / Git for Windows / Git Credential Manager for Windows, etc.  I didn't have any spare cycles to think about how it would affect libgit2, but I should have been able to see this coming.  My bad.  🙁
I do think that the Best Solution is still to encourage people to get to the latest updates for their OS and enable TLS 1.2 by default (via the registry key fix), however we are working on a fix for libgit2.

I've done the update, checked the registry manually and still fails when trying to fetch the registry with the same error.
It's a bummer, was trying to set up my rust env here @work since I don't have that much on my plate atm.

@driden Same here.  The proposed solution does not solve the problem for me (on my work laptop with Win 7 Enterprise 64-bit SP1).
I actually reinstalled rust from scratch today on my work laptop (usually I use my Windows 10 desktop at home for rust projects).  My work laptop had rust 1.5 from December 2015, so I wanted to update to the latest version of rust today.  To update, I had to reinstall rust from scratch (due to conflict with old rust and the new rustup).  With the latest install, I should have the latest version of Cargo (mine says 0.24.0).
After I ran into the certificate issue with cargo, I first implemented the "easy fix" in the download first and rebooted--no fix.  I then went and manually changed the two registry keys created from the fix (DefaultSecureProtocols; REG_DWORD; 0x00000A00) to only support TLS 1.2 (DefaultSecureProtocols; REG_DWORD; 0x00000800) instead of the combo of 1.1 and 1.2--and rebooted--no fix.

@nairware but do you have the actual update installed? My understanding is that easy fix is only a part of the problem: you must do both a) an update, b) the easy fix. I am not a windows user myself, so I can't really help to troubleshoot this further :-(

@driden and @nairware, is it possible that you're actually going through some sort of enterprise proxy on your work computers?  If there's something MITM'ing your TLS connections then it will need to be knowledgeable of TLS 1.2.

@ethomson I am going through a proxy but there are W10 machines going through the same proxy with no issues whatsoever.
I've tried a couple of registry combos just in case one worked but still no luck.

Did some troubleshooting, used my laptop to join our guests network and also created a hotspot with my cellphone which is using mobile data and still had the same issue. I would rule the network out as the culprit.

@matklad The guide states two methods for solving the same problem.  The guide explicitly states method 1 and method 2--not step 1 and step 2.  Users should be able to perform either method 1 or method 2 to achieve the same end.  I elected to perform the manual method (method 2) to attempt to solve the problem.
@ethomson I tried connecting to different wifi sources including my office wifi and my own personal wifi (cellphone as a hotspot) to bypass my company's firewall protected wifi.  Regarding my laptop's security setup and software firewalls, anti-virus, etc., my setup is as simple and is unsecured as it could be.  My machine is not even joined to the corporate Windows domain.  I have my system explicitly and intentionally configured with minimal security features virtually all the time precisely for making moments like these easier to troubleshoot and endure.

@nairware It provides two ways to install the update, and then two ways to update the registry. You have to both install the update and update the registry.

@sfackler You are right.  Somehow missed that download link twice, damn!  Method 2 (implemented correctly :D ) works for me.  I just did a successful update of registry 'https://github.com/rust-lang/crates.io-index'.  Thanks all!

For others to emulate, my registry keys (created in each of the two directories) have the following values:
Name = DefaultSecureProtocols
Type = REG_DWORD
Data = 0x00000800 (2048)

@nairware OMG i missed it aswell. Just in case anyone wonders which one it is. https://www.catalog.update.microsoft.com/search.aspx?q=kb3140245 since I cannot use windows update (managed by sysadmins)

So the libgit2 is now fixed, here's the corresponding PR to the git2-rs: https://github.com/alexcrichton/git2-rs/pull/303

Downloading KB3140245 and setting DefaultSecureProtocols seemed to help in my case.

Fix confirmed by installing the update and manually entering the registry keys !
For those unfamiliar with Windows or the registry editor - here's how it should look if you did it right ! (But don't forget to do it at the two specified locations if you have a 64-bit OS).

(nevermind the French GUI)

I can confirm that despite being on the nightly channel, and having uninstalled and resintalled everything and getting the latest version of nightly through a fresh install of rustup last night, I was still receiving this error message without any indication as to how to solve it. Only today after finding this issue just now did I install the registry hotfix from the MS website and get cargo to function on my machine. I'm not sure why this issue is marked as closed.

@tpdickso Because the issue was fixed in cargo, but Rust itself has not yet updated its cargo submodule to get the version of cargo that has this issue fixed.

Another user running into this problem on u.r-l.o. They updated to today's nightly, which I'm pretty sure includes the latest cargo.

What about users who do not have admin rights?

I got this error today when trying to install something through cargo (command line was cargo install --git https://github.com/alexcrichton/wasm-gc).
I already had the patch from Microsoft installed (https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in); so that is not a sufficient patch; I also needed to install the "Easy Fix" which is described towards the bottom of that page.  Then the cargo command worked.

I am getting this issue on a Windows 8 (not Windows 8.1) computer. Its not my computer, so I can't try to fix it, but I didn't see anyone else mention Windows 8 and I thought I should say so on here.

@kimtuck only installing the patch is indeed not enough. installing "Easy Fix" was also needed here.
Maybe something to add to the error message?


🐛  Unquoted Shell Commands

Description

CreateReleaseDTO#toString does not correctly parse CreateReleaseDTO#notes if it contains special characters.
This results in /bin/sh: * command not found errors and the greaser lifecycle interspersing shell errors throughout release notes (see screenshots below).
Steps to reproduce

Create a few commits with code strings (see screenshots below for examples)
Run grease
See /bin/sh: * command not found errors
Go to drafted GitHub release URL to see interspersed shell errors

Expected behavior

CreateReleaseDTO#toString should replace special characters in CreateReleaseDTO#notes when stringifying releases.
Relevant screenshots

greaser lifecycle output for<EMAIL_ADDRESS>
Release notes interspersed with shell errors

Commits with code strings

Environment

Node Version: v16.6.0
OS: macOS v11.3.1
Package Manager<EMAIL_ADDRESS>Package version(s): grease<=1.1.0

Possible solution

Create utility function to quote shell commands

Short Term: Integrate node-shell-quote
Long Term

Option 1: Replace shelljs with zx, then use $.quote
Option 2: Re-implement node-shell-quote in TypeScript, then integrate

Additional context

During this particular run, the CHANGELOG entry for<EMAIL_ADDRESS>was missing all build (:hammer: Build) scope commits. Not sure if this issue is related to this bug, but commit entries needed to be manually added

did some more debugging and found the root issue - using double quotes around the --notes argument:
gh release create v2.0.0 --draft --title v2.0.0 --notes "## :pencil2: Housekeeping

* add `deps-peer` and `yarn` commit scopes ([21905de](https://github.com/flex-development/log/commit/21905def9c8569ad255759ee677fcbb6bd9a7ca2))
* run `yarn set version berry` ([4bcda50](https://github.com/flex-development/log/commit/4bcda50edbd75f013a6114edd7b9a6b5d6ff947e))
* **scripts:** add `check:dedupe` ([8ed8ce6](https://github.com/flex-development/log/commit/8ed8ce6a8fc510d3e8171812a26f9e2fc79dcb49))
* **scripts:** add `check:install` ([54304ea](https://github.com/flex-development/log/commit/54304eaa1e9284052a4296a6de79e9d2555641f0))
* **scripts:** add `clean:modules` and `clean:yarn` ([8f2b31e](https://github.com/flex-development/log/commit/8f2b31e6125494a9d8bec60f4b7f050315880a2d))
* update `lint-staged` config ([f875714](https://github.com/flex-development/log/commit/f87571445c8e1d5b3373b17fd2020641fec916d6))
* update environment variables ([d8e08d5](https://github.com/flex-development/log/commit/d8e08d509f10e32c129c6abf7bba876853b8883b))
* **yarn:** add `@yarnpkg/plugin-interactive-tools` ([aba5881](https://github.com/flex-development/log/commit/aba588102e332ca29dcd1383684b74a32992dda3))"
zsh: command not found: deps-peer
zsh: command not found: check:dedupe
zsh: command not found: check:install
zsh: command not found: clean:modules
zsh: command not found: clean:yarn
  lint-staged Loading config using `cosmiconfig` +0ms
  lint-staged Successfully loaded config from `/Users/lex/Projects/FLDV/FLDV-P010/lint-staged.config.js`:
  lint-staged {
  lint-staged   '*': [ 'yarn fix:format', 'git add -A' ],
  lint-staged   '*.{js,md,ts}': [ 'yarn fix:style', 'git add -A' ]
  lint-staged } +58ms
  lint-staged lint-staged config:
  lint-staged {
  lint-staged   '*': [ 'yarn fix:format', 'git add -A' ],
  lint-staged   '*.{js,md,ts}': [ 'yarn fix:style', 'git add -A' ]
  lint-staged } +2ms
  lint-staged Unset GIT_LITERAL_PATHSPECS (was `undefined`) +0ms
  lint-staged Tasks were executed successfully! +66ms
zsh: no such file or directory: @yarnpkg/plugin-interactive-tools
[git remote -v]
[git config --get-regexp ^remote\..*\.gh-resolved$]
* Request at 2021-09-17 17:03:04.194844 -0400 EDT m=+0.089806599
* Request to https://api.github.com/repos/flex-development/grease/releases
* Request took 676.998026ms
https://github.com/flex-development/grease/releases/tag/untagged-c3e1f766bf5fcb48b6c6

using single quotes gets rid of /bin/sh: * errors as well as creates a GitHub releases without shell errors:
gh release create v2.0.0 --draft --title v2.0.0 --notes '## :pencil2: Housekeeping

* add `deps-peer` and `yarn` commit scopes ([21905de](https://github.com/flex-development/log/commit/21905def9c8569ad255759ee677fcbb6bd9a7ca2))
* run `yarn set version berry` ([4bcda50](https://github.com/flex-development/log/commit/4bcda50edbd75f013a6114edd7b9a6b5d6ff947e))
* **scripts:** add `check:dedupe` ([8ed8ce6](https://github.com/flex-development/log/commit/8ed8ce6a8fc510d3e8171812a26f9e2fc79dcb49))
* **scripts:** add `check:install` ([54304ea](https://github.com/flex-development/log/commit/54304eaa1e9284052a4296a6de79e9d2555641f0))
* **scripts:** add `clean:modules` and `clean:yarn` ([8f2b31e](https://github.com/flex-development/log/commit/8f2b31e6125494a9d8bec60f4b7f050315880a2d))
* update `lint-staged` config ([f875714](https://github.com/flex-development/log/commit/f87571445c8e1d5b3373b17fd2020641fec916d6))
* update environment variables ([d8e08d5](https://github.com/flex-development/log/commit/d8e08d509f10e32c129c6abf7bba876853b8883b))
* **yarn:** add `@yarnpkg/plugin-interactive-tools` ([aba5881](https://github.com/flex-development/log/commit/aba588102e332ca29dcd1383684b74a32992dda3))'
[git remote -v]
[git config --get-regexp ^remote\..*\.gh-resolved$]
* Request at 2021-09-17 15:54:36.829576 -0400 EDT m=+0.042332924
* Request to https://api.github.com/repos/flex-development/grease/releases
* Request took 435.387197ms
https://github.com/flex-development/grease/releases/tag/untagged-cbbb0e8f92253458fae3

the shell-quote library could still be integrated if necessary, but the main fix is to use single quotes.


Deserializing ID as integer not String

Hi, I'm using an API where ID are integers, not string. Thus, the generated code by the macro is using type ID = String. And it leads to Deserialization error such as Error("invalid type: integer `570721`, expected a string", line: 1, column: 45). Is there a way to specify this to the derive macro ? I'm confused because some of the examples in the documentation are using integers, so it may be possible.

Maybe a simple fix without breaking change would be to define ID as something like this instead of simply type ID = String in codegen.rs line 56.
enum ID {
    Int(usize),
    String(String),
}

impl From<usize> for ID {
    fn from(value: usize) -> Self {
        ID::Int(value)
    }
}

impl From<String> for ID {
    fn from(value: String) -> Self {
        ID::String(value)
    }
}

Or maybe we could use i128 instead of usize (or even add another variant with i128) since this might be used according to some parts of the Graphql spec:

GraphQL is agnostic to ID format, and serializes to string to ensure consistency across many formats ID could represent, from small auto‐increment numbers, to large 128‐bit random numbers, to base64 encoded values, or string values of a format like GUID.

I could do a PR to implement that if this is a valid solution (but I'm not sure).

I think I remember (but it's a very far away memory) that IDs are defined as strings by the GraphQL spec. We could have a config option for code generation to change that to another type, however.

Hey, I opened #476 which should fix this in a backwards compatible way.


Update the github action and configuration of the website

[x] Update the checkout action to its current latest release to (a) fix the issue with checking-out git-lfs tracked files; (b) avoid using deprecated dependencies;
[x] Update actions/setup-node@v1 to its current latest version to fix deprecated dependencies warning;
[x] Code and title refactoring for brevity and clarity;
[x] Change the base URL to /gatk-sv/ following the Github Pages recommendation.

Thank you, @mwalker174!!!


Exported name of static method is incorrect when @export is used

Repro
goog.module('foo.bar');

class Foo {
   /** @export */
  foo() {}

  /** @export */
  static bar() {}
}
goog.exportSymbol('Foo', Foo);

Foo.bar will be exported as module$contents$foo$bar_Foo.bar when transpile pass is enabled.

See #2072


fix: correctly escape {Regex} in custom file handler

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
customFileHanlder does not handle any files due to bug in urlRegex regular expression
In my case it broke test where i use file-loader plugin
should fix issues: #289 #291
What is the new behavior?
Fixed regular expression for customFileHandle:

removed the trailing "/"  character that caused the error
removed unneeded escape symbols
added function to escape publicPath string. NOTE: this function is not needed when running on linux based OS-es due to os.tmpdir() does not contain special characters, but should help in edge cases(Windows, ???)

short example to explain issue:
    // in my case below url was generated by file-loader
    const url = '/tmp/_karma_webpack_/8f503faad8b590c8a6075b27426dc9c0.json';

    // os.tmpdir() -> "/tmp" in my case(Ubuntu)
    const originalRe = new RegExp('^/tmp\/_karma_webpack_\/.*/');
    console.log('original urlRegex:', originalRe.test(url));  // false

    const fixedRe = new RegExp('^/tmp/_karma_webpack_/.*');
    console.log('fixed urlRegex:', fixedRe.test(url));  // true

Does this PR introduce a breaking change?

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the following...

Impact:
Migration path for existing applications:
Github Issue(s) this is regarding:

Other information:

@rodmax Can you verify this likely fixes the issue with dynamic imports some folks seem to have?

Can you verify this likely fixes the issue with dynamic imports some folks seem to have?

@michael-ciniawsky and yes and no
I verified that my fix works for this test repo https://github.com/jackysee/karam-webpack-test from #291
and this fixes my issue on my work project with file-loader plugin (due to the same nature)
But i have doubts relative Windows. I ask folk in comments to test it here https://github.com/webpack-contrib/karma-webpack/issues/291#issuecomment-353431907
in any case my fix should help linux/MAC users


Configure IoT Edge with new certificates

Similar situation to https://github.com/MicrosoftDocs/azure-docs/issues/82926
Background
This IoT Edge instance was operating fine before updating the demo Root CA and device cert/key. After updating, new child devices configured using SAS tokens would return "Not authorized to connect".
The steps below demonstrate me trying to verify all the steps in the https://docs.microsoft.com/en-us/azure/iot-edge/how-to-manage-device-certificates?view=iotedge-2020-11&tabs=linux#configure-iot-edge-with-the-new-certificates were followed correctly.
Running checks on the problematic IoT Edge instance:
Running iotedge check:

When running sudo iotedge check, it gets stuck at this point and I have to cancel:

Steps to reproduce:
I recently renewed the demo CA using the instructions here before the 30 day expiry:
https://docs.microsoft.com/en-us/azure/iot-edge/how-to-manage-device-certificates?view=iotedge-2020-11&tabs=linux#configure-iot-edge-with-the-new-certificates
My steps to ensure each of the points in the article were satisfied:
1-3. Security Daemon Config File
Trust bundle and edge_ca sections are configured with the right filepaths.
4. Make sure that the service has read permissions for the directories holding the certificates and keys.
Verified using the following command  on the directory that holds the certs and keys:
find -exec sudo -u iotedge test -r '{}' ; -print
4. The private key file should be owned by the aziotks group.
The certificate files should be owned by the aziotcs group.

5. If you've used any other certificates for IoT Edge on the device before, delete the files in the following directory. IoT Edge will recreate them with the new CA certificate you provided.
These files were deleted from the /var/lib/aziot/certd/certs as instructed in the article.

6. sudo iotedge config apply

Everything looks fine following sudo iotedge config apply, but sudo iotedge check still gets stuck partway through the report and only one cert in the /var/lib/aziot/certs/certd/  was recreated. The aziotedgedca cert is missing in the /var/lib/aziot/certs/certd/ directory:

Thank you for taking the time to read this issue. I look forward to your feedback.

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

ID: 94792ff1-5976-90f4-5092-0d8d8ff01635
Version Independent ID: d65482d2-64cc-56b1-c52a-b3ddde07b205
Content: Manage device certificates - Azure IoT Edge
Content Source: articles/iot-edge/how-to-manage-device-certificates.md
Service: iot-edge
GitHub Login: @PatAltimore
Microsoft Alias: patricka

Thank you for reaching out. At this time we are reviewing the ask and will provide an update as appropriate

Hi @KranthiPakala-MSFT thank you for the quick response.
After investigating further, I believe the reason the sudo iotedge check report was stalling was due to connectivity issues. The network/firewall configuration was changed to deny outbound internet traffic sometime after we first installed IoT Edge and when the issue surfaced. Restoring the firewall rules has enabled sudo iotedge check report to complete as expected.
However, I am now getting the following error message which is related to the aziot-keys:

For Reference
Contents of /var/lib/aziot/certd/certs:

Contents of /var/lib/aziot/keyd/keys:

I have performed sudo iotedge config apply and tested again with the same result.
The IoT Edge still appears offline to IoT Hub:

Despite the runtime and modules looking healthy:

Thanks again for your help on this matter. If you need any more information, please let me know.
I noticed there is a sperate repository/issues board for Azure/iotedge. I can close and move this issue to that site if you prefer.

@SatishBoddu-MSFT when running sudo journalctl -u aziot-certd I get the following response:

Is this because the aziotedgedca cert is missing in the /var/lib/aziot/certs/certd/ directory?

In the interest of time, I have uninstalled and re-installed IoT Edge.
The /var/lib/aziot/certd/certs directory contains 2 files:

The  /var/lib/aziot/keyd/keys directory contains 4 files:

The article in question says to remove the contents of those folders which I did in attempt to restore the connectivity:
https://docs.microsoft.com/en-us/azure/iot-edge/how-to-manage-device-certificates?view=iotedge-2020-11&tabs=linux#configure-iot-edge-with-the-new-certificates

and

However, it appears that the following cert and key files do not get automatically regenerated (even after system reboot, config apply and restarting the edgeAgent and edgeHub containers):
aziotedgedca-86f154be7ff14480027f0d00c59c223db6d9e4ab0b559fc523cca36a7c973d6d.cer
aziotedgedca-86f154be7ff14480027f0d00c59c223db6d9e4ab0b559fc523cca36a7c973d6d.key
It would be worth understanding if you can replicate this behaviour, and if so, consider updating the document to prevent others making the same mistake.
Thanks again for your help.

Hello @Matt-Mustard Thanks for the extra info, we are looking into it!

Hi @Matt-Mustard,
Thanks for the detailed information. I'm working on an update to this article clarifying the configuration and adding troubleshooting. It should be published in the next week or so.
I was able to reproduce the issue you mentioned at the end of the conversation. For a lot of configuration apply issues, you can remove the edgeAgent container by running sudo docker rm -f edgeAgent after you run `sudo iotedge config apply'. When I tried the command on my device, it regenerated the certs and keys in the directories.
I'm going to close this issue. Feel free to reopen it if you feel it isn't resolved.
Thanks,
Pat
#please-close

Thanks for the final feedback @PatAltimore, I appreciate it.


[cudamapper] code clean-up related to fuse_overlaps

there are some files and tests associated with deprecated fuse_overlaps function. Assuming fuse_overlaps is no longer used, they can be removed.

Done in issue #410 and commit #426


DRILL-7086: Output schema for row set mechanism

Enhances the row set mechanism to take an "output schema" that describes the vectors to create. The "input schema" describes the type that the reader would like to write. A conversion mechanism inserts a conversion shim to convert from the input to output type.
The "output schema" will be the one provided by the new schema mechanism: a later PR will connect the mechanism here with the "output schema" provided in the physical plan.
The output schema is optional. Within an output schema, the columns are optional. If not output schema is provided, or no column matches a given input column, then the input schema determines vector type as was the case before this enhancement.
This PR includes several "starter" conversion classes. These are mostly prototypes, only the string-to-int version has been fully tested. The date, time and date time versions show the use of the new format property added to the column metadata class.
A format or storage plugin can specify its own conversion rules. For example, the plugin for HBase might provide byte-array-to-whatever converters.
An odd aspect of the current implementation is that the type conversion is done at reader open time. If the reader detects a column type which cannot be converted, using known rules, to the desired output type, the query will fail. This is odd because one might expect this error to be caught at plan time. But, Drill, of course, is schema-on-read, so read time is when we'd detect the conflict. May not be a problem in real tables.

Added more commits to add more tests and better support date/time types. See commit message for details.
Have not squashed commits to make it easier to review recent additions to this PR.

For narrowing conversions, I ended up with a bit of an ad-hoc solution that follows the Java conventions.

When converting from int to TINYINT, or SMALLINT, the upper bits are simply truncated. (The code uses a setInt() accessor for all these types. No checking is done to maximize performance.)
When converting from long to int, an exception is thrown for overflow. (The "natural" method for an int is setInt(), so the setLong() uses the Java Math.toExactInt() method which throws an exception for overflow.)
When converting from double to BigInt, follows the Java convention of converting to the closest available value.
When converting from double to other integral types, first follows the double-to-BigInt rules, then the long-to-int rule.

These are the simplest, fastest conversions based on the idea that data should be correct for the target type. We can tinker with the overflow logic over time without affecting the "happy path" for correct values.

Looks good, +1

@arina-ielchiieva, thanks for the review. Squashed commits. Ready to commit.