Authoritative DNS Server support not working

I have been using the DNS challenge support for the acme-dns server and it has been working great. Today, I removed the default DNS server from my settings file, allowing the plug-in to use a randomly assigned DNS server along the lines of LetsEncrypt's method. According to the preliminary test, WACS reported that my TXT field was returning NULL rather than the assigned value (my CNAME record was set weeks ago, so it was not an issue of propagation). letsencrypt WAS able to find the TXT token just fine and the certificate was issued.
I manually looked up the record with the reported authoritative DNS server that WACS had chosen and it was able to find my CNAME record, but was not returning a TXT record.
I have a theory that perhaps authoritative DNS servers don't do a recursive search the way that middleman DNS servers do. Here is the result I got from NSLOOKUP using an the authoritative server:
_acme-challenge.mydomain.org     canonical name = 499320ea-ea38-46bf-9724-c421e7581f3d.auth.mydomain.org
auth.mydomain.org        nameserver = auth.mydomain.org
auth.mydomain.org        internet address = <IP_ADDRESS>
If I run the same query with Google's DNS, I do get a TXT record.
So, is it possible more steps are needed to recursively search for the TXT record in this new approach?

I should also add that when I look at the logs of my acme-dns server, the DNS lookup by WACS shows no sign of querying my server (meaning that the lookup doesn't appear to have followed the CNAME alias). The lookup for letsencrypt shows in the logs just fine.

@davidpeden3 do you have time to look into this?

yep, i can look at it tomorrow. @ericcan is sort of correct about the recursion. @michaco addressed this topic in the question i posted in https://github.com/MichaCo/DnsClient.NET/issues/43.

There might be additional answers in the query result which resolve the FQNs of the nameservers.
Public DNS servers usually don't recursively resolve answers though and you'd have to do that yourself.

i didn't see this in my testing but with a repro (as mentioned above), it should be easy to address. i'll just have to walk the results until the end of the line. @WouterTinus this makes supporting async all the more important... ;)

@ericcan i need a real example in order to fix this. if you are not comfortable posting one here, you can shoot me an email at [my<EMAIL_ADDRESS>thanks

@WouterTinus @ericcan i have pushed a fix in my fork for your review and feedback. i have a supporting test that verifies this code works as expected using both my personal and @ericcan's personal dns configurations.
please review https://github.com/davidpeden3/win-acme/commit/96c32cbae1069cd394e5b6257aed459f7f9fc388 and provide feedback. once we get things settled (including figuring out the testing part), i will push the pr here.
@WouterTinus, please shoot me an email (see comment above for address) so that i can loop you into the conversation that @ericcan and i have going, specifically around testing with potentially sensitive data.
thanks.

I've just sent you an email!

Just to summarize, there are two separate issues with the preliminary DNS search that occurs during DNS validation (both result from usage of the acme-dns server):

Handling multiple TXT records
Handling CNAME records when using an authoritative DNS Server for the preliminary test.

I definitely think it's worth handling the first one. For the second, given the added complexity, I could make the case that it would be a reasonable tradeoff to go back to the approach of using a recursive DNS server (like OpenDNS) instead of building in all the logic of recursing. For an informational preliminary test, relying on a publicly available option will provide nearly as much information without a lot of extra complexity.
If we did want to utilize our newly found DNS expertise, I think it could be a nice feature for the acme-dns plug-in to actually check that the challenge domain was CNAME'd to the appropriate location, but again, not a requirement by any means.

My PR adds support for both of the issues that you cite, @ericcan. And, if you prefer, you can override the name server via configuration to get your desired behavior. In my case, the default name server didn't know about my DNS records which is why I pursued going to an authoritative source.
Regarding your feature request, can you explain that in more detail?

Current behavior:
In AcmeDnsClient, the user is instructed in the case of a new registration to create a CNAME for the _acme-challenge subdomain. In the case of an existing registration, the user is asked to confirm that the mapping exists as well.
Proposed behavior:
New registration: Once the user confirms they have set up the CNAME record, we could do a DNS lookup to see that the mapping indeed exists and matches what it should. If it doesn't, we would allow the user to choose to retry (to allow for double checking their DNS records or just to give additional time for the change to propagate) or to ignore.
In the case where the the registration already exists, we could do the lookup proactively and only wait for input if a dns query shows that the CNAME mapping is not yet established. In the case of waiting, we would offer the same retry/ignore as the new registration case.

@ericcan I like your idea, that way we could even make AcmeDns work in unattended mode. But I think it deserves it's own issue, so that we can close this one when the bug fixes are in. Would you mind copying this proposal into a new thread?

@WouterTinus Done!

I've done some refactoring and improved reliability based on two of my own DNS providers, so this will be in 2.0.5.

Released in 2.0.5


[serializer] improve stream serialization memory efficiency for small payloads

What does this PR do?
Improve jsonstream serialization memory efficiency for small payloads.
For the jsonstream logic we need two buffers: one "input" buffer that is used to store uncompressed JSON data and one "output"/"compressed" buffer that is used to store compressed data.
In the original implementation we decided to initialize both buffers to their theoretical maximum value to prevent them from resizing and wasting allocations. This revealed to be very inefficient for agents sending small payloads.
The idea behind this PR is that since payloads will tend to have mostly the same size between runs, we should initialize our buffers based on their previous max size. To do so we keep the previous max size in a new PayloadBuilder struct initialized in the serializer.
The following benchmarks compare the new jsonstream logic against the old split logic and are function of the number of series. CPU and number of allocs are not shown as they are not relevant and stayed mostly unchanged.
Numbers before changes against the split logic:
benchmark               old bytes       new bytes      delta
Benchmark1-4            815959          2483640        +204.38%
Benchmark10-4           820832          2449308        +198.39%
Benchmark100-4          865648          2375226        +174.39%
Benchmark1000-4         1295288         2172295        +67.71%
Benchmark10000-4        6541046         4162475        -36.36%
Benchmark100000-4       60576750        23577400       -61.08%
Benchmark1000000-4<PHONE_NUMBER>      245253000      -88.05%
Benchmark10000000-4<PHONE_NUMBER>4<PHONE_NUMBER>     -87.23%

Numbers after changes against the split logic:
benchmark               old bytes       new bytes      delta
Benchmark1-4            815898          823244         +0.90%
Benchmark10-4           820560          825084         +0.55%
Benchmark100-4          864643          857864         -0.78%
Benchmark1000-4         1303802         1307710        +0.30%
Benchmark10000-4        5134576         5209538        +1.46%
Benchmark100000-4       60576868        28559374       -52.85%
Benchmark1000000-4<PHONE_NUMBER>      237122568      -88.44%
Benchmark10000000-4<PHONE_NUMBER>8<PHONE_NUMBER>     -88.45%

Motivation
We noticed a bump in the agent baseline RSS of about 10-15%.
Additional Notes
The following was not working:
https://github.com/DataDog/datadog-agent/blob/0c8aee4b9cd2d64a935d095c9e8addffdd463079/pkg/serializer/jsonstream/compressor.go#L68-L72
Indeed, sync.Pool cleans all it's elements on every Go GC run. Since this would most likely happen between two serialization (~15s) the pool was always empty.
We could keep buffer between runs but I think it's over-optimizing at this point (the memory is going to get easily GC'd anyway). We would also need to decide on an heuristic to resize the buffers which might get more complex than just keeping the last size.

High-level logic LGTM 👍


[NEW] Decide on a design concept

Never be similar with most of blogs

Be beautiful

Be convenient for visitors

references

https://interface.fh-potsdam.de/future-retro/ZKM/ZKM-1000/public/?id=0
https://interface.fh-potsdam.de/future-retro/HN/
http://everylastdrop.co.uk/
https://activetheory.net/home
Good example of minimal design:

http://www.austindehaven.com/
http://www.williansdeabreu.com/

http://www.aisforalbert.com/
Distort pictures with simple pattern.

the distorted picture
the original picture

notification button in the corner for notice feature
https://sanghaklee.tistory.com/53

Using theme color for each post and make the color to be connected to the post detail page seems good idea. Refer this:

https://www.pushhere.com/pushers
https://regrocery.co/

Use poligons to express objects: http://species-in-pieces.com/#
Make a simple logo and use it as an object for meaningful interactions like a menu button: https://wearec2.com/#/

It would be interesting if a 3D cube is used and visitors can rotate it.

Neat post list for mobile view: https://www.nuabikes.com/blog
https://rallyinteractive.com/#franklin-square

Make size of the posts irregular: https://99u.adobe.com/ (pc version)
https://99designs.com/categories (pc version)
Use backgtound color to make animation smooth: https://thelaartbox.com/
Gears and time can be a great objet: https://www.youtube.com/watch?v=8hq0eAt0_ng
Single theme color and dreamy but powerful mood: https://youtu.be/fPU6Wewxz6c

detail proposals

Exclude 'Works' from main menu. Leave only 'Posts' and 'About', so make it simple.
Consider using space theme and make visitors feel like they are traveling the space.

how about this?

about

Make active use of images to illustrate my career history.

posts

Be simple for visitors to be easy to concentrate the contents.
Pinterest-like design.
style details

post preview

width

min-width <= width <= max-width
if no picture: width = min-width
if picture exists and min-width <= picture width <= max-width: width = picture width
if picture width > max-width: resize the picture to max-width
if picture width < min-width: resize the picture to min-width
if height of the (resized) picture > max-thumbnail-image-height: crop the picture
So, every preview block have dynamic width by width of the picture of them

height

(cropped) picture height + thumbnail content height
So, heights of the preview blocks are also not fixed.

lgtm


Enhancement: Add a Docker config to allow easy server launches

Describe the Current Behavior/Feature:
Currently, the only means we provide for running PASS is to run the both the solid server and the react server directly, as separate processes. This is fine (and often preferable) for a dev environment, but becomes problematic when deploying the server in a live environment.
Proposed Behavior/Feature:
We can make a Docker container (or docker-compose system) that runs both the PASS react app and a solid server out of the box, and maintains internally all necessary configuration and data. Then we will be able to easily deploy the full app to any environment.

Rationale:
Ultimately, we will want to make it as easy as possible to set up PASS. If we have a well-written docker file, we can get a full PASS system (pod server, app, and env variables) up and running in a single command.

Proposed Implementation (if applicable):
We can have a docker-compose file that builds 2 docker containers:

A pod server that runs community solid server
An NGINX server that serves the built React App

Using proper port forwarding, we can set up the docker-compose file to automatically set the env variables in the NGINX server to point the react app at the Pod server. We can also have the docker-compose automatically run letsencrypt to get certs to host the servers over https. This may require a third container (I haven't looked into that too closely yet).
The end result should be a system that keeps all information stored in the docker containers, with no leakage into the host environment (or if it needs to write to the host filesystem, writes to an area reserved to that container).

Additional context:
We currently have a docker-compose file up on opencommons.net, but it is tied closely to the specifics of that droplet. It would be ideal if we can have a single, universal docker file that can be run on all systems.

@pinfold Followup issue to the conversation we had at the Code for PDX meeting on Aug 9th. If we get this config written correctly, we could get it running on opencommons.net as well.

We're currently using this docker-compose.yml on opencommons.net to run community solid server. Some more information is available here: https://github.com/CommunitySolidServer/CommunitySolidServer#-running-via-docker
version: '3.7'
services:
  server:
    image: solidproject/community-server:6.0.0

    # this ensures automatic container start, when host reboots
    restart: always

    # run as root so container can access letsencrypt certs
    user: root

    ports:
      - 3000:3000

    volumes:
      # mount local directories to the container
      - type: bind
        source: /home/kevin/solid-css/data
        target: /data
      - type: bind
        source: /home/kevin/solid-css/config
        target: /config

      # (!) mount existing TLS certificates, e.g. from letsencrypt
      # (!) ensure that the key and fullchain files are readable by UID 1000
      - /etc/letsencrypt:/certs

    #environment:
    #  - "CSS_BASE_URL=https://opencommons.net/"
    #  - "CSS_CONFIG=/config/pass-config.json"
    #  - "CSS_ROOT_FILE_PATH=/data"
    #  - "CSS_LOGGING_LEVEL=debug"

    command: -c /config/pass-config.json -f /data -b https://opencommons.net

Closing: Complete


Change VAE parameter from C to beta

typically people use beta to refer to this value. https://arxiv.org/abs/1804.03599
Thank you for creating a pull request!
Please double-check the following.

Read our contribution guide.

Does you code conform to our coding guidelines?
Did you write sufficient test code?
Did you write sufficient documentation?

Also take a look at our compatibility policy.

Jenkins, test this please.

Jenkins CI test (for commit ef13d538969768497d7a0cfb4aec58ec0f3dac25, target branch master) succeeded!


Tests fails on current master

Hello.
I wanted to contribute (and resolve some issues), but the problem is that current master (commit 1e5a2edd31d3191d3d92ccc0f96ce6f2ca0eebe7) has failing tests:
> bundle exec rake
/home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activesupport-5.2.5/lib/active_support/core_ext/hash/except.rb:12: warning: method redefined; discarding old except
Run options: --seed 34484

# Running:

...................../home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
......./home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
/home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
....../home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
................/home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
/home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
./home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
/home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
....................EF

Fabulous run in 24.147000s, 3.0231 runs/s, 9.4008 assertions/s.

  1) Error:
TestAR#test_validation:
ArgumentError: wrong number of arguments (given 1, expected 0)
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activemodel-5.2.5/lib/active_model/type/value.rb:8:in `initialize'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activemodel-5.2.5/lib/active_model/type/registry.rb:12:in `new'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activemodel-5.2.5/lib/active_model/type/registry.rb:12:in `block in register'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/type/adapter_specific_registry.rb:38:in `call'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activemodel-5.2.5/lib/active_model/type/registry.rb:20:in `lookup'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/type.rb:42:in `lookup'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/attributes.rb:237:in `block in load_schema!'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/attributes.rb:235:in `each'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/attributes.rb:235:in `load_schema!'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/attribute_decorators.rb:51:in `load_schema!'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/model_schema.rb:459:in `block in load_schema'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/model_schema.rb:456:in `synchronize'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/model_schema.rb:456:in `load_schema'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/model_schema.rb:346:in `attribute_types'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/attribute_methods.rb:230:in `has_attribute?'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/inheritance.rb:55:in `new'
    /home/alex/Projects/ruby/email_address/test/activerecord/test_ar.rb:8:in `test_validation'

  2) Failure:
TestAR#test_datatype [/home/alex/Projects/ruby/email_address/test/activerecord/test_ar.rb:18]:
Expected<EMAIL_ADDRESS>  Actual<EMAIL_ADDRESS>
73 runs, 227 assertions, 1 failures, 1 errors, 0 skips

Current Bundle:
> bundle list
Gems included by the bundle:
  * activemodel (5.2.5)
  * activerecord (5.2.5)
  * activesupport (5.2.5)
  * arel (9.0.0)
  * concurrent-ruby (1.1.8)
  * docile (1.3.5)
  * email_address (0.1.20)
  * i18n (1.8.10)
  * minitest (5.14.4)
  * netaddr (2.0.4)
  * rake (13.0.3)
  * simplecov (0.21.2)
  * simplecov-html (0.12.3)
  * simplecov_json_formatter (0.1.2)
  * simpleidn (0.2.1)
  * sqlite3 (1.4.2)
  * thread_safe (0.3.6)
  * tzinfo (1.2.9)
  * unf (0.1.4)
  * unf_ext (<IP_ADDRESS>)
Use `bundle info` to print more detailed information about a gem

Sometimes there is no fail, only the error:
> bundle exec rake
/home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activesupport-5.2.5/lib/active_support/core_ext/hash/except.rb:12: warning: method redefined; discarding old except
Run options: --seed 6383

# Running:

....../home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
/home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
........./home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
/home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
...........E........................../home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
/home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
./home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
.../home/alex/Projects/ruby/email_address/lib/email_address/host.rb:336: warning: Socket.gethostbyname is deprecated; use Addrinfo.getaddrinfo instead.
................

Fabulous run in 23.506989s, 3.1055 runs/s, 9.7418 assertions/s.

  1) Error:
TestAR#test_datatype:
ArgumentError: wrong number of arguments (given 1, expected 0)
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activemodel-5.2.5/lib/active_model/type/value.rb:8:in `initialize'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activemodel-5.2.5/lib/active_model/type/registry.rb:12:in `new'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activemodel-5.2.5/lib/active_model/type/registry.rb:12:in `block in register'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/type/adapter_specific_registry.rb:38:in `call'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activemodel-5.2.5/lib/active_model/type/registry.rb:20:in `lookup'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/type.rb:42:in `lookup'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/attributes.rb:237:in `block in load_schema!'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/attributes.rb:235:in `each'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/attributes.rb:235:in `load_schema!'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/attribute_decorators.rb:51:in `load_schema!'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/model_schema.rb:459:in `block in load_schema'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/model_schema.rb:456:in `synchronize'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/model_schema.rb:456:in `load_schema'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/model_schema.rb:346:in `attribute_types'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/attribute_methods.rb:230:in `has_attribute?'
    /home/alex/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/activerecord-5.2.5/lib/active_record/inheritance.rb:55:in `new'
    /home/alex/Projects/ruby/email_address/test/activerecord/test_ar.rb:17:in `test_datatype'

73 runs, 229 assertions, 0 failures, 1 errors, 0 skips

I guess it's because some global state between tests, which is definitely bad.
If I'll have time — I can try to investigate, but it'd be easier for you, maintainer.

I've found that the reason of error is in Ruby 3. I'm preparing a PR.


Create documentation for release-please.yml

Is your feature request related to a problem? Please describe.
No clear instructions for the release-please.yml in main documentation.
Describe the solution you'd like
Explain where to place the file and options within it as described here https://github.com/googleapis/repo-automation-bots/tree/master/packages/release-please

@leone145 we should add a section on the GitHub app, thanks for the recommendation.

This was added to the README as a link to the GitHub app's documentation.


simplify rapidpro user setup

Closes #1109
Closes #1099

used token-based authentication instead of Basic auth which used username and password
removed custom basic auth class and created custom permission for rapidpro group user
removed rapidpro environment variables and simply hardcoded username
created rapidpro group and user added to that can be used for communicating with rapidpro server
any user belonging to rapidpro group can be used for communicating with repidpro servers
tokens for all users belonging to rapidpro group will be displayed on chatbot channel listing page
updated readme for rapidpro

@istride changes addressed


[qtwebengine] Fix VS2022 ICE

https://bugreports.qt.io/browse/QTBUG-101917

@BillyONeal You might want to add this patch also to the chomium-base port to re-enable it?

Thanks for the ICE workaround!


Handle missing keep options more sanely

While twiceredis isn't targeted for OS X, when using it on that OS it
tends to blow up. This will at least make it not blow up.

+2

wow you guys run code/tests on OSX? mind=blown.
I'll merge this for now but change it later to where it only sets the defaults if you set keepalive to True and don't pass in any options. Then in your osx client code, in the tests or mocks or whatever, you can just pass in False. This way the code doesn't have to cater to nonstandard operating systems.

Except.. If you guys are pulling from pypi, I'll need to make/upload a new package. Let me know. I can't remember if it's pinned in quark to a version or uses a >=.


MySQL: disable foreign key checks

Article migration:
https://help.aiven.io/en/articles/5580571-can-i-disable-foreign-key-checks
I've tested all the steps. However, the extra command in the end did not work for me. I could not reproduce.
Fixes: https://github.com/aiven/devportal/issues/657

@ftisiot thanks for the review! addressed the comments. The last command did not work for me as I said on the PR description. So I was not sure if it was correct.

@laysauchoa is this ready for review?

@laysauchoa is this ready for review?

yes, I have added the last command in the last review, would be possible to check again? thank you


Width parameter doesn't seem to do anything

Hi, using StreamLabs OBS, installation work as expected. Chat commands works, sound works, configuration file work as expected. Colors, opacity, padding, everything works.
However, attempting to modify the width of the list by changing the aptly named "Width" parameter does nothing. I tried changing it from the default to either 50 or 500 px and it did not change the width of the list.
Thanks for this great work! :)

Thanks mate, will test it right now.


Max no. of  threads / processes / partitions ?

Is there any limit / cap to

No. of threads in a secor process
How many secor processes can be run in parallel (same machine or as a cluster on different machines)
Max. no. of partitions per topic that can be handled by a secor cluster

Are there any MAX numbers that were tried successfully in above context.
I am trying following things

6 secor processes (2 + 4 on Two separate machines with same consumer group and associated with same zookeeper cluster)
10 threads per process
topic : logs having 60 partitions

It is invariably failing to sustain continuous processing. A scaled down setup with less traffic and less number of partitions works seamless.

There will be a cap on max # of threads or processes since too many threads
or processes will causing too much OS scheduling overhead and CPU/Memory
threshing, but we have been using 100 threads/processes before.  Your
number 6 processes + 10 threads wouldn't cause problems.  You can monitor
CPU/Memory on the host to see if the usage is plateaued, most often the
performance is constrained by the box's I/O throughput.
In terms of number of partitions per topic, we have topic with 240
partitions without much problem.
On Thu, Aug 11, 2016 at 1:42 AM, Milind Vaidya<EMAIL_ADDRESS>wrote:

Is there any limit / cap to

No. of threads in a secor process
How many secor processes can be run in parallel (same machine or as
a cluster on different machines)
Max. no. of partitions per topic that can be handled by a secor
cluster

Are there any MAX numbers that were tried successfully in above context.
I am trying following things

6 secor processes (2 + 4 on Two separate machines with same
consumer group and associated with same zookeeper cluster)
10 threads per process

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pinterest/secor/issues/247, or mute the thread
https://github.com/notifications/unsubscribe-auth/AHCX_6OHdc-_9sqzymd7WHd4s5JSgYb0ks5qeuBogaJpZM4Jh6ET
.


Installation issue

Hello,
I am not able to install the plugin and I don't know why.
As suggested in the readme file, I double-clicked on the file: adobe xd started but nothing happened... what I am doing wrong?
Thanks in advance

What version of XD and the plugin are you using?
I'm working with the last release of XD and it's working perfectly.
You can try this release of the plugin, with all the pull requests and fixes: v1.2.2

Thanks @informata !
I use Adobe XD v41.1.12 (I think it is the latest, at the moment) but I tried to use the v 1.1 of the plugin because it is the one suggested in the main page of the plugin (here on GitHub).
Are there any things that you suggest to do to install the plugin? Do you think is better to have XD closed or already opened before 'double-click' the .xdx install file?
As soon as possibile I will try to install the v1.2.2 that you linked and I will write here my results.
Thanks again

HI @naryk86, I'm using that XD release with no problems. When I do double click, XD opens and in a short time (a small lag I think), asks me for the installation.
if you have problems installing this plugin by double click, you can try to install it in developer mode. xdx files are just zip. So, you can change the extension to zip, an uncompress the content of the file in a folder inside this path:

MacOS:
~/Library/Application\ Support/Adobe/Adobe\ XD/develop

Windows:
C:\Users\%USERNAME%\AppData\Local\Packages\Adobe.CC.XD_adky2gkssdxte\LocalState\develop

Note: if develop folder doesn't exist, you can create it.
One more thing, v1.1 of the plugin has a bug, and it doesn't show the exporter dialog properly. I fixed it in the update. I've added a new function today: generation of assemblies tags for fonts (XF >= 4.6). I've released as v1.3. You can find it here: XDtoXF-v1.3


Make the basic build process work on MacOS / Linux

Description:
The build.ps1 script wasn't working properly on MacOs. I've made minor changes to it to make it work. However, Pester unit tests are still not working, need to make some more adjustments to them to make them work as well. However, since this isn't a high priority item, I will look into this in the near future.
I’ve tested this on my own MacOs device and build went fine.

Will make a few more adjustments here. So converting it to draft for now.


Rename ACCOUNT env var to GITHUB_USERNAME_OR_ORG

Fixes #10
Let me know if you would like to use any other name for the variable.

Thank you - but these names are definitely too long! 😄 I'm sorry.

Let me know if you would like to use any other name for the variable.


Module outputs refer to sensitive values

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Versions

terraform: 1.5.7 (latest shipped for MacOS with homebrew)
azure provider: >= 3.74.0
module: 5.0.3
Description
Describe the bug
I'm deploying a testing version of the landing zone, with demo landing zones, and identity, management, and connectivity resources enabled, without any additional configuration.
Running terraform plan results in the following error:
Error: Output refers to sensitive values
│
│   on outputs.tf line 84:
│   84: output "azurerm_log_analytics_workspace" {
│
│ To reduce the risk of accidentally exporting sensitive data that was
│ intended to be only internal, Terraform requires that any root module
│ output containing sensitive data be explicitly marked as sensitive, to
│ confirm your intent.
│
│ If you do intend to export this data, annotate the output value as
│ sensitive by adding the following argument:
│     sensitive = true

and a similar one on line 102.
Steps to Reproduce

Configure the module as follows:

module "enterprise_scale" {
  source  = "Azure/caf-enterprise-scale/azurerm"
  version = "5.0.3" # change this to your desired version, https://www.terraform.io/language/expressions/version-constraints

  default_location = var.location
  default_tags     = var.tags

  providers = {
    azurerm              = azurerm
    azurerm.connectivity = azurerm
    azurerm.management   = azurerm
  }

  root_parent_id = data.azurerm_client_config.core.tenant_id
  root_id        = var.root_id
  root_name      = var.root_name

  deploy_demo_landing_zones = true

  deploy_management_resources = true
  subscription_id_management  = module.subscriptions.subscription_id_map[local.subscription_name_management]

  deploy_identity_resources = true
  subscription_id_identity  = module.subscriptions.subscription_id_map[local.subscription_name_identity]

  deploy_connectivity_resources = true
  subscription_id_connectivity  = module.subscriptions.subscription_id_map[local.subscription_name_connectivity]
}

run terraform plan

Proposed solution

Add the sensitive = true argument to the above-mentioned outputs on lines 84 and 102 in outputs.tf (I'm currently using this as a fix on my fork of the repository)
Since the outputs are considered sensitive, consider removing said outputs

I'm willing to submit a pull request once the solution has been decided.

Hey @JaegerP I just tested your solution locally and it seems to work.

Hi can you please confirm terraform versions, provider versions and module version.
Can you please also supply module config?
Thanks!

Hi - apologies we will try and repro this. Can you confirm the exact provider version that you are experiencing the issue with?

Hi @matt-FFFFFF, I've tried several provider versions, since I first assumed it might be an issue with 3.89, but the problem persisted with 3.88, and all the way back to 3.74.

@matt-FFFFFF any update on this?

@JaegerP I created the pull request to fix this.

Thanks @Laudenlaruto. Any estimate when the fix will be included in a release?


Add DNS record data source

Adds a data source for an existing DNS record
Resolves #1904

For the search, what about using the list DNS record API call (https://api.cloudflare.com/#dns-records-for-a-zone-list-dns-records) but applying a filter of hostname and a type of "A" unless set?

For the search, what about using the list DNS record API call (api.cloudflare.com/#dns-records-for-a-zone-list-dns-records) but applying a filter of hostname and a type of "A" unless set? Could even make the page response only be 1 record on 1 page.

yep, where possible, offload the actual searching the Cloudflare API and don't do it in the data source itself. check out cloudflare_zones for an example of this.


0.3.28

Its not possible to push to master, so we need to create the release commit through a PR.

Merged and released.

Hm I probably shouldn't have released this given the upcoming change in #132, but we're relaxed about backwards compatibility in this project.


fix: allow non-multiaddress api url

Fixes the third issue mentioned here.
License: MIT
Signed-off-by: Henrique Dias<EMAIL_ADDRESS>

@lidel ready for review!


Thoughts on GraalVM?

This isn't an issue so much as it is meant to be a place for discussion. I looked through older issues and noticed that kscript couldn't be compiled natively with kotlin-native yet because of missing File APIs, is that still the case @holgerbrandl?
Have you investigated GraalVM at all? I wonder if it would be possible to use GraalVM to create a native binary instead to run kscript itself and possibly as an option like --package-native to create a native binary for the user's application.
More info on GraalVM: https://www.graalvm.org/
I'm happy to help look into this too if you can point me in the right direction on the kscript side.

I think nobody has tried to compile it with kotlin-native. Partly because it would require rewriting quite some codebits to make use of the platform level IO interfaces.
Thanks for the pointer to GraalVM. Does it require itself as a preinstalled dependency? Is it like a docker system for app-packaging?
A pointer to look at would be https://github.com/holgerbrandl/kscript/blob/master/src/kscript#L28 . There we currently start the JVM but I guess we could also run it differently.
What may make a vm encapsulation tricky is that we still want proper stream IO for kscripts. Not sure how GraalVM does handle that.
This ticket seems related to #102 which is currently the most likely solution to improve startup speed of kscript.

I think graalvm looks like a promising alternative. Haven't tried it yet to share more insights.

GraalVM looked exciting -- until I tried it.
My $.02
Too many limitations on reflection for the native mode, I could not get any of my 'small' projects to build.
For non-native (runs within your local JVM) slower at startup and runtime then without.

Discussion is mainly present in PR, so I'm closing this ticket.


Dataset from TFRecord has unknown shapes.

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Debian GNU/Linux 8
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): pip
TensorFlow version (use command below): 2.0.0
Python version: 3.7.4
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: 10.0
GPU model and memory: 1080Ti 12G * 4

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
I follow the tf2.0 tutorial to generate and read the dataset into tf.Dataset. However, the read serialized record data has unknown shapes and unable to call strategy.experimental_distribute_dataset to use mirror strategy.
Note that I can load data normally using
for f0, f1, f2, f3 in train_dataset:
for single GPU training.
Describe the expected behavior
The loaded tf.Dataset should have correct shapes and be able to be distributed using strategy.experimental_distribute_dataset. The features all have fixed shapes, but I don't know how to define them.
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
raw_train_dataset = tf.data.TFRecordDataset('path/to/the/record')

def read_tfrecord(serialized_example):
    feature_description = {
        'feature0': tf.io.FixedLenFeature([], tf.string),
        'feature1': tf.io.FixedLenFeature([], tf.string),
        'feature2': tf.io.FixedLenFeature([], tf.string),
        'feature3': tf.io.FixedLenFeature([], tf.string)
    }

    example = tf.io.parse_single_example(serialized_example, feature_description)
    f0 = tf.io.parse_tensor(example['feature0'], tf.uint8)
    f1 = tf.io.parse_tensor(example['feature1'], tf.float32)
    f2 = tf.io.parse_tensor(example['feature2'], tf.int16)
    f3 = tf.io.parse_tensor(example['feature3'], tf.uint8)

    return f0, f1, f2, f3

train_dataset = raw_train_dataset.map(read_tfrecord)
train_dataset = strategy.experimental_distribute_dataset(train_dataset)

Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
Before running the last line of code, the printed train_dataset is
<MapDataset shapes: (<unknown>, <unknown>, <unknown>, <unknown>), types: (tf.uint8, tf.float32, tf.int16, tf.uint8)>.
And after running the last line to distribute the dataset for mirror strategy, it raises an error ValueError: Cannot take the length of shape with unknown rank..

@zhangjh915
Looks like code is incomplete.Can you please help us with the simple standalone code to reproduce the issue in our environment.It helps us in localizing the issue faster.Thanks!

@ravikyram Thanks for the reply. I have created a toy program to reproduce the same issue as follows.
import tensorflow as tf
import numpy as np

# generate toy data
F0 = np.random.randint(2000, size=(100,20,1)).astype('uint8')
F1 = np.random.randint(1500, size=(100,3,5)).astype('float32')
F2 = np.random.randint(1600, size=(100,4,4)).astype('int16')
F3 = np.random.randint(2000, size=(100,20,1)).astype('uint8')

# this part is based on the tensorflow tutorial.
def _bytes_feature(value):
    """Returns a bytes_list from a string / byte."""""
    if isinstance(value, type(tf.constant(0))):
        value = value.numpy() # BytesList won't unpack a string from an EagerTensor.
    return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))

def serialize_example(feature0, feature1, feature2, feature3):
    """
    Creates a tf.Example message ready to be written to a file.
    """
    # Create a dictionary mapping the feature name to the tf.Example-compatible
    # data type.
    feature0 = tf.io.serialize_tensor(feature0)
    feature1 = tf.io.serialize_tensor(feature1)
    feature2 = tf.io.serialize_tensor(feature2)
    feature3 = tf.io.serialize_tensor(feature3)
    feature = {
               'feature0': _bytes_feature(feature0),
               'feature1': _bytes_feature(feature1),
               'feature2': _bytes_feature(feature2),
               'feature3': _bytes_feature(feature3)
              }

    example_proto = tf.train.Example(features=tf.train.Features(feature=feature))
    return example_proto.SerializeToString()

def tf_serialize_example(f0, f1, f2, f3):
    tf_string = tf.py_function(
            serialize_example,
            (f0, f1, f2, f3),
            tf.string
            )
    return tf.reshape(tf_string, ())

train_dataset = tf.data.Dataset.from_tensor_slices((F0,F1,F2,F3))
serialized_train_dataset = train_dataset.map(tf_serialize_example)

def generator_train():
    for features in train_dataset:
        yield serialize_example(*features)

serialized_train_dataset = tf.data.Dataset.from_generator(
        generator_train, output_types=tf.string, output_shapes=())

# write data into tfrecord, please modify the path
writer_train = tf.data.experimental.TFRecordWriter('/tfrecord_path/sample.tfrecord')
writer_train.write(serialized_train_dataset)

# read saved tfrecord
raw_train_dataset = tf.data.TFRecordDataset('/tfrecord_path/sample.tfrecord')

# this part is based on the tutorial as well
def read_tfrecord(serialized_example):
    feature_description = {
            'feature0': tf.io.FixedLenFeature([], tf.string),
            'feature1': tf.io.FixedLenFeature([], tf.string),
            'feature2': tf.io.FixedLenFeature([], tf.string),
            'feature3': tf.io.FixedLenFeature([], tf.string)
            }

    example = tf.io.parse_single_example(serialized_example, feature_description)
    f0 = tf.io.parse_tensor(example['feature0'], tf.uint8)
    f1 = tf.io.parse_tensor(example['feature1'], tf.float32)
    f2 = tf.io.parse_tensor(example['feature2'], tf.int16)
    f3 = tf.io.parse_tensor(example['feature3'], tf.uint8)

    return f0, f1, f2, f3

train_dataset = raw_train_dataset.map(read_tfrecord)
print(train_dataset)  # here the shapes would be printed out as <unknown>
strategy = tf.distribute.MirroredStrategy()
train_dataset = strategy.experimental_distribute_dataset(train_dataset)  # it will raise error here

I have tried on colab with TF version 2.0,2.1.0-rc0 and was able to reproduce the issue.Please, find the gist here. Thanks!

@aaudiber could you please take a look

Hi @zhangjh915,
The shapes are unknown because the parse_tensor function can't statically determine the shape of the parsed tensor. If you know the shape, you can use ensure_shape to help with shape inference.
tensor = tf.ensure_shape(tensor, shape)

In your code it would look like
    f0 = tf.ensure_shape(tf.io.parse_tensor(example['feature0'], tf.uint8), ())
    f1 = tf.ensure_shape(tf.io.parse_tensor(example['feature1'], tf.float32), ())
    f2 = tf.ensure_shape(tf.io.parse_tensor(example['feature2'], tf.int16), ())
    f3 = tf.ensure_shape(tf.io.parse_tensor(example['feature3'], tf.uint8), ())

Setting the shapes reveals the real problem; that experimental_distribute_dataset expects the input dataset to be batched.
The docs for experimental_distribute_dataset mention this.

We will assume that the input dataset is batched by the global batch size. With this assumption, we will make a best effort to divide each batch across all the replicas (one or more workers).

I'm not sure this must be filed as a separate issue:
If using TFRecords to store training data is to be simple and robust, having to manually serialize and parse tensors is already getting our hands quite dirty with the code. Using tf.ensure_shape every time as suggested by @zhangjh915 only worsens this. Will the whole functionality of saving and loading datasets get a major revamp to take care of such checks automatically and overall, make the process of loading and saving datasets simpler?

@dinesh110598 I like the idea of improving type/shape inference so that users don't need to specify types/shapes if they don't want to. However, this doesn't seem possible for TFRecords since they can contain arbitrary bytes. If we want to automatically infer types/shapes, we need a new format that stores type/shape information at the start of the file.


Clarity 'storage' icon does not support dark theme

Describe the bug

The clarity 'storage' still appears black when applying clarity dark theme. Expecting a lighter white as other Clarity icons appear to support dark theme.
Using clarity 3.1.4 and ng9. macOS

. Chrome.
See screenshots.

Hi @kodemasta
I don't see anything in the 3.1.4 @clr/icons technology shapes that would cause the behavior that is being reported.
Could you help us out by providing a stackblitz?
I don't know if there's something on your end that is overriding the styles for that glyph. And it looks fine on my end.
Thanks!

That was it ! We had an override for 'storage' icon. I removed it and it is working. Thanks for the tip.


[SR2022]: 2022-03-25 Competition Volunteer Recruitment

Body
We're looking for volunteers to help run the #srobo2022 competition on 23rd and 24th April at @southamptonuni. You could be helping competitors problem solve, making sure robots show up to their matches on time, scoring matches and loads more!
https://forms.gle/5pPPrHxipJ7LaFfQ9
Media
SR2019 volunteer group photo
Category
Volunteer Recruitment

This has been scheduled

This was posted


TFE: constant color option not available

The constant color option is not longer displayed on any of the renderers. It should be possible to select constant coloring for the Barbs and contour renderers.
To reproduce:

Load any data set and enable a Barb or Contour renderer
Select the appearance tab. There is no option for constant coloring.

We will do option 2!
Make a constant color checkbox in the Apperance tab.  Move the const color selector to the appearance tab (off by default).  Keep the color-mapped variable selector in the variables tab.


Hours of delay to propagate MS Graph permissions to Managed Identity

We have create 4 function apps with Managed Identity enabled. When provided Graph API Users.Read.All permissions, Two of them were assigned and working immediately but the other two did not work over 24 hours period and started to work next day without any changes. Error received during 24 hours window "Insufficient privileges to complete the operation". We believe that sometime some synchronization job fails when we try to assign the permission and then it's moved to some recovery step which takes long time to run.
So two issues needs to be looked into are 1. Why sometimes the permissions synchronization is failing. 2. If permissions assignment fails on first run, Can the retry be done sooner so it is assigned quicker than waiting for many hours?
FYI: We are using PowerShell to assign permissions as there is no interface to do it.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 73fa9ea4-0739-235e-0422-75bbab9ae398
Version Independent ID: 01013b89-b27b-73d6-8885-333d28be5257
Content: Tutorial - Web app accesses Microsoft Graph as the app - Azure App Service
Content Source: articles/app-service/scenario-secure-app-access-microsoft-graph-as-app.md
Service: app-service-web
GitHub Login: @rwike77
Microsoft Alias: ryanwi

@adhunna
Thanks for your feedback! We will investigate and update as appropriate.

adhunna, Apologies for the delay! For a deeper investigation on this issue, I would like to get more information on your Azure Apps and subscription, so I wish to engage with you offline to provide a quick and specialized assistance, please send an email with subject line “Attn:Ajay” to AzCommunity[at]Microsoft[dot]com referencing this thread, Azure subscription ID, and your app name, I will follow-up with you.
Since it's not doc specific issue and that we'll engage offline, I'll close this thread for now. Thanks for your patience.

Hi @adhunna , how did you resolve this problem. @AjayKumar-MSFT can you update here what is the solution to the issue mentioned. We are facing a similar issue


I think there might be something wrong with the logic

I am using ace-diff v2.1.2.
In my source code, there are some errors

In the right editor, the blue line should be drawn between line 35 and 36. For the source code before version 1.0.0, this works properly.

In the right editor, only line 150 should be marked. For the source code before version 1.0.0, this also works properly.

One new line at the end is not marked.

It seems that PR #69 fixes the issue
See this comment https://github.com/ace-diff/ace-diff/issues/41#issuecomment-633283839


Dependency Line needs colon or double colon operator.

Hi, I have tried for past few days to figure this out on my end with no success.  I am hoping someone can help.
I am attempting to use BOB with Code for IBM i.  Using Code for IBM i I am developing locally and then pushing my code to my target directory on the IFS.  This works fine.  The problem is when, after the Deploy runs, and my "makei" command is run I get an
"/QOpenSys/pkgs/lib/bob/mk/Makefile", line 10: make: Dependency line needs colon or double colon operator.
make: Equal sign not found in macro substitution.

I am able to go directly to the command line and run the makei command, the exact same as in my action.json file, and it works with no errors??
Here is my actions.json in vscode->
[
  {
    "name": "Deploy & build all 🔨",
    "command": "OPT=*EVENTF BUILDLIB=&CURLIB /QOpenSys/pkgs/bin/makei build -e lib1=&CURLIB",
    "extensions": [
      "GLOBAL"
    ],
    "environment": "pase",
    "deployFirst": true
  }
]

Here is my iproj.json
{
    "version": "0.0.1",
    "description": "McCreary Modern - Production Planning",
    "objlib": "&lib1",
    "curlib": "&lib1",
    "includePath": [],
    "preUsrlibl": ["&lib1"],
    "postUsrlibl": ["&lib1"],
    "setIBMiEnvCmd": [],
    "repository" : "http://gitlab.mccrearymodern.com/mccrearydev/ibmi/productionplanning.git"
}

After upgrading to Bob 2.4 this error has been fixed.  Please close issue.


winston.transports.File ignores file creation errors

When adding File transport to a logger which points to a non-existing file and the directory does not have WRITE permissions, Winston does not catch 'error' event from the stream when it fails to create the log file.
This prevents to catch the error in app code thus no one knows the file logger does not work at all because the error message from WriteStream is just stored in buffer and never gets written into the file or console.
Example code:
var logger = require('winston').Logger({
    transports: [
        new winston.transports.File({
            filename: '/var/log/server.log',
            level: 'debug'
        })
    ],
    emitErrs: true
});
logger.on('error', function (err) {
    console.error('Logging error info: ', JSON.stringify(err));
});

The file creation error in WriteStream is not captured and propagated to the logger.
This could be easily fixed by capturing the 'error' event in file.js in File.prototype._createStream.createAndFlush method by adding:
self._stream.on('error', function(err) {
    self.emit('error', err);
});

As far as I can tell this issue still exist in 1.0.0 - is that correct? If so, what's the plan to address it?

File create errors are confirmed caught in v2.3.0

@danactive I'm still experiencing this in v2.3.1 - can you point me in the direction of the fix so I can have a look at debugging it?

I'm seeing this on 3.0.0-rc1

winston 3.2.1
I just spent 2 hours on this issue: experimenting with my configuration, reading through each of the file problem related issues and poking at things, before finding this issue at the end of the list.
Logs on local machine works, and did not on remote. Folder existed, but files were not created. Console transport worked fine, but nothing written to files manually created.
From the perspective of someone working on the logger in a large system, I'm getting no feedback during my normal testing loop to tell me what is wrong. If anything is thrown, it isn't crashing the app or otherwise leaking out where I can see it. No console.error nor or anything written to my (still working) transports.
No signs at all until the folder permissions were changed and it started working normally.

I've added the following to my bash execution script to prevent a repeat performance and provide a clue to someone examining the script as to what can go wrong.
verify logging permission - user, group and read/write permission
if
[ "$(ls -ld log | awk '{print $3}')" != "$USER" ] ||
[ "$(ls -ld log | awk '{print $4}')" != "$GROUP" ] ||  \
[ "$(ls -ld log | awk '{print $1}' | head -c 3 | tail -c 2)" != "rw" ]
then
echo "User '$USER' does not have appropriate permissions to the "log/" folder. Run 'chown $USER:$GROUP log/ ; chmod 640 log/' with admin privileges to prevent loss of logging functionality."
echo "chown $USER:$GROUP log/ ; chmod 640 log/"
exit 1
fi

Anyway to bump the priority on this? 10 years is a long time for something that has users question the stability of the logger and log rotation behavior.
Seems like the fix is well known, and if it is a compatibility issue the new behavior could be enabled via a flag so as not to affect existing applications.

@ChrisDelahunt Winston has no funding so we rely on maintainers’ super limited time — but if you were able to help with a PR, we could absolutely prioritize reviewing and shipping.  Thanks for any help you might be able to provide!


Kaiser windowing in FftSharp

Hi!
Great work here! I am looking forward to use your FftSharp library, but I would need to have a Kaiser windowing implementation working. Do you plan on implementing that? Or else, do you know some other library I could use tith Kaiser windowing implemented?

So this turned out to be way harder than I expected...
Calculating the Kaiser window is easy. It's a modified zero-order Bessel function. In python it's just this (source):
w = np.i0(beta * np.sqrt(1 - (2 * n / (N - 1) - 1) ** 2)) / np.i0(beta)

The hard part is figuring out what that np.i0() is doing. It looks like it's generating a "Modified Bessel function of the first kind, order 0." https://numpy.org/doc/stable/reference/generated/numpy.i0.html
Snaking through the numpy source code I land at a C call and am struggling to drill down to the actual source code of that function.
There are some citations to math books published in the 60s but I don't have access to those.
One trail led to https://metacpan.org/dist/Math-Cephes/view/lib/Math/Cephes.pod#y0:-Bessel-function-of-the-second-kind,-order-zero which says this... basically it depends on j0(), another function we have to hunt down
DESCRIPTION:
Returns Bessel function of the second kind, of order
zero, of the argument.

The domain is divided into the intervals [0, 5] and
(5, infinity). In the first interval a rational approximation
R(x) is employed to compute
  y0(x)  = R(x)  +   2 * log(x) * j0(x) / PI.
Thus a call to j0() is required.

In the second interval, the Hankel asymptotic expansion
is employed with two rational functions of degree 6/6
and 7/7.

I'm probably going to put this down and close this issue because this is taking a lot of my time and I want to devote my firepower elsewhere. I appreciate your suggestion @ADD-eNavarro, and would love to get a Bessel filter added to FftSharp (and then it will be easy to add a Kaiser window). If you can come-up with a function that returns Bessel values with C#, I'd be happy to pick this up again.
Based on the Numpy docs I'd expect it to look like this:

... okay I kept looking and got a lead, so I'm opening this issue back up. Accord.NET is GPL-licensed so we have to be very careful not to let that code get into the FftSharp library or it would lose its ability to be released under the MIT license.
https://github.com/accord-net/framework/blob/49f2932a7baf69c7f6113ec82976aecca0c50353/Sources/Accord.Math/Functions/Bessel.cs#L376-L406

I found a repository that has a C++ Bessel function generator that is MIT licensed. Thanks @oygx210!

https://github.com/oygx210/navguide
https://github.com/oygx210/navguide/blob/cfae1c4b7b9228d009b6e7e71c3d6a1ee17462c0/src/common/bessel.c#L29-L68

What a roller coaster... but it's in now and published on NuGet (version 1.0.12)
Let me know if it doesn't do the trick! Good luck with your project 👍 🚀
double[] window = FftSharp.Window.Kaiser(audio.Length, beta: 15);


Fix warnings

Fixed everything VS complained about.

Thanks for taking the time to fix these warnings. I think the warning about closing the socket twice was a real thing that actually happened sometimes!
We really appreciate your work on this project and we'd like to offer giving you collaborator access to this repository.
This means that you would be able to create branches directly on this repository so you wouldn't have to sync your fork everytime something changes. However, we'd still ask you to issue pull requests for your changes because that provides the tools for talking about the changes before merging them.

@mlangkabel Sounds good to me. If it's OK with you I'd like to work out establishing some kind of "next" branch (that's what git calls theirs, the name isn't important to me) where things like my include paths change could live after they're reviewed but before they're part of an official version.

For the internal software development at @CoatiSoftware we use a different branching concept, but why not. We always like to try something new! I think this article has a good description of what you are proposing (but we'll only need the master, next, release, and some feature branches ;) )

We use the git flow branching strategy at work, and while it works very well we do have a massive codebase and need more than 1 long-lived release branch at a time.
I'm not sure this repo quite warrants all of that, but some easier way to get at the bleeding edge code might be good for interested users.
I really wish the extension gallery supported differentiating between stable and beta versions, so people could opt-in to those kinds of updates.

Sure, lets keep it simple for this project. So we use the next branch for merging reviewed updates and features while the master branch has one merge-commit for each release.
But I think that having short-lived release branches is a good idea, too. They should branch away from the next branch whenever we want to make a new release. These release branches should have commits for changing the version number and updating the changelog and get merged into master (for the actual release) and also back into next (to keep the changes to the version number and the changelog for the following releases).


feat: Add support for aliases in the 'block' function import from the 'million/react' module

Please describe the changes this PR makes and why it should be merged:
This PR introduces the ability to support aliases for imported functions from the 'million' module, including the 'block' function. This allows functions to be imported under a different name and still be correctly recognized.
Specifically, the following changes have been implemented:

Created a collectImportedBindings function that collects all bindings imported from any module containing 'million' in its name.
In visitor.ts, instead of checking if a function is being called by the name 'block', it checks if an alias of 'block' is being used.
The ImportDeclaration now checks if the 'block' function from the 'million' module is being imported and if the local name matches the alias name for 'block'.

Status

[x] Code changes have been tested against prettier, or there are no code changes
[x] I know how to update typings and have done so, or typings don't need updating

Semantic versioning classification:

[x] This PR changes the codebase

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
[ ] This PR changes the internal workings with no modifications to the external API (bug fixes, performance improvements)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

This is very good @poteboy. Thank you!

@poteboy compiler legend. i've been trying to figure out how to do this for weeks! LGTM

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 49 (10.2%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.3%) to 31.484%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/compiler/react/visitor.ts
1
19
5.26%

packages/compiler/react/bindings.ts
4
30
13.33%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
912

Relevant Lines:
3064

💛  - Coveralls

nice work! if you ever want to help with the compiler we should chat on Discord


Parent Lists and Sublists misaligned

Current:

Correct:

@jancavan If I'm interpreting this properly then I should never indent the nested levels and always line up the child rows with the parent row, correct?

@astralbodies yes, correct about lining up child arrows with parent arrows. In this bug though, the items under the child list (Google Search) needs to be aligned with its parent.

@jancavan Okay so arrows never indent (which is the case already). If I line up child icons with the parent icon then that effectively removes all indent. In the mock above, following that rule, it would make Google Search line up with Search Engines.

@astralbodies oh I see what you're saying. Yes, Google Search should line up with Search Engines. But would it be possible to line up google.com, google.com/search, etc. line up with Google Search?


Failed to convert String to JsonObject in GBContext.java class

@WemyVieira thanks for the submission. Is this issue still happening?
I've added a unit test here to try to reproduce your issue. It appears to be passing with data similar to yours, so based on what I see in the screenshots, I'm not able to reproduce the issue with the features JSON string and attributes JSON string you provided.
Can you copy/paste (in text, not in image) the following:

your exact string for the JSON you're using
your dependencies in your gradle or pom file

It looks like your project is using the same version of Gson which should be OK

version of Java
any other information you may think could be helpful

Are you able to create a sample app where this error is reproducible?

Can you also share your Gson configuration? While we are using different instances of Gson and the GsonBuilder, I wanted to make sure your configuration wasn't being applied to ours. For example, one configuration option that could be problematic is if you called GsonBuilder.excludeFieldsWithoutExposeAnnotation() on your GsonBuilder but that configuration should only impact your GsonBuilder instance and not ours.

@WemyVieira have you had a chance to explore this further? Are you still experiencing the problem?

Closing as stale. If you can provide a way to reproduce this, please share and feel free to re-open.


Supertrend results change past values when running with recent data

While testing the PandasTA_Strategy_Examples.ipynb, the SUPERT_7_3.0 past values appear to have changed their values compared to the result posted on the example.
Specifically, the comparison period is "2021-06-14" to "2021-06-18"
Actually, the values look to change every day. Am I missing something? Is this normal?

The upper pane is the result with data downloaded yesterday, and the lower pane is the result posted on the original example notebook.
Comparisons are highlighted in blue.

Hello @newzapster,

Actually, the values look to change every day. Am I missing something? Is this normal?

Interesting. 🤔 However, It will take some time before I can look into it.
Also, I recommend using and testing the development version if you are not already. Supertrend and some other indicators got a speed boost recently.
Kind Regards,
KJ


Resources on scraping

Cannot be comprehensive.
See this as a small example: https://twitter.com/1littlecoder/status/1788679919024664894 => https://github.com/VinciGit00/Scrapegraph-ai

Perhaps distinguish parsing or reformatting tools like this: Markdowner
https://md.dhr.wtf/
https://twitter.com/dhravyashah/status/1788577296896459098


Gradle scripts migration, dependencies updating.

Gradle scripts were migrated to ".gradle.kts", version catalogs were added, libraries dependencies were updated.

thank you

Hi @JoseAlcerreca, is this codelab deprecated? The project does not run on newest versions of android studio. This PR seems to fix this.


Advanced settings

Why do I only have 2 advanced settings & not the rest ? Do I have to unlock them or something ? For some reason I don’t have capstyle & the other advanced settings. I can only disable peripherals.

The other advanced menu options have been moved to other parts of the UI. Check out 1.6.0 release notes. Cap style, for instance, is now displayed next to the settings for a specific accel type.

So none of the versions have the extra settings ? i kind of want the extra settings. Idc if I have to download an old version
Sent from my iPhone

On Mar 17, 2022, at 5:32 PM, JacobPalecki @.***> wrote:

The other advanced menu options have been moved to other parts of the UI. Check out 1.6.0 release notes. Cap style, for instance, is now displayed next to the settings for a specific accel type.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

No, they're moved to other parts of the GUI. Which one in particular are you looking for?

Well if you are referring to any version above 1.4.1 then the enable feature, capstyle & offset style have been removed from the interface.
1.4.1 has the enable feature aswell as the extra advanced settings I was looking for.
Sent from my iPhone

On Mar 17, 2022, at 11:08 PM, JacobPalecki @.***> wrote:

No, they're moved to other parts of the GUI. Which one in particular are you looking for?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.


SFC inspection port CRUD operations

@dmitryintel please fix compilation issue. I will review once travis build succeeds.

@dmitryintel please resolve conflicts and i will merge

@dmitryintel please update branch as well


 errors on 0.13.2

Hey!
I have a issue, that my runCmd Command does not execute well on newly released version.
I do have a workdir configured...but i am not 100% sure, that this is the reason.
I do simply get a "non zero state" from the execution.
How do i debug (eg printout the Dockerfile used for )?
Thanks

I applied your fix (since currently I don't really mind the order of WORKDIR and RUN), but I'm curious about the error message. You say "non zero state". Do you have chance to provide the output of the error message since I believe it should be more specific, too (not only for this error)


Allow .clear() to be async and sync.

The .clear() function in Wendy is currently setup to only run asynchronously. However, I see a purpose when you would like it to run synchronously.
So, I would like to create both.

Many APIs that provide async and sync options for functions have 2 separate functions. 1 that is sync and 1 that is async. 2 separate functions.
I could pull out the functionality of deleting the Wendy data out of the AsyncTask, move it into the sync function, then have the AsyncTask simply call the sync function and have it run in an async way.


Trailing comma in object property list causing a run-time error in IE10 Compatibility Mode

I was cross-browser testing in IE 10 in Compatibility Mode and received this run-time error:
SCRIPT1028: Expected identifier, string or number
d2a1f6a4bc4739651266.js, line 18790 character 6

It pointed me to this block of code - notice the trailing comma after free
function keyIndex(children) {
	    var keys = {}
	    var free = []
	    var length = children.length

	    for (var i = 0; i < length; i++) {
	        var child = children[i]

	        if (child.key) {
	            keys[child.key] = i
	        } else {
	            free.push(i)
	        }
	    }

	    return {
	        keys: keys,     // A hash of key name to index
	        free: free,     // An array of unkeyed item indices <- TRAILING COMMA
	    }
	}

That has already been fixed in the relevant repository: https://github.com/evancz/virtual-dom/commit/41f9098a8c9eb9b16ee8586f0fb1d3d98d75d1c5.


grpc-web plugin is not installed correctly

I tried to use this image in my grpc-web project, but it failed.
I investigated the issue and I found that it must be a docker build issue (though no build error is reported).
When I do this:
docker run --name grpckit -it --entrypoint "sh" grpckit/omniproto

and then check the plugin inside the container:
ls -al /usr/local/bin/

I see that the size of the plugin is only 9 bytes...
-rwxr-xr-x 1 root root        9 May 20 00:30 grpc_web_plugin

And its content is Not Found:
cat /usr/local/bin/grpc_web_plugin
Not Found

The weird thing is that the command to download this plugin seems to be OK (taken from the project's Dockerfile)
# Add grpc-web support
RUN curl -sSL https://github.com/grpc/grpc-web/releases/download/${grpc_web}/protoc-gen-grpc-web-${grpc_web}-linux-x86_64 \
    -o /tmp/grpc_web_plugin && \
    chmod +x /tmp/grpc_web_plugin

When I do this:
curl -sSL https://github.com/grpc/grpc-web/releases/download/1.2.1/protoc-gen-grpc-web-1.2.1-linux-x86_64 -o ./grpc_web_plugin

I get the plugin downloaded (size 21993472):
-rw-rw-r--.  1 root root 21993472 Nov  4 15:02 grpc_web_plugin

All the versions published to dockerhub has this issue.
Any idea what can cause this? Would be nice to fix it with a new version.
We may use the sha checksum to verify the download and retry in case download failed?
https://github.com/grpc/grpc-web/releases/download/1.2.1/protoc-gen-grpc-web-1.2.1-linux-x86_64.sha256

Found the issue.
After adding some error handling to curl calls
Step 39/54 : RUN curl -4 -vfSL -o /tmp/grpc_web_plugin --connect-timeout 5 --max-time 10 --retry 5 --retry-delay 0 --retry-max-time 40 https://github.com/grpc/grpc-web/releases/download/${grpc_web}/protoc-gen-grpc-web-${grpc_web}-linux-x86_64     && chmod +x /tmp/grpc_web_plugin

I got this:
> GET /grpc/grpc-web/releases/download//protoc-gen-grpc-web--linux-x86_64 HTTP/1.1
> Host: github.com
> User-Agent: curl/7.64.0
> Accept: */*
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
* The requested URL returned error: 404 Not Found
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
* Closing connection 0
curl: (22) The requested URL returned error: 404 Not Found
The command '/bin/sh -c curl -4 -vfSL -o /tmp/grpc_web_plugin --connect-timeout 5 --max-time 10 --retry 5 --retry-delay 0 --retry-max-time 40 https://github.com/grpc/grpc-web/releases/download/${grpc_web}/protoc-gen-grpc-web-${grpc_web}-linux-x86_64     && chmod +x /tmp/grpc_web_plugin' returned a non-zero code: 22

So the version is missing from the compiled url: /grpc/grpc-web/releases/download//protoc-gen-grpc-web--linux-x86_64
I have checked https://github.com/grpckit/grpckit/blob/master/variables.sh, and realized there was a typo there (missing I):
GRPC_WEB_VERSON=${GRPC_WEB_VERSION:-1.2.1}

I will create a pull request for adding better error handling for curl commands + fixing the typo in GRPC_WEB_VERSON


unresolved external symbol winrt::Windows::Globalization::impl_ILanguage

Hi cppwinrt expert,
i use cppwinrt\10.0.14393.0 in VS2015, and in the source code try to print the info with following code:
winrt::Windows::Globalization::Language& lang = vl.GetAt(i);
printf("i=%d, tag=%ws, disp=%ws, native=%ws\n",
i, lang.LanguageTag().c_str(), lang.DisplayName().c_str(), lang.NativeName().c_str());
The compile is ok, but when link i got the errors:
error LNK2001: unresolved external symbol "public: struct winrt::hstring __cdecl winrt::Windows::Globalization::impl_ILanguage::NativeName(void)const "
error LNK2001: unresolved external symbol "public: struct winrt::hstring __cdecl winrt::Windows::Globalization::impl_ILanguage::DisplayName(void)const "
error LNK2001: unresolved external symbol "public: struct winrt::hstring __cdecl winrt::Windows::Globalization::impl_ILanguage::LanguageTag(void)const "
please help, i link with the windowsapp.lib, but these symbols not in this lib?

I wouldn't go so far as to call myself an expert, but NativeName, DisplayName and LanguageTag are Properties. Call them like
lang.NativeName.c_str()
and see if that helps?

This is not an issue with a sample in this repo. You can try opening a support case with our Developer Support team who may be able to help with the specific problem you are experiencing. Please use these steps below for further help:

Visit http://aka.ms/storesupport and sign-in with your Microsoft account
Under the “App Development” section choose "Windows 10 universal app development", then choose the appropriate problem type and category to get engaged through a formal support channel.

You need to #include "winrt/WIndows.Globalization.h" as you are using properties from the Windows.Globalization namespace.


The backend is unable to restart after Fuseki went down

We continously get this error message:
[09:52:09.461Z] WARN  ONTOLOGIES.REGISTRY: Reconnecting...
[09:52:09.462Z] INFO  TRIPLESTORE.DATASET: Dataset settings doesn't exist. Creating it...
[09:52:09.463Z] INFO  TRIPLESTORE.DATASET: Dataset settings doesn't exist. Creating it...
[09:52:09.465Z] INFO  TRIPLESTORE.DATASET:
[09:52:09.465Z] ERROR AUTH.ACCOUNT: Connection error! Error: Error when creating unsecure dataset settings
    at Service.create (/app/backend/node_modules/@semapps/triplestore/subservices/dataset.js:62:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async TripleStoreAdapter.connect (/app/backend/node_modules/@semapps/triplestore/adapter.js:22:5)
[09:52:09.466Z] ERROR ONTOLOGIES.REGISTRY: Connection error! Error: Error when creating unsecure dataset settings
    at Service.create (/app/backend/node_modules/@semapps/triplestore/subservices/dataset.js:62:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async TripleStoreAdapter.connect (/app/backend/node_modules/@semapps/triplestore/adapter.js:22:5)
[09:52:09.465Z] INFO  TRIPLESTORE.DATASET:
[09:52:10.465Z] WARN  AUTH.ACCOUNT: Reconnecting...
[09:52:10.466Z] INFO  BROKER: Waiting for service(s) 'triplestore'...
[09:52:10.466Z] INFO  BROKER: Service(s) 'triplestore' are available.
[09:52:10.471Z] INFO  BROKER: Waiting for service(s) 'triplestore'...
[09:52:10.471Z] INFO  BROKER: Service(s) 'triplestore' are available.

It happened after the compact-datasets.sh script was called, because we then called docker compose up -d without including the .env.local file with the correct Fuseki password. Fixed in https://github.com/activitypods/deployment/commit/b3885ffc36dadaee77e6958f0e98c3d4521f9134
I wonder if there could be a way to prevent calling docker compose up -d directly... :thinking:

I wonder if there could be a way to prevent calling docker compose up -d directly... 🤔

I tried this https://github.com/activitypods/deployment/commit/e378890987f4a8c463884b4f252c0064ee4299ca#diff-e9cbb0224c4a3d23a6019ba557e0cd568c1ad5e1582ff1e335fb7d99b7a1055dR7 but unfortunately it didn't work so I had to revert.
According to this Docker issue https://github.com/docker/compose/issues/11122 the env files cannot be defined in the .env file, it only works if we pass it in the command line. So we are back to the same problem. Never mind.


[list view]user can delete items by typing 'delete'(lower case) in stead of DELETE

see gif
cc: @adam-stasiak thanks for finding this issue🙏

@willbarrett @lilykuang

Thanks, kicked it into our next sprint.

Isn't this by design? It'd be quite annoying to have typed "delete" then realizing it doesn't work.
The goal is to have some guardrail and allowing lowercase works equally fine.

What really is wrong is the autocomplete that makes typing in "delete" too easy as it defeats the purpose of adding additional hurdles to the delete action.

This is by design,
https://github.com/apache/incubator-superset/blob/7e6f04fce4321cee9d69b14fa003e4c24b5cf720/superset-frontend/src/components/DeleteModal.tsx#L78
The code specifically converts the input to uppercase before comparing. The point is not to make the user jump through various hoops in order to delete something, it's just to ensure the change is intentional.
I agree with @ktmud, though, we should remove the browser autocomplete to make sure the user actually types something into the input instead of clicking around a couple of times.

Also, looks like @mistercrunch made that change in https://github.com/apache/incubator-superset/pull/10388/files#diff-2dcfea068e611950d8898cc420b114093befdf9f5769f7c48ba2141a4e6ab284R77 so it's definitely intentional.

Agreed, this functionality is working as expected. Closing.

if this is intentional, we will have to change the UI and the test case.
@mistercrunch

What should the UI display? It doesn’t look wrong to me. The user can delete the resource after typing DELETE

as a user, i don't expect typing anything else other than what's instructed(DELETE)here will work, even if it's just the same word in lower case. it's like, if there is more than one key that can open up my door, i need to know at least who else holds the key.

if you all think this is an optimized UX/UI, i don't have further comment.  @mistercrunch @ktmud @nytai

I don't think this matter that much. The "DELETE" button is disabled by default, but will be enabled once users type the word "delete" (or "DeLeTe" if they want). The point is this is a guardrail and insensitive cases serve the guardrail purpose pretty well. Let's not add unnecessary hurdles or bloat the copy to make it confusing.

We need a follow up PR to disable autocomplete.

I changed it because it's confusing from the code's standpoint, because the uppercase is applied as a CSS transform

If someone was to change the CSS, the label would become confusing.

Happy removing the .toUpperCase(), but let's change the label text to type "DELETE" to confirm despite the CSS text-transform: upper effectively doing that currently. Otherwise reading the code it looks like a bug.

Isn't this by design? It'd be quite annoying to have typed "delete" then realizing it doesn't work.

After clarifying with Max, I understand that having delete work in all cases(DELETE, delete, DEleTe) is NOT by Design or intentional from a UX standpoint. The original Design was to have the user type in 'DELETE' to perform the task with extra caution.
We probably should not make it easy for user to complete any irreversible actions in a product. I'm pretty sure users will be much more annoyed by permanently deleting an object than pressing the 'caps lock' to confirm the action. I'm also sure that if we ran a user test, most of the users would type "DELETE' to perform the task.
The more significant concern to me is, as a user, I was instructed by the UI label to type DELETE, and that's what I expect will work - ONLY. I'm surprised when typing 'delete' also enables the button. Thoughts in my mind - Is this a bug? If this a bug, is this issue happening in another area of the product? Could typing a wrong password input give me access to my workspace as well? My argument may sound stupid, but that's exactly what went through in a non-technical user's mind.
When a product fails the user's expectation in a small area, it leads them to doubt the product's overall reliability. I would rather annoy my users with requiring them to press 'caps lock' than breaking the trust.
We have plenty of room to help our users improve efficiency and save time in Superset; this issue just should not be in that case. It may seem minor or unnecessary from an engineering standpoint, but it matters to me as a PM.
I'd suggest 1) adding case sensitive to the label, 2) button should not be enable until the exact string is input.
cc @ktmud @nytai @mistercrunch

Why would someone type "delete" if they don't really want to delete? Just to test whether things will break?  They just want to complete their tasks and by the time they have typed "delete", the intent is pretty clear.
Surely most people would type DELETE as instructed, but it's quite a stretch to say they will start to doubt the trustworthy and reliability of the whole system when they found out "delete" also work. Even if you are surprised it enables the delete button, you wouldn't be surprised that clicking on the enabled delete button will actually delete things. The possibility of a real user who opened the modal, typed "delete", then clicked on the red button actually made a mistake, in my opinion, is close to zero.
I'd also like to point out this is not a case where Engineers don't care about tiny little things, but rather people having different opinions on solutions. When something matters to a PM doesn't automatically make it more important to real users. Superset is an open source project, decisions are better made collectively by the broader community. We all want Superset to become a sophisticated, high-quality product, but none of us have conducted enough user research on every little thing to have strong evidence on every argument, so let's try not to argue things with "this is important to me" or spend too much energy on the philosophical debate of "how good we want Superset (or my company) to be".
If we really want to make the changes as proposed, I'd suggest at least tell users upfront that this is going to be case sensitive. E.g., change the copy to Type "DELETE" (case sensitive) to confirm.

Both It'd be quite annoying to have typed "delete" then realizing it doesn't work. and It is important to me as a PM to me are opinions. I am always a strong advocate for conducting user research and testing to back our opinions, regardless of whose the argument is. And I hope we can get to it at some point and revisit a few other previous discussions as well.

If we really want to make the changes as proposed, I'd suggest at least tell users upfront that this is going to be case sensitive. E.g., change the copy to Type "DELETE" (case sensitive) to confirm.

Thanks for the suggestion, I agree.

While I still believe this input should be case insensitive, I can see how the way case insensitivity was initially introduced was probably not ideal. The label text should be without CSS text-transformation in the first place, as it contains a full sentence, which is different than a regular form input label that is normally a field name. UPPERCASE should be reserved for real form labels or CTA buttons so they can really stand out.
We should probably add a uppercase={false} option to the <FormLabel> component for things like this.


Build failure with Python 3.5.1, Windows, Visual Studio 2015

I get this error:
   File "c:\tools\python\3.5.1\lib\distutils\util.py", line 125, in convert_path
     raise ValueError("path '%s' cannot be absolute" % pathname)
 ValueError: path '/Users/mkleehammer/dev/pyodbc/src/buffer.cpp' cannot be absolute

I may try to fix it, and if so, will issue pull request.

./setup.py build works, but ./setup.py bdist_wheel does not.
Christophe Gohlke has a build - http://www.lfd.uci.edu/~gohlke/pythonlibs/
I will ask him how he did it and see whether I can make it automatic by tweaking setup.py

On the face of it, this is a duplicate of issue #77, but getting a build that worked for Christophe Gohlke without integrating what he did to fix it doesn't seem like a real solution, but rather a work-around.
Let's leave this open for a bit while I look for a fix.

This is a duplicate of issue #82, and pip install from master works.

+1 here (issue as well)
and it does work with downloaded source

I just merged a pull request that fixes this.  Thanks.

Thanks.

Issue still present.


Merge upstream

Yes built the container and run it using docker-compose it works and metrics are exposed.


notebooks_directory

As discussed by email, this PR contains the new "notebooks" directory located at the same spot within the repository's structure as the original repository's "notebooks" directory.
This new directory already includes a first notebook containing the code related to the first of the experiments discussed in previous meetings regarding the relation between rho parameters and the number of reviews. Additionally, the correlation between the number of reviews and the other simulation parameters is explored as well.
Let me know any thoughts or suggestions you may have regarding the PR's content!
@Fernando-Iscar
@shrabasteebanerjee
@narendramukherjee

@shrabasteebanerjee Can you leave an approval also? Needed to merge


Add UIO

Is your feature request related to a problem? Please describe.
UIO is not integrated into the WeCount website.
Describe the solution you'd like
The documentation of integrating UIO: https://docs.fluidproject.org/infusion/development/tutorial-userInterfaceOptions/UserInterfaceOptions.html
We should pull it in from NPM and use a distribution.
If possible, we should use UIO from Antranig's latest infusion branch: https://github.com/fluid-project/infusion/pull/972 rather than the infusion master branch.
Describe alternatives you've considered
N/A.
Additional context
N/A.

Regarding the one from Antranig's branch, it's useful if you don't want the default UIO set of preferences. However, if the current standard set is all that is needed, a dev branch from master may be a better choice for now.

@TeddTech, the source code of an UIO integration demo can be found here. It directly uses the UIO component fluid.uiOptions.prefsEditor, which is more straightforward than the preferences framework demo I showed you the other day.

User Interface Options
The following features were tested in the chrome browser. Future works will have these features being tested in Mozilla(Firefox) browser*
text-size ✅ : Works as expected
text style  ✅: Works as expected
line spacing ✅: Works as expected
contrast ❌: Social media buttons are not visible for the second option
table of contents ✅: Works as expected
enhance inputs ✅ : Works as expected

@TeddTech, just a reminder that don't forget to test UIO with responsive design mode. Sometimes increasing text size or line space will break the layout on smaller screens.

@TeddTech Social media icon issue will be addressed in #136.


Update deps.

Also you might want to also pin our Github Action to use Go 1.19

All files have been formatted with gofmt.
And isn't GHA pinning what I did in the .workflow files included in this PR?


fix aapt dump parse for versionName on win os

I tried to install a game where the aapt dump badging output contained versionName='<IP_ADDRESS>981 (Release_1.0.5)'.
The current regex doesn't parse this value correctly so the installation failed. Both the space and parenthesis are missing from the regex.
I have replaced the regex with the one already used by node-aapt in the packageInfo call.
I have also removed the packageLine line since that variable is not used anywhere.
I have also added a gitignore file for the node_modules folder

thx!


Check handling of errors in REGAPIC streaming calls

In RestChannel.AsyncServerStreamingCall, we currently have:
Task<Metadata> responseHeadersTask = ReadHeadersAsync(httpResponseTask);
Func<Status> statusFunc = () => GetStatus(ReadResponseAsync(httpResponseTask));
Func<Metadata> trailersFunc = () => GetTrailers(ReadResponseAsync(httpResponseTask));
PartialDecodingStreamReader<TResponse> responseStream = restMethod.ResponseStreamAsync<TResponse>(httpResponseTask, callCancellationTokenSource.Token, deadlineCancellationToken);

That tries to read the content three different ways - once for the status, once for the trailers, and once for the actual response.
This will need a bit of work to refactor properly.

Once we've got the headers, we can probably use the HTTP status code to work out whether we expect the response body to be actual content or error details. But we should only try reading from it once.


Support multiple resolution hero images (high and low res)

Smaller displays should get smaller images and larger displays should get larger images. This really impacts our mobile users the most, since they could be asking for a 1MB image and dynamically resizing it down to less than a postage stamp in the browser. This impacts google mobile usability rankings.
Related issue: https://github.com/gios-asu/deprecated-sos-wordpress-theme/issues/16

Most likely will use ResponsiveImages using the picture element that is not fully supported yet.
I think we are currently using background-image to display hero images though, so that may be tricky.
Maybe we can insert a style before the hero image:
.hero-image {
    background-image: url($image-url);
 }

@media(min-width: medium) {
  .hero-image {
    background-image: url($image-url-1x);
  }
}

@media(min-width: large) {
  .hero-image {
    background-image: url($image-url-2x);
  }
}

FYI WordPress is adding some native support for responsive image sizing using the srcset and sizes attributes.
Read More: https://make.wordpress.org/core/2015/08/25/responsive-image-support-update/

Here is what made it in the final release of WordPress 4.4 regarding responsive images https://make.wordpress.org/core/2015/11/10/responsive-images-in-wordpress-4-4/

This issue also ties into ASU-Web-Standards-Bootstrap Issue 194: Add support for large displays. We can use the solution for Hero images to serve responsive images site-wide.
In conjunction with WP's support of srcset and sizes, we may also want to use Picturefill to enable support for picture, srcset, and sizes on browsers that don't have support built-in. CSS-Tricks mentions it in its Large Display article.

Hero images already span the full page width so https://github.com/gios-asu/ASU-Web-Standards-Bootstrap/issues/194 wont effect this feature too much.
The Picturefill plugin could be cool, initially it might be easier to use the WordPress native stuff to generate the smaller resolution images and srcset attributes. However that will require that the hero images are in the media and right now they are just url's in custom fields. Thats been the hangup on this feature, we would probably have to change the interface for selecting a hero image and make it come from the media table. Additionally there maybe some issues with thumbnail sizes that are of the hero image aspect ratio.
One more thing I saw which I don't suggest we use because its just too magic: https://blog.chromium.org/2016/05/saving-data-with-googles-pagespeed.html


add a funtion to convert BinaryData to RequestContent

Contributing to the Azure SDK

Add a function in RequestContentHelper to convert BinaryData to RequestContent

Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

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


[WinError 193] %1 is not a valid Win32 application

This is autogenerated. Please review and update as needed.
Describe the bug
run bicep decomplie fails.
Command Name
az bicep decompile
Errors:
az bicep decompile --file main.json
The command failed with an unexpected error. Here is the traceback:
[WinError 193] %1 is not a valid Win32 application
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 658, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 721, in _run_jobs_serially
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 692, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 328, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/custom.py", line 3621, in decompile_bicep_file
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/_bicep.py", line 72, in run_bicep_command
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/_bicep.py", line 193, in _get_bicep_installed_version
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/_bicep.py", line 231, in _run_command
  File "subprocess.py", line 493, in run
  File "subprocess.py", line 858, in __init__
  File "subprocess.py", line 1311, in _execute_child
OSError: [WinError 193] %1 is not a valid Win32 application

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az bicep decompile --file {}

Expected Behavior
Environment Summary
Windows-10-10.0.19041-SP0
Python 3.8.9
Installer: MSI

azure-cli 2.33.1

Extensions:
azure-devops 0.18.0

Dependencies:
msal 1.16.0
azure-mgmt-resource 20.0.0

Additional Context

route to CXP team

https://github.com/Azure/bicep/issues/2364#issuecomment-825049091
this step has solved the issue