Remove CGO dependencies

In order to remove CGO from Coraza we have to remove two dependencies, libinjection and libpcre.
Libpcre
Libpcre can be replaced with golang regexp (re2). A wrapper has been created under utils/regex, it will pick between the CGO version (libpcre) and non CGO (RE) based on the flag CGO_ENABLED.
Libinjection
I'm currently working on a port, libinjection-go, in the meantime it will be a different repository but the final version is going to be embedded with Coraza as it won't be maintained as a importable package.

Done, pcre and libinjection were removed on v2


[BUG] Uploading a dashboard to two different folders problem

It's currently not possible to upload the same dashboard to two different folders. In my setup I would like to have one folder for each deployment environment of the app, thus I need to upload the dashboard to different folders. Each folder contains the dashboard of an environment.
When uploading first to buga folder (when the application starts)  and then to bugb folder (when the application start), dashboards in the buga folder disappear (or are moved to bugb).
I have written a small application to reproduce the problem: https://github.com/pallix/bug_prom_ex_two_folders
First run:
GRAFANA_API_KEY="here-the-key" GRAFANA_HOST="here-the-host" DEPLOYMENT_ENV=buga iex -S mix

and observe that the dashboards are correctly in buga, then run:
GRAFANA_API_KEY="here-the-key" GRAFANA_HOST="here-the-host" DEPLOYMENT_ENV=bugb iex -S mix

Now the dashboard from buga are not there anymore:

@akoutmos did you get any chance to look at it?

I think I have come up with a solution to solve this problem without breaking backwards compatibility. Unfortunately I've been a bit swamped with work the past couple of weeks, and have this on the TODO list for next week.

Glad to hear that! I had a harddrive crash so stuffs got delayed on my side too :-)

I think I have come up with a solution to solve this problem without breaking backwards compatibility. Unfortunately I've been a bit swamped with work the past couple of weeks, and have this on the TODO list for next week.

@akoutmos any chance you could publish this branch, even if in a WIP state? Maybe someone else will be able to take up the baton.

I am also running into this. Trying to leverage the same Grafana instance to view info on the same app, but in multiple environments. At the moment, we're looking at running a Grafana instance per environment. This is doable, but it would be nice to centralize if possible.

Trying to leverage the same Grafana instance to view info on the same app, but in multiple environments.

In the end I solve it differently: we now have only one dashboard type for each environment and we use the labels and drop down menu from the Grafana dashboard. Look for Grafana templating and labels if you are interested in such a solution.

Ah- I see now. At least in GKE, this works when only one instance of the app deploys dashboards to the grafana instance. The dashboards are already able to toggle between the instances of the application through the configured dropdowns even with them existing on separate clusters.

It seems that this issue is related with #214 and there's a PR that could potentially handle it on #226.


Hot reload widgets when monitors changed

needed, as my second monitor sometimes take too long to load, making me restarting way-edges afterwards...

add monitor ctx

try listmodel signal, may save some resources


Using noble with nw.js in win7

I am struggling with noble and nw.js under win7.
I tried a lot of things and I am not sure it can be done at all (others used electron and/or different os).
If anyone got this working please tell me, I would love to summarize it here for others.
Thank you very much in advance for your consideration.

Created a wiki page explaining the steps.


Support multiple shared links

What is the purpose of the change
Dubbo By default, all service calls between a Provider and a Consumer instance share a tcp connection. In high concurrency situations, there will be a 40ms network delay, which is caused by the tcp throughput algorithm related restrictions (note, Dubbo has closed Nagel). So in order to avoid this network delay, dubbo supports separate tcp connection configuration for some services (for example, configure connections="2" in dubbo:reference to use two separate tcp connections for the service call). Why not change the default shared 1 tcp connection to dynamic configuration? Let's implement this now! !
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

@manzhizhen Pls. check the ci failure.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:check (checkstyle-validation) on project dubbo-common: Failed during checkstyle configuration: Exception was thrown while processing /home/travis/build/apache/incubator-dubbo/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java: TokenStreamRecognitionException occurred while parsing file /home/travis/build/apache/incubator-dubbo/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java. Unexpected character 0x60 in identifier -> [Help 1]

Here I share the pressure measurement data:
program execution time：30min
provider logic：direct new object return
provider thread pool size：800
consumer timeout：1s
provider timeout：default
service agreement：dubbo
result:
consumer concurrent | tcp links | total invoke times | invoke fail（timeout）times | service invoke success rate | service invoke QPS | service invoke avg cost time | invoke time more than 100ms rate | （consumer cost time - provider cost time） avg time
500 | 3links | 49287931 | 1771 | 99.9964% | 27271 | 18.1ms | 0.006% | 0.31ms
500 | 2links | 47601583 | 1141 | 99.9976% | 26464 | 18.9ms | 0.006% | 0.38ms
500 | 2links | 47871439 | 1146 | 99.9976% | 26919 | 18.7ms | 0.006% | 0.41ms
500 | 1links | 46258320 | 1051 | 99.9977% | 25702 | 18.8ms | 0.007% | 8.99ms
500 | 1links | 46421769 | 1005 | 99.9978% | 25910 | 18.7ms | 0.007% | 9.84ms
200 | 3links | 55025248 | 478 | 99.9991% | 31066 | 6.4ms | 0.004% | 0.16ms
200 | 1links | 47376374 | 255 | 99.9995% | 26362 | 7.1ms | 0.003% | 4.89ms
100 | 2links | 55366764 | 0 | 100% | 30640 | 3.2ms | 0.0002% | 0.13ms
We can see that in the case of concurrent 500 calls, the throughput of two tcp connection transmissions is 3.5% higher than that of one tcp connection transmission, and the throughput of three tcp connection transmissions is increased by 6.5% compared with the transmission of one tcp connection. In terms of network time consumption (consumer processing time minus provider processing time), 1 tcp connection per call on the network takes an average of 9.84ms, and 2 tcp or 3 tcp connections are called each time in the network. The average time spent on it is only 0.41ms.
We can see that in the case of concurrent 300 calls, the throughput of three tcp connection transmissions is 16.1% higher than that of one tcp connection transmission! ! This is an amazing number.

Nice work!
The data for your stress test is very great!
Regarding your pr, I think that directly modifying the default values of connections can achieve the same effect. U can just have try.
:)

@carryxyh Can Dubbo now set the default shared connection number to more than one?

Here is the physical machine configuration that complements the performance test：
属性 | 值
cpu | 48核
内存 | 128G
磁盘 | HDD 4T
网卡带宽 | 10000Mb/s

@carryxyh  @diecui1202  两位大佬瞅瞅呗

👍一个

👍一个

@beiwei30  By default, a jvm consumer and jvm provider instance share a TCP long connection. To solve the throughput bottleneck of a TCP long connection, dubbo can use the CONNECTIONS_KEY key to set TCP for a specific interface. Long connection. The new DEFAULT_CONNECTIONS_KEY key is an extension of the default sharing of one TCP long connection, so that all interfaces can enjoy the throughput of multiple TCP connections without having to separately call an interface. Configure the connection.
Set CONNECTIONS_KEY="0" and set DEFAULT_CONNECTIONS_KEY="3". This is not the same as setting CONNECTION_KEY="3" directly. The former is the call sharing of all interfaces using 3 TCP connections, the latter is a setting [ Connections] The property's interface call uses a separate 3 TCP long connections, and the other interface calls still use the default shared 1 TCP long connection.

@beiwei30 By default, a jvm consumer and jvm provider instance share a TCP long connection. To solve the throughput bottleneck of a TCP long connection, dubbo can use the CONNECTIONS_KEY key to set TCP for a specific interface. Long connection. The new DEFAULT_CONNECTIONS_KEY key is an extension of the default sharing of one TCP long connection, so that all interfaces can enjoy the throughput of multiple TCP connections without having to separately call an interface. Configure the connection.
Set CONNECTIONS_KEY="0" and set DEFAULT_CONNECTIONS_KEY="3". This is not the same as setting CONNECTION_KEY="3" directly. The former is the call sharing of all interfaces using 3 TCP connections, the latter is a setting [connections] The property's interface call uses a separate 3 TCP long connections, and the other interface calls still use the default shared 1 TCP long connection.

Now I get the basic idea, I will give further comments on the current impl.

Codecov Report

Merging #2457 into master will decrease coverage by <.01%.
The diff coverage is 68.96%.

@@            Coverage Diff             @@
##           master    #2457      +/-   ##
==========================================
- Coverage   63.49%   63.48%   -0.01%
==========================================
  Files         577      577
  Lines       25923    25970      +47
  Branches     4541     4554      +13
==========================================
+ Hits        16459    16487      +28
- Misses       7301     7316      +15
- Partials     2163     2167       +4

Impacted Files
Coverage Δ

...c/main/java/org/apache/dubbo/common/Constants.java
88.88% <ø> (ø)
:arrow_up:

...apache/dubbo/rpc/protocol/dubbo/DubboProtocol.java
66.9% <68.96%> (-0.6%)
:arrow_down:

...onfig/spring/extension/SpringExtensionFactory.java
76.31% <0%> (-7.9%)
:arrow_down:

.../apache/dubbo/qos/protocol/QosProtocolWrapper.java
64.1% <0%> (-6.96%)
:arrow_down:

.../org/apache/dubbo/config/AbstractMethodConfig.java
94% <0%> (-6%)
:arrow_down:

.../org/apache/dubbo/cache/support/jcache/JCache.java
82.6% <0%> (-4.35%)
:arrow_down:

...rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java
54.21% <0%> (-3.62%)
:arrow_down:

...pache/dubbo/remoting/transport/AbstractServer.java
45.36% <0%> (-3.1%)
:arrow_down:

...g/apache/dubbo/config/AbstractInterfaceConfig.java
78.44% <0%> (-2.34%)
:arrow_down:

...bo/remoting/transport/netty/NettyCodecAdapter.java
53.12% <0%> (-1.57%)
:arrow_down:

... and 61 more

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 56b2193...e75855c. Read the comment docs.

Since Nagel has been closed as you said, the 40ms delay should not exist, why do you need to provide this?
@manzhizhen
https://github.com/apache/dubbo/blob/d42b93dfda471b448cf6ccea364ba402e58615ce/dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyClient.java#L69
https://github.com/apache/dubbo/blob/d42b93dfda471b448cf6ccea364ba402e58615ce/dubbo-remoting/dubbo-remoting-netty/src/main/java/org/apache/dubbo/remoting/transport/netty/NettyServer.java#L83


Server crash while planner not in use

Problem Description
I am playing with one other person that would be very unlikely to use the factory planner, and I had not opened or interacted with it when a server crash occurred. The crash log points toward factory planner with an ID. Crash log and last autosave before crash included in files.
_autosave1.zip
factorio-previous.log
Reproduction
No response

Hi, thanks for the report, sorry for the issues. This is supposedly fixed in 2.0.4, so please give it an update and let me know if it happens again!


Backport needed CI code to release-2.3 branch

Description

This PRs backports as less code as possible and allows to deploy a pipeline for release-2.3 branch:

Backport:

move pipeline vars to config file
add github_status for upgrade
fix rotate_credentials job by adding a wait afterwards
add pr_base_branch pipeline option

Create new ./concourse/kubecf-release2.3.yaml configuration file with sane options, for the new kubecf-release-2.3 pipeline.

Motivation and Context

Implements https://github.com/cloudfoundry-incubator/kubecf/issues/1095 for release-2.3 branch.
Decided to cherry-pick individual commits (git cherry-pick -x <sha>, fix minimal conflicts), and not merge commits.
How Has This Been Tested?

Deployed pipeline https://concourse.suse.dev/teams/main/pipelines/kubecf-release-2.3. Note that the pipeline is production ready and should stay, and the PR tab tests only PRs open against release-2.3 (such as this very one you are reading) instead of all possible PRs.
Screenshots (if appropriate):
Types of changes

[x] 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)

Checklist:

[ ] My code has security implications.
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.

Moving this out of in progress on the assumption that merged PRs are done; please comment if this is incorrect, thanks!


⚠ Fortnite has degraded performance

In 7e822b7, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1549 ms

Resolved: Fortnite performance has improved in a5e473e.


Topic compaction fails with S3 tiered storage

Describe the bug
Topic compaction fails if data has been offloaded to S3.
To Reproduce
Steps to reproduce the behavior:

Create a partitioned topic with 4 partitions.  I
Publish data to all 4 partitions.
On one of the partitions, trigger offloading to S3 (I ran bin/pulsar-admin topics offload --size-threshold 2M goanna/test/topic-partition-1).
Trigger compaction of the topic externally (ie the CompactorTool) of the partitions which have not been offloaded (these work fine).
Trigger compaction of the offloaded partition.  It fails.

The broker logs show:
22:55:14.275 [BookKeeperClientWorker-OrderedExecutor-9-0] INFO  org.apache.pulsar.broker.service.ServerCnx - [/<IP_ADDRESS>:50237] [persistent://goanna/test/topic-partition-1][__compaction] Reset subscription to message id 543:0
22:55:14.375 [pulsar-io-51-3] INFO  org.apache.pulsar.broker.service.ServerCnx - [/<IP_ADDRESS>:50237] Subscribing on topic persistent://goanna/test/topic-partition-1 / __compaction
22:55:14.376 [pulsar-io-51-3] INFO  org.apache.bookkeeper.mledger.impl.ManagedCursorImpl - [goanna/test/persistent/topic-partition-1-__compaction] Rewind from 543:0 to 543:0
22:55:14.376 [pulsar-io-51-3] INFO  org.apache.pulsar.broker.service.persistent.PersistentTopic - [persistent://goanna/test/topic-partition-1] There are no replicated subscriptions on the topic
22:55:14.376 [pulsar-io-51-3] INFO  org.apache.pulsar.broker.service.persistent.PersistentTopic - [persistent://goanna/test/topic-partition-1][__compaction] Created new subscription for 0
22:55:14.376 [pulsar-io-51-3] INFO  org.apache.pulsar.broker.service.ServerCnx - [/<IP_ADDRESS>:50237] Created subscription on topic persistent://goanna/test/topic-partition-1 / __compaction
22:55:14.379 [bookkeeper-ml-workers-OrderedExecutor-2-0] WARN  org.apache.bookkeeper.mledger.impl.OpReadEntry - [goanna/test/persistent/topic-partition-1][__compaction] read failed from ledger at position:543:0 : Unknown exception

Note the original exception is swallowed (https://github.com/apache/pulsar/blob/8933d8ddffe649e3e45458005fae5a5c6a3de47a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java#L3173) and the logs only show Unknown exception.
If I modify that code above to log the exception, the underlying cause is:
22:55:14.377 [bookkeeper-ml-workers-OrderedExecutor-2-0] ERROR org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl - Unknown exception null
java.io.EOFException: null
	at java.io.DataInputStream.readInt(DataInputStream.java:397) ~[?:?]
	at org.apache.bookkeeper.mledger.offload.jcloud.impl.BlobStoreBackedReadHandleImpl.lambda$readAsync$1(BlobStoreBackedReadHandleImpl.java:109) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125) ~[com.google.guava-guava-25.1-jre.jar:?]
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57) ~[com.google.guava-guava-25.1-jre.jar:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) ~[com.google.guava-guava-25.1-jre.jar:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.48.Final.jar:4.1.48.Final]
	at java.lang.Thread.run(Thread.java:834) [?:?]

(I'd hoped by logging it might reveal a configuration issue which I could fix).
Expected behavior

Brokers should not swallow unexpected exceptions without logging them, or including as the cause on the propagated exception.
Topic compaction should work for offloaded topics.

Desktop (please complete the following information):

Initially discovered running on docker / k8s (using pulsar-helm-chart)
Later reproduced on a local standalone deployment so I could easily update the managed-ledger jar to see the underlying cause of the exception.

Additional context
Initially mentioned on slack: https://apache-pulsar.slack.com/archives/C5Z4T36F7/p1599623625299300

@gaoran10 Would you please help take a look at this issue?

This was replicated in pulsar 2.6.1

Could not reproduce in my environment, that's the commands I used.
Could you give more information about the compact command you use? @lukestephenson @lukestephenson-zendesk
By the way, the error should not be swallowed any more after https://github.com/apache/pulsar/pull/9323
Feel free to upgrade or cherry-pick this patch to get more detailed diagnosis info
./bin/pulsar-admin tenants create renkai
./bin/pulsar-admin namespaces create renkai/personal
./bin/pulsar-admin topics create-partitioned-topic persistent://renkai/personal/partitioned-topic -p 4
./bin/pulsar-admin topics delete-partitioned-topic persistent://renkai/personal/partitioned-topic

./bin/pulsar-admin topics list renkai/personal
#"persistent://renkai/personal/partitioned-topic-partition-0"
#"persistent://renkai/personal/partitioned-topic-partition-1"
#"persistent://renkai/personal/partitioned-topic-partition-2"
#"persistent://renkai/personal/partitioned-topic-partition-3"

./bin/pulsar-admin topics offload --size-threshold 1k renkai/personal/partitioned-topic-partition-0
./bin/pulsar-admin topics stats-internal persistent://renkai/personal/partitioned-topic-partition-0
./bin/pulsar-admin topics compact persistent://renkai/personal/partitioned-topic
# Topic compaction requested for persistent://renkai/personal/partitioned-topic
# No error log got at server side


Catch setDisplayOrientation() RuntimeException

Catch setDisplayOrientation() RuntimeException in UpdateOrientationRoutine.
This fixes issue #105.

Thanks for fixing the issue! This will into the next release.


Dividends

Does it also export dividend data?
Thanks,
J

There is currently an issue with this fix in which if there are no orders, it will not check for dividends.  Not too big of an issue now, but I'm working up a solution to #16


reaver-wps-t6x: 1.5.2 -> 1.6.3

You have deleted the issue template, reverted a necessary sourceRoot change, and removed dependency on sqlite without explanation.  Could you make merging this harder?

Sorry, it's the wrong commit, this was a wip, I did a rebase/fixup but this has not been pulled. I'll tag you when I'll sort out what's the problem with my git

OK, thank you!

@orivej @pbogdan ok sorry for the noise. Now it should be ok.
The sqlite dependency has been removed here https://github.com/t6x/reaver-wps-fork-t6x/commit/46ccf2e268f74ca12c250157ae6017732e818f41

Builds and runs
Result in /tmp/nox-review-_j6wgu5f
total 4
lrwxrwxrwx 1 demo users 64  8 nov.  18:48 result -> /nix/store/wcbrwimq0xkn79gpx77wmc65mg96b3mq-reaver-wps-t6x-1.6.3

$ /nix/store/wcbrwimq0xkn79gpx77wmc65mg96b3mq-reaver-wps-t6x-1.6.3/bin/reaver --help
Reaver v1.6.3 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner<EMAIL_ADDRESS>


Include "Cookie Exemptions" in Cookie insights page

Feature Request
Description:
Integrate "Cookie Exemptions" into the Cookie Insights page to provide users with detailed information regarding cookie exemption reasons. This information will soon be accessible through the following sources:
Network.requestWillBeSentExtraInfo.associatedCookies
Network.responseReceivedExtraInfo.exemptedCookies
Network.CookieExemptionReason
Motivation:
The inclusion of "Cookie Exemptions" in the Cookie Insights page enhances user understanding of the cookie management process, specifically regarding third-party cookie exemptions. By offering insights into exemption reasons through the mentioned CDP sources, users gain valuable context about why certain cookies are exempted from blocking. To maintain consistency with the existing UI, a dedicated section similar to the "Blocked cookies" section on the Cookie landing page will facilitate easy access and comprehension of exemption-related information.
Assets

Addressed and released as a part of v0.7


Add introspection support for Client API

The getattr protocol adds a level of indirection to the API calls
effectively obfuscating the wrapped API.
The dir protocol instructs the interpreter on how to correctly
introspect the wrapper class.
This enables the traditional <.> +  completion in Python REPL
consoles such as IPython.
Signed-off-by: Matteo Cafasso<EMAIL_ADDRESS>

I personally am a fan of the __getattr__ protocol as it enables an elegant implementation of the compositor pattern.
A drawback though, is the loss of introspection capabilities which is quite neat when exploring APIs on consoles such as IPython.
The __dir__ protocol comes in handy to fix this type of issue.
https://ipython.org/ipython-doc/3/config/integrating.html#tab-completion

great idea thanks, ✨ 🍰 ✨, I'm assuming this just works(tm).


ld: library not found for -lbinder

I found "-lbinder" in CMakeFiles/aidl-cpp.dir/link.txt.The whole content is:

/Library/Developer/CommandLineTools/usr/bin/c++
-std=gnu++11 -fPIC -DPIC -Wno-unused-parameter -Wno-unused-function -Wl,-search_paths_first -Wl,-headerpad_max_install_names
CMakeFiles/aidl-cpp.dir/aidl.cpp.o
CMakeFiles/aidl-cpp.dir/aidl_language.cpp.o ...... -o aidl-cpp  -lbinder

but I find c++/g++ help page ,there isn't a "-l" options definition.How's this going?

For fast,I just commented out the last line in CMakeLists.txt "target_link_libraries(aidl-cpp binder)",and an excutable file aidl-cpp occured.

$ ./aidl-cpp
Expected 3 positional arguments but got 0.
usage: aidl-cpp INPUT_FILE HEADER_DIR OUTPUT_FILE
OPTIONS:
-I   search path for import statements
-d  generate dependency file
INPUT_FILE:
an aidl interface file
HEADER_DIR:
empty directory to put generated headers
OUTPUT_FILE:
path to write generated .cpp code

I don't know if the work can be over?


🔄 Synced file(s) with jhudsl/OTTR_Template

Synced local file(s) with jhudsl/OTTR_Template.

Changed files

Synced local  .github/workflows/render-bookdown.yml with remote  .github/workflows/render-bookdown.ymlSynced local  .github/workflows/render-preview.yml with remote  .github/workflows/render-preview.ymlSynced local  .github/workflows/docker-build-test.yml with remote  .github/workflows/docker-build-test.ymlSynced local  .github/workflows/transfer-rendered-files.yml with remote  .github/workflows/transfer-rendered-files.ymlSynced local  .github/workflows/style-and-sp-check.yml with remote  .github/workflows/style-and-sp-check.ymlSynced local  .github/workflows/release-notes.yml with remote  .github/workflows/release-notes.ymlSynced local  .github/ISSUE_TEMPLATE/course-problem-report.md with remote  .github/ISSUE_TEMPLATE/course-problem-report.mdSynced local  .github/ISSUE_TEMPLATE/course-content-add.md with remote  .github/ISSUE_TEMPLATE/course-content-add.mdSynced local  scripts/spell-check.R with remote  scripts/spell-check.RSynced local  scripts/git_repo_check.R with remote  scripts/git_repo_check.RSynced local  code_of_conduct.md with remote  code_of_conduct.mdCreated local directory style-sets and copied all sub files/folders from remote directory style-sets

This PR was created automatically by the repo-file-sync-action workflow run #1608525671

Please carefully review these changes and decide which are useful for your course.
See the release notes: https://github.com/jhudsl/OTTR_Template/releases

If you don't want the changes from a particular file, you can always revert that particular commit before merging the sync PR.
If you will not want any updates on this file in the future, you may want to remove a file from being synced in your repo by reconfiguring the sync file.

If you want only some changes, but they are not on a whole file basis, you could check out the branch and make manual edits. To checkout the branch, navigate to your own repository you should be able to run:

git checkout repo-sync/OTTR_Template/default

If you don't want any of the changes you can close the PR entirely.

You may want to unenroll your repository from the sync GitHub actions by filing a PR on OTTR_Template
to delete your repo name from this file if this will continue to be the case.


Added multi-line support

Added support for multiple strings for localization, ex.
….
"message" : [ "line 1 to",
"line 2 of message",
"line 3 of message" ],
….

This change is

Can u provide the use case? Why should the message be joined at runtime?

Some special cases we have on our localization for an application from english to spanish, in spanish some sentences are longer and in our case made more ease (for reading) to have multiple 'lines' on the json instead of a long string. You may say the editor has some times the 'wrap words' function, however it helped us (made it more easy to check). Believe it is something that may be useful for somebody else.


Is GoogleService-Info.plist is harmful for jailbreak iOS devices or hacker?

Environment

Xcode version: 9.3.1

Firebase/Core (5.3.0):

In jail break iOS devices the plist is readable. so anyone can read the plist about GoogleService-Info.plist data. They can read the api key, app id, client id and others data. For secondary option configuration, the Crashlytics  don't send the crash data to dash board. But it configured successfully. I can read remote config data through secondary configuration. So what should to do?

Don't store sensitive information in remote config, and use security rules to secure your information in RTDB/Firestore/Storage. Leaking remote config values shouldn't be a significant concern since the values must be interpreted by your app to have meaning and they're going to be visible directly or indirectly in your app anyway.
In general you can't assume someone calling your Firebase APIs is necessarily a user using your app.


Send request metadata through to adapters

The change in the memory adapter was due to the transpiler using arguments.length as a way to do the default value on the options parameter:
value: function find(type, ids) {
    var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];

Having the meta field caused this to break in the tests

Merged and published as 1.1.0. Thanks!

Thank you!
On Aug 20, 2015 12:58 AM, "0x8890"<EMAIL_ADDRESS>wrote:

Merged and published as 1.1.0. Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/fortunejs/fortune/pull/117#issuecomment-132911979.


align-items does not work

no matter what I do, in older versions in IE, if i display a container as flex, it's children  are always in the center vertically. I especially cannot use "stretch"

try to add margin: 0px on the elements of flex-container


Tiny cosmetical bug

It's just a really tiny UI bug. But small issues are important as well. :)
Open a drop down menu with more than one item. Hit Tab so a dashed border will appear around an item. Hit enter to select it. The drop down will collapse again and the dashed border will stay. If you now hover with your mouse over the arrow, so that it'll change it's color, the mouse over color and the dashed border touch each other.
--
Environment

MahApps.Metro v<IP_ADDRESS>
Windows 7
Visual Studio 2012
.NET Framework 4.5.2

@Prodigio Do you mean a ComboBox?

@Prodigio Please try v1.3.0

@punker76 Yes I meant the ComboBox. I tried v1.3.0; issue is still present.
Here's a picture of it.
http://pasteboard.co/kqozXb2CJ.png

@Prodigio This is not a bug, it's a feature... the FocusVisualStyle. It's normal behavior of a ComboBox...

@punker76 Well my picture is looking different to yours.

@Prodigio The screenshots are from a normal Combobox. But the v1.3.0 MahApps style looks similar. It seems yours is from 1.2.4?

@Prodigio It could also a inner Control imside DataTemplate that get the focus

@punker76 Mine is from a normal ComboBox too. Unfortunately no, it's v.1.3.0.
Back to german: Es ist direkt nach dem Grid eingefügt. Kein DataTemplate o.ä. umschweift es.

@Prodigio You can prevent this focus style by setting FocusVisualStyle="{x:Null}" on the Combobox.


Linting fails when previous lint job hasn't finished

I'm noticing an issue that can cause linting to fail for projects where a linter run is in progress for a given PR and more commits are added to the PR.
This happens for me most regularly when using fixers on a copy of a repo with a lot of small files. It looks like the working directory isn't quite empty by the time the next webhook is delivered.
Linting and fixing run OK here:
worker_1  | [2018-04-23 18:06:06,361: INFO/Worker-1] JSON was returned
worker_1  | [2018-04-23 18:06:06,362: INFO/Worker-1] Building a url from ('https://ghe.contoso.com/api/v3/repos/alzabo/infrastructure-puppet/pulls/2', 'commits')
worker_1  | [2018-04-23 18:06:06,363: INFO/Worker-1] Missed the cache building the url
worker_1  | [2018-04-23 18:06:06,363: INFO/Worker-1] Running fixers on 4 files
worker_1  | [2018-04-23 18:06:06,364: INFO/Worker-1] Running fixer rubocop on 1 files
worker_1  | [2018-04-23 18:06:06,364: INFO/Worker-1] Running ruby2 container
worker_1  | [2018-04-23 18:06:07,919: INFO/Worker-1] Running fixer puppet-lint on 1 files
worker_1  | [2018-04-23 18:06:07,920: INFO/Worker-1] Running ruby2 container
worker_1  | [2018-04-23 18:06:08,587: INFO/Worker-1] Using commit workflow to apply fixer changes
worker_1  | [2018-04-23 18:06:11,941: INFO/Worker-1] Running lint tools on 4 files
worker_1  | [2018-04-23 18:06:11,942: INFO/Worker-1] Running rubocop on 1 files
worker_1  | [2018-04-23 18:06:11,942: INFO/Worker-1] Running ruby2 container
worker_1  | [2018-04-23 18:06:13,083: INFO/Worker-1] Running puppet-lint on 1 files
worker_1  | [2018-04-23 18:06:13,084: INFO/Worker-1] Running ruby2 container
worker_1  | [2018-04-23 18:06:13,703: INFO/Worker-1] Building a url from ('https://ghe.contoso.com/api/v3/repos/alzabo/infrastructure-puppet/pulls/2', 'comments')
worker_1  | [2018-04-23 18:06:13,704: INFO/Worker-1] Missed the cache building the url
worker_1  | [2018-04-23 18:06:13,777: INFO/MainProcess] Received task: lintreview.tasks.process_pull_request[f4227a74-4cfc-4ed1-9b9b-ed2202434792]
worker_1  | [2018-04-23 18:06:13,780: INFO/Worker-2] Starting to process lint for
worker_1  | [2018-04-23 18:06:13,781: INFO/Worker-2] Loading pull request data from github. user=alzabo repo=infrastructure-puppet number=2
worker_1  | [2018-04-23 18:06:13,782: INFO/Worker-2] Building a url from ('https://ghe.contoso.com/api/v3', 'repos', 'alzabo', 'infrastructure-puppet')
worker_1  | [2018-04-23 18:06:13,782: INFO/Worker-2] Missed the cache building the url
worker_1  | [2018-04-23 18:06:13,898: INFO/Worker-1] Attempting to get JSON information from a Response with status code 200 expecting 200
worker_1  | [2018-04-23 18:06:13,900: INFO/Worker-1] JSON was returned
worker_1  | [2018-04-23 18:06:13,905: INFO/Worker-1] Publishing review of 0 new comments for alzabo/infrastructure-puppet/pull/2
worker_1  | [2018-04-23 18:06:14,199: INFO/Worker-2] Attempting to get JSON information from a Response with status code 200 expecting 200
worker_1  | [2018-04-23 18:06:14,200: INFO/Worker-2] JSON was returned
worker_1  | [2018-04-23 18:06:14,204: INFO/Worker-2] Building a url from ('https://ghe.contoso.com/api/v3/repos/alzabo/infrastructure-puppet', 'pulls', '2')
worker_1  | [2018-04-23 18:06:14,204: INFO/Worker-2] Missed the cache building the url
worker_1  | [2018-04-23 18:06:14,226: INFO/Worker-1] Attempting to get JSON information from a Response with status code 201 expecting 201
worker_1  | [2018-04-23 18:06:14,226: INFO/Worker-1] JSON was returned
worker_1  | [2018-04-23 18:06:14,227: INFO/Worker-1] Building a url from ('https://ghe.contoso.com/api/v3/repos/alzabo/infrastructure-puppet', 'statuses', '69e44942da37f5e741661474df3b516246eb0096')
worker_1  | [2018-04-23 18:06:14,359: INFO/Worker-2] Attempting to get JSON information from a Response with status code 200 expecting 200
worker_1  | [2018-04-23 18:06:14,360: INFO/Worker-2] JSON was returned
worker_1  | [2018-04-23 18:06:14,363: INFO/Worker-2] Building a url from ('https://ghe.contoso.com/api/v3/repos/alzabo/infrastructure-puppet', 'statuses', 'dfd8bcdabeadc24aa056cc5d60b6dbcc5b12cedf')
worker_1  | [2018-04-23 18:06:14,364: INFO/Worker-2] Missed the cache building the url
worker_1  | [2018-04-23 18:06:14,367: INFO/Worker-1] Attempting to get JSON information from a Response with status code 201 expecting 201
worker_1  | [2018-04-23 18:06:14,367: INFO/Worker-1] JSON was returned
worker_1  | [2018-04-23 18:06:14,369: INFO/Worker-1] Completed lint processing for alzabo/infrastructure-puppet/2
alzabo/infrastructure-puppet/2

The next webhook starts to be evaluated here:
worker_1  | [2018-04-23 18:06:14,483: INFO/Worker-2] Attempting to get JSON information from a Response with status code 201 expecting 201
worker_1  | [2018-04-23 18:06:14,484: INFO/Worker-2] JSON was returned

Cloning fails:
worker_1  | [2018-04-23 18:06:14,485: INFO/Worker-2] Cloning repository 'https://ghe.contoso.com/alzabo/infrastructure-puppet.git' into '/tmp/workspace/alzabo/infrastructure-puppet/2'
worker_1  | [2018-04-23 18:06:14,494: ERROR/Worker-2] STDERR output: fatal: destination path '/tmp/workspace/alzabo/infrastructure-puppet/2' already exists and is not an empty directory.
worker_1  |
worker_1  | [2018-04-23 18:06:14,495: ERROR/Worker-2] Unable to clone repository into '/tmp/workspace/alzabo/infrastructure-puppet/2'
worker_1  | [2018-04-23 18:06:14,495: ERROR/Worker-2] Unable to clone repository into '/tmp/workspace/alzabo/infrastructure-puppet/2'
worker_1  | Traceback (most recent call last):
worker_1  |   File "/code/lintreview/tasks.py", line 51, in process_pull_request
worker_1  |     git.clone_or_update(config, clone_url, target_path, pr_head)
worker_1  |   File "/code/lintreview/git.py", line 76, in clone_or_update
worker_1  |     authenticated_clone(config, url, path)
worker_1  |   File "/code/lintreview/git.py", line 45, in authenticated_clone
worker_1  |     clone(url, path)
worker_1  |   File "/code/lintreview/git.py", line 17, in wrapper
worker_1  |     return func(*args, **kwargs)
worker_1  |   File "/code/lintreview/git.py", line 55, in clone
worker_1  |     raise IOError(u"Unable to clone repository into '{}'".format(path))
worker_1  | IOError: Unable to clone repository into '/tmp/workspace/alzabo/infrastructure-puppet/2'
worker_1  | [2018-04-23 18:06:14,502: INFO/MainProcess] Task lintreview.tasks.process_pull_request[f4227a74-4cfc-4ed1-9b9b-ed2202434792] succeeded in 0.722406757995s: None

The workspace is cleaned up:
worker_1  | [2018-04-23 18:06:14,862: INFO/Worker-1] Cleaned up pull request alzabo/infrastructure-puppet/2
worker_1  | [2018-04-23 18:06:14,866: INFO/MainProcess] Task lintreview.tasks.process_pull_request[4a1e30c7-3cb7-4a62-a024-75a4cec11551] succeeded in 33.171103843s: None
[root@lint-review2 lint-review]# ls -la /tmp/workspace/alzabo/infrastructure-puppet/2
ls: cannot access /tmp/workspace/alzabo/infrastructure-puppet/2: No such file or directory
[root@lint-review2 lint-review]# ls -la /tmp/workspace/alzabo/infrastructure-puppet/
total 8
drwxr-xr-x 2 root root 4096 Apr 23 18:06 .
drwxr-xr-x 3 root root 4096 Apr 23 18:05 ..
[root@lint-review2 lint-review]#

You should run fewer workers processes in celery. By default celery will run as many processes as you have processors/cores. You might want to dial that back.

Updating the celery options in my docker-compose file to add --concurrency 1 looks to have fixed the problem for the repo I had that always failed. Thanks!


[Question] "Easier way" to utilise Masonry with UILabel

As per MASExampleLabelView.m on Nov 26, 2013

"// for multiline UILabel's you need set the preferredMaxLayoutWidth
// you need to do this after [super layoutSubviews] as the frames will have a value from Auto Layout at this point
// stay tuned for new easier way todo this coming soon to Masonry"

Has a "new easier way todo this" been implemented?

@sao101 unfortunately we should probably remove that, there isn't an easier way at this time.


Set up NilVM to be available as a service in devenv

We would like the devnet to be available to developers using devenv.sh by adding
service.nilvm.enable = true;
service.nilvm.environment = "devnet";

or something similar
this is to reduce some of the friction when setting up the SDK toolset

what would a config look like that enables all nillion devtools (so we also get nada and pynadac, etc)


inconsistent naming of deviceIdentifier

Describe the bug
In JDOM, JDDevice has a field called "deviceId". JDService and Packet have a field called deviceIdentifier. We should pick one!

248 hits for deviceId vs 43 for deviceIdentifiers, looks like deviceId wins.

We need to wait for big PRs to come in to address this or it'll be merge fest.


Remove trailing '/' in the production URL

Describe the bug
Url of the website has a trailing '/' for every page route, remove the trailing '/'
Expected:
https://arclix.github.io/arclix-docs
Actual
https://arclix.github.io/arclix-docs/
Reproduction
https://github.com/arclix/arclix-docs
Steps to reproduce
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Arclix issue and not a React specific issue.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] Please follow minimal reproducible example of the bug.

[ Tiraged ] Good to start the development


Automated cherry pick of #2461: fix snapshot can't delete

Cherry pick of #2461 on release/2.12.
#2461: fix snapshot can't delete

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@609b052). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.12   #2462   +/-   ##
==============================================
  Coverage                ?   7.08%
==============================================
  Files                   ?     456
  Lines                   ?   71758
  Branches                ?       0
==============================================
  Hits                    ?    5085
  Misses                  ?   66255
  Partials                ?     418

Flag
Coverage Δ

#aFlag
7.08% <ø> (?)

Impacted Files
Coverage Δ

pkg/compute/models/regiondrivers.go
20% <ø> (ø)

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 609b052...1d41c60. Read the comment docs.

/lgtm

/approve


Fix wrong use of deny when describing allow policy in secure metrics

The secure metrics documents  describe all Allow rules as deny.
This pull request fixes them.

@sgaist This seems like a good fix. Thanks! Let me double-check a few things. I'll get back to you with any questions. Thanks again for the contribution!


Add FusionAuth SAML integration guide

Following Aiven guidelines to create an article demonstrating how to use FusionAuth as the IdP via SAML.

Hi there, I've rebased the branch and added some missing words to vale's dict. Thanks for the heads up!

Hi @staceysalamon-aiven , thank you for reviewing this! I've applied your suggestions and made the other changes. Please let me know if there is anything else!

Hi @staceysalamon-aiven , thank you for reviewing this! I've applied your suggestions and made the other changes. Please let me know if there is anything else!

Thanks for doing that! There's an error on line 59 that I think is due to the following lines not being indented?

Hmm that was strange because it compiled well with make livehtml.. But it's fixed! Thanks!


DSD-806: font styles for input components

Fixes JIRA ticket xxx
This PR does the following:

Updates font size to "12px" and top margin to "4px" for HelperErrorText component.
Updates font size to "14px" for TextInput component.

How has this been tested?

n/a

Checklist:

[x] I have updated the Storybook documentation accordingly.
[ ] I have added relevant accessibility documentation for this pull request.
[x] All new and existing tests passed.

Front End Review:

[ ] View the example in Storybook

Tugboat has finished building the preview for this pull request!
Link:

https://pr877-jwpaxljzl9dvvlpmlojuwpgbtlmrqisf.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/6214134ddf1c1f9d5e680d6c

Looks good but some invalid text look very small next to the helper test:
In the SearchBar with a Select, the helper text has more margin than the SearchBar without the Select. This doesn't seem intentional.
And just curious, why the font change and margin?

@EdwinGuzman,
The font size in the React components was wrong when comparing to the Figma designs.  Figma has it as 12px, but the Reach component was set to 14px.  For the spacing, 4px feels better overall.  There are some cases where it will need top be cloeaned up.  And you just found one in DatePicker.  Let me see what I can do about that one now.
The spacing issues in SearchBar are related to the button component.  When the showSelect is true, the button has a bottom margin of 9px.  But that is removed when showSelect is false.  I will add that to the issue tracker.

Tugboat has finished building the preview for this pull request!
Link:

https://pr877-jwpaxljzl9dvvlpmlojuwpgbtlmrqisf.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/6214134ddf1c1f9d5e680d6c

Tugboat has finished building the preview for this pull request!
Link:

https://pr877-jwpaxljzl9dvvlpmlojuwpgbtlmrqisf.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/6214134ddf1c1f9d5e680d6c


Project scope

I find the idea of a native wgpu based renderer amazing, however I wonder how much is planned to be implemented to be on parity with the web based alternatives. Perhaps having a compatibility table would be nice? Going beyond the PoC seems like a major effort to replicate the many things a web view does(e.g. accessibility, text input, grid model, animations/transitions, css custom props, no web components 😢, etc.)

I think a lot of this could be split out into separate discussions/issues, but are some of my thoughts:

The plan for Blitz is to support whatever subset of HTML is necessary to build real applications. It will not support all attributes or elements, but some more modern subset.

Initially I think something close to what QT supports would be a good goal, and then we can expand from there.

For accessibility the plan is to integrate with accesskit (see #14)
Widgets

Because Blitz is a general purpose renderer, widgets need to normal elements not components (like TUI uses). I'm still unsure if this should be pulled out and only supported when used as a Dioxus renderer or if not what the API would look like for this for non-Dioxus renderers.
Much of the work to get TUI widgets working can be reused with Blitz. Specifically we can reuse the text editing code in native-core to get text editing with most of the shortcuts native widgets support.

@ nicoburns has done some really fantastic work on the Grid model in Taffy which should be integrated into Blitz in the future
Animations/Transitions/CSS Variables/Stylesheets could be supported in the future, but are not a priority right now. I would like to see how far we can get with just inline styles.

Is blitz a renderer or a UI framework? Because things like accessibility (using accesskit) and layout (using taffy) are typically handled at the framework level and not by a renderer.

Is blitz a renderer or a UI framework? Because things like accessibility (using accesskit) and layout (using taffy) are typically handled at the framework level and not by a renderer.

The plan is for it to be a bring-your-own-state-management framework with Dioxus state management built in, but Dioxus specific parts and the non-Dioxus specific parts are not properly separated right now. Blitz should be able to roughly replace a browser for UI frameworks like Leptos, Sycamore, and Dioxus. It's not a traditional renderer, but it renderers HTML to the screen.


Add metrics for principal cache memory usage

Description
Add memoryUsage for principal cache
Type of change

[ ] Bug fix
[x] New feature
[ ] Refactoring (no functional changes, no api changes)
[ ] Non-code changes (update documentation, pipeline, etc.)

Flags

[ ] Breaks backward compatibility
[ ] Requires a documentation update
[ ] Has untestable code

Related issue/PR
Delete this section if there are no issues or pull requests that relate to this pull request.

Fixes #issue
Closes #PR

Checklist

[ ] Followed the guidelines in the CONTRIBUTING document
[ ] Added prefix [skip ci]/[ci skip]/[no ci]/[skip actions]/[actions skip] in the PR title if necessary
[ ] Tested and linted the code
[ ] Commented the code
[ ] Made corresponding changes to the documentation
[ ] Passed all pipeline checking

Checklist for maintainer

Use Squash and merge
Double-confirm the merge message has prefix [skip ci]/[ci skip]/[no ci]/[skip actions]/[actions skip]
Delete the branch after merge

metrics.goに追加した関数に関するテストも追加をお願いします

92aec89 で追加


Hope to provide more detailed content about embeddings.json.gz

Hello, I am very interested in your research.
I hope to get the details about embeddings.json.gz: the correspondence among words - word embedding - instruction_tokens.
I would be very grateful if I could get your reply.

Hi @Dominique-github,
Thank you for your interest! In the data format displayed here https://jacobkrantz.github.io/vlnce/data, instruction_text is the raw R2R instruction string. We then performed some preprocessing to derive instruction_tokens:
We used this tokenization function https://github.com/facebookresearch/habitat-lab/blob/v0.1.5/habitat/datasets/utils.py#L25
to get a list of words for each instruction. We then checked if each word was present in the pre-trained GloVe embedding file glove.6B.50d.txt available here https://nlp.stanford.edu/projects/glove/. If the word was present in the GloVe file, we mapped it to a unique integer >= 2. If it was not, we mapped that word to a value of 1 (representing unknown). We padded each instruction with values of 0 to reach a length of 200. The mapping between word and integer can be found in the instruction_vocab accompanying each dataset split. We computed this vocab for all splits together (train, val_seen, val_unseen), so instruction_vocab is identical for each split.
The embeddings file is a list of word embeddings. Indices in the list correspond to  mapped word integer tokens in instruction_tokens and instruction_vocab. For example, embeddings[0] is the 50-dimensional zero vector for the pad token. We set the embedding for unknown words (index 1) to the mean of the other word embeddings that exist in R2R. All the rest of the embeddings are from glove.6B.50d.txt.

Thank you for your detailed explanation, it is of great help to me.


Port to bevy v0.11.0

Hey,
This should be the minimal set of changes to get this plugin working on the new version of bevy.

Thanks!


Fixed up installation scripts

We now have a single script to install packages.
I also removed the old 'dependencies.py' file that I don't think is called anywhere (nor did it actually do anything).

We have no way to test this quickly for now since we don't have a redhat/fedora machine, but it works fine on Ubuntu.
@SLMT Can you try it out real quick for us? Thanks.

@apavlo It seems that there's some error in the script and it cannot be executed:
https://travis-ci.org/cmu-db/peloton/jobs/180169158

Coverage decreased (-0.1%) to 52.5% when pulling a38b8769e9aa6ab0d049f47e51b1fbdc185a2e4b on apavlo:master into ce837be8b27d004fa8ab3cd4832dce34ab7bfb09 on cmu-db:master.

@apavlo I just tried it. It seems like it didn't work on Fedora:
[slmt@fedora64 peloton]$ sh ./script/installation/packages.sh
Unknown distribution 'FEDORA
OS
REDHAT
SYSTEM
SYSTEM'
Please contact our support team for additional help. Be sure to include the contents of this message
Platform: Linux fedora64.slmt 4.5.5-300.fc24.x86_64 #1 SMP Thu May 19 13:05:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

https://github.com/cmu-db/peloton/issues

This should fix it: https://github.com/cmu-db/peloton/pull/369/commits/a067da25c9660570cad8f1b6e98dff69b76a8cbf

@apavlo It works now ! Everything looks good.


Server side rendering wrong css styles

I've got Header that renders different elements depending on viewport. When mobile page is loaded, some css styles from desktop viewport are stay on mobile viewport elements, which is strange:
<Breakpoint medium up>
  <div1 />
  <div2 className='a' />
  <div3 />
</Breakpoint>
<Breakpoint small down>
  <div4 />
  <div5 />
  <div6 />
</Breakpoint>

on mobile viewports results in:
...
  <div4 />
  <div5 className='a' />
  <div6 />
...

Where <divN> some component.

I have the same issue. To solve it I use Bootstrap's breakpoint classes instead. Not optimal considering there will be a lot of unnecessary rendering. Would appreciate if this issue can be solved.

This is because while rendering in server, React cannot identify the breakpoint as breakpoints exist only in browsers. That's why we default to desktop breakpoint in server. One solution is to extend the api in a way that users can identify useragent from request header and pass it in to the lib as default. It will take some time to get it done as the approach is not standard and we will have to unify the approach for all server frameworks (Next, Gatsby, vanilla).

This is because while rendering in server, React cannot identify the breakpoint as breakpoints exist only in browsers. That's why we default to desktop breakpoint in server. One solution is to extend the api in a way that users can identify useragent from request header and pass it in to the lib as default. It will take some time to get it done as the approach is not standard and we will have to unify the approach for all server frameworks (Next, Gatsby, vanilla).

Yes, this is exactly what I figured out while trying to surpass this problem.
But the problem is, that while rendered on client side (after hydrate) we don't see the correct elements, so I need to force update it to render properly.
I have 2 solutions(ish, they are ugly) for now, you can either hide them on server side to show up only on client side(when you know dimensions), or you can force update after component mounted on client side.
Is there any approach to handle this without re-render (and without integrating with server side)?

Same issue here... :( Too bad this library could be very useful

Same Issue here. Anyone with a workaround to it yet?

Same issue.

This is because while rendering in server, React cannot identify the breakpoint as breakpoints exist only in browsers. That's why we default to desktop breakpoint in server.

I reckon the problem lies here on the function getWidthSafely() as it defaults to 9999.
It's probably a good idea to have an option to set that default value instead of having 9999, that would be easy to implement and would probably be already enough for most use-cases?

One solution is to extend the api in a way that users can identify useragent from request header and pass it in to the lib as default.

With https://www.npmjs.com/package/device ( which powers https://github.com/rguerreiro/express-device ) it should be very easy to implement that.

It will take some time to get it done as the approach is not standard and we will have to unify the approach for all server frameworks (Next, Gatsby, vanilla).

I believe with the option to set default width and the device package people should be able to sort implement themselves while we don't sort out out-of-the-box compatibility with Next and Gatsby?

This is because while rendering in server, React cannot identify the breakpoint as breakpoints exist only in browsers. That's why we default to desktop breakpoint in server.

I reckon the problem lies here on the function getWidthSafely() as it defaults to 9999.

I have created a PR https://github.com/flexdinesh/react-socks/pull/40 which adds this option to the library, this way at least we can set default value to be the mobile breakpoint, so server-side would render mobile-first.
From that point on I believe workaround can be implemented by users on case-to-case basis?
I'm using Next.js myself, so i had to implement a quick fix, i was able to do it by installing https://www.npmjs.com/package/next-useragent and then calling the function setDefaultWidth based on the flag isMobile, and it works!

There is no magical fix for this but setDefaultWidth API published as part of v2.2.0 will help with this. This is a popular issue and I'm gonna keep it open for other folks who might run into similar problems.


Add ActiveHelp when no completions are provided

What this PR does / why we need it
Add and ActiveHelp printout to shell completion when no completions are provided.
Please see the testing section for examples.
Reminder: ActiveHelp printouts are only shown in bash and zsh
Which issue(s) this PR fixes

Fixes #
Describe testing done for PR
I tried all the cases manually, but the unit test also cover every case.
$ tz ceip get <TAB>
This command does not take any more arguments (but may accept flags).

$ tz ceip set true <TAB>
This command does not take any more arguments (but may accept flags).

$ tz config cert list <TAB>
This command does not take any more arguments (but may accept flags).

$ tz config cert add --host localhost:9876 <TAB>
This command does not take any more arguments (but may accept flags).

$ tz config cert update localhost:9876 <TAB>
This command does not take any more arguments (but may accept flags).

$ tz config cert delete localhost:9876 <TAB>
This command does not take any more arguments (but may accept flags).

$ tz completion bash <TAB>
This command does not take any more arguments (but may accept flags).

$ tz config get <TAB>
This command does not take any more arguments (but may accept flags).

$ tz config set env.VAR val <TAB>
This command does not take any more arguments (but may accept flags).

$ tz config unset env.VAR <TAB>
This command does not take any more arguments (but may accept flags).

$ tz config init <TAB>
This command does not take any more arguments (but may accept flags).

$ tz context list <TAB>
This command does not take any more arguments (but may accept flags).

$ tz context delete tkg1 <TAB>
This command does not take any more arguments (but may accept flags).

$ tz context get tkg1 <TAB>
This command does not take any more arguments (but may accept flags).

$ tz context use tkg1 <TAB>
This command does not take any more arguments (but may accept flags).

$ tz context unset tkg1 <TAB>
This command does not take any more arguments (but may accept flags).

$ tz context create tkg1 --endpoint <TAB>
Please enter the endpoint for which to create the context

$ tz context create tkg1 --api-token <TAB>
Please enter your api-token (you can instead set the variable TANZU_API_TOKEN)

$ tz context get-token tae <TAB>
This command does not take any more arguments (but may accept flags).

$ tz context update tae-active-resource tae <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin source init <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin source list <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin source update default -u someURI <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin source update default -u <TAB>
Please enter the uri of the OCI image for plugin discovery

$ tz plugin source delete default <TAB>
This command does not take any more arguments (but may accept flags).

$ tz generate-all-docs <TAB>
This command does not take any more arguments (but may accept flags).

$ tz config eula accept <TAB>
This command does not take any more arguments (but may accept flags).

$ tz config eula show <TAB>
This command does not take any more arguments (but may accept flags).

$ tz init <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin download-bundle --to-tar plugin_bundle.tar <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin download-bundle --dry-run <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin download-bundle --image <TAB>
Please enter the URI of the plugin discovery image providing the plugins

$ tz plugin download-bundle --group invalid:<TAB>
There is no group named: 'invalid'

$ tz plugin upload-bundle --to-repo <TAB>
Please enter the URI of the destination repository for publishing plugins

$ tz plugin upload-bundle --tar plugin_bundle.tar --to-repo localhost:9876/test/airgapped/v1/tanzu-cli/plugins/ <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin group search <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin group get invalid:<TAB>
Invalid group format: 'invalid'

$ tz plugin group get vmware-tkg/invalid:<TAB>
There is no group named: 'vmware-tkg/invalid'

$ tz plugin search <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin list <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin clean <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin sync <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin install builder <TAB
This command does not take any more arguments (but may accept flags).

$ tz plugin install --group invalid:<TAB>
Invalid group format: 'invalid'

$ tz plugin install --group vmware-tkg/invalid:<TAB>
There is no group named: 'vmware-tkg/invalid'

$ tz plugin upgrade builder <TAB>
This command does not take any more arguments (but may accept flags).

$ tz plugin delete builder <TAB>
This command does not take any more arguments (but may accept flags).

$ tz version <TAB>
This command does not take any more arguments (but may accept flags).

Release note

Add ActiveHelp to shell completion when no completions are suggested.

Additional information
Special notes for your reviewer

I feel these bits of UX feedback will actually give users more confidence in relying on the dynamic completion, leaving little questions as to when it is actually available.

Good point. But until we have such things for plugins it’s going to be limited in its benefit.


integrate the information on the tires

I have another question :-)
Would it be possible to integrate the information on the tires?
In fact, I am on jeedom and I have a raspbery that runs under HA only for my fiat... and I use https://github.com/wubbl0rz/FiatChamp
This module also returns information on the state of the tires.
Thanks !

integrated with last update

I also added these lines in order to have the warnings in binary 👍
  'tyre_pressure_front_left_warning' => $x['vehicle'][$vin]['status']['vehicleInfo']['tyrePressure']['0']['warning'],
  'tyre_pressure_front_rigth_warning' => $x['vehicle'][$vin]['status']['vehicleInfo']['tyrePressure']['1']['warning'],
  'tyre_pressure_rear_left_warning' => $x['vehicle'][$vin]['status']['vehicleInfo']['tyrePressure']['2']['warning'],
  'tyre_pressure_rear_right_warning' => $x['vehicle'][$vin]['status']['vehicleInfo']['tyrePressure']['3']['warning'],

Not sure if this makes sense. When there is a problem I assume than the status field will switch from "NORMAL" to whatever. In the output of my car the value of the warning field is empty. Do you have an example value for the warning field?

the warning value returns "False" or "True". This allows me to easily manage the condition of the tire.

ah ok, this makes sense. For my car this field is just empty. I assume you know now how to extend the data. If you uncomment the print_r statement in line 141 of https://github.com/mahil4711/fiat_vehicle_mqtt/blob/main/fiat_mqtt.php
// This will print out all possible data which could be read from the Fiat API
// print_r($x);
you will see all available data.

Thanks.
However, my logs are limited in number of lines and I don't see everything.
2024-09-28T15:42:09.952511913Z                                             [distanceToEmpty] => Array
2024-09-28T15:42:09.952526231Z                                                 (
2024-09-28T15:42:09.952545368Z                                                     [value] => 176
2024-09-28T15:42:09.952558638Z                                                     [unit] => km
2024-09-28T15:42:09.952575889Z                                                 )
2024-09-28T15:42:09.952588739Z
2024-09-28T15:42:09.952600962Z                                         )
2024-09-28T15:42:09.952613394Z
2024-09-28T15:42:09.952625826Z                                     [timestamp] =><PHONE_NUMBER>471
2024-09-28T15:42:09.952638118Z                                     [schedules] => Array
2024-09-28T15:42:09.952650619Z                                         (
2024-09-28T15:42:09.952662912Z                                             [0] => Array
2024-09-28T15:42:09.952674924Z                                                 (
2024-09-28T15:42:09.952687775Z                                                     [chargeToFull] =>
2024-09-28T15:42:09.952700137Z                                                     [scheduleType] => CHARGE
2024-09-28T15:42:09.952712639Z                                                     [enableScheduleType] => 1
2024-09-28T15:42:09.952724931Z                                                     [scheduledDays] => Array
2024-09-28T15:42:09.952737363Z                                                         (
2024-09-28T15:42:09.952749725Z                                                             [sunday] => 1
2024-09-28T15:42:09.952762157Z                                                             [saturday] => 1
2024-09-28T15:42:09.952784087Z                                                             [tuesday] => 1
2024-09-28T15:42:09.952796449Z                                                             [wednesday] => 1
2024-09-28T15:42:09.952809021Z                                                             [thursday] => 1
2024-09-28T15:42:09.952821243Z                                                             [friday] => 1
2024-09-28T15:42:09.952833815Z                                                             [monday] => 1
2024-09-28T15:42:09.952847015Z                                                         )
2024-09-28T15:42:09.952859307Z
2024-09-28T15:42:09.952871250Z                                                     [startTime] => 02:00
2024-09-28T15:42:09.952883891Z                                                     [endTime] => 06:00
2024-09-28T15:42:09.952896253Z                                                     [cabinPriority] =>
2024-09-28T15:42:09.952908755Z                                                     [repeatSchedule] => 1
2024-09-28T15:42:09.952921047Z                                                 )
2024-09-28T15:42:09.952933060Z
2024-09-28T15:42:09.952945492Z                                             [1] => Array
2024-09-28T15:42:09.952957784Z                                                 (
2024-09-28T15:42:09.952970286Z                                                     [chargeToFull] =>
2024-09-28T15:42:09.952982578Z                                                     [scheduleType] => CHARGE
2024-09-28T15:42:09.952995080Z                                                     [enableScheduleType] =>
2024-09-28T15:42:09.953007372Z                                                     [scheduledDays] => Array
2024-09-28T15:42:09.953020223Z                                                         (
2024-09-28T15:42:09.953032306Z                                                             [sunday] =>
2024-09-28T15:42:09.953045017Z                                                             [saturday] =>
2024-09-28T15:42:09.953057030Z                                                             [tuesday] =>
2024-09-28T15:42:09.953069881Z                                                             [wednesday] =>
2024-09-28T15:42:09.953082243Z                                                             [thursday] =>
2024-09-28T15:42:09.953094744Z                                                             [friday] =>
2024-09-28T15:42:09.953106967Z                                                             [monday] =>
2024-09-28T15:42:09.953119748Z                                                         )
2024-09-28T15:42:09.953131691Z
2024-09-28T15:42:09.953143913Z                                                     [startTime] => 00:00
2024-09-28T15:42:09.953165424Z                                                     [endTime] => 00:00
2024-09-28T15:42:09.953177717Z                                                     [cabinPriority] =>
2024-09-28T15:42:09.953190707Z                                                     [repeatSchedule] => 1
2024-09-28T15:42:09.953203069Z                                                 )
2024-09-28T15:42:09.953215431Z
2024-09-28T15:42:09.953227374Z                                             [2] => Array
2024-09-28T15:42:09.953239666Z                                                 (
2024-09-28T15:42:09.953252238Z                                                     [chargeToFull] =>
2024-09-28T15:42:09.953264530Z                                                     [scheduleType] => CHARGE
2024-09-28T15:42:09.953293165Z                                                     [enableScheduleType] =>
2024-09-28T15:42:09.953306016Z                                                     [scheduledDays] => Array
2024-09-28T15:42:09.953318518Z                                                         (
2024-09-28T15:42:09.953330740Z                                                             [sunday] =>
2024-09-28T15:42:09.953343242Z                                                             [saturday] =>
2024-09-28T15:42:09.953358048Z                                                             [tuesday] =>
2024-09-28T15:42:09.953370271Z                                                             [wednesday] =>
2024-09-28T15:42:09.953382703Z                                                             [thursday] =>
2024-09-28T15:42:09.953395344Z                                                             [friday] =>
2024-09-28T15:42:09.953407706Z                                                             [monday] =>
2024-09-28T15:42:09.953419719Z                                                         )
2024-09-28T15:42:09.953432011Z
2024-09-28T15:42:09.953443954Z                                                     [startTime] => 00:00
2024-09-28T15:42:09.953456875Z                                                     [endTime] => 00:00
2024-09-28T15:42:09.953469167Z                                                     [cabinPriority] =>
2024-09-28T15:42:09.953481250Z                                                     [repeatSchedule] => 1
2024-09-28T15:42:09.953494031Z                                                 )
2024-09-28T15:42:09.953505974Z
2024-09-28T15:42:09.953518336Z                                         )
2024-09-28T15:42:09.953530698Z
2024-09-28T15:42:09.953542780Z                                 )
2024-09-28T15:42:09.953555072Z
2024-09-28T15:42:09.953567015Z                             [timestamp] =><PHONE_NUMBER>471
2024-09-28T15:42:09.953588876Z                         )
2024-09-28T15:42:09.953601378Z
2024-09-28T15:42:09.953613740Z                     [location] => Array
2024-09-28T15:42:09.953625613Z                         (
2024-09-28T15:42:09.953638184Z                             [timeStamp] =><PHONE_NUMBER>695
2024-09-28T15:42:09.953650337Z                             [longitude] => 0.98402816057205
2024-09-28T15:42:09.953663118Z                             [latitude] => 49.248558044434
2024-09-28T15:42:09.953675201Z                             [altitude] =><PHONE_NUMBER>4824
2024-09-28T15:42:09.953687493Z                             [bearing] => 0
2024-09-28T15:42:09.953699925Z                             [isLocationApprox] => 1
2024-09-28T15:42:09.953712357Z                         )
2024-09-28T15:42:09.953724649Z
2024-09-28T15:42:09.953736242Z                 )
2024-09-28T15:42:09.953748535Z
2024-09-28T15:42:09.953760967Z         )
2024-09-28T15:42:09.953772910Z
2024-09-28T15:42:09.953784713Z )
2024-09-28T15:42:09.953797284Z 2024-09-28 17:42:09 updated data for (ZFAEFAC45NX094438)

I'm trying to save the json to a file, but I can't.
On line 139, I added
file_put_contents('log.txt',$x);
but it doesn't work. I can't find a file with that name.

do you have tried to write the file via an absolute path e.g. file_put_contents('/tmp/log.txt',$x) ?
I assume when you are running "docker logs -f fiat" you should see all the log output.

Thanks, I was able to recover everything with "docker logs -f fiat" 🙏


SafeAccess

Enter a chain of getters, which should be called on each other until one returns null, at which point an exception shall be thrown.

Or simply a method that takes an object argument and returns it if it isn't null, otherwise throwing an exception.


python38Packages.pyTwitchAPI: init at 2.3.2

Motivation for this change
Things done

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

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 133871 at 25ee8bf5 run on aarch64-linux 1

2 packages built successfully:

python38Packages.pyTwitchAPI
python39Packages.pyTwitchAPI

2 suggestions:

warning: unused-argument
Unused argument: pytestCheckHook.
Near pkgs/development/python-modules/pyTwitchAPI/default.nix:4:3:
  |
4 | , pytestCheckHook
  |   ^

warning: no-python-tests
Test runner could not discover any test cases: ‘Ran 0 tests in 0.000s’
Near pkgs/development/python-modules/pyTwitchAPI/default.nix:36:0:
   |
36 |     description = "A Python 3.7 implementation of the Twitch API and its Webhook";
   | ^


Obtaining new access token using saved refresh token, refreshToken() and fetchAccessTokenWithRefreshToken() returns nothing

I'm having problem obtaining a new access token using refresh token. I followed all the steps mentioned in various sources and nothing seems to be working. following is what I did.

First I obtained Access token by exchanging it with auth code from google ( using $client->authenticate($_GET['code'])), for the first time that returns with refresh token.

I saved both access token array and the refresh token in my database.

Then set up the access token to the client object using setAccessToken() method.

It works fine untill the access token expiration. but when i try obtaining a new access token using the following code, nothing gets returned. where could i be going wrong?

Here is the code that saves the access and refresh token in database inside authcallback.php file:
$client = new Google_Client();
$client->setAuthConfigFile('client_secret.json');
$client->setRedirectUri('http://'.$_SERVER['HTTP_HOST'].'/authcallback.php');
$client->addScope('https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/spreadsheets');
$client->setAccessType('offline');
$client->setIncludeGrantedScopes(true);
$client->setApprovalPrompt('force');

if (!isset($_GET['code'])) {
  $auth_url = $client->createAuthUrl();
  header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
} else {
  $client->authenticate($_GET['code']);

  $access_token = mysqli_real_escape_string($conn, serialize($client->getAccessToken()));
  //this is the first request so we got the refresh token, save access and refresh to database
  $refresh_token = mysqli_real_escape_string($conn, $client->getRefreshToken());

//then i save them both in database
}

code in Dashboard.php:
$client = new Google_Client();
    $client->setAuthConfig('client_secret.json');
    $client->setRedirectUri('http://'.$_SERVER['HTTP_HOST'].'/dashboard.php');
    $client->addScope('https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/spreadsheets');
    $client->setAccessType('offline');
    $client->setIncludeGrantedScopes(true);

//get access token array from database and set to the client object
$token = unserialize($row['access_token']);

            $client->setAccessToken($token);

if($client->isAccessTokenExpired()){
     //has expiered
     //request for a new access token using saved refresh token and
     //set the new access token to the client object

	$client->refreshToken($client->getRefreshToken());

	echo $client->getAccessToken(); //this echos nothing
}

when i echo out the $client->getRefreshToken(), it has no problem in echoing the refresh token. but the problem is with the method $client->refreshToken($client->getRefreshToken()) (I also tried $client->fetchAccessTokenWithRefreshToken($client->getRefreshToken()) but no luck).
I went thought other issues like mine here https://github.com/googleapis/google-api-php-client/issues/1475
But doesn't seems to be a solution. what could be the problem? I also get an error like the following in my error log:
`[26-Nov-2019 06:13:20 America/New_York] PHP Warning:  Unsupported declare 'strict_types' in /path/to/google-api-php-client/vendor/monolog/monolog/src/Monolog/Logger.php on line 1`

'[26-Nov-2019 06:13:20 America/New_York] PHP Parse error:  syntax error, unexpected 'const' (T_CONST), expecting variable (T_VARIABLE) in /path/to/google-api-php-client/vendor/monolog/monolog/src/Monolog/Logger.php on line 33`

Any help would be great!!
Thanks!

@JustinBeckwith and @theacodes , any help would be appreciated :)

@pinoybai
I'll read the Client code and try to answer your question

The refreshing code in our quickstarts seems to work:
https://developers.google.com/sheets/api/quickstart/php
Can you try some of our quickstarts to see how token refresh works? It won't directly solve your problem, but it will definitely help you understand how it works.
It seems like getAccessToken returns an array representing the access token. This array contains refresh token as well.
If so, you don't need to store the refresh token. It doesn't solve your problem, but FYI.

I also get an error like the following in my error log:

I think it's more appropriate to ask that question on Stackoverflow or somewhere.

Hi, thank you for your answer. upgrading to PHP 7.3 version solved the problem.

for those people who don't wanna upgrade but jsut wanna solve this issue with php. I used 'curl' function in php to send post request to google oauth URL https://www.googleapis.com/oauth2/v4/token . you can find working example in google oauth 2.0 playground.
Thanks,

How is this issue closed - it does not return an access token?
$client->getRefreshToken()
Is empty ?

In 2022, I have a similar problem; I never get a refresh token. It should be present in the array you get after requesting an access token, according to Google's documentation.
I can't refresh the access token now, which results in a 401 error after an hour (the expiration time).


Modularise and improve testing component for images

Make a general modularised component for testing the model
Allow the possibility to add upload several images for testing at the same time + make results available in the form of a CSV that can be downloaded by the user

I think it would be best if you split this into 2 or 3 PRs, one for each point in the description.


Add version attribute

Add the __version__ attribute, using the same technique as UMAP.

Pull Request Test Coverage Report for Build 29

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 95.795%

Totals

Change from base Build 28:
0.005%

Covered Lines:
1777

Relevant Lines:
1855

💛  - Coveralls


ImportError: cannot import name 'Type'

I am trying to install zipline on Python 3.5.0 (on Win10). When I run 'import zipline', I have this error - ImportError: cannot import name 'Type'. I have tried to pip install typing and typing-extension, and also pip install tornado==5.1.1. I still have the same issue. Could someone please help? Thanks a lot.

I have the same issue:
Traceback (most recent call last):
File "C:\Users\Aaron's\Desktop\Research\tmm_core.py", line 6, in
import scipy as sp
File "C:\Users\Aaron's\AppData\Local\Programs\Python\Python35\lib\site-packages\scipy_init_.py", line 156, in
from . import fft
File "C:\Users\Aaron's\AppData\Local\Programs\Python\Python35\lib\site-packages\scipy\fft_init_.py", line 76, in
from ._basic import (
File "C:\Users\Aaron's\AppData\Local\Programs\Python\Python35\lib\site-packages\scipy\fft_basic.py", line 1, in
from scipy._lib.uarray import generate_multimethod, Dispatchable
File "C:\Users\Aaron's\AppData\Local\Programs\Python\Python35\lib\site-packages\scipy_lib\uarray.py", line 27, in
from .uarray import *
File "C:\Users\Aaron's\AppData\Local\Programs\Python\Python35\lib\site-packages\scipy_lib_uarray_init.py", line 114, in
from ._backend import *
File "C:\Users\Aaron's\AppData\Local\Programs\Python\Python35\lib\site-packages\scipy_lib_uarray_backend.py", line 1, in
from typing import (
ImportError: cannot import name 'Type'
No matter what I do, I can't make this code work.

So for @cuisong327 and maybe you @serllv (but I can't see what version of Python 3.5 you're using) I believe this issue is actually due to an incompatibility with your version of Python 3.5 and the version of newer version of Scipy required here. See similar issue here: https://github.com/tornadoweb/tornado/issues/2623
The Type class in this error wasn't added until Python 3.5.2.
I'll be closing this issue for now as I don't believe it's specific to Zipline here.


Initial import

Copied source from the PoC repository.
Changes made:

updated license headers
changed source packages to io.strimzi.kafka.metrics
bumped some dependencies
added .gitignore
added scm, issueManagement and license sections to pom.xml

Thanks for the feedback!
I added a short javadoc to all main classes. It's definitively something that will need to be improved.

I think we should get it merged as the initial import ... and then work on the further changes in a separate PRs. We will anyway need changes to the Maven build to publish the builds, Javadocs for that as well etc.

I think ghanging this line: https://github.com/strimzi/strimzi.github.io/blob/b5acaea8b7fab22b5cf54d5360692aa4b7378f73/_sass/strimzi.scss#L25 to justify-content: center will align it to center.


Export to GLTF 1.0

Hei !
I recently have the problem that i can not load gltf 2.0 files in an android application.
So my question is : Does UnityGLTF also provide a mechanism to export to the gltf 1.0 format?
Thanks!

We do not support the glTF 1.0 format. What issues are you seeing regarding gltF 2.0 on android?
From: Jennifer Birke<EMAIL_ADDRESS>Sent: Friday, March 15, 2019 5:31 AM
To: KhronosGroup/UnityGLTF<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [KhronosGroup/UnityGLTF] Export to GLTF 1.0 (#377)
Hei !
I recently have the problem that i can not load gltf 2.0 files in an android application.
So my question is : Does UnityGLTF also provide a mechanism to export to the gltf 1.0 format?
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FKhronosGroup%2FUnityGLTF%2Fissues%2F377&data=02|01|blgross%40microsoft.com|4e0369167685495c956e08d6a9420438|72f988bf86f141af91ab2d7cd011db47|1|0|636882498346530466&sdata=%2Bqe1mRSleIu0E7CkHOh7mX57mKfSCoqiLXSj4vGRax4%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAdqpNxvTlPG7BLbtzYdLnjppyrH2JcgBks5vW5JogaJpZM4b2XJi&data=02|01|blgross%40microsoft.com|4e0369167685495c956e08d6a9420438|72f988bf86f141af91ab2d7cd011db47|1|0|636882498346540484&sdata=liZ1HRWb9HZ97BLu8%2BG%2BUd46g329%2F8UIyJvEz8sTCO0%3D&reserved=0.

I'm using TriLib (https://assetstore.unity.com/packages/tools/modeling/trilib-model-loader-package-91777) to load models in runtime into a unity application. TrilIib uses functions from Assimp (http://www.assimp.org/) to load these models.
When i load a gltf 2.0 model with TriLib, the app crashes and i get the following error code:
.
I think it is an error in the trilib or assimp library so i posted already in these forums.
Would be nice if i can export into gltf 1.0, so i can just load some gltf models.

glTF 1.0 is quite divergent so it is not on the roadmap to support. I would recommend using UnityGLTF to load glTF/GLB over assimp. I believe the perf will be better as well.
If you are still having issues with this, it would be great if you could share your asset if comfortable, and we can try debugging it further

Please update to the latest version and open a new issue if the problem persists. Thanks!


Strong naming the assembly

Could the assembly be strong named in order to be used through a strong named netstandard2.0 assembly?

Resolved by #6


🐛 Symlink routes no longer work (1.0.0-next.432 — PR #6174)

Describe the bug
Symlink routes / Symbolic link routes are no longer working since Sveltekit version 1.0.0-next.432 (PR #6174)
Reproduction
1.0.0-next.431 (working)
✅ https://github.com/oneezy/sveltekit-symlink-repro-next-431
1.0.0-next.432 (broke)
❌ https://github.com/oneezy/sveltekit-symlink-repro-next-432

Logs
Error: Not found: /symlink
    at resolve (file:///C:/Users/oneezy/Desktop/www/10.Repros/sveltekit-symlink-repro-next-442/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.442_svelte@3.49.0+vite@3.0.9/node_modules/@sveltejs/kit/src/runtime/server/index.js:430:14)
    at Object.handle (file:///C:/Users/oneezy/Desktop/www/10.Repros/sveltekit-symlink-repro-next-442/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.442_svelte@3.49.0+vite@3.0.9/node_modules/@sveltejs/kit/src/vite/dev/index.js:318:66)
    at respond (file:///C:/Users/oneezy/Desktop/www/10.Repros/sveltekit-symlink-repro-next-442/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.442_svelte@3.49.0+vite@3.0.9/node_modules/@sveltejs/kit/src/runtime/server/index.js:213:40)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async file:///C:/Users/oneezy/Desktop/www/10.Repros/sveltekit-symlink-repro-next-442/node_modules/.pnpm/@sveltejs+kit@1.0.0-next.442_svelte@3.49.0+vite@3.0.9/node_modules/@sveltejs/kit/src/vite/dev/index.js:375:22

System Info
System:
    OS: Windows 11
    CPU: (16) x64 Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz
    Memory: 15.50 GB / 31.75 GB
  Binaries:
    Node: 16.13.2 - C:\Program Files\nodejs\node.EXE
    npm: 8.1.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 104.0.5112.102
    Edge: Spartan (44.22000.120.0), Chromium (104.0.1293.63)
    Internet Explorer: 11.0.22000.120
  npmPackages:
    @sveltejs/adapter-auto: next => 1.0.0-next.66
    @sveltejs/kit: 1.0.0-next.406 => 1.0.0-next.406
    svelte: ^3.44.0 => 3.49.0
    vite: ^3.0.4 => 3.0.9

Severity
blocking all usage of SvelteKit
Additional Information
We use a monorepo with multiple separate apps that we link together via symlink routes so this one's a showstopper for us.

I believe the issue is somewhere around here:
kit/src/core/sync/create_manifest_data/index.js
Doing a little research I found the symlink issue was fixed by @mikenikles in PR #4957
The Fix (commit eb2ab91)

As per @Conduitry's comment, this would error on symlinks to files, as readdirSync throws when not called on a directory.
There seems to be a problem with Node's fs.readdirSync(dir, { withFileTypes: true }) returning false for isDirectory() on symlinks (open issue at https://github.com/nodejs/node/issues/30646). It doesn't seem likely to get fixed upstream in a timely manner, so reverting to fs.statSync instead of withFileTypes seems like a better solution.

Originally posted by @mrkishi in https://github.com/sveltejs/kit/pull/4957#pullrequestreview-974512804

With the recent rewrite from @Rich-Harris  I believe this was accidentally written back to the old withFileTypes: true way on create_manifest_data/index.js : lines 159-161
const files = fs.readdirSync(dir, {
    withFileTypes: true
});

#HelpWanted
I hacked away on this a bit but didn't have any luck.
PR #6174 refactored quite a bit of the code from it's previous state.

PR #4957 before and after fix for symlinks

Same issue applies on Linux.


[sk] Support for custom cleaning actions

Summary
Backend transformer action library now supports custom cleaning actions. The cleaning action accepts primarily two forms of python code input:

custom_action decorator: any function decorated with @custom_action will be executed after the action invocation. All
such functions must accept a Pandas data frame and return a Pandas data frame. Functions decorated with
@custom_action are executed in the order of their definition.
Script style: entering a script into the action code menu will execute the script. The script will have access to the
dataframe through the df variable and must mutate it before completion in order to apply the correct action.

If both are provided, the scripted logic is ran before any @custom_action decorated functions.
An example of a decorator style cleaning action:
@custom_action
def transform(df: pandas.DataFrame) -> pandas.DataFrame:
    df['total'] = df.sum(axis=0)
    return df

An example of a script style cleaning action:
df['total'] = df.sum(axis=0)

Tests
Unit tests were written and ran, alongside testing on real datasets using the client.
cc:
@wangxiaoyou1993

Let's name the decorator "transformer_function".


subtitle with directfile

Hi Shaka Player Team,
I am currently working with a direct WebM file URL that includes multiple audio tracks and subtitles. While I am able to access and switch between the different audio tracks without any issues, I'm encountering difficulties with displaying the subtitles.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Video Player with Shaka Player</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/shaka-player/4.7.11/controls.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/shaka-player/4.7.11/shaka-player.ui.js"></script>
    <style>
        video {
            width: 100%; /* Responsive video */
        }
    </style>
</head>
<body>

<div id="video-container">
    <video id="video"></video>
</div>

<script>
document.addEventListener('DOMContentLoaded', () => {
    async function initApp() {
        if (shaka.Player.isBrowserSupported()) {
            await initPlayer();
        } else {
            console.error('Browser not supported by Shaka Player!');
        }
    }

    async function initPlayer() {
        const video = document.getElementById('video');
        const player = new shaka.Player(video);

        // Set a custom text displayer
        player.configure({
            textDisplayFactory: function() {
                return new MyCustomTextDisplayer(video);
            },
        });

        const ui = new shaka.ui.Overlay(player, document.getElementById('video-container'), video);

        player.addEventListener('error', (event) => console.error(event));

        try {
            await player.load('my_direct_video_link.mkv');
            console.log('The video has now been loaded!');
            player.setTextTrackVisibility(true);
        } catch (e) {
            console.error('Error loading video:', e);
        }
    }

    // Define a custom text displayer
    class MyCustomTextDisplayer extends shaka.text.SimpleTextDisplayer {
        constructor(video) {
            super(video);
        }

        // Implement or override methods as needed
    }

    initApp();
});
</script>
</body>
</html>

Playing a direct file goes through the video element's src= attribute.  But video elements don't have support for inband text tracks AFAIK.
When Shaka Player plays DASH or HLS content, the manifest is parsed by the player, and the player fetches the content segments.  Audio & video segments go through MediaSource APIs as an alternative input to the video element.  Text is parsed by the player and displayed either via the DOM or via the video element's VTTCue APIs, depending on configuration.
I am not aware of a video element implementation that can play inband text, and Shaka Player is meant for DASH & HLS, so it doesn't parse and extract tracks from WebM or MP4.


Silly Question - Change pages folder on the server

Hi there
Really like what you have done here.  I apologize in advance for this very long issue, tough my setup seems to be a little weird and therefore it requires some explanation :)
What I have:
I would like to migrate an existing product to vite-plugin-ssr.
We have multiple customers that are using our product and they need different pages.
During the startup I get an enivronment variable which defines the current customer. Let's call it customerA
What I would like to do:
Let's assume we do have the following pages folder:
-- pages/customerA/2020/index/index.page.tsx
-- pages/customerA/2020/about/index.page.tsx
-- pages/customerB/2020/index/index.page.tsx
-- pages/customerB/2020/about/index.page.tsx
Couple of things I have to consider:

The url I am hitting is something like http://localhost:5000/en/2020/ or http://localhost:5000/:language/:year/:others?
The language parameter has to be ignored and only passed down as a pageContext value (or I add a route string, but I would like to avoid so many single line *.route.ts files  if it can be  handled otherwise, I know people tend to forget these kind of things), this is only relevant for I18n in the react application
We have to use client side navigation in order to use transitions and effects
Based on the customer information I have on the server I would like to set the basePath of the  pages directory, basically ignoring all other pages that are not relevant at this point in time and set it to pages/customerA
Client side navigation should work as expected. Keep links like /en/2020 or /en/2020/about

What I have tried so far
I started with a onBeforeRoute hook that basically works the same as the i18n example in the documentation here.

Adjusted _default.page.server.tsx and updated passToClient to include the additional fields customer, year, language, subPage
Verified in _default.page.client.tsx that the custom fields are availble (they are)
Added an onBeforeRoute  hook which looks like this:

export function onBeforeRoute(pageContext: any) {
  console.log(pageContext);
  let { url, customer, year, language, subPage } = pageContext;

  if (!isNode()) {
    // on the client I do not want to add the customer to the url, so links should look like /<language>/<page> as usual
    return { pageContext: { url: pageContext.url, customer, report, language, subPage } };
  }

  console.log('previous url', url);
  const cleanedUrl = url.replace(`/${language}/`, '');
  const newUrl = `/${customer}/${cleanedUrl}`;

  console.log('new url', cleanedUrl, newUrl);

  return {
    pageContext: {
      customer,
      year,
      language,
      subPage,

      url: newUrl,
    },
  };
}

Here are my findings:

appending the customer to the url is working fine on the server, the pages are indeed being rendered and then returned to the client
since this method is isomorphic the client also executes this method whenever I hover an <a> tag. Unfortunately the pageContext does NOT include my custom properties anymore. Therefore all of my custom pageContext properties are undefined. (I am assuming I am doing something wrong, or a potential bug?)
The routing seems to mismatch now and the client side routing is broken. All clicks result in a full page reload

Things I could change

I could keep the pages file separate per client and only copy the relevant pages for the customer. Tough I fear this might result in some copy/pasting of files and therefore errors if people are not fully aware of what they are doing.
Completely switch to a client side routing solution (i.e react router) and therefore skip the onBeforeRoute hook alltogether

Again, sorry for this very long issue. But I appreciate any hints or help :)
Cheers,
Christoph

Didn't read the whole thing, but what is your reason to not have one seperate app per customer?
In general, it's better if you tell me exactly what you need from vite-plugin-ssr instead me having to understand your use case which seems quite fringe.

As of now the software is the same for all customers. Hence, no need for multiple applications.
Assuming the following folder structure for the pages:
-- pages/customerA/2020/index/index.page.tsx
-- pages/customerA/2020/about/index.page.tsx
-- pages/customerB/2020/index/index.page.tsx
-- pages/customerB/2020/about/index.page.tsx

I want to make sure that whenever we have the software running for customerA, only pages from customerA are being rendered by the plug-in. The new pages directory would be pages/customerA/ instead of pages only.
That sums it up I think ;)

There could be many solutions to this, but i'd need to dig into your use case, which would be too time consuming for me to do.
That said, if you believe there is something about vite-plugin-ssr that could be improved that would affect not only you but also many other users, then feel free to let me know.
Closing in the meantime.


Rewrite in Rust and OCaml

Please rewrite the browser in Rust and OCaml, we all know OCaml is Terachad.

@xdevs23 Do you have any idea what that would entail? They only just added Rust support to Chromium, and it is only used for ~3% of the codebase. The majority of the rest of it is C++.
Source: I maintain my own Chromium fork.

this guy CLEARLY doesnt know anything.
Just put every source file through ChatGPT and tell it to rewrite it in Rust and  OCaml
easy

@xdevs23 Do you have any idea what that would entail? They only just added Rust support to Chromium, and it is only used for ~3% of the codebase. The majority of the rest of it is C++.
Source: I maintain my own Chromium fork.

Does not matter what it entails. This browser must be rewritten.


Switches to the new build system

WIP, and will fail on jenkins until it is updated.

@frcjenkins retest this please

@frcjenkins retest this please

Closes #82

@frcjenkins retest this please


[Icons] Icons removed in FontAwesome 5 are wrong

Some icons that were removed in FontAwesome 5 but were kept for compatibility reasons point to the wrong icons. Example:
i.icon.resize.horizontal has content: "\f337" which correlates to i.icon.envelope.open.outline.
Instead it shoud point to the new i.icon.arrows.alternate.horizontal which has content: "\f697".
Other classes I found that point to the wrong icon:
cloud.download
cloud.upload
disk.outline
exchange
heart.empty
hourglass.zero
protect
resize.horizontal
resize.vertical
star.empty
The rest seems to be mostly fine (or as good as possible as not every old icon has a fitting replacement).

The icons i.icon.arrows.alternate.horizontal and i.icon.arrows.alternate.vertical do not seem to work in 2.3.0. They indeed point to the right values (\f337 and \f338 respectively) according to the FA5 cheatsheet. Any idea why?

@rtarnaud: This is already fixed in v2.3.1 (which is deployed to the docs page), but it's not officially released yet.