packagekit: 1.1.9 -> 1.1.10

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/packagekit/versions.
These checks were done:

built on NixOS
ran ‘/nix/store/lxwq08kfybd0zlg06xk0zj606nlpk3bn-packagekit-1.1.10/bin/pkcon -h’ got 0 exit code
ran ‘/nix/store/lxwq08kfybd0zlg06xk0zj606nlpk3bn-packagekit-1.1.10/bin/pkcon --help’ got 0 exit code
ran ‘/nix/store/lxwq08kfybd0zlg06xk0zj606nlpk3bn-packagekit-1.1.10/bin/pkmon -h’ got 0 exit code
ran ‘/nix/store/lxwq08kfybd0zlg06xk0zj606nlpk3bn-packagekit-1.1.10/bin/pkmon --help’ got 0 exit code
found 1.1.10 with grep in /nix/store/lxwq08kfybd0zlg06xk0zj606nlpk3bn-packagekit-1.1.10
directory tree listing: https://gist.github.com/1d641323594032d2e935bd1e088bf409

cc @matthewbauer for review

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: packagekit
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Attempted: packagekit
Partial log (click to expand)
shrinking /nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10/lib/packagekit-backend/libpk_backend_test_fail.so
shrinking /nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10/lib/packagekit-backend/libpk_backend_test_nop.so
shrinking /nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10/lib/libpackagekit-glib2.so.18.1.3
strip is /nix/store/j7d4mr0ikv974ig7yzhknpsq288js4bs-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10/lib  /nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10/libexec  /nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10/bin
patching script interpreter paths in /nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10
/nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10/share/PackageKit/helpers/test_spawn/search-name.sh: interpreter directive changed from "/bin/sh" to "/nix/store/adw9jx59wnrh5659wz43nbjya3m4b3gl-bash-4.4-p19/bin/sh"
/nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10/share/PackageKit/pk-upgrade-distro.sh: interpreter directive changed from "/bin/sh" to "/nix/store/adw9jx59wnrh5659wz43nbjya3m4b3gl-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10...
/nix/store/np3c73cyflpcqpl5vdi9j48sfj452wyr-packagekit-1.1.10

News https://github.com/hughsie/PackageKit/blob/PACKAGEKIT_1_1_10/NEWS

Success on x86_64-linux (full log)
Attempted: packagekit
Partial log (click to expand)
shrinking /nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10/libexec/packagekit-direct
shrinking /nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10/bin/pkcon
shrinking /nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10/bin/pkmon
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10/lib  /nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10/libexec  /nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10/bin
patching script interpreter paths in /nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10
/nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10/share/PackageKit/pk-upgrade-distro.sh: interpreter directive changed from "/bin/sh" to "/nix/store/xn5gv3lpfy91yvfy9b0i7klfcxh9xskz-bash-4.4-p19/bin/sh"
/nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10/share/PackageKit/helpers/test_spawn/search-name.sh: interpreter directive changed from "/bin/sh" to "/nix/store/xn5gv3lpfy91yvfy9b0i7klfcxh9xskz-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10...
/nix/store/379ck6167z2p686lrzdh81am5rds7jm0-packagekit-1.1.10


Hook fixes - 'ionic upload' should use documentRoot if set.

'ionic upload' was fixed to use the documentRoot if configured in
ionic.project instead only defaulting to the 'www' folder.
This should make it more inline with the server.js feature.

@Drozes I'm not really sure what you are proposing here?
It looks like you are just trying to merge one of our branches to master, which will happen when its complete.
If this was not your intention, and you've got another issue, please open a valid issue describing the problem. Thanks!

I made the pole to link to my fork.
Wasn't sure how to contribute.  Get project - I love ionic!

On Feb 12, 2015, at 6:23 PM, Josh Bavari<EMAIL_ADDRESS>wrote:
@Drozes I'm not really sure what you are proposing here?
It looks like you are just trying to merge one of our branches to master, which will happen when its complete.
If this was not your intention, and you've got another issue, please open a valid issue describing the problem. Thanks!
—
Reply to this email directly or view it on GitHub.


create 0000-01-02-microchipfae.md

Add microchipfae's file

created a branch, created a file and made a commit, and opened a pull request

created a branch, created a file and made a commit, and opened a pull request


DOCKER-USER chain not created or enforced if default bridge is disabled

Bug Description
If you disable docker's default bride docker0, the DOCKER-USER chain is not created. If the chain already exists, its position is not enforced. You need to create a new bridge network (after every startup of docker) to trigger the expected behavior.
Reason for Bug
If docker's default bridge docker0 is enabled, docker (or moby) will calll NewNetwork() to creates the bridge. In NewNetwork() the function arrangeUserFilterRule() is called, which will create and enforce the DOCKER-USER chain in FORWARD.
See:
Code 1
Code 2
Code 3
Possible Solution
You should solve this by calling arrangeUserFilterRule() at the end of setupIPChains() in setup_ip_tables.go.
This would be independent of the default docker bridge creation and DOCKER-USER will be created and enforced immediately after creating all other docker chains (isolation, port forwarding, etc.).
Docker Info
Client:
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 19.03.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.9.0-9-amd64
 Operating System: Debian GNU/Linux 9 (stretch)
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 1.911GiB
 Name: test
 ID: 4ECY:RYES:7MHM:ZAFK:RSNN:C4JA:SQDO:PWWE:OTFD:TBXX:5O65:RINR
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No swap limit support

Thanks for reporting!
We're also tracking this issue in https://github.com/moby/moby/issues/48560. Hopefully this will be fixed in v28.0 (or maybe a minor / patch release of v27).
Since this repo is now defunct (code was moved to https://github.com/moby/moby/tree/master/libnetwork), and not actively watched by maintainers, let me close this issue.


[Messaging] Bump AMQP dependency

Summary
Bumping the Microsoft.Azure.Amqp dependency to absorb bug fixes and updating the library changelogs.
References and resources

Add eventhub name into load balancer logs (#47271)

API change check
API changes are not detected in this pull request.


Zero update

First, clean up the multi-gpu code a bit. We only need to #ifdef away sections that would lead to compile errors, anything else can be handled with a regular plain if, making the code more readable. Also gets rid of the two copies of the update function, let's keep the unified as long as we can.
the current ZERO-1 implementation performs an all-reduce on the gradients, but only one shard is actually needed per rank.
As per the zero paper,

State-of-art implementation of all-reduce uses a two-step approach, where the first step is a reduce-scatter operation, which reduces different part of the data on different process. The next step is an all-gather operation where each process gathers the reduced data on all the process. The result of these two steps is an all-reduce.

The claim that ZERO-1 does not introduce communication overhead hinges on the fact that we just insert the adam update between these two ops. So we go from reduce-scatter -> all-gather -> adam to  reduce-scatter -> adam -> all-gather.

dam, good catch, we were doing a lot more communication than we needed to. merging

also nice to merge the two updates into one function 👍


Database error when disbanding town (tested on SQLite, might need to test on mysql as well?)

While /town disband [confirm] shows, that your town has been successfully deleted it looks like there is an internal error with the database handling of towns. Even after the user got the confirmation in chat, that his town has been deleted he still can't create a new one (Error: You're already a member of a town).
The user also can not leave his town using /town leave which gives no feedback in chat and throws this console error:
[17:41:56 INFO]: Ekmot276 issued server command: /town leave [17:41:56 WARN]: [HuskTowns] Plugin HuskTowns v1.6.1 generated an exception while executing task 86 java.lang.NullPointerException: Cannot invoke "me.william278.husktowns.town.Town.getName()" because "<local2>" is null         at me.william278.husktowns.data.DataManager.lambda$leaveTown$5(DataManager.java:709) ~[HuskTowns-1.6.1.jar:?]         at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[patched_1.17.1.jar:git-Paper-388]         at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[patched_1.17.1.jar:git-Paper-388]         at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.17.1.jar:git-Paper-388]         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[?:?]         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[?:?]         at java.lang.Thread.run(Thread.java:831) ~[?:?]
Running the /town disband [confirm] command again tells the player, that (Error: Only the mayor can disband a town).

Steps to reproduce on a standalone paper-server (build 388) and HuskTowns version 1.6.1:

create a town called TEST
disband the town
create a town called TEST1
disband the town
❌ 5. create a town called TEST (Error: You're already a member of a town)

log
I'm not sure atm and I'm not able to reproduce it again, but it really was that simple and worked once to get the plugin to fail, I'm further investigation the issue!

Seems to be an issue with SQLite foreign constraints failing...possibly a driver issue?

Update
Steps to reproduce on a standalone paper-server (build 388) and HuskTowns version 1.6.2-dev:

/town create TEST
/town claim
Leave Server
Restart Server
Join Server
/town disband
/town disband confirm
❌ 8. /town create TEST (Error: You're already a member of a town)

log


Fixing tests after PR #24

This PR should fix tests broken by https://github.com/kornelski/cargo-deb/pull/24

Thanks


[BEAM-9652] Ensure that the multipartition write sets the correct coder to use instead of relying on coder inference.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @reuvenlax

Run Java PreCommit

Run JavaPortabilityApi PreCommit

Run JavaPortabilityApi PreCommit

Run JavaPortabilityApi PreCommit


How can i run it from ip address?

We haven't any domain. I want to run from ip address
http://x.x.x.x/cockpit/auth/login?to=/

@uslualper how did you fix this?


update for Read API

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

@ChrisHMSFT , please have someone review this PR

@v-jerkin are you able to merge the PR?

No, but I know someone who can.
@wiazur can you merge this?

@v-jerkin Merged.


Use ExecutorService instead of EventLoopGroup as a working threads pool

Codecov Report

Merging #1035 into dev will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##              dev   #1035      +/-   ##
=========================================
- Coverage   55.22%   55.2%   -0.02%
=========================================
  Files         635     635
  Lines       12532   12531       -1
  Branches     2018    2018
=========================================
- Hits         6921    6918       -3
- Misses       5182    5184       +2
  Partials      429     429

Impacted Files
Coverage Δ

...backend/common/jdbc/execute/JDBCExecuteEngine.java
0% <0%> (ø)
:arrow_up:

...o/shardingsphere/proxy/frontend/ShardingProxy.java
0% <0%> (ø)
:arrow_up:

...xecute/memory/ConnectionStrictlyExecuteEngine.java
0% <0%> (ø)
:arrow_up:

.../proxy/frontend/common/executor/ExecutorGroup.java
0% <0%> (ø)
:arrow_up:

...bc/execute/stream/MemoryStrictlyExecuteEngine.java
0% <0%> (ø)
:arrow_up:

.../io/shardingsphere/proxy/util/ExecutorContext.java
0% <0%> (ø)
:arrow_up:

...ngsphere/opentracing/sampling/SamplingService.java
88% <0%> (-12%)
:arrow_down:

...ce/OrchestrationShardingDataSourceFactoryBean.java
66.66% <0%> (-11.12%)
:arrow_down:

...OrchestrationMasterSlaveDataSourceFactoryBean.java
77.77% <0%> (+11.11%)
:arrow_up:

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 2276cd0...dc49530. Read the comment docs.


Integrate with CAPMOX

Feature Request
Description
We are using Cluster api with the proxmox provider CAPMOX (https://github.com/ionos-cloud/cluster-api-provider-proxmox).
CAPMOX sets the providerid on the cluster resources in the management cluster to proxmox://{SystemUUID} and cluster api uses this providerid to find the nodes in the workload cluster. So we definetely need the providerid in the format proxmox://{SystemUUID}.
Can we use this proxmox ccm and csi anyway? Currently I am running a custom patched version with adjusted providerid. Ccm looks for the nodes by using SystemUUID instead of vmid. Is there already another solution for this?
If not I'd be happy to file a pull request for this.
I guess I should then hide this functionality behind a flag so that the original behavior is still in place.

Hello, very good question.
This project uses the format proxmox://${ProxmoxClusterName}/${VmID} because it was designed for multiple Proxmox clusters. Corosync has a limitation on the maximum number of nodes in a single cluster. The best way to handle this is to split one rack (48 servers) into 4 clusters, for example.
VmID is a unique number for a VM, and you cannot change it through the Proxmox API. It might be possible to change SystemUUID instead.
I am very curious: what does CAPMOX do with the ProviderID string? Is it possible to disable it, for example?
PS. We can also add compatibility for two types of ProviderID strings, but we need to implement this in both projects https://github.com/sergelogvinov/proxmox-csi-plugin, but SystemUUID is not tell the controller on which cluster the node is running unfortunately...
Please feel free to share your thoughts on this. 👍

Hi,
Thanks for your fast reply. I will try to explain:
With Cluster API, you have a management cluster in which Cluster API runs. This cluster is used to manage the lifecycle of the workload clusters. In the management cluster, you have some custom resources for each node in the workload cluster. CAPMOX is a kind of plugin for Cluster API which can create Kubernetes clusters based on Proxmox. The provider ID is also present in these custom resources in the management cluster and is used to match the custom resources to the real Kubernetes nodes. That means that Cluster API in the management cluster connects to the workload cluster and looks for a node with the corresponding provider ID. This is needed, for example, to perform health checks and decide if the node has to be rebuilt. So the provider ID cannot be disabled.
I think in the case of Cluster API, the SystemUUID is unlikely to change, as Cluster API treats the machines as immutable. Instead of changing something on the machine, you are replacing the old one with a new one.
I am currently running a version where I have replaced the old provider ID with the other format. I am just using FindVMByUUID which you have added in #142 to find the nodes. This means I iterate through all known clusters, but as Cluster API only supports one Proxmox cluster per Kubernetes cluster anyway, that's okay for me.
I also changed it in the CSI and was able to successfully provision volumes.
Would you be okay if I introduce a new flag like --enable-cluster-api-compatibility and hide the alternative provider ID behind it?

Oh, I see! It would definitely be great to have CAPI support in this project as well. It's such a popular and well-regarded solution, and I'm really interested in seeing how it could enhance things here. 👍

Great to hear this!
I will open a PR for this, but it will take a while as I am on holidays for the next two weeks


Merge master branch onto release-2.0.0

to: @ryandeivert or @jacknagz
cc: @airbnb/streamalert-maintainers
size: medium
Background
We have a release-2.0.0 branch that bigger features are built on, but it is now 21 commits (~2 weeks) behind master. This PR merges master into the release branch (not the other way around)

It's possible I did this wrong - it's saying the branch is out-of-date, but I can't update it. Not sure the best way to rebase a feature branch, tbh, but I thought this might work. Any ideas?

Coverage increased (+0.1%) to 95.531% when pulling 347c64b2e77df22b44f6caae334f9748e3060cea on master into 304ceb2ab347332b23f30208254fb91ee7e133c4 on release-2.0.0.


Intel CAVS18: tests/boards/intel_adsp/hda_log/boards.intel_adsp.hda_log.printk failed

Describe the bug
On intel_adsp_cavs18 platform, tests/boards/intel_adsp/hda_log/boards.intel_adsp.hda_log.printk failed due to No Console Output(Timeout).
But it only appeared on daily report, and I can't reproduce it by manual operation.
Please also mention any information which could help others to understand
the problem you're facing:

intel_adsp_cavs18
tests/boards/intel_adsp/hda_log/boards.intel_adsp.hda_log.printk No Console Output(Timeout)

To Reproduce
Steps to reproduce the behavior:

twister -W --hardware-map /home/ztest/cavs/cavs.map --device-testing -x=CONFIG_BOOT_DELAY=500 -s tests/boards/intel_adsp/hda_log/boards.intel_adsp.hda_log.printk -e can -vv --no-skipped-report
See error

Logs and console output
TEST:031372^M
TEST:031373^M
TEST:031374^M
TEST:031375^M
TEST:031376^M
TEST:031377^M
TEST:031378^M
TEST:031379^M
TEST:031380^M
TEST:031381^M
TEST:031382^M
TEST:031383^M
TEST:031384^M
TEST:031385^M
TEST:031386^M
TEST:031387^M
TEST:031388^M
TEST:031389^M
TEST:031390^M
TEST:031391^M
TEST:031392^M
TEST:031393^M
TEST:031394^M
TEST:031395^M
TEST:031396^M
TEST:031397^M
TEST:031398^M
TEST:031399^M
[00:00:17.895,000] <inf> hda_test: Timeout flush working if shown^M

Environment (please complete the following information):

OS: Linux
Toolchain - SDK 15.0

Is this with or without #50450

Is this with or without #50450

Without https://github.com/zephyrproject-rtos/zephyr/pull/50450. Because I can't reproduce it, it only appeared on daily. So I haven't tried https://github.com/zephyrproject-rtos/zephyr/pull/50450.

This failure is no longer present. So will close it.


SYS_* constants are of type long in Android

The SYS_* constants should be c_long as syscall expect a c_long as first argument and in Android headers, there is no sign that these constants should be unsigned long.
So the compilation targeting ARM Android fails for dependent crates using syscall.

@bors: r+
Oops, thanks!

:pushpin: Commit 4b240a6 has been approved by alexcrichton

This actually broke nix on almost all platforms. It appears that 9029cfb9eb76647cf9122a47252f1129eb18a562 is the culprit which changed existing SYSCALL_* constants and added more and they were all changed to unsigned long instead of long, which I don't think should have been done as @ndusart stated.
Note that this is currently blocking all PRs to nix as we pull the git version of libc until we decide to pull a release

@alexcrichton Should I raise another issue about the SYSCALL_ constants being incorrectly typed on non-Android platforms as I posted just after your response?

Do you mean the SYS_ constants? If anything broken in https://github.com/rust-lang/libc/commit/9029cfb9eb76647cf9122a47252f1129eb18a562 that was accidental, and if anything is wrong that's also accidental. Let's just fix it?

Yes, all changes to the SYS_ constants changed datatypes in that commit and all those changes were incorrect as far as I can tell. I'd rather fix it than remove it, but I'm unfortunately not going to be able to do that today. @ndusart would you be willing to file another PR fixing the other platforms touched by 9029cfb?

:hourglass: Testing commit 4b240a6b867fa03da84fb69f49b6294abee798be with merge b06739dda9f60a7c2e6c51cf948660983320d295...

This PR should fix issue #814

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing b06739dda9f60a7c2e6c51cf948660983320d295 to master...

@Susurrus, I could make another PR.
I just don't target linux arm in my projects so I didn't know it was broken for these archs too.

It'd be most appreciated if you could!

@Susurrus #815


Improvement: Debug commands should use emitters and not AstTokens

This is an extension of the current functionality. But I am thinking if this should first pass by Emitters somehow since now you might not want to collect some of the tokens. Something like to actually analyze normally, and look at the dependencyResult for dependencies that are not in any layer.
Originally posted by @patrickkusebauch in https://github.com/qossmic/deptrac/pull/647#discussion_r676189171

@github-actions Not this one either. It had activity 2 hours ago, man...


Gaps in DateTime cause a problem with Financial plots

Issue:
In the real world, financial trade data is usually random in time.
To convert such data to a Time Series that we can work with, we put the data into bins.
This may cause a problem. Gaps of undefined data!
ScottPlot Version:
ScottPlot (5.0.34)
Code Sample:
Here is an example that works.  No gaps.
public partial class Form1 : Form
{
    readonly ScottPlot.WinForms.FormsPlot formsPlot = new() { Dock = DockStyle.Fill };
    public Form1()
    {
        InitializeComponent();

        formsPlotPanel.Controls.Add(formsPlot);
        DrawCandleChart("FuBar", 20);
    }
    public void DrawCandleChart(string symbol, int n)
    {
        var endDate = DateTime.Now;
        var startDate = endDate.AddDays(-n);
        List<OHLC> ohlcList = Generate.RandomOHLCs(n, startDate);

        // ohlcList[0] = new OHLC(0.0, 0.0, 0.0, 0.0);

        formsPlot.Plot.ScaleFactor = 2;
        formsPlot.Plot.Clear();
        formsPlot.Refresh();

        var candlePlot = formsPlot.Plot.Add.Candlestick(ohlcList);
        candlePlot.Axes.YAxis = formsPlot.Plot.Axes.Right;

        formsPlot.Plot.Axes.DateTimeTicksBottom();

        formsPlot.Plot.Axes.Bottom.Label.Text = symbol;
        formsPlot.Plot.Axes.Bottom.Label.FontName = "Verdana";
        formsPlot.Plot.Axes.Bottom.Label.Bold = false;
        formsPlot.Plot.Axes.Bottom.Label.FontSize = 12;

        formsPlot.Plot.Axes.AutoScale();
        formsPlot.Refresh();
    }
}

Here is what the above code produces:

Now, uncomment the line: "// ohlcList[0] = new OHLC(0.0, 0.0, 0.0, 0.0);" to produce a gap.
This ressults in:

Please update Cookbook 5 with "How to Plot DateTime Data with Gaps"
Charles

Thanks for reporting this @CBrauer! See https://scottplot.net/cookbook/5.0/Finance/FinancialPlotWithoutGaps/ for an example of how to display financial on a non-linear horizontal axis (data without time gaps)

Also note that new OHLC(0.0, 0.0, 0.0, 0.0); creates an OHLC with the date of Jan 1, 1900. Considering this, I believe the screenshots you posted are the expected behavior.
I think the link above is enough to solve this issue. If not, let me know and we can open this up again and take a closer look 👍


AttributeError: module 'importlib' has no attribute 'abc'. Did you mean: '_abc'?

After installing pycg using pip, I get the following traceback when trying to run on a sample code.
Traceback (most recent call last):
  File "/home/kyle/.local/bin/pycg", line 8, in <module>
    sys.exit(main())
  File "/home/kyle/.local/lib/python3.10/site-packages/pycg/__main__.py", line 79, in main
    cg.analyze()
  File "/home/kyle/.local/lib/python3.10/site-packages/pycg/pycg.py", line 155, in analyze
    self.do_pass(PreProcessor, True,
  File "/home/kyle/.local/lib/python3.10/site-packages/pycg/pycg.py", line 144, in do_pass
    self.import_manager.install_hooks()
  File "/home/kyle/.local/lib/python3.10/site-packages/pycg/machinery/imports.py", line 203, in install_hooks
    loader = get_custom_loader(self)
  File "/home/kyle/.local/lib/python3.10/site-packages/pycg/machinery/imports.py", line 34, in get_custom_loader
    class CustomLoader(importlib.abc.SourceLoader):
AttributeError: module 'importlib' has no attribute 'abc'. Did you mean: '_abc'?

It seems like the the use of importlib.abs.SourceLoader does not work since the subpackage importlib.abc is not imported directly.
For my installation I have temporally fixed the problem by including the following import:
import importlib.abs as iabs

I then adjusted the class definition as follows:
class CustomLoader(iabc.SourceLoader):

I think there is a better way to do this, but I thought you should at least know of the error. I'm running Python 3.10.x on Arch Linux.

Hey @hornekyle, thanks for the report. Yep, this seems to be an issue with an update to Python 3.10 (I've only tested up to 3.9). I think the best solution would be to change the import to
from importlib import abc
...
class CustomLoader(abc.SourceLoader):

@vitsalis I can confirm that your proposed fix works on Python 3.11


Custom remove event for pm

I propose to add a pm:remove event similar to the existing pm:create.
Currently Leaflet's layerremove event is the only way to listen to layer deletions. Problem is it's fired quite frequently when pm destroys its helper layers after each draw. The pm:remove event would fire only after the user has deleted a layer from the map, so that we can attach custom logic to handle user interaction.
For now I have patched removeLayer in L.PM.Map like below, but there might be a better place for this?
removeLayer(e) {
  const layer = e.target;
  const map = layer._map;
  if(!layer._layers && !layer.pm.dragging()) {
    layer.remove();
    map.fire('pm:remove')
  }
},

Currently Leaflet's layerremove event is the only way to listen
This 👆  was exactly why I haven't added pm:remove but you're totally right - it fires for all the helpers and this marks a problem. Thanks for pointing it out.
I will implement this.

@GeoTob turns out, it's not that easy.

Could you provide a JSFiddle where the remove event is fired for helpers?
The workaround you provided is good but if someone removes a layer via code, it wouldn't fire.
I want pm:remove to be fired whenever a layer is removed (doesn't matter how).

Currently I'm trying to distinguish my helper layers from the actual layers of the map - but somehow I can't find a case where the helpers are still on the map during the remove event (I disable and remove helpers when a layer is removed already).

nevermind!

if you want, try this branch and see if the pm:remove event works as expected for you
https://github.com/codeofsumit/leaflet.pm/pull/163

sorry mate, wanted to test this out and completely forgot :(

@GeoTob no worries, it's merged now. Let me know if you have troubles with the latest release 👍

Thanks, will do!:)


Skip update for deps within make.go

Without that it results in an error on fresh golang setups:
+ go get -u github.com/jteeuwen/go-bindata/...
+ go get -u github.com/Masterminds/glide/...
package github.com/codegangsta/cli: directory "/home/tboerger/Projects/golang/src/github.com/codegangsta/cli" is not using a known version control system
Error: Failed step deps
exit status 1

I think -u should not be removed and your problem is that you need update your github.com/codegangsta/cli package?

@lunny i started with a totally fresh go environment.  But that fails with the above error. If i drop -u it just works as expected.

As gitea is more or less dead and gogs gets further development I'm closing this PR.


[RFC] Proposal for permissioned transfers.

User stories of potential use cases

Token Creator only want tokens to be tradable between trusted entities

Example: custodial wallet to custodial wallet of different video games in the same platform

Token Creator want trusted entities to be able to send tokens anywhere, including non trusted entities, but non trusted entities can only send tokens to trusted entities

Users can own tokens in their self custodies wallets, but can only trade back to a trusted party

deny/blocklist - can send to all addresses except for a few addresses

Note, this one seems hard because blocked entities can just create a new address

Note: In each case, the Token Creator may want to be able to grant and revoke permissions for the trusted entities.
In the current state, users have to:

use a freeze/transfer/thaw tx sequence on the client side, which requires a signature from the freeze authority, pretty heavy handed centralization
See below “From Jerry” explaining a wrapped token, but still requires a multisig PDA.

Proposal:
From brief convo Jon Cinque, Some "privileged" extension that holds approved accounts with the two modes of operation:

accounts may only be owned by someone on a list
accounts can be owned by anyone, but transfers only permitted to someone on the list (if you're not on the list)

We'll probably need to consider additional maintenance tasks for the list
From Jon Wong

use a non-transferrable NFT (or SFT) to represent trustedness , and gate access through token ownership

Main drawback is potentially cost of minting entire tokens for this purpose
Unclear how revoking permissions would work in this case

Issues:

~2k approved authorities would essentially be the max you can easily store and be accessed with an on chain check

Appendix
From Jerry:
For the signing case
The token could initially look like this:
Token:
   mint: ...
   owner: Matt
   freeze_auth: Mulitsig(PDA(phase 1), PDA(phase 2))
   amount: 1000
   frozen: true

When you interact with either contract (say to transfer out 100$), the PDA signs to thaw the account, owner also signs to authorize transfer. State changes to:
Token:
   mint: ...
   owner: Matt
   freeze_auth: Mulitsig(PDA(phase 1), PDA(phase 2))
   amount: 1000
   frozen: false

This is like an unlock. Then a transfer occurs + an array of other checks/logic. Finally, the PDA signs again to refreeze the account. Final state:
Token:
   mint: ...
   owner: Matt
   freeze_auth: Mulitsig(PDA(phase 1), PDA(phase 2))
   amount: 900

For the "accounts may only be owned by someone on a list" part, that can be achieved through the "default account state" extension, which sets a default state on new accounts, either frozen or not.  This way, anyone can create an account, but it'll be frozen.  The mint owner then provides an unfreezing service outside of the token program, which only allows the unfreeze for permitted keys.
For the "privileged / nonprivileged bit", we'll need to add some new logic most likely.  This could be done easily through extensions which set if an account is privileged or not, along with an authority that sets privileging.  This way, everything can be done through the token program, but without storing any lists of users in the mint.  It can all be done offline or with separate on-chain programs.

This unfreezing service would be a centralized off chain service? How is this much different than a service that keeps all tokens frozen unless you go through the service to approve a thaw-> tx -> freeze. Is it just that with this paradigmn that once unfrozen the entity is free to transact without the unfreezing service?
I still am not sure this satisfies the ask. They want it so no entity outside the ~N wallets to send or receive tokens, so in this case not even the trusted entities shouldn't be able to send the tokens outside of the system.
"privileged/nonprivileged" - I think your description is spot on. I like the idea of having an optional configs for an offline or separate on chain programs.

This unfreezing service would be a centralized off chain service?

It can be off-chain, or it can be on-chain with a separate program which maintains the list of allowed users.  Up to them.

Is it just that with this paradigmn that once unfrozen the entity is free to transact without the unfreezing service?

Yep.

I still am not sure this satisfies the ask. They want it so no entity outside the ~N wallets to send or receive tokens, so in this case not even the trusted entities shouldn't be able to send the tokens outside of the system.

Maybe I'm missing something here.  If all new accounts are frozen, and must be unfrozen by Something Else (on or off chain), then only the N wallets can ever send or receive tokens.  A frozen account can neither receive nor send tokens.  Is there some other use case that's missing?

Service topic: Thanks, I think i get the flow now
Ohhh, the gap I had is I didn't realize that the default freeze would render new accounts not able to receive. That's super neat.

Full permissioned transfers can be done with the "transfer hook" extension in token-2022. Coupled with "managed-token" and other programs, everything should be addressed. https://spl.solana.com/token-2022/extensions#transfer-hook has more info


[i2c, rtl] SDA Interference fix

In Idle state, event_sda_interference will be raised only if host is enabled
Fix is needed for PR 4180
Signed-off-by: Igor Kouznetsov<EMAIL_ADDRESS>

@msfschaffner & @igk8 , on the topic of CI. It looks like vivado failed at synthesis, do you know what might have happened here?   The other failures seem to stem from that.

Rebased the master and CI checks have passed.

Great.  Thanks Igor!


Support for SockJS

We could have a support for SockJS protocol
https://github.com/sockjs
Honza

We can put the support into the add-on for now, but, we should learn and think about API we'll eventually offer for other protocols (add-ons).
It would be great to use the official parser NPM module from sockjs repo.
Honza

@janodvarko What do you think?
If you want to test:

clone this repo: https://github.com/sockjs/sockjs-node.git
in examples/echo, run : npm install
apply the patch below in order to be able to close a connection (by entering close in the echo chat)
run: node server.js
open: http://localhost:9999

diff --git a/examples/echo/server.js b/examples/echo/server.js
index af1d015..9339954 100644
--- a/examples/echo/server.js
+++ b/examples/echo/server.js
@@ -8,7 +8,11 @@ var sockjs_opts = {sockjs_url: "http://cdn.jsdelivr.net/sockjs/1.0.1/sockjs.min.
 var sockjs_echo = sockjs.createServer(sockjs_opts);
 sockjs_echo.on('connection', function(conn) {
     conn.on('data', function(message) {
-        conn.write(message);
+        if (message === 'close') {
+          conn.close(1000, 'foobar');
+        } else {
+          conn.write(message);
+        }
     });
 });

Resources:

The code of the parsing: https://github.com/sockjs/sockjs-client/blob/0b4879d5e0b7f44d9f8accb28759fd965f70ea1f/lib/main.js#L237-L288
The protocol documentation: https://sockjs.github.io/sockjs-protocol/sockjs-protocol-0.3.3.html

Florent

It would be great to use the official parser NPM module from sockjs repo.

NB: there is no parser NPM module... But the algorithm is quite simple.
Florent


Replacing a tags with link tags in AppNavBar

Description

Describe your PR! If it fixes specific issue, mention it with "Fixes # (issue)".

Fixes #254. Replaces anchor tags with link tags to prevent full page reloads when navigating the app navbar on both desktop and mobile.
I had to restructure the navigation array as outbound links can't use the link tags, and must use anchor tags. They are rendered after mapping through all the prior navigation items. Happy to discuss/implement a better solution.
Contributor Checklist

Make sure to do the following steps if they are applicable to your PR:

[ ] Update e2e tests: If you changed the /template/app, then make sure to do any neccessary updates to /template/e2e-tests also.
[x] Update demo app: If you changed the /template/app, then make sure to do any neccessary updates to /opensaas-sh/app_diff also. Check /opensaas-sh/README.md for details.
[ ] Update docs: If needed, update the /opensaas-sh/blog/src/content/docs.

Thanks for the contribution @npenza! I'm wondering why we can't use the Link component that Wasp exports since most (all?) of these links are routes defined in the main.wasp file and could benefit from its typesafety feature. Did you try it out and run into any issues?

Thanks @vincanger. We definitely can use Wasp's Link component.
Before I make the changes, can you please clarify the differences between .build() and .to for the route objects? E.g this works:
const navigation = [
  { name: 'AI Scheduler (Demo App)', href: routes.DemoAppRoute.to },
  { name: 'File Upload (AWS S3)', href: routes.FileUploadRoute.to },
  { name: 'Pricing', href: routes.PricingPageRoute.to },
];

But this causes a ts error 'Type 'string' is not assignable to type' when  mapping through links
const navigation = [
  { name: 'AI Scheduler (Demo App)', href: routes.DemoAppRoute.build() },
  { name: 'File Upload (AWS S3)', href: routes.FileUploadRoute.build() },
  { name: 'Pricing', href: routes.PricingPageRoute.build() },
];

@npenza check out the proposed solution I gave above. The Wasp Link component expects a type which is a union of the route strings, so it functions more like an enum. That's why it won’t accept a general string, which is the error you referenced. The reason the build method throws this error is because it’s typed to return a string, which doesn’t match the union of route strings.


Unable to install zipline-reloaded using Conda on Win 10/64

Dear Zipline Maintainers,
Environment

Operating System: Win10/64bit
Python Version: 3.8.8
Python Bitness: 64
How did you install Zipline: conda
Python packages:
ca-certificates           2021.4.13            haa95532_1
certifi                   2020.12.5        py38haa95532_0
openssl                   1.1.1k               h2bbff1b_0
pip                       21.0.1           py38haa95532_0
python                    3.8.8                hdbf39b2_5
setuptools                52.0.0           py38haa95532_0
sqlite                    3.35.4               h2bbff1b_0
vc                        14.2                 h21ff451_1
vs2015_runtime            14.27.29016          h5e58377_2
wheel                     0.36.2             pyhd3eb1b0_0
wincertstore              0.2                      py38_0

conda --version reports:
Conda v4.9.2

Description of Issue

Whilst attempting to install zipline-reloaded, with the recomended conda environment and install instructions a nebulous error message occurs:

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available version

Full error message here:
(env_zipline) C:\Users\richa>conda install -v -c ml4t zipline-reloaded
Collecting package metadata (current_repodata.json): ...working... Unable to retrieve repodata (response: 404) for https://conda.anaconda.org/ml4t/win-64/current_repodata.json

done
Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
Solving environment: ...working... failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
Solving environment: ...working...
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed
Traceback (most recent call last):
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\cli\install.py", line 261, in install
    unlink_link_transaction = solver.solve_for_transaction(
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\core\solve.py", line 114, in solve_for_transaction
    unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\core\solve.py", line 157, in solve_for_diff
    final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\core\solve.py", line 281, in solve_final_state
    ssc = self._run_sat(ssc)
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\common\io.py", line 88, in decorated
    return f(*args, **kwds)
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\core\solve.py", line 815, in _run_sat
    ssc.solution_precs = ssc.r.solve(tuple(final_environment_specs),
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\common\io.py", line 88, in decorated
    return f(*args, **kwds)
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\resolve.py", line 1320, in solve
    raise UnsatisfiableError({})
conda.exceptions.UnsatisfiableError:
Did not find conflicting dependencies. If you would like to know which
packages conflict ensure that you have enabled unsatisfiable hints.

conda config --set unsatisfiable_hints True

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\exceptions.py", line 1079, in __call__
    return func(*args, **kwargs)
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\cli\main.py", line 84, in _main
    exit_code = do_call(args, p)
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\cli\conda_argparse.py", line 83, in do_call
    return getattr(module, func_name)(args, parser)
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\cli\main_install.py", line 20, in execute
    install(args, parser, 'install')
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\cli\install.py", line 308, in install
    raise e
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\cli\install.py", line 295, in install
    unlink_link_transaction = solver.solve_for_transaction(
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\core\solve.py", line 114, in solve_for_transaction
    unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\core\solve.py", line 157, in solve_for_diff
    final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\core\solve.py", line 275, in solve_final_state
    ssc = self._add_specs(ssc)
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\core\solve.py", line 704, in _add_specs
    ssc.r.find_conflicts(spec_set)
  File "C:\Users\richa\anaconda3\lib\site-packages\conda\resolve.py", line 352, in find_conflicts
    raise UnsatisfiableError(bad_deps, strict=strict_channel_priority)
conda.exceptions.UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Reproduction Steps

Start anaconda prompt in base environment
conda create -n env_zipline python=3.8
conda activate env_zipline
conda install -v -c ml4t zipline-reloaded

What steps have you taken to resolve this already?
I tried a brand new Conda installation (installed Miniconda3 from:
https://docs.conda.io/en/latest/miniconda.html
on a clean VM - same issue.
Since this error message seems related:
Unable to retrieve repodata (response: 404) for https://conda.anaconda.org/ml4t/win-64/current_repodata.json
Thinking this might be a Conda bug, I tried:
conda activate base
conda update --all
conda activate env_zipline
conda install -v -c ml4t zipline-reloaded

This upgraded conda to v4.10.1, but bombed with same error
There was a hint to try using conda config --set unsatisfiable_hints True
So ran that then and again tried: conda install -v -c ml4t zipline-reloaded
but the same nebulous error resulted.
Also tried --force --nodeps, and --only-deps to try and figure out where the issue was coming from and --clobber.
Also tried it with a Python 3.9 environment instead:
conda activate base
conda create -n env_zipline39 python=3.9
conda activate env_zipline39
conda install -v -c ml4t zipline-reloaded

Same error in Python 3.9 environment too.
Then uninstalled Miniconda/Py39 downloaded Minicon3/Windows 64-bit/Python 3.8 from:
htts://conda.io/en/latest/miniconda.html
conda create -n env_zipline3 python=3.8
conda activate env_zipline38
conda install -v -c ml4t zipline-reloaded

This had the same issue.
Also tried a Python 3.7 environment - same issue.
Also tried
conda activate base
conda update conda

then re-running the installs above - same issue.
Also tried with the full Anaconda installer (instead of Miniconda) - same issue.
I was going to try an earlier version of Zipline-reloaded, but only 2.0.0rc4 is available on Conda.
Other
I have cloneable/pristine Win10/64 VMs that I can do further testing on this as required.  Happy to assist here.
Best regards,
Richard Dale

For what it's worth, I've installed it successfully on Windows 10 (and additionally on Linux Mint), but I'm using Miniforge instead of Miniconda. The only difference that I know of is that is comes with conda-forge preconfigured as its default channel.

I have difficulties reproducing this but have heard the same from at least one other user. Similarly, on a fresh miniconda3-latest install on Windows 10 (64bit),
conda update -n base conda -y
conda create -n zip-test python 3.8
conda activate zip-test
conda install zipline-reloaded -y
conda env export > zipline-reloaded.yml

produces the attached environment (change extension from .txt; GitHub does not support .yml).
conda certainly has its share of issues these days; it appears impossible to install zipline-reloaded and alphalens-reloaded together due to 'conflicts'. However, using mamba instead works both fine and fast. I'll update the instructions accordingly; see also here.
zipline-reloaded.txt

Yes! Nice pickup there @RiseT.  @stefan-jansen thanks for the assistance today Stefan in resolving this one.
conda-forge fixed this nicely.
Here's the implications/instructions on using conda-forge:
https://conda-forge.org/docs/user/introduction.html
Here's the commands that worked nicely for me:
conda update -n base conda -y
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install mamba -y
conda create -n env_zipline python=3.8
conda activate env_zipline
mamba install -c ml4t zipline-reloaded -y
If you prefer Python 3.9:
conda update -n base conda -y
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install mamba -y
conda create -n zr39 python=3.9
conda activate zr39
mamba install -c ml4t zipline-reloaded -y

Great this worked out. Dumb and somewhat off-topic question regarding Mamba: Can I mix usage of Conda and Mamba (e. g. update with Mamba a package installed with Conda and vice versa)?

The README says:

At the same time, mamba utilize the same command line parser, package installation and deinstallation code and transaction verification routines as conda to stay as compatible as possible.

My understanding is that the key difference is that the solver works as expected (from apt etc) while using the same channel/package infrastructure. So mixing shouldn't create issues - assuming you want to start using mamba with an env created with conda. Note that mamba works with the same env files.
My experience so far - and I haven't used mamba for long but lost way too much time with conda - mamba just works while conda simply doesn't for anything but trivial installs.

@stefan-jansen Fyi, the old installation instructions (without -c conda-forge are still here. Ignore this comment if this will get updated automatically with the next release. No idea how this works.

Hi,
The zipline-reloaded installation is not working using conda-forge as it shows package not found.
Error-
PackagesNotFoundError: The following packages are not available from current channels:

zipline-reloaded


Give functional components their own page in the documentation under "Components In-Depth"

Currently, all of the information for Vue functional components lives on the "Render Functions & JSX" page. I think they deserve their own dedicated page in the docs for 3 reasons:

It is not required to build functional components with render functions. You can use template-based single file components with the functional keyword. I think this approach in particular deserves more attention and examples in the docs.
If I understand correctly, using functional components (especially for small, frequently-repeated components) can improve app performance because Vue doesn't track their state or maintain instances of them. Therefore, it should be learned along with rest of the component information.
The other usages of functional components -- delegating to other components for example -- could also use more explanation or examples. While this is the more advanced/rarer case, providing an example or two might help people see where they can use such a pattern in their own code.

You've convinced me. 🙂 As an aside, I'm also considering splitting up the render functions page into several pages, but let's do this first. Do you want to get us started on it, or would you prefer I write the first draft?

Excellent. I’d love to take a first stab at it.
On Jul 30, 2018, 7:12 AM -0400, Chris Fritz<EMAIL_ADDRESS>wrote:

You've convinced me. 🙂 As an aside, I'm also considering splitting up the render functions page into several pages, but let's do this first. Do you want to get us started on it, or would you prefer I write the first draft?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

From what I've learned there are two main categories of functional component. One is the "wrapper or "higher-order" component. I'm searching for a term for the other type, the simple repeated pieces of UI like headings, buttons, form inputs. Something better than "dumb" components, which is what I've been calling them so far. Is there a term already? Anyone have any ideas?

@nabrown I think "presentational components" is currently preferred instead of "dumb components": https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0

Hi @chrisvfritz I'm sure you're busy, just wanted to let you know I did a PR for this issue -- the functional components documentation changes. If there's anyone else I can/should pull in to review, let me know. (This would be my first contrib so not sure how process works). Hope you're enjoying summer!

I did a ton of reading and learning about functional components in order to write up documentation to be added to the Vue docs. The pull request for that is here: https://github.com/vuejs/vuejs.org/pull/1753
I would love someone to review and comment on the PR, so we can get something added to the docs!

It’s great to see functional components get more attention in the docs!
What I feel is still missing, is that

You can really only use the few component options which are shown. No components, no computed, no watch, etc.. This was not clear to me from the existing documentation. I first had to experience it in my own experiments.

Are there any caveats wrt. reactivity when using a functional component?

I once had a problem too with the functional components where the parent of the functional component had a style-scoped, but the data-v-hash wasn't being applied to the functional component, even tho I had the v-bind="data.attrs".
Now, I didn't opened a bug repport cause I didn't know if that was intentional behavior or not :man_shrugging:.
If it is intended, maybe we could add this to the docs too, otherwise I'll probably open an issue with the bug :D.


Updated validations.py python script.

Fixed the behavior of validate_user function in validations.py.
Closes #1
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[x] Tests pass
[x] Appropriate changes to README are included in PR

@googlebot I signed it!


Adding golden files for upcoming link type system changes

Adding golden files for tests to come. This should not break existing tests.

The golden files are hereee
https://media.giphy.com/media/fcX8iJGa7OX1S/giphy.gif


Added "Data Structures And Algorithms In Python" course by codebasics

What does this PR do?
Add resource
For resources
Description
An amazing course by codebasics on YouTube for DSA using Python
Why is this valuable (or not)?
It's found very helpful for the students as observed in the comment section of every video
How do we know it's really free?
It's available on YouTube
For book lists, is it a book? For course lists, is it a course? etc.
It is a course
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Thanks, and welcome to free-programming-books!


Browser address bar color

Hi,
When I try to change the color of the mobile browser address bar it doesn't work. I have tried 3 plugins and this meta code in the header area of the plugin as well as directly in header.php :

Please help.
Thanks.

Please attach screenshot

@BootWP need to execute wp_header() hook in the index.html for making another plugins workable

@BootWP need to execute wp_header() hook in the index.html for making other plugins workable

Plugin page template, not support wp_head(), this is because any garbage will be added there,
If I add this wp_head(), or template our page is breaking.
In the header, various styles and scripts from the active topic are added and conflicts appear.

wp_head() added to head of page template.
All other scripts and styles which are not loaded by our plugin, to prevent conflict, they are removed from wp_head().


Didn't get right result when set targetSdkVersion to 15

Expected behaviour
Testing Device: Nexus 5  (6.0.1)

My production environment project's targetSdkVersion was set to 15. So I used Dexter's sample to test. (Changed the targetSdkVersion to 15 in sample module's build.gradle)
When I installed the app, all requesting permissions were allowed by default.
Then I denied the Camera and Contacts permissions as follow.

I clicked the REQUEST ALL button and debugged the feedbackViewMultiplePermissionListener instance.
I wanted the onPermissionsChecked(MultiplePermissionsReport report) method's parameter report giving me the right result. But the debugger's SNAPSHOT as follow:

Actual behaviour
Please read it in Expected behaviour section 4's SNAPSHOT.
Steps to reproduce
Please read it in Expected behaviour section  1 - 3.
Version of the library
Branch master's code with 737c419

Hi @johnwatsondev
Interesting behaviour you just found here... I'm wondering if you can give us more information about the Android version of the device you were using to test.

I have got a solution after did some research.
We should use [PermissionChecker.checkSelfPermission()](https://developer.android.com/reference/android/support/v4/content/PermissionChecker.html#checkSelfPermission(android.content.Context, java.lang.String)) check if user granted the permission.

I thought we should just add this info to README instead of modified the AndroidPermissionService class's implement.
Because of this library was intended to check RUNTIME permission for API level more than 23.
More info click here - android-6.0-changes

Honestly, I didn't even know of the existence of that class :scream:, we'll probably need to migrate to that API so that we don't have this problem in the future.
Thanks again for reporting back! We'll tackle the problem, one way or the other.

Here was a workaround.
Please checked it. :)

I've just created a PR to address this issue, @johnwatsondev feel free to review it if you want!


Fix disappearing date problem

Getting some annoying html in this one. Perhaps the site has changed. eg:
'em_link_doc':

But the date problem is fixed #22  @connorhsm

Looks like its only happening with the em
text_link_doc
https://parlinfo.aph.gov.au/parlInfo/download/legislation/bills/r6536_aspassed/toc_word/20039b01.docx;fileType=application%2Fvnd%2Eopenxmlformats%2Dofficedocument%2Ewordprocessingml%2Edocument

em_link_doc

text_link_pdf
https://parlinfo.aph.gov.au/parlInfo/download/legislation/bills/r6536_aspassed/toc_pdf/20039b01.pdf;fileType=application%2Fpdf

em_link_pdf

text_link_html
https://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;query=Id:%22legislation/bills/r6536_aspassed/0000%22

em_link_html

@connorhsm or @king-millez could you please look into this in a new PR?
I'll merge this as the problem is already in master


openvpn over wstunnel

Hello,
I have been working on this project to achieve OPENVPN connection over WSTUNNELv5.0 with TLS enabled without any reverse proxy (etc NGINX) to bypass censorship in environments with strict rules which rejects OVPN and accepts web traffic.

Server side Ubuntu 20.04
I have openvpn daemon listening on :

public_ip:1194

I executed wstunnelv5.0 using this code :
./wstunnel --tlsCertificate=certificate.crt --tlsKey=private.key --restrictTo=public_ip:1194 --server wss://public_ip:443

Starting server with opts WsServerInfo {useTls = True, host = "public_ip", port = 443}
WAIT for TLS connection on public_ip:443

checked netstat to see if wstunnel service is listening and it does.
p.s : firewall rules are allowed on this port.
Client side Ubuntu 22.04 / Windows 10
I executed wstunnelv5.0 using this code :
./wstunnel --localToRemote=<IP_ADDRESS>:2020:<IP_ADDRESS>:1194 wss://remote_host_public_ip:443 --verbose

WAIT for tcp connection on <IP_ADDRESS>:2020

with this code I am trying to connect my openvpn client through local_host:2020 which I did bind it to local_host:1194 then through wstunnel to remote_host:443 which is listening on wstunnel agent on port 443.
openvpn_client<====><IP_ADDRESS>:2020<==Bind_to==><IP_ADDRESS>:1194<==ws==>remote_host_public_ip:443<==Restrict_to==>public_ip:1194
I even tried same concept on my home lab :
./wstunnel --localToRemote=local_ip:2020:<IP_ADDRESS>:1194 wss://remote_host_public_ip:443 --verbose

WAIT for tcp connection on <IP_ADDRESS>:2020

on both situations I have encountered with this and was not able to connect to openvpn server.

according to this log on client:

DEBUG :: Opening tcp connection to remote_host_public_ip:443
DEBUG :: Doing tls Handshake
DEBUG :: Opening Websocket stream
DEBUG :: Closing TLS
DEBUG :: Closing tcp connection to remote_host_public_ip:443
ERROR :: Cannot establish websocket connection with the server
DEBUG :: ====
MalformedResponse (ResponseHead {responseCode = 400, responseMessage = "Bad Request", responseHeaders = []}) "Wrong response status or message."
====
wstunnel: Network.Socket.accept: failed (Interrupted function call (WSAEINTR))

and this log on server:

NEW incoming connection from client_ip:38705 []
Rejecting tunneling
NEW incoming connection from client_ip:6890 []
Rejecting tunneling

when I remove --restrictTo=public_ip:1194 from server side code and use ./wstunnel --tlsCertificate=certificate.crt --tlsKey=private.key --server wss://remote_host_public_ip:443
I still cannot connect through wstunnel to OVPN server and I get different log but same issue.

client side log:

DEBUG :: Opening tcp connection to remote_host_public_ip:443
DEBUG :: Doing tls Handshake
DEBUG :: Opening Websocket stream
CLOSE tunnel :: <IP_ADDRESS>:2020 <==WSS==> remote_host_public_ip:443 <==TCP==> <IP_ADDRESS>:1194
DEBUG :: Closing Websocket stream
DEBUG :: Closing TLS
DEBUG :: Closing tcp connection to remote_host_public_ip:443
DEBUG :: ====
remote_host_public_ip:443: Network.Connection.connectionGetChunk: end of file
====
wstunnel: Network.Socket.accept: failed (Interrupted function call (WSAEINTR))

server side log:

NEW incoming connection from client_ip:19001 []
CONNECTING to <IP_ADDRESS>:1194
wstunnel: Network.Socket.connect: <socket: 17>: does not exist (Connection refused)

[x] my assumption is ovpn packets are being sent over wstunnel to remote host but they cannot be delivered to OVPN daemon and connection is closing according to this. How can I fix this issue?

Thank you for your patience, I know it was a long writing, literally it took me +40minutes to write :-D

Hello,
Thank you for the effort and detailed explanation regarding your issue :)
Regarding case 1, where the server respond rejecting tunneling, it is due because on the client side the LocalToRemote right end does not match your restrict to. In your case as you put public_ip in restrict to, it should be also public_ip:1194 in local to remote right end instead of <IP_ADDRESS>:1194
For case 2,  the server cannot connect to <IP_ADDRESS>:1194, meaning nothing is listening on this address/port on your server. Check that your openvpn is really listening on <IP_ADDRESS> and not on some specific ip address (i. e: your public one). You can check that by doing ss -lntp to see on which ip/port is listening openvpn

Hello again,
First of all I would like to appreciate your time, fast response and exact information about the issue. 👍
I was reading the documents about wstunnel and was thinking about LocaltoRemote and I discovered the same concept you are talking about.

I did fix the issue with.

./wstunnel --localToRemote=<IP_ADDRESS>:2020:daemon_listen_ip:1194 wss://remote_host_ip:443 --verbose
One more thing, can I run udp over wstunnel?
there is -u flag.

-u --udp     ===>     forward UDP traffic instead of TCP

[ ] does it mean I am actually running UDP over TCP without having UDP benefits (high speed connections)? or the connection is UDP on its purest form and over wstunnel ?

Glad to hear it solved your issue.
For udp it is indeed udp over tcp and not just plain udp. (websocket is only over http/tcp)
udp => websocket over tcp => udp
openvpn can be configured to listen on tcp cnx, but if you chose to use udp (which is the default) be sure to lower your MTU (as described in the readme) to avoid slow speed.

That is awesome, Thank you again for your time and have a good day.
keep up the good work :-D


Add line numbers to import overlay when importing using JSON

Add line numbers to the import overlay used wherever JSON can be used for importing such as Dashboards, Variables, Tasks, and Templates.

Here is an example of the import overlay showing an error message that references a line number while the overlay itself does not have any line number labels

Make generic to any multi-line input, should have error line number reference.

not an issue anymore, the 'import' button doesn't exist anymore.  templates have changed.  as advised by @TCL735


dealloc error with dlmalloc >= 2.5

dlmalloc (the default allocator for wasm) recently added some checks around deallocating memory (issue, relevant code). This is causing issues with cosmwasm, as can be seen in this MRE:
[package]
edition = "2021"
name    = "mre"
version = "0.1.0"

[lib]
crate-type = ["cdylib", "rlib"]

[dependencies]
# if this isn't pinned <= 2.4, runtime error
# dlmalloc = { version = "=0.2.4", features = ["global"] }

use std::mem;

// this is the default allocator, change the version to see the issue
#[global_allocator]
static ALLOC: dlmalloc::GlobalDlmalloc = dlmalloc::GlobalDlmalloc;

#[no_mangle]
extern "C" fn allocate(size: usize) -> u32 {
    alloc(size) as u32
}

pub fn alloc(size: usize) -> *mut Region {
    let data: Vec<u8> = Vec::with_capacity(size);
    let data_ptr = data.as_ptr() as usize;

    let region = build_region_from_components(
        u32::try_from(data_ptr).expect("pointer doesn't fit in u32"),
        u32::try_from(data.capacity()).expect("capacity doesn't fit in u32"),
        0,
    );
    mem::forget(data);
    Box::into_raw(region)
}

/// deallocate expects a pointer to a Region created with allocate.
/// It will free both the Region and the memory referenced by the Region.
#[no_mangle]
extern "C" fn deallocate(pointer: u32) {
    // auto-drop Region on function end
    let _ = unsafe { consume_region(pointer as *mut Region) };
}

#[derive(Default)]
pub struct Response {
    pub messages: Vec<()>,
    pub attributes: Vec<()>,
    pub events: Vec<()>,
    pub data: Option<()>,
}

#[no_mangle]
extern "C" fn instantiate(_ptr0: u32, _ptr1: u32, _ptr2: u32) -> u32 {
    let region = build_region(br#"{"ok":{"messages":[],"attributes":[],"events":[],"data":null}}"#);
    Box::into_raw(region) as u32
}

#[no_mangle]
extern "C" fn interface_version_8() {}

pub fn release_buffer(buffer: Vec<u8>) -> *mut Region {
    let region = build_region(&buffer);
    mem::forget(buffer);
    Box::into_raw(region)
}

pub unsafe fn consume_region(ptr: *mut Region) -> Vec<u8> {
    assert!(!ptr.is_null(), "Region pointer is null");
    let region = Box::from_raw(ptr);

    let region_start = region.offset as *mut u8;
    // This case is explicitely disallowed by Vec
    // "The pointer will never be null, so this type is null-pointer-optimized."
    assert!(!region_start.is_null(), "Region starts at null pointer");

    Vec::from_raw_parts(
        region_start,
        region.length as usize,
        region.capacity as usize,
    )
}

pub fn build_region(data: &[u8]) -> Box<Region> {
    let data_ptr = data.as_ptr() as usize;
    build_region_from_components(
        u32::try_from(data_ptr).expect("pointer doesn't fit in u32"),
        u32::try_from(data.len()).expect("length doesn't fit in u32"),
        u32::try_from(data.len()).expect("length doesn't fit in u32"),
    )
}

fn build_region_from_components(offset: u32, capacity: u32, length: u32) -> Box<Region> {
    Box::new(Region {
        offset,
        capacity,
        length,
    })
}

#[repr(C)]
#[derive(Default, Clone, Copy, Debug)]
pub struct Region {
    /// The beginning of the region expressed as bytes from the beginning of the linear memory
    pub offset: u32,
    /// The number of bytes available in this region
    pub capacity: u32,
    /// The number of bytes used in this region
    pub length: u32,
}

It looks like the issue is in how memory is freed in consume_region, but I'm not entirely sure what exactly.
This is also reproducible with a bare contract with just an instantiate entry point, but I wanted to reduce it to the minimal code possible. this is all based off of cosmwasm 1.5.2. I have not tested other versions.

Thanks for the report!
After a few tests, I think the issue here is in the release_buffer method. When allocated, the alloc function got the following layout passed to it:
Layout {
    align: 1,
    size: vec_capacity
}

something like that, right?
Well, the function simply discards the capacity of the allocation in favour of the length, which is the actually used and guaranteed initialized part of the capacity.
So when we deallocate we pass in the following layout:
Layout {
    align: 1,
    size: vec_len
}

which is not the same layout (unless the (rather rare) condition of capacity == len is given), therefore technically violating the safety contract documented by the underlying dealloc method, which states:

This function is unsafe because undefined behavior can result if the caller does not ensure all of the following:

ptr must denote a block of memory currently allocated via this allocator,
layout must be the same layout that was used to allocate that block of memory.

Will write a patch to fix this up.


dispatch event on window.opener is not working for edge browser, is there any possible solution for that?

Chakra doesn't implement window.opener, so I have no idea. You can try asking here:
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/


Adds Facebook user ID

What's this PR do?
Adds Facebook user ID's as an indexed field to the users model. To go alongside that it also updates documentation, tests, validation rules, model factory and creates a migration.
In another PR I'll add the Facebook verification functionality which verifies that a given users Facebook auth token is legitimate.
How should this be reviewed?
Pieces of functionality that are the most important right now to continue prototyping social login...

POST /v1/users
body: {facebook_id: 123456}
GET   /v1/users/facebook_id/
PUT   /v1/users/email/
body: {facebook_id: 123456}

Checklist

[x] Documentation added for changed endpoints.
[x] Tests added for new features/bug fixes.

strange, also getting these User Test failures locally as well but unclear how my PR broke them..

I think switching out that validation rule should fix the test failures. If not, you can add a dd($this->decodeJsonResponse()) before the status code assertion to see what the specific errors are.

👍


The Layer Cake

How Flutter uses Widgets, Elements and RenderObjects to create delicious eye-candy at 120fps.
https://medium.com/flutter-community/the-layer-cake-widgets-elements-renderobjects-7644c3142401

Reopen issue since fix this issue by mistake.


Fix: Setting pre-commit script in package.json > scripts will be depr…

Moved husky hooks to to husky.hooks.
Warning: Setting pre-commit script in package.json > scripts will be deprecated
Please move it to husky.hooks in package.json, a .huskyrc file, or a husky.config.js file
Or run ./node_modules/.bin/husky-upgrade for automatic update

See https://github.com/typicode/husky for usage

Coverage remained the same at 41.89% when pulling 4843da30889b40786387654ec928d18964c9d475 on bjornreppen:husky into 63a221e7613abac3862c7103d3074aad32ee4976 on Artsdatabanken:master.


Formatting bug when typing a small, decimal amount

When typing a small, decimal amount into a Number input (e.g. .0002) the formatting appears to be wrong, as it inserts a comma. I've never seen this type of formatting before, so I could be wrong about the possible bug.

created a PR for that

Handled via #154


PIP 83 : Pulsar Reader: Message consumption with pooled buffer

Motivation
#10184 has introduced pooled message support for pulsar-consumer. We would like to extend it for Reader as well.
Modification
This will allow Reader API to read and release pooled messages.

/pulsarbot run-failure-checks

@rdhabalia This PR seems to have introduced a new flaky test. Would you mind checking #11750 ?

thanks @lhotari for reporting, I will check the failure.

it's fixed by: #11753 11753


OBSKorgNanokontrol2 becomes unresponsive after quickly moving sliders or knobs

If you quickly move sliders or knobs up and down many times, the app just stops responding. No error is displayed. Buttons don't work either. I'll try to debug this one.

I have the same problem.
What I think might be the issue is the Windows Volume control, because before I added that it worked fine.
Tried to combat the issue with
WindowsSoundControl > AudioDevice.cs
            if(timeelapsed > 1000 / this.maxDeviceActionsPerSecond)
What I think is happening is that there is a limit as to how often you can refresh those values...

I have the same problem.
What I think might be the issue is the Windows Volume control, because before I added that it worked fine.
Tried to combat the issue with
WindowsSoundControl > AudioDevice.cs
            if(timeelapsed > 1000 / this.maxDeviceActionsPerSecond)
What I think is happening is that there is a limit as to how often you can refresh those values...

Same goes for WebSocket...
Might want to add a buffer that updates every x-milliseconds...

Same goes for WebSocket...
Might want to add a buffer that updates every x-milliseconds...


Add conda doctor blogpost

Description
Adding a blogpost about the new conda doctor command
resolves #134

Just for the record, we shouldn't publish until the conda 23.5.0 release

@travishathaway, @jezdez,
I did not mention that we might convert conda doctor into a plugin hook, because we are yet to have that discussion and decide whether that’s feasible or not.
what do you think?

@ForgottenProgramme, yes, I would not mention that in this blog post. You mention that we plan on include more health checks in the future, and that is just fine.

Updated based on above review!

@ForgottenProgramme,
Are you going to add an image to this blog post?

Now that conda 23.5.0 is available on defaults, this blog post can be published when ready. 🟢


warning: Requirements file output.txt does not contain any dependencies when output file exists but is empty for uv pip compile --output-file

Command to reproduce the error:
% uv --version
uv 0.5.4 (c62c83c37 2024-11-20)

% echo '' > output.txt && echo 'scikit-learn==1.5.0' | uv pip compile --output-file output.txt -

Result:
warning: Requirements file output.txt does not contain any dependencies  👈 Is this expected?
Resolved 5 packages in 3ms
# This file was autogenerated by uv via the following command:
#    uv pip compile --output-file output.txt -
joblib==1.4.2
    # via scikit-learn
numpy==2.0.2
    # via
    #   scikit-learn
    #   scipy
scikit-learn==1.5.0
scipy==1.13.1
    # via scikit-learn
threadpoolctl==3.5.0
    # via scikit-learn

This looks like a bug, thanks.


chore: Document modular versioning

This is a WIP document for establishing a modular versioning strategy for the CDK. Currently, it stops at listing the challenges that arise from implementing it in the current situation.
Designs #272

@eladb:
Documentation and GitHub releases are related (and important), but the first major problem at hand is the issues listed under developer and maintainer experiences.

The order in which the sections are in the document is not innocent 😄

@eladb:
I actually think that the only "real" problem is the maintainer issues.

Kinda true, in that maintainers are also users.

@eladb:
As long as we adhere to semantic versioning, customers should be fine since this is basically the same as any other set of dependencies they consume.

I don't think it's that simple given peer dependencies, unless we have a strict "no breaking change after 1.0.0" policy, which sounds extremely limiting.

I don't think it's that simple given peer dependencies, unless we have a strict "no breaking change after 1.0.0" policy, which sounds extremely limiting.

I have a feeling that after 1.0.0 we will always major-version-bump everything in case we want to release a breaking change in one of the modules. I think that would have to be the reality of our life or otherwise it  would be impossible to reason about compatibility in a decent way

I don't think it's that simple given peer dependencies, unless we have a strict "no breaking change after 1.0.0" policy, which sounds extremely limiting.

I have a feeling that after 1.0.0 we will always major-version-bump everything in case we want to release a breaking change in one of the modules. I think that would have to be the reality of our life or otherwise it would be impossible to reason about compatibility in a decent way

If true, I feel this should be the result of the design, and not a pre-requisite of it.

Another thing I think is related is which modules do we bump to 1.0 when we GA? I think that's also related. For example, do we plan to bump the IAM library?


[feat] BLK.dat Structure modification

The current structure of a block in a blk is:

network flag (4 bytes)
data size (4 bytes)
block (data size)

All integers are in little-endian.
My proposal consists in getting this structure:

Starting a blk file by the network flag (4 bytes)
Appending blocks:

data size (4 bytes)
block data (4 bytes)

-> This could save in Dogecoin program 4,515,879 * 4 - 4n ~ 18 MB.
with n representing the number of blks.
That's not a huge modification and it's not a big change. However, it's better than currently. Tell me what you think.

What other benefits do you see, on top of saving ~0.04% of disk space?

What other benefits do you see, on top of saving ~0.04% of disk space?

Honestly, no other benefits. That's just a little saving. Besides, if we want to save space, we could compress blocks in blk.dat with an algorithm since blockchains are heavy. I compressed in a zip to have an overview. Instead having a dogecoin blockchain of 49.4 GB with rev*.dat and index folder excluded, we could have a blockchain of 38.0 GB GB. Anyway, that's the ZIP algorithm. We could get one faster... That's can be an useful feature since you can download the blockchain 1.3 times faster (11.4 GB removed). This compression hasn't been on rev*.dat files.
Moreover, LevelDB has now its own compression/uncompression algorithm nammed Snappy. That's an interesting algo: you can compress ChainstateDB/indexDB fastest as possible.
Of course when a peer is asking a block, the node can give him the compressed block. He'll have to uncompress it to analyse it. Then he'll add it into his blk.

I think that a compression use-case is interesting (though imho ideally this would be interesting on the fs layer in general more than being bespoke to the application layer). For something like 1.14, I think it's too much to try and add it, because it puts a migration process on upgrade. This could be something to propose on 1.21 or other major releases though.

Thanks for your answer. I'm going to keep this issue opened as a suggestion for 1.21.

Cool! I'm not setting a milestone yet, but if we get work proposed for 1.21-dev then I will tag it as such.

1.2 brudge


add testcases for UnusedImportCheck

Current coverage is 90.34%

Merging #170 into dev will increase coverage by +0.06% as of 73cd749

@@              dev    #170   diff @@
=====================================
  Files          72      72
  Stmts        6338    6338
  Branches        0       0
  Methods         0       0
=====================================
+ Hit          5722    5726     +4
  Partial         0       0
+ Missed        616     612     -4

Review entire Coverage Diff as of 73cd749

Uncovered Suggestions

+0.41% via .../TokenTreeBuilder.hx#1230...1255
+0.39% via .../TokenTreeBuilder.hx#1104...1128
+0.35% via .../TokenTreeBuilder.hx#949...970
See 7 more...

Powered by Codecov. Updated on successful CI builds.


Bandwidth requirements tweak

Adjusted to indicate bandwidth in Mbps vs MB/s to better align with what people are use to seeing in speed tests and from their ISPs.   Also added a note about download and upload requirements.

Thanks for this, it's definitely an improvement.


MetricSubject tag unique id

I noticed that a tag gets created that appears to be precisely the contents of the MetricSubject field, and another one that appears to be based upon the MetricSubject field and a sequential surrogate number.  Is that number supposed to match the ID field?

René

Don't know why this didn't work for you in terms of ids.  I just tested and it's working correctly for me.

To clarify, are you saying that the tag containing the MetricSubject value and a number should include the metric's ID value?

the dash representing null value is now removed.

From what I can tell, the tag containing both MetricSubject and ID gets created when GMS creates a metric, but that tag never gets deleted or replaced when the metric may later get updated, or at least a change in ID (and perhaps MetricSubject ?) does not initiate a change to the metric.
I initially assigned ID in my script, based on load sequence, and the later creation of more metrics changed the position of many of the metrics by one or more.  That, I believe, is the genesis of the discrepancy that I see, and GMS apparently currently can't handle that kind of change?
I changed my approach to assign the ID in the table, so I wouldn't anticipate it happening again.  If this analysis be accurate, it would be helpful to include a warning about the ID tags in the instructions.

In order to support the MDI integration, I'm going to have to change the id scheme.  So this functionality of id creation is going to change slightly.


Dotnet CVE scanning

Changed cve-scanning-dotnet.yml to works with the DependencyCheck action
Added   <NoWarn>NU1605</NoWarn> to avoid package downgrading error (to remove for real project)
Creating allow-list.xml to skip CVE if we want to

@josspo - I see that the CVE report on https://github.com/finos/security-scanning/actions/runs/6250143062 is empty; is this expected? Can you confirm that if you remove items from allow-list.xml the scanning fails?

@maoo It is expected as we do not have CVE in the dotnet project, the allow-list.xml is empty at the moment. If we add a CVE in the project, it is expected to fail

Ok, so before being able to merge this PR we need to add vulnerabilities.
I remember that the newton json had a cve, that's the one we used in the past to test.

@maoo I added CVE-2022-41064 in the project and changed --failOnCVSS from 6 to 5, now the action fail as expected

Awesome work @josspo ! Merging PR now.


use patched react-native-screens to fix keyboard getting stuck open

See https://github.com/kmagiera/react-native-screens/pull/77 and https://github.com/keybase/react-native-screens/commit/0465a795e7bb59637a76857f11e71c2882341eb3. r? @keybase/react-hackers

@chrisnojima react-native-screens is still there because react-navigation depends on it. debounce was added because react-native-screens depends on it.


[WIP] Some stuff for 1.15 pre 1

wood type or sign type? it is only used by signs.
Signed-off-by: liach<EMAIL_ADDRESS>

I think putting Sign in the name is better because, as you note, it is only used by signs.

What if mojang merged this with BoatEntity.Type in the future?

What if mojang merged this with BoatEntity.Type in the future?

What if they add a list of their favorite soccer players?  It's entirely possible Mojang could muddy this up but then it would have a significantly different, broader function and should be renamed.
Absent strong indication of Mojang's plans, classes should be named based on what they currently do, IMO.

Sign type is better. What if a mod wants to add more types, like metal signs?

    default void quad(MatrixStack.Entry matrixEntry, BakedQuad quad, float[] brightnesses, float red, float green, float blue, int[] lights, int overlay, boolean boolean10) {
        int[] js = quad.getVertexData();
        Vec3i vec3i12 = quad.getFace().getVector();
        Vector3f vector3f13 = new Vector3f((float)vec3i12.getX(), (float)vec3i12.getY(), (float)vec3i12.getZ());
        Matrix4f matrix4f14 = matrixEntry.getModel();
        vector3f13.transform(matrixEntry.getNormal());
        int integer15 = 8;
        int integer16 = js.length / 8;
        try (MemoryStack memoryStack = MemoryStack.stackPush()) {
            ByteBuffer byteBuffer19 = memoryStack.malloc(VertexFormats.POSITION_COLOR_TEXTURE_LIGHT_NORMAL.getVertexSize());
            IntBuffer intBuffer20 = byteBuffer19.asIntBuffer();
            for (int l = 0; l < integer16; ++l) {
                intBuffer20.clear();
                intBuffer20.put(js, l * 8, 8);
                float float22 = byteBuffer19.getFloat(0);
                float float23 = byteBuffer19.getFloat(4);
                float float24 = byteBuffer19.getFloat(8);
                float float25;
                float float26;
                float float27;
                if (boolean10) { // <---- What is this?
                    float float28 = (byteBuffer19.get(12) & 0xFF) / 255.0f;
                    float float29 = (byteBuffer19.get(13) & 0xFF) / 255.0f;
                    float float30 = (byteBuffer19.get(14) & 0xFF) / 255.0f;
                    float float25 = float28 * brightnesses[l] * red;
                    float float26 = float29 * brightnesses[l] * green;
                    float float27 = float30 * brightnesses[l] * blue;
                }
                else {
                    float25 = brightnesses[l] * red;
                    float26 = brightnesses[l] * green;
                    float27 = brightnesses[l] * blue;
                }
                int integer28 = lights[l];
                float float29 = byteBuffer19.getFloat(16);
                float float30 = byteBuffer19.getFloat(20);
                Vector4f vector4f31 = new Vector4f(float22, float23, float24, 1.0f);
                vector4f31.transform(matrix4f14);
                this.elements(vector4f31.getX(), vector4f31.getY(), vector4f31.getZ(), float25, float26, float27, 1.0f, float29, float30, overlay, integer28, vector3f13.getX(), vector3f13.getY(), vector3f13.getZ());
            }
        }
    }

@runemoro can you help name boolean10 here?

@liach boolean10
True ===> butter contains colour data, add it and render in colour
False ===> Just use the light value, render in greyscale (or close to it)!

ah, so like useQuadColorData

@Sollace @Pyrofab the dual/union thing has been addressed. dual is the shortest, so dual


BIGTOP-3005 Add zkpeer-relation-changed hook to zookeeper charm.

Check quorum status and update config accordingly if zkpeer relation changes.
This change add a zkpeer-relation-changed hook to refresh the configuration of
the server.[\d] lines in zoo.cfg to match any new information received either through the
relation manually, or from juju.
Signed-off-by: José Pekkarinen<EMAIL_ADDRESS>

@Pekkari I don't understand what a zkpeer.changed handler buys us given that we already run a check_cluster when peers join and depart.  Am I missing a case where a peer would change that is not covered by join/depart?

I'm trying to ease the case where you have several spaces, and zookeeper was deployed in the wrong one. Nowadays, you can set the constraint in juju, and force departure and rejoin, or you can set the right value in the relation, and update manually the config files in every unit. This would allow you to set the value in the relationship, and get it propagated to the config automatically.

I'm trying to ease the case where you have several spaces, and zookeeper was deployed in the wrong one. Nowadays, you can set the constraint in juju, and force departure and rejoin, or you can set the right value in the relation, and update manually the config files in every unit. This would allow you to set the value in the relationship, and get it propagated to the config automatically.

+1, thx for the explanation @Pekkari.  A quick deploy with this addition lgtm.

Rev 42 contains this update and has been released to the edge channel in the charm store:
https://jujucharms.com/zookeeper/42
Pending CI tests to move it through to stable.


how to set the scale like BigDecimal

 Expression expression = new Expression("a- b");
        expression
                .with("a","480.70")
                .and("b","480.99");
BigDecimal c=  expression.eval();

The result is  -0.29. I want is -0.290, and set the precision is not working.
like BigDecimal:
BigDecimal a= new BigDecimal("480.70");
BigDecimal b= new BigDecimal("480.99");
BigDecimal c= a.subtract(b).setScale(3);

Is there any way ?

Yes, eval() strips the zeroes f the BigDecimal result by default. However, you missed that there is the eval(boolean) overload which allows you to disable that behavior.

With version 3, stripping trailing zeroes can be configured, but I see that it isn't in the documentation.
Leaving this open, though it is fixed to remind adding the documentation.

Documentation is here: https://ezylang.github.io/EvalEx/configuration/configuration.html


TS/JS usage - fetch features for bounding box

I'm having some trouble figuring out how to use the javascript module to retrieve a subset of features. Is there some way I can parse just the header of a very large flatgeobuf, use the index to identify byte ranges for a given bounding box, and then parse features for those bytes?
Eventually I'd like to stick a large flatgeobuf on s3 and run analysis on subsets of the data, using byte-range GET requests to just grab the data I need. Is that the sort of workflow this format is intended to support?
edit... looking at the format again, it appears I'd have trouble identifying how much of the file's header to retrieve in order to get the entire index. I'd appreciate any thoughts you might have on that as well.

Thanks for extra info Bjorn. I'm slowly trying to understand how this works and have a quick question. It looks like the readFeature method is fetching some metadata about each feature, then proceeding to read the rest of the bytes related to it based on the feature length. I'm I understanding that correctly?
https://github.com/bjornharrtell/flatgeobuf/blob/8ce728447e8d2784e61eb84b137d6c3610593b8c/src/ts/generic/featurecollection.ts#L160
That could prove to be a hurdle when fetching data over the network. I'm finding my s3 requests often have a significant amount of latency, even when using cloudfront, so making many sequential requests like that would be slow. In my case I could batch reading of the "feature header"s and feature data into two request salvos to minimize it. But maybe I'm missing something? Is the complete byte offset and size somewhere in the index?

Only the offset is in the index and the features are size prefixed. There is good reason to keep the index as small as possible. And you are right, with the naive implementation of read this will cause more roundtrips than one would like. However, the offsets you get from the index search are ordered and with good locality so a generic way to optimize the I/O is to implement prefetching for the read logic. This is what is done in the GDAL implementation (see https://gdal.org/user/virtual_file_systems.html#vsicurl-http-https-ftp-files-random-access) and it seems quite effective. One could perhaps optimize the read even more specifically for flatgeobuf as the index search also contains the index position and if positions are directly adjacent you could determine a more optimal buffer size to read but I think that is overkill.

That clears it up for me a lot. Seems like there should be plenty of room to optimize requests based on adjacent indexes and prefixing. I've been playing with range requests to see how the browser cache behaves and it makes me optimistic that this could work well for my use case.
I'll be sure to post a demo if I get this idea working. I'm hoping to create an efficient process to clip polygons to the osm land dataset interactively in a digitizing tool.

Great to hear it. Glad to hear it might become useful for you.
If I had time I'd implement a generic prefetch in the reference TS/JS implementation and of course PRs are welcome.


Update networking page to match API changes

Closes #662

Coverage decreased (-0.3%) to 81.362% when pulling e3e7cdf7b7c96a977563537a502fd42d73d2eb5b on briansteffens:networking-api-updates into 4abb5b5db075aafe63f7e177137ff659682ee387 on linode:master.

Coverage decreased (-0.3%) to 81.391% when pulling e3e7cdf7b7c96a977563537a502fd42d73d2eb5b on briansteffens:networking-api-updates into 4abb5b5db075aafe63f7e177137ff659682ee387 on linode:master.

Just curious, what is the thought behind moving the Add private IP address button?

I thought it looked weird on the other side of the IPv6 field from the part of the page it affected. Phil is saying not to have 4/6 sections under private so that may change it again more to how it was before

What if we reused what we did for config disks?

@ndodson: how would what we did with config disks map to this?
@ndodson, @peaton here's another possible layout:

I like that latest screenshot. +1

Coverage decreased (-0.3%) to 81.382% when pulling 4a7fae76200ededd0764c75aac3f413fb7191b75 on briansteffens:networking-api-updates into 4abb5b5db075aafe63f7e177137ff659682ee387 on linode:master.

The "Public network" header should probably be changed then, since there is private network information in there.

Coverage decreased (-0.3%) to 81.382% when pulling f0570e262d96747247fca53d2eabf5c2524ee3c1 on briansteffens:networking-api-updates into 4abb5b5db075aafe63f7e177137ff659682ee387 on linode:master.


Code review todo list

Your code is good and dry.

Please make the following improvements

Fix the setAttribute() function call on a null object

I have already fixed the issue, thank you for commenting.


peptide-cross linking

This seems to be a strange term to exist since
actin cross linking was obsoleted
This term was made obsolete because it represents a combination of molecular functions.
https://www.ebi.ac.uk/QuickGO/term/GO:0003780
and presumably "protein binding, bridging" would be more appropriate (or other function terms?)
It's not really clear what the context is from the annotations (various I think), and some are "cross-linked proteins" rather than  "cross linking"

The actin cross linking term had a vague definition that included binding:

Definition (GO:0003780 GONUTS page)
OBSOLETE. Interacting selectively with two actin filaments to anchor them together.
Comments: This term was made obsolete because it represents a combination of molecular functions.

The peptide-cross linking term does not look comparable to the actin cross linking term that was obsoleted, because it is specifically defined as:

The formation of a covalent cross-link between or within protein chains.

and it has many specific child terms that look like they have been put in systematically, several of which have been used:

Row Labels
Total

isopeptide cross-linking
9

isopeptide cross-linking   via N6-(L-isoglutamyl)-L-lysine
11

peptide cross-linking
566

peptide cross-linking via   chondroitin 4-sulfate glycosaminoglycan
44

peptide cross-linking via   L-cystine
1

Grand Total
631

Summary: I think this term and its children are fine; no action required.

Aren't these  describing molecular functions though? not biological processes (that's what originally alerted me to the term), only has 61 manual annotations (term or children).... so does not seem to be very used.