MSVC shared model build error

hi, @lebdron
I followed instructions step by step:
Experimental MSVC shared model build
https://github.com/hyperledger/iroha/pull/1297

when I run
cmake -H.\shared_model -B.\build -DCMAKE_TOOLCHAIN_FILE=D:/irohaMS/vcpkg/scripts/buildsystems/vcpkg.cmake
received an error:
-- Configuring incomplete, errors occurred!
CMakeError.log:
“pthread.h”: No such file or directory
How to solve this problem?
Thank you

Hi @walkero . Could you put the whole log when you run cmake -H. ... please? Also could you specify the branch you are using? It might be the case that you did not switch to feature/msvc-shared-model-build branch.

@lebdron thank you
I cloned develop branch, now I retry to clone feature/msvc-shared-model-build branch,
and new error occurred.
d:\irohaMS\iroha>cmake -H.\shared_model -B.\build -DCMAKE_TOOLCHAIN_FILE=D:/irohaMS/vcpkg/scripts/buildsystems/vcpkg.cmake
-- Building for: Visual Studio 15 2017
CMake Warning at D:/irohaMS/vcpkg/scripts/buildsystems/vcpkg.cmake:89 (message):
  There are no libraries installed for the Vcpkg triplet x86-windows.
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.11/Modules/CMakeDetermineSystem.cmake:94 (include)
  CMakeLists.txt:17 (project)

-- The C compiler identification is MSVC 19.12.25831.0
-- The CXX compiler identification is MSVC 19.12.25831.0
-- Check for working C compiler: d:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: d:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x86/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: d:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x86/cl.exe
-- Check for working CXX compiler: d:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/Hostx86/x86/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Found Protobuf: C:/ProgramData/Anaconda3/Library/lib/libprotobuf.lib (found version "3.5.0")
CMake Error at C:/Program Files/CMake/share/cmake-3.11/Modules/FindBoost.cmake:2044 (message):
  Unable to find the requested Boost libraries.

  Unable to find the Boost header files.  Please set BOOST_ROOT to the root
  directory containing Boost or BOOST_INCLUDEDIR to the directory containing
  Boost's headers.
Call Stack (most recent call first):
  D:/irohaMS/vcpkg/scripts/buildsystems/vcpkg.cmake:247 (_find_package)
  cmake/dependencies.cmake:35 (find_package)
  CMakeLists.txt:49 (include)

-- Could NOT find ed25519 (missing: ed25519_INCLUDE_DIR ed25519_LIBRARY)
CMake Error at C:/Program Files/CMake/share/cmake-3.11/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR
  GTEST_MAIN_LIBRARY)
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.11/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files/CMake/share/cmake-3.11/Modules/FindGTest.cmake:196 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  D:/irohaMS/vcpkg/scripts/buildsystems/vcpkg.cmake:247 (_find_package)
  cmake/dependencies.cmake:53 (find_package)
  CMakeLists.txt:49 (include)

-- Configuring incomplete, errors occurred!
See also "D:/irohaMS/iroha/build/CMakeFiles/CMakeOutput.log".
See also "D:/irohaMS/iroha/build/CMakeFiles/CMakeError.log".

thanks

iroha\build\CMakeFiles\CMakeError.log :
Determining if the include file pthread.h exists failed with the following output:
Change Dir: D:/irohaMS/iroha/build/CMakeFiles/CMakeTmp

Run Build Command:"d:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe" "cmTC_d8712.vcxproj" "/p:Configuration=Debug" "/p:VisualStudioVersion=15.0"
Microsoft (R) Build Engine version <IP_ADDRESS>428 for .NET Framework

Copyright (C) Microsoft Corporation. All rights reserved.

Build started 2018/5/9 14:47:37.

Project "D:\irohaMS\iroha\build\CMakeFiles\CMakeTmp\cmTC_d8712.vcxproj" on node 1 (default targets).

PrepareForBuild:

  Creating directory "cmTC_d8712.dir\Debug\".

  Creating directory "D:\irohaMS\iroha\build\CMakeFiles\CMakeTmp\Debug\".

  Creating directory "cmTC_d8712.dir\Debug\cmTC_d8712.tlog\".

InitializeBuildStatus:

  Creating "cmTC_d8712.dir\Debug\cmTC_d8712.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.

VcpkgTripletSelection:

  Not using Vcpkg because VcpkgEnabled is "false"

ClCompile:

  d:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\bin\HostX86\x86\CL.exe /c /Zi /W3 /WX- /diagnostics:classic /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_d8712.dir\Debug\\" /Fd"cmTC_d8712.dir\Debug\vc141.pdb" /Gd /TC /analyze- /errorReport:queue D:\irohaMS\iroha\build\CMakeFiles\CMakeTmp\CheckIncludeFile.c

  ?? x86 ? Microsoft (R) C/C++ ????? 19.12.25831 ?

  ????(C) Microsoft Corporation????????

  cl /c /Zi /W3 /WX- /diagnostics:classic /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_d8712.dir\Debug\\" /Fd"cmTC_d8712.dir\Debug\vc141.pdb" /Gd /TC /analyze- /errorReport:queue D:\irohaMS\iroha\build\CMakeFiles\CMakeTmp\CheckIncludeFile.c

  CheckIncludeFile.c

D:\irohaMS\iroha\build\CMakeFiles\CMakeTmp\CheckIncludeFile.c(1): fatal error C1083: ????????: "pthread.h": No such file or directory [D:\irohaMS\iroha\build\CMakeFiles\CMakeTmp\cmTC_d8712.vcxproj]

Done Building Project "D:\irohaMS\iroha\build\CMakeFiles\CMakeTmp\cmTC_d8712.vcxproj" (default targets) -- FAILED.

Build FAILED.

"D:\irohaMS\iroha\build\CMakeFiles\CMakeTmp\cmTC_d8712.vcxproj" (default target) (1) ->

(ClCompile target) ->

  D:\irohaMS\iroha\build\CMakeFiles\CMakeTmp\CheckIncludeFile.c(1): fatal error C1083: ????????: "pthread.h": No such file or directory [D:\irohaMS\iroha\build\CMakeFiles\CMakeTmp\cmTC_d8712.vcxproj]

    0 Warning(s)

    1 Error(s)

Time Elapsed 00:00:00.56

@walkero From the errors in config, such as
Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR
  GTEST_MAIN_LIBRARY)

it seems that either packages are not installed in vcpkg, or CMake fails to detect them.
Also this message tells us that packages are not installed: There are no libraries installed for the Vcpkg triplet x86-windows.
Please do the following:

post output of vcpkg list here
make sure that all packages listed in pull request are installed in vcpkg. You can copy-paste installation command from the pull request description.
clean contents of build directory and rerun cmake -H. ...

@lebdron
I solved the build problem, thank you.
I haven't installed visualstudio2017 with the English language pack,
vcpkg need the English language pack to be installed,
I reinstll visualstudio2017 with  the English language pack.
thanks


Improve error indicators on two transactions

Two small changes that modify transaction behavior:

RIPD-1578 notes that if an offer is killed with FillOrKill, then tesSUCCESS is returned.  That code makes it hard to determine the actual transaction outcome.  This pull request creates a new tec code, tecKILLED, and returns that if the offer was killed.  There are no other behavioral changes.

RIPD-1593 notes that using a TrustSet transaction to set the NoRipple flag on a trust line with a negative balance will fail to set the flag but still return tesSUCCESS.  This pull request creates yet another new tec code, tecNEGATIVE_BALANCE, and returns that if the NoRipple flag cannot be set due to a negative balance.

Neither of these changes is very big, so I've attached them both to the same fix amendment: fix1578.
The pull request is split into three commits for ease of reviewing:

The first commit adds the new amendment, fix1578, and nothing else.
The second commit addresses RIPD-1578 and adds unit tests for that case.
The third commit addresses RIPD-1593 and adds unit tests for that case.

Reviewers: @nbougalis to sign off on the addition of the new tec codes and @mDuo13 who requested at least one, if not both, of these changes.

Jenkins Build Summary
Built from this commit
Built at 20180618 - 17:41:49
Test Results

Build Type
Log
Result
Status

msvc.debug
logfile
1029 cases, 0 failed, t: 568s
PASS :white_check_mark:

coverage
logfile
1032 cases, 0 failed, t: 692s
PASS :white_check_mark:

docs
logfile
1 cases, 0 failed, t: 2s
PASS :white_check_mark:

gcc.release.unity -Dassert=true, MANUAL_TESTS=true
logfile
1093 cases, 0 failed, t: 784s
PASS :white_check_mark:

clang.debug.unity
logfile
1032 cases, 0 failed, t: 251s
PASS :white_check_mark:

clang.debug.nounity
logfile
1030 cases, 0 failed, t: 148s
PASS :white_check_mark:

clang.debug.unity, PARALLEL_TESTS=false
logfile
1032 cases, 0 failed, t: 494s
PASS :white_check_mark:

rpm
logfile
1031 cases, 0 failed, t: n/a
PASS :white_check_mark:

gcc.debug.unity
logfile
1032 cases, 0 failed, t: 248s
PASS :white_check_mark:

gcc.debug.nounity
logfile
1030 cases, 0 failed, t: 111s
PASS :white_check_mark:

clang.release.unity -Dassert=true
logfile
1031 cases, 0 failed, t: 333s
PASS :white_check_mark:

gcc.release.unity -Dassert=true
logfile
1031 cases, 0 failed, t: 354s
PASS :white_check_mark:

msvc.debug, PROJECT_NAME=rippled_classic
logfile
1029 cases, 0 failed, t: 1246s
PASS :white_check_mark:

gcc.debug.unity -Dstatic=true
logfile
1032 cases, 0 failed, t: 247s
PASS :white_check_mark:

msvc.release
logfile
1028 cases, 0 failed, t: 517s
PASS :white_check_mark:

Codecov Report

Merging #2584 into develop will increase coverage by 0.02%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop    #2584      +/-   ##
===========================================
+ Coverage    70.84%   70.86%   +0.02%
===========================================
  Files          703      703
  Lines        54685    54691       +6
===========================================
+ Hits         38739    38759      +20
+ Misses       15946    15932      -14

Impacted Files
Coverage Δ

src/ripple/protocol/TER.h
100% <ø> (ø)
:arrow_up:

src/ripple/protocol/Feature.h
100% <ø> (ø)
:arrow_up:

src/ripple/protocol/impl/TER.cpp
100% <ø> (ø)
:arrow_up:

src/ripple/app/tx/impl/SetTrust.cpp
96.65% <100%> (+0.04%)
:arrow_up:

src/ripple/app/tx/impl/CreateOffer.cpp
76.22% <100%> (+0.07%)
:arrow_up:

src/ripple/protocol/impl/Feature.cpp
95.58% <100%> (+0.06%)
:arrow_up:

src/ripple/app/misc/SHAMapStoreImp.cpp
75.05% <0%> (-0.24%)
:arrow_down:

src/ripple/protocol/impl/STAmount.cpp
90.63% <0%> (+0.16%)
:arrow_up:

...le/app/paths/cursor/ForwardLiquidityForAccount.cpp
88.72% <0%> (+2.45%)
:arrow_up:

...le/app/paths/cursor/ReverseLiquidityForAccount.cpp
94.75% <0%> (+3.62%)
:arrow_up:

Continue to review full report at Codecov.

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

In the interests of full disclosure, I got this off-line feedback from @JoelKatz regarding the proposed change to SetTrust.cpp:

This kind of change can make setting trust lines flags very tedious. If we don't return tesSUCCESS, we can't make any changes at all. And other people's actions can change the balance of your trust line. It has always been a rule that tesSUCCESS just means the transaction did more than claim a fee and you have to check the metadata to see what changed. Eliminating all the other changes just because one change failed due to actions of other people sets up user traps too.

Given that feedback, we may choose to...

Withdraw the proposed change to SetTrust.cpp, or
We could go whole hog the other way and have a TrustSet transaction fail unless all of the changes requested are completed by the transaction (which would entail restructuring SetTrust.cpp), or
Not worry about consistent behavior and go with the proposed change as it sits.

I'm fine with any of these.  Opinions?  Thanks.

Personally, I like the idea of having the TrustSet transaction fail unless all the requested changes are applied.
I guess the counterargument here is, want to encourage people to send fewer transactions overall, so we don't want to incentivize proactively splitting up transactions into smaller steps? Since it's cheaper to read the metadata and fix only the things that didn't work? Not sure that's actually worthwhile.
Regarding tecNEGATIVE_BALANCE, we could use tecNO_PERMISSION instead.

Just so y'all know this pull request is not abandoned, here are my current plans.

There is currently no consensus for a significant restructure of the SetTrust transactor.  So my plan is to make just this small change and leave it at that.
@mDuo13, thanks for pointing out that I can use tecNO_PERMISSION instead of adding the new tecNEGATIVE_BALANCE.  I intend to make exactly that change and remove tecNEGATIVE_BALANCE.
@nbougalis appropriately pointed out that by returning tecKILLED we would be losing the removal of unfunded offers that were located during the transaction.  Fortunately (also pointed out by @nbougalis) it looks like that can be easily fixed by adding a check for tecKILLED here: https://github.com/ripple/rippled/blob/develop/src/ripple/app/tx/impl/Transactor.cpp#L670-L672.  So I intend to make that change as well.  I'll also make sure our unit tests verify that tecKILLLED removes unfunded offers.  That may require adding a new test.

I should have a new commit with those changes in the next couple of days.  Thanks.

Made the proposed changes identified earlier.  Also rebased to 1.1.0-b4.
I should have known that there are no small transaction changing pull requests.  Since this one is starting to feel a bit tricky, I'm adding a reviewer: @ximinez for transaction handling savvy.  Thanks.

Rebased to 1.1.0-b5.

For the record, this resolves #2314.

Rebased to 1.1.0-rc3.

Merged as<PHONE_NUMBER>37c1351cd8ce709175bafbb5c8b1d5


Operator labels

This adds a common app.kubernetes.io/name: prometheus-operator label to all resources, as recommended by SIG-Apps.
It also replaces the k8s-app label used in the Deployment and Service. That's a potentially disruptive change, since a Deployment's spec.selector is immutable. If prometheus-operator is already deployed, it will have to be deleted first.
Not sure how to get new 0prometheus-operator manifests generated for kube-prometheus.

I think I'm generally ok with this, as users can revert to the "current" way by setting the config.

@mgoodness I would add all the rec labels, at least: [name, part-of, instance]
fixes: https://github.com/coreos/prometheus-operator/issues/1441
app.kubernetes.io/name: prometheus-operator
app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/component: "controller"
app.kubernetes.io/version: $version
app.kubernetes.io/instance: '1'
app.kubernetes.io/managed-by: 'prometheus-operator'

Then for other components deployed by . the kube-prometheus stack, like AlertManager:
alertmanager:
app.kubernetes.io/name: alertmanager
app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/component: "backend"
app.kubernetes.io/version: $alertmanager-version
app.kubernetes.io/instance: '1'
app.kubernetes.io/managed-by: 'helm'  # 'kubectl' ...

grafana:
app.kubernetes.io/name: grafana
app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/component: "front-end"
app.kubernetes.io/version: $grafana-version
app.kubernetes.io/instance: '1'
app.kubernetes.io/managed-by: 'helm?'

UI/Dashboards will soon expose all the labels created this way and also it makes it easier to use with the ApplicationCRD
# get all resources related to the monitoring stack:
kubectl get all -l app.kubernetes.io/part-of=kube-prometheus

I'd intended to save the other components for a separate PR, but will add them here.

@mgoodness
my comment was not to about adding labels to all other components in this PR, only to add the extra labels
app.kubernetes.io/name:
app.kubernetes.io/part-of:
app.kubernetes.io/component:
app.kubernetes.io/version:
app.kubernetes.io/instance:
app.kubernetes.io/managed-by:

@ant31
Understood. I'll add the other labels to prometheus-operator here and stick with my original plan for a second, kube-prometheus PR.
Now, about those labels...  I think app.kubernetes.io/instance: and app.kubernetes.io/managed-by: want to be set by whatever installs them (Helm, Argo CD, Weave Flux, etc.). Should I default them to something, or leave them out and trust that the installing tool will do its job? Argo CD, for example, adds/set them on each resource. FWIW, they're also quite keen on jsonnet.

This lgtm :+1: thanks for the work!
Giving @ant31 and @mxinden the last call.

/lgtm

Thanks!

I got here from the v0.30.0 release notes and noticed that all of the labels are using apps.kubernetes.io, but the recommended labels use app.kubernetes.io (singular app).

That makes you’re absolutely right. Would you like to fix this?

Sure, I'll send a PR.


fix the [clib install littlstar/soil command failed] issue

Hoping someone can find this PR,
seems like clib changed their spec of clib.json file.
I can run [clib install sunpaq/soil] without any issue with this fix.

@humanshell can you merge this?


Feature Requests for better usability in teams

Hi everyone,
I am a heavy GnosisSafe user. Everytime I am using the web UI I think off some feature requests I have but I never know where to best submit them. So I decided to open this issue and share it on discord. I apologize if not all of the requests in here are fitting for this repo. Some of them might be more on the Safe modules or frontend side of things, but here goes anyway:

[ ] Different types of owners and policies: super-owners vs. owners ( smart contract )

It would be useful to have e.g. a super-owner and an owner type. In a multisig of 5 with 3 owners and 2 super-owners the policy could then be 2 out of 3 owners && 1 out of 2 super-owners , i.e. 3 out of 5 but at least one super-owner.
This would make distributing owner key control in bigger teams much simpler, which has nice security and backup properties, without sacrificing final control by key stakeholders like executive management.

[ ] Allow for tx-crafter role that does not require a private key for signing ( UI & backend )

It would be useful to have a role as owner, if you will, that can only craft transactions to then be signed and executed by owners. Technically this ties into the previous point about different types of owners, since they key point is that the person who crafts tx should not be able to execute them. However, here I am thinking more of external company accountants that shouldnt have to deal with managing a private key but rather just have access on the Web UI to craft and submit tx to the queue and nothing more.

[ ] Allow for multisending funds (Native & ERC20) via the premade interface

Very often we want to send funds to n number of people in one tx. So far the only way I could figure out to do this was using either Transaction Builder (very cumbersome) or CSV airdrop (great for mass payouts but not great for just smaller numbers like 3 or 4 transfers batched into one).

Therefore it would be great to have Multisend Funds option here that already deals with all the magic in the background.
Or even better include a + Add Transfer button here in the Send Funds modal:

Which allows you to specify n number of additional recipients , assets , and amounts

[ ] Deep labelling / tagging of address book names

Sometimes when e.g. using CSV airdrop to make a mass payout with multiple ERC20 transfers the actual ERC20 transfer is nested deep in the call stack. On the Web UI and on mobile I noticed that, while it does recognize the multiple batched ERC20 transfers, it does not tag the destination address any more even if it's a labelled one from the address book. Obviously for security reasons it would be great to have enhanced support for human readable labelling also for deeply nested transfers

Thanks for the valuable feedback, @gitpusha.
I'll close this now because:

We now have Batch tx execution in the UI.
Reg. tagging/labelling/airdrop management – we now have a Safe App called CSV Airdrop.
Transaction drafting/delegation is its own epic we're tracking separately.


[tools] add tool to compute steering data

Codecov Report

Merging #184 into master will decrease coverage by <.01%.
The diff coverage is 60%.

@@            Coverage Diff             @@
##           master     #184      +/-   ##
==========================================
- Coverage   85.17%   85.16%   -0.01%
==========================================
  Files          34       34
  Lines        2341     2333       -8
==========================================
- Hits         1994     1987       -7
+ Misses        347      346       -1

Impacted Files
Coverage Δ

tests/meshcop/commissioner_argcargv.cpp
59.89% <0%> (ø)
:arrow_up:

tests/meshcop/commissioner_selftest.cpp
0% <0%> (ø)
:arrow_up:

tests/meshcop/commissioner.cpp
87.75% <100%> (-0.03%)
:arrow_down:

tests/meshcop/commissioner_compute.cpp
68.51% <100%> (-2.67%)
:arrow_down:

src/utils/steering_data.hpp
75% <75%> (ø)

Continue to review full report at Codecov.

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


Support or Sweep from popular alternative BIP32 paths

Breadwallet (and I think Copay) mobile wallets appear to use an alternative BIP32 path (reportedly m/0'/0/0). If I use share my recovery phrase between them they see the funds and change (great for testing).
However, when I set up my ledger to use my recovery phrase from Breadwallet/Copy, and after recovery the Ledger doesn't see the funds that are also held by that root.
You maybe should look during the first use of wallet at some popular paths and either warn users (who might think their funds are lost), and either allow the user to sweep into your BIP44 paths, or support the alternative paths of popular wallets for at least spending any addresses with amounts until they are all empty.

Thank you for your feedback, we will probably add this kind of feature in the future. Right now we are preparing new tools and libraries to work on Ledger Wallet 2.0 (standalone) application. Since we are a small team, this kind of feature will be released lately.


HttpStream: don't raise exception on empty response

Signed-off-by: Tim Waugh<EMAIL_ADDRESS>

:+1:


2559 doc warnings

Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[ ] C++ Guidelines
[x] Doxygen docs
[ ] Unit tests
[ ] No unwanted commits/changes
[ ] Descriptive title/description

[ ] PR is single purpose
[ ] Related issue listed

[ ] Comments in source
[x] No typos
[ ] Update changelog
[ ] Not work-in-progress
[ ] External references or docs updated
[ ] Self review of PR done
[ ] Any breaking changes?
closes #2559


Update related_website_sets.JSON

Adds talkdeskstgid.com and gettalkdesk.com as related sites

Adds talkdeskstgid.com and gettalkdesk.com as related sites


Numbered lists in wiki split words between lines

When a numbered list in the wiki has a sub item, words are cutoff between lines.

That does not look like a properly formatted sub item. It looks like it's wrapping it in a pre tag instead. Is this on a public project?

Yes, it is on this page: https://osf.io/x5w7h/wiki/01 Overview of Workflow/

Take out the tab after the 3. and put three more spaces in before the 3.

Thank you! :)


15 minutes sync not working?

Hello again. It seams that 0.92 stopped the automated sync every 15 minutes; I did an automation to call the update_entity service every 15 minutes, and it works (also use my cellphone sensors do detect when the app is used / closed and update a little bit after).
alias: "Lista de Compras: Sincronizar"
description: ""
trigger:
  - platform: time_pattern
    minutes: /15
    seconds: "10"
    id: padrao_tempo
  - platform: state
    entity_id:
      - sensor.telemovel_fragmenthor_last_used_app
    from: com.google.android.keep
    id: app_fragmenthor
condition: []
action:
  - delay:
      minutes: 1
      seconds: 30
  - service: homeassistant.update_entity
    data: {}
    target:
      entity_id: todo.google_keep_compras_supermercado
mode: restart

Whithout this automation the list would not update on the HA side (waited more than 1 hour and still the items I added in Google Keep would't show up on HA). Is it only me?
By the way, is there a reason for limiting the sync to every 15 minutes? Why not 5 minutes, for instance? I am asking this to try to undertand if I am stepping over some king of limit with my automation.
And a little info needed from my side: where are these lists stored? Can't find them anywere...
Thanks again!

I'm not able to reproduce this. I just tested it and everything is still syncing as expected.
Nothing changed with the sync code yet in the new version so you shouldn't be seeing any differences.
Are you seeing any errors in the Home Assistant logs? Did you try deleting the integration and adding it again?
If you are updating significantly more frequently than the normal rate (due to the automation), it is possible you are being rate limited or ip banned by Google.
The main reason the update rate is 15 minutes is to avoid creating unreasonable levels of traffic that Google might have an issue with. I may still consider lowering it slightly or exposing it as an option but 15 minutes was a good trade-off between a reasonable update rate and limited strain on the Keep servers.
Obviously no one would be able to stop you if you chose to go into the code and lower the number manually, but this would not be supported and may cause issues.

Thank you for that feedback, probably will adjust my settings to reduce access. And probably some mistake on my side...
Regarding the files, it seams HA still hasn't standarized everything.
I have now 6 todo lists in HA, with 3 different storage aproaches:

The original shopping list ("Shopping List") in the image above, is stored in /homeassistant/.shopping_list.json (JSON format). I'm not using this list anymore, bacause now I use your integration.
The 3 lists that I made myself ("Compras Domótica", "Notas" and "Tarefas HA") are stored in /homeassistant/.storage/ and have an ICS format:

The other 2 lists come from this integration ("Compras Supermercado" [my main shopping list to use with GA and store in GKeep / share with family] and "Compras para a Casa"). But I can't find where these lists are stored. I know this is not the place to ask for help, but probably it will be usefull to others also to figure this out. Can you help, please?

I am trying to store the contents of the list in an attribute of a sensor, but still didn't wrap this around...

The Home Assistant forums will probably be more helpful regarding questions specific to Home Assistant in general. All your items are stored in the todo entity (so todo.google_keep_list_name) and you'll want to use the service todo.get_items.
See here: https://www.home-assistant.io/integrations/todo/
And here:
https://community.home-assistant.io/t/help-how-to-use-todo-get-items/651792

THANK YOU,  and sorry to mislead the request!


Jpeg2000 support.

Could you please add support of JP2 format images?

It's here, but also requires pdf version 1.5+
https://gitlab.lahavane.com/world/pdf.js/blob/master/src/core/jpx.js


Add support for Favicons

This PR introduces a favicon extension which can be enabled.
It seems like a 32x32 .ico & .png is sufficient for most cases :)

Seems like it's ready to merge @stancl

@stancl added the suggestions 👌🏼

Looks good now! Thanks a lot


Use the atom-workspace tag instead of the workspace class.

In keymaps/go-to-view.cson: Use the atom-workspace tag instead of the workspace class.

@adham90 this has been fixed


Feature: Add precombine key to upsert method for Redshift

This will prefer data from the file / tmp table when the precombine keys are equal.
Also fix up some inconsistencies in the docs.
Feature or Bugfix

Feature

Detail

Add precombine key to upsert method

Relates

https://github.com/awslabs/aws-data-wrangler/issues/1292

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

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: aa8f18e9f98ae248796fc9c38b1e0e18553e6e5a
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: e66ffa9d6e2383fae506dafae19c7d89d1bdc315
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: b6a54a73947aacb67f1384418e6f4e103d08c9d0
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

I'm 95% sure there's nothing I can do to make Snyk pass.

Looks good to me. Would be great to have a little test case as well.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: cc9d08df22a1a9b3ef31b7ef82421faae5cc6e17
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: 7fd763dda7ccdbb2e44eec977873aedf185f2094
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: 36942ac19bceb3e148819759725ba161262931db
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: 0b04d1457a55773157303ef7d5822f12235f475e
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: cf0b68debcabe0f27335a5efe89acc5b8eb29a97
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: 692ed4347c6c6e65f6937ce4125582604962aaba
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: 970002f4d1141b4f4cce9b19e29605ded9db8755
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

After much struggle and strife, I've written a test that works. 😅

@bnimam one of the best test cases I have ever seen! 😁 Thank you!


Remove json silly

I was using that analysis HTTP endpoint for some...analysis. So 😝

Ah, sorry for that. Does /api/packages/pana/metrics?reports&pretty help in any way?

Ah yes it does! Thanks
On Thu, Dec 6, 2018 at 7:30 PM István Soós<EMAIL_ADDRESS>wrote:

Ah, sorry for that. Does /api/packages/pana/metrics?reports&pretty help in
any way?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/pub-dartlang-dart/pull/1854#issuecomment-444999901,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCivbQBlU836zgGzohQd7wC2eWF2noks5u2XBxgaJpZM4ZHG1A
.


could help me?

App Version: 1.1.0
I don´t know why I see it in my computer and I can't use firefly.
platform: macOS
platformVersion: 11
platformArchitecture: x64
cpuCount: 8
totalMem: 8192.0 MB
freeMem: 29.3 MB
userPath: /Users/sergioalvarezguzman/Library/Application Support/Firefly
Error Type: Preload Context Error
Error: Uncaught TypeError: Cannot read property 'id' of undefined
at /Applications/Firefly.app/Contents/Resources/app.asar/public/build/preload.js:2:165586
at /Applications/Firefly.app/Contents/Resources/app.asar/public/build/preload.js:2:197606
at Array.forEach ()
at destroy (/Applications/Firefly.app/Contents/Resources/app.asar/public/build/preload.js:2:197594)
at /Applications/Firefly.app/Contents/Resources/app.asar/public/build/preload.js:2:191379

Duplicate of #1087


macro suggestion : 'now'

Hi,
Timestream DB does not provide 'now' function or equivalent. A macro would be useful.
I've just quickly built a hack from sources providing $__now_ms macro, which is the current time in milliseconds.
I don"t know how to contribute to the project. There are barely 10 lines of code I could post them here, or submit a PR.

for the records, 12 interesting lines, and a few more for a somewhat dummy unit test.
Diff against commit 7da9b30
diff --git a/pkg/timestream/macros.go b/pkg/timestream/macros.go
index 305dac1..27c032e 100644
--- a/pkg/timestream/macros.go
+++ b/pkg/timestream/macros.go
@@ -4,12 +4,14 @@ import (
 	"fmt"
 	"regexp"
 	"strings"
+	"time"

 	"github.com/grafana/timestream-datasource/pkg/models"
 )

 const timeFilter = `\$__timeFilter`
 const intervalStr = `$__interval_ms`
+const nowStr = `$__now_ms`

 // WHERE time > from_unixtime(unixtime)
 // WHERE time > from_iso8601_timestamp(iso_8601_string_format)
@@ -51,6 +53,12 @@ func Interpolate(query models.QueryModel, settings models.DatasourceSettings) (s
 		txt = strings.ReplaceAll(txt, intervalStr, replacement)
 	}

+	if strings.Contains(txt, nowStr) {
+		now := int(time.Now().UnixNano() / int64(time.Millisecond))
+		replacement := fmt.Sprintf("%d", now)
+		txt = strings.ReplaceAll(txt, nowStr, replacement)
+	}
+
 	return txt, err
 }

diff --git a/pkg/timestream/macros_test.go b/pkg/timestream/macros_test.go
index 7582e2b..c20469d 100644
--- a/pkg/timestream/macros_test.go
+++ b/pkg/timestream/macros_test.go
@@ -1,6 +1,7 @@
 package timestream

 import (
+	"fmt"
 	"testing"
 	"time"

@@ -67,4 +68,29 @@ func TestInterpolate(t *testing.T) {
 			t.Fatalf("Result mismatch (-want +got):\n%s", diff)
 		}
 	})
+
+	t.Run("using now", func(t *testing.T) {
+		sqltxt := `$__now_ms`
+		query := models.QueryModel{
+			RawQuery: sqltxt,
+		}
+		text, _ := Interpolate(query, models.DatasourceSettings{})
+		expect := int(time.Now().UnixNano() / int64(time.Millisecond))
+
+		precision := 10
+		opt := cmp.Comparer(func(x, y int) bool {
+			return x-y <= precision || y-x < precision
+		})
+
+		var numtext int
+		_, e := fmt.Sscan(text, &numtext)
+
+		if e != nil {
+			t.Fatalf(e.Error())
+		}
+
+		if !cmp.Equal(numtext, expect, opt) {
+			t.Fatalf("Result above tolerated precision %d : %d, %d", precision, numtext, expect)
+		}
+	})
 }
diff --git a/src/SchemaInfo.ts b/src/SchemaInfo.ts
index e196c9d..6462abc 100644
--- a/src/SchemaInfo.ts
+++ b/src/SchemaInfo.ts
@@ -77,6 +77,11 @@ export class SchemaInfo {
         kind: CodeEditorSuggestionItemKind.Method,
         detail: '(Macro)',
       },
+      {
+        label: '$__now_ms',
+        kind: CodeEditorSuggestionItemKind.Method,
+        detail: '(Macro)',
+      },
       {
         label: '$__database',
         kind: CodeEditorSuggestionItemKind.Method,

for the records, 12 interesting lines, and a few more for a somewhat dummy unit test.
Diff against commit 7da9b30
diff --git a/pkg/timestream/macros.go b/pkg/timestream/macros.go
index 305dac1..27c032e 100644
--- a/pkg/timestream/macros.go
+++ b/pkg/timestream/macros.go
@@ -4,12 +4,14 @@ import (
 	"fmt"
 	"regexp"
 	"strings"
+	"time"

 	"github.com/grafana/timestream-datasource/pkg/models"
 )

 const timeFilter = `\$__timeFilter`
 const intervalStr = `$__interval_ms`
+const nowStr = `$__now_ms`

 // WHERE time > from_unixtime(unixtime)
 // WHERE time > from_iso8601_timestamp(iso_8601_string_format)
@@ -51,6 +53,12 @@ func Interpolate(query models.QueryModel, settings models.DatasourceSettings) (s
 		txt = strings.ReplaceAll(txt, intervalStr, replacement)
 	}

+	if strings.Contains(txt, nowStr) {
+		now := int(time.Now().UnixNano() / int64(time.Millisecond))
+		replacement := fmt.Sprintf("%d", now)
+		txt = strings.ReplaceAll(txt, nowStr, replacement)
+	}
+
 	return txt, err
 }

diff --git a/pkg/timestream/macros_test.go b/pkg/timestream/macros_test.go
index 7582e2b..c20469d 100644
--- a/pkg/timestream/macros_test.go
+++ b/pkg/timestream/macros_test.go
@@ -1,6 +1,7 @@
 package timestream

 import (
+	"fmt"
 	"testing"
 	"time"

@@ -67,4 +68,29 @@ func TestInterpolate(t *testing.T) {
 			t.Fatalf("Result mismatch (-want +got):\n%s", diff)
 		}
 	})
+
+	t.Run("using now", func(t *testing.T) {
+		sqltxt := `$__now_ms`
+		query := models.QueryModel{
+			RawQuery: sqltxt,
+		}
+		text, _ := Interpolate(query, models.DatasourceSettings{})
+		expect := int(time.Now().UnixNano() / int64(time.Millisecond))
+
+		precision := 10
+		opt := cmp.Comparer(func(x, y int) bool {
+			return x-y <= precision || y-x < precision
+		})
+
+		var numtext int
+		_, e := fmt.Sscan(text, &numtext)
+
+		if e != nil {
+			t.Fatalf(e.Error())
+		}
+
+		if !cmp.Equal(numtext, expect, opt) {
+			t.Fatalf("Result above tolerated precision %d : %d, %d", precision, numtext, expect)
+		}
+	})
 }
diff --git a/src/SchemaInfo.ts b/src/SchemaInfo.ts
index e196c9d..6462abc 100644
--- a/src/SchemaInfo.ts
+++ b/src/SchemaInfo.ts
@@ -77,6 +77,11 @@ export class SchemaInfo {
         kind: CodeEditorSuggestionItemKind.Method,
         detail: '(Macro)',
       },
+      {
+        label: '$__now_ms',
+        kind: CodeEditorSuggestionItemKind.Method,
+        detail: '(Macro)',
+      },
       {
         label: '$__database',
         kind: CodeEditorSuggestionItemKind.Method,

go ahead and submit a pull request and we can incorporate this

go ahead and submit a pull request and we can incorporate this

I try to push a branch but I keep getting permission denied (using ssh) or authentication failure (using https) which is weird since I tested my credentials several times. (Maybe because I use MFA, https won't work?)
Don't I need to be authorized on the project ?

I try to push a branch but I keep getting permission denied (using ssh) or authentication failure (using https) which is weird since I tested my credentials several times. (Maybe because I use MFA, https won't work?)
Don't I need to be authorized on the project ?

@squalou it is undocumented, but you can use now() in your timestream queries.

good to know, will try.
(a colleague told me he tried without success, will try again)

__now_ms was added in v1.2.0


specify partial-path, otherwise MissingPartial error is raised

got this error with rails 3.2 and ruby 1.9.3.
Seems like Rails only looks in app/views/alchemy/attachements since the model is Alchemy::Attachement not Alchemy::Admin::Attachement...

Yes, that would be possible, too.
You suggested once that I could use the build-in auth-system for a frontend login with a role 'frontend-user'.
Given one builds up a frontend where users are allowed to upload filese aka attachements to the server. This developer would be confused that the admin/...-partial is rendered.
The shortcut partial => @attachement is only used once in alchemy. I think it's easier for us to care for it's backend use than for a (maybe new) alchemy 'user' (in terms of integrator).

Yes, you are right. It does not belong in the model.


Feature - Response Handler(s)

I was putting in a PR and noticed the requirements. So, I thought I'd open this issue first for discussion.
This feature would allow simple extensibility to the module in order for a user to hijack/takeover the response from js-data-express. This is useful in a number of circumstances, ie: deleting fields you don't want being sent in the response like password.
Setup your resource
const UserMapper = store.defineMapper('user')

Assign a single response handler method to intercept all responses
UserMapper.resHandler = (storeResults,req,res,next) => {
  res.send(storeResults.map(r=>{return r._id}))
  res.end();
};

-or-
Assign a response handler per method
UserMapper.resHandlers = {
  get: (storeResults, req,res,next) => {
    res.send('get')
  },
  post: (storeResults, req,res,next) => {
    res.send('post')

  },
  put: (storeResults, req,res,next) => {
    res.send('put')

  },
  delete: (storeResults, req,res,next) => {
    res.send('delete')

  },
};

Finally, you use this modules mount() method to do the work.
// Mount queryParser and store at "/api"
mount(app, store, '/api')

I see the end goal you're going for, but I don't think putting "controller" code onto Mappers (Model layer) is the best way to approach it. How about being able to configure js-data-express to act as middleware that subsequently calls your response handlers, without js-data-express sending the response itself. Example:
// Mount queryParser at "/"
app.use(queryParser)
// Mount store at "/"
app.use(new Router(store, {
  passThru: true
}).router)

// The routes mounted by js-data-express don't
// respond to the request, instead they attach the
// result to "req", then we respond to the request
// manually here:
app.use((req, res) => {
  if (/* some condition */) {
    // do something custom
  }
  res.send(req.jsDataResult);
});

// manually respond on a specific route
app.get('/users/:id', (req, res) => {
  // don't send user's passwordHash to the browser
  res.send(utils.omit(req.jsDataResult, 'passwordHash'));
});

Thoughts?

Hmm. I like your idea but it seems like it would require repetitive boilerplate code. Opt-in to have js-data-express "pass-thru" would affect all models/resources in the store, in your example? Someone may only want to assign response handler methods to specific REST endpoint calls and let js-data-express handle the rest.
If we could avoid attaching to the mapper (Model layer) but still pass in custom response handlers via store w/ mount(), It seems... smooth. ie: https://github.com/js-data/js-data-express/pull/14

My question is, is it okay for say, the provided get resHandler to be used by two different js-data-express endpoints? In fact, all of them would be used in more than one endpoint, meaning the user would have to have an if statement in their handlers.
What about also allowing the user to provide a resHandler for a specific CRUD method, like find, findAll, etc.?

I like the idea of being able to provide a handler for a specific mapper and endpoint. I think in most cases where I've wanted to do something like this it was not across all models. So if I'm understanding @jmdobry 's proposal, that if/else block might be prone to some clutter.
What about rather than attaching the handlers to the mapper, you could pass in an object containing the custom handlers as a second argument to the Router constructor
Something like:
const userHandlers = {
  get: (result, req,res,next) => {
    delete result.password;
    res.send(result);
  }
}
api.use('/user', new Router(UserMapper, userHandlers).router)

And then makeHandler might look something like this:
function makeHandler (handler, responseHandler) {
  return function (req, res, next) {
    return utils.resolve()
      .then(function () {
        return handler(req)
      })
      .then(function (result) {
        res.status(200)
        if(responseHandler) {
          responseHandler(result, req, res)
        } else {
          if (!utils.isUndefined(result)) {
            res.send(result)
          }
        }
        res.end()
      })
      .catch(next)
  }
}

More or less the same as #14 just without attaching the handlers directly to the mapper. Just a rough idea.

What I'm saying is, if get is the key, then that handler would have to handle both /users and /users/:id, necessitating an if statement in the handler. I'm suggesting CRUD-method targeted configuration:
const userHandlers = {
  // GET /users
  findAll: (results, req,res,next) => {
    results.forEach((result) => {
      delete result.passwordHash;
    })
    res.send(results);
  },
  // GET /users/:id
  find: (result, req,res,next) => {
    delete result.passwordHash;
    res.send(result);
  }
}
api.use('/user', new Router(UserMapper, userHandlers).router)

Or even:
const userHandlers = {
  // PATCH /users/:id
  update: {
    method: 'PATCH', // Default is PUT
    request: (req, res, next) => {
      // do something before store.update() gets called

      if (req.body.password) {
        // User is updating their password
        req.body.passwordHash = computeHash(req.body.password)
        delete req.body.passord
      }

      next();
    },
    response: (result, req, res, next) => {
      delete result.passwordHash;
      // Send updated user record to the browser
      res.send(result);
    }
  }
}
api.use('/user', new Router(UserMapper, userHandlers).router)

I think @ramirezd42 has a good point, let's make the response handler a second argument. @jmdobry has a great point re get being 2 difference endpoints. I like the recommendation of applying findAll and find handlers.
I'll work on the PR and update shortly

This looks good to me. Any thoughts @jmdobry ? My only request would be to add some tests to the Router spec

This topic raised some usability issues. I like the direction that @crobinson42's PR has taken. I'm going to open another PR (rebased off of #14) that takes things a step further.


Add back check for the DH public key size [3.0]

This is needed for TLS-1.3.
Also add check for uncompressed point format for ECDHE as
the other formats are not allowed by RFC 8446.
Fixes #17667
This is cherry pick of #17678 to 3.0 branch as it did not cherry pick cleanly.

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests.  Once the tests pass it will get moved to 'approval: ready to merge' automatically, alternatively please review and set the label manually.

but this PR has failing CI tests

The bot seems to be getting confused???

Merged to openssl-3.0 branch. Thank you for the reviews.


Create 0000-01-02-NomanBinBasheer.md

So far, Yes so far I have: created a branch, created a file and made a commit, and opened a pull request. I am proud of myself for this.

Good Work, Thanks


Considering using the C yaml loader in Python

Please describe your use case / problem.
The default python yaml implementation is verty slow compared to native implementations. When Ambassador needs to manage many service (1000 or more) objects, the yaml data can get large enough to the point where updates take several seconds of CPU time or more.
Describe the solution you'd like
Use the CSafeLoader from pyyaml and specify Loader=CSafeLoader on calls to yaml.load and yaml.load_all. Note that yaml.load etc is typically unsafe with the default loader because it allows for arbitrary object instantiation in the python interpreter. The CSafeLoader has the word safe in it, but I tested this case manually anyway. Forunately, CSafeLoader does in fact prevent you from instantiating python objects, so I think there are no new security concerns by using this loader over the existing yaml.safe_load_all.
In practice, I observed that 20k service objects with the standard implementation takes 70s to load. With the C loader, it takes 6.5 seconds.
I can provide a patch for the simplest possible case if necessary.
Describe alternatives you've considered
The alternative would be to migrate Ambassador's internal python components to operate on JSON only. The JSON parser in Python is already fast.
Additional context
More context on the original performance investigation here: https://github.com/datawire/ambassador/issues/1292

Good call, this is in https://github.com/datawire/ambassador/pull/1312

We use the C parser in 0.52.0.


fix 拦截器点击第10次无效 #893

优化：当Interceptor的process未回调onContinue或者onInterrupt时，框架默认让拦截链继续下去。防止CountDownLatch始终未到0，线程必须等待300s超时，防止线程池等待队列满掉。

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[Bug]: Cart Session cookie not cleared on successful checkout

Expected Behavior
If returning to frontend site after successful checkout - the old cart should be cleared and a new cart created
Actual Behavior
The old cart is pulled based on the session cookie - and users are unable to add items to the cart or checkout until the session cookie is cleared
Possible Solution
No response
Steps to reproduce
No response
What version of shopify integration are you using?
Newest
What version of Node.js are you using?
Newest
What browser (and version) are you using?
Firefox
What operating system (and version) are you using?
Linux
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Please upgrade your template files to the latest ones


Npm: Update handlebars to a non-vulnerable version

CVE-2021-23369. The earliest fixed version is 4.7.7.
Related to https://github.com/BlueHatbRit/mdpdf/pull/101, where only package-lock.json was updated.

Hey, apologies for the delay just approved the CI run on this and will look to get it merged if all is well.


Not able to use it on linux

Is your feature request related to a problem? Please describe.
No response
Describe the solution you'd like
No response
Additional context
Everyone knows that linux is a developer oriented OS and Expo is a great tool to develop great mobile applications but still the support is missing from linux.

Expo Orbit now officially supports Linux! Visit https://github.com/expo/orbit/releases to download the latest version


Feature request: Add position offset

Fine tune position calculated by the widget with X and Y offset

Hello @jeff3dx , there is offset prop, but it's not documented:
https://github.com/littlebits/react-popover/blob/master/source/index.js#L180
FYI: https://github.com/littlebits/react-popover/pull/203


warning: controllerCountMb < 1 & DRAM controller isn't supported

First things first, great job! Thanks for making this possible!
However, when running the example provided in the readme file, I get
warning: controllerCountMb < 1
DRAM controller isn't supported

From the gif, it appears that we have the same RAM (because your RAM does also not work), and I'm fine with the RAM not being supported. However, what's about the controllerCountMb < 1 warning?
Is there something I can do about it? The mainboard is a Z370-F.
Thanks!

Hello @CodeF0x! Sorry for the late response, but I've been busy these days. That's because the SDK is not able to find any lights controller from the motherboard.
Right now I don't have access to my computer (the one in the GIF) so I cannot make any improvements to this library at the moment.
But, there are several things to improve here. We can migrate into the new n-api for integrating with C++. Also, there is a new version of the SDK out there that we could use. I need to organize my life right now and then I'll take a look into this library.
Thanks you for your comment!

Hi @DanielRamosAcosta, thanks for the detailed update!
So I guess I will be waiting. Don't put yourself under pressure, it's not that someone's life depends on this ;).

Hey @SauceCodeFr. right now Asus has has released version 3 of the SDK as you might have read in the fourm. Right now I'm investigating the best approach to write a new wrapper using the new SDK and the new n-api. I want to continue working on this, but don't worry about contributing financially, but thanks!
If you want to help @SauceCodeFr  and @CodeF0x , I would ask you to test the new version of the library when it's released, thanks!

Hey @DanielRamosAcosta :)
I hope everything is okay in you life beside this project ! I appreciate your honesty, and I maybe I can contribute to the code side. I spend the last days learning about n-api and it looks almost to easy, they made a very very good work with this library, I am excited about all the opportunities of including DLL in node apps !
No problem for helping with testing ! I have a SFF build on a Skyreach with a X570-I with on board leds, 3x 12v leds stripes, 2 x ram adressable leds, 1 x adressable 5v led stripe on cpu fan.

Thanks for your help @SauceCodeFr! Tomorrow I'm going to upload some new code in a branch. I'm going to send you an email to sync up. Thanks!

Hi @DanielRamosAcosta, I would be glad to test the new version too once it's released! I'll give you some feedback then.

Hello @DanielRamosAcosta! Sorry for the late response, but life got in the way. Thanks for all your effort, but sadly I can't get it even installed properly.
Checking out the new branch and doing npm i, I get the following stacktrace:
C:\Users\tobia\Documents\Projekte\aura-sdk>npm i

><EMAIL_ADDRESS>install C:\Users\tobia\Documents\Projekte\aura-sdk
> node-gyp rebuild

C:\Users\tobia\Documents\Projekte\aura-sdk>if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Die Projekte in dieser Projektmappe werden nacheinander erstellt. Um eine parallele Erstellung zu ermöglichen, müssen Sie den Schalter "/m" hinzufügen.
  nothing.vcxproj -> C:\Users\tobia\Documents\Projekte\aura-sdk\build\Release\\nothing.lib
  main.cpp
c:\users\tobia\documents\projekte\aura-sdk\cppsrc\samples\aurasdk_x86.tlh(1242): fatal error C1083: File (Include) cannot be opened: "E:\Documentos\Proyectos Personales\Mios\AuraTutorial\AuraTutorial\Debug\AuraSdk_x86.tli": N
o such file or directory [C:\Users\tobia\Documents\Projekte\aura-sdk\build\testaddon.vcxproj]
  AuraSdk.cpp
c:\users\tobia\documents\projekte\aura-sdk\cppsrc\samples\aurasdk_x86.tlh(1242): fatal error C1083: File (Include) cannot be opened: "E:\Documentos\Proyectos Personales\Mios\AuraTutorial\AuraTutorial\Debug\AuraSdk_x86.tli": N
o such file or directory [C:\Users\tobia\Documents\Projekte\aura-sdk\build\testaddon.vcxproj]
  AuraSdkWrapper.cpp
c:\users\tobia\documents\projekte\aura-sdk\cppsrc\samples\aurasdk_x86.tlh(1242): fatal error C1083: File (Include) cannot be opened: "E:\Documentos\Proyectos Personales\Mios\AuraTutorial\AuraTutorial\Debug\AuraSdk_x86.tli": N
o such file or directory [C:\Users\tobia\Documents\Projekte\aura-sdk\build\testaddon.vcxproj]
  win_delay_load_hook.cc
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\tobia\Documents\Projekte\aura-sdk
gyp ERR! node -v v8.16.2
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\tobia\AppData\Roaming\npm-cache\_logs\2020-02-15T11_49_55_455Z-debug.log

Any ideas? Thanks for your all effort!


Feature request: rows_dot_product( row_vector [] , matrix )

When doing hierarchical models, it can be useful to use rows_dot_product before the final likelihood, but in models with "centered-parameterization" the first term will typically be an array of row_vectors, so a conversion is currently necessary:
data{
...
  matrix[n,k] w_n[k]
...
}
...
parameters{
...
  row_vector[k] m ;
  vector<lower=0>[k] s ;
  row_vector[k] z[n] ;
  cholesky_factor_corr[k] r ;
...
}
model{
...
  // z as multivariate normal ("centered" parameterization)
  z ~ multi_normal_cholesky( m , diag_pre_multiply(s,r) ) ;

  //convert z from array of row-vectors to matrix
  matrix[n,k] z_mat ;
  for(i_n in 1:n){
    z_mat[i_n] = z[i_n] ;
  }

  // Loop to compute the loc for each subject in each condition implied by the design matrix
  matrix[n,k] loc ;
  for(i_k in 1:k){
    loc[,i_k] = rows_dot_product( z_mat , w_n[i_k]  ) ;
  }
...
}

I think you can simplify this into computing rowwise sum of w_n before elt_multiplying it with z, so there is no need to construct z_mat. It should also be a bit faster.

Is elt_multiply exposed in Stan? I see it's in the math library but not in the Stan functions reference.

It is but it's called .* and not elt_multiply
https://mc-stan.org/docs/2_26/functions-reference/elementwise-functions.html

Oh! I just realized I failed to include the description that w_n is an array of matrices, so w_n[i_k] is itself a matrix, hence working when the other argument to rows_dot_product is also a matrix. I think that @t4c1 your suggestion was based on assuming that w_n[i_k] was a row vector and not a matrix? Because I otherwise don't understand your suggestion, as (and writing this out in detail mostly to check my own understanding):
vector[num_rows_mn] o = rows_dot_product( m, n) ;

is equal to
vector[num_rows_mn] o ;
for(i in 1:num_rows_mn){
  o[i] = dot_product(m[i], n[i] ) ;
}

which is equal to
vector[num_rows_mn] o ;
for(i in 1:num_rows_mn){
  o[i] = sum( m[i] .* n[i] ) ;
}

where the sum and multiply operations aren't commutative, so one can't do:
vector[num_rows_mn] o ;
for(i in 1:num_rows_mn){
  o[i] = sum(m[i])  * sum(n[i]) ;
}

Or have I completely missed your intent?

Oh wait. I don't even have my own example right.

No, I misunderstood. I missed that z is an array. Than the conversion is necessary. In math we have a to_matrix signature that could do the conversion for you, but it looks like it is not exposed to the language.

Moving this to a new issue at stanc3.


Add 2023-10-01 version rest client

Description
Add 2023-10-01 version rest client based on the swagger provided here: https://github.com/Azure/azure-rest-api-specs/tree/release-machinelearningservices-Microsoft.MachineLearningServices-2023-10-01/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2023-10-01
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml

@microsoft-github-policy-service agree company="microsoft"

@microsoft-github-policy-service rerun


Remove builder.OnlyMetadata

Problem Statement
ExternalSecrets Controller has the same problem with https://github.com/external-secrets/external-secrets/pull/2504. but in this case, we cannot replace v1.Secret with metav1. PartialObjectMetadata since the controller needs to access a non-metadata field to compute a hash. Therefore, I just deleted the builder.OnlyMetadata option to remove the unnecessary metadata cache 🙂
Related Issue
N/A
Proposed Changes
Deleted the unnecessary builder.OnlyMetadata option.
Checklist

[x] I have read the contribution guidelines
[x] All commits are signed with git commit --signoff
[x] My changes have reasonable test coverage
[x] All tests pass with make test
[x] I ensured my PR is ready for review with make reviewable

/approve


Dbus-daemon: cpu usage

After I implemented this module into my polybar configuration, I noticed that my idle cpu usage was slightly higher than usual. After disabling the module, I would get about ~10% lower cpu usage on average.
After looking a bit more into it, I found the processes that were the culprit:
/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
/usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

Each one of them usually consumes ~5% of my cpu utilization (i5-8600k).
After looking up what these processes could be (before I realized it was this polybar module), I found out that they were spamming/flooding dbus messages (by running sudo dbus-monitor --system). The messages look something like this:
method call time=1612465796.559282 sender=:1.13176 -> destination=org.freedesktop.DBus serial=11 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ListNames
method return time=1612465796.559295 sender=org.freedesktop.DBus -> destination=:1.13176 serial=12 reply_serial=11
   array [
      string "org.freedesktop.DBus"
      string ":1.7"
      string "org.freedesktop.login1"
      string "org.freedesktop.timesync1"
      string "org.freedesktop.ColorManager"
      string ":1.9"
      string "org.freedesktop.DisplayManager"
      string ":1.30"
      string "org.freedesktop.systemd1"
      string ":1.13174"
      string ":1.42"
      string ":1.31"
      string "org.freedesktop.PolicyKit1"
      string ":1.173"
      string ":1.151"
      string ":1.10"
      string "org.bluez"
      string ":1.13176"
      string ":1.33"
      string ":1.22"
      string "org.freedesktop.NetworkManager"
      string "org.freedesktop.UPower"
      string ":1.12"
      string ":1.13"
      string ":1.0"
      string ":1.25"
      string ":1.14"
      string ":1.1"
      string ":1.2"
      string ":1.38"
      string ":1.3"
      string "org.freedesktop.resolve1"
      string ":1.4"
      string "org.freedesktop.RealtimeKit1"
      string ":1.29"
      string "org.freedesktop.Accounts"
      string ":1.5"
   ]
signal time=1612465796.561545 sender=org.freedesktop.DBus -> destination=:1.13176 serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.13176"
signal time=1612465796.561560 sender=org.freedesktop.DBus -> destination=(null destination) serial=26487 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.13176"
   string ":1.13176"
   string ""

Again, after disabling the spotify module, the messages don't appear anymore.
I belive I have properly edited both .sh files, but I will include them in the attachments just in case, along with the polybar module. Since GitHub doesn't support uploading .sh files, I will upload screenshots of the files instead.

Any help is greatly appreciated,
thanks in advance.

I realised this if the delay in zscroll was increased, the spam goes slower. Maybe an issue with zscroll?

I think I might have figured out why the issue is happening, but I haven't though of a good fix for it yet.
Basically, the script uses playerctl to get the arist and title every X seconds (this X is 0.1 by default, but making this delay longer just makes it a lot uglier, which is not a worthy compromise in my opinion). Additionally, playerctl uses dbus to fetch this information, hence the flood of dbus messages.
You can simply test this yourself by using the watch command:
watch -n 0.1 "playerctl -p spotify metadata -f \"{{ title }} - {{ artist }}\""
This will print the title and artist of the currently playing song, same as in the script and update it every 0.1 seconds.
As this is running, you can type sudo dbus-monitor --system in a separate tty session and you will see the same result as with the script: dbus will be flooded with messages and the cpu usage will rise.
Solution 1:
One solution would be to make two delays: one for scrolling the text and another on for updating it (checking playerctl). I'm working on a solution of my own, but I won't give any guarantees yet.
Solution 2:
The better solution would be to find a way to make the spotify app or its dbus interface to "message" the script automatically when the song is updated so it doesn't have to check it all the time, which would be obviously better than the first solution. I have no real idea of how to do this yet, however maybe somebody else does.
Any feedback is greatly appreciated,
thanks in advance.

@jan146 Thanks for taking such a deep dive into this problem. I never constantly monitor my idle CPU usage (and I should, thanks for the tip!) and never tried to measure the computation load of this module.
I'm a student and so I wasn't able to get back quickly but let me take a look at what you're proposing.
Solution 1 is obviously a naive way to deal with it. Keep us updated with what you come up with. And as far as solution 2 is concerned, I'm as lost as you are. I want to maintain the module in such a way that it works playerctl in general and not just Spotify. So I'll try to take a look at what the guys at playerctl may have discussed regarding CPU load.
@brokenax3 Nice observation! I'll definitely keep that in mind.

After doing some more testing, I found out that communicating with dbus directly resulted in much lower resource usage. Instead of using playerctl, I used the dbus-send command to get info about the player status and usage went from ~8%, down to ~2% at most. For some reason, using playerctl sends a message to both the session and system bus, which already unnecessarily doubles resource usage. Additionally, each of these burns approximately double as many resources as a simple dbus-send request, again, for some unknown reason (to me). Consequently, it uses approximately 4 times as many resources.
In a nutshell, the issue lays somewhere within playerctl, but finding it will most likely prove to be more difficult than just making direct queries to dbus.
I am using this solution (along with some other performance optimizations) in my own project. I originally planned on forking this one, since I made pretty much the same thing, however I do not require anything particular from this repo.
I hope I have pointed you towards a possible solution, or at least narrowed down the problem, so it can be fixed sometime in the future.
Thank you for your time.
Kind regards,
Jan

My CPU usage was going haywire with the playerctl based script. I was initially using the first solution where I added a sleep 0.5 to the get status script but that was also adding delay to the zscroll effect because of how they were connected and it was pretty ugly.
Using the dbus-send method fixed the issue. Average CPU usage went from ~12% to ~6% for me.
Thank you, @jan146

I did try a playerctl-based async version here https://gist.github.com/LDAP/6b7393b61fb218b7a2ff54690a6f47ac.
It has hardly any CPU usage.

You might be surprised but its as easy as adding a simple interval in your polybar configuration for the module.
This reduces the CPU usage very noticeably and I even created a PR for it here: #23

@DashCruft Thanks for the quick PR. If you got any numbers on how much of an improvement this change made, please feel free to post them here.


Just for learnning from Calico?

Bug Report
Type: bug report
What happened
What you expected to happen
How to reproduce it (as minimally and precisely as possible)
Anything else we need to know?

Repeated production wheels


Insecure malloc and memcpy functions used

In a recent audit, testers flagged use of insecure function memcpy and malloc. We were recommended to use memcpy_s and calloc as alternatives, and wanted to pass that recommendation to you all to improve security of the library.
Thank you for your consideration!

Might make sense having it as a compilation option, but memcpy_s is only supported in C11 and I intent to retain C89 support.
Nanopb does not currently use malloc() at all, only realloc().


Why do you require VirtualBox on MacOS?

Your tool looks really interesting and I would like to use it. But my main problem is the requirement of VirtualBox on MacOS.
I know that because docker cannot run natively on MacOS, the common workaround is to run Linux in VM and run the docker daemon in that VM.
But as far as I understand azk should not care where it runs. If docker client is well configured and can communicate to a docker daemon, azk should work. It should not matter whether the docker daemon runs natively on my machine, or I have configured DOCKER_HOST to a remote machine running docker daemon, or DOCKER_HOST points to a VM running locally (whether it's VirtualBox, Parallels or any other VM).
Am I right? or is there any other good reason to require VirtualBox on MacOS?
Another question, is it possible to run azk as is today in the following setup:

docker daemon is installed on a remote linux machine (actually a LAN linux machine)
docker client and azk are invoked on MacOS, DOCKER_HOST set to an IP of that remote linux machine.

In order to make things really simple in the first versions of azk for Mac OS X, we chose to create an abstraction to run docker
Thus we use a custom virtual machine, with file sharing and DNS resolution. This way, users don't have to configure docker themselves.
Unfortunately, as of now, azk doesn't support the functionality we asked about.
However, it's on our short term roadmap. Remember: azk is 0.15.0 yet. And we wanted to focus on simplicity and a "plug-and-play" experience first.

I really like the idea of being able to choose the underlying VM. so +1

It's in fact a great idea, @pkyeck!
We have this intention, but we still have to add support to other VM platforms.
Currently we use VBoxManage and this limit our support to VirtualBox.
In order to add support to other VM platforms, it's needed to create a separated lib which will abstract the VM to azk, working as an adapter. In this way, it'll be way simpler to extend this component and add other VM platforms and even other virtualization types, such as xhyve.

docker now is testing new docker app for Mac/Windows, and No more VirtualBox! On Mac, the Docker Engine runs in an xhyve Virtual Machine (VM) on top of an Alpine Linux distribution.
Click for details: https://beta.docker.com/docs/features-overview/


buried treasure does not generate on vanilla 1.7.3 generated worlds

as the title says, buried treasure maps generate but they're completely blank and when opened have no X. I also cannot seem to generate a cherry blossom grove at all

This might be perhaps due to the mod not generating any "beach" biomes.


Wrong viewpoint rotation center in

Describe the Bug
A clear and concise description of what the bug is.
Steps to Reproduce

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
System

Operating System: [e.g., Windows 10, Linux Ubuntu 18.04, macOS Mojave]
Graphics Card: [e.g., NVIDIA GeForce RTX 2080 11 GB, AMD Radeon RX 580 8GB, etc.]

Additional context
Add any other context about the problem here.

:-D sorry for this


Mummerplot 4.0.0rc1  "false -geometry 500x500+0+0 -title mummerplot out.gp"

I am trying to use mummerplot, after running:
mummer -b -c ref.fa query.fa > results.mummer

mummerplot -l results.mummer

I recieve the error:
gnuplot 5.4 patchlevel 0
Reading mummer file results.mummer (use mummer -c)
Writing plot files out.fplot, out.rplot
WARNING: Multiple qry sequences overlaid, try -Q, -q or -c
Writing gnuplot script out.gp
Forking mouse listener
Rendering plot to screen
WARNING: Unable to query clipboard with xclip
WARNING: Unable to run 'false -geometry 500x500+0+0 -title mummerplot out.gp', Inappropriate ioctl for device

Any ideas?

same issue

same issue


missing support for MFA

hi, there is missing implementation for MFA - so effectively from 15-Sep-2019 will SDK probably stop to work...
reference for MFA on Zonky API docs:
https://zonky.docs.apiary.io/#reference/oauth/token/get-access-token
I will try to find some time to send PR, if you are not developing it already

There is temporary phase - user needs to log in on web (via required 2FA) and until end of September is not 2FA required for API

Yes, old version of library is still working. I made some changes, but I was unable to test it against zonky API. The API never request me to put sms code.

2FA is required only for exporting account transactions (GetWalletTransactionsAsync, if you want ) and for transferring money to bank account (as always). Money transfers are not supported in this library, so only exports of account transactions needs the MFA. Ineed some additional testing, this week will be released new version with MFA support.


Owner info missing for a package

Search for: "Microsoft.ML.LightGBM"

@anangaur , owner information is updated once every 24 hours in search. Meaning, new packages will have an empty owner field for a while.
What is the proposed fix? Increase update frequency? Remove the "by: " text?


Cannot introduce both empty object and custom object as input to function

Bicep version
v0.31.92
Describe the bug
Custom function does not accept custom type object. My goal was introducing a custom object to be able to have a way to have optional parameters.
To Reproduce
Steps to reproduce the behavior:

Create a bicep file with the following contents:

type complexObject = {
  Name: string
  Value: int
}
type complexFunctionType = { an: 'complexObject' } | {}

func functionWithComplexObject(obj complexFunctionType) string =>
  empty(obj) ? '' : '${obj.?Name} - ${obj.?Value}'

output scenario1 string = functionWithComplexObject({})

output scenario2 string = functionWithComplexObject({
  Name: 'test'
  Value: 1
})

As defined in the bicep above:
Scenario1: Success
Scenario2:

Status Message: The template output 'test' is not valid: The provided value for the 'obj' parameter of the user-defined function '__bicep.functionWithComplexObject' is not valid. The value '{
"Name": "test",
"Value": 1
}' is not part of the allowed value(s): '{
"an": "complexObject"
},{}'.. (Code:DeploymentOutputEvaluationFailed)

Additional context
My expectation based on the union types examples would be that both scenario 1 & 2 should work, but I may be missing something.

@C0smin With union types, the value needs to match at least one of the union members. If you want to make a property optional, you can mark it as nullable:
type complexFunctionType = { an: 'complexObject'? }


Implement asynchronous texture uploads using the Metal backend.

Duplicate https://github.com/flutter/flutter/issues/41827


The use of hard link copy operation for Nuttx blocks building on guest OS within host volume

The Nuttx build uses hard links for Linux builds: https://github.com/PX4/Firmware/blob/master/platforms/nuttx/NuttX/CMakeLists.txt#L30
This doesn't work for guest OS build environments (Ubuntu in VMWare) when accessing the source on a host volume. Looking for ideas on how to make an exception for these build environments (they are fairly special so I don't think it's a common problem).

Yes, this is a feature that helps when debugging NuttX in an IDE and modifying the source (that's actually the copy), then losing your change when rebuilding.
How does it fail on your setup?


More efficient passing of arrays between jax / pytorch

I notice in pytorch.py the functionality to convert between pytorch and jax arrays goes via a conversion to the cpu. It is possible to do this without moving the data at all.
def j2t(x_jax, device=None):
    x_torch = torch_dlpack.from_dlpack(jax_dlpack.to_dlpack(x_jax))
    if device:
        x_torch = x_torch.to(device)
    return x_torch

def t2j(x_torch, device=None):
    x_torch = x_torch.contiguous()  # https://github.com/google/jax/issues/8082
    if device:
        x_torch = x_torch.to(device)
    x_jax = jax_dlpack.from_dlpack(torch_dlpack.to_dlpack(x_torch))
    return x_jax

More can be found here,
https://github.com/lucidrains/jax2torch/blob/main/jax2torch/jax2torch.py
https://github.com/facebookresearch/silk/blob/main/lib/utils/jax.py

dlpack transfer is possible when not under jit, which is the case for both jax2torch and silk (I believe).
The purpose of this package is to allow conversion under jit, which is a harder problem, but I'll look into it, thanks!

I'm going to leave this issue open until I can figure out how to use dlpack with jit.

I have it working under JIT using the code with the links provided above.
One additional change I made was to replace
y_, ctx.fun_vjp = jax.vjp(fn, *args)
vjp = jit(lambda *args: jax.vjp(function,*args))
y_, ctx.fun_vjp =vjp(fn, *args)

I can't get the transfer to work under jit in this example:
from __future__ import annotations

import numpy as np
import jax.dlpack
import torch
from torch import Tensor
import torch.utils.dlpack
from jax import Array

def transfer(x: Array | Tensor, via: str = "dlpack", device: str = "cuda"):
    assert via in ("dlpack", "cpu")
    if isinstance(x, Array):
        if via == "dlpack":
            return torch.utils.dlpack.from_dlpack(jax.dlpack.to_dlpack(x))
        else:
            return torch.as_tensor(np.array(x), device=device)
    else:
        if via == "dlpack":
            return jax.dlpack.from_dlpack(torch.utils.dlpack.to_dlpack(x))
        else:
            return jax.device_put(jax.array(x.detach().cpu().numpy()), device=device)

def f(x: Array) -> Array:
    device = "cuda"
    return transfer(torch.sum(transfer(x, via="dlpack", device=device)), via="dlpack", device=device)

r = jax.device_put(jax.numpy.ones(1000).astype(jax.numpy.float32), jax.devices("cuda")[0])

try:
    print(f(r))
    print("Untraced JAX function did work.")
except:
    print("Untraced JAX function did NOT work.")

try:
    print(jax.jit(f)(r))
    print("Traced JAX function did work.")
except:
    print("Traced JAX function did NOT work.")

which prints
1000.0
Untraced JAX function did work.
Traced JAX function did NOT work.

Let me know if you have an idea how to somehow call pure_callback (to be able to call pytorch code under JAX jit) with an alternative data serialization (not via CPU transfer, but dlpack instead).

You are trying to jit
transfer(torch.sum(transfer(x,
that definitely can't work as is, as it includes a pure call to a torch operator.
When I said I can get jit function to work, I mean I have a pure jax function(s), which is wrapped with jax2torch (as per links), then I call that wrapped function within PyTorch code. This works fine, and can pass gradients through in order to run optimisation. I have used this on a fairly complex model and there doesn't seem any obvious performance hit.
For your example above. At the every least, I think you would need to a wrapper which uses jax.pure_callback to "wrap" the PyTorch function called from within Jax (which is then jittable), then perhaps you could wrap this new "jax" function with jax2torch functionality. I sort of hope this might be possible, as long as all the gradients are properly handled, but no idea what the performance overhead might be from all this mixing.

Edit - I have just stumbled across this, which might make some things neater / easier
filter_pure_callback - Calls a Python function inside a JIT region. As jax.pure_callback but accepts arbitrary Python objects as inputs and outputs. (Not just JAXable types.) The result of callback(*args, **kwargs), valid for use under JIT.

I think that's right. I'm trying to dig into how JAX implements pure_callback. The problem with using pure_callback is that both the inputs and outputs will be sent to and from the CPU respectively, so any performance from using dlpack will be lost.
I think filter_pure_callback just filters out non-array-like arguments to convert them to static arguments, so it won't help here as we're fundamentally trying to support numerical data.

My apologies, I don't know how I missed that pure_callback executes on CPU, like any Python+NumPy function. So yes, obviously for calling PyTorch from inside JAX that isn't going to help.

I have some work in progress on a no-copy calling of pytorch from jax, include under JIT, you can check it out here:
https://github.com/rdyro/torch2jax


Hashnode Posts - No Drafts

Hi there,
I noticed when I use the hashnode command line argument in cross-post run <url> -p hashnode, it posts directly on Hashnode without first going to drafts.
I think this may be able to be solved with a tweak to the API call to Hashnode. I'd love to help on this issue so feel free to direct me to which files I should edit if you'd like me to help!
Best,
Max

My apologies, just realized after research this is due to the limitations of the Hashnode API. Perhaps when Hashnode's API has this public endpoint this could be updated!


Upgrade botocore to 1.5.13 in requirements.

This is needed for a new RDS parameter and also for DynamoDB

we should probably do this in setup.py to re min version, else its going to hit folks on pip install as well

Do you want to peg everything at a minimum version?  I just did boto3 for now because I wasn't aware of the others having a version incompatibility (but we do specify a min version in the requirements file)

just boto3/botocore is good, we don't have particular version reqs on other deps.


No submodule mapping found in .gitmodules for path 'merkle-patricia-proof'

Failed to load "merkle-patricia-proof" submodule.
Git clone command has the next output:
git clone --recursive https://github.com/loiluu/peacerelay.git Cloning into 'peacerelay'... remote: Counting objects: 426, done. remote: Total 426 (delta 0), reused 0 (delta 0), pack-reused 426 Receiving objects: 100% (426/426), 6.79 MiB | 977.00 KiB/s, done. Resolving deltas: 100% (251/251), done. Checking connectivity... done. fatal: no submodule mapping found in .gitmodules for path 'merkle-patricia-proof'
Or in the demo implementation the txProof is not supposed to be implemented?
And what is the best way to get Rlp header needed for PeaceRelay contract?

@khotkevych , I have the same problem.  Did you manage to find merkle-patricia-proof. I have an idea that we can use Zac Mitton's  https://github.com/zmitton/eth-proof/blob/master/verifyProof.js
and instead of getTxProof use eP.getTransactionProof(txHash).then((prf)=>{})
@naterush am I right? Thank you, guys.

@loiluu can you clarify the issue with merkle-patricia-proof when you'll have time?

@igorbarinov @khotkevych yep - we used a minorly modified version of Zac Mitton's library to generate the proofs, etc. I can't find locate our changes currently - but it was simple stuff mostly just decoding or encoding.
I would check out the Rinkeby Relay stuff here: https://github.com/ConsenSys/rb-relay. They made some progress on on-chain proof verification as well.


Develop a Jupyter notebook to demonstrate how to deploy and run the new extended BCDP application on ADES-HySDS

Develop demonstration notebook that deploys, runs, and monitors the new extended BCDP application on ADES-HySDS in U-SPS.  The WPS-T interfaces should be used in this demonstration (deploy, execute, getStatus, getResults).
This demonstration notebook should be written in a tutorial format and show how to BCDP can be used in 4 scenarios:

Regrid by itself
Resample by itself
Subset by itself
A combination of Regrid, Resample, and Subset as a single job.

Notebook is created to deploy and execute BCDP on U-SPS.
Demonstration notebook is at https://github.com/unity-sds/unity-analytics-bcdp/blob/main/demo/u-sps-example.ipynb.


New StringTimer/StringCounter Processor

Hi,
I have created two new processors "StringCounter" and "StringTimer" that are similar to the existing "BooleanTimer" & "BooleanCounter".
"StringCounter" counts every change in value of a given string field. A change is characterized by the value before and the value after the change, together forming a pair. The processor keeps track of the counter for each pair.
"StringTimer" returns the time for the value of a given String field to not change. However, this processor is similar in functionality to the existing "TaskDuration" processor, but in contrast not relying on timestamp field. Maybe we could merge them together?
Regards,
Felix

Hi Felix,
thanks for the pull request. It seems there went something wrong with the fork process. I have a lot of conflicts when I try to merge it. Can you please make a new pull request with your changes. The processors look good!


Explicit UTF-8 encoding for README.rst resolves ryanss/holidays.py#18

Resolves installation issue under Python 3.5

Used a different solution that was compatible with Python2 as well.
aa19794


neofetch --w3m in konsole became ascii

Im using manjaro OS  kde, I have installed w3m & imagemagick...
i have already change image_backend to w3m & image source to my images..
and when i type neofetch that became mess and looks like ascii...

can you help me thanks.

I have the same issue. Though interestingly enough, calling neofetch and ranger (in any order) seems to "corrupt" the terminal, depending on the image (see attachment).
Also not sure if it's intended, but absolute paths don't work (first log), even ~/... is taken relative.


Add entries from a blog about content discovery in API

Blog url.
It's about the discovering of API endpoint that provide configuration about features experimented using A/B testing.
Thank you very much in advance.

Thank you!

Thanks to you 😃


Decouple MothershipWorldProvider from WorldProviderOrbit

WorldProviderOrbit causes a lot of problems. Find a better way to do the zero-gravity stuff without relying on it.

Waiting for the backport of the GalactiCraft code where the Zero G code is moved out of WorldProviderOrbit


Improved setPrototypeOf reliability

This PR would like to fix the current behaviors for the not approximate version of the HELPER

avoid trashing the already available ExtendableBuiltin.prototype with a not so useful assignment via Object.create since every function prototype already have a not enumerable constructor
setPrototypeOf both function and its prototype
use a polyfilled setPrototypeOf also inside the constructor. Older browsers right now are checked for a __proto__ fallback only at class definition and then fail each instance creation.
do not convert arguments into array. It's a redundant operation that is not needed. If leaks are the reason for that, passing them not via an .apply operation would leak anyway so here we had leak + duplicated info.

If last point is because core.js does something weird please let me know and I'll update this PR.
Thank you for considering this update.

Right ... I have to be honest here: in which case the following would fail?
/**
 * Generate a helper that will explicitly set up the prototype chain manually
 * for each constructed instance.
 */
var buildHelper = (0, _babelTemplate2.default)(`
    function HELPER(cls){
        function ExtendableBuiltin(){
            // Not passing "newTarget" because core-js would fall back to non-exotic
            // object creation.
            var instance = Reflect.construct(cls, arguments);
            HELPER.setPrototypeOf(instance, Object.getPrototypeOf(this));
            return instance;
        }
        HELPER.setPrototypeOf(ExtendableBuiltin, cls);
        HELPER.setPrototypeOf(ExtendableBuiltin.prototype, cls.prototype);
        return ExtendableBuiltin;
    }
    HELPER.setPrototypeOf = Object.setPrototypeOf || function (o, p) { o.__proto__ = p; return o; };
`);

Or better, why are we setting a different constructor when all we need to do is inheriting that prototype?
We are returning a function that on its prototype constructor, is not the function itself.
Is that desired?
I've also tried this and it just works:
class List extends Array {
  constructor(...args) {
    super().push(...args);
  }
  push(...args) {
    super.push(...args);
    return this;
  }
}

const l = new List(1);
console.assert(l instanceof List, 'right constructor');
console.assert(l.constructor === List, 'same constructor');

Thanks for clarification.

Hello there.
After having a better look and realizing this transform wan't actually fixing any of my problems (Custom Elements still failing, Reflect used in the wild) I've taken the good hint of declaring globals through the .babelrc file and created a new transformer that apparently does work for me.
https://github.com/WebReflection/babel-plugin-transform-builtin-classes
Thanks for your project!


Remove compile-time deps from components

Removes compile deps from components and turn them into export.
The basic rules you can expect when changing a component from now on are:

Changes in the public API (props, slots, component type, etc.) trigger recompilation only of direct callers (no more transitive deps)
Other changes, including changes inside render/1, trigger recompilation only of the component itself
For macro components and components implementing transform/1, the behavior is exactly as an elixir macro, so it creates a compile dep which keeps track of transitive compile-time deps.

Wow, amazing :D This PR reduces in our project the compile-connected deps from 800+ to just 4!! 🎉
We can say definitly it fixes #552 😉

I just tried updating to 0.8.2, but I get these weird dialyzer errors:
lib/my_web/some_file.ex:1:pattern_match
The pattern can never match the type.

Pattern:
false

Type:
true

I tried resetting the cache but it didn't help. Any idea?

Maybe it's because of the following new code?
    imports_block =
       quote do
         if true do
           unquote(imports)
         end
       end

The if block there is just a simple way to scope the imports so they don't leak to the rest of the module. We just want to make sure we create the export dependencies there. We don't need to actually import anything. I guess I'll have to replace that with something else that can satisfy dialyzer.
Any suggestion? I don't use dialyzer at all :)

Hmm... removing that if statement does not resolve the issue and I can't reproduce it in a new repo. Have to investigate this further... Makes me want to drop dialyzer altogether 😂

See #654, it's introduced in a commit before this PR


Orchard Core Commerce MVP planning and survey

Hi everyone, we are almost ready to kick off the Orchard Core Commerce MVP development here at Lombiq (see the announcement about the stewardship here). I'd like to ask everyone who's planning to build an e-commerce website using the Orchard Core Commerce module to take this short survey and let us know what features you'd need the most so that we can focus on the important things first.
Survey: https://forms.office.com/r/TrE86CMbz2

Can you release before 2025?

Yes, we can release it before 2025. :)

Check out this discussion for the results and followup.
Note that the MVP is for short term goals (e.g. within the year). Plenty more can still happen until 2025.


New AI Sample for Enabling Auto-Mixed Precision for Transfer Learning with TensorFlow

Adding a New Sample(s)
Description
This tutorial guides you through the process of enabling auto-mixed precision to use low-precision datatypes, like bfloat16, for transfer learning with TensorFlow* (TF).
This sample demonstrates the end-to-end pipeline tasks typically performed in a deep learning use-case: training (and retraining), inference optimization, and serving the model with TensorFlow Serving.
Please include a description of the sample
Checklist
Administrative

[x] Review sample design with the appropriate Domain Expert:
[x] If you have any new dependencies/binaries, inform the oneAPI Code Samples Project Manager

Code Development

[x] Implement coding guidelines and ensure code quality. see wiki for details
[x] Adhere to readme template
[ ] Enforce format via clang-format config file
[x] Adhere to sample.json specification. https://github.com/oneapi-src/oneAPI-samples/wiki/sample-json-specification
[ ] Ensure/create CI test configurations for sample (ciTests field) https://github.com/oneapi-src/oneAPI-samples/wiki/sample-json-ci-test-object
[ ] Run jsonlint on sample.json to verify json syntax. www.jsonlint.com

Security and Legal

[x] OSPDT Approval (see Project Manager for assistance)
[ ] Compile using the following compiler flags and fix any warnings, the falgs are: "/Wall -Wformat-security -Werror=format-security"
[x] Bandit Scans (Python only)
[ ] Virus scan

Review

[ ] Review DPC++ code with Paul Peterseon. (GitHub User: pmpeter1)
[ ] Review readme with Tom Lenth(@tomlenth) and/or Project Manager
[ ] Tested using Dev Cloud when applicable

Add @othakkar as the sample author

Added @ishaghosh27 to review the READMEs.

@jimmytwei
Any CI/CD issue/AR for this PR?


Is it possible to improve the start-up time of the new CRC instance?

I am not sure if it is possible to improve the start-up time during which the CRC instance is starting.
Right now in a scenario where the CRC cluster is created for testing applications after each pull request, it is taking about 25 minutes before the OCP is ready for operation.
Is it possible to improve the start-up time in future releases?

it is taking about 25 minutes before the OCP is ready for operation.

@rludva This should not be the case, can you provide bit more details why it is taking 25 mins, from fresh install it shouldn't take more than 10mins. Is this for an older release of crc or newer one?

It is for a new release but starting on OpenStack in a virtual machine. Probably more resource is important for the machine, like CPU/memory or there is some kind of network issue that slows down. We have to investigate more then.

The additional start-up time was probably caused by adding an insecure registry which takes around 10 minutes to reconcile everything. This script adds the stuff after crc start.


Cards visibily resizing

Is it normal to see all the cards resizing when you open any dashboard or refresh the page?

this theme is old
anyway send a screenshot/video recording

If I remove this, then it works fine
 card-mod-card: |
    ha-card {
      margin: 20px;
      border-radius: 15px;
    }

sounds like an issue with card-mod


Fix invocation of npm on Windows (close #50)

@plampila, could you test this for me?

Works for me (on Windows 10 for the record). Thanks!


Distributed channel needs to handle changing the authSecretName/authSecretNamespace

Describe the bug
After the update for issue #602 (PR #603), the name of the single secret is given in the config-kafka configmap via the authSecretName and authSecretNamespace fields in the eventing-kafka.kafka section.  As long as this secret name is the same as whatever the cluster admin has been using prior to this update, there will be no trouble.  However, if the admin changes this authSecretName (either implicitly by using a different secret name than the default of 'kafka-cluster' before the upgrade, or explicitly by changing the authSecretName in the configmap of a live system), a new Receiver deployment and service will be created, which will be used for any new KafkaChannel reconciliations, but existing KafkaChannel services will NOT be adjusted to use the new Receiver Service.  The old Receiver deployment and service will remain and will be functional as long as the old secret is in place, but are orphaned and the migration and cleanup must be done manually.
Expected behavior
Changing the authSecretName in the config-kafka configmap should result in either:

A new Receiver Service and Deployment are created and an automatic migration of existing KafkaChannel Services to use the new externalName, OR
The existing Receiver Service and Deployment should continue to be the only ones, and no migration is necessary

The difference between those two approaches is that for the former, the name of the Receiver is still based on the name of the Secret.  This allows old installations to continue to work without changes but requires the migration code whenever the secret name is changed.  For the latter, there should be one constant name for the Receiver Service and Deployment (e.g. "kafka-cluster-receiver") to which all KafkaChannel Services always point.
The second method is the idea solution but still involves a necessary migration step to move existing KafkaChannel Services to the new one.  Theoretically, we should be able to create the new, constant-name service/deployment and run the migration without any downtime, and then delete the old service/deployment after the KafkaChannels are all migrated.
To Reproduce
Set up an existing distributed-channel system (with KafkaChannels) using a secret named 'eventing-kafka-secret', then upgrade to a version that includes the code from PR #603.  Note that a new Receiver Service/Deployment is created named 'kafka-cluster-32603413-receiver' and that new KafkaChannel Services have 'externalName: kafka-cluster-32603413-receiver.knative-eventing.svc.cluster.local' in their spec.  Old KafkaChannels will be pointing to the one named 'eventing-kafka-secret-ed340a19-receiver.knative-eventing.svc.cluster.local' and are never updated unless destroyed and recreated.
Knative release version
0.22.1
Additional context
This should be addressed before it becomes likely that someone will change the authSecretName for a distributed-channel installation and cause confusion.

/reopen
Still an issue, just .. busy

/remove-lifecycle stale

/remove-lifecycle stale