Environment names can't contain only integer

Describe the Bug
Using an environment name composed only of numeric characters makes the catalog compilation fail.
The puppet documentation explains that environment names can contain lowercase letters, numbers and underscores. It does not prohibit the use of numeric characters only.
When using an environment like 42, we get ruby stacktrace like this one:
2024-01-23T11:02:48.938+01:00 ERROR [qtp472974372-11877] [puppetserver] Puppet Server Error: undefined method `match' for 42:Integer
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/node/environment.rb:127:in `valid_name?'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:90:in `uri2indirection'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:35:in `call'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/server/v3.rb:17:in `block in wrap'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:82:in `block in process'
org/jruby/RubyArray.java:1865:in `each'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `process'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:86:in `block in process'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:69:in `block in with_request_profiling'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:65:in `with_request_profiling'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:85:in `block in process'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:92:in `respond_to_errors'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:84:in `process'
uri:classloader:/puppetserver-lib/puppet/server/master.rb:69:in `block in handleRequest'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:289:in `override'
uri:classloader:/puppetserver-lib/puppet/server/master.rb:68:in `handleRequest'

Expected Behavior
An environment name composed only of numeric characters should be valid.
Steps to Reproduce
Steps to reproduce the behavior:

Create a puppet environment with only numeric characters (eg.: 42)
run puppet agent -t --environment 42
get the error described above on the puppetserver.

Environment

puppetserver Version 7.14.0-1buster
Platform Debian buster

Additional Context
We are deploying environments from a Gitlab repository with r10k.
GitLab uses the default pattern %{id}-%{title} when creating a branch from an issue.
If we want keep branch names equals to environment names (i.e. without hyphens), the easy solution is to replace the pattern with %{id} only. Otherwise the spaces and special characters in %{title} xould be converted to hyphens.
Using this workflows, we end up with some numeric only branches/puppet environments.
According to puppet documentation, this shouldn't have been a problem.
A pull-request to fix this in on the way.

workaround: use letters in branch name prefix : eg. using pattern: br%{id}

Hi @saimonn, thank you for reporting this issue! The team agrees this is a valid issue, we do not anticipate addressing this any time soon due to other issues demanding precedence. However, this is on the team's radar.

Until this issue is addressed, should we update the documentation to reflect this restriction on environment names ?


How to include this library in react-native project

i have installed this library using the npm command you have given. But how to import it into the class.

Well, it should actually be as simple as import geolib from 'geolib' - i haven't worked with react-native yet but it should work fine, i guess


[Master] Bump Mesos to include SSL environment variable renamings.

High-level description
This is a preparatory change for the corresponding EE PR.
Corresponding DC/OS tickets (required)

DCOS-59098 Frameworks using libmesos1.8 and container networking may fail TLS hostname validation

Related tickets (optional)

DCOS-ID JIRA title / short description.

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain.
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

@mesosphere-mergebot label Ready for Review

@mesosphere-mergebot sync

@mesosphere-mergebot sync


Persist dismissing the OTLP unsecured message bar

Description
Running the dashboard without OTLP auth will display a warning message bar. The message bar can be dismissed, but it reappears if the browser is refreshed.
It is annoying to repeatedly show the message to a user who has already seen the warning. They either have to close the message every time, or accept it is always visible.
This PR:

Persists a flag to local storage when the message bar is dismissed
Doesn't display message bar if previously dismissed
Centralizes browser storage keys
Adds tests

Note that the warning displayed in console logs on startup isn't impacted. It's always displayed.
Checklist

Is this feature complete?

[x] Yes. Ready to ship.
[ ] No. Follow-up changes expected.

Are you including unit tests for the changes and scenario tests if relevant?

[x] Yes
[ ] No

Did you add public API?

[ ] Yes

If yes, did you have an API Review for it?

[ ] Yes
[ ] No

Did you add <remarks /> and <code /> elements on your triple slash comments?

[ ] Yes
[ ] No

[x] No

Does the change make any security assumptions or guarantees?

[ ] Yes

If yes, have you done a threat model and had a security review?

[ ] Yes
[ ] No

[x] No

Does the change require an update in our Aspire docs?

[ ] Yes

Link to aspire-docs issue:

[x] No

/azp run

/azp run

/azp run


Added area drawing

man you are on fire :fire:

Naah, this one was easier :-)

haha, nice; I have loads of work until Thursday so I will not be able to merge this until then.

No problem !

Awesome, very nice work! if we can resolve the Failed to parse string this is ready to merge.


Drop through2

Ref https://github.com/rvagg/through2#do-you-need-this
Node builtin stream.PassThrough handles same functionality just fine on
node 8+. Two dependencies (also readable-stream) can be dropped.

Thanks here, too! Released under 4.1.3.


[gql_build] Build data for Mutations

As you can see here, we are currently only building data classes for Querys, not Mutations.

{ fooBar } is a valid query and then the operation type (I think) is null

Actually, shouldn't the operation type in that case be query?

closed in #41


spdm_get_measurements returning spdm_error (ErrCode=0x01)

When running the default setting of the spdm emulator, it appears that spdm runs the SPDM_GET_MEASUREMENTS command for each certificate in the slot id (MeasOp=0x00 through MeasOp=0xfe). However, for the majority of the get_measurement operations, the responder returns the SPDM_ERROR message (i.e. lines 52, 54, 56).

41<PHONE_NUMBER>) MCTP(5) REQ->RSP SPDM(12, 0xe0) SPDM_GET_MEASUREMENTS (Attr=0x00(), MeasOp=0x00(TotalNum))
42<PHONE_NUMBER>) MCTP(5) RSP->REQ SPDM(12, 0x60) SPDM_MEASUREMENTS (TotalMeasIndex=0x07)
43<PHONE_NUMBER>) MCTP(5) REQ->RSP SPDM(12, 0xe0) SPDM_GET_MEASUREMENTS (Attr=0x00(), MeasOp=0x01)
44<PHONE_NUMBER>) MCTP(5) RSP->REQ SPDM(12, 0x60) SPDM_MEASUREMENTS (NumOfBlocks=0x1, MeasRecordLen=0x47)
45<PHONE_NUMBER>) MCTP(5) REQ->RSP SPDM(12, 0xe0) SPDM_GET_MEASUREMENTS (Attr=0x00(), MeasOp=0x02)
46<PHONE_NUMBER>) MCTP(5) RSP->REQ SPDM(12, 0x60) SPDM_MEASUREMENTS (NumOfBlocks=0x1, MeasRecordLen=0x47)
47<PHONE_NUMBER>) MCTP(5) REQ->RSP SPDM(12, 0xe0) SPDM_GET_MEASUREMENTS (Attr=0x00(), MeasOp=0x03)
48<PHONE_NUMBER>) MCTP(5) RSP->REQ SPDM(12, 0x60) SPDM_MEASUREMENTS (NumOfBlocks=0x1, MeasRecordLen=0x47)
49<PHONE_NUMBER>) MCTP(5) REQ->RSP SPDM(12, 0xe0) SPDM_GET_MEASUREMENTS (Attr=0x00(), MeasOp=0x04)
50<PHONE_NUMBER>) MCTP(5) RSP->REQ SPDM(12, 0x60) SPDM_MEASUREMENTS (NumOfBlocks=0x1, MeasRecordLen=0x47)
51<PHONE_NUMBER>) MCTP(5) REQ->RSP SPDM(12, 0xe0) SPDM_GET_MEASUREMENTS (Attr=0x00(), MeasOp=0x05)
52<PHONE_NUMBER>) MCTP(5) RSP->REQ SPDM(12, 0x7f) SPDM_ERROR (ErrCode=0x01, ErrData=0x00)
53<PHONE_NUMBER>) MCTP(5) REQ->RSP SPDM(12, 0xe0) SPDM_GET_MEASUREMENTS (Attr=0x00(), MeasOp=0x06)
54<PHONE_NUMBER>) MCTP(5) RSP->REQ SPDM(12, 0x7f) SPDM_ERROR (ErrCode=0x01, ErrData=0x00)
55<PHONE_NUMBER>) MCTP(5) REQ->RSP SPDM(12, 0xe0) SPDM_GET_MEASUREMENTS (Attr=0x00(), MeasOp=0x07)
56<PHONE_NUMBER>) MCTP(5) RSP->REQ SPDM(12, 0x7f) SPDM_ERROR (ErrCode=0x01, ErrData=0x00)

I have a few concerns regarding this issue. What is ErrCode 0x01 and why is the responder returning the SPDM_ERROR message? Also, based on my understanding of the SPDM spec, the protocol should be able to retrieve a specific measurement in the slot id. Is there a command in the user tools to do this, and if not, is there a reason why the emulator retrieves all of the measurements?

@m8jin This is expected behavior in one-by-one mode as the Requester doesn't know which measurement indices are valid. So it sweeps through all the indices, some of which may return an ERROR response. If you think it might be beneficial we could allow measurements from a single index, or a set of indices. If so, please file a feature request in this repository.

Closing for now. @m8jin if you'd like to further refine this please file a new issue.


Libvcx/minimize api c

Improvements in libvcx triggered working on https://github.com/hyperledger/aries-vcx/pull/665

make feature libvcx_c default
minimize responsibility of api_c - move logic of reading CONFIG_INSTITUTION_DID from api_c to api_vcx
change FFI signature of vcx_credentialdef_create_v2 by removing its issuer_did: *const c_char argument - this is inconsistent with all the other APIs which load the did from setting CONFIG_INSTITUTION_DID - technically a breaking change, but holistically the argument didn't have usecase, nobody should be impacted.
shorten test test_release_all
do not return unnecessary error::SUCCESS_ERR_CODE codes from api_vcx layer - this was a leftover of past where today's api_c and api_vcx were tied much closer together
all update_state* methods in api_vcx return new state on success
reuse state value returned by update_state in update_state* methods in api_c

Codecov Report

Merging #711 (53471b2) into main (3f58f4c) will decrease coverage by 2.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #711      +/-   ##
==========================================
- Coverage   64.19%   62.14%   -2.06%
==========================================
  Files         246      246
  Lines       22899    22899
  Branches     5086     5091       +5
==========================================
- Hits        14701    14230     -471
- Misses       4063     4760     +697
+ Partials     4135     3909     -226

Flag
Coverage Δ

unittests-aries-vcx
62.02% <ø> (-2.05%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ies_vcx/src/core/profile/modular_wallet_profile.rs
0.00% <0.00%> (-76.48%)
:arrow_down:

aries_vcx/src/utils/json.rs
0.00% <0.00%> (-66.67%)
:arrow_down:

aries_vcx/src/plugins/anoncreds/credx_anoncreds.rs
13.17% <0.00%> (-51.19%)
:arrow_down:

aries_vcx/src/plugins/wallet/base_wallet.rs
0.00% <0.00%> (-42.86%)
:arrow_down:

aries_vcx/src/plugins/wallet/indy_wallet.rs
24.71% <0.00%> (-31.47%)
:arrow_down:

aries_vcx/src/plugins/ledger/indy_vdr_ledger.rs
13.98% <0.00%> (-29.47%)
:arrow_down:

aries_vcx/src/errors/mapping_credx.rs
0.00% <0.00%> (-27.28%)
:arrow_down:

aries_vcx/src/utils/devsetup.rs
66.02% <0.00%> (-7.73%)
:arrow_down:

aries_vcx/src/indy/wallet.rs
32.00% <0.00%> (-6.47%)
:arrow_down:

aries_vcx/tests/utils/devsetup_agent.rs
68.79% <0.00%> (-3.88%)
:arrow_down:

... and 5 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@gmulhearn thanks for review! Please go ahead and merge (Squash and merge) if you are okay with my responses above :-)

Hey @Patrik-Stas , looks good. I would merge however github won't let me:

haven't seen this before... is it a glitch?

@gmulhearn ahh I see. I changed laptop and haven't setup gpg commit signing which is set as required on the repo

@gmulhearn signed all commits, should work now


dirty

Trying to chase down whatever is leaving open file descriptors in the test runs.

Looks like RPC test failures are present on the base trinity branch....


Array editor for attachment field in Send email changes to advanced view

Describe the Bug with repro steps
More details here: Bug 29031182: [v3] [LAUX] Array editor for attachment field in Send email changes to advanced view
What type of Logic App Is this happening in?
Consumption (Portal)
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
No response
Screenshots or Videos
No response
Browser
Chrome
Additional context
No response

@hartra344 Is this something the team will be taking on? I want to make sure we don't duplicate work so wanted an explicit ack if this won't be tackled by LAUX team soon.

I think this might have been a regression that has happened when PA moved the serializing array editor to not include quotes if value is just a token https://github.com/Azure/LogicAppsUX/pull/4670. The issue is that it is broken in our deserializing logic because it depends on these quotes in our json parse logic.

I think PA should take first pass just due to time constraints on LAUX side, but I think we can just wrap single tokens with quotes when deserializing so that the parse still works

That makes a lot of sense. Thank you for the pointers! We will have someone on PAuto address this.


Task done

Issue: 47

@akshatsgh Few changes-

The shares allotted to each of the wallet addresses are incorrect.
The value of 'growEditionSizeTo' is incorrect, that is, you haven't generated the required number of NFTs.

@Tan-Code-may made changes

@akshatsgh Nice work!


Use "Spec" terms instead of Problem / Generator / Runner

In the effort of making tcframe more "declarative" style, do this:

BaseProblem -> BaseProblemSpec
BaseGenerator -> BaseTestSpec
runner.hpp -> spec.hpp
Remove the need of having a main() function in a runner program
Call the program a "spec file" instead of a "runner program"

Already done in many commits.


Failing Example: Add fixture for DM with invalid unicode

This is an example in reference to https://github.com/sferik/twitter/issues/849
This is not intended to be merged without an additional fix.

While I'm sure Travis will show the errors, here's the Rspec failures i'm getting
Failures:

  1) Twitter::REST::DirectMessages#direct_messages_received requests the correct resource
     Failure/Error: response_body = response.body.empty? ? '' : symbolize_keys!(response.parse)

     JSON::ParserError:
       468: incomplete surrogate pair at '\ud83d..."}]
       '
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:335:in `load'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/mime_type/json.rb:17:in `decode'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/response.rb:141:in `parse'
     # ./lib/twitter/rest/request.rb:37:in `perform'
     # ./lib/twitter/rest/utils.rb:50:in `perform_request'
     # ./lib/twitter/rest/utils.rb:95:in `perform_request_with_objects'
     # ./lib/twitter/rest/utils.rb:80:in `perform_get_with_objects'
     # ./lib/twitter/rest/direct_messages.rb:28:in `direct_messages_received'
     # ./spec/twitter/rest/direct_messages_spec.rb:13:in `block (3 levels) in <top (required)>'

  2) Twitter::REST::DirectMessages#direct_messages_received returns the 20 most recent direct messages sent to the authenticating user
     Failure/Error: response_body = response.body.empty? ? '' : symbolize_keys!(response.parse)

     JSON::ParserError:
       468: incomplete surrogate pair at '\ud83d..."}]
       '
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:335:in `load'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/mime_type/json.rb:17:in `decode'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/response.rb:141:in `parse'
     # ./lib/twitter/rest/request.rb:37:in `perform'
     # ./lib/twitter/rest/utils.rb:50:in `perform_request'
     # ./lib/twitter/rest/utils.rb:95:in `perform_request_with_objects'
     # ./lib/twitter/rest/utils.rb:80:in `perform_get_with_objects'
     # ./lib/twitter/rest/direct_messages.rb:28:in `direct_messages_received'
     # ./spec/twitter/rest/direct_messages_spec.rb:17:in `block (3 levels) in <top (required)>'

  3) Twitter::REST::DirectMessages#direct_messages_sent requests the correct resource
     Failure/Error: response_body = response.body.empty? ? '' : symbolize_keys!(response.parse)

     JSON::ParserError:
       468: incomplete surrogate pair at '\ud83d..."}]
       '
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:335:in `load'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/mime_type/json.rb:17:in `decode'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/response.rb:141:in `parse'
     # ./lib/twitter/rest/request.rb:37:in `perform'
     # ./lib/twitter/rest/utils.rb:50:in `perform_request'
     # ./lib/twitter/rest/utils.rb:95:in `perform_request_with_objects'
     # ./lib/twitter/rest/utils.rb:80:in `perform_get_with_objects'
     # ./lib/twitter/rest/direct_messages.rb:46:in `direct_messages_sent'
     # ./spec/twitter/rest/direct_messages_spec.rb:29:in `block (3 levels) in <top (required)>'

  4) Twitter::REST::DirectMessages#direct_messages_sent returns the 20 most recent direct messages sent by the authenticating user
     Failure/Error: response_body = response.body.empty? ? '' : symbolize_keys!(response.parse)

     JSON::ParserError:
       468: incomplete surrogate pair at '\ud83d..."}]
       '
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:335:in `load'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/mime_type/json.rb:17:in `decode'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/response.rb:141:in `parse'
     # ./lib/twitter/rest/request.rb:37:in `perform'
     # ./lib/twitter/rest/utils.rb:50:in `perform_request'
     # ./lib/twitter/rest/utils.rb:95:in `perform_request_with_objects'
     # ./lib/twitter/rest/utils.rb:80:in `perform_get_with_objects'
     # ./lib/twitter/rest/direct_messages.rb:46:in `direct_messages_sent'
     # ./spec/twitter/rest/direct_messages_spec.rb:33:in `block (3 levels) in <top (required)>'

  5) Twitter::REST::DirectMessages#direct_messages without ids passed returns the 20 most recent direct messages sent to the authenticating user
     Failure/Error: response_body = response.body.empty? ? '' : symbolize_keys!(response.parse)

     JSON::ParserError:
       468: incomplete surrogate pair at '\ud83d..."}]
       '
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:335:in `load'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/mime_type/json.rb:17:in `decode'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/response.rb:141:in `parse'
     # ./lib/twitter/rest/request.rb:37:in `perform'
     # ./lib/twitter/rest/utils.rb:50:in `perform_request'
     # ./lib/twitter/rest/utils.rb:95:in `perform_request_with_objects'
     # ./lib/twitter/rest/utils.rb:80:in `perform_get_with_objects'
     # ./lib/twitter/rest/direct_messages.rb:28:in `direct_messages_received'
     # ./lib/twitter/rest/direct_messages.rb:94:in `direct_messages'
     # ./spec/twitter/rest/direct_messages_spec.rb:80:in `block (4 levels) in <top (required)>'

  6) Twitter::REST::DirectMessages#direct_messages without ids passed requests the correct resource
     Failure/Error: response_body = response.body.empty? ? '' : symbolize_keys!(response.parse)

     JSON::ParserError:
       468: incomplete surrogate pair at '\ud83d..."}]
       '
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:156:in `parse'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/json-2.1.0/lib/json/common.rb:335:in `load'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/mime_type/json.rb:17:in `decode'
     # /Users/dfisher/.rvm/gems/ruby-2.2.2/gems/http-2.2.2/lib/http/response.rb:141:in `parse'
     # ./lib/twitter/rest/request.rb:37:in `perform'
     # ./lib/twitter/rest/utils.rb:50:in `perform_request'
     # ./lib/twitter/rest/utils.rb:95:in `perform_request_with_objects'
     # ./lib/twitter/rest/utils.rb:80:in `perform_get_with_objects'
     # ./lib/twitter/rest/direct_messages.rb:28:in `direct_messages_received'
     # ./lib/twitter/rest/direct_messages.rb:94:in `direct_messages'
     # ./spec/twitter/rest/direct_messages_spec.rb:76:in `block (4 levels) in <top (required)>'

Finished in 3.46 seconds (files took 0.69224 seconds to load)
1024 examples, 6 failures

Failed examples:

rspec ./spec/twitter/rest/direct_messages_spec.rb:12 # Twitter::REST::DirectMessages#direct_messages_received requests the correct resource
rspec ./spec/twitter/rest/direct_messages_spec.rb:16 # Twitter::REST::DirectMessages#direct_messages_received returns the 20 most recent direct messages sent to the authenticating user
rspec ./spec/twitter/rest/direct_messages_spec.rb:28 # Twitter::REST::DirectMessages#direct_messages_sent requests the correct resource
rspec ./spec/twitter/rest/direct_messages_spec.rb:32 # Twitter::REST::DirectMessages#direct_messages_sent returns the 20 most recent direct messages sent by the authenticating user
rspec ./spec/twitter/rest/direct_messages_spec.rb:79 # Twitter::REST::DirectMessages#direct_messages without ids passed returns the 20 most recent direct messages sent to the authenticating user
rspec ./spec/twitter/rest/direct_messages_spec.rb:75 # Twitter::REST::DirectMessages#direct_messages without ids passed requests the correct resource


[Feature] Sentinel starter support parameter flow control

include 3 steps.

adding sentinel-parameter-flow-control dependency in spring-cloud-alibaba-sentinel module.
automatically convert ParamFlowRule  in JsonConverter and XmlConverter of spring-cloud-alibaba-sentinel-datasource module.
add ParamRules in actuator endpoint

Related to https://github.com/alibaba/Sentinel/issues/273, please also add support for parameter rules in actuator endpoint.

This issue will be closed when Sentinel 1.4.0 release because @SentinelResource is not supported with ParamFlowRule before 1.4.0 release.


[MM-49921] Cloud export compliance

Summary
Adds a new generic AddressForm component that powers entering a shipping address in the payment modal. Upon receiving a compliance failed code of 422 from the backend while upgrading plans, a purchase pending modal will be displayed. Subsequent visits to the purchase modal will display that same pending screen, until the compliance screen has been manually acted upon on our side.

Ticket Link
https://mattermost.atlassian.net/browse/MM-49921
Related Pull Requests

Has server changes (please link here)
Has mobile changes (please link here)

Screenshots

Release Note

none

E2E tests not automatically triggered, because PR has no approval yet. Please ask a developer to review and then try again to attach the QA label.

/update-branch

Good stuff @nickmisasi -- let's re-use the copy from here: https://mattermost.atlassian.net/browse/MM-49496?focusedCommentId=140976 to keep things consistent

Looks great!

@nickmisasi here's an example in terms of size of illustration and width of body copy text https://www.figma.com/file/Aob5ffHtfjKzQoebR93ycA/Cloud-Freemium?node-id=508%3A436984&t=MqtksV0Hnsp90QMH-1
the illustration you have seems to have her arm cut out - can we fix that? let me know if you need a new illustration
see here for how the checkbox item should look like in terms of sizing and font: https://www.figma.com/file/HU7OqEjUyvfqe5vOY0Ice7/Untitled?node-id=0%3A35228&t=ZSfhNAzuocPpZJ1k-1

@annelieseklein
I've set a max-width of 560px on the IconMessage component. Note that this will take effect for all occurrences of this component like the upgrade success/failure screen, downgrade success/failure screen, etc.

I used this illustration https://www.figma.com/file/GtAkFsG8unkQkcIudmAJwE/Export-Compliance?node-id=65%3A1346&t=NDQmUeVCjX0LMWqe-4 which is what we currently have in the portal. If you'd like something else just shoot me a link
I'll get the checkbox styling cleaned up and get back to you

@neallred I updated the subscribeCloudSubscription to optionally take the shipping address since downgrades/monthly won't actually need to provide this information.
Going to wait on Anneliese before looking into the SVG size
Otherwise I think I've addressed everything


[proposal] Separate RuntimeProxy into a separate module

What is your proposal:
RuntimeProxy was incubated in an experimental manner. After several versions of iterative development, it has basically matured. In order to better match its own development requirements, Runtimeproxy was separated into an independent module.
Why is this needed:
Runtimeproxy is an optional module. The installation and operation and maintenance costs of the component are high. There is still a lack of complete operation and maintenance solutions, which will be a problem for most users. Putting it in an independent repo is conducive to independent iterative evolution, including improving operation and maintenance capabilities.

[x] Adjust the description of installation documentation
[ ] Moving codes to a seperated repo
[ ] Removing codes from the main repo

https://github.com/koordinator-sh/website/pull/152

After adjusting the document, observe it for a period of time before determining whether the code needs to be stripped.


[Documentation] In TF 1.13.1, tf.keras.experimental.export does not exist despite being documented

URL(s) with the issue:
https://www.tensorflow.org/versions/r1.13/api_docs/python/tf/keras/experimental/export
Description of issue (what needs changing):
Ok, so let's say for some arbitrary reason out of your control (cough sagemaker cough) you are pegged to TensorFlow <= 1.13.1. The cool new tf.keras.experimental.export feature looks a lot easier than building all that stuff yourself, so you go to try and use it.
Unfortunately, you get hit with the following error:
Traceback (most recent call last):
  File "documented_example.py", line 10, in <module>
    saved_to_path = tf.keras.experimental.export(
AttributeError: 'module' object has no attribute 'export'

Correct links
It is not -- the part that is Defined in tensorflow/python/keras/saving/saved_model.py. links to https://github.com/tensorflow/tensorflow/blob/r1.13/tensorflow/python/keras/saving/saved_model.py which gets a 404!
Parameters defined
Probably.
Returns defined
Very possible
Raises listed and defined
Yep.
Usage example
Yes! In fact, it doesn't work.
For posterity here's that usage example copy-pasted into a Github gist: https://gist.github.com/zmjjmz/fcc73dad9f49d34f9c047c108fdd0e3f
Submit a pull request?
Nope.

I think the issue is that the newer version (r1.14) has this module but when the release was cut for 1.14, some changes were backported to r1.13 API documentation?

I was thinking that, but the difference between the documentation for 1.13's tf.keras.experimental.export and 1.14's tf.keras.experimental.export_saved_model is pretty significant.

Hi There,
We are checking to see if you still need help on this, as you are using an older version of tensorflow which is officially considered end of life . We recommend that you upgrade to the latest 2.x version and let us know if the issue still persists in newer versions. Please open a new issue for any help you need against 2.x, and we will get you the right help.
This issue will be closed automatically 7 days from now. If you still need help with this issue, please provide us with more information.


CTPageMar not found

use your jar ,I found CTPageMar not found,   how do I  ？

Unfortunately this class seems to be not included in the reduced poi-ooxml-schemas jar of Apache POI as it is not used by POi directly in that version.
See http://poi.apache.org/components/index.html and look for "poi-ooxml-schemas" for some additional information about this.
I don't know enough about Android development and Jar-packaging to say how you can get this class included, but you likely need to rebuild the shaded jar with the missing classes included from the full "ooxml-schemas" jar.

Thank you for your reply.

Closing for now, will be fixed when this project can upgrade to Apache POI 4.x, however unfortunately every attempt so far failed with some strange Android related problem, so I am a bit stuck there unless someone with more knowledge than me can step in and fix this.


chore(package): update semantic-release to version 12.2.4

Closes #169

:tada: This PR is included in version 2.3.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Ionic 4 cli installation error

Bug Report
Ionic version:

[x] 4.x
Current behavior:

Trying to install ionic 4 with command "npm install -g ionic"
on windows 10 machine
Ive nodejs 10.15.3, latest cordova installed.
im getting error:
npm ERR! Unexpected end of JSON input while parsing near '...153","tarball":"https'

Expected behavior:

it shoud install ionic cli
Steps to reproduce:
just running command "npm install -g ionic"
Related code:
Ivr tried fetching https://registry.npmjs.org/ionic json from browser and it looks ok for me.
Please help what could be the issue.

running "npm cache clean --force" solved it


Including super-types of proxy models

Hi,
I am not sure if this is an issue or not. I have investigated if there are existing open or closed issues about this and have searched the docs to see if this is 'desired' behaviour, but I can't find an answer.
The issue I am seeing is that the querysets returned by 'proxy' sub-types includes objects from the super type.
For example, if I have the following models:
class Drink(PolymorphicModel):
    name = models.CharField(max_length=50)
    colour = models.CharField(max_length=50)

    def __str__(self):
        return self.name

class AlcoholicDrink(Drink):
    strength = models.FloatField()

class HotDrink(Drink):
    class Meta:
        proxy = True

    def __str__(self):
        return '{}, really gets you going!'.format(self.name)

And I create the following objects:

Drinks => Water, Coke
HotDrinks => Coffee
AlcoholicDrinks => Beer

Via shell:
>>> Drink.objects.create(name='Water', colour='Clear')
<Drink: Water>

>>> Drink.objects.create(name='Coke', colour='Black')
<Drink: Coke>

>>> HotDrink.objects.create(name='Coffee', colour='Black')
<HotDrink: Coffee, really gets you going!>

>>> AlcoholicDrink.objects.create(name='Beer', colour='Golden', strength=6.7)
<AlcoholicDrink: Beer>

And then I query the various sets:
>>> Drink.objects.all()
[<Drink: Water>, <Drink: Coke>, <HotDrink: Coffee, really gets you going!>, <AlcoholicDrink: Beer>]

... correctly returns all the drinks with their types resolved

>>> AlcoholicDrink.objects.all()
[<AlcoholicDrink: Beer>]

... correctly returns the sub-types from AlcholicDrinks

However, if I query on the 'HotDrinks' type, I get all of the 'Drinks' instead of just the 'HotDrinks':
>>> HotDrink.objects.all()
[<Drink: Water>, <Drink: Coke>, <HotDrink: Coffee, really gets you going!>, <AlcoholicDrink: Beer>]

I can get around this by using the following:
>>> HotDrink.objects.instance_of(HotDrink)
[<HotDrink: Coffee, really gets you going!>]

Is this an issue (it seems like an issue to me)? Or is it by design?

I'm happy to look into fixing it if it is, just keen to not waste time if it isn't an issue.

Hi! It would be wonderful if you can look into this - this is definitely a good enhancement to have.
one of my packages (django-fluent-pages) is also bitten by this issue, where the objects could easily by proxy models, except for the manager filtering.


PublisherExampleSwiftUI project has dependency conflicts

While running the PublisherExampleSwiftUI.xcodeproj, I've run into problems while Swift Package Manager's dependencies were being resolved. Resetting the cache, cleaning the project's build folder, cleaning derived data and even cloning the whole project to a new folder has not helped.
What did help however was reverting the MapboxNavigation's dependency version to:
        .package(name: "MapboxNavigation", url: "https://github.com/mapbox/mapbox-navigation-ios.git", from: "2.3.0"),

We've bumped it a while back to 2.7.0. So it looks like it's causing some problems in the Publisher example app. Subscriber example app works without any problems.
Output from Xcode when trying to reset the cache on 2.7.0:
  Dependencies could not be resolved because root depends on 'mapbox-navigation-ios' 2.7.0..<3.0.0.
   'mapbox-navigation-ios' >= 2.7.0 cannot be used because 'mapbox-navigation-ios' {2.7.0..<2.7.2, 2.7.3..<3.0.0} cannot be used (12).
   'mapbox-navigation-ios' 2.7.2 cannot be used because 'mapbox-navigation-ios' 2.7.2 depends on 'mapbox-maps-ios' 10.7.0..<11.0.0.
   'mapbox-maps-ios' is incompatible with 'mapbox-navigation-ios' because 'mapbox-navigation-ios' 2.7.2 depends on 'mapbox-navigation-native-ios' 111.0.0..<112.0.0 and 'mapbox-navigation-native-ios' is incompatible with 'mapbox-maps-ios' (7).
   'mapbox-navigation-ios' 2.7.1 cannot be used because 'mapbox-navigation-ios' 2.7.1 depends on 'mapbox-maps-ios' 10.7.0..<11.0.0.
   'mapbox-maps-ios' is incompatible with 'mapbox-navigation-ios' because 'mapbox-navigation-ios' 2.7.1 depends on 'mapbox-navigation-native-ios' 111.0.0..<112.0.0 and 'mapbox-navigation-native-ios' is incompatible with 'mapbox-maps-ios' (7).
       (1) 'mapbox-navigation-native-ios' {111.0.0, 111.0.2..<112.0.0} practically depends on 'mapbox-common-ios' 22.1.0..<23.0.0 because no versions of 'mapbox-navigation-native-ios' match the requirement 111.0.2..<112.0.0 and 'mapbox-navigation-native-ios' 111.0.0 depends on 'mapbox-common-ios' 22.1.0..<23.0.0.
       (2) 'mapbox-navigation-native-ios' {111.0.0..<111.0.1, 111.0.2..<112.0.0} practically depends on 'mapbox-common-ios' 22.1.0..<23.0.0 because 'mapbox-navigation-native-ios' 111.0.0 depends on 'mapbox-common-ios' 22.1.0..<23.0.0.
       (3) As a result, 'mapbox-navigation-native-ios' 111.0.0..<112.0.0 practically depends on 'mapbox-common-ios' 22.1.0..<23.0.0 because 'mapbox-navigation-native-ios' 111.0.1 depends on 'mapbox-common-ios' 22.1.0..<23.0.0.
       (4) 'mapbox-maps-ios' {10.7.0..<10.8.0, 10.8.2..<11.0.0} practically depends on 'mapbox-common-ios' 22.1.0 because no versions of 'mapbox-maps-ios' match the requirement {10.7.1..<10.8.0, 10.8.2..<11.0.0} and 'mapbox-maps-ios' 10.7.0 depends on 'mapbox-common-ios' 22.1.0.
       (5) 'mapbox-maps-ios' {10.7.0..<10.8.1, 10.8.2..<11.0.0} practically depends on 'mapbox-common-ios' {22.1.0, 23.0.0} because 'mapbox-maps-ios' 10.8.0 depends on 'mapbox-common-ios' 23.0.0.
       (6) 'mapbox-maps-ios' >= 10.7.0 practically depends on 'mapbox-common-ios' {22.1.0, 23.0.0..<23.0.1} because 'mapbox-maps-ios' 10.8.1 depends on 'mapbox-common-ios' 23.0.0.
       (7) 'mapbox-navigation-native-ios' is incompatible with 'mapbox-maps-ios' because 'mapbox-navigation-native-ios' 111.0.0..<112.0.0 practically depends on 'mapbox-common-ios' 22.1.0..<23.0.0 (3).
       (8) 'mapbox-maps-ios' is incompatible with 'mapbox-navigation-ios' because 'mapbox-navigation-ios' 2.7.0 depends on 'mapbox-navigation-native-ios' 111.0.0..<112.0.0.
       (9) 'mapbox-navigation-ios' 2.7.0 cannot be used because 'mapbox-navigation-ios' 2.7.0 depends on 'mapbox-maps-ios' 10.7.0..<11.0.0.
       (10) As a result, 'mapbox-navigation-ios' {2.7.0, 2.7.3..<3.0.0} cannot be used because no versions of 'mapbox-navigation-ios' match the requirement 2.7.3..<3.0.0.
       (11) 'mapbox-navigation-ios' 2.7.0 cannot be used because 'mapbox-navigation-ios' 2.7.0 depends on 'mapbox-maps-ios' 10.7.0..<11.0.0 and 'mapbox-maps-ios' is incompatible with 'mapbox-navigation-ios' (8).
       (11) As a result, 'mapbox-navigation-ios' {2.7.0..<2.7.1, 2.7.3..<3.0.0} cannot be used because 'mapbox-navigation-ios' {2.7.0, 2.7.3..<3.0.0} cannot be used (10).
       (12) As a result, 'mapbox-navigation-ios' {2.7.0..<2.7.2, 2.7.3..<3.0.0} cannot be used because 'mapbox-navigation-ios' {2.7.0..<2.7.1, 2.7.3..<3.0.0} cannot be used (11).

┆Issue is synchronized with this Jira Uncategorised by Unito

Leaving a comment for future reference - looks like it was possibly a problem with Xcode on my side. Happened on Xcode 13.4. Installing 13.4.1, cleaning DerivedData folder, build folder, restarting my mac and finally Resettings Package Caches fixed the issue.


Move WebKit related cookie logic to react-native-webview

Should WebKit cookies be moved to the react-native-webview module?
The only time WebKit cookies are needed is usage with WebView. The two are coupled.
How would y'all feel about moving that functionality over or is there another way that this can be handled?
Issue in react-native-webview: https://github.com/react-native-community/react-native-webview/issues/1139

I'm a bit hesitant on this, mainly due to the behavior on android
After the deprecation of UIWebview, the behavior is currently this:

Setting BOTH WebView AND React-Native fetch cookies
Setting ONLY WebView cookies
Setting ONLY React-Native fetch cookies

Android
.set(url, cookie)
n/a
n/a

iOS
n/a
.set(url, cookie, true)
.set(url, cookie)

If the webkit-cookie functionality were to be relocated into the react-native-webview library, the functionality of this library would be imbalanced: fetch+WebView cookies on Android, but only fetch cookies on iOS.
If the android functionality could be separated, that might change the story, but it looks like it's CookieManager all around.. not possible to separate fetch/WebView cookies on Android.
Another consideration is that other webview plugins could exist beyond react-native-webview. That is definitely the dominant one for now, but I think it is nice that the cookie-store functionality lives in this package.
Another option is to unify the default behavior on iOS behind the scenes: let set(url, cookie) modify both  NSHTTPCookieStorage AND WKHTTPCookieStore simultaneously.
This definitely has downsides.. and what would get() do? Retrieve from one? Both & merge cookies? It becomes complicated.
It's nice when RN libraries expose the "full" native functionality, so the ability to interact with both cookie stores independently should definitely stay, but on the other hand, similar default behavior between iOS and Android could be nice.

@davidgovea I appreciate the chart! Visualizes how cookies works.
I always aim for similar default behavior, then added platform specific customizations.


add logging to kitenv

Issue #, if available:
Description of changes:
Add logging to KIT env using container native logging approach.
This approach support host level, container level logging for KIT Env as well KIT Guest clusters
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Testing
hakuna@3c22fbe1d295 kitctl % ./kitctl bootstrap fluentbit-abcd
Bootstrapping "fluentbit-abcd"
Ensured policy fluentbit-abcd for fluentbit-abcd
Found vpc vpc-00d1976192b383618
Ensured policy fluentbit-abcd-tenant-controlplane-node-role for fluentbit-abcd-tenant-controlplane-node-role
Ensured launch template version 2 for fluentbit-abcd
Found instance i-069661d910cb575ae
To access cluster run -

        export KUBECONFIG=/tmp/fluentbit-abcd/etc/kubernetes/admin.conf

Applied https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cloudwatch-namespace.yaml
Applied https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/master/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/fluent-bit/fluent-bit.yaml
Applied https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.33.2/release.yaml
Upgraded chart https://aws.github.io/eks-charts/aws-vpc-cni
Applied https://storage.googleapis.com/tekton-releases/triggers/previous/v0.19.0/release.yaml
Applied https://github.com/tektoncd/dashboard/releases/download/v0.24.1/tekton-dashboard-release.yaml
Upgraded chart https://charts.karpenter.sh/karpenter
Upgraded chart https://aws.github.io/eks-charts/aws-load-balancer-controller
Upgraded chart https://github.com/kubernetes-sigs/aws-ebs-csi-driver/releases/download/helm-chart-aws-ebs-csi-driver-2.6.3/aws-ebs-csi-driver
Upgraded chart https://awslabs.github.io/kubernetes-iteration-toolkit/kit-operator
Upgraded chart https://github.com/prometheus-community/helm-charts/releases/download/kube-prometheus-stack-34.0.0//kube-prometheus-stack
✅ Bootstrapped "fluentbit-abcd" after 3m38.146292567s

Logs in cloudwatch sample for an etcd pod of Guest cluster
{
    "log": "{\"level\":\"info\",\"ts\":\"2022-05-18T13:03:10.294Z\",\"caller\":\"mvcc/kvstore_compaction.go:56\",\"msg\":\"finished scheduled compaction\",\"compact-revision\":727,\"took\":\"1.319214ms\"}\n",
    "stream": "stderr",
    "log_processed": {
        "level": "info",
        "ts": "2022-05-18T13:03:10.294Z",
        "caller": "mvcc/kvstore_compaction.go:56",
        "msg": "finished scheduled compaction",
        "compact-revision": 727,
        "took": "1.319214ms"
    },
    "kubernetes": {
        "pod_name": "example-etcd-0",
        "namespace_name": "default",
        "pod_id": "ce993b2b-058e-4a27-8844-ffae18e663e5",
        "host": "ip-10-4-215-29.us-west-2.compute.internal",
        "container_name": "etcd",
        "docker_id": "610f98f796da02be9e48f277b862a4828f6da07deccdc242121261c7a41719cd",
        "container_hash": "public.ecr.aws/eks-distro/etcd-io/etcd@sha256:a60c9e8701e0ef4e1fdbd00328297ebe6ae20ed619eed7e50a072e3265193ce7",
        "container_image": "public.ecr.aws/eks-distro/etcd-io/etcd:v3.4.16-eks-1-21-4"
    }

Log group name
Log source

/aws/containerinsights/Cluster_Name/application
All log files in /var/log/containers

/aws/containerinsights/Cluster_Name/host
Logs from /var/log/dmesg, /var/log/secure, and /var/log/messages

/aws/containerinsights/Cluster_Name/dataplane
The logs in /var/log/journal for kubelet.service, kubeproxy.service, and docker.service.

Can you also add some info in the description regarding how are the logs structured in CW? Based on cluster name? Instance IDs?

Can you also add some info in the description regarding how are the logs structured in CW? Based on cluster name? Instance IDs?

It was already posted in the description as an example of etcd pod when i created this PR. Looking for more details ?

It was already posted in the description as an example of etcd pod when i created this PR. Looking for more details ?

As we discussed offline, let's configure the file names stored in CW to be more concise and figure what should be right way to configure retention for these logs.

I don't think we should we be exporting logs for pods that are not part of guest clusters, for example Tekton and Prometheus logs will usually not be useful for customers and contribute to CW costs.

As we discussed offline, let's configure the file names stored in CW to be more concise and figure what should be right way to configure retention for these logs.

Additionally, should we be deleting the log groups on environment deletion?

After I got around the installation issue, I am seeing these errors in fluentBit pods -
[2022/06/08 21:39:48] [error] [filter:aws:aws.3] Could not retrieve ec2 metadata from IMDS
[2022/06/08 21:39:55] [error] [filter:aws:aws.3] Could not retrieve ec2 metadata from IMDS
[2022/06/08 21:39:55] [error] [filter:aws:aws.3] Could not retrieve ec2 metadata from IMDS
[2022/06/08 21:39:55] [error] [filter:aws:aws.3] Could not retrieve ec2 metadata from IMDS
[2022/06/08 21:39:55] [error] [filter:aws:aws.3] Could not retrieve ec2 metadata from IMDS
[2022/06/08 21:39:58] [error] [filter:aws:aws.3] Could not retrieve ec2 metadata from IMDS
[2022/06/08 21:39:58] [error] [filter:aws:aws.3] Could not retrieve ec2 metadata from IMDS
[2022/06/08 21:39:58] [error] [filter:aws:aws.3] Could not retrieve ec2 metadata from IMDS
[2022/06/08 21:39:58] [error] [filter:aws:aws.3] Could not retrieve ec2 metadata from IMDS


SchemaRegistryException error code 40301 using protobuf

Description
Publishing a message on topic using Protobuf and schema registry, we got the following error:
Confluent.SchemaRegistry.SchemaRegistryException: user is denied operation Write on Subject: google/protobuf/timestamp.proto; error code: 40301
the schema used for protobuf is referencing obviously google definition for some item such timestamp.
Is it possible to reference external schema?

@fgaravaglia Yes, it's possible to reference external schema. Please refer this example in the client for reference https://github.com/confluentinc/confluent-kafka-dotnet/blob/f45e6a39fb3bf054770fbccd67ec5c42a7e43b9b/test/Confluent.SchemaRegistry.Serdes.IntegrationTests/Tests_Protobuf/ProduceConsumeExternalRef.cs#L25.


[FEATURE] Add module type

Prerequisite for third-party shimming based on https://github.com/SAP/ui5-tooling/pull/5
Depends on https://github.com/SAP/ui5-project/pull/46
Example implementation: https://github.com/RandomByte/openui5-parallax/pull/1/files#diff-f7cafeb3d075b6c5d28c1102cec23f52R14

Pull Request Test Coverage Report for Build 136

11 of 45 (24.44%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-3.4%) to 59.322%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/types/module/moduleType.js
3
5
60.0%

lib/types/module/ModuleBuilder.js
3
8
37.5%

lib/types/module/ModuleFormatter.js
4
31
12.9%

Totals

Change from base Build 130:
-3.4%

Covered Lines:
434

Relevant Lines:
663

💛  - Coveralls

I think we should tackle increasing the test coverage of the types separately. While the "module" type has a coverage of ~20% now, the others have similarly bad ~50%. There are no dedicated tests for the types yet.

@matz3 ping


ContainerD test failure status

@jterry75 Using shim from master now that https://github.com/Microsoft/hcsshim/pull/537 is merged. Using CD branch https://github.com/jhowardmsft/containerd/tree/remove_windows_v1-local which carries some of your commits, and has other fixes as well. The first three are probably either shim or CD bugs.
--- FAIL: TestDeleteContainerExecCreated (4.22s)
    container_test.go:1259: exec: 'TestDeleteContainerExecCreated_exec' in task: 'TestDeleteContainerExecCreated' is in invalid state: 'created' for delete: failed precondition: unknown

--- FAIL: TestProcessForceDelete (6.14s)
    container_test.go:1058: process.Delete should return an error when process is running
    container_test.go:1061: exec: 'TestProcessForceDelete_exec' in task: 'TestProcessForceDelete' not found: not found: unknown

--- FAIL: TestContainerKill (4.84s)
    container_test.go:663: second call to kill should return an error

One test (not yet identified) causes another instance of releaseresources not being called.
time="2019-03-27T12:51:01-07:00" level=error msg="hcsshim::DestroyLayer - failed failed in Win32: The process cannot access the file because it is being used by another process. (0x20)" error="hcsshim::DestroyLayer - failed failed in Win32: The process cannot access the file because it is being used by another process. (0x20)" path="C:\\Program Files\\containerd\\root-test"
failed to remove test root dir hcsshim::DestroyLayer - failed failed in Win32: The process cannot access the file because it is being used by another process. (0x20)
exit status 1

These two I'm working on:
=== CONT  TestContainerHostname
The command line is too long.

=== CONT  TestWaitStoppedTask
'sleep' is not recognized as an internal or external command,
operable program or batch file.

TestContainerHostname is now fixed.

As is TestWaitStoppedTask

Also intermittently hitting a panic in TestContentClient/CommitErrorState
    --- FAIL: TestContentClient/CommitErrorState (5.26s)
        testsuite.go:117: Cleanup failed: unknown
            github.com/containerd/containerd/errdefs.init.ializers
                e:/go/src/github.com/containerd/containerd/errdefs/errors.go:39
            runtime.main
                C:/Go/src/runtime/proc.go:188
            runtime.goexit
                C:/Go/src/runtime/asm_amd64.s:1337
            remove C:\Program Files\containerd\root-test\io.containerd.content.v1.content\ingest\9101c5f249b4cb38a50dddda86a787c09f31099573c87c525fc50774ac21d05d\.tmp-updatedat138048751: The process cannot access the file because it is being used by another process.
            github.com/containerd/containerd/errdefs.FromGRPC
                e:/go/src/github.com/containerd/containerd/errdefs/grpc.go:98
            github.com/containerd/containerd/content/proxy.(*proxyContentStore).Abort
                e:/go/src/github.com/containerd/containerd/content/proxy/content_store.go:187
            github.com/containerd/containerd.newContentStore.func2
                e:/go/src/github.com/containerd/containerd/content_test.go:60
            github.com/containerd/containerd/content/testsuite.makeTest.func1.1
                e:/go/src/github.com/containerd/containerd/content/testsuite/testsuite.go:116
            github.com/containerd/containerd/content/testsuite.makeTest.func1
                e:/go/src/github.com/containerd/containerd/content/testsuite/testsuite.go:137
            testing.tRunner
                C:/Go/src/testing/testing.go:865
            runtime.goexit
                C:/Go/src/runtime/asm_amd64.s:1337
            failed to abort c1-commiterror-state
            github.com/containerd/containerd.newContentStore.func2
                e:/go/src/github.com/containerd/containerd/content_test.go:61
            github.com/containerd/containerd/content/testsuite.makeTest.func1.1
                e:/go/src/github.com/containerd/containerd/content/testsuite/testsuite.go:116
            github.com/containerd/containerd/content/testsuite.makeTest.func1
                e:/go/src/github.com/containerd/containerd/content/testsuite/testsuite.go:137
            testing.tRunner
                C:/Go/src/testing/testing.go:865
            runtime.goexit
                C:/Go/src/runtime/asm_amd64.s:1337
FAIL

Another test failure:
=== CONT  TestContainerPids
The command line is too long.

More information: There has to be some parallel issues still. Running go test -v -parallel 1 looks far better: full log at https://gist.github.com/jhowardmsft/570ff3763c7efe1866d7b480ca033b23 (too long to paste into a comment :/ )

@jterry75 FWIW, it looks like TestDeleteContainerExecCreated is the test which (sometimes) causes resources not to be released. I can see that when in this situation, the shim doesn't exit. The stacks are impossible to read in TVPP as for some reason its a) not one entry per line and b) no newline/tabs to replace, but maybe this might help:
goroutine 19 [running]: main.dumpStacks() 	e:/go/src/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/serve.go:219 +0x8f main.setupDumpStacks.func1(0x130) 	e:/go/src/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/serve.go:205 +0x3f created by main.setupDumpStacks 	e:/go/src/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/serve.go:202 +0xe6  goroutine 1 [chan receive]: main.glob..func2(0xc0000d8b00, 0x0, 0x0) 	e:/go/src/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/serve.go:154 +0x5dd github.com/Microsoft/hcsshim/vendor/github.com/urfave/cli.HandleAction(0x905d20, 0x9cb0e0, 0xc0000d8b00, 0xc00009e500, 0x0) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/urfave/cli/app.go:502 +0xcf github.com/Microsoft/hcsshim/vendor/github.com/urfave/cli.Command.Run(0x9a764b, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/urfave/cli/command.go:210 +0x9b1 github.com/Microsoft/hcsshim/vendor/github.com/urfave/cli.(*App).Run(0xc000132000, 0xc00008c000, 0xc, 0x10, 0x0, 0x0) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/urfave/cli/app.go:259 +0x6c2 main.main() 	e:/go/src/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/main.go:151 +0x80a  goroutine 20 [select]: github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine(0xc000124540) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/pipe.go:278 +0xcd created by github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.ListenPipe 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/pipe.go:371 +0x293  goroutine 5 [select]: github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.(*win32File).asyncIo(0xc00015c000, 0xc000142060, 0x0, 0x0, 0xa2df40, 0x86e268, 0xc000004060, 0xc000135fb8, 0x86acdf) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/file.go:186 +0x14e github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.connectPipe(0xc00015c000, 0x0, 0x0) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/pipe.go:383 +0xe5 github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.(*win32PipeListener).makeConnectedServerPipe.func1(0xc000154180, 0xc00015c000) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/pipe.go:254 +0x32 created by github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.(*win32PipeListener).makeConnectedServerPipe 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/pipe.go:253 +0xa9  goroutine 22 [select]: github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.(*win32PipeListener).makeConnectedServerPipe(0xc0001245b0, 0xc000137f40, 0x2, 0x1) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/pipe.go:257 +0x133 github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine(0xc0001245b0) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/pipe.go:287 +0x106 created by github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.ListenPipe 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/pipe.go:371 +0x293  goroutine 23 [chan receive]: github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.(*win32PipeListener).Accept(0xc0001245b0, 0x9ca288, 0xc000156000, 0xa32420, 0xc000058188) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/pipe.go:394 +0x155 github.com/Microsoft/hcsshim/vendor/github.com/containerd/ttrpc.(*Server).Serve(0xc000140180, 0xa32420, 0xc000058188, 0xa30960, 0xc0001245b0, 0x0, 0x0) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/containerd/ttrpc/server.go:84 +0x111 main.glob..func2.2(0xc000140180, 0xa30960, 0xc0001245b0, 0xc00009e660) 	e:/go/src/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/serve.go:124 +0x68 created by main.glob..func2 	e:/go/src/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/serve.go:120 +0x4ac  goroutine 25 [syscall, locked to thread]: syscall.Syscall6(0x7ffea13e70b0, 0x5, 0x140, 0xc000145f9c, 0xc000145fa0, 0xc000145fa8, 0xffffffff, 0x0, 0x0, 0x0, ...) 	C:/Go/src/runtime/syscall_windows.go:185 +0xfc github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.getQueuedCompletionStatus(0x140, 0xc000145f9c, 0xc000145fa0, 0xc000145fa8, 0xffffffff, 0xa2df40, 0xc0001face0) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go:100 +0xb6 github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.ioCompletionProcessor(0x140) 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/file.go:159 +0xc2 created by github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio.initIo 	e:/go/src/github.com/Microsoft/hcsshim/vendor/github.com/Microsoft/go-winio/file.go:72 +0x7d  goroutine 8 [chan send]: main.(*hcsExec).waitForContainerExit.func1(0xc000155440, 0xc0001b0c60) 	e:/go/src/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/exec_hcs.go:646 +0x62 created by main.(*hcsExec).waitForContainerExit 	e:/go/src/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/exec_hcs.go:645 +0x7e

Ha, it's easiest to read in a GitHub comment.
--- FAIL: TestContainerKill (4.93s)
    container_test.go:663: second call to kill should return an error
--- PASS: TestDeleteRunningContainer (5.07s)
--- PASS: TestContainerStart (2.93s)
--- PASS: TestContainerLargeExecArgs (3.58s)
--- PASS: TestContainerOutput (2.45s)
--- PASS: TestContainerExec (3.72s)
--- PASS: TestShimSockLength (20.02s)
FAIL

Closing out. Will pick this back up in separate tasks.


Doc links in Admin Portal pointing to wrong URL

Description:
$Subject. They are pointing to the old docs URL path.

Affected Product Version:
APIM 4.0.0

This is fixed in latest pack


Failed to connect to SMA Tripower X 15 ('H' format requires 0)

Version of the custom_component
0.0.24
Configuration
Error happens when setting up through config flow dialog.
Describe the bug
I'm trying to add my SMA Tripower X 15 through the HA config flow. The integration can't connect to the inverter.

After activating debug logs it seems that he connects but then failed when it scans models.
Debug log

2023-09-29 22:13:34.550 DEBUG (MainThread) [custom_components.sunspec] Test connection to <IP_ADDRESS>:502 slave id 126
2023-09-29 22:13:34.550 DEBUG (MainThread) [custom_components.sunspec] New SunspecApi Client
2023-09-29 22:13:34.551 DEBUG (SyncWorker_5) [custom_components.sunspec] Not using cached connection
2023-09-29 22:13:34.551 DEBUG (SyncWorker_5) [custom_components.sunspec] Client connect to IP <IP_ADDRESS> port 502 slave id 126 using timeout 120
2023-09-29 22:13:34.556 DEBUG (SyncWorker_5) [custom_components.sunspec] Client connected, perform initial scan
2023-09-29 22:13:34.578 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 1
2023-09-29 22:13:35.090 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 123
2023-09-29 22:13:35.605 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 701
2023-09-29 22:13:36.120 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 702
2023-09-29 22:13:36.638 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 703
2023-09-29 22:13:37.161 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 704
2023-09-29 22:13:37.682 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 705
2023-09-29 22:13:38.205 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 706
2023-09-29 22:13:38.726 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 707
2023-09-29 22:13:39.251 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 708
2023-09-29 22:13:39.779 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 709
2023-09-29 22:13:40.298 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 710
2023-09-29 22:13:40.822 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 711
2023-09-29 22:13:41.339 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 712
2023-09-29 22:13:41.858 DEBUG (SyncWorker_5) [custom_components.sunspec] Scanning model 714
2023-09-29 22:13:41.864 ERROR (MainThread) [custom_components.sunspec] Failed to connect to host <IP_ADDRESS>:502 slave 126 - 'H' format requires 0 <= number <= 65535

seems to be fixed with the latest release. Thanks


fix(button): add missing import from include media

:tada: This PR is included in version 4.1.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Linking to a topic in the same channel should be easier

A message author should be able to easily create a topic link to a topic in the same channel, more easily than creating a topic link to a topic in a separate channel.
Linking to a topic is described in https://zulip.com/help/link-to-a-message-or-conversation#link-to-a-channel-or-topic-within-zulip as:

Type # followed by the one or more letters of the channel name.
Choose the desired channel from the auto-complete menu. The link will be automatically formatted for you.
If linking to a topic, type > after selecting a channel as described above, followed by one or more letters of the topic name.
Choose the desired topic from the auto-complete menu. The link will be automatically formatted for you.

The method for linking to a topic in the current channel could be:

Type #> followed by one or more letters of the topic name.
Choose the desired topic from the auto-complete menu. The link will be automatically formatted for you.

Ideally, this would create the exact same link as the long method.  Displaying the topic link more succinctly when it is in the current channel could be a separate feature, if desired (the same style could perhaps be used there, #> Topic name)

Thanks for the helpful suggestion, @mlncn ! Flagged for discussion on a related thread in the development community.

@kuv2707 assigning to you -- let's try this out!

Hello @kuv2707  please are you still working on this issue , i would like to collaborate on it or  take it on if you are held up with other task.

@mlncn I am indeed on it, but am currently on a small break.

@zulipbot claim


adding basepath support

Summary of the changes (in less than 80 chars)

Adding full PathBase support
Adding dynamic PathBase replacing in react scripts on StartUp of server

Addresses https://github.com/loic-sharma/BaGet/issues/276

Hi, this is awesome, thank you for opening this change! I wasn't sure how to share configs between the backend and the frontend, this is a really neat solution! I'm wondering, how did you choose to override the frontend configs when the app middleware is created in UsePathBase?
I wonder if instead we should upgrade BaGet's AddSpaStaticFiles. AddSpaStaticFiles registers an ISpaStaticFileProvider, which exposes an IFileProvider. We could create our own ISpaStaticFileProvider that has a custom IFileProvider that replaces configurations lazily. What do you think of that approach? Let me know if you need help with that!
Again, thank you for opening this change. You did a phenomenal job!

Hi, thnk you very much.
Using UseBasePath was the most straight foreward approach for that.
I didn't dig to much into this but your approach seems to be a nicer way to do this.
So basically from the approach I took we have to always place our configuration in the UI files because I choosed a placeholder which will be replaced. So I would suggest to always have the files in-memory. From performance side there should be little to no impact.
I think implementing shouldn't be that hard. I will try to make the required changes.

So
I made the required changes to get it to work with ISpaStaticFileProvider.
Take a look at it and tell me your thoughts. I think its a quite neat way to have this in-memory but still with reasonable performance.

So with the latest commit tests are working again.
Still code cleanup needs to be done.
Also we should consinder to write some tests for the StaticFileProviding.
If you have time you can have a look at the implementation and tell me your findings.

The Placeholder for path base will be now set only in production mode of npm (npm run build), if you use npm start no relative path will be appended to the start.

Which changes have to be made for this PR to get merged?
I have to use BaGet with a custom PathBase and implemented it for the backend in #114.
Please let me know if there is anything that I can do to complete this feature.

I don't know you need to ask @loic-sharma

Do you have any idea when the basepath feature will be available?

Hi, I need this feature. Do you need help completing it?
Have a nice day

I just took a look into the code and there is a lot of cleanup work that needs to be done. Some classes look more like Java code than C# and ASP.NET has a lot of patterns which the rest of BaGet is following.
Instead of writing dozens of review comments it would be easier for me to fix stylistic mistakes directly.
@szwenni Do you want to give me push access to your fork or shall I open a new pull request?


Linker args are silently ignored by cargo test

I've been attempting to run Diesel's test suite on Windows, and can't seem to find a way to link a C library. Specifically what I want to be able to do is cargo test -- -LC:\PostgreSQL\lib, but that argument is silently ignored, as is cargo test -- -C link-args="C:\PostgreSQL\lib". cargo rustc -- -LC:\PostgreSQL\lib works fine (though isn't helpful), but cargo rustc --test -- -LC:\PostgreSQL\lib complains that it doesn't know what -L is, and cargo rustc -- --test -LC:\PostgreSQL\lib doesn't include dev-dependencies.
As such, there appears to be no way to test a crate with cargo on Windows if the crate has C libraries that need to be linked, as there doesn't appear to be an environment variable that can be set either.

Ah, I think that the crux of this issue is a dupe of https://github.com/rust-lang/cargo/issues/2120, so I'm going to close in favor of that, but there's a few other things in play here:

First, to link a C library, it's generally recommended to use a build script which can do any form of dynamic detection of the OS, runtime, etc. This build script is then generally shipped in the form of a library which is then reusable by everyone!
cargo test -- -LC:\PostgreSQL\lib - this command is actually saying to pass the -L argument to the test binary which is generated (e.g. the arguments after -- are just passed through). It may be the case that our test binaries just ignore unknown flags (like -L)
cargo test -- -C link-args="C:\PostgreSQL\lib - as the previous one, this is just passing an argument to the test binary, no the compiler itself.
cargo rustc -- -LC:\PostgreSQL\lib - this actually will pass the argument to the compiler, but as you've found it wasn't building your test so not too useful.
cargo rustc --test -- -LC:\PostgreSQL\lib - this is actually an interesting one! So when you pass --test to the cargo rustc command (not the underlying rustc), then you're selecting which test to compile. So what this is actually doing is compiling the test named -- (the first thing after the --test argument). The -L flag is then being interpreted as an argument to cargo rustc itself, which is an unknown flag (hence the error)
cargo rustc -- --test -LC:\PostgreSQL\lib - aha, and now we run into #2120! This should definitely work, but that issue means there's no way for cargo rustc to include dev-dependencies right now unfortunately.

First, to link a C library, it's generally recommended to use a build script which can do any form of dynamic detection of the OS, runtime, etc. This build script is then generally shipped in the form of a library which is then reusable by everyone!

I'm attempting to fix a library that does this. It works with cargo build but fails to to find the linked library with cargo test.
cargo test seems to ignore build.rs
Am I missing something in cargo.toml?
A simplified version of bulid.rs is
 fn main() {
    println!("cargo:rustc-link-lib=dylib=dss_capi");
    println!("cargo:rustc-link-search=native=/path/to/lib/");
}


Images in nested arrays

Hi, it's me again. Now I'm having a new trouble wich is that I have a nested array with images inside and when I print the document it just writes [object Object].
My array looks like this:
items [ name: 'product 1', description: 'Description for product 1 here....', image: { _type: 'image', source: <source> format: 'image/png', width, height, }, name: 'product 2', description: 'Description for product 2 here....', image: { _type: 'image', source: <source> format: 'image/png', width, height, }, ]
and my docx document looks like this:
{#items} {name} {description} {image} {/items}
It prints the name and description correctly, but for the image prints [object Object]
Help!:(

Hi, is there a chance you forgot to wrap each object with curly braces?
You mentioned [ name: 'product 1', description: 'Description for product 1 here....', image: { _type: 'image', source: <source> format: 'image/png', width, height, }, ... ]
But it should be [ { name: 'product 1', description: 'Description for product 1 here....', image: { _type: 'image', source: <source> format: 'image/png', width, height, } }, ... ]

Mmm... I wrote that wrong, but that's how I have my nested array. Because it reads correctly the other properties 'name', 'description' but the image prints [object Object] wich is correct because is an object.
It's like that images in an nested array doesn't seem to work correctly.
By the way, thanks for your response :) and sorry for my delay in responding :(

Hi, take your time, no rush here :)
I've checked it now and it does not seem to reproduce.
I've added this test method to the image.tests.ts file and manually verified the output and everything looks fine. I think cloning the repo and running this test on your machine can help in finding what's may be wrong.
    it("replaces an image tag in nested loops", async () => {

        const handler = new TemplateHandler();

        const template = readFixture("loop - nested with image.docx");
        const imageFile = readResource("panda1.jpg");

        const imageData = {
            _type: 'image',
            format: MimeType.Jpeg,
            source: imageFile,
            height: 325,
            width: 600
        };
        const itemData = {
            loop_prop2: [
                { simple_prop: imageData }
            ]
        };
        const data = {
            loop_prop1: [itemData]
        };
        for (let i = 0; i < 10; i++) {
            data.loop_prop1.push(itemData);
        }

        const doc = await handler.process(template, data);

        // const docXml = await handler.getXml(doc);
        // expect(docXml).toMatchSnapshot();

        writeTempFile('image - nested loop - output.docx', doc);
    });

It's not working, it still prints [object Object] in the docx ... But one question, where did you require('') that "MimeType"?

Sorry!!! My mistake! I was doing something wrong! ... It worked! :)

Sorry!!! My mistake! I was doing something wrong! ... It worked! :)

Sorry to bother, actually i met the same problem. Could you remember how to solve the [object object]？


install error

enviroment
linux  : centos7.9
c++: g++4.8.5
python: python3.8.5

when I install wenet with commamd" python setup.py install", met follow errors:
-- Looking for C++ include unistd.h
-- Looking for C++ include unistd.h - not found
-- Looking for C++ include stdint.h
-- Looking for C++ include stdint.h - not found
-- Looking for C++ include inttypes.h
-- Looking for C++ include inttypes.h - not found
-- Looking for C++ include sys/types.h
-- Looking for C++ include sys/types.h - not found
-- Looking for C++ include sys/stat.h
-- Looking for C++ include sys/stat.h - not found
-- Looking for C++ include fnmatch.h
-- Looking for C++ include fnmatch.h - not found
-- Looking for C++ include stddef.h
-- Looking for C++ include stddef.h - not found
-- Check size of uint32_t
-- Check size of uint32_t - failed
-- Check size of u_int32_t
-- Check size of u_int32_t - failed
CMake Error at fc_base/gflags-src/CMakeLists.txt:286 (message):
  Do not know how to define a 32-bit integer quantity on your system! Neither
  uint32_t, u_int32_t, nor __int32 seem to be available.  Set
  [GFLAGS_]INTTYPES_FORMAT to either C99, BSD, or VC7 and try again.

-- Configuring incomplete, errors occurred!
See also "/data/disk1//.opendir/wenet/runtime/binding/python/build/temp.linux-x86_64-cpython-38/CMakeFiles/CMakeOutput.log".
See also "/data/disk1//.opendir/wenet/runtime/binding/python/build/temp.linux-x86_64-cpython-38/CMakeFiles/CMakeError.log".
gmake: Makefile: No such file or directory
gmake: *** No rule to make target `Makefile'.  Stop.
Traceback (most recent call last):
  File "setup.py", line 85, in <module>
    setuptools.setup(
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 177, in setup
    return run_commands(dist)
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 193, in run_commands
    dist.run_commands()
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
    self.run_command(cmd)
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 299, in run
    self.run_command('build')
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 317, in run_command
    self.distribution.run_command(command)
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/command/build.py", line 24, in run
    super().run()
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 131, in run
    self.run_command(cmd_name)
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 317, in run_command
    self.distribution.run_command(command)
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/dist.py", line 1229, in run_command
    super().run_command(command)
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 79, in run
    _build_ext.run(self)
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 339, in run
    self.build_extensions()
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 459, in build_extensions
    self._build_extensions_serial()
  File "/home//miniconda3/envs/wenet/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 485, in _build_extensions_serial
    self.build_extension(ext)
  File "setup.py", line 42, in build_extension
    raise Exception(
Exception:
Build wenet failed. Please check the error message.
You can ask for help by creating an issue on GitHub.

camke add "-DINTTYPES_FORMAT:STRING=C99"

g++ 升级到 5.4 以上再试试

g++ 升级到 5.4 以上再试试

升级到了gcc5.4，还是同样的问题。
CMakeFiles/gflags_unittest.dir/gflags_unittest.cc.o: In function `gflags::(anonymous namespace)::ParseTestFlag(bool, int, char const**)':
gflags_unittest.cc:(.text+0x9a7b): undefined reference to `__cxa_throw_bad_array_new_length'
../libgflags_nothreads.a(gflags.cc.o): In function `gflags::(anonymous namespace)::FlagValue::~FlagValue()':
gflags.cc:(.text+0x156): undefined reference to `operator delete(void*, unsigned long)'
gflags.cc:(.text+0x16f): undefined reference to `operator delete(void*, unsigned long)'
gflags.cc:(.text+0x188): undefined reference to `operator delete(void*, unsigned long)'
gflags.cc:(.text+0x19e): undefined reference to `operator delete(void*, unsigned long)'
gflags.cc:(.text+0x1b4): undefined reference to `operator delete(void*, unsigned long)'
../libgflags_nothreads.a(gflags.cc.o):gflags.cc:(.text+0x1ca): more undefined references to `operator delete(void*, unsigned long)' follow
../libgflags_nothreads.a(gflags.cc.o): In function `gflags::ReparseCommandLineNonHelpFlags()':
gflags.cc:(.text+0x5fd6): undefined reference to `__cxa_throw_bad_array_new_length'
../libgflags_nothreads.a(gflags.cc.o): In function `gflags::FlagSaverImpl::~FlagSaverImpl()':
gflags.cc:(.text._ZN6gflags13FlagSaverImplD2Ev[_ZN6gflags13FlagSaverImplD5Ev]+0x94): undefined reference to `operator delete(void*, unsigned long)'
collect2: error: ld returned 1 exit status
gmake[2]: *** [../fc_base/gflags-build/bin/gflags_unittest] Error 1
gmake[1]: *** [../fc_base/gflags-build/test/CMakeFiles/gflags_unittest.dir/all] Error 2
gmake: *** [all] Error 2

检查一下系统是不是预安装了 gflags

检查一下系统是不是预安装了 gflags

没有安装glags，因为安装了gflags后，cmake  ..会报错
[100%] Built target glog-populate
CMake Error at /usr/local/lib/cmake/gflags/gflags-nonamespace-targets.cmake:37 (message):
  Some (but not all) targets in this export set were already defined.

  Targets Defined: gflags_nothreads_static

  Targets not yet defined: gflags_static

Call Stack (most recent call first):
  /usr/local/lib/cmake/gflags/gflags-config.cmake:17 (include)
  fc_base/glog-src/CMakeLists.txt:51 (find_package)

-- Configuring incomplete, errors occurred!

@pengzhendong 有啥建议吗😭

使用自己的gflags
执行cmake -DONNX=ON -DTORCH=OFF -DWEBSOCKET=OFF -DGRPC=OFF ..

[100%] Built target glog-populate
CMake Error at /usr/local/lib/cmake/gflags/gflags-targets.cmake:37 (message):
  Some (but not all) targets in this export set were already defined.

  Targets Defined: gflags_nothreads_static

  Targets not yet defined:
  gflags_shared;gflags_nothreads_shared;gflags_static

Call Stack (most recent call first):
  /usr/local/lib/cmake/gflags/gflags-config.cmake:10 (include)
  fc_base/glog-src/CMakeLists.txt:51 (find_package)

-- Configuring incomplete, errors occurred!

卸载自己安装的gflags
执行cmake -DONNX=ON -DTORCH=OFF -DWEBSOCKET=OFF -DGRPC=OFF ..

CMake Warning at fc_base/glog-src/CMakeLists.txt:51 (find_package):
  By not providing "Findgflags.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "gflags", but
  CMake did not find one.

  Could not find a package configuration file provided by "gflags" (requested
  version 2.2.0) with any of the following names:
    gflagsConfig.cmake
    gflags-config.cmake

  Add the installation prefix of "gflags" to CMAKE_PREFIX_PATH or set
  "gflags_DIR" to a directory containing one of the above files.  If "gflags"
  provides a separate development package or SDK, be sure it has been
  installed.

-- Populating googletest
-- Configuring done
-- Generating done
-- Build files have been written to: /data/disk1/ybZhang/.opendir/wenet/runtime/OnnxRuntime/fc_base/googletest-subbuild
[100%] Built target googletest-populate
-- Configuring done
-- Generating done

执行 cmake build .
Consolidate compiler generated dependencies of target gflags_unittest
[ 19%] Linking CXX executable ../bin/gflags_unittest
CMakeFiles/gflags_unittest.dir/gflags_unittest.cc.o: In function `gflags::(anonymous namespace)::ParseTestFlag(bool, int, char const**)':
gflags_unittest.cc:(.text+0x94d3): undefined reference to `__cxa_throw_bad_array_new_length'
../libgflags_nothreads.a(gflags.cc.o): In function `gflags::(anonymous namespace)::FlagValue::~FlagValue()':
gflags.cc:(.text+0x155): undefined reference to `operator delete(void*, unsigned long)'
gflags.cc:(.text+0x16e): undefined reference to `operator delete(void*, unsigned long)'
gflags.cc:(.text+0x187): undefined reference to `operator delete(void*, unsigned long)'
gflags.cc:(.text+0x19d): undefined reference to `operator delete(void*, unsigned long)'
gflags.cc:(.text+0x1b3): undefined reference to `operator delete(void*, unsigned long)'
../libgflags_nothreads.a(gflags.cc.o):gflags.cc:(.text+0x1c9): more undefined references to `operator delete(void*, unsigned long)' follow
../libgflags_nothreads.a(gflags.cc.o): In function `gflags::ReparseCommandLineNonHelpFlags()':
gflags.cc:(.text+0x5f03): undefined reference to `__cxa_throw_bad_array_new_length'
../libgflags_nothreads.a(gflags.cc.o): In function `gflags::FlagSaverImpl::~FlagSaverImpl()':
gflags.cc:(.text._ZN6gflags13FlagSaverImplD2Ev[_ZN6gflags13FlagSaverImplD5Ev]+0x94): undefined reference to `operator delete(void*, unsigned long)'
collect2: error: ld returned 1 exit status
gmake[2]: *** [../fc_base/gflags-build/test/CMakeFiles/gflags_unittest.dir/build.make:98: ../fc_base/gflags-build/bin/gflags_unittest] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1194: ../fc_base/gflags-build/test/CMakeFiles/gflags_unittest.dir/all] Error 2

,

是不是因为网络问题，configure阶段没有下载下来gflag的包


Enable CodeView debug information with MSVC on Windows

@oraoto mentioned in #2331 that debug information is not output for Pony programs on Windows.
This PR implements CodeView debug information so that you can see functions and variables when debugging in Windows.

It seems that Rust encountered the same thing when enabling CodeView last year.
CodeView output doesn't like methods on non-class-like things.  My latest commit fixes this.

Just a note for this commit together with the llvm500 branch: The API of DIBuilder::createNameSpace changed in LLVM 4, adding an extra boolean parameter ExportSymbols. Passing false as the value seems fine.
I'm not entirely sure about this, but it seems like it changes again in LLVM 5 removing the file and line parameters...

That's why I made the C wrapper in gendebug.h conditional on PONY_VERSION.

To be clear, compilation fails. The implementation would need to be wrapped as well in that case..

I know, I have not yet updated my llvm500 branch to handle the various changes to that function signature.

Alright :)


Encoding issue

Characters beyond ascii are not correctly encoded

https://github.com/scambier/ghost-static/commit/ed279d6b444721e6dd4a950f3c28dee8b613e1ea

https://github.com/nwjs-community/nw-builder/issues/75
➜  Ghost sudo ghost-static
env: node\r: No such file or directory


llama trt-engine streaming mode does not work

System Info
H800 80G
Who can help?
No response
Information

[x] The official example scripts
[ ] My own modified scripts

Tasks

[x] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction

build a llama trt-engine
run engine with --streaming

Expected behavior
expect it can output tokens in streaming mode
actual behavior
raise error:
Streaming is not supported in C++ session.

additional notes
I wondered whether streaming mode is still in development?

I tried to use AsyncLLMEngine but got an error:

The first error message is expected since you are using Python runtime. There is no immediate plan to support streaming mode there.
Can you share your code using AsyncLLMEngine? That one supports streaming, but the error seems unrelated to that.

Thanks for your reply! I ran streaming mode in this way:
import gc
import random
import time
from asyncio import run
from pathlib import Path

import torch
import tensorrt_llm
from mpi4py import MPI
from transformers import PreTrainedTokenizer
from tensorrt_llm.runtime import SamplingConfig
from tensorrt_llm.engine import AsyncLLMEngine

HF_MODEL_DIR = "/data/nfs/huangxinchi/llava-trt/llava-v1.5-7b"
ENGINE_DIR = "/data/nfs/huangxinchi/llava-trt/outputs/llama/7B/trt_engines/fp16-gpt-kv/1-gpu"

RANK = tensorrt_llm.mpi_rank()
WORLD_SIZE = tensorrt_llm.mpi_world_size()

async def main():
    engine = AsyncLLMEngine(ENGINE_DIR, HF_MODEL_DIR)
    tokenizer: PreTrainedTokenizer = engine.tokenizer
    if engine.tokenizer.pad_token_id is None:
        pad_id = engine.tokenizer.eos_token_id
    else:
        pad_id = engine.tokenizer.pad_token_id
    end_id = engine.tokenizer.eos_token_id

    stop_words_list = ["<s>", "</s>"]
    bad_words_list = ["<s>"]
    stop_words_list = [stop_words_list]
    stop_words_list = tensorrt_llm.runtime.to_word_list_format(stop_words_list, tokenizer)
    stop_words_list = torch.Tensor(stop_words_list).to(torch.int32).to("cuda").contiguous()

    bad_words_list = [bad_words_list]
    bad_words_list = tensorrt_llm.runtime.to_word_list_format(bad_words_list, tokenizer)
    bad_words_list = torch.Tensor(bad_words_list).to(torch.int32).to("cuda").contiguous()

    # sample_config = SamplingConfig(
    #     max_new_tokens=20,
    #     min_length=1,
    #     # max_attention_window_size=None,
    #     # num_beams=1,
    #     end_id=end_id,
    #     pad_id=pad_id,
    #     # temperature=0.6,
    #     # top_k=0,
    #     # top_p=0.9,
    #     # length_penalty=1.0,
    #     # repetition_penalty=1.1,
    #     # presence_penalty=0.0,
    #     # stop_words_list=stop_words_list,
    #     # bad_words_list=bad_words_list,
    #     # output_sequence_lengths=True,
    #     return_dict=False
    # )
    input_text_list = [
        'test this script,'  # 8 text with less than 4000 tokens
    ]
    if RANK == 0:
        random.shuffle(input_text_list)
        for dest in range(1, WORLD_SIZE):
            MPI.COMM_WORLD.send(input_text_list, dest=dest)
    else:
        input_text_list = MPI.COMM_WORLD.recv(source=0)

    for i, input_text in enumerate(input_text_list):
        output_text = ""
        if RANK == 0:
            input_time = time.time()
            st = time.time()
        async for response in engine.generate(prompt=input_text, streaming=True, sampling_config=None):
            if RANK == 0:
                if len(output_text) == 0:
                    input_time = time.time() - input_time
            if response.text == "<s>" or response.text == "</s>":
                break
            output_text += response.text
            if RANK == 0:
                print(output_text)
        if RANK == 0:
            tot_cost = time.time() - st
            input_length = len(tokenizer.encode(input_text))
            output_length = len(tokenizer.encode(output_text))
            print(i)
            print(f"Input tokens: {input_length} | Time: {input_time} | Avg: {input_length / input_time}")
            print(f"Output tokens: {output_length} | Time: {tot_cost} | Avg: {output_length / tot_cost}")

        torch.cuda.empty_cache()
        gc.collect()
        MPI.COMM_WORLD.Barrier()

if __name__ == "__main__":
    run(main())

Ha, I noticed you use the MPI operations, are you using this to support multi-GPU TP?
Unfortunately, AsyncLLMEngine doesn't support multi-gpu, the behavior is unknown. What's more, this API is temporary and will be deprecated soon.
For async generation, you can wait for the new TensorTuesday version for this week, which should soon be upstream to the main branch. The high-level-api supports it natively. It will work with the following code:
    config = ModelConfig(llama_model_dir)
    config.parallel_config.tp_size = 2  # 2 GPUs

    llm = LLM(config)
    llm.generate_async(...)

A similar example locates here.

The TP support on LLM.generate_async is released in the main branch, please refer to this test for details.

Thanks for your reply, I will have a try!


MTL-2237 Create fawkes tarball and publish to fawkes-releases

Summary and Scope

Relates to: MTL-2237

Issue Type

Docs Pull Request
RFE Pull Request

This adds a new release/ directory with code for generating a Fawkes release tar ball by hand or by Jenkins.
The produced tarball includes an upload.sh script for uploading artifacts to Nexus. This was tested, and works with metal-nexus-1.3.1 and metal-nexus-1.4.0.
The included sha256sum files correctly validate the downloaded images
management-vm:/vms/assets/fawkes-0.0.1-alpha.1-10-g0097156/images # for dir in *; do cd $dir; sha256sum -c *.sha256.txt; cd ../; done
fawkes-live-6.1.38-x86_64.iso: OK
hypervisor-6.1.38-x86_64.iso: OK
kubernetes-vm-6.1.38-x86_64.qcow2: OK
management-vm-6.1.38-x86_64.qcow2: OK

Manifests for binaries, container images, OS/VM images, and RPMs are jump-started, along with an upload.sh script for uploading to a local Nexus instance.
Docs will also be generated and included in the tar for installation into a management VM's web root. NOTE This is actually disabled! It does not work properly due to some Ruby dependencies
Dependabot has been updated to account for the new requirements.txt file.

Much of this code was borrowed from CSM and SHASTARELM, but several pieces were modified to drop their CSM coupleship.
Prerequisites

[ ] I have included documentation in my PR (or it is not required)
[x] I tested this on internal system (if yes, please include results or a description of the test)
[ ] I tested this on a vshasta system (if yes, please include results or a description of the test)

Idempotency

Risks and Mitigations

I have a branch for fawkes-docs that is in-progress that will accommodate these changes.


Random freezes

If anyone else has experienced a similar issue, please leave a :+1:  or comment.

For what it's worth, I've been experiencing freezes in the service lately […]
I've not been able to get any response with HTTP, and the log shows nothing happens. Even restarting flexo doesn't work immediately. Then, after maybe 1s-2m, it just starts responding again like nothing happened.
Haven't looked into it, so could definitely be something local, though thought I'd mention anyway just in case.

Originally posted by @aude in https://github.com/nroi/flexo/issues/27#issuecomment-846158653

@aude are you running Flexo with Docker, or are you using the AUR package?

I'm using the AUR package.
I'll keep an eye out for patterns.

@aude two more questions:

What error message did you receive with Pacman? connection refused, or something else?
Did this happen right after you booted your machine or right after you started Flexo? In that case, it could be caused by the latency tests that Flexo runs at startup.

pacman -Sy was just hanging. Each request eventually timed out, one by one.
Yeah. You might be on to something there :thinking: I'll check more for that. (Maybe worth mentioning is that I run with mirrors_predefined and only 1 mirror. And, network is not always available at boot, I experiment a lot with my computer.)

@aude could you send me your flexo.toml file so I can look into it?

Maybe worth mentioning is that I run with mirrors_predefined and only 1 mirror.

So then it's not related to the latency tests, those should not run when you use
mirror_selection_method = "predefined" and a non-empty mirrors_predefined list.

I experiment a lot with my computer.

Experimenting users are always great to find and eradicate bugs 😉

:smile:
My flexo.toml is mostly defaults, here are the things I have changed:
--- flexo.toml  2021-03-21 15:29:47.000000000 +0100
+++ flexo.toml.new      2021-03-21 16:23:28.467698344 +0100
@@ -29,7 +29,7 @@
 mirrorlist_latency_test_results_file = "/var/cache/flexo/state/latency_test_results.json"

 # The IP address to listen on.
-listen_ip_address = "<IP_ADDRESS>"
+# listen_ip_address = "<IP_ADDRESS>"

 # The port to listen on.
 port = 7878
@@ -40,7 +40,7 @@
 #           to select only sufficiently fast mirrors.
 #   "predefined": To only choose the mirrors defined for the variable
 #                 mirrors_predefined (see below).
-mirror_selection_method = "auto"
+mirror_selection_method = "predefined"

 # The meaning of this variable depends on the mirror_selection_method:
@@ -51,7 +51,7 @@
 # This list must not be empty if mirror_selection_method has been set to "predefined".
 # Mirrors in this list should NOT include the $repo/os/$arch suffix, so you should add
 # something like "http://archlinux.mirror.org/" or "https://mirror.org/archlinux/".
-mirrors_predefined = []
+mirrors_predefined = ["https://mirror.rackspace.com/archlinux/"]

 # The number of versions kept in the cache. If set to a positive number, Flexo
 # will keep at most this many versions in the cache. If set to 0, packages will
@@ -67,6 +67,9 @@
 # [[custom_repo]]
 #     name = "archzfs"
 #     url = "https://archzfs.com"
+[[custom_repo]]
+    name = "archrepo.local"
+    url = "http://archrepo.local/"

 # Various settings that apply if mirror_selection_method has been set to "auto".
 [mirrors_auto]

It happened again, after a long suspend!
Seems related, I'll look investigate more.

@aude thanks for taking the time to investigate this!
It might also help if you increase the logging verbosity to DEBUG:

Edit the file /usr/lib/systemd/system/flexo.service and change RUST_LOG=info to RUST_LOG=debug
Apply the changes of the systemd service with sudo systemctl daemon-reload
Restart Flexo: systemctl restart flexo

Maybe something shows up at the log before it freezes.

I was able to reproduce this issue simply by running:
while true; do sudo pacman -Sy; done

and waiting for a while. It ran fine for the first few seconds, and then the following showed up at the logs (log level DEBUG):
May 23 22:41:06 archWS flexo[544]: [2021-05-23T20:41:06.090Z DEBUG flexo] Reading header from client.
May 23 22:41:16 archWS flexo[544]: [2021-05-23T20:41:16.093Z DEBUG flexo::mirror_flexo] Received header from client

Notice the 10 second gap  between the first and the second message. The 2nd log entry appears after pacman has given up:
error: failed retrieving file 'extra.db' from <IP_ADDRESS>:7878 : Operation timed out after 10001 milliseconds with 0 out of 0 bytes received

So this is definitely a bug in Flexo, thank you for reporting this! I have all the information I need to troubleshoot this.

Ok, this is getting interesting.
I was able to reproduce this behavior without Flexo, by using NGINX to mimic Flexo's behavior. With the following server entry in /etc/nginx/nginx.conf:
server {
    listen 7979;
    server_name localhost;

    location = /core/os/x86_64/core.db {
        return 301 https://mirror.rackspace.com/archlinux/core/os/x86_64/core.db;
    }

    location = /extra/os/x86_64/extra.db {
        return 301 https://mirror.rackspace.com/archlinux/extra/os/x86_64/extra.db;
    }

    location = /community/os/x86_64/community.db {
        return 301 https://mirror.rackspace.com/archlinux/community/os/x86_64/community.db;
    }

    location = /multilib/os/x86_64/multilib.db {
        return 301 https://mirror.rackspace.com/archlinux/multilib/os/x86_64/multilib.db;
    }
}

Configure pacman to use <IP_ADDRESS>:7979 as mirror, and then run
while true; do sudo pacman -Sy; done

Every once in a while, I notice a lag, where pacman stalls for a few seconds because for some reason, it does not send the next GET request immediately after the previous one. Those lags are also visible from the access log of NGINX (/var/log/nginx/access.log), notice the 6 second delay between the 3rd and the 4th request:
<IP_ADDRESS> - - [24/May/2021:10:51:29 +0200] "GET /core/os/x86_64/core.db HTTP/1.1" 301 170 "-" "pacman/5.2.2 (Linux x86_64) libalpm/12.0.2"
<IP_ADDRESS> - - [24/May/2021:10:51:29 +0200] "GET /extra/os/x86_64/extra.db HTTP/1.1" 301 170 "-" "pacman/5.2.2 (Linux x86_64) libalpm/12.0.2"
<IP_ADDRESS> - - [24/May/2021:10:51:30 +0200] "GET /community/os/x86_64/community.db HTTP/1.1" 301 170 "-" "pacman/5.2.2 (Linux x86_64) libalpm/12.0.2"
<IP_ADDRESS> - - [24/May/2021:10:51:36 +0200] "GET /multilib/os/x86_64/multilib.db HTTP/1.1" 301 170 "-" "pacman/5.2.2 (Linux x86_64) libalpm/12.0.2"

Looks like it's not a bug in Flexo after all, I have been mislead by this error message:
error: failed retrieving file 'extra.db' from <IP_ADDRESS>:7878 : Operation timed out after 10001 milliseconds with 0 out of 0 bytes received

Even though it says it timed out while retrieving the file from <IP_ADDRESS>, it seems that the timeout actually occurs while downloading the file from the actual remote mirror. Flexo does not download database files from the remote mirror, it serves an HTTP redirect response instead. If pacman then runs into a timeout while downloading the package from the actual mirror, it logs this error message.
This issue also occurs when I use mirror.rackspace.com directly in /etc/pacman.d/mirrorlist, so it's unrelated to Flexo.
@aude So the solution for you is to replace mirror.rackspace.com by a better mirror. I'm fairly certain this should solve the issue, but if it doesn't, please leave a comment.
I have created a new issue to improve Flexo so that unresponsive mirrors are replaced by better mirrors even if the unresponsiveness already occurs when the database files are fetched. But this will obviously not work if you configure your flexo.toml with mirror_selection_method = "predefined" and only a single mirror in mirrors_predefined. So my advice is to either use mirror_selection_method = "auto", or to have a handful of mirrors in mirrors_predefined, so that Flexo can switch the mirror if necessary.

Thanks for investigating! Glad to learn the root cause. What a ride O.O