Move KDFs and PRFs into providers.

Move the KDFs and PRFs into the provider (both FIPS and default).

[x] documentation is added or updated
[x] tests are added or updated

Compiling but not linking.  The EVP_MAC_ APIs are unavailable from the FIPS provider which prevents build it.  Both the Single Step KDF and the TLS1 PRF require MAC access.

Could you move all the kdfs that are only in the default provider into provider/default/kdfs (similar to digests (and ciphers in another PR))

Can you also add a test to fipsprov.c  inside dummy_evp_call() to make sure that the API is visible to the fips provider.

Could you move all the kdfs that are only in the default provider into provider/default/kdfs

Can you also add a test to fipsprov.c inside dummy_evp_call() to make sure that the API is visible to the fips provider.

Done & done.

Found a leak

Hmmm, I didn't notice these despite running valgrind lots.  I'll fix.

Also, about those leaks, it would make more sense to free the fetched methods in the reset rather than the free, since the reset can be called from outside and it zeroes the whole context (i.e. loses the method pointers)

I had a closer look today, and did some fixing, see https://github.com/levitte/openssl/tree/paulidale-kdf

I've cleared all memory leaks at this point.  The only remaining test that fails is evp_test with evppkey_kdf.txt.  https://travis-ci.org/levitte/openssl/jobs/578810736

... and finally, I had a test run with no errors on my laptop.
(I've grown a distaste for the BUF_MEM implementation...  we should refactor that into something a little bit more sane)

CI running the latest in https://travis-ci.org/levitte/openssl/builds/578857589
I'm off for a few hours, so will not be able to look before later

I've grown a distaste for the BUF_MEM implementation... we should refactor that into something a little bit more sane

Could we use WPACKET instead?

I'll try to get back onto this soon.  I've been diverted into other higher priority things for a while.

I like the extra bits you've added @levitte

Could we use WPACKET instead?

I'm not familiar enough to know if it can fulfil what I'm looking for...

@levitte your changes are merged in here and the Windows build failure fixed.

Documentation still to come.

First stab at documentation updates done, time for real reviews.

I think that's all comments addressed.

[repeat]
Also, please consider renaming EVP_KDF_{name}.pod to EVP_KDF-{name}.pod.  Since the EVP_KDF_{name} macros do not exist any more (if they do, they should be removed), there's no point having the documentation pretend they do, and that will make things like this possible:
$ man EVP_KDF HKDF

Sorry, missed the rename earlier.  Done now.  As are the other requested changes.

Huh?

doc/man3/EVP_KDF-CTX.pod:1: EVP_KDF-CTX (filename) missing from NAME section

???

Figured it out, waiting for CIs...

CIs are good :)

Figured it out

Cool.  Sorry for not being precise about what files should be affected

No problem, my trouble is find time to do anything at the moment :(

Changes made, except for switching the short name macros to strings.  Happy to do this if it is wanted but I'm skeptical.

Rebased to master to avoid build issue.

Changes made, except for switching the short name macros to strings. Happy to do this if it is wanted but I'm skeptical.

These are manuals directed to the users.  Because we have string based identification, that is what they should be presented with first, not our magical macros (I see no harm in presenting our macros too).
This has all to do with building habits, and especially when met with new provided algorithms we know nothing about (say, "BLARG"), I certainly don't want to see issues raised just because we don't provide a macro for it.
We the OpenSSL developers use macros because it makes us feel safe, and others are welcome to use the same existing macros, but that's a different story.

Sure thing, I'll change over to strings.  I figured it was worth clarification.  Tomorrow I expect.

I figured it was worth clarification

At some point, I plan on pilfering through all the provider related docs and make them consistent in this regard...  when I've cleared my head of the stuff that wants attention nownownow.

Stringified the KDF names in the documentation.
Rebased to head to avoid conflicts.

CIs are happy.  Any further changes?

Removed EVP_KDF_new and replaced it with EVP_KDF_fetch in the documentation.

The Travis failure is not relevant.

Merged, thanks for your patience.

thanks for your patience.

Likewise

This broke the gost test. Please see issue #9794.


Support RpcService based Decorator and DecoratorFactoryFunction

Currently, DecoratorFactoryFunction and Decorator annotations only support HTTP-based decorators. It can be a good idea to support RPC-based decorators to be defined using those annotations and methods.

It sounds like a good idea.
One thing to note is that RpcService  is only used for Thrift services. We have no plan for supporting decorators for gRPC services. It was introduced by Armeria because of the absence of interceptor or something similar in libthrift.
I know you heavily use gRPC for your services. Is this issue not your need but a general requirement for functionality?

It sounds like a good idea. One thing to note is that RpcService  is only used for Thrift services. We have no plan for supporting decorators for gRPC services. It was introduced by Armeria because of the absence of interceptor or something similar in libthrift.
I know you heavily use gRPC for your services. Is this issue not your need but a general requirement for functionality?

I unfortunately fallen into the naming trap. I don't need to use this function for Thrift. Feel free to close if there is no meaning to support decorators in Thrift.

I see. Please re-open when you need this feature.


If parameter "inferencingPassword" in property of topology.json could be removed if authentication of token is not expected to be set for repository in container registry

Please refer to this session of Readme in edge folderIn this section of generate and deploy... of this tutorial there is a topology.json file quoted at https://raw.githubusercontent.com/Azure/video-analyzer/main/pipelines/live/topologies/httpExtension/topology.json  However, if we are not going to refer to setup access permission for inferencing module by referring to this Documentation, can we remove/delete below code snippet         {         "name": "inferencingPassword",         "type": "String",         "description": "inferencing endpoint password.",         "default": "dummyPassword"       }, from pipeline topology property section? Please comment.

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [x] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Any log messages given by the failure

Expected/desired behavior

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

Versions

Mention any other details that might be useful

Thanks! We'll be in touch soon.

Yes. Please feel free to remove any unused paramters.


Mongodb raw queries schemas are not getting generated

Bug description
Refer to https://github.com/omar-dulaimi/prisma-trpc-generator/issues/29
How to reproduce
Refer to https://github.com/omar-dulaimi/prisma-trpc-generator/issues/29
Expected behavior
Refer to https://github.com/omar-dulaimi/prisma-trpc-generator/issues/29
Prisma information
Refer to https://github.com/omar-dulaimi/prisma-trpc-generator/issues/29
Environment & setup
Refer to https://github.com/omar-dulaimi/prisma-trpc-generator/issues/29
Prisma Version
Refer to https://github.com/omar-dulaimi/prisma-trpc-generator/issues/29

Fixed in https://github.com/omar-dulaimi/prisma-zod-generator/releases/tag/0.5.3


clover: Cannot locate rosdep definition for [led_msgs]

I get the following error with rosdep install -y --from-paths src --ignore-src command. How to fix this error. I will be glad if you help. I use full desktop kinetic on rpi 3 with ubuntu mate 16.04.
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
clover: Cannot locate rosdep definition for [led_msgs]
clover_simulation: Cannot locate rosdep definition for [led_msgs]

Hi! The led_msgs package is located in https://github.com/CopterExpress/ros_led repository, so please clone to your Catkin workspace from there.

Thanks, I found the ros_led pack. but typing sudo chown root: root $ (catkin_find led_msgs led_msgs_node) chown: missing operand after 'root: root'

There should not be a space after the colon.

Hi Oleg,
new error, How can i make for it. Thanks so much.
erem@erem-desktop:~/catkin_ws$ sudo chown root: root $(catkin_find led_msgs
led_msgs_node)
chown: cannot access 'root': No such file or directory
Oleg Kalachev<EMAIL_ADDRESS>14 Ara 2020 Pzt, 17:50 tarihinde
şunu yazdı:

Thanks, I found the ros_led pack. but typing sudo chown root: root $
(catkin_find led_msgs led_msgs_node) chown: missing operand after 'root:
root'
There should not be a space after the colon.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CopterExpress/clover/issues/291#issuecomment-744491222,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AETRLZUUIQQL7KSA3SHEKJTSUYQ4FANCNFSM4U2X7EAQ
.

--
Serkan ATA
R&D Specialist
0<PHONE_NUMBER>
EREM TEKNOLOJİ
[image: Resim]

The correct commands for running ws281x without sudo are:
sudo chown root:root $(catkin_find ws281x ws281x_node)
sudo chmod +s $(catkin_find ws281x ws281x_node)

Not:
sudo chown root: root $(catkin_find led_msgs led_msgs_node)

Hello again Oleg,
I'll do a test on clover. I need this. I am using Ubuntu mate. I also wrote
the last commands you sent. but not tol. Please I would be grateful if you
could help. Thanks for all your help.
Oleg Kalachev<EMAIL_ADDRESS>14 Ara 2020 Pzt, 18:04 tarihinde
şunu yazdı:

The correct commands for running ws281x without sudo are:
sudo chown root:root $(catkin_find ws281x ws281x_node)
sudo chmod +s $(catkin_find ws281x ws281x_node)
Not:
sudo chown root: root $(catkin_find led_msgs led_msgs_node)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CopterExpress/clover/issues/291#issuecomment-744500453,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AETRLZR5HE4SSA36JVQQBM3SUYSPPANCNFSM4U2X7EAQ
.

--
Serkan ATA
R&D Specialist
0<PHONE_NUMBER>
EREM TEKNOLOJİ
[image: Resim]

So what is the problem for now?

erem@erem-desktop:~/catkin_ws$ sudo chown root: root $(catkin_find led_msgs
led_msgs_node)
chown: cannot access 'root': No such file or directory
erem@erem-desktop:~$ ls -ld .. /erem/home
drwxr-xr-x 3 root root 4096 Kas 17 21:23 ..
Oleg Kalachev<EMAIL_ADDRESS>14 Ara 2020 Pzt, 18:33 tarihinde
şunu yazdı:

So what is the problem for now?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CopterExpress/clover/issues/291#issuecomment-744519193,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AETRLZRVGRJDIUZP4U33OYTSUYV3XANCNFSM4U2X7EAQ
.

--
Serkan ATA
R&D Specialist
0<PHONE_NUMBER>
EREM TEKNOLOJİ
[image: Resim]

The correct commands for running ws281x node without sudo are:
sudo chown root:root $(catkin_find ws281x ws281x_node)
sudo chmod +s $(catkin_find ws281x ws281x_node)

Not:
sudo chown root: root $(catkin_find led_msgs led_msgs_node)

Hello Oleg,
I fixed the problem.
sudo chown user $ (catkin_find led_msgs)
Thank you for all your help.
finally how can I configure for ardupilot.
Oleg Kalachev<EMAIL_ADDRESS>14 Ara 2020 Pzt, 18:47 tarihinde
şunu yazdı:

The correct commands for running ws281x node without sudo are:
sudo chown root:root $(catkin_find ws281x ws281x_node)
sudo chmod +s $(catkin_find ws281x ws281x_node)
Not:
sudo chown root: root $(catkin_find led_msgs led_msgs_node)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CopterExpress/clover/issues/291#issuecomment-744528284,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AETRLZXOJWWOCYQSU5EJQNDSUYXRNANCNFSM4U2X7EAQ
.

--
Serkan ATA
R&D Specialist
0<PHONE_NUMBER>
EREM TEKNOLOJİ
[image: Resim]

Mainly this packages target PX4. Some feature would work with ardupilot, but only some of them.
To connect to the autopilot though USB, basically you should set the correct serial device path into here https://github.com/CopterExpress/clover/blob/master/clover/launch/mavros.launch#L15.

Hello Oleg,
How can I run only the optical _flow.cpp file from Clover with runros.
There is a relationship with nodelet but I couldn't understand.
Oleg Kalachev<EMAIL_ADDRESS>14 Ara 2020 Pzt, 19:31 tarihinde
şunu yazdı:

Mainly this packages targets PX4 autopilot. Some feature would work with
ardupilot, but only some of them.
To connect to the autopilot though USB, basically you should set the
correct serial device path into here
https://github.com/CopterExpress/clover/blob/master/clover/launch/mavros.launch#L15
.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CopterExpress/clover/issues/291#issuecomment-744556647,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AETRLZQ362CH2X6EUFBHUXLSUY4VBANCNFSM4U2X7EAQ
.

--
Serkan ATA
R&D Specialist
0<PHONE_NUMBER>
EREM TEKNOLOJİ
[image: Resim]

Obsolete.


ci: improve the output

The markup ##[...] makes GHA groups outputs together, making it easy to compare results across runs.

Here's a new output on GHA run.


How to save session to file and then use method restore_session

Hi,
I was wondering how I can save the session after login to a file and then use the restore_session method.
Thanks.

Save the session by using kyros_client.session.save_to_file(filename). To restore it, you can use restore_session method with a Session instance (which you can initiate from a file by using its from_file static method) as an argument.


Add custom variables

Usage:
template "unicorn_init.erb", "/tmp/unicorn_init", 0770, {test: true}

test could be used in the template. This would allow one to change the template behavior per role. Would make it more dynamic.

Thanks for your suggestion, I will consider it. Or maybe you can provide a PR.

Nice, thx a lot!


Tests fail in UTC+ timezones due to webmock params

I'm using WSL2 with Ubuntu 22 and Docker Desktop.
Ruby 3.2.1 installed via RVM.
Please see attached file.
make-test_failures.txt

Due to positive UTC offset. For example:
  19) Webhookdb::Replicator::SignalwireMessageV1 behaves like a replicator that can backfill incrementally upserts all records if incremental is false
      Failure/Error: r = HTTParty.get(url, **opts, &)

      WebMock::NetConnectNotAllowedError:
        Real HTTP connections are disabled. Unregistered request: GET https://whdbtestfake.signalwire.com/2010-04-01/Accounts/bfkey/Messages.json?DateSend%3C=2020-11-24&PageSize=100 with headers {'Accept'=>'application/json', 'A
ccept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization'=>'Basic YmZrZXk6YmZzZWs=', 'Connection'=>'keep-alive', 'Content-Type'=>'application/x-www-form-urlencoded', 'User-Agent'=>'WebhookDB/unknown-release htt
ps://webhookdb.com 1970-01-01T00:00:00Z'}

        You can stub this request with the following snippet:

        stub_request(:get, "https://whdbtestfake.signalwire.com/2010-04-01/Accounts/bfkey/Messages.json?DateSend%3C=2020-11-24&PageSize=100").
          with(
            headers: {
                  'Accept'=>'application/json',
                  'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
                  'Authorization'=>'Basic YmZrZXk6YmZzZWs=',
                  'Connection'=>'keep-alive',
                  'Content-Type'=>'application/x-www-form-urlencoded',
                  'User-Agent'=>'WebhookDB/unknown-release https://webhookdb.com 1970-01-01T00:00:00Z'
            }).
          to_return(status: 200, body: "", headers: {})

        registered request stubs:

        stub_request(:get, "https://whdbtestfake.signalwire.com/2010-04-01/Accounts/AC123/Messages.json?DateSent%3E=2008-01-02&From=%2B987654321&Page=1&PageSize=2&PageToken=SomeOtherToken&To=%2B123456789")
        stub_request(:get, "https://whdbtestfake.signalwire.com/2010-04-01/Accounts/AC123/Messages.json?DateSent%3E=2008-01-02&From=%2B987654321&Page=1&PageSize=2&PageToken=PAMMc26223853f8c46b4ab7dfaa6abba0a26&To=%2B123456789")
        stub_request(:get, "https://whdbtestfake.signalwire.com/2010-04-01/Accounts/bfkey/Messages.json?DateSend%3C=2020-11-23&PageSize=100").
          with(
            headers: {
                  'Authorization'=>'Basic YmZrZXk6YmZzZWs='
            })

You can see that here is the registered stub:
https://whdbtestfake.signalwire.com/2010-04-01/Accounts/bfkey/Messages.json?DateSend%3C=2020-11-23&PageSize=100

But here is the request:
https://whdbtestfake.signalwire.com/2010-04-01/Accounts/bfkey/Messages.json?DateSend%3C=2020-11-24&PageSize=100

Will fix this up this week.

Thank you. I was getting these errors as well in my own unit tests, and I was trying to figure out what I did wrong.


Helix API WorkItemController ListFiles can cause exception if no files are uploaded.

Helix API WorkItemController ListFiles can cause exception if no files are uploaded.
Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description

Happens about 200 times a day
Go to Log Analytics and run query
exceptions
| where timestamp > ago(30d)
| where cloud_RoleName == 'fabric:/Helix/HelixAPI'
| where type == 'System.InvalidOperationException'
| where outerMessage == 'Sequence contains no elements'
| summarize count() by bin(timestamp, 1d), method
| render timechart

Found while digging through logs for an unrelated problem.

PR: Pull request 41075: Don't Max if the list is empty - Repos (azure.com)

Go to Log Analytics and run query
exceptions
| where timestamp > ago(30d)
| where problemId == 'System.NullReferenceException at HelixAPI.Controllers.WebHooksController+<UpdateProjectItemIssueField>d__16.MoveNext'
| summarize count() by bin(timestamp, 1d)
| render timechart


Equality checks and large data sets

I am a working with a large dynamic deep nested map of data. I have read in some of the tickets that there is no batch update for maps and deep maps, because the expectation is that the UI framework should take care of throttling rerenders. That however isn't very efficient - I have thousands of updates within dozens of milliseconds and they freeze the app because of all the changes that happen to the map. Each change causes a chain reaction of notifying listeners, which then recompute and notify their listeners, and so it goes. For now, I have switched back to atom, replacing the entire state at once, which solves the freezing problem, but I suspect there is still too much unnecessary recomputation going on.
If we look at the atom setter, we see this equality check:
    set(data) {
      if ($atom.value !== data) {
        $atom.value = data
        $atom.notify()
      }
    },

Working with atoms, I can do some other equality checks from the outside. In case of computed values, however, it seems that there is no way to guarantee that values are identical even though values are equal.
I am wondering what your suggestion would be. I see 2 possible solutions:

Add support for batch updating maps before firing notify
Extend computed with an option to provide a custom function that would check equality before setting the atom value

Extend computed with an option to provide a custom function that would check equality before setting the atom value

computed is just syntax sugar on top of listener. You can create your own computed with any logic.
I think it is better than making API complex with more options.

Add support for batch updating maps before firing notify

It is also nice idea, but we need research of API and how to implement it with less code.

Tried to rework computed, but somehow the TypeScript magic got lost :( There is a considerable performance gain though.
Will be off next week, so will revisit when I am back from holiday.


Removed support for MRI ruby versions lower than 2.2

ditto

Coverage decreased (-0.43%) to 98.74% when pulling 537b899e3888028467c9243b4ab17deaa1cc5deb on AlfonsoUceda:master into ab3a4ff2fe697116d97279c4d8ed76bcf03eb12c on lotus:master.

Coverage decreased (-0.43%) to 98.74% when pulling 537b899e3888028467c9243b4ab17deaa1cc5deb on AlfonsoUceda:master into ab3a4ff2fe697116d97279c4d8ed76bcf03eb12c on lotus:master.

@AlfonsoUceda Thank you :+1:


Added ipv6 support

I added the patch provided by bert128 in this issue : https://github.com/byt3bl33d3r/CrackMapExec/issues/339
It needed a minor change in the Exceptions handling to fallback on IPV4 resolution, and now it seems to work very well.
I tested this support on Forest (ipv4) and APT (ipv6) on Hack The Box.

Done on https://github.com/byt3bl33d3r/CrackMapExec/commit/89035e06a5f6cf1eb5054e4984c081b669e9ebb6


less dependency missing

Hey, first of all, awesome project, thank you.
The other problem is that I get `ERROR in Cannot find module 'less'.
Sounds ridiculous, and probably up to less-loader to bring that dependency, but works just fine without your package (though I'm not using less anywhere else).

Thanks in advance, unimonkiez

Well I did some digging and it is less-loader's problem.

Well I did some digging and it is less-loader's problem.
I opened an issue there


DS18B20 as external temperature sensor

The original MHI-AC-Ctrl software and PCB have an option to connect a DS18B20 temperature sensor and use that sensor instead of the internal temperature sensor of the HVAC unit.
(upper left corner of: https://github.com/absalom-muc/MHI-AC-Ctrl/blob/master/images/PCB_top.PNG)
(https://github.com/absalom-muc/MHI-AC-Ctrl/blob/master/SW-Configuration.md#external-temperature-sensor-settings-supporth)
In the MHI-AC-Ctrl-ESPHome version, I couldn't find the option to use a connected DS18B20 temperature sensor.
Is it possible to add this feature to the code?

You can add this in the yaml file:
# Dallas 18x20 temperature sensor configuration entry
dallas:
  - pin: GPIO4    # D2 on a Wemos D1 mini (8266)
    update_interval: 60s

  - platform: dallas
   # index accept any found single Dallas sensor.
   # Use address, when you have more than one Dallas sensors hooked up at the same time
    index: 0
   # address: 0x0123456789ABCDEF
    state_class: measurement # keep statisics about the sensor in Home Assistent. Not available in stand stand alone (ESPhome alone)
    id: troom_dallas
   # on_value enables to use then: and "lambda: |-" to able to write C++ code in the YAML source
   # this is the overwrite of the internal sensor with the one connected directly to you intervacel MHI-AC-CTL board and Wemos D1 Mini shield
    on_value:
      then:
          - lambda: |-
              float value;
              value = id(troom_dallas).state;
              ESP_LOGD("mhi_ac_ctrl", " Room temperature sensor value: %f °C", value);
              return ((MhiAcCtrl*)id(${deviceid}))->set_room_temperature(value);

  # If you still want to have the value being published to the outside
  - platform: template
    name: ${devicename} Room Temperature
    id: "room_temperature"
    unit_of_measurement: "°C"
    lambda: return id(troom_dallas).state;

(copied from someone else)

Amazing! Thank you.


Add binary and deleted properties to dependency_file

A very minimal change to DependencyFile to allow us to specify wether files are binary and/or deleted.

Oh, please🙏 do not skip binary. I am silently working hard core on ALL these * & more and find every character, space, font size, setting, configurations.... make a HUGE deal. There is a unique art designed, and if we leave something out, there is a piece of the artist effort looked over, and we can only imagine how much went into the smallest detail. Stuff breaks and people are affected, especially when an one's character and access is strategically connected. With that said, I have grown a MASSIVE heart for the developer community and even shed some frustration tears for the near ridiculous obstacles faced. I truly want to help simplify this and hope to show that more soon. Thank you all.


2020-04-20 tc1513 M2SD VSSOW parameter scale/unit is incorrect and missing from warning in STDOUT

Unit Conversion not applied for VSSOW Parameter: Should have units of L/kg, but the scale of values is consistent with units of mL/kg (1000x larger).
VSSOW is not included in the comment describing unit conversions:
unit_conversion : Unit Class 4 (Volume) volume_col:  V0 VZO VZP VSSO VSSP VSSPW  parameters are scaled from  ML  to  L  via scaling factor:  0.001
Refer to 2020-04-03_tc1513_M2SD.html

I can replicate this issue, while the automated testcase tc1513_M2SD_ed0aed3.html no longer shows this behaviour.
This is due to the mct having no value for NORMBSU. This causes the volume to be 1000x greater and for r$VOLUMEWU to be NA.
As of commit ed0aed3, with the following mct I am not able to replicate this.
> paste(testcase.id, mct$MODEL, mct$DOSINGTYPE, mct$AUCMETHOD, mct$TIME, sep = ".")
[1] "tc1513.M2.SD.LINLOG.NOMINAL"
> mct[grep("OUTPUTUNIT$", names(mct))]
  TIMEOUTPUTUNIT AMOUNTOUTPUTUNIT DOSEOUTPUTUNIT VOLUMEOUTPUTUNIT CONCOUTPUTUNIT
1             HR               NA             MG                L          NG/ML
  KELOUTPUTUNIT CLOUTPUTUNIT AUCOUTPUTUNIT AUMCOUTPUTUNIT AUCNORMOUTPUTUNIT
1          1/HR        ML/HR      NG.HR/ML    NG.HR.HR/ML       NG.HR/ML/MG
  AUROUTPUTUNIT CONCNORMOUTPUTUNIT RATEOUTPUTUNIT VOLUMENORMOUTPUTUNIT
1            NA           NG/ML/MG             NA                 L/KG
  CLNORMOUTPUTUNIT
1         ML/HR/KG
> mct[grep("^NORMBS", names(mct))]
  NORMBS NORMBSU
1  WTRAW   WTUNI

I'm not certain what the intended behaviour is when you don't provide a unit for the NORMBS column, so I don't know if this issue is closed or not.

For now consider missing NORMBS a configuration error if normalized parameters are selected in the PARAMETERLIST. The computation engine should report the conflict, decline to compute the requested body size normalized parameters but not crash/fail.

If that's the case then r$VSSOW, r$CLOW (and other weight-normalised clearance and volumes) should be NA if no value is given for NORMBSU in the mct.
This is the underlying problem for this issue (with VSSOW reported as x1000 fold higher being a side-effect), so I will leave it open.

This is not an issue with VSSOW, but instead an issue with the handling of mct$NORMBSU when it is not a valid. Closing this and related issues.

linking #247


net/upnp: add missing firewall anchors

Later releases of miniupnpd require additional firewall anchors to function properly. This commit adds those.

@fichtner my primary motivation for this is to get multiple game consoles behind an opnsense router working properly when trying to join lobbies together - there was quite a bit of work done between miniupnpd and another firewall distro to get this working.
Sometime in 2020/21 miniupnpd fixed some NAT rule generation (I think around version 2.2.0, the changelog is a little lacking (https://github.com/miniupnp/miniupnp/blob/master/miniupnpd/Changelog.txt#L90)) - part of the reason for adding these extra anchors in is to ensure the rules are inserted at the proper place (i.e. before other NAT rules generated by opnsense).
I'll be submitting an update to ports for a miniupnpd package update soon to improve this behavior in opnsense.
Forgive me if it's not very clear - I don't usually dip my feet into BSD based stuff so pf is relatively new to me.

thanks for the details. from the ports PR I see that before we do this the update must be carried out, right? that could be a slow grind in the FreeBSD bugzilla, but we shall see :)

Yeah AFAIK miniupnpd needs to be updated first but I guess it wouldn't hurt to merge this in anticipation

Merged, thanks!

Is there any way for me to add this code change manually in a current build?


Flutter will not run on Wear OS devices using SnapDragon 2100 chips (OpenGL ES 310)

Steps to Reproduce
Create a simple flutter app (flutter create) and run on any wear os device running on a SnapDragon 2100 chip. The app will crash immediately on start.

Create a simple flutter app (flutter create)
Run on any Wear OS device with a Snapdragon 2100 soc, such as the TicWatch C2
The app will crash on startup

Logs

Installing build/app/outputs/apk/app.apk...
Syncing files to device TicWatch C2...
I/tisya.wear_tes(19703): Thread[3,tid=19710,WaitingInMainSignalCatcherLoop,Thread*=0xa80b7200,peer=0x13180980,"Signal Catcher"]: reacting to signal 3
I/tisya.wear_tes(19703):
I/Adreno  (19703): ERROR: The GPU does not support this version of OpenGL ES, try an older version
D/skia    (19703): Shader compilation error
D/skia    (19703): ------------------------
D/skia    (19703):    1	#version 310 es
D/skia    (19703):    2
D/skia    (19703):    3	in highp vec4 sk_FragCoord_Workaround;
D/skia    (19703):    4	precision mediump float;
D/skia    (19703):    5	out mediump vec4 sk_FragColor;
D/skia    (19703):    6	in mediump vec4 vcolor_Stage0;
D/skia    (19703):    7	void main() {
D/skia    (19703):    8	    mediump vec4 outputColor_Stage0;
D/skia    (19703):    9	    {
D/skia    (19703):   10	        outputColor_Stage0 = vcolor_Stage0;
D/skia    (19703):   11	    }
D/skia    (19703):   12	    {
D/skia    (19703):   13	        sk_FragColor = outputColor_Stage0;
D/skia    (19703):   14	    }
D/skia    (19703):   15	}
D/skia    (19703):   16
D/skia    (19703): Errors:
D/skia    (19703): ERROR: The GPU does not support this version of OpenGL ES, try an older version
D/skia    (19703):
I/Adreno  (19703): ERROR: The GPU does not support this version of OpenGL ES, try an older version
D/skia    (19703): Shader compilation error
D/skia    (19703): ------------------------
D/skia    (19703):    1	#version 310 es
D/skia    (19703):    2
D/skia    (19703):    3	in highp vec4 sk_FragCoord_Workaround;
D/skia    (19703):    4	precision mediump float;
D/skia    (19703):    5	out mediump vec4 sk_FragColor;
D/skia    (19703):    6	in highp vec4 vinCircleEdge_Stage0;
D/skia    (19703):    7	in mediump vec4 vinColor_Stage0;
D/skia    (19703):    8	void main() {
D/skia    (19703):    9	    mediump vec4 outputColor_Stage0;
D/skia    (19703):   10	    mediump vec4 outputCoverage_Stage0;
D/skia    (19703):   11	    {
D/skia    (19703):   12	        highp vec4 circleEdge;
D/skia    (19703):   13	        circleEdge = vinCircleEdge_Stage0;
D/skia    (19703):   14	        outputColor_Stage0 = vinColor_Stage0;
D/skia    (19703):   15	        highp float d = length(circleEdge.xy);
D/skia    (19703):   16	        mediump float distanceToOuterEdge = circleEdge.z * (1.0 - d);
D/skia    (19703):   17	        mediump float edgeAlpha = clamp(distanceToOuterEdge, 0.0, 1.0);
D/skia    (19703):   18	        outputCoverage_Stage0 = vec4(edgeAlpha);
D/skia    (19703):   19	    }
D/skia    (19703):   20	    {
D/skia    (19703):   21	        sk_FragColor = outputColor_Stage0 * outputCoverage_Stage0;
D/skia    (19703):   22	    }
D/skia    (19703):   23	}
D/skia    (19703):   24
D/skia    (19703): Errors:
D/skia    (19703): ERROR: The GPU does not support this version of OpenGL ES, try an older version

@pmutisya Revisiting this issue, is there a way for you to recheck this issue using latest stable version to see if the issue still persists or not ?
I tried running counter app in WearOS emulator which works properly, but not sure about using SnapDragon chip as you mentioned.


SceneView can freeze when invoking sceneView.startVideoRecording()

Just want to start by saying I think this library is really great, especially when compared to the few other sceneView recorders libraries. This library produces such a light weight and smooth recording experience.
But,
Every so often, the scene view will freeze when invoking the sceneView.startVideoRecording() function, causing other areas of the UI to become unresponsive resulting in a force quit by the user. I tested on iPhone 8+, 4 out 25 AR record sessions experienced this freezing issue.
Is this a know issue? Has anybody else experienced library behavior as described above?

Hi @miketabb33, two questions for now.
Are you using the newest version i.e. 2.4.0?
and do you call sceneView.prepareForRecording() at viewDidLoad()?
I faced this issue when AWAssetWriter blocked the main thread for a long time on a first run. I added a workaround for this a few versions ago.
Otherwise, it would be great if you run instruments, profile your app and find what is so time-consuming :)

Hi @v-grigoriev,
The current version specified in the pod file is pod 'SCNRecorder', '~> 2.4'
Confirmed, the sceneView.prepareForRecording() is called at viewDidLoad()
I profiled the app on a iPhone 7 and an iPhone SE (2g) and observed some leaks in CoreVideo. I A/B tested with another sceneView recording library and didn't find any leaks which makes me think the leaks are related to the library. Im also running instruments on a 2013 macBook pro, Im not sure if that could have anything to do with it lol. Also, not sure how related this could be in regards to my original issue report. I just want to share what I see :) I added some screen shots below for additional context. The screenshot with the completed responsible library and frame are from the iPhone 7.
Not sure how to how to read process times but my app is on the heavier side which may be a factor in freeze up. :)

@miketabb33 This should be fixed in 2.5.0. Can you please verify?


[WIP] Node network Part1

Create a macvtap based "nodeNetwork". Such a special nodeNetwork is the same network the kubelet uses to register it's node. It allows a nested VM to potentially also register itself as a kubernetes node.
Partially implements #367

@rmohr You marked this as "part1". Can you outline what you'd like to do in this iteration and what you'd like to follow up on with "part2"?

@vladikr moving the whole network code out of virt-handler is now done. Next thing is code cleanup and adding more tests.

Have you given any thought about how we would migrate a VM IPs during live migration?

I see a few possibilities there, which depend on a few factors:

Do we want to introduce something like ADD_MIGRATE/DEL_MIGRATE?
Is the networking solution synchronized across node boundaries?
If the networking solution not synchronized, do we want to take  some logic into virt-handler to allow hand overs as a kubevirt core functionality?
If the migration mode is post-copy or pre-copy

It is not yet clear for me, what I would want to pursue.

retest this please


Suggestion/improvement request - expose the frontend/ app.html , favicon and *.css files

Hi,
I just thought I'd suggest the following to allow light customisation:
Mapping the frontend/ folder, or partse thereof, to a volume so that the app.html, favicon and the .css can be modified.
This would allow for an easy way to do light customisation.
I know you've mentioned the ability to use and entirely different frontend, but that would be beyond my ability ( and also not something I'd want to spend time on ).
However, it would be cool to have the ability to do some very light customisation.
A previous project I used for basic .md websites ( https://github.com/dbohdan/caddy-markdown-site ) allowed modifying a few bits of the html template and changing the .css.
As far as I am aware, Obsidian Publish also allows users to change the look of their websites by changing a .css.  So this would fit in with that.
Thanks!

That's a great suggestion. Yes I shall expose the ability for custom css. I can modularize different parts to give you the ability to customize your layout. I'll have to check how much customizability I should support but this helps also use custome css in markdown just like in obsidian.
I'll work on this as the next feature.

I gave this some thought and was wondering what level of customizability would you need. For eg. at the component level like file-tree, the rendered page, etc or fine grained customization ? I think there's a trade off in terms of complexity of enabling this feature. I think I can make this work by allowing custom css that can be attached during run-time to override specific classes or style settings for specific aspects of the design.. This would be feasible and would not cause too much overhead. Let me know if this is along the lines of what you were thinking or you need something even lower..

In my opinion you should make it really high level. And keep it simple for people with close to zero web development skills (me included).
If you consider the target user as someone who essentially wants to be able to publish markdown notes (like an Obsidian vault), then I think for most people there's 2 main things:

Structure of the page ( Maybe a true/false setting env?)

file tree navigation / sidebar
outline (it's great for longer content, but takes up screen space
graph (I know a lot of Obsidian users really like the graphs, I don't care for it but just mentioning it)
obsidia-webpage-export does this, where it allows users to toggle on or off these different sections. I think this works really well, and it's about as customisable as you'd want, without getting overly complex?

Theming. I know very little about this, but ideally you'd want to maximise the options for your users by making it compatible with existing stuff, by just dropping in a stylesheet?

caddy-markdown-site does this by allowing users to change the stylesheet in the head.html, and just using this to "theme" their site
obsidia-webpage-export seems to integrate Obsidian themes, but it does that by being a plugin for Obsidian rather than a standalone tool.
Could be an idea to piggyback on Obsidian's publish.css stylesheets? Ie just allow people to drop an existing publish.css like the ones from obsidian minimal publish theme to theme their pages?

So for the structure of the page, when you mean true/false setting in the env, are you talking about enabling/disabling that component entirely ? Or you want to make it toggleable like in Obsidian-webpage-export ? Making the sections toggleable is definitely easy to implement.
So regarding theming, do you only want to change the colors ? I checked out the Obsidian minimal publish theme, and it basically only seems to be setting the colors of different elements. publish.css seems to be overriding predefined variables to set new colors. If this is sufficient then it's very feasible to add this feature.
It only gets tricky when you want to adjust the design/layout itself. For eg. if you want the file tree on the right instead of left.. That sorta stuff would add more complexity and I would need to give it some thought.
Does this make sense ? So here are the options..
option 1: allow mechanisms to change all colors.
option 2: layout level flexibility to change any css property
option 1 is straightforward and can be done while 2 is more complex and would need time to analyze. Let me know what you think.

So for the structure of the page, when you mean true/false setting in the env, are you talking about enabling/disabling that component entirely ? Or you want to make it toggleable like in Obsidian-webpage-export ? Making the sections toggleable is definitely easy to implement.

Obsidian-webpage-export (which I tried and which is why I'm comparing against) allows users to completely disable components in the export settings.
If I choose to disable the graph, it will not be present at all on the export.
If I enable a component, it'll allow me to choose whether it starts collapsed or expanded.
Personally, I am not sure if you need to go that far. I'm perfectly happy with just the ability to toggle (by which I mean have it present, but having the button to show or collapse) each of the components (like the current tag explorer).
I'm not a fan of the graph, but that seems to be an important thing for a lot of people using obsidian.
If you give me option to disable that component, I will, but otherwise I might simply start with it collapsed if I'm given the option.
Likewise, if someone doesn't really use headings within their text, the ToC becomes useless.
Same can be said for tags and the tag explorer.
I would not go any further than this. Based on your comment about layout complexity, I don't think it's worth it to start allowing to move things around.
tag explorer:

show
- start collapsed
- start expanded
disable entirely

table of contents:

show

start collapsed
start expanded

disable entirely

graph view (from the roadmap):

show

start collapsed
start expanded

disable entirely

So regarding theming, do you only want to change the colors ? I checked out the Obsidian minimal publish theme, and it basically only seems to be setting the colors of different elements. publish.css seems to be overriding predefined variables to set new colors. If this is sufficient then it's very feasible to add this feature.

I think colours, font and maybe font size will be the 3 things that most people would be interested in.
If you change these you can make any site look entirely different.
Just going to link the obsidian publish theme docs for reference:
https://docs.obsidian.md/Reference/CSS+variables/CSS+variables#Obsidian+Publish

Does this make sense ? So here are the options.. option 1: allow mechanisms to change all colors. option 2: layout level flexibility to change any css property
option 1 is straightforward and can be done while 2 is more complex and would need time to analyze. Let me know what you think.

I think option 1 is the clear winner. Layout changes will introduce too much complexity.
An override file might be best?
Optional bind mount in docker with a publish.css or theme.css where anything set would override the default ? This simplifies the deployment.


auto-format pushes and PRs

Reviewing PRs would be simpler if formatting changes (e.g., tabs vs. spaces) didn't appear as modified lines of code.
I think with GitHub actions I can auto-format the codebase. This would be nice to run with every push.
https://github.com/marketplace/actions/dotnet-format

Actually since we're already using Azure Pipelines, we should probably figure out how to run it within that system.
https://www.meziantou.net/enforce-dotnet-code-style-in-ci-with-dotnet-format.htm

Finally figured this one out. This is what I learned.

Define formatting rules in .editorconfig
Visual Studio auto-formatter (CTRL+K, CTRL+D) respects it
A command line autoformatter can be installed too

install: dotnet tool install --global dotnet-format
run: dotnet format

On Azure Pipelines this tool requires the latest .NET Core 3, so use UseDotNet to get that. Doing this means you also have to run UseDotNet to grab .NET Core 2 again.
When run with --dry-run --check the auto-formatter will return with a nonzero exit code if formatting is required

this is sufficient to "break the build"
--verbosity diagnostic details the problem

You can modify your .gitconfig to autoformat on every commit:
addf = !"cd src; dotnet-format; cd ..; git add"

Example (#424): https://gist.github.com/Benny121221/50343cf14d5dbe6b33da285ac2f7ea9e#file-gitconfig-L21


Support openssl1.1

No clue if the syntax for libssl.so.1.1.1, libssl.so.11, libssl1.1.1 is right, but libssl.1.1 works on OSX with OpenSSL 1.1.1.

Ops, did not intend to Open the PR on this repo.


Add testcases for project, member and system info. - [closed]

In GitLab by @wknet123 on Mar 16, 2018, 01:22
Merges dev_test_cases -> dev

In GitLab by @wknet123 on Nov 13, 2019, 10:39
the API Server Coverage is  %   UI Coverage is 38.11%   check console log

In GitLab by @wknet123 on Nov 13, 2019, 10:39
the it is failed check console log

In GitLab by @wknet123 on Nov 13, 2019, 10:39
the API Server Coverage is  21.2%   UI Coverage is 38.11%   check console log

In GitLab by @wknet123 on Nov 13, 2019, 10:39
closed


Can't run platform version 3.0

HI,
I try to get the version 3.0 but when I clone -> git checkout 3.0 -> docker-compose build....etc, finally the dashboard don't have the channel feature, so I'm not in 3.0 version.
How can I fix this?

Hi, probably you mismatch Dashboard version. Please update to the newest setup. Main branch should have working tags


IPSets logic uses O(n^2) loops

Environment

Calico/VPP version: v0.18.1-calicov3.21.2
Kubernetes version:
Deployment type: cloud, hosted, VM, bare-metal...
Network configuration: Calico / host-local IPAM? IPIP / VXLAN enabled? Specific BGP settings?

Issue description
Spotted some cases in the IP sets logic where the code may blow up with large IP sets:
		for j := 0; j < len(i.Addresses); j++ {
			for _, r := range addrs {
				if i.Addresses[j].Equal(r) {
					i.Addresses[j] = i.Addresses[len(i.Addresses)-1]
					i.Addresses = i.Addresses[:len(i.Addresses)-1]
				}
			}
		}

IPSets can contain an entry for every pod in the cluster so you could have 100k entries in an IP set and 100k entries being added/removed.  We generally use a map-based Set implementation to track members in Felix.

This was fixed in #303


Some images are incorrectly marked as shot on 1st January 1970

I'm attaching the exported Exif data here below, I just stripped the GPS section .
Apparently it does not have any Date / Time info in the exif, but Google Gallery is able to list it just fine.
[Exif IFD0]
  Make: Nothing
  Model: A063
  Orientation: Top, left side (Horizontal / normal)
[Exif SubIFD]
  Aperture Value: f/1,9
  Exposure Time: 0.04 sec
  F-Number: f/1,9
  Flash: Flash did not fire
  Focal Length: 5,6 mm
  ISO Speed Ratings: 1881
  Time Zone: +01:00
  Time Zone Digitized: +01:00
  Time Zone Original: +01:00
  White Balance Mode: Auto white balance
[Huffman]
  Number of Tables: 4 Huffman tables
[JFIF]
  Resolution Units: none
  Thumbnail Height Pixels: 0
  Thumbnail Width Pixels: 0
  Version: 1.1
  X Resolution: 1 dot
  Y Resolution: 1 dot
[JPEG]
  Component 1: Y component: Quantization table 0, Sampling factors 2 horiz/2 vert
  Component 2: Cb component: Quantization table 1, Sampling factors 1 horiz/1 vert
  Component 3: Cr component: Quantization table 1, Sampling factors 1 horiz/1 vert
  Compression Type: Baseline
  Data Precision: 8 bits
  Image Height: 4096 pixels
  Image Width: 3072 pixels
  Number of Components:

Google Gallery/Photos does not only pull out dates from photo metadata. It can also get it from the Maps Timeline, for example, and probably some other black magic.
Aves should never show any item date as "1st January 1970". This date corresponds to some default value, and it is ignored when encountered. Then the file modified date is used, but maybe that too is not initialized/readable for some reason.
Could you share a sample? You could also provide a screenshot to back your claim. Following instructions in About > Bug Report could help too.

I'm attaching two screenshots here.
One is from aves, the latest version from the play store, the other from Solid Explorer.
Solid is able to read the file properties just fine, and the photo is shown in the correct spot in the timeline, while aves reports it was taken on 01/01/1970 +01.00

Thanks for the details. Can you send me a sample file that has this issue? (you can also send it by email if you don't want to put it in this public space)

Thanks for the details. Can you send me a sample file that has this issue? (you can also send it by email if you don't want to put it in this public space)

I'll be contacting you soon

Reproduced with the samples, thanks.
Apparently, the metadata date in these is "-1", not the usual default value "0". "0" means 1st January 1970 00:00:00. "-1" is one millisecond before that, then add the time zone offset of 1 hour, and you get 1st January 1970, 00:00:59.999.
As i already exclude "0" as an invalid value, I'll also exclude "-1" to fix this.

Reproduced with the samples, thanks.
Apparently, the metadata date in these is "-1", not the usual default value "0". "0" means 1st January 1970 00:00:00. "-1" is one millisecond before that, then add the time zone offset of 1 hour, and you get 1st January 1970, 00:00:59.999.
As i already exclude "0" as an invalid value, I'll also exclude "-1" to fix this.

This could very well be an issue caused by the NothingOS, their camera app does not always behave reliably. I'll report this issue on their Discord, so maybe they can also take a look.
Thank you


List index out of range for FashionMNIST tutorial.

I've just started learning a bit about Tensorflow, and I tried out the Fashion MNIST tutorial. However, I keep getting a list index out of range error. I've copied the code from the official tutorial and also tried using tf.reset_default_graph() as suggested in some other posts, but neither have worked.
Here is the notebook with the error:
https://github.com/fsiraj/Tensorflow-Tutorials/blob/master/Fashion MNIST.ipynb

@fsiraj ,
Hi, in the section
# Training loop
model.fit(train_images, epochs=10)

model.fit is expecting train_labels
please use model.fit(train_images,train_labels, epochs=10) you will be able to execute the tutorial without any issues.
Thanks!

@oanush
Thanks for the quick reply, silly mistake on my behalf. Fixing the issue I ran into another error which I've gotten with another tutorial as well. It says "InternalError:  Blas GEMM launch failed".
Having just started I'm not sure what to make of this. I've updated the notebook so you can get a look at the new error.

@fsiraj ,
Try doing a fresh run from the beginning always by restarting the kernal when any changes are made in the code, no error will be faced, please find the gist of colab for your reference . Thanks!

@oanush
I've tried that but I always run into this error. I'm running the notebook in a conda environment with only tensorflow and other required modules and dependencies. Is this an issue with my system?

@fsiraj ,
Issue might be due to opening too many Jupyter Notebooks. Please check this comment of similar issue.
Also find links of these similar issue's and solutions present in them and see if it solves the issue 1,2 and 3.Thanks!

I tested this and it seems if I have more than one notebook open it always fails. This solves the issue so thank you!
I was still wondering why this happens it's not very convenient at all.


Don't send terminal escapes if we're outputing to a file

Yup, that change is made. I'm just waiting to make sure that Travis looks nice

Given that this is a purely cosmetic commit, I think what we've got is green enough, right? This can't have possibly changed the behavior of the code, and the Travis results are still showing the same pretty multi-colored results that we expect (so nothing is broken).


No QueryClient set, use QueryClientProvider to set one

Describe the bug
I have an expo app inside nx.dev monorepo. all is good on dev but when i do a production build i get "No QueryClient set, use QueryClientProvider to set one".
main entry point is this:
import { useLocalStorage } from '@stannah/hooks';
import React from 'react';
import { QueryClient } from '@tanstack/react-query';
import { PersistQueryClientProvider } from '@tanstack/react-query-persist-client';
import { createSyncStoragePersister } from '@tanstack/query-sync-storage-persister';
import * as Sentry from 'sentry-expo';
import Root from './Root';
Sentry.init({
  dsn: 'secret stuff here',
  enableInExpoDevelopment: true,
  debug: __DEV__,
});

const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      gcTime: 1000 * 60 * 60 * 24, // 24 hours
    },
  },
});

const App = () => {
  const { clientPersisterStorage } = useLocalStorage();
  const clientPersister = createSyncStoragePersister({
    storage: clientPersisterStorage,
  });
  return (
    <PersistQueryClientProvider
      client={queryClient}
      persistOptions={{ persister: clientPersister }}
    >
      <Root />
    </PersistQueryClientProvider>
  );
};

export default React.memo(App);

Your minimal, reproducible example
This is only for productions builds
Steps to reproduce
This is happening only on production build. I don't have any ideea how to create a reproduction of this.
Expected behavior
To work
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform
macOS
Tanstack Query adapter
react-query
TanStack Query version
5.7.2
TypeScript version
4.9.4
Additional context
Sentry is saying that error occoured in a custom hook that is inside the libs folder(im using nx monorepo.)
this is the hook:
import { Auth } from '@stannah/shared-types';
import jwtDecode from 'jwt-decode';
import { useCallback } from 'react';
import { useQuery } from '@tanstack/react-query';
import * as Sentry from 'sentry-expo';
import { useLocalStorage } from '../../index';

interface DecodedToken {
  exp?: number;
  [key: string]: unknown;
}

const useAuth = (): Auth => {
  const { storage } = useLocalStorage();

  const getLoginStatus = () => {
    const authToken = storage.getString('authToken');
    if (!authToken) {
      return false;
    }
    return true;
  };

  const { data: authStatus, refetch } = useQuery({
    queryKey: ['authStatus'],
    queryFn: getLoginStatus,
  });

  const decodeToken = useCallback(
    (token: string): boolean | null => {
      try {
        const decodedToken = jwtDecode<DecodedToken>(token);

        if (!decodedToken || !decodedToken.exp) {
          console.error(
            'Token is invalid or does not contain an expiration field.'
          );
          return null;
        }

        const currentTimestamp = Math.floor(Date.now() / 1000);
        if (decodedToken.exp < currentTimestamp) {
          console.error('Token has expired.');
          storage.delete('authToken');
          refetch();
          return null;
        }

        return true;
      } catch (err) {
        console.error('Error decoding token:', err);
        Sentry.Native.captureException(err);

        return null;
      }
    },
    [refetch, storage]
  );

  const login = useCallback(
    async (authToken: string) => {
      const isTokenValid = decodeToken(authToken);
      if (isTokenValid) {
        storage.set('authToken', authToken);
        refetch();
      } else {
        storage.delete('authToken');
        refetch();
      }
    },
    [decodeToken, refetch, storage]
  );

  const logout = () => {
    storage.delete('authToken');
    refetch();
  };

  return {
    login,
    logout,
    token: storage.getString('authToken'),
    authStatus,
    decodeToken,
  };
};

export default useAuth;

{
  "name": "@stannah/source",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "start": "nx run gsa:start --clear=true --skip-nx-cache=true",
    "start:fresh": "watchman watch-del-all && rm -rf node_modules/ && yarn cache clean && rm -rf .expo/ && yarn && nx sync-deps gsa --skip-nx-cache && nx ensure-symlink gsa --skip-nx-cache  && nx run gsa:start",
    "postinstall": "husky install"
  },
  "private": true,
  "dependencies": {
    "@config-plugins/react-native-blob-util": "^6.0.0",
    "@config-plugins/react-native-pdf": "^6.0.0",
    "@expo/metro-config": "0.7.1",
    "@formatjs/intl-datetimeformat": "^6.10.0",
    "@formatjs/intl-getcanonicallocales": "^2.2.1",
    "@formatjs/intl-locale": "^3.3.2",
    "@formatjs/intl-numberformat": "^8.7.0",
    "@formatjs/intl-pluralrules": "^5.2.4",
    "@gorhom/portal": "^1.0.14",
    "@nx/expo": "16.4.0",
    "@react-native-community/netinfo": "9.3.7",
    "@react-native-menu/menu": "^0.8.0",
    "@react-navigation/bottom-tabs": "^6.5.8",
    "@react-navigation/material-top-tabs": "^6.6.3",
    "@react-navigation/native": "^6.1.6",
    "@react-navigation/native-stack": "^6.9.12",
    "@sentry/react-native": "4.15.2",
    "@shopify/flash-list": "1.4.0",
    "@tanstack/query-sync-storage-persister": "5.7.2",
    "@tanstack/react-query": "5.7.2",
    "@tanstack/react-query-persist-client": "5.7.2",
    "expo": "48.0.19",
    "expo-application": "~5.1.1",
    "expo-build-properties": "~0.6.0",
    "expo-constants": "~14.2.1",
    "expo-dev-client": "~2.2.1",
    "expo-device": "~5.2.1",
    "expo-file-system": "~15.2.2",
    "expo-localization": "~14.1.1",
    "expo-location": "~15.1.1",
    "expo-splash-screen": "~0.18.2",
    "expo-status-bar": "~1.4.4",
    "expo-updates": "~0.16.4",
    "i18next": "^23.2.6",
    "jwt-decode": "^3.1.2",
    "ky": "^1.0.1",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-error-boundary": "^4.0.10",
    "react-hook-form": "^7.45.1",
    "react-i18next": "^13.0.1",
    "react-native": "0.71.8",
    "react-native-blob-util": "^0.19.1",
    "react-native-gesture-handler": "~2.9.0",
    "react-native-ios-context-menu": "^1.15.3",
    "react-native-mmkv": "^2.10.2",
    "react-native-pager-view": "6.1.2",
    "react-native-pdf": "^6.7.1",
    "react-native-reanimated": "~2.14.4",
    "react-native-safe-area-context": "4.5.0",
    "react-native-screens": "~3.20.0",
    "react-native-svg": "13.4.0",
    "react-native-svg-transformer": "1.0.0",
    "react-native-tab-view": "^3.5.2",
    "react-native-ui-lib": "^7.5.0",
    "react-native-web": "~0.18.12",
    "sentry-expo": "~6.2.0",
    "tslib": "^2.3.0",
    "zeego": "^1.6.2"
  },
  "devDependencies": {
    "@babel/preset-react": "^7.14.5",
    "@config-plugins/detox": "^6.0.0",
    "@expo/cli": "0.7.3",
    "@nx/detox": "16.4.0",
    "@nx/eslint-plugin": "16.4.0",
    "@nx/jest": "16.4.0",
    "@nx/js": "16.4.0",
    "@nx/linter": "16.4.0",
    "@nx/react": "16.4.0",
    "@nx/workspace": "16.4.0",
    "@react-native-community/eslint-config": "^3.2.0",
    "@testing-library/jest-dom": "5.16.5",
    "@testing-library/jest-native": "5.4.2",
    "@testing-library/react": "14.0.0",
    "@testing-library/react-native": "12.4.0",
    "@types/jest": "^29.4.0",
    "@types/node": "18.14.2",
    "@types/react": "18.0.28",
    "@types/react-dom": "~18.0.10",
    "@typescript-eslint/eslint-plugin": "^5.58.0",
    "@typescript-eslint/parser": "^5.58.0",
    "babel-jest": "^29.4.1",
    "babel-plugin-transform-remove-console": "^6.9.4",
    "babel-preset-expo": "~9.3.2",
    "detox": "^20.9.0",
    "eas-cli": "^5.9.1",
    "eslint": "^8.43.0",
    "eslint-config-prettier": "8.1.0",
    "eslint-plugin-import": "2.27.5",
    "eslint-plugin-jsx-a11y": "6.7.1",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-react": "7.32.2",
    "eslint-plugin-react-hooks": "4.6.0",
    "husky": "^8.0.0",
    "jest": "^29.4.1",
    "jest-circus": "^29.4.1",
    "jest-environment-jsdom": "^29.4.1",
    "jest-expo": "^48.0.2",
    "metro": "0.74.1",
    "metro-resolver": "0.74.1",
    "nx": "16.4.0",
    "prettier": "^2.8.8",
    "react-test-renderer": "18.2.0",
    "ts-jest": "^29.1.0",
    "ts-node": "^10.9.1",
    "typescript": "^4.9.4"
  }
}

and this in the apps folder(i only have a expo app)
{
  "name": "gsa",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "@testing-library/jest-native": "*",
    "@testing-library/react-native": "*",
    "expo": "*",
    "react-native": "*",
    "react-native-reanimated": "*",
    "react-native-svg": "*",
    "react-native-ui-lib": "*",
    "react-native-web": "*",
    "@nx/expo": "*",
    "@expo/metro-config": "*",
    "react": "*",
    "@testing-library/react": "*",
    "@react-navigation/native": "*",
    "@react-navigation/native-stack": "*",
    "@react-navigation/bottom-tabs": "*",
    "react-hook-form": "*",
    "i18next": "*",
    "react-i18next": "*",
    "expo-localization": "*",
    "expo-splash-screen": "*",
    "@formatjs/intl-getcanonicallocales": "*",
    "@formatjs/intl-locale": "*",
    "@formatjs/intl-pluralrules": "*",
    "@formatjs/intl-numberformat": "*",
    "@formatjs/intl-datetimeformat": "*",
    "@react-navigation/material-top-tabs": "*",
    "expo-dev-client": "*",
    "expo-updates": "*",
    "expo-font": "*",
    "react-native-screens": "*",
    "react-native-gesture-handler": "*",
    "react-native-safe-area-context": "*",
    "react-native-pager-view": "*",
    "zeego": "*",
    "react-native-ios-context-menu": "*",
    "react-error-boundary": "*",
    "jwt-decode": "*",
    "expo-status-bar": "*",
    "@react-native-community/netinfo": "*",
    "expo-constants": "*",
    "ky": "*",
    "react-native-pdf": "*",
    "expo-file-system": "*",
    "@gorhom/portal": "*",
    "@shopify/flash-list": "*",
    "react-native-mmkv": "*",
    "expo-application": "*",
    "@sentry/react-native": "*",
    "sentry-expo": "*",
    "expo-device": "*",
    "@tanstack/react-query": "*",
    "@tanstack/react-query-persist-client": "*",
    "@tanstack/query-sync-storage-persister": "*"
  },
  "scripts": {
    "eas-build-pre-install": "cd ../../ && node tools/scripts/eas-build-pre-install.mjs . apps/gsa && cp yarn.lock apps/gsa",
    "eas-build-post-install": "cd ../../ && node tools/scripts/eas-build-post-install.mjs . apps/gsa"
  }
}

check your lock file. Almost always, you'll have two versions (or the same version twice) of @tanstack/react-query in there. also check node_modules if you have it there, twice. If you use pnpm, make sure you're on v8, because it had a resolution change regarding peer dependencies (see https://github.com/pnpm/pnpm/issues/5351)
with two versions of react-query, each one does createContext(), so they have different contexts, which means the consumer can't see the context of the Provider. So even though you have a QueryClientProvider, it will use a "different" react context than the consumer, so from the consumer side, there is no Provider.
I can't say more without seeing an actual reproduction for it. If my suggestion doesn't solve it, please feel free to re-open once you have a reproduction.

Hey.  I don’t use trpc.  I “solved” the problem by downgrading to version 5.0.0.   :)
Mulțumesc ,
Bogdan Ioanas

From: Linus Nilsson Johnsen @.>
Sent: Thursday, December 7, 2023 7:43:22 PM
To: TanStack/query @.>
Cc: Bogdan @.>; Mention @.>
Subject: Re: [TanStack/query] No QueryClient set, use QueryClientProvider to set one (Issue #6432)
Hi @bogdan2510https://github.com/bogdan2510
I came across your issue since i am encountering a similar problem in my monorepo.
Given that this issue appears in production builds and considering your setup within a monorepo, I'm curious to know if you're using trpc or any other dependency that might indirectly utilize React Query in a different package inside your monorepo. This could potentially be a source of the problem, especially if there's some sort of conflict or misconfiguration between packages.
In my case, I'm also using a monorepo and wondering if there's a shared underlying cause. Have you explored this angle, or do you have any insights on whether such dependencies might affect the behavior of React Query in a production environment?
—
Reply to this email directly, view it on GitHubhttps://github.com/TanStack/query/issues/6432#issuecomment-1845810614, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABGAEDGDWFBYF2AZCSJWBBTYIH53VAVCNFSM6AAAAAA7ZEX54KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBVHAYTANRRGQ.
You are receiving this because you were mentioned.Message ID: @.***>

check your lock file. Almost always, you'll have two versions (or the same version twice) of @tanstack/react-query in there. also check node_modules if you have it there, twice. If you use pnpm, make sure you're on v8, because it had a resolution change regarding peer dependencies (see pnpm/pnpm#5351)
with two versions of react-query, each one does createContext(), so they have different contexts, which means the consumer can't see the context of the Provider. So even though you have a QueryClientProvider, it will use a "different" react context than the consumer, so from the consumer side, there is no Provider.
I can't say more without seeing an actual reproduction for it. If my suggestion doesn't solve it, please feel free to re-open once you have a reproduction.

I was having the same issue @bogdan2510 had, npm i resolved my package-lock.json file and the error has gone!

i'm in a monorepo setup using nx.dev.  i use yarn. i don't have duplicates of "@tanstack/react-query" in lock file.
Now i experience the problem even in version 5.0.0. :(

I am facing the same issue with @tanstack/react-query version 5.17.19

Are you using expo, nx.dev?

I'm facing this issue with Expo and Nx.dev

same here

i have the same problem :(

Did any of you guys managed to solve it?

I'm having the same issue with expo and turborepo.

I was having the same issue here with expo and turborepo.
I followed the guide in the expo docs for setting up the project for a monorepo that says to change my entry point in the package json for a index.js that they provide and an env for expo-router.
What was happening was that when I added the config they said the expo-router stopped working properly and the _layout was being ignored.
Because of that, the QueryProvider that was placed inside the root _layout wasn't being instantiated.
That was causing the issue.
What I did was just leave everything as it was before, with my package.json "main" pointed to the expo-router/entry:
"main": "expo-router/entry",
For what I can see everyone here that is having this issue is also using a monorepo. So probably y'all made that change in the package.json too. I believe that maybe this solution will work for y'all too.

@antonyleme I've seen your PR here https://github.com/expo/expo/pull/30536 but it's not working for me. My setup is a nx project with expo application.
"nx": "19.6.0",
"@nx/expo": "19.6.0",
"expo": "~51.0.28",
"expo-router": "~3.5.23",
"@tanstack/react-query": "^5.51.23",
"@tanstack/react-query-devtools": "^5.51.23",

Everything is up to date. I had the index.js file importing the expo-router/enty and ReactQuery wasn't being setup. Then I changed to main: "expo-router/entry" at package.json and the problem still there.
I'm unsure where the problem could be: react query, nx or expo-router.
The logs of the production apk:

Also, when console.log(queryClient) it outputs {}.
Did you guys have any success? How can I debug this situation? I'm down to cooperate with testing @TkDodo .

Hey everyone!
I recently faced a similar issue, and my solution was actually quite simple. Perhaps someone else is making the same mistake I did.
In my case, the entire app was wrapped with a QueryClient from @tanstack/react-query. However, the problem arose because I was using methods from react-query in a new hook. I feel a bit silly for overlooking that, but hopefully, this helps someone else!

Hi everyone,
I encountered a similar issue in my micro frontend architecture. In my setup, the base component was wrapped with QueryClientProvider, and I was using the useQuery hook in another module. After some investigation, I realized that installing @tanstack/react-query in the new module caused it to load as a separate instance, which prevented it from sharing the base component's query client.
To resolve this, I updated the package.json to ensure that @tanstack/react-query loads as a singleton instance across the modules. This way, the base component’s query client is properly shared. Hope this helps!

To resolve this, I updated the package.json to ensure that @tanstack/react-query loads as a singleton instance across the modules. This way, the base component’s query client is properly shared. Hope this helps!

@mageshk98 can you elaborate on how you did that?

I was able to fix that by specifying resolution in package.json:
"resolutions": {
    "@tanstack/react-query": "5.51.1"
  }

What I did was just leave everything as it was before, with my package.json "main" pointed to the expo-router/entry:\n\n"main": "expo-router/entry",

I believe my "main" is set to expo-router/entry but it still shows the same error.

In my case, the entire app was wrapped with a QueryClient from @tanstack/react-query. However, the problem arose because I was using methods from react-query in a new hook. I feel a bit silly for overlooking that, but hopefully, this helps someone else!

I am using the @tanstack/react-query in a new custom hook of mine. How can I go around it and make it work regardless?

Spent a day on this, turns out a yarn install fixed whatever was broken. This makes me very worried as I did not touch node modules, just started throwing this:
 ⨯ ../src/QueryClientProvider.tsx (18:11) @ useQueryClient
 ⨯ Error: No QueryClient set, use QueryClientProvider to set one
    at useQuotesCreateQuote (../client/queries/queries.ts:49:120)
    at __WEBPACK_DEFAULT_EXPORT__ (./src/components/FormComponent.tsx:51:96)
digest: "3163743166"
  16 |
  17 |   if (!client) {
> 18 |     throw new Error('No QueryClient set, use QueryClientProvider to set one')
     |           ^
  19 |   }
  20 |
  21 |   return client
 GET / 500 in 148ms

strange thing is, I haven't touched the code either. The error has nothing telling me that its actually the package that is the problem. But I've checked the code like 100 times. I started questioning reality.
I'm really grateful for libraries like this that make my typing /queries automatic, But its not a golden bullet and I'll be more skeptical in the future when you promise too much. These generated queries are a nightmare to figure out, its not worth the potential benefits, code beauty is king, and you guys really lost me with this one.


7cb4ffe2-8fc4-4c6c-a5fd-41b504cc1d1b

this is for automated testing

e605c440-a271-44b1-b00a-43570e4568dc


Released v2.0.0-alpha.3

Coverage increased (+0.9%) to 42.428% when pulling 683a0eb892938867c695c63ce704c60012c8a113 on develop into 885dafc82cc68d1244ed5e094b2bda1b8ef61ead on master.


Tutorial: How to write a Tutorial ...

[ ] Layout and style

[ ] Examples to look at

[ ] Bounties

Cf the #234 (developer guide)
See also https://www.digitalocean.com/community/get-paid-to-write

Not sure there's anything specific to Frictionless Data the way this issue is written, but the original intention as I recall was to provide a way to onboard people wanting to contribute to the project.
Users with a basic familiarity of Data Packages could contribute tutorials in their language or platform of choice.
This is fine idea but seems somewhat low priority at this point.  It will ultimately be driven by how people actually use the tools.  I move to close.

This issue was moved to frictionlessdata/frictionlessdata.io#42


Domain

The domain is down/you havent paid for it! I use to always use baker.cat but I guess i cant anymore! So thats why i remade it!
Link: samdaskript.github.io/baker_cat

The domain is down/you havent paid for it! I use to always use baker.cat but I guess i cant anymore! So thats why i remade it!
Link: samdaskript.github.io/baker_cat

404 error.


flow control bug in python grpcio >= 1.4.0

Description
There seems to be a flow control bug in the python client as of 1.4.0.
Before 1.4.0 (1.3.5 for example) a slow client of a streaming method would cause back pressure that was only relieved when the client consumed enough messages to allow room for another block of messages from the server. Just what we'd expect.
As of 1.4.0 the back pressure seems to be relieved whenever the client consumes any message. That results in the server sending new blocks of messages much more frequently than it should. The server gets way ahead of the client and the client memory use grows continuously until it crashes. In fact, the faster the client consumes messages the faster it's memory usage grows (so long as the server is still producing faster than the client is consuming.)
I also found the bug on the 1.4.x and master branches as of now. I'm assuming it's a client side bug because varying the version or language (I tried go) on the server side doesn't seem to make a difference.
OS: Fedora 25
Python: 2.7.13
Example Code
These examples use route_guide.proto and the associated generated python code in the examples directory of this repo.
server.py:
from __future__ import print_function
from concurrent import futures
import time
import grpc
import route_guide_pb2
import route_guide_pb2_grpc

_ONE_DAY_IN_SECONDS = 60 * 60 * 24

class RouteGuideServicer(route_guide_pb2_grpc.RouteGuideServicer):

    def RouteChat(self, request_iterator, context):
        i = 0
        while True:
            print("%d: %d" % (time.time(), i))
            yield route_guide_pb2.RouteNote(
                message = "X" * (32*1024),
            )
            i += 1

def serve():
    server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
    route_guide_pb2_grpc.add_RouteGuideServicer_to_server(
            RouteGuideServicer(), server)
    server.add_insecure_port('[::]:50051')
    server.start()
    try:
        while True:
            time.sleep(_ONE_DAY_IN_SECONDS)
    except KeyboardInterrupt:
        server.stop(0)

if __name__ == '__main__':
    serve()

client.py:
from __future__ import print_function
import time
import grpc
import route_guide_pb2
import route_guide_pb2_grpc

def guide_route_chat(stub):
    req = route_guide_pb2.RouteNote(message="msg")
    i = 0
    for response in stub.RouteChat(iter([req])):
        print("%d: %d" % (time.time(), i))
        time.sleep(10)
        i += 1

def run():
    channel = grpc.insecure_channel('localhost:50051')
    stub = route_guide_pb2_grpc.RouteGuideStub(channel)
    guide_route_chat(stub)

if __name__ == '__main__':
    run()

1.3.5 Output (Working)
$ python client.py
1501214899: 0
1501214909: 1
1501214919: 2
1501214929: 3
1501214939: 4
1501214949: 5
1501214959: 6

$ python server.py
1501214899: 0
1501214899: 1
1501214899: 2
1501214899: 3
1501214929: 4
1501214929: 5
1501214929: 6
1501214959: 7
1501214959: 8
1501214959: 9
1501214959: 10

1.4.0 Output (Broken)
$ python client.py
1501214672: 0
1501214682: 1
1501214692: 2
1501214702: 3
1501214712: 4
1501214722: 5
1501214732: 6

$ python server.py
1501214672: 0
1501214672: 1
1501214672: 2
1501214672: 3
1501214682: 4
1501214682: 5
1501214682: 6
1501214692: 7
1501214692: 8
1501214692: 9
1501214702: 10
1501214702: 11
1501214702: 12
1501214702: 13
1501214712: 14
1501214712: 15
1501214712: 16
1501214712: 17
1501214722: 18
1501214722: 19
1501214722: 20
1501214722: 21
1501214722: 22
1501214732: 23
1501214732: 24
1501214732: 25
1501214732: 26
1501214732: 27

Thank you for the report. A flow control bug would be both very surprising and very concerning.
Are you able to reproduce the problem with our recent metadata leak fix patched in?
If you run with the GRPC_TRACE=all and GRPC_VERBOSITY=DEBUG environment variables are you able to draw any further insights into what might be happening?

Sadly #12466 didn't fix this issue. I may have found the problem commit though.
I created the test below and bisected. That identified this commit: f036076 Fix flow control problem.  I verified that if I revert that on the v1.4.x branch the problem goes away.
I don't think I have enough context to try to fix chttp2_transport.c in it's current form so hopefully someone else can have a look.
Here's the test I used for bisecting:
from __future__ import print_function
import sys
from concurrent import futures
import time
import threading
import grpc
import route_guide_pb2
import route_guide_pb2_grpc

_ONE_DAY_IN_SECONDS = 60 * 60 * 24

sent_count = 0
recv_count = 0

class RouteGuideServicer(route_guide_pb2_grpc.RouteGuideServicer):
    def RouteChat(self, request_iterator, context):
        global sent_count
        while True:
            yield route_guide_pb2.RouteNote(
                message = "X" * (32*1024),
            )
            sent_count += 1

def serve():
    server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
    route_guide_pb2_grpc.add_RouteGuideServicer_to_server(
            RouteGuideServicer(), server)
    server.add_insecure_port('[::]:50051')
    server.start()
    try:
        while True:
            time.sleep(_ONE_DAY_IN_SECONDS)
    except KeyboardInterrupt:
        server.stop(0)

def run_client():
    global recv_count
    channel = grpc.insecure_channel('localhost:50051')
    stub = route_guide_pb2_grpc.RouteGuideStub(channel)

    req = route_guide_pb2.RouteNote(message="msg")
    for response in stub.RouteChat(iter([req])):
        recv_count += 1

        # if we get to 20 without failing then success!
        if recv_count > 20:
            sys.exit(0)

        # if spread b/w sent an recv get's too big then fail
        spread = sent_count - recv_count
        if spread > 10:
            sys.exit(1)

        time.sleep(.001)

if __name__ == '__main__':
    server_t = threading.Thread(target=serve)
    server_t.daemon = True
    server_t.start()
    time.sleep(.1)
    run_client()
`

Does the problem exist at HEAD? There was a big flow control re write
recently (see here https://github.com/grpc/grpc/pull/11720)
On Fri, Sep 15, 2017 at 6:59 PM, Whitney Jackson<EMAIL_ADDRESS>wrote:

Sadly #12466 https://github.com/grpc/grpc/pull/12466 didn't fix this
issue. I may have found the problem commit though.
I created the test below and bisected. That identified this commit:
f036076
https://github.com/grpc/grpc/commit/f03607658a00f63e16363433466b6675efb4ca46 Fix
flow control problem. I verified that if I revert that on the v1.4.x
branch the problem goes away.
I don't think I have enough context to try to fix chttp2_transport.c in
it's current form so hopefully someone else can have a look.
Here's the test I used for bisecting:
from future import print_functionimport sysfrom concurrent import futuresimport timeimport threadingimport grpcimport route_guide_pb2import route_guide_pb2_grpc
_ONE_DAY_IN_SECONDS = 60 * 60 * 24
sent_count = 0
recv_count = 0
class RouteGuideServicer(route_guide_pb2_grpc.RouteGuideServicer):
def RouteChat(self, request_iterator, context):
global sent_count
while True:
yield route_guide_pb2.RouteNote(
message = "X" * (32*1024),
)
sent_count += 1
def serve():
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
route_guide_pb2_grpc.add_RouteGuideServicer_to_server(
RouteGuideServicer(), server)
server.add_insecure_port('[::]:50051')
server.start()
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
def run_client():
global recv_count
channel = grpc.insecure_channel('localhost:50051')
stub = route_guide_pb2_grpc.RouteGuideStub(channel)
req = route_guide_pb2.RouteNote(message="msg")
for response in stub.RouteChat(iter([req])):
    recv_count += 1

    # if we get to 20 without failing then success!
    if recv_count > 20:
        sys.exit(0)

    # if spread b/w sent an recv get's too big then fail
    spread = sent_count - recv_count
    if spread > 10:
        sys.exit(1)

    time.sleep(.001)

if name == 'main':
server_t = threading.Thread(target=serve)
server_t.daemon = True
server_t.start()
time.sleep(.1)
run_client()`
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/11966#issuecomment-329922550, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AF3QLJc3zCr5A5G9JwPqjglWE9lXjO69ks5siwFsgaJpZM4OmIBR
.

Yep. I continue to see the problem post #11720.
Should be easy to replicate using the example code I posted. As @nathanielmanistaatgoogle mentioned, a flow control bug would be pretty surprising (especially one that's existed since 1.4.0) so I'm curious to know if this is reproducible by devs that work on the flow control part of this project.

Thank you for the investigation, @wjackson!
Minor simplification: why instantiate a request message at all? Why not just pass iter(()) in your RPC invocation?
What's clear to me is that there absolutely is a defect because one side of an RPC shouldn't be able to so easily OOM the other side. What's not yet clear to me is that your demonstration has awareness of how large the flow control window is - there is such a window, and it does allow the service-side application some freedom to get ahead of the client. Can your reproduction code make judgements like "the flow control window must have been no more than <integer> bytes at the start of the RPC but now appears to have grown to at least <integer> bytes"?
@muxi: what do you make of @wjackson's indication that the defect seems to have been introduced in f03607658a00f63e16363433466b6675efb4ca46?

@wjackson: have you yet tried patching in pull request 12636?
@ctiller: should @wjackson have any expectation that pull request 12636 contains a fix for this issue?

@wjackson: is the flow control window size settable with a channel argument? If so, have you tried setting it explicitly?

@nathanielmanistaatgoogle no luck with pull request #12636 :(

Interesting. The changes in that commit is supposed to make a narrower throttle instead of allowing more data to be sent. I am curious how that made more server data flow.

Muxi, your commit would allow more data to be sent I think, since it is
calling incoming_byte_stream_update_flow_control less restrictively (IIRC
it was fixing the issue that the gRPC specific header was not being counted
for the client's flow control, thus stalling out and deadlocking
eventually).
The logic changed a bit since my overhaul. As soon as I return to the
office (away for the rest of the week on a recruiting trip), I plan to
reproduce the issue with a c end2end test, and then fix it.
On Tue, Sep 19, 2017 at 7:15 PM, Muxi Yan<EMAIL_ADDRESS>wrote:

Interesting. The changes in that commit is supposed to make a narrower
throttle instead of allowing more data to be sent. I am curious how that
made more server data flow.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/11966#issuecomment-330700086, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AF3QLG1xvgC8Q4GD9oTfq3yB2bQK_jt_ks5skEssgaJpZM4OmIBR
.

Thanks Noah. Let me know when you start with this and we can debug this together.

Fyi, I just tested this on v1.8.0-pre2 and the problem is still there.

Looks like same as #12383. This should now be fixed with #14747. Closing this issue.

I just tested. Yes this seems to fix the issue. Thanks!

@wjackson  Thanks for testing and apologies for dropping this on the floor for so long.


nested groups make the gui crash

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.30.2
Python release (python3 --version):
3.5.2
Component/platform:
groups and device tracker.
Description of problem:
I have two groups of each containing two device_trackers that I then nested into a parent group
When clicking on the Parents group card (by the name) a long repeating list of the child groups is created and then the webpage crashes.
Expected:
I am not sure what the out come should be but I would imagine it should not be crashing.
Problem-relevant configuration.yaml entries and steps to reproduce:
  device_family:
   name: Family
   view: no
   entities:
    - group.device_ryan
    - group.device_chelsea
  device_ryan:
   name: Ryan
   view: no
   entities:
    - device_tracker.ryans_iphone_wifi
    - device_tracker.ryansiphone
  device_chelsea:
   name: Chelsea
   view: no
   entities:
    - device_tracker.chelseasiphone_wifi
    - device_tracker.chelseasiphone

create two groups containing device trackers
nest the two groups into a parent group
in the gui click on the card name of the parent group
wait for page to crash

Additional info:

This isn't isolated to device trackers.  Running version 0.32.2 and seeing the same behavior with some lights.
#####################################################################
# Kitchen
#####################################################################
  kitchen_view:
    name: Kitchen
    view: yes
    entities:
      - group.kitchen
      - media_player.kitchen

  kitchen:
    name: Kitchen
    entities:
      - group.kitchen_lights

  kitchen_lights:
    name: Kitchen Lights
    entities:
      - group.kitchen_overhead_light

  kitchen_overhead_light:
    name: Kitchen Overhead Light
    entities:
      - light.kitchen_overhead_1
      - light.kitchen_overhead_2
      - light.kitchen_overhead_3

Trying to expand the group group.kitchen_lights in the UI results in the following, as well as an eventual tab crash as seen above.

Nested group displays fine for me.
@rbflurry @1accscomm
Could you confirm whether this is still broken for you?

Yes it still crashes for me.

Probably not related but an new issue, I also cannot get the child groups to show on the same view. Except on the default view.

@rbflurry what version are you on?
Does it crash with lights or just with device trackers?

@rbflurry friendly ping on the question

Closing. Please reopen if someone can reproduce this.


Is there a way to use keyframes with Rebass?

Trying to figure it out but can't seem o find a way. I've seen this ticket from 2018 but I'm having a hard tim eimplementing what might be the solution?
https://github.com/rebassjs/rebass/issues/506

Hi @Tsabary ,
That's how I did it (just replace the single quotes ' with an escape` for the const variables):
import styled from '@emotion/styled';
import { keyframes } from '@emotion/core';
const rotateAnimation = keyframes'
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
';
const AnimatedBack = styled(Box)'
animation: ${rotateAnimation} 1s cubic-bezier(0.165, 0.84, 0.44, 1);
';
<AnimatedBack width={1}></AnimatedBack>


Management of Github Repos through Terraform - Cleanup

User Need
As a Developer
I want Good documentation and a demo of how our Github repositories are managed through Terraform
so that I understand the process
Acceptance Criteria:

Ensure that the management of Github repositories through Terraform is well documented
Ensure that the team is given a demo of how to use the new method

Module repository description suffix

Architectural Design Record (ADR) - what you did and why


cranelift: Rename condition-code helpers "inverse" and "reverse"

Yeah, I'm frequently confused between inverse and reverse too. I think both names are correct descriptions of what they do, but maybe later we can come up with alternate names that are less confusing. Maybe "negate" instead of "inverse", and "swap" instead of "reverse", for example.

Originally posted by @jameysharp in discussion with @abrown and @meithecatte in https://github.com/bytecodealliance/wasmtime/pull/6086#discussion_r1146346401

Name bikeshedding:

negate or complement
swapped or flipped

Soft preference for flipped over swapped.
No preference on negate vs complement.

If there's an agreement on a set of names I can implement this change.

Sounds good! It's not important to pick the perfect names for this so I'm not going to bother looking for agreement from everybody. We just need names that are better than what we have now. :laughing:
Let's go with Nick's preference for "flip" to replace "reverse" since nobody else spoke up, and I'll pick "negate" to replace "inverse".
I think we should pick the verb form of these words, so use "flip" because that is the thing the function does, rather than "flipped" as the thing the function returns.

Sorry for missing this issue, somehow I didn't see the notification and only saw this after #6862 above -- I do have some thoughts on the bikeshed color if it's not too late though!
flip and negate are both still very confusing to me: flip could mean that we're flipping arguments, or the sense of the condcode itself; and negate sounds like it has something to do with twos-complement negation.
I might suggest flip_args for the first -- that makes it very clear that this is the condcode for the case where the args are flipped (commuted).
I might suggest complement rather than negate as there's precedent in Boolean logic: a complement really is the opposite-bit result (true for false and vice-versa), without connotations of integer negation.
Thoughts?

After discussion in today's Cranelift meeting, our consensus is swap_args and complement. I'm sorry we didn't actually have consensus before you put a PR together!

No worries @jameysharp. I'll make the change.

Done


Conform translation strings in updated overpass-turbo with old version

The upstream-catchup overpass-turbo went out in a bit of a hurry as the map style was disconnected and the build was broken. Translation strings need to be brought over and crowdsourced translation should be set up as per #470.
Hopefully one ticket can handle them both.

Does our fork of Overpass turbo contain any localizable messages of its own?

Our fork doesn't seem to have any modified strings but it probably should.
These would be my candidates with the caveat that I don't know that we have all these functionalities.  Some unmodified strings have been kept for context.
Any thoughts @jeffreyameyer, @danrademacher, @1ec5?
"load.saved_queries-local": "Saved Queries (local)",
"load.saved_queries-osm": "Saved Queries (openhistoricalmap.org)",
"load.saved_queries-osm-loading": "Loading saved queries from openhistoricalmap.org...",
"load.saved_queries-osm-error": "An error occurred while loading saved queries from openhistoricalmap.org :(",
"export.raw_data": "raw OHM data",
"export.format_text_wiki": "ohm wiki",
"export.format_text_umap": "umap remote data url",
"export.editors": "load data into an OHM editor:",
"export.map_view.permalink_osm": "to openhistoricalmap.org",
I'm not certain about these; the basic Overpass docs may be better than ours for general understanding.
"help.intro.0": "This is overpass turbo, a web-based data filtering tool for OpenHistoricalMap.",
"help.intro.1": "With overpass turbo you can run Overpass API queries and analyse the resulting OHM data interactively on a map.",
"help.intro.1b": "There is an integrated Wizard which makes creating queries super easy.",
"help.intro.2": "More information about overpass turbo and how to write Overpass queries can be found in the OSM wiki.",
"help.section.queries" : "Overpass Queries",
"help.queries.expl": "Overpass API allows to query for OHM data by your own search criteria. For this purpose, it has a specifically crafted query language.",
"help.intro.shortcuts": "In addition to regular Overpass API queries one can use the following handy shortcuts in overpass turbo:",
"help.intro.shortcuts.bbox": "bounding box coordinates of the current map view",
"help.intro.shortcuts.center": "map center coordinates",
"help.intro.shortcuts.date": "ISO 8601 date-time-string a certain time interval ago (e.g. “24 hours”)",
"help.intro.shortcuts.style": "defines a MapCSS stylesheet",
"help.intro.shortcuts.custom": "Arbitrary shortcuts can be defined by putting {{shortcut=value}} somewhere in the script.",
"help.intro.shortcuts.more": "More overpass-turbo shortcuts, additional information about the above and usage examples can be found in the OSM wiki.",
Our modifications are so slight that the upstream info should take precedence although we could augment the credits.
"help.section.about": "About",
"help.about.maintained": "overpass turbo is maintained by Martin Raifer (tyr.asd at gmail.com).",
"help.about.feedback.title": "Feedback, Bug Reports, Feature Requests",
"help.about.feedback": "If you would like to give feedback, report issues or ask for a particular feature, please use the issue tracker on github or the discussion page on the OSM-wiki.",
"help.about.source.title": "Source Code",
"help.about.source": "The source code of this application is released under the MIT license.",
I could use help with these:
"help.attr.data": "Data © OpenStreetMap contributors, ODbL (Terms)",
"help.attr.mining": "Data mining by",
"help.attr.tiles": "Map tiles © OpenStreetMap contributors",
"dialog.dismiss": "dismiss",
"dialog.cancel": "cancel",
"dialog.save": "save",
"dialog.save-local": "save (local)",
"dialog.save-osm": "save on openhistoricalmap.org",
"warning.incomplete.title": "Incomplete Data",
"warning.incomplete.expl.1": "This query returned no nodes. In OHM, only nodes contain coordinates. For example, a way cannot be displayed without its nodes.",
"warning.incomplete.expl.2": "If this is not what you meant to get, overpass turbo can help you to repair (auto-complete) the query by choosing "repair query" below. Otherwise you can continue to the data.",
"warning.incomplete.not_again": "do not show this message again.",
"warning.incomplete.remote.expl.1": "It looks like if this query will not return OHM data in XML format with metadata. Editors like JOSM require the data to be in that format, though.",
"warning.incomplete.remote.expl.2": "overpass turbo can help you to correct the query by choosing "repair query" below.",
"data_stats.lag": "Currentness of data",
"data_stats.lag_areas": "Currentness of areas",
"data_stats.lag.expl": "behind main OHM db",

All of these seem to be abbreviations and links so I'd apply what we decide on to all locales, then set this up with the translation services.

I am not sure how to assess the text in this comment.
Are those candidate strings to which you already applied blanket find/replace of "OHM" and "OpenHistoricalMap"?
I think so. Any references to http://wiki.openhistoricalmap.org/wiki/Overpass_turbo should not be included and should retain links to the OSM wiki. The URL wiki.openhistoricalmap.org is not a thing.
@jeffreyameyer where do we stand on license language for these?
"help.attr.data": "Data © OpenStreetMap contributors, ODbL (Terms)",
"help.attr.tiles": "Map tiles © OpenStreetMap contributors",

I think we still have unresolved issues around the map credit and license language on the main site...

Apologies for the unclear presentation. I extracted candidate key, object pairs from locales/en.json and the bold text is what I'd change to. There's nothing poetic about the replacements; OSM becomes OHM, osm.org becomes openhistoricalmap.org, very cut and dried.
I'll review the wiki links. I meant to use https://wiki.openstreetmap.org/wiki/OpenHistoricalMap/Overpass for intentional changes but this comment editor insisted on adding its own Markdown to anything I cut and pasted.

I'm not certain about these; the basic Overpass docs may be better than ours for general understanding.

Some of these links are about specific functionality, such as the wizard. There’s only one version of that documentation, and it’s fairly site-agnostic, so I think it would be perfectly fine to link to them. Probably the only one that I’d link to “OpenHistoricalMap/Overpass” would be help.intro.1.

where do we stand on license language for these?

We should definitely update the attribution in Overpass turbo to credit OpenHistoricalMap. Let’s have it match the attribution on the main site. We also have a page describing our preferred attribution, which links to a couple embarrassingly sparse and outdated pages on the wiki. 🙈
#558 tracks updating the attribution returned by the Overpass API, which is also important for legal reasons.

I've updated all the locale files.

I've filled out an application for Translatewiki.net at https://phabricator.wikimedia.org/T367680.

Translatewiki.net has marked the task Resolved so I'm closing this issue as complete.


Make parsing type parameter public

Currently you can parse where clauses or type parameter bounds, but parsing type paremeters themself is not public.
I am trying to make custom attribute with custom derive to have where clauses and I want it to have this kind of syntax:
#[derive(MyDerive)]
#[custom_attribute(AThing, Where = "T: Trait")]
struct MyStruct<T> { ... }

and I need to parse type bound for it.

We do the same thing in Serde for #[serde(bound = "T: Trait")]. Would this work?
syn::parse_where_clause(&format!("where {}", wh))

Ah yeah. That would work.
Was too focused on trying to find way to parse type parameters :D
Btw. Is there reason that there isn't common trait for parsing and implementation for them for each language construct

The only reason is it hasn't been implemented yet. There are a couple better alternatives tracked in #5.


[Visualization] Create a domain to host the iframe content

After numerous discussions, we decided to run the iframe content on another domain for multiple reasons:

Security concerns
Don't package unnecessary dependencies like recharts and others in our main app (front).

For that, we need to create a new domain, something like dustusercontent.com (or any other domain).

Done hosted on viz.dust.tt


Don't spawn any tasks in reduce if bassize > length(itr)

It'd be nice if these could be comparably fast when basesize > length(itr)
julia> @btime foldl(+, Map(identity), [1,2,3,4])
  24.518 ns (1 allocation: 112 bytes)
10

julia> @btime reduce(+, Map(identity), [1,2,3,4], basesize=1000)
  3.339 μs (22 allocations: 1.28 KiB)
10

so that users don't need to write their own branching code to avoid spawning unnecessary tasks.

Thanks for catching this!
Actually, there should be no spawn in this code path. It looks like most of the overheads are due to dynamic dispatches. Forcing the specialization by the famous "black magic" #309 helps it.

-- https://github.com/JuliaFolds/Transducers.jl/pull/309#issuecomment-647851179

Nice!