tensorflow: 2.11.1 -> 2.13.0

Description of changes
Updating to 2.13.0 to cope with the vulnerability issues reported about 2.11.0. This does currently only work by disabling some of the system packages previously enabled, but I'm working on successively re-enabling them.  Closes https://github.com/NixOS/nixpkgs/issues/250245 and https://github.com/NixOS/nixpkgs/issues/255733
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

The package is now on par with the pre-PR situation when it comes to syslib usage (apart from lmdb, which has been dropped upstream).

Changed base branch to master.

I guess that some regression have been introduced in this PR because I can't build tensorflow:
ERROR: /build/output/external/pybind11_protobuf/pybind11_protobuf/BUILD:81:11: Compiling pybind11_protobuf/check_unknown_fields.cc failed: (Exit 1): gcc failed: error executing comm>
In file included from external/pybind11_protobuf/pybind11_protobuf/check_unknown_fields.cc:1:
external/pybind11_protobuf/pybind11_protobuf/check_unknown_fields.h:7:10: fatal error: python/google/protobuf/proto_api.h: No such file or directory
    7 | #include "python/google/protobuf/proto_api.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
INFO: Elapsed time: 2944.074s, Critical Path: 997.12s
INFO: 9456 processes: 1068 internal, 8388 local.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

I guess that some regression have been introduced in this PR because I can't build tensorflow:
ERROR: /build/output/external/pybind11_protobuf/pybind11_protobuf/BUILD:81:11: Compiling pybind11_protobuf/check_unknown_fields.cc failed: (Exit 1): gcc failed: error executing comm>
In file included from external/pybind11_protobuf/pybind11_protobuf/check_unknown_fields.cc:1:
external/pybind11_protobuf/pybind11_protobuf/check_unknown_fields.h:7:10: fatal error: python/google/protobuf/proto_api.h: No such file or directory
    7 | #include "python/google/protobuf/proto_api.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
INFO: Elapsed time: 2944.074s, Critical Path: 997.12s
INFO: 9456 processes: 1068 internal, 8388 local.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

Should be fixed now.

@jonringer I had to touch the protobuf package you maintain since it didn't export the Python API (especially python/google/protobuf/proto_api.h) required by pybind11_protobuf (https://github.com/pybind/pybind11_protobuf/blob/main/pybind11_protobuf/check_unknown_fields.h#L7). You might want to check whether you agree.

I cannot build python310Packages.tensorflowWithCuda with the latest changes.
python310Packages.tensorflow now works fine though.
[6,452 / 7,187] Compiling tensorflow/core/ops/nn_ops.cc [for host]; 8s local ... (12 actions, 11 running)
ERROR: /build/source/tensorflow/compiler/xla/stream_executor/cuda/BUILD:377:11: Compiling tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc failed: (Exit 1): crosstool_wrapper_driver_is_not_gcc failed: error executing command external/local_config_cuda/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc -MD -MF bazel-out/k8-opt/bin/tensorflow/compiler/xla/stream_executor/cuda/_objs/cudnn_plugin/cuda_dnn.pic.d ... (remaining 133 arguments skipped)
In file included from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_Operation.h:37,
                 from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_OperationGraph.h:36,
                 from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_Heuristics.h:31,
                 from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend.h:101,
                 from tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:56:
bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_PointWiseDesc.h: In member function 'int64_t cudnn_frontend::PointWiseDesc_v8::getPortCount() const':
bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_PointWiseDesc.h:69:16: error: enumeration value 'CUDNN_POINTWISE_RECIPROCAL' not handled in switch [-Werror=switch]
   69 |         switch (mode) {
      |                ^
In file included from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_OperationGraph.h:36,
                 from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_Heuristics.h:31,
                 from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend.h:101,
                 from tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:56:
bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_Operation.h: In member function 'cudnn_frontend::Operation_v8&& cudnn_frontend::OperationBuilder_v8::build_pointwise_op()':
bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_Operation.h:413:16: error: enumeration value 'CUDNN_POINTWISE_RECIPROCAL' not handled in switch [-Werror=switch]
  413 |         switch (m_operation.pointwise_mode) {
      |                ^
cc1plus: some warnings being treated as errors
INFO: Elapsed time: 656.374s, Critical Path: 70.98s
INFO: 10193 processes: 6353 internal, 3840 local.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

I cannot build python310Packages.tensorflowWithCuda with the latest changes. python310Packages.tensorflow now works fine though.
[6,452 / 7,187] Compiling tensorflow/core/ops/nn_ops.cc [for host]; 8s local ... (12 actions, 11 running)
ERROR: /build/source/tensorflow/compiler/xla/stream_executor/cuda/BUILD:377:11: Compiling tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc failed: (Exit 1): crosstool_wrapper_driver_is_not_gcc failed: error executing command external/local_config_cuda/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc -MD -MF bazel-out/k8-opt/bin/tensorflow/compiler/xla/stream_executor/cuda/_objs/cudnn_plugin/cuda_dnn.pic.d ... (remaining 133 arguments skipped)
In file included from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_Operation.h:37,
                 from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_OperationGraph.h:36,
                 from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_Heuristics.h:31,
                 from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend.h:101,
                 from tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:56:
bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_PointWiseDesc.h: In member function 'int64_t cudnn_frontend::PointWiseDesc_v8::getPortCount() const':
bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_PointWiseDesc.h:69:16: error: enumeration value 'CUDNN_POINTWISE_RECIPROCAL' not handled in switch [-Werror=switch]
   69 |         switch (mode) {
      |                ^
In file included from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_OperationGraph.h:36,
                 from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_Heuristics.h:31,
                 from bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend.h:101,
                 from tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:56:
bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_Operation.h: In member function 'cudnn_frontend::Operation_v8&& cudnn_frontend::OperationBuilder_v8::build_pointwise_op()':
bazel-out/k8-opt/bin/external/cudnn_frontend_archive/_virtual_includes/cudnn_frontend/third_party/cudnn_frontend/include/cudnn_frontend_Operation.h:413:16: error: enumeration value 'CUDNN_POINTWISE_RECIPROCAL' not handled in switch [-Werror=switch]
  413 |         switch (m_operation.pointwise_mode) {
      |                ^
cc1plus: some warnings being treated as errors
INFO: Elapsed time: 656.374s, Critical Path: 70.98s
INFO: 10193 processes: 6353 internal, 3840 local.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

Might be related to this (https://github.com/tensorflow/tensorflow/issues/60398) upstream issue considering that nixpkgs CUDA currently defaults to cuDNN 8.9. I'll try (no CUDA setup here) to investigate this further.

I'll try (no CUDA setup here) to investigate this further.

I will be more than happy to help with testing ! I have access to Nvidia GPUs.

FYI: v2.14.0 was released.
https://github.com/tensorflow/tensorflow/releases/tag/v2.14.0
If we need to make major changes for that, I think it would be better to proceed with 2.13.0 as is.

If we need to make major changes for that, I think it would be better to proceed with 2.13.0 as is.

Maybe it's worth to try to build 2.14.0.
Indeed, currently, 2.13.0 doesn't build with cuda support. Instead of fixing it twice, we might directly target 2.14.0.

Ah, I mean, if we have to rewrite a lot of the patches we apply, and if what works now will fail.
I agree that v2.14 is worth a try since we can't build v2.13 in darwin as well.

Either way, I vote that we move to get this PR merged sooner rather than later. I think we'd all like to see it land, and we can always keep up the momentum in future work!

Either way, I vote that we move to get this PR merged sooner rather than later. I think we'd all like to see it land, and we can always keep up the momentum in future work!

Absolutely.
I guess that it is up to @zeuner to decide on whether we should directly jump to 2.14.0 or not.
Do you feel like it would be faster to fix (yet again) the 2.13 build ?

After all, we might want to stick with 2.13.0 for now.
Indeed, while trying to update tensorflow-bin from 2.13.0 to 2.14.0, I faced a dependency issue.
ml-dtypes had to be pinned to 0.2.0 by TF developpers as some type has been deprecated in 0.3.0+.
See: https://github.com/NixOS/nixpkgs/pull/258546#issuecomment-1742544230

I'm also interested in looking into 2.14.0, but for now the possible additional effort to adapt the already completed fixes seemed too unpredictable. Which is why I first tested some ideas on 2.13.0.
CUDA building was blocked by incompatible cuDNN and grpc versions. It should work now.
Some refactoring of the changes to pkgs/top-level/python-packages.nix might still be appropriate. Might be worth trying to fit all the dependency version interdependencies into a rec structure to make it more concise.

I'm also interested in looking into 2.14.0, but for now the possible additional effort to adapt the already completed fixes seemed too unpredictable. Which is why I first tested some ideas on 2.13.0.

I agree ! Especially since we know about those ml-dtypes incompatibility.

@zeuner could you rebase your PR on master please ?
Like so, I would be able to run nixpkgs-review.

Right now, it doesn't build for me:
/nix/store/9wx1cwcam98qgn3w5qywh5807pkdc4q0-abseil-cpp-20230125.3/include/absl/functional/internal/any_invocable.h:285:3: error: there are no arguments to 'ABSL_UNREACHABLE' that depend on a template parameter, so a declaration of 'ABSL_UNREACHABLE' must be available [-fpermissive]
  285 |   ABSL_UNREACHABLE();
      |   ^~~~~~~~~~~~~~~~

@zeuner could you rebase your PR on master please ? Like so, I would be able to run nixpkgs-review.

I rebased against master on September 24th, GitHub says it's mergeable.

Right now, it doesn't build for me:
/nix/store/9wx1cwcam98qgn3w5qywh5807pkdc4q0-abseil-cpp-20230125.3/include/absl/functional/internal/any_invocable.h:285:3: error: there are no arguments to 'ABSL_UNREACHABLE' that depend on a template parameter, so a declaration of 'ABSL_UNREACHABLE' must be available [-fpermissive]
  285 |   ABSL_UNREACHABLE();
      |   ^~~~~~~~~~~~~~~~

I'm sorry about that. The error also showed up on ofborg. I'll try to build from a clean checkout and investigate.

I rebased against master on September 24th, GitHub says it's mergeable.

My bad, the enormous number of rebuild comes from the change you made to protobuf.
Usually, the changes to protobuf are merged to staging as they trigger many rebuilds.

I rebased against master on September 24th, GitHub says it's mergeable.

My bad, the enormous number of rebuild comes from the change you made to protobuf. Usually, the changes to protobuf are merged to staging as they trigger many rebuilds.

Yeah, I initially went against staging until @mweinelt suggested this should go into master. But since then, I touched protobuf because we need python/google/protobuf/proto_api.h from it.
I'll try to get access to protobuf's python directory similarly to how pythonModules.protobuf does it, so we can leave protobuf alone.
Might be interesting to figure out whether there are more packages that need access to protobuf's Python API without going through pythonModules.protobuf, which might be a reason to permanently export the headers from protobuf.

@GaetanLepage The last two commits should fix the abseil-related compile error and the protobuf-related mass rebuild issue.

tensorflow builds fine for me on x86, with and without CUDA.
If all the versions/flavors build fine, I would plead to merge this ASAP.
Indeed, several packages are broken as they depend on TF. Furthermore, this could let us update many packages in the python ecosystem.

Result of nixpkgs-review pr 255998 run on aarch64-darwin 1

15 packages marked as broken and skipped:

frigate
python310Packages.n3fit
python310Packages.n3fit.dist
python310Packages.scikit-tda
python310Packages.scikit-tda.dist
python310Packages.tensorflow-probability
python310Packages.tensorflow-probability.dist
python310Packages.trfl
python310Packages.trfl.dist
python311Packages.n3fit
python311Packages.n3fit.dist
python311Packages.tensorflow-probability
python311Packages.tensorflow-probability.dist
python311Packages.trfl
python311Packages.trfl.dist

40 packages failed to build:

libtensorflow (libtensorflow.python)
python310Packages.baselines
python310Packages.baselines.dist
python310Packages.cleanlab
python310Packages.cleanlab.dist
python310Packages.edward
python310Packages.edward.dist
python310Packages.gpt-2-simple
python310Packages.gpt-2-simple.dist
python310Packages.mhcflurry
python310Packages.mhcflurry.dist
python310Packages.pot
python310Packages.pot.dist
python310Packages.tensorflow (python310Packages.tensorflow-build ,python310Packages.tensorflowWithoutCuda)
python310Packages.tensorflow.dist (python310Packages.tensorflow-build.dist ,python310Packages.tensorflowWithoutCuda.dist)
python310Packages.tf2onnx
python310Packages.tf2onnx.dist
python310Packages.tflearn
python310Packages.tflearn.dist
python310Packages.umap-learn
python310Packages.umap-learn.dist
python311Packages.baselines
python311Packages.baselines.dist
python311Packages.cleanlab
python311Packages.cleanlab.dist
python311Packages.edward
python311Packages.edward.dist
python311Packages.gpt-2-simple
python311Packages.gpt-2-simple.dist
python311Packages.mhcflurry
python311Packages.mhcflurry.dist
python311Packages.pot
python311Packages.pot.dist
python311Packages.tensorflow (python311Packages.tensorflow-build ,python311Packages.tensorflowWithoutCuda)
python311Packages.tensorflow.dist (python311Packages.tensorflow-build.dist ,python311Packages.tensorflowWithoutCuda.dist)
python311Packages.tf2onnx
python311Packages.tf2onnx.dist
python311Packages.tflearn
python311Packages.tflearn.dist
tests.pkg-config.defaultPkgConfigPackages.tensorflow

@natsukium @samuela @NickCao
Tensorflow seems to build fine with this PR.
I would lean on merging this and fix the eventual bugs afterwards. Right now the situation is quite stuck as all the packages depending on TF are unusable.
If this update happens to break some packages, we can handle that in a second time, right ?

I agree with you.
With the 23.11 release coming in a month and a half, there doesn't seem to be much time left for downstream package maintenance.
I have not yet checked all the patches submitted in this PR, but we need to do at least two things to merge.

mark as broken on darwin
clean up the commits

mark as broken on darwin

👍

clean up the commits

we can always squash and merge unless folks care about having the commit history in master

I agree with you. With the 23.11 release coming in a month and a half, there doesn't seem to be much time left for downstream package maintenance. I have not yet checked all the patches submitted in this PR, but we need to do at least two things to merge.
1. mark as broken on darwin

2. clean up the commits

Did that. I put everything in a single commit. Please inform me if there should be more detail.

Why is the package called libtensorflow now, and now python311Packages.tensorflow?

Why is the package called libtensorflow now, and not python311Packages.tensorflow?

AFAICT that's only the commit message. Attribute names have not changed... but still prob worth fixing the commit message

Why is the package called libtensorflow now, and not python311Packages.tensorflow?

AFAIK, both libtensorflow, python311Packages.tensorflow (and others) are affected. But I can change the message if it helps.

TIL libtensorflow is just an alias for python3Packages.tensorflow.libtensorflow: https://github.com/NixOS/nixpkgs/blob/b3ddf9649fdac7db15aeea95cb3114c13594d265/pkgs/top-level/all-packages.nix#L3979. I guess that makes sense

TIL libtensorflow is just an alias for python3Packages.tensorflow.libtensorflow: https://github.com/NixOS/nixpkgs/blob/b3ddf9649fdac7db15aeea95cb3114c13594d265/pkgs/top-level/all-packages.nix#L3979. I guess that makes sense

Cool ! What else to do now ?

LGTM! any objections to merging @mweinelt, @natsukium?


Google pay is not working on react android demo code

Platform

[ ] Android

Describe the bug
Google pay is not working on react android demo code. it logs Not implemented on device on the react android demo code

@mostafa3ly  Thanks for issue.
This was CapacitorStripeProvider's bug. I fixed and released v3.8.2. Please test it.
https://github.com/capacitor-community/stripe/commit/a8ef5f4452321b90b1190f51ac104f42f9fb46ef
Thanks.

@mostafa3ly Did you run npx cap update ? In my device, no problem to run.

Yes, I tested on react-demo. Now, work with no problem.
Can Google Pay work on your device?

@rdlabo
yes Google pay is working on my device and i tested it on your demo hosting for when on mobile google chrome browser and it working fine.
i tried your plugin on 4 phones and all of them give the same issue.

I put the word "React" in the title of the Demo to make sure I check it with React-Android. It is indeed working.

  Make sure the package version of<EMAIL_ADDRESS>is 3.8.2-0 or higher.

This Issue will be closed because it has not been updated for a long time. If you encounter similar problems, please start a new Issue.


B 20066 space force pdf

B-20066
Int PR
Summary
This ended up being a very simple two-line change to add the Space Force branch to the options used for PDF Generation, which is used in QAE/CSR and PPM PDF generation.

[x] Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

How to test

Create a new Milmove Space Force Service Member
Create an HHG shipment, complete and submit it.
Log in as a QAE office user, locate the shipment.
Create a shipment report from the QAE reports tab.
Create a counseling report from the QAE reports tab.
Download both reports. Ensure that the Space Force branch is displayed like in screenshot 1 below in both.
Return to the Service Member.
Create a new shipment - a PPM with an advance request, submit it.
Log in as a service counselor, approve the PPM and advance. Download the AOA, check the branch is displayed like in screenshot 2 below.
Log back in as a service member, complete the customer closeout process for the PPM.
Log back in as a service counselor, approve the PPM documents to complete the closeout process.
Download the payment packet, check the branch is displayed like in screenshot 3 below.

Screenshots

QAE/CSR Report with branch added

AOA Packet with branch added

Payment Packet with branch added

Matches INT, functions the same.


deepClone don't clone Array correctly

current deepClone code:
const deepClone = obj => {
  let clone = Object.assign({}, obj);
  Object.keys(clone).forEach(
    key => (clone[key] = typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key])
  );
  return Array.isArray(obj) ? Array.from(clone) : clone;
};

var b = deepClone([1,2,3]) // []
aftered change Array.from(clone)  to Array.from((clone.length = obj.length, clone))
var deepClone = obj => {
  let clone = Object.assign({}, obj);
  Object.keys(clone).forEach(
    key => (clone[key] = typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key])
  );
  return Array.isArray(obj) ? Array.from((clone.length = obj.length, clone)) : clone;
};

var b = deepClone([1,2,3]) // [1,2,3]
var obj1 = {a:1}, obj2 = {a:2}
var oo1 = {a1:1, arr1:[{b1:obj1},1]}, oo2 = {a2:2, arr2:[{b2:obj2},2]}
var cloned = deepClone([oo1,oo2])   // [{…}, {…}]
cloned[0].arr1[0] == obj1  // false

The code is a little strangely imperative with the forEach loop mutating the outer clone variable, I think we can do this:
const deepClone = obj =>
  Object
    .keys(obj)
    .reduce((acc, key) => {
       const clone = typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key]
       return Array.isArray(acc) ? [...acc, clone] : { ...acc, [key]: clone }
    }, Array.isArray(obj) ? [] : {})

ther was a misread then I thought it had the Array.from((clone.length = obj.length) && clone) in it

@atomiks the performance profile here matters. With large enough objects your version can lead to a recursive stack overflow due to unless V8 has gotten a really good update to tailcall stack re use

@skatcat31 can you expand on that? Wouldn't there need to be like 10,000+ levels deep of nested objects? I think if you have that structure then there are other problems

If we go purely by that standard... no. Yours might actually break in as little as a few hundred actually. Yours involves MANY extra steps because of the spread operator, meaning it actually compounds in a vertical(depth) and horizontal(number of keys) number of magnitude. Spread, while nice and helpful(and fairly fast), is not exactly friendly for recursive functions at the moment. In the future maybe.
Although a better point would be memory and speed. By not spreading the object or array every iteration we save a LOT of time and a LOT of operations. Spreading should really be used for adaption or single iterations. Using it in every iteration actually causes us to create many intermediate steps in the engine instead of a single iterator and closure.

granted that's not to say I don't appreciate your version. It is fairly elegant in it's own way.

What about this?
const deepClone = obj =>
  Object
    .keys(obj)
    .reduce((acc, key) => {
      acc[key] = typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key]
       return acc
    }, Array.isArray(obj) ? [] : {})

much better and a perfectly acceptable replacement

If you want to open a pull request with that behavior after confirming it works then I'll happily close mine

I am going to merge the PR we already have, #666 (which has a very ominous number btw), and @atomiks feel free to open another one with your version, when you have the time. You should take credit for it! 😉


Investigate tx duplication

After sending a txs, nodes start to report
{"cs":"2a15f396","error":"error while processing: already exists - topic tx","level":"error","msg":"failed to process message","process":"kadcast","time":"2022-03-26T10:15:07Z","topic":"tx"}

Digging down to he network layer, it result to receive txs multiple time with different payload

When a tx is propagated by rusk, it doesn't have the tx_hash valued
The tx re propagated by the nodes have it.
Hence the bytes difference (and the missing dupe map hit)
This can be solve in 2 way:

Fill the tx hash at rusk network level
Get rid of hash serialisation at dusk-blockchain side


Colours for Bank holidays

On the "Bank Holidays" section would be good to colour code
different days - we give employees a day extra at xmas, so
ideally would want to identify it differently to the Bank
holidays rather than them all being blue on the team view.

It would be great also to see the name of the bank holidays in the calendar view tooltip (now the Holiday name is just entered in the general settings and not used as far as I know).
Thanks

I would like to see the name of the holiday in the calandar view as well, rather then just "Bank Holiday".


Added deterministic push order test per connection

Added test
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio
19534e0c2d26503187e188353a73ae8dbf287705
link
/test integ-security-multicluster-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-security-multicluster-tests_istio

LGTM.  But would leave it for @howardjohn for review.

/test benchmark_istio

@howardjohn After a close looking at the code, the processings is no use at all.
Add To Queue X
Dequeue X
Start push 1 for X
Add To Queue X
Dequeue X
Attempt to start push 2 for X, blocked because only one concurrent push allowed
Add To Queue X
Dequeue X
Attempt to start push 3 for X, blocked because only one concurrent push allowed
......
Push 1 done
Push 3 starts (order is arbitrary! it may not be push 2)
Push 3 finishes
Push 2 starts
Push 2 finishes

The order could not change, because when push 1 is running, the push 2 and 3 requests will be merged. After push1 done the merged request will be processed.

Push 2 and 3 will not merge since we dequeue 2 before we add 3,that is the problem. We end up not merging

I know the issue, but looks we could make it more readable

It may be more readable but the performance is really bad.. see the discussion/graphs in https://github.com/istio/istio/issues/14782 and https://snapshot.raintank.io/dashboard/snapshot/ymgZuKL1hGK1Sj6eK8UqZZI8GtTJNl1R?orgId=2 (the after part is WITHOUT withDone - you can see memory goes extremely high)

added test for deterministic order. It is not easy to guarantee the push order without large change of the framework now

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
08d96eafc728841dfa7c78a5e44e47cb94087e3a
link
/test lint_istio

gencheck_istio
08d96eafc728841dfa7c78a5e44e47cb94087e3a
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn updated

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
08d96eafc728841dfa7c78a5e44e47cb94087e3a
link
/test gencheck_istio

lint_istio
3d533a505845ab4d5ef32de8482563bff59d4365
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
3d533a505845ab4d5ef32de8482563bff59d4365
link
/test lint_istio

gencheck_istio
3d533a505845ab4d5ef32de8482563bff59d4365
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@hzxuzhonghu: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
3d533a505845ab4d5ef32de8482563bff59d4365
link
/test lint_istio

gencheck_istio
3d533a505845ab4d5ef32de8482563bff59d4365
link
/test gencheck_istio

unit-tests_istio
3d533a505845ab4d5ef32de8482563bff59d4365
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Removed ragequit/ctrl-w binding

When you press ctrl-w instead of ctrl-s....
Why is there even a binding which closes an unsaved file without asking. why

or just bring up the save as menu first if the file isn't saved

That needs to be turned into a Yes/No/Cancel dialog in this case though, not just OK/Cancel.

So you rageremoved the ragequit binding?
I appreciate the sentiment, but put up a save dialog instead, as @Divran said.

The reason for that is that if you update your master branch from the official master branch, you will litter your PR with unrelated commits.
Make a new PR from a separate branch and make sure you don't just remove that feature without giving it much thought :)

W is also right next to S on a QWERTY keyboard (and probably most keyboards).

Removing this is better than having it. A feature which deletes any progress on a file while editing it, is the worst thing an editor can have. And it's directly next to the save shortcut..... Dunno how to put a save dialog instead, reading that code isn't fun (and i read zcpu code, if you know what i mean).

Hmm, maybe we can find someone who thinks reading it is fun :)
@Divran can you think of anyone?

<.<

I'm currently in the process of cleaning up the text editor, and splitting it into multiple files (one for E2 mode, one for CPU mode, etc. etc.) - don't expect it to be done any time soon as I have a chronic shortage of free time, but hopefully it'll make it less painful to wade through the code in the future.

So what do we do until then? Should we merge this for now?

I'm against merging this - the proper solution is obviously to have a dialog box, which somebody should do before I'm done with my cleanup changes. Hopefully, not merging this will provide impetus for somebody to implement a dialog for it :wink:


Incorrect results

Here's the link to my stat card: https://leetcard.jacoblin.cool/stevenewald
It shows 221 solved, but https://leetcode.com/stevenewald shows about 560 solved.

Wow, that's quite strange behavior! I will investigate this in the next few days. Thank you for reporting it.

@stevenewald
Faced the same issue.
I have 691 total solved problems but it shows 45 in the card.
The reason is in the API we are fetching only the current active session's stats.
The PR from @kevin-roman is the solution we are looking for.


What is the function class_batch_to_labeling_batch(y, y_hat, y_hat_mask=None) mean in ctc_cost.py?

Hello, I am doing some research on TIMIT and I have to use CTC in my model. I read ctc_cost.py but I can not understand the function: class_batch_to_labeling_batch(y, y_hat, y_hat_mask=None).
In comments, y_hat is T x B x (C+1) matrix and y_hat_mask is T x B matrix. In line 65:
y_hat = y_hat * y_hat_mask.dimshuffle(0, 'x', 1)
I am puzzled because y_hat_mask.dimshuffle(0, 'x', 1) is T x 1 x B matrix and it can not multiply with y_hat which is T x B x (C+1) matrix. In addition, I tried to run this function in Ipython notebook and it reported an error.
Could you please explain why it is y_hat = y_hat * y_hat_mask.dimshuffle(0, 'x', 1) and what is res in the function?
Thanks.

Hi,
Let's say we have 3 classes (a, b, and c), batch-size of 1, and 2 time-steps. So the probabilities are:
time |   a   |   b   |   c   |   blank    |
-------------------------------------------
  0  |  0.2  |  0.4  |  0.3  |    0.1     |
-------------------------------------------
  1  |  0.35 |  0.15 |  0.2  |    0.3     |
-------------------------------------------

Let's suppose the output sequence is b, a, a, b, c. (Actually blanks will be added too but at this point let's just ignore it.) Then the output must be:
time |   b   |   a   |   a   |   b    |   c
----------------------------------------------
  0  |  0.4  |  0.2  |  0.2  |  0.4   |  0.3
----------------------------------------------
  1  |  0.15 |  0.35 |  0.35 |  0.15  |  0.2
----------------------------------------------

So basically it replicates those probabilities to the length of the output sequence.
About the mask, I don't remember why did I do this, but now Kyle has a new version of code which you may find useful:
https://gist.github.com/kastnerkyle/ca851e39229551208c0d#file-minibatch_ocr-py-L175


Daemon exe should be signed on windows

Daemon is not signed under the last release (v0.19.0) tested.

https://github.com/pyinstaller/pyinstaller/wiki/Recipe-Win-Code-Signing

@eukreign Is this still an open and relevant issue? If yes we need a description and done criteria

This is sub-task of the build process I'm currently working on, #1298 .

To work around this on the app side, the daemon will be signed during the app packaging process. Not sure what would happen if the daemon is already signed, guess we'll wait and see. We should still sign it for the binaries on lbry repo.

@eukreign #1298 is closed, can this be closed?

Signing for the daemon has not been added yet so this is a valid issue.


vim.plug post install hook

Hello, is it possible to somehow run :NightfoxCompile after install for vim-plug users? I tried to install plugin as follows:
Plug 'EdenEast/nightfox.nvim', {'do': ':NightfoxCompile'}

But vim-plug throw error:
x Post-update hook for nightfox.nvim ... Vim(lua):E5108: Error executing lua [string ":lua"]:1: module 'nightfox' not found:
	no field package.preload['nightfox']
	no file './nightfox.lua'
	no file '/usr/share/luajit-2.1.0-beta3/nightfox.lua'
	no file '/usr/local/share/lua/5.1/nightfox.lua'
	no file '/usr/local/share/lua/5.1/nightfox/init.lua'
	no file '/usr/share/lua/5.1/nightfox.lua'
	no file '/usr/share/lua/5.1/nightfox/init.lua'
	no file './nightfox.so'
	no file '/usr/local/lib/lua/5.1/nightfox.so'
	no file '/usr/lib/lua/5.1/nightfox.so'
	no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
	[C]: in function 'require'
	[string ":lua"]:1: in main chunk

This should work however I am unfamiliar with vim-plug and have no idea why this would be the case. Looking for help with this one.

This issue should also be filed with vim-plug. I have a feeling that this is an issue with their do command and not being able to call 'lua' files.

Pretty sure packer also isn't able to call lua runtime either
As a result I had to opt in a hack

I am able to use packer's run key and it does execute on install and update.
{
  "EdenEast/nightfox.nvim",
  run = ":NightfoxCompile",
  config = function()
    -- ...
  end
},

Full minimal example
-- `minimal_init.lua` used for reproducible configuration
-- Open with `nvim --clean -u minimal_init.lua`

local is_windows = vim.fn.has("win32") == 1
local function join(...)
  local sep = is_windows and "\\" or "/"
  return table.concat({ ... }, sep)
end

local root_tmp = is_windows and os.getenv("TEMP") or "/tmp"
local site_path = join(root_tmp, "nvim", "site")
local pack_path = join(site_path, "pack")
local install_path = join(pack_path, "packer", "start", "packer.nvim")
local compile_path = join(install_path, "plugin", "packer_compiled.lua")
vim.opt.packpath = site_path
vim.g.loaded_remote_plugins = 1

if vim.fn.isdirectory(install_path) == 0 then
  vim.fn.system({ "git", "clone", "--depth=1", "https://github.com/wbthomason/packer.nvim", install_path })
end

local packer = require("packer")
local use = packer.use
packer.reset()
packer.init({ compile_path = compile_path, package_root = pack_path })

use("wbthomason/packer.nvim")
use({"EdenEast/nightfox.nvim", run = ":NightfoxCompile"})

vim.cmd("colorscheme nightfox")

@EdenEast This issue can be closed now


typo: vews -> views

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

biztalk/core/glossary5.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Save and restore window size after restart

OS version and name: Windows 10
Hyper.app version: 1.4.7
Link of a Gist with the contents of your .hyper.js: https://gist.github.com/someanon/e45a11f297f38882cc3eac5c9053d2af
Relevant information from devtools (CMD+ALT+I on Mac OS, CTRL+SHIFT+I elsewhere): N/A
The issue is reproducible in vanilla Hyper.app: resize to needed size, maximize, close hyper, open hyper

Issue
If hyper closed in maximized state after restart it doesn't restore the common size. Istead it restores maximized size (as it was common) but not maximized state and shifted bottom-right a little from top-left screen corner.
I think hyper should start maximized state if it closed so. And it should save and restore common size after maximized close, so if i minimize maximized window after restart it would become common size before restart.
Maybe it would be better to make optional parameter in .hyper.js for window size of any new hyper windows and option for start maximized if it closed so before.

I believe this has been fixed already in canary.

Hi! Can you try canary and see if the new behaviour is what you're expecting. To learn how to try out canary, see https://zeit.co/blog/canary
We're working on getting all of the great changes and improvements released to the stable channel ASAP.

Yes!


wrong mapping for 'textFontSize' property in button component

🐛 Bug Report
When using Button component, mapping provide textFontSize for setting up fontSize for text inside button. Yet, looks like mappings doesn't work for this particular property. When trying to set up different textFontSize - it's always applies default value, which if 16.
It should work, since textFontSize gets from eva mapping here. But that value always returns 16.
Might related to eva package instead!
To Reproduce
Steps to reproduce the behavior:
Create button component and try to modify mapping by changing textFontSize. Get button element ref and check what value eva returns

Expected behavior
Mapping should get correct value.
UI Kitten and Eva version

Package
Version

@eva-design/eva
2.1.0

@ui-kitten/components
5.1.0

Environment information

  System:
    OS: macOS 11.1
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  Binaries:
    Node: 14.15.4 - ~/.nvm/versions/node/v14.15.4/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 7.14.0 - ~/.nvm/versions/node/v14.15.4/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  SDKs:
    iOS SDK:
      Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
    Android SDK:
      API Levels: 28, 29, 30
      Build Tools: 28.0.3, 29.0.2, 30.0.3
      System Images: android-23 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom, android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
  IDEs:
    Android Studio: 4.2 AI-202.76<IP_ADDRESS>22048
    Xcode: 12.5/12E262 - /usr/bin/xcodebuild
  npmPackages:
    react: 17.0.1 => 17.0.1
    react-native: 0.64.0 => 0.64.0

The bug is caused by React.cloneElement

@whitestranger7 @dVaytul are you guys sure the problem is in mappings? for me it looks that size variant just overrides that font size that you declared in status variant group. I think that behaviour is defined by order of variant groups, so the latest one applied can override values of previously applied variants.
can you share more details on this issue?


Tag repository with minishift version

We should tag/branch this repository when a minishift version happens so we can keep compatibility between the addons here provided and the minishift versions.
At some point in time we might want to provide 2 different versions of an addon, to support old minishift versions (CDK) and new minishift versions that provide new features (e.g. multiline descriptions in 1.5.0 that do not work in previous releases).

This would not guarantee that an add-on will work. I hope the author will check their add-ons from time to time. But also, the app's here are outside of our support. They are meant as a way for the community to distribute their work.
I think this should actually the solved by https://github.com/minishift/minishift/issues/1313

A little of topic, but still on it: Couldn't the minishift team provide some infra to run tests which exist for addons?
I.e. minishift team provides infra, and the addons provide the tests for validation.

@fabiand please create an issue for this. But the problem is nested virtualization is mostly not available on public CI. Also, the time to run this would likely be very long. For each addon we would need to recreate the instance.

I've filed #27 - We - KubeVirt - might also rely on minishift for demo purpose. Eventually we can run some CI on our infra (which supports nesting and parallel jobs). But I need to check this.

@fabiand please comment this on #27 instead

@fabiand removed comments here...

Tagging alone won't indeed help I think. I think in this case we need to make compatibility more explicit. We already discussed this in the Minishift issue https://github.com/minishift/minishift/issues/1134, where we talked about introducing an additional optional meta data header to enforce a certain OpenShift version. The same could be done (if needed for Minsihift version). This way, add-on developers can gain some more control for add-ons where these things matters. Other add-ons I expect to stay stable, unless even the OpenShift API changes in a major way.

minishift/minishift#1134 and minishift/minishift#1313 together should be enough I think. We can keep this issue open just to track the two issues in Minishift repository .


Fixed bug that made Fang move too fast while ultimate was happening

Fixed bug by making sure that the variables in control of fang's aiming are reset while ultimate is ON
(The bug was generated because if player wasn't shooting the player stopped "aiming", and so the speed reset happened)
Also removed unused variable isEMP

Task linked: CU-1ej1ae6 Fang normal speed is recovered before Ultimate finishes


Stats redesign

This is an edge case which will not happen in prod but if we have no bids on parcels and all the endAt fields are NULL we get the following error.

I actually came across this and forgot about it later. Will fix, as soon as I finish up some styles in the other branch. I'll let you know

@NicoSantangelo perfect!

Updated!


Randy-emotes on new posts

Honkbot has a 10% (subject to change) chance to add a random custom emoji to any new post.

Closing since #29 was made using the new issue template. ༼ つ ◕_◕ ༽つ


changes need to run the apps for iOS and Android under .NET 8

Hi, Gerald.  This PR simply makes the iOS and Android apps run under .NET 8.  I wanted to check whether .NET 8 would break the injection of your MainPage into the App constructor, but it didn't.  I'm getting the same behavior as this SO post that you replied to: https://stackoverflow.com/questions/72429297/injecting-services-into-view-models-in-net-maui-app.  I will now reply to your comment there.  I'm getting the same problem as poster did, and I'm hoping you can help me.  My .NET 8 project where it happens is in my branch here: https://github.com/tele-bird/mauipoc/tree/inject-appshell-into-app-constructor

I was unable to comment on your answer to the SO post because I don't have a 50 reputation, but I found this open issue that explains my problem.  https://github.com/dotnet/maui/issues/11485.  I applied the workaround (add IServiceProvider into the App constructor) successfully.  However, I notice that your project here doesn't need the workaround, and I wonder why... ?


[BEAM-9326] Make JsonToRow transform input  instead of <? extends String>

R: @kennknowles

Merged manually with the fixes

Yikes! If removing <? extends String> makes it impossible to treat this class as a PTransform then I think this change should be reverted. Indeed I wondered if there was something funky going to happy in Java's type checking.

Yes it is already reverted, for the PipelineTest class, for JsonToRow we are good to go.


chore: prefetch dependencies and hermetic builds

This change configures prefetched dependencies and hermetic builds for createtree and updatetree builds.

/retest

/retest

/retest

@lance EC seems to be complaining about updateTree and createTree not being build with hermetic, source and prefetch even though looking at the build pipelines, they are...
Id say its the snapshot deadlock issue here

@JasonPowr I'll merge and see how it goes in Konflux - and adjust as needed.


Adding a new machine makes a blank user comment if you don't enter text

Make it not send a comment if you don't enter anything in the textbox.

At first  I thought this was an intentional feature. It IS kind of cool to see when an individual machine was added to a location.
On February 6, 2017 7:56:51 PM PST, Scott Wainstock<EMAIL_ADDRESS>wrote:

Make it not send a comment if you don't enter anything in the textbox.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/scottwainstock/pbm-ios/issues/122

--
Sent while mobile.

You were right, this was a server-side thing. I assumed too much about what iOS was doing. Fix is here: https://github.com/scottwainstock/pbm/commit/d844c98bae9fb78a52a8e3f060bd11b3937e7c71
You should be able to verify that with your current builds.

In the future, if we wanted this to occur across all platforms, is that doobieable without too much work? I like the concept.

Wanted what to occur?
On Mon, Feb 6, 2017 at 8:33 PM, RyanTG<EMAIL_ADDRESS>wrote:

In the future, if we wanted this to occur across all platforms, is that
doobieable without too much work? I like the concept.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/scottwainstock/pbm-ios/issues/122#issuecomment-277899180,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAK-LTDfozPvP6QnQGqAgoh6bw0NQc3_ks5rZ_QugaJpZM4L5Bqp
.

A timestamp showing when the machine was added to the location (and who added it). Basically for what was happening before this fix, except also on android, ios, and the website.

Oh, yeah we could do that. It'd be one code change for each platform though.
On Mon, Feb 6, 2017 at 8:37 PM, RyanTG<EMAIL_ADDRESS>wrote:

A timestamp showing when the machine was added to the location (and who
added it). Basically for what was happening before this fix, except also on
android, ios, and the website.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/scottwainstock/pbm-ios/issues/122#issuecomment-277899622,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAK-Lb697o_4Vr4fJLCeJO-yGjz6p5Twks5rZ_UNgaJpZM4L5Bqp
.

I can't decide.
Side question: didn't we used to have it so that the most recent comment for each machine displayed on the location detail view? Right now if there's a comment for a machine only the timestamp is displayed.

After review: I'll review and close this.


Catch all redirect

This patch adds the option to redirect to the same host but maybe on a different path or scheme.
For this $host can be used on the target URL, e.g.
route add https-redirect / https://$host$path opts "redirect=301"

Hmm, not sure whether this creates a redirect loop.

If we interpret that https-redirect is only valid for originating http that should be redirected to https I think this works.  Meaning that https-redirect will never match an incoming https request.
Otherwise we could keep the same http-redirect with the additional $host pseudo var and restrict on port in the rule something like...
route add http-redirect :80 https://$host$path opts "redirect=301"

Sorry, just looked at the code ... there's not a new option it is just adding the pseudo var.  So I think that you would get a redirect loop with a path / match but shouldn't with a port :80 match.

Something like route add :80/ ... might be handy. Not sure if that fits well with the current syntax

Agreed a host agnostic match with a port and path is exactly what you would want for this specific use case.

How about https://github.com/fabiolb/fabio/pull/544 instead?


disable harmlessness check for oracle method in option script

without this, the harmlessness check crashes in the rare cases when the stick presses two points at once. I don't fully understand why this seems to happen only for oracle strips learning, but that seems to be the case.

yeah I'll dig in tomorrow. and yeah they are far apart radius wise, but can still line up vertically in rare cases.

fixed in #823


xAPI recipes for library data

Wanted by Abertay in particular.

@timstratton - would Abertay be able to provide some detail here:

what scope of "library data": turnstile, lending, e-books, journals, reading list software...?
outline of the data structures which they can extract from

The feature-library branch contains recipes that were started by @michaelwebbjisc, but we have not yet seen data structures are not in scope for 1.0 so are not currently being worked on.
These are the ones that have brought up before and have a statement template that needs to filling out:

PC Logged On
Viewed Reading List
Viewed Reading List item
A person authorises a request
A service authorises a person to access an application.
Visited Library

These were the requirements we prioritised with OCLC , although it was a longer list
•	Borrowing a item – information available i system included branch, item, time stamp, format, bar code, email address, author?? custom…discipline, …
•	Accessing e-Content/Search/Downloading/etc.
•	Reading lists for modules/link with a module
secondary
•	Login – Access different systems in library

Key challenge was "linking events to modules" hence the need for reading list.

Brill thanks. After going over the notes from the last team call. I am currently working on 'generic templates' that can be reused across different contexts. Some of the requirements fit these 'login and accssed'.

Agree - many of these can be covered with a generic template. So useful to see full list
•	Entering/leaving the library
•	Borrowing a book – branch, item, time stamp, format, bar code, email address, author?? custom…discipline, …
•	Accessing e-Content/Search/Downloading/etc.
•	Login – Access different systems
•	Reading lists for modules/link with a module
•	Asking a question to an information specialist/Leaving feedback
•	Attending information training/Accessing online training
•	Authorising access
•	Checking viewed
•	Setting targets
•	Making a request
•	Renew/hold/inter library
•	Time on a resource
•	Download article
•	Search database
•	Login into computers/access rooms/….
•	Paying fines etc.
•	Requesting access cards
•	Engaging with “games”/induction process
•	Engagement between students and librarians
•	When an event happens (e.g. Accessing a resource)
•	Google analytics – e.g. Worldcat discovery – Future for KB

I've pulled 1.0 into the library-feature branch so the generic templatesare in there. Using them I have made first 4 statement templates @pbailey64 has sugguested and linked from the readme. There are a  few more in the recipes/library directory from ealier discussions - but I am not sure how helpful they are.
I do not know library systems, so perhaps Lee, Paul, myself and Alan want a chat around these 4 and the examples as a starting poing

I think myself. @pbailey64 @leebaylis and @alanepaull could do with having a look at these basic library statements and seeing what extra is needed would be a good idea. Are people ok with this? Can I create a doodle poll for a skype call?

Sounds good to me
From: David Sherlock<EMAIL_ADDRESS>Sent: 09 June 2017 09:50
To: jiscdev/xapi<EMAIL_ADDRESS>Cc: Tim Stratton<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [jiscdev/xapi] xAPI recipes for library data (#150)
I think myself. @pbailey64https://github.com/pbailey64 @leebaylishttps://github.com/leebaylis and @alanepaullhttps://github.com/alanepaull could do with having a look at these basic library statements and seeing what extra is needed would be a good idea. Are people ok with this? Can I create a doodle poll for a skype call?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/jiscdev/xapi/issues/150#issuecomment-307333427, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXQRsnNBUgw5Gex4wOmP9pOQ0kdmfnIRks5sCQdDgaJpZM4M1SgB.
Jisc is a registered charity (number 1149740) and a company limited by guarantee which is registered in England under Company No. 5747339, VAT No. GB 197 0632 86. Jisc’s registered office is: One Castlepark, Tower Hill, Bristol, BS2 0JA. T 0203 697 5800.
Jisc Services Limited is a wholly owned Jisc subsidiary and a company limited by guarantee which is registered in England under company number 2881024, VAT number GB 197 0632 86. The registered office is: One Castle Park, Tower Hill, Bristol BS2 0JA. T 0203 697 5800.

David - yes would be useful.

https://doodle.com/poll/bkgk6p422hi45q6t I think anybody with an interest is welcome. I think @pbailey64  and @leebaylis have met the tech fold and If @alanepaull is free it would be good for both Cetis people to be there.

@leebaylis @pbailey64 @alanepaull 2-3pm on friday looks hopeful. If so is skype ok? I need Pauls details if that is ok. You can add me at dms2ect.
If you want to look at templates first they are in the library branch. The 4 main ones are linked from the readme, although there are some older ones that were worked on in the recipes. Having said that, you don't need to look before the call.

Ok - sent you an invite via skype p.bailey

Thanks for the call, we discussed the way forward is to concentrate on the econtent and borrowing because we have this data. Aiming for v1.0.
TODO:

Lee to get headings to David from OClC EZProxy and from Worldshare
David/Lee to map this to the work David Has already done
Lee to check this against XAPI translator
Paul/Lee to enquire about Login Data

Todo later..

Lee/Paul to explore login data
Lee to cross reference library data with future sets
Lee/Paul contact Talis

EZproxy log file:
client_ip
username_if_obtained_from_identd (usually '-')
username_if_obtained_via_other_means
session_id
timestamp
http_request
http_response_code
bytes_downloaded
not sure -- 'Default' or '-'
http_referrer
http_browser_info

Worldshare log file:
Event Branch Name				e.g. main library
Event Type						e.g. checkout, renewal
Event Date
Event Day Name of Week			e.g. Tuesday
Event Due Date/Time				e.g. book return date
Event Loan Policy					e.g. 21 day, short loan
Item Barcode						identifier
Item OCLC Number					identifier
Item Title
Item Call Number					dewey number
Item Material Format				e.g. book, journal
Item Branch Name					see event branch name, e.g. main library
Item Permanent Shelving Location		string
Item Temporary Shelving Location		string
Item Renewal Count				integer
Event Borrower Category			e.g. UG, PG, staff, libstaff
Patron Barcode					identifier for borrower, x-ref udd
Event Staff Full Name				string name for librarian processing request
Patron Custom Category 1			custom, repeats of info from UDD
Patron Custom Category 2			custom, repeats of info from UDD
Patron Custom Category 3			custom, repeats of info from UDD
Patron Custom Category 4			custom, repeats of info from UDD

First stab at templates below. Notes:

ezproxy was easier to do -- have I got the right idea using a 'resource' object definition type?
not sure where to put the downloaded bytes in the ezp recipe -- the attachments structure seems overkill, so should we craft an extension for it? surprised one doesn't exist already...
worldshare will need more custom URIs and I will ask at the meeting later which make sense to be jisc ones (across other providers too) and which make sense to go in an OCLC namespace. for now I have slung some example oclc uris in.
the main two I am still unsire about are the object definition type and the verb id

Thanks for the feedback - I think the things you are unsure about are the things I wanted to talk about because I wasn't sure either. These templates are moving out of 1.0 and in to the feature branch, I think that is for the best because it gives us time to think this through.
I think a catch up after you've spoken to the vendors and then opening this up to the rest of the group (once 1.0 is frozen?) might help us with these issues.

OCLC:
{
"version": "1.0.0",
"actor": {
"objectType": "Agent",
"account": {
"name": "UNAME",
"homePage": "HOMEPAGE"
}
},
"timestamp":"TIMESTAMP",
"verb": {
"id": "http://id.tincanapi.com/verb/viewed",
"display": {
"en": "viewed"
}
},
"result":{
"completion": COMPLETED,
"response": "HTTP_RESPONSE"
},
"object": {
"objectType": "Activity",
"id": "HTTP_URL",
"definition": {
"type": "http://id.tincanapi.com/activitytype/resource",
"name": {
"en": "eResource"
},
"description": {
"en": "an eResource made available via a proxy service"
}
}
},
"context": {
"platform": "UxAPI",
"extensions": {
"http://xapi.jisc.ac.uk/sessionId": "SESSION_ID",
"http://id.tincanapi.com/extensions/ip-address": "IP",
"http://id.tincanapi.com/extension/referrer": "HTTP_REFERRER",
"http://id.tincanapi.com/extension/browser-info": "HTTP_BROWSER_INFO",
"http://xapi.jisc.ac.uk/recipeVersion": "attendanceV0.1"
//bytes?
}
}

}

@leebaylis  I'll update the repostiory example to look like this when I move it out of 1.0 back to feature-branch. recipeVersion is depreciated though as we have a version of the profile instead.

Worldshare example
{
"version": "1.0.0",
"actor": {
"objectType": "Agent",
"account": {
"name": "PATRON_BARCODE", //udd lookup?
"homePage": "HOMEPAGE"
}
},
"timestamp":"EVENT_DATE",
"verb": {
"id": "EVENT_URI", //construct -- OCLC namespace? jisc namespace? or even inst namespace?
"display": {
"en": "EVENT_TYPE"
}
},
"result":{
"completion": true
},
"object": {
"objectType": "Activity",
"id": "ITEM_BARCODE",
"definition": {
"type": "http://id.tincanapi.com/activitytype/resource", //custom per material format?
"name": {
"en": "ITEM_MATERIAL_FORMAT"
},
"description": {
"en": "ITEM_TITLE"
}
},
"extensions": {
"http://oclc.com/number": "OCLC_NUMBER",
"http://oclc.com/item_location": {
"http://id.tincanapi.com/extension/location": "ITEM_BRANCH_NAME",
"http://oclc.com/permanent_shelving": "ITEM_PERMANENT_SHELVING_LOCATION",
"http://oclc.com/temp_shelving": "ITEM_TEMPORARY_SHELVING_LOCATION"
},
"http://xapi.jisc.ac.uk/dewey_code": "CALL_NUMBER"
}
},
"context": {
"platform": "UxAPI",
"extensions": {
"http://id.tincanapi.com/extension/location": "EVENT_BRANCH_NAME",
"http://oclc.com/loan_policy": "EVENT_LOAN_POLICY",
"http://oclc.com/due_date": "EVENT_DUE_DATE",
"http://oclc.com/librarian": "EVENT_STAFF_FULL_NAME",
"http://oclc.com/renewal": "ITEM_RENEWAL_COUNT",
"http://xapi.jisc.ac.uk/recipeVersion": "attendanceV0.1"
}
}

}

@leebaylis Update to borrowed after 20th July call.
I've updated the borrowed statement to what we agreed, having gone through it again I think the most pressing bit of work will be working out the activityTypes in the statements/.
We spoke about how we submitted experimental data, we put x-ignore or x-[datastamp] in the context.version property. The statement template has it in the example.
I've left the some of the draft notes in and haven't filled in the vocab document because I feel this is still very much in draft! The actor and verb are common objects, so I have just put in tables of values for object and context. I have left out result.
I will do the same for econtent, but I think that is going to be easier.

I've brought the 4 statement templates we are working on for 1.0.1 into the 1.0.1 dev branch. I think we need another call @leebaylis for the following:

We made good progress on borrowed and viewed - I've started to tidy them up and add definitions and templates. I think we need to see what these look like now youve had time with them - see what changes we propose and show them to the group.
Reading list view and login are not fleshed out, I think I need to know if we have example datasets to flesh them out

Hello all
Is there an update on the xAPI recipes for library data or any sample statements? Im trying to integrate data from OCLC Worldshare into a data warehouse and came across this thread. any leads would be much appreciated!
Thanks a lot!

Hi,
Library recipes that are to be included in the next release are in 1.0.1 branch, ones which have not yet been fleshed out with vendors are in the library feature branch.
Happy to talk on skype with you if you want showing around: skype is dms2ect

moved to #228 and #229


Requirements for gardena_smart_system not found: ['py-smart-gardena==1.3.7']

I actually have the problem I get the error:
Logger: homeassistant.setup
Source: setup.py:221
First occurred: 14:38:29 (1 occurrences)
Last logged: 14:38:29

Setup failed for custom integration 'gardena_smart_system': Requirements for gardena_smart_system not found: ['py-smart-gardena==1.3.7'].

I updated to 2024.b6 since this the integration is not working anymore

I have exactly the same issue

I expected issues as I saw they updated to a new python version.  Unfortunately it happened to some of my important integrations! Fu…

logger:%20homeassistant.util.package%0ASource%3A%20util/package.py:122%0AFirst%20occurred:%2021:27:06%20(3%20occurrences)%0ALast%20logged:%2021:27:10%0A%0AUnable%20to%20install%20package%20py-smart-gardena==1.3.7:%20error:%20subprocess-exited-with-error%20%C3%97%20python%20setup.py%20egg_info%20did%20not%20run%20successfully.%20%E2%94%82%20exit%20code:%201%20%E2%95%B0%E2%94%80%3E%20%5B18%20lines%20of%20output%5D%20/tmp/pip-install-yd087bug/py-smart-gardena_55adaaa0ee41461f8360922073c98148/versioneer.py:421:%20SyntaxWarning:%20invalid%20escape%20sequence%20'%5Cs'%20LONG_VERSION_PY%5B'git'%5D%20=%20'''%20Traceback%20(most%20recent%20call%20last):%20File%20%22%3Cstring%3E%22,%20line%202,%20in%20%3Cmodule%3E%20File%20%22%3Cpip-setuptools-caller%3E%22,%20line%2034,%20in%20%3Cmodule%3E%20File%20%22/tmp/pip-install-yd087bug/py-smart-gardena_55adaaa0ee41461f8360922073c98148/setup.py%22,%20line%2016,%20in%20%3Cmodule%3E%20version=versioneer.get_version(),%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-yd087bug/py-smart-gardena_55adaaa0ee41461f8360922073c98148/versioneer.py%22,%20line%201480,%20in%20get_version%20return%20get_versions()%5B%22version%22%5D%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-yd087bug/py-smart-gardena_55adaaa0ee41461f8360922073c98148/versioneer.py%22,%20line%201412,%20in%20get_versions%20cfg%20=%20get_config_from_root(root)%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-yd087bug/py-smart-gardena_55adaaa0ee41461f8360922073c98148/versioneer.py%22,%20line%20342,%20in%20get_config_from_root%20parser%20=%20configparser.SafeConfigParser()%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20AttributeError:%20module%20'configparser'%20has%20no%20attribute%20'SafeConfigParser'.%20Did%20you%20mean:%20'RawConfigParser'?%20%5Bend%20of%20output%5D%20note:%20This%20error%20originates%20from%20a%20subprocess,%20and%20is%20likely%20not%20a%20problem%20with%20pip.%20error:%20metadata-generation-failed%20%C3%97%20Encountered%20error%20while%20generating%20package%20metadata.%20%E2%95%B0%E2%94%80%3E%20See%20above%20for%20output.%20note:%20This%20is%20an%20issue%20with%20the%20package%20mentioned%20above,%20not%20pip.%20hint:%20See%20above%20for%20details.%0AUnable%20to%20install%20package%20py-smart-gardena==1.3.7:%20error:%20subprocess-exited-with-error%20%C3%97%20python%20setup.py%20egg_info%20did%20not%20run%20successfully.%20%E2%94%82%20exit%20code:%201%20%E2%95%B0%E2%94%80%3E%20%5B18%20lines%20of%20output%5D%20/tmp/pip-install-mhdmpx1o/py-smart-gardena_10a18df0abe54939b8cb4ee98576450a/versioneer.py:421:%20SyntaxWarning:%20invalid%20escape%20sequence%20'%5Cs'%20LONG_VERSION_PY%5B'git'%5D%20=%20'''%20Traceback%20(most%20recent%20call%20last):%20File%20%22%3Cstring%3E%22,%20line%202,%20in%20%3Cmodule%3E%20File%20%22%3Cpip-setuptools-caller%3E%22,%20line%2034,%20in%20%3Cmodule%3E%20File%20%22/tmp/pip-install-mhdmpx1o/py-smart-gardena_10a18df0abe54939b8cb4ee98576450a/setup.py%22,%20line%2016,%20in%20%3Cmodule%3E%20version=versioneer.get_version(),%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-mhdmpx1o/py-smart-gardena_10a18df0abe54939b8cb4ee98576450a/versioneer.py%22,%20line%201480,%20in%20get_version%20return%20get_versions()%5B%22version%22%5D%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-mhdmpx1o/py-smart-gardena_10a18df0abe54939b8cb4ee98576450a/versioneer.py%22,%20line%201412,%20in%20get_versions%20cfg%20=%20get_config_from_root(root)%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-mhdmpx1o/py-smart-gardena_10a18df0abe54939b8cb4ee98576450a/versioneer.py%22,%20line%20342,%20in%20get_config_from_root%20parser%20=%20configparser.SafeConfigParser()%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20AttributeError:%20module%20'configparser'%20has%20no%20attribute%20'SafeConfigParser'.%20Did%20you%20mean:%20'RawConfigParser'?%20%5Bend%20of%20output%5D%20note:%20This%20error%20originates%20from%20a%20subprocess,%20and%20is%20likely%20not%20a%20problem%20with%20pip.%20error:%20metadata-generation-failed%20%C3%97%20Encountered%20error%20while%20generating%20package%20metadata.%20%E2%95%B0%E2%94%80%3E%20See%20above%20for%20output.%20note:%20This%20is%20an%20issue%20with%20the%20package%20mentioned%20above,%20not%20pip.%20hint:%20See%20above%20for%20details.%0AUnable%20to%20install%20package%20py-smart-gardena==1.3.7:%20error:%20subprocess-exited-with-error%20%C3%97%20python%20setup.py%20egg_info%20did%20not%20run%20successfully.%20%E2%94%82%20exit%20code:%201%20%E2%95%B0%E2%94%80%3E%20%5B18%20lines%20of%20output%5D%20/tmp/pip-install-gvx26zdl/py-smart-gardena_2c91d4f95c6d44db8108f85623047c9e/versioneer.py:421:%20SyntaxWarning:%20invalid%20escape%20sequence%20'%5Cs'%20LONG_VERSION_PY%5B'git'%5D%20=%20'''%20Traceback%20(most%20recent%20call%20last):%20File%20%22%3Cstring%3E%22,%20line%202,%20in%20%3Cmodule%3E%20File%20%22%3Cpip-setuptools-caller%3E%22,%20line%2034,%20in%20%3Cmodule%3E%20File%20%22/tmp/pip-install-gvx26zdl/py-smart-gardena_2c91d4f95c6d44db8108f85623047c9e/setup.py%22,%20line%2016,%20in%20%3Cmodule%3E%20version=versioneer.get_version(),%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-gvx26zdl/py-smart-gardena_2c91d4f95c6d44db8108f85623047c9e/versioneer.py%22,%20line%201480,%20in%20get_version%20return%20get_versions()%5B%22version%22%5D%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-gvx26zdl/py-smart-gardena_2c91d4f95c6d44db8108f85623047c9e/versioneer.py%22,%20line%201412,%20in%20get_versions%20cfg%20=%20get_config_from_root(root)%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-gvx26zdl/py-smart-gardena_2c91d4f95c6d44db8108f85623047c9e/versioneer.py%22,%20line%20342,%20in%20get_config_from_root%20parser%20=%20configparser.SafeConfigParser()%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20AttributeError:%20module%20'configparser'%20has%20no%20attribute%20'SafeConfigParser'.%20Did%20you%20mean:%20'RawConfigParser'?%20%5Bend%20of%20output%5D%20note:%20This%20error%20originates%20from%20a%20subprocess,%20and%20is%20likely%20not%20a%20problem%20with%20pip.%20error:%20metadata-generation-failed%20%C3%97%20Encountered%20error%20while%20generating%20package%20metadata.%20%E2%95%B0%E2%94%80%3E%20See%20above%20for%20output.%20note:%20This%20is%20an%20issue%20with%20the%20package%20mentioned%20above,%20not%20pip.%20hint:%20See%20above%20for%20details.%0A

Hello,
I will release a new version tomorrow that should solve the issue.
Jeremie
Le mer. 7 févr. 2024, 21:49, martinw72 @.***> a écrit :

logger:%20homeassistant.util.package%0ASource%3A%20util/package.py:122%0AFirst%20occurred:%2021:27:06%20(3%20occurrences)%0ALast%20logged:%2021:27:10%0A%0AUnable%20to%20install%20package%20py-smart-gardena==1.3.7:%20error:%20subprocess-exited-with-error%20%C3%97%20python%20setup.py%20egg_info%20did%20not%20run%20successfully.%20%E2%94%82%20exit%20code:%201%20%E2%95%B0%E2%94%80%3E%20%5B18%20lines%20of%20output%5D%20/tmp/pip-install-yd087bug/py-smart-gardena_55adaaa0ee41461f8360922073c98148/versioneer.py:421:%20SyntaxWarning:%20invalid%20escape%20sequence%20'%5Cs'%20LONG_VERSION_PY%5B'git'%5D%20=%20'''%20Traceback%20(most%20recent%20call%20last):%20File%20%22%3Cstring%3E%22,%20line%202,%20in%20%3Cmodule%3E%20File%20%22%3Cpip-setuptools-caller%3E%22,%20line%2034,%20in%20%3Cmodule%3E%20File%20%22/tmp/pip-install-yd087bug/py-smart-gardena_55adaaa0ee41461f8360922073c98148/setup.py%22,%20line%2016,%20in%20%3Cmodule%3E%20version=versioneer.get_version(),%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-yd087bug/py-smart-gardena_55adaaa0ee41461f8360922073c98148/versioneer.py%22,%20line%201480,%20in%20get_version%20return%20get_versions()%5B%22version%22%5D%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-yd087bug/py-smart-gardena_55adaaa0ee41461f8360922073c98148/versioneer.py%22,%20line%201412,%20in%20get_versions%20cfg%20=%20get_config_from_root(root)%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-yd087bug/py-smart-gardena_55adaaa0ee41461f8360922073c98148/versioneer.py%22,%20line%20342,%20in%20get_config_from_root%20parser%20=%20configparser.SafeConfigParser()%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20AttributeError:%20module%20'configparser'%20has%20no%20attribute%20'SafeConfigParser'.%20Did%20you%20mean:%20'RawConfigParser'?%20%5Bend%20of%20output%5D%20note:%20This%20error%20originates%20from%20a%20subprocess,%20and%20is%20likely%20not%20a%20problem%20with%20pip.%20error:%20metadata-generation-failed%20%C3%97%20Encountered%20error%20while%20generating%20package%20metadata.%20%E2%95%B0%E2%94%80%3E%20See%20above%20for%20output.%20note:%20This%20is%20an%20issue%20with%20the%20package%20mentioned%20above,%20not%20pip.%20hint:%20See%20above%20for%20details.%0AUnable%20to%20install%20package%20py-smart-gardena==1.3.7:%20error:%20subprocess-exited-with-error%20%C3%97%20python%20setup.py%20egg_info%20did%20not%20run%20successfully.%20%E2%94%82%20exit%20code:%201%20%E2%95%B0%E2%94%80%3E%20%5B18%20lines%20of%20output%5D%20/tmp/pip-install-mhdmpx1o/py-smart-gardena_10a18df0abe54939b8cb4ee98576450a/versioneer.py:421:%20SyntaxWarning:%20invalid%20escape%20sequence%20'%5Cs'%20LONG_VERSION_PY%5B'git'%5D%20=%20'''%20Traceback%20(most%20recent%20call%20last):%20File%20%22%3Cstring%3E%22,%20line%202,%20in%20%3Cmodule%3E%20File%20%22%3Cpip-setuptools-caller%3E%22,%20line%2034,%20in%20%3Cmodule%3E%20File%20%22/tmp/pip-install-mhdmpx1o/py-smart-gardena_10a18df0abe54939b8cb4ee98576450a/setup.py%22,%20line%2016,%20in%20%3Cmodule%3E%20version=versioneer.get_version(),%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-mhdmpx1o/py-smart-gardena_10a18df0abe54939b8cb4ee98576450a/versioneer.py%22,%20line%201480,%20in%20get_version%20return%20get_versions()%5B%22version%22%5D%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-mhdmpx1o/py-smart-gardena_10a18df0abe54939b8cb4ee98576450a/versioneer.py%22,%20line%201412,%20in%20get_versions%20cfg%20=%20get_config_from_root(root)%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-mhdmpx1o/py-smart-gardena_10a18df0abe54939b8cb4ee98576450a/versioneer.py%22,%20line%20342,%20in%20get_config_from_root%20parser%20=%20configparser.SafeConfigParser()%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20AttributeError:%20module%20'configparser'%20has%20no%20attribute%20'SafeConfigParser'.%20Did%20you%20mean:%20'RawConfigParser'?%20%5Bend%20of%20output%5D%20note:%20This%20error%20originates%20from%20a%20subprocess,%20and%20is%20likely%20not%20a%20problem%20with%20pip.%20error:%20metadata-generation-failed%20%C3%97%20Encountered%20error%20while%20generating%20package%20metadata.%20%E2%95%B0%E2%94%80%3E%20See%20above%20for%20output.%20note:%20This%20is%20an%20issue%20with%20the%20package%20mentioned%20above,%20not%20pip.%20hint:%20See%20above%20for%20details.%0AUnable%20to%20install%20package%20py-smart-gardena==1.3.7:%20error:%20subprocess-exited-with-error%20%C3%97%20python%20setup.py%20egg_info%20did%20not%20run%20successfully.%20%E2%94%82%20exit%20code:%201%20%E2%95%B0%E2%94%80%3E%20%5B18%20lines%20of%20output%5D%20/tmp/pip-install-gvx26zdl/py-smart-gardena_2c91d4f95c6d44db8108f85623047c9e/versioneer.py:421:%20SyntaxWarning:%20invalid%20escape%20sequence%20'%5Cs'%20LONG_VERSION_PY%5B'git'%5D%20=%20'''%20Traceback%20(most%20recent%20call%20last):%20File%20%22%3Cstring%3E%22,%20line%202,%20in%20%3Cmodule%3E%20File%20%22%3Cpip-setuptools-caller%3E%22,%20line%2034,%20in%20%3Cmodule%3E%20File%20%22/tmp/pip-install-gvx26zdl/py-smart-gardena_2c91d4f95c6d44db8108f85623047c9e/setup.py%22,%20line%2016,%20in%20%3Cmodule%3E%20version=versioneer.get_version(),%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-gvx26zdl/py-smart-gardena_2c91d4f95c6d44db8108f85623047c9e/versioneer.py%22,%20line%201480,%20in%20get_version%20return%20get_versions()%5B%22version%22%5D%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-gvx26zdl/py-smart-gardena_2c91d4f95c6d44db8108f85623047c9e/versioneer.py%22,%20line%201412,%20in%20get_versions%20cfg%20=%20get_config_from_root(root)%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20File%20%22/tmp/pip-install-gvx26zdl/py-smart-gardena_2c91d4f95c6d44db8108f85623047c9e/versioneer.py%22,%20line%20342,%20in%20get_config_from_root%20parser%20=%20configparser.SafeConfigParser()%20%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%5E%20AttributeError:%20module%20'configparser'%20has%20no%20attribute%20'SafeConfigParser'.%20Did%20you%20mean:%20'RawConfigParser'?%20%5Bend%20of%20output%5D%20note:%20This%20error%20originates%20from%20a%20subprocess,%20and%20is%20likely%20not%20a%20problem%20with%20pip.%20error:%20metadata-generation-failed%20%C3%97%20Encountered%20error%20while%20generating%20package%20metadata.%20%E2%95%B0%E2%94%80%3E%20See%20above%20for%20output.%20note:%20This%20is%20an%20issue%20with%20the%20package%20mentioned%20above,%20not%20pip.%20hint:%20See%20above%20for%20details.%0A
—
Reply to this email directly, view it on GitHub
https://github.com/py-smart-gardena/hass-gardena-smart-system/issues/192#issuecomment-1932846389,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAARGI7S5WJQKMI4YTGNSHDYSPSENAVCNFSM6AAAAABC2FJL4CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZSHA2DMMZYHE
.
You are receiving this because you are subscribed to this thread.Message
ID: <py-smart-gardena/hass-gardena-smart-system/issues/192/1932846389@
github.com>

I had issues yesterday with travisci which does not work as expected anymore.
I migrated to github actions for building the underlying library py-smart-gardena.
I just release a 1.1.0-rc3 version (in beta) that should solve the issue.

Works perfectly!
Many thanks for the quick action Jérémie.

Many thanks also from me!

Yes, everything fixed, perfect. Thanks a lot!

Hi!
same issue here. I already downloaded the release 1.1.0-rc3. Could anybody give me a hint how to update thi in homeassistant?
thnaks!

Thank you very much for the fast fix.
@HolgerM1 You'll find instructions here:
https://hacs.xyz/docs/faq/beta/

Fixed in 1.1.0-rc3


Remove the newline at top of the file

Adding cla: yes label, as the PR author is a googler at the time of this PR was created.


[Feature Request] K3d Provider needs to be bumped

The current K3d provider version is v5.2.2
Needs to be bumped to v5.4.4 or later

Depends on PR https://github.com/harvester/harvester/pull/2696 for harvester provider update.

Refer to https://github.com/cnrancher/autok3s/pull/543#issuecomment-1365689829, we don't have any solution for it. Move out of v0.7.0 milestone.

autok3 从v0.6.0升级到v0.7.0-rc2版本，原k3d一直处于stop状态
详细步骤

在ubuntu-18.04(8c8g)实例，  docker 启动 autok3s 0.6.0 版本 ，并通过quickstart创建k3d集群，aliyun集群

docker run -itd --restart=unless-stopped --net host -v /var/run/docker.sock:/var/run/docker.sock cnrancher/autok3s:v0.6.0

通过以下方式升级0.6.0到0.7.0-rc2版本，

docker stop <old-container>
docker run -itd --restart=unless-stopped -p 8080:8080 --volumes-from <old-container> cnrancher/autok3s:v0.7.2-rc2

查看autok3s ui ,原aliyun集群正常运行，k3d集群一直处于stop状态，使用升级的版本，可以成功创建新的k3d集群

感觉不是一个升级的问题，当我在v0.6.1重启 autok3s的容器时，同样会出现k3d集群stop的情况

Binary file deployment - upgrading autok3 from v0.6.0 to v0.7.0-rc2 has no impact on the operation of the original k3d cluster and the creation of the k3d cluster
Detailed steps

On the ubuntu-18.04 (248g) instance, after entering the instance, pull https://github.com/cnrancher/autok3s/releases/download/v0.6.0/autok3s_linux_amd64 File and grant execution permission, and move it to the/usr/local/bin directory
Start autok3s v0.6.0
Access the autok3s ui through the instance address, and create a k3d cluster. The aliyun cluster runs successfully
Stop running autok3s v0.6.0
Pull in the instance https://github.com/cnrancher/autok3s/releases/download/v0.7.0-rc2/autok3s_linux_amd64 File, assign execution permission and move to/usr/local/bin directory
Start the autok3s v0.7.0-rc2 file
Access the autok3s ui again, and the original aliyun cluster and k3d cluster run normally, while the newly created aliyun cluster runs normally


Create a load-test scenario for indy-catalyst agent

We want to ensure that indy-catalyst is horizontally scalable while sharing the same wallet backend. i.e., the credential throughput should grow linearly with respect to the number of icatagent processes sharing the workload.
I will start with a local docker environment to test this using the postgres wallet backend and a scalable number of icatagent instances. Once we optimize for this case, we can consider testing and optimizing in an open shift environment if necessary.

FYI @jljordan42 you can track updates for this here if you like. I should be starting on this early next week.

We have a local performance test - shelving this until we are deployed on openshift and we can do a load test there.


chatapp load error: vertx/shared_data

I am following the readme for https://github.com/isaiah/jubilee/tree/master/examples/chatapp...

Also, I have to install some gems into my jruby environment, which is not in the instructions...  Is it possible the readme needs an update?  It would be nice if it covered setting up jruby and prerequisites too.

Hi @jtroxel, I've just upgrade to vert.x 3.0.0, since the module feature is deprecated in vertx, jubilee can only run in embeded mode now.


How to handle pagination in Razor page .net Core?

Grid handles the paging on it's own by refreshing the page with paging parameters or refreshing the partial.
Does something not work?

OnGet(Int32? page, Int32? rows)  is not calling on click of page number

If page doesn't refresh when maybe the javascript is not initialized? Did you call
new MvcGrid(yourElement);

and it didn't throw any errors?

Yeah grid is displaying on the first load with page size and number but when I click on page no it will showing blank grid.

one more information my grid is under form tag

If you initialized everything and it magically doesn't work without any errors you will have to share a repro :confused:

My Code
`
                @(Html
                       .Grid(Model.judgmentList)
                       .Build(columns => {
                          columns.Add(model => model.Id).Titled("Id").Css("hide");
                       columns.Add(model => model.Description).Encoded(false);
                       })

                      .Attributed(new { data_type = "individuals" })
                      .Empty("No data found")
                      .RowCss(model => model.Id != 0 ? "headnote" : "")
                      .Pageable()
                      .Pageable(pager => {
                      pager.RowsPerPage = 5;
                })
                )

            </div>

`

I mean a full repro with the project, because for me this code will work 100% I know that.
You are doing something different or forgetting something.

No errors in console just reloading whole page with empty data

Can't share all project I have to create same for grid and will share with you

Hey, it's working after removing grid from form tag.  but is there any way to work with form tag?

It should work in the form tag, although it's strange that you would want to refresh the page just for the grid and lose all your data inside the form. Isn't it better to use the grid without paging in forms?


Java Tools: fix system property name for maven

This uses the convention of lowercase with dots instead of camelcase. Looks good!

I forgot to mention:
https://github.com/cucumber/cucumber-jvm/blob/844e8c1962c49210b620be19b383201bc8f6e2c9/core/src/main/java/io/cucumber/core/options/Constants.java#L18

I see now that actually -Dcucumber.options was removed recently in #1958.
For now this change is safe, but we need to remember to update the docs again as soon the #1958 is released.

Thanks for linking to the commit - and for the vigilance about the next version.


Property 'router' does not exist on type 'NavigationInstruction'.

I'm submitting a bug report

Library Version:
1.0.2
Operating System:
Windows10
Node Version:
6.2.0
NPM Version:
3.8.9
JSPM OR Webpack AND Version
Requirejs
Browser:
all
Language:
TypeScript 1.8.1

Current behavior:
Property 'router' does not exist on type 'NavigationInstruction'.
TypeScript definition doesn't exist for:
event.instruction.router.currentInstruction.config.name

as per workaround https://github.com/aurelia/router/issues/177#issuecomment-237198080
Expected/desired behavior:

What is the expected behavior?
NaigationInstruction definition should define router.

@davismj This can be closed.


postgres: Support StartTLS upstream and plain-text downstream

Title: Allow Postgres proxy to upgrade unencrypted downstream connection into encrypted upstream connection
Description:
The PostgreSQL filter supports TLS termination: https://github.com/envoyproxy/envoy/pull/14634 In this mode, it accepts an encrypted client connection (downstream), strips TLS, and creates an outgoing unencrypted connection to the SQL DB (upstream).
Conversely, it should the opposite where Envoy accepts unencrypted (sslmode=disable) Postgres connections, adds StartTLS on top, and dials securely to the upstream.
This is particularly useful for Google Cloud SQL which enforces the use of client certificates.
Unfortunately a few Postgres clients (such as Rust's tokio-postgres) don't support client certs.
So a service proxy is required to establish a secure connection.
(Google Cloud SQL specifically provides the cloud_sql_proxy tool for this reason but obviously Envoy is a preferred choice given its maturity)
Defining a starttls transport socket on the cluster config in Envoy v1.21 results in surprising behavior.
When making an insecure connection to Envoy, the Postgres filter will just pass through the connection attempt to the upstream without attempting to upgrade the socket into TLS mode.
Proposed fix:

Introduce a new upstream_sslmode string that mirrors the available PostgreSQL sslmode settings.
When upstream_sslmode is defined, send that to the upstream instead of the sslmode specified by the client.
When upstream_sslmode is prefer, require, verify-ca, or verify-full and the downstream connection is unencrypted, initiate an upstream StartTLS upgrade.

Useful links:

PostgreSQL SSL: https://www.postgresql.org/docs/9.1/libpq-ssl.html
Google Cloud SQL SSL settings: https://cloud.google.com/sql/docs/postgres/configure-ssl-instance#client-certs
Google cloud_sql_proxy: https://github.com/GoogleCloudPlatform/cloudsql-proxy

cc @fabriziomello @cpakulski @dio

Seems that there is demand for this feature. I will try to implement this.

@cpakulski doing that we'll loose the ability to decode the protocol and expose metrics. We introduced starttls into Postgres filter to terminate the SSL and able us to decode the protocol even for encrypted client connections.

@fabriziomello I would disagree here – Envoy can also dial to HTTPS upstreams while still being able to expose HTTP metrics.

Correct. Encryption happens in the very last step, when packets are sent upstream. Postgres filter will see traffic in clear-text.

@cpakulski hmmm ... I was not aware of that. Thanks to you and @terorie for the clarification.

indeed there's a need for this.
I stumbled upon this Postgres STARTTLS thing while trying to get nginx to do the subject.

Glad to hear that, the related istio issue is here: https://github.com/istio/istio/pull/37290, seems only after this envoy issue fixed, the istio can support postgresql in upstream/cluster part.

I'm very much interested in this feature as well. Do you have any further updates on this @cpakulski ?


Get the rspec in metanorma-standoc working

The rspec testing currently in place in relaton and its gems is not very comprehensive. The substantive tests of relaton are in fact in metanorma-standoc. They have assumed the previous structure of writing the raw classes to caches, as part of their testing. But they are also revealing a lot of inconsistencies in how IEV in particular is being processed. I have spent two hours trying to fix the 17 errors I'm getting now in metanorma-standoc, and I have ended up back where I've started.
I therefore need you to fix the errors, and in fact incorporate as much of possible of the relaton testing that this gem does back into the relaton gems where it should be. Some of that will be fixing the rspec code, which is trying put mock caches to work from for entries. Some of that will be fixing the behaviour of the gems themselves: the response for code not found is no longer working, for example. None of it should result in any changes to the metanorma-standoc gem, apart from relaton now returning an XML string rather than an isobibitem class.
This is preventing me pushing the updated metanorma-standoc gem, which is mission critical for the metanorma stack; so this does need to be done within the week.
The gem is at https://github.com/riboseinc/metanorma-standoc
These are the errors to be dealt with:
Finished in 33.31 seconds (files took 0.8212 seconds to load)
118 examples, 17 failures

Failed examples:

rspec ./spec/asciidoctor-standoc/cleanup_spec.rb:809 # Asciidoctor::Standoc separates IEV citations by top-level clause
rspec ./spec/asciidoctor-standoc/isobib_cache_spec.rb:47 # Asciidoctor::Standoc does not activate biblio caches if isobib disabled
rspec ./spec/asciidoctor-standoc/isobib_cache_spec.rb:70 # Asciidoctor::Standoc does not activate biblio caches if isobib caching disabled
rspec ./spec/asciidoctor-standoc/isobib_cache_spec.rb:94 # Asciidoctor::Standoc flushes biblio caches
rspec ./spec/asciidoctor-standoc/isobib_cache_spec.rb:142 # Asciidoctor::Standoc activates global cache
rspec ./spec/asciidoctor-standoc/isobib_cache_spec.rb:164 # Asciidoctor::Standoc activates local cache
rspec ./spec/asciidoctor-standoc/isobib_cache_spec.rb:190 # Asciidoctor::Standoc activates only local cache
rspec ./spec/asciidoctor-standoc/isobib_cache_spec.rb:211 # Asciidoctor::Standoc fetches uncached references
rspec ./spec/asciidoctor-standoc/isobib_cache_spec.rb:243 # Asciidoctor::Standoc expires stale undated references
rspec ./spec/asciidoctor-standoc/isobib_cache_spec.rb:272 # Asciidoctor::Standoc does not expire stale dated references
rspec ./spec/asciidoctor-standoc/isobib_cache_spec.rb:300 # Asciidoctor::Standoc prioritises local over global cache values
rspec ./spec/asciidoctor-standoc/refs_spec.rb:67 # Asciidoctor::Standoc fetches simple ISO reference
rspec ./spec/asciidoctor-standoc/refs_spec.rb:156 # Asciidoctor::Standoc processes dated ISO reference and joint ISO/IEC references
rspec ./spec/asciidoctor-standoc/refs_spec.rb:344 # Asciidoctor::Standoc processes RFC reference in Normative References
rspec ./spec/asciidoctor-standoc/validate_spec.rb:75 # Asciidoctor::Standoc Warning if terms mismatches IEV
rspec ./spec/asciidoctor-standoc/validate_spec.rb:97 # Asciidoctor::Standoc No warning if English term matches IEV
rspec ./spec/asciidoctor-standoc/validate_spec.rb:119 # Asciidoctor::Standoc No warning if French term matches IEV

@opoudjis I have to do some tasks right now. Can do it at the end of the week.

@opoudjis I started working on it.

@opoudjis we have relaton v0.2.5 dependency in metanorma-standoc. Shouldn't we move to v0.2.6 before continuing fix test issues?

Not until it's working. Ronald is doing a demo. In any case, it's ~>, so it will update locally.

@opoudjis I have an error. Why does metanorma-standoc change year form 2009 to 2011? Do we need the test case in metanorma-standoc?
$ rspec ./spec/asciidoctor-standoc/cleanup_spec.rb:809
...
    Failure/Error:
           expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
...
       Diff:
...
       -  <termsource status="identical">
       -  <origin bibitemid="IEC60050-103" type="inline" citeas="IEC 60050-103:2009"><locality type="clause"><referenceFrom>103-01-02</referenceFrom></locality></origin>
       -</termsource>
       -</term>
       +
       +<termsource status="identical">
       +  <origin bibitemid="IEC60050-103" type="inline" citeas="IEC 60050-103:2011"><locality type="clause"><referenceFrom>103-01-02</referenceFrom></locality></origin>
       +</termsource></term>
...

@opoudjis Should document relation with type instance be excluded from relations?
...
<relation type="updates">
   <bibitem>
       <formattedref>ISO 123:2001</formattedref>
   </bibitem>
</relation>
<relation type="instance">
       <bibitem type="international-standard">
...

I'm confused... Why should we exclude instance from relations? i.e. a standard document (A) can be an instance of another one (B), "A is within B"?

@ronaldtse we don't have instance in document relation types. Also in Nik's tests case expected "ISO 123" be fetched without relation with the type.

No, that is intentional, iso-bib-item/lib/iso_bib_item/iso_bibliographic_item.rb: @relations << DocumentRelation.new(type: "instance", identifier: nil, url: nil, bibitem: me). It is used to relate the most recent dated instance of a reference back to an undated reference, e.g. ISO 123:2018 is an instance of ISO 123.
If we don't have it in the document relation types, we need to add it. But that code has been there for a while; what test case it is violating?

.... I see, it's "fetches simple ISO reference". Investigating.

.... I don't understand how this has been happening to date, but the test is wrong:

isobib/lib/isobib/iso_bibliography.rb:        ret.to_most_recent_reference unless year || opts[:keep_year]

This means that if there is an undated reference (unless year), and ISO 123 is an undated reference, the instance relation to the most recent instance of the document must be added in. The exception keep_year is specific to the year manipulations of IEV. So if now the instance relation is being returned, it needs to go in to the test case.

Oh, I see why the most recent instance relation wasn't being fetched. The test case (if I'm reading the right one) is prefixed with mock_isobib_get_123: it's fetching the reference from a mock, not live from ISO. The instance reference was not included in the mock; and it was not critical for it to be included, since fetching whatever is in the mock suffices to prove the test case.
You can update the mock to include the most recent instance relation, I guess.

Btw, the instance relation is there in the grammar now (it is a somewhat recent addition). The diagram has not been updated; I will update it now.
https://github.com/riboseinc/relaton-models/blob/master/grammars/biblio.rnc
docrelation =
  element relation {
    attribute type {
      ( "obsoletes" | "updates" | "updatedBy" | "complements" | "derivedFrom" | "translatedFrom" |
        "adoptedFrom" | "equivalent" | "identical" | "nonequivalent" | "includedIn" | "includes" |
        "instance" | "partOf" ) },
       element bibitem { BibliographicItem },
       locality*
}

@andrew2net Pull metanorma-standoc; I've just converted the Isobibitem fetched from relaton back to XML, to prevent /asciidoctor/standoc/utils.rb:smart_render_xml() from crashing.

@opoudjis remain last error in spec/asciidoctor-standoc/macros_spec.rb which isn't related to isobib, gbbib etc. I don't know how it should work. Can you help me with it?
  1) Asciidoctor::Standoc processes the PlantUML macro
     Failure/Error:
           expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
             #{ASCIIDOC_BLANK_HDR}
...

Huh. That's working my side. I think it just depends on installing the plantuml binary. So don't worry about it.

@opoudjis ok I'll push all changes, but I can't access to push metanorma-standoc

Could you make a new branch for metanorma-standoc?

I made, but it also impossible to push it

... hang on, let me check

Just gave you write permission; try now?

pushed to issue_14 branch, also it needs to pull relaton, iso-bib-item, iecbib

Ok, thank you. It's 11 pm here, so I will work on it tomorrow. Thank you!

@andrew2net if you need PlantUML:

On Travis: see how it's done here: https://github.com/riboseinc/metanorma-model-gb/blob/master/.travis.yml
On macOS: brew install plantuml
On Linux: Instructions here: https://github.com/riboseinc/plantuml-install

Just to let you know, @andrew2net: I have confirmed that everything works my side once I merged the branch in (I had to tweak two rspec cases, but they were minor issues). I will now have to test it against all the dependent gems before releasing.


[156] Do not install unittest-xml-reporting==1.14.0 (main)

Needed for fixing tests.

@FifthPotato Is this a cherry-pick of #159?
If yes, pound it.

For future PRs, always include a statement about "cherry-picking" if that's what happened.

For future PRs, always include a statement about "cherry-picking" if that's what happened.

Octothorpe'd. And yeah, my bad, it was because I opened this one prior to the 4-3-stable one, so I did this one, then 4-3-stable, then tested 4-3-stable, then came back to this (all were the same change).
...So it's a cherry-pick of a cherry-pick, I guess?


read papers

append list

[ ] Online Parameter Tuning for Object Tracking Algorithms

[ ] CREST: Convolutional Residual Learning for Visual Tracking
[ ] Tracking as Online Decision-Making: Learning a Policy from Streaming Videos with Reinforcement Learning
[ ] ECO: Efficient Convolution Operators for Tracking
[ ] STCT: Sequentially Training Convolutional Networks for Visual Tracking
[ ] Learning to Track: Online Multi-object Tracking by Decision Making

CREST: https://github.com/ybsong00/CREST-Release (matlab)
ECO: https://github.com/martin-danelljan/ECO (matlab)
Learning to Track: https://github.com/yuxng/MDP_Tracking (matlab)
in summarizing CREST

[ ] High-Speed Tracking-by-Detection Without Using Image Information

Maybe, we can make python version of MDP tracking.

maybe enough