Drop nginx-ingress controller in favor of Istio

How to categorize this issue?

/area dev-productivity networking
/kind enhancement
What would you like to be added:
The gardenlet's seed controller can deploy nginx-ingress as Ingress controller into the garden namespace. This is used to expose the observability components (Prometheus, Grafana, Loki, Alertmanager). However, we already deploy Istio as well into the seeds to expose the shoot API servers. Istio can handle Ingress resources as well.
Let's drop nginx-ingress and use Istio instead for exposing the observability components instead.
Why is this needed:
Less code to maintain.

/assign

nginx-ingress controller has many features based on annotations, ref, which are not present in Istio, or at least I couldn't find any documentation pointing to it.
We can use the Istio resources (gateway, virtualservices, destinationrules etc.) for the monitoring components as well.
It'd be better if we do the switch in steps, like switching shoot components first, then seed, and then finally dropping the nginx controller.
I and @acumino will jointly work on this.
/assign @acumino
/cc @ScheererJ

Using a solution purely based on kubernetes Ingress would have been simpler, but it turns out that Ingress is not a first class citizen in the istio environment. This is why we changed to targeting native istio components.

FYI @petersutter

Did some digging with @shafeeqes, posting the summary here:
Using ingress is not preferred by the community. In this https://github.com/istio/istio/issues/42985 issue, while trying to manage more than 3 ingress objects Istio starts having issues.
Also, it is suggested here https://github.com/istio/istio/issues/42985#issuecomment-1403842819 that support for Ingress is not really good and Gateway/Virtual-Service should be preferred.
Here are the things that are needed, to expose observability components:

For each service, a Gateway, Virtual-Service, and DestinationRule Istio resources are required to be created in the Shoot namespace in Seed.
For enabling tls for each service a tls secret needs to be present in istio-ingress namespace.
Network policies are required to allow communication between istio-ingressgateway and that service.
We can use a common DNSRecord *.oberservabiity.<seed-name>.seed.example.com for observability components of all shoots in the seed.

This will give a running service without the authentication enabled.
To enable authentication RequestAuthentication and AuthorizationPolicy Istio resources are required per service in the shoot namespace in the seed. Istio supports JWT based authentication with a custom authentication provider or any OpenID Connect providers.
Any feedback is welcome.

@acumino Did you use an existing port on istio or added a new one? The reason for asking is that in the past monitoring resources where exposed via a default port (443). However, the default https port is already in use and configured for the SNI kube-apiserver access. I am not sure if we can easily configure istio to do both on the same port.
WDYT?

We actually tried with a different port 8421 (just a random one) for testing.

TBH, this all sounds very complicated from the user's perspective (gardenlet) compared to what happens today (Ingress from nginx-ingress vs. Gateway, VirtualService, DestinationRule and TLS secrets scattered in some namespaces.
Also, what would be the strategy to move away from the basic auth credentials towards the JWT token/OIDC-based auth?
Generally, my personal impression is that it would be easier to not move to Istio.

move away from the basic auth credentials towards the JWT token/OIDC-based auth

@shafeeqes Such "move" will require also a solution for permissions management. When there is basic auth credentials are anonymous and can be shared with limited list with users (like with the current implementation - they are shared with the project members who have permissions to see the secrets) while with JWT token/OIDC you need to ensure that only the members of the project will be able to see/edit the data and not the entire list of users known by the trusted provider.

I share @rfranzke opinion. Considering all the given circumstances, moving from nginx´ to Istio` would introduce more complexity than it reduces.

We agreed to not continue working on this item since the complexity it brings is not worth the value.
/close

This is still something we want to pursue eventually when there is capacity, so let's
/reopen
the issue. It makes sense to get rid of nginx-ingress and only have one ingress controller in garden and seed clusters.

/assign @ScheererJ
Note: When this issue gets closed, we can probably also close https://github.com/gardener/gardener/issues/6517 and archive https://github.com/gardener/ingress-default-backend.

Current plan with regards to dropping nginx-ingress controller in favor of Istio after further analysis:

Drop usage of Ingress and move to Istio resources (Gateway, VirtualService and DestinationRule), mostly due to Ingress not being first class citizen in the Istio community, e.g. https://github.com/istio/istio/issues/42985
Move TLS termination to observability components similar to how kube-apiserver is handled via Istio

This implies that the currently used basic authentication is also moved to the individual observability components

After analysis of PR #8621 and further discussion, it was decided to NOT drop nginx-ingress, but to drop its loadbalancer. This means that

nginx-ingress should be exposed via istio.
The observability components will continue to use ingress resources.
The kube-apiserver ingress should be replaced via direct istio exposure.

The main reasons for moving away from the previous approach are the following:

Observability credentials would be exposed via VirtualService resources, which can be a problem in case custom resources are not encrypted in etcd. The alternative option of an external authorisation service would increase complexity.
The istio solution was deemed more complex than the ingress solution as it requires multiple custom resources.


tip: include websocket keyword in description to appear in github search

Simple chat using JSF 2.3 + CDI 2.0 + Bean Validation 2.0 + webSocket

Done


Fixed Search bar bug

Related Issue

The search results in the search bar do not match the theme of the website.

Closes: #370
Description of Changes

I have fixed this issue by adding the appropriate CSS.

Checklist:

[x] My code adheres to the established style guidelines of this project.
[x] I have conducted a self-review of my code.
[x] I have included comments in areas that may be difficult to understand.
[x] I have made corresponding updates to the project documentation.
[x] My changes have not introduced any new warnings.

Screenshots

Original
Updated

Please provide any necessary screenshots to illustrate the changes made.

Hey @sourabhsikarwar, please review my pr :)

Merge conflicts @saikiranreddy201

Resolved! Now review it @sourabhsikarwar :)

Hey @sourabhsikarwar, please checkout my pr!


classPaths property cause cache misses

https://github.com/augi/gradle-wartremover/blob/main/src/main/groovy/cz/augi/gradle/wartremover/WartremoverPlugin.groovy#L22
Since the additionalParameters of scalaCompile is modified pre task execution. The scalaCompile task gets an input which is a path on the users machine, and so liable to miss cross machines.
Not sure of the resolution to this issue.

Hello, the latest version of this plugin uses configureEach method to handle Task Configuration Avoidance. Please check if this solves your issue 🙏

Hey will check soon sorry for the delay

Hello, unfortunately it still causes a cache miss. The modification still finds it's way into the cache key for scalaCompile task. I think the issue is that the configuration avoidance doesn't help us, in this case, because we really are running the scalaCompile task, so it will be configured.
I suspect what needs to be done is that somehow rather than having the input key consist of the classpath, it needs to consist of the hash of the classpath. But I don't know if it's actually possible, because wartremover probably only knows to look for these specially named properties.


feat: Adjust airdrop table to work on all chains

Feature Request
Describe the Feature Request
Adjust airdrop table to work on all chains

No airdrop table was found in the repository


Bundle Install in MacOS 10.14 Mojave causing "unexpected error"

Recently upgraded my MacOS to Mojave. Tried to run bundle install as usual. Faced unexpected error.
bundle install
Fetching gem metadata from https://rubygems.org/.
Retrying fetcher due to error (2/4): IOError uninitialized stream.
Retrying fetcher due to error (3/4): IOError stream closed.
Retrying fetcher due to error (4/4): IOError stream closed.

--- ERROR REPORT TEMPLATE -------------------------------------------------------
Backtrace
IOError: uninitialized stream
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/compact_index_client/updater.rb:111:in `read'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/compact_index_client/updater.rb:111:in `block in checksum_for_file'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/shared_helpers.rb:118:in `filesystem_access'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/compact_index_client/updater.rb:110:in `checksum_for_file'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/compact_index_client.rb:88:in `update_info'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/compact_index_client.rb:55:in `block in dependencies'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/fetcher/compact_index.rb:88:in `block (3 levels) in compact_index_client'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/worker.rb:64:in `apply_func'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/worker.rb:59:in `block in process_queue'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/worker.rb:56:in `loop'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/worker.rb:56:in `process_queue'
  /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/gems/bundler-1.16.3/lib/bundler/worker.rb:90:in `block (2 levels) in create_threads'

Environment
Bundler       1.16.3
  Platforms   ruby, x86_64-darwin-17
Ruby          2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin17]
  Full Path   /Users/rakib/.rvm/rubies/ruby-2.3.1/bin/ruby
  Config Dir  /Users/rakib/.rvm/rubies/ruby-2.3.1/etc
RubyGems      2.7.7
  Gem Home    /Users/rakib/.rvm/gems/ruby-2.3.1@my-app
  Gem Path    /Users/rakib/.rvm/gems/ruby-2.3.1@my-app:/Users/rakib/.rvm/gems/ruby-2.3.1@global
  User Path   /Users/rakib/.gem/ruby/2.3.0
  Bin Dir     /Users/rakib/.rvm/gems/ruby-2.3.1@my-app/bin
OpenSSL
  Compiled    OpenSSL 1.0.2o  27 Mar 2018
  Loaded      OpenSSL 1.0.2o  27 Mar 2018
  Cert File   /usr/local/etc/openssl/cert.pem
  Cert Dir    /usr/local/etc/openssl/certs
Tools
  Git         2.6.2
  RVM         1.29.4 (latest)
  rbenv       not installed
  chruby      not installed

Bundler Build Metadata
Built At          2018-07-17
Git SHA           12e73cab7
Released Version  true

--- TEMPLATE END ----------------------------------------------------------------
Unfortunately, an unexpected error occurred, and Bundler cannot continue.

I got the same error when using
Backtrace
IOError: closed stream
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/compact_index_client/updater.rb:102:in `read'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/compact_index_client/updater.rb:102:in `block in checksum_for_file'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/shared_helpers.rb:118:in `filesystem_access'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/compact_index_client/updater.rb:101:in `checksum_for_file'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/compact_index_client.rb:88:in `update_info'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/compact_index_client.rb:55:in `block in dependencies'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/fetcher/compact_index.rb:88:in `block (3 levels) in compact_index_client'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/worker.rb:64:in `apply_func'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/worker.rb:59:in `block in process_queue'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/worker.rb:56:in `loop'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/worker.rb:56:in `process_queue'
  /Users/jordanfrank/.rvm/gems/ruby-2.3.0/gems/bundler-1.16.1/lib/bundler/worker.rb:90:in `block (2 levels) in create_threads'

Environment
Bundler             1.16.1
  Platforms         ruby, x86_64-darwin-17
Ruby                2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin17]
  Full Path         /Users/jordanfrank/.rvm/rubies/ruby-2.3.0/bin/ruby
  Config Dir        /Users/jordanfrank/.rvm/rubies/ruby-2.3.0/etc
RubyGems            2.6.14
  Gem Home          /Users/jordanfrank/.rvm/gems/ruby-2.3.0
  Gem Path          /Users/jordanfrank/.rvm/gems/ruby-2.3.0:/Users/jordanfrank/.rvm/gems/ruby-2.3.0@global
  User Path         /Users/jordanfrank/.gem/ruby/2.3.0
  Bin Dir           /Users/jordanfrank/.rvm/gems/ruby-2.3.0/bin
OpenSSL
  Compiled          OpenSSL 1.0.2n  7 Dec 2017
  Loaded            OpenSSL 1.0.2p  14 Aug 2018
  Cert File         /usr/local/etc/openssl/cert.pem
  Cert Dir          /usr/local/etc/openssl/certs
Tools
  Git               2.19.1
  RVM               1.29.4 (latest)
  rbenv             not installed
  chruby            not installed
  rubygems-bundler  (1.4.4)

Bundler Build Metadata
Built At          2017-12-21
Git SHA           0034ef341
Released Version  true

Bundler works fine with Ruby >2.5.0 on mojave though, as I've been using it for other projects without issue.

Also same error with version 1.17.1:
Backtrace
IOError: uninitialized stream
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/shared_helpers.rb:118:in `read'
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/shared_helpers.rb:118:in `read'
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/shared_helpers.rb:118:in `filesystem_access'
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/compact_index_client/cache.rb:90:in `lines'
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/compact_index_client/cache.rb:62:in `dependencies'
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/compact_index_client.rb:56:in `block in dependencies'
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/fetcher/compact_index.rb:88:in `block (3 levels) in compact_index_client'
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/worker.rb:64:in `apply_func'

  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/worker.rb:59:in `block in process_queue'
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/worker.rb:56:in `loop'
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/worker.rb:56:in `process_queue'
  /Users/jeremy/.rvm/gems/ruby-2.3.1@global/gems/bundler-1.17.1/lib/bundler/worker.rb:90:in `block (2 levels) in create_threads'

Environment
Bundler             1.17.1
  Platforms         ruby, x86_64-darwin-17
Ruby                2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin17]
  Full Path         /Users/jeremy/.rvm/rubies/ruby-2.3.1/bin/ruby
  Config Dir        /Users/jeremy/.rvm/rubies/ruby-2.3.1/etc
RubyGems            2.7.5
  Gem Home          /Users/jeremy/.rvm/gems/ruby-2.3.1@tip_portal
  Gem Path          /Users/jeremy/.rvm/gems/ruby-2.3.1@tip_portal:/Users/jeremy/.rvm/gems/ruby-2.3.1@global
  User Path         /Users/jeremy/.gem/ruby/2.3.0
  Bin Dir           /Users/jeremy/.rvm/gems/ruby-2.3.1@tip_portal/bin
OpenSSL
  Compiled          OpenSSL 1.0.2n  7 Dec 2017
  Loaded            OpenSSL 1.0.2p  14 Aug 2018
  Cert File         /usr/local/etc/openssl/cert.pem
  Cert Dir          /usr/local/etc/openssl/certs
Tools
  Git               2.19.1
  RVM               1.29.4 (latest)
  rbenv             not installed
  chruby            not installed
  rubygems-bundler  (1.4.4)

Bundler Build Metadata
Built At          2018-10-25
Git SHA           2760d72d3
Released Version  true

Hi - i was having this issue too with OSX Mojave as well
try repairing your environment
General environment repairs
sudo rvm repair all
This solved the issue for me

I did have the same problem but using rbenv. The solution may apply to both rvm and rbenv. I just upgraded bundler (for me it was from 1.16.1 to 1.17.1).
PS :  If this fix does not work, you can also try to upgrade rbenv, uninstall the broken ruby version and then reinstall the ruby version and bundler.

I had this same issue, but with rbenv. I did an rbenv uninstall 2.3.3 and rbenv install 2.3.3, and also reinstalled Bundler for good measure. That fixed it!

Hi - i was having this issue too with OSX Mojave as well
try repairing your environment
General environment repairs
sudo rvm repair all
This solved the issue for me

Here works ! Thank you! :)

i'm going to close this ticket, It seems like this issue can be resolved outside of Bundler.


load_etext() returns accent-pruned version of text

I came accross that issue, I am not sure if it's a bug in the lib or some process on gutenberg itself. eBook with id 10160 can be seen at http://www.gutenberg.org/cache/epub/10160/pg10160.txt and it does contains accents. Hosted on the cache there are two versions of the text file:

the one queried by default : http://aleph.gutenberg.org/1/0/1/6/10160/10160.txt
the one with -8: http://aleph.gutenberg.org/1/0/1/6/10160/10160-8.txt

Now, I am not sure if it's expected or not, but the one named 10160.txt does not contain any accent when the 10160-8.txt file do contains them. Changing the order of the extension in https://github.com/c-w/gutenberg/blob/e76d96eca4b0ab4b57fc146dbd83fc64e8b4eeeb/gutenberg/acquire/text.py#L66 help working around the issue.

Hi @lissyx. Thanks for reaching out and for reporting this.
Do you think it would be worth to change the order of the extensions by default? Are there any cases where it wouldn't be beneficial to load the -8 version of the text?
If changing the order is the right way to go: would you mind making a pull request for this? Thanks!

Thanks @c-w for the quick reply. Part of the problem here, is that I have no idea if it's an expected behavior or not, and I could not find any documentation related to project gutenberg. I extracted a random 1000 french ebooks dataset, and so far, only one exposed this behavior. Do you know what the -8 and -0 are for? I'd be happy to make a PR once we know for sure the proper fix :)

File formats other than plain text will have a format-designator appended to the filename, as well as an appropriate file extension. The following list indicates the most common formats likely to be found at Project Gutenberg:
Plain text       12345.txt          12345.zip    (encoding: us-ascii)
8-bit plain text 12345-8.txt        12345-8.zip  (encodings: iso-8859-1, windows-1252, MacRoman, ...)
Big-5            12345-5.txt        12345-5.zip  (encoding: big-5)
Unicode          12345-0.txt        12345-0.zip  (encoding: utf-8)

HTML             12345-h.htm        12345-h.zip
TeX              12345-t.tex        12345-t.zip
XML              12345-x.xml        12345-x.zip
MP3              12345-m-###.mp3    12345-m.zip
RTF              12345-r.rtf        12345-r.zip

PDF              12345-pdf.pdf      12345-pdf.zip
LIT              12345-lit.lit      12345-lit.zip
MS Word Doc      12345-doc.doc      12345-doc.zip
PDB              12345-pdb.pdb      12345-pdb.zip

https://www.gutenberg.org/files/

Thanks @hugovk, I failed to find that. So maybe the order of extensions should be changed in favor of: -0.txt, -8.txt, .txt ?

Yes, that sounds sensible.

I'd like to probably also request we add a flag at least for preferring ascii over other sources. We may also want to document that table within this library for what you should expect from an ebook.

@MasterOdin Would that be what you had in mind ?
https://github.com/c-w/gutenberg/pull/103
No test there yet, I'll add them afterwards, just want to make sure it's good enough. I'm thinking that changing default behavior might not be the best idea in the world, but I'd like an external eye on that.

Updated PR with tests.

@c-w There might also be another issue hidden:
python -c 'from gutenberg.acquire import load_etext; print(load_etext(55517, refresh_cache=True)[0:1000])'
INFO:rdflib:RDFLib Version: 4.2.2
ï»¿The Project Gutenberg EBook of Correspondance, by Ãmile Zola

This eBook is for the use of anyone anywhere in the United States and most
other parts of the world at no cost and with almost no restrictions
whatsoever.  You may copy it, give it away or re-use it under the terms of
the Project Gutenberg License included with this eBook or online at
www.gutenberg.org.  If you are not located in the United States, you'll have
to check the laws of the country where you are located before using this ebook.

Title: Correspondance
       Lettres de jeunesse

Author: Ãmile Zola

Release Date: September 10, 2017 [EBook #55517]

Language: French

Character set encoding: UTF-8

*** START OF THIS PROJECT GUTENBERG EBOOK CORRESPONDANCE ***

Advertised as UTF-8, but the content is kind of broken indeed. Digging again in load_etext, it seems requests thinks the encoding is "ISO-8859-1" when the file really is UTF-8. So far, forcing response.encoding = "utf-8" fixes it for me locally.
Given that the writing of the file uses UTF-8 after, I'd be tempted to add response.encoding = "utf-8" to my PR.

I can confirm that multiple mirrors do not set any charset informations when downloading, while the main website does:
$ curl -L -v http://www.gutenberg.org/files/55517/55517-0.txt 2>&1 | grep Content-Type
< Content-Type: text/plain; charset=UTF-8
$ curl -L -v http://www.mirrorservice.org/sites/ftp.ibiblio.org/pub/docs/books/gutenberg/5/5/5/1/55517/55517-0.txt 2>&1 | grep Content-Type
< Content-Type: text/plain
$ curl -L -v http://aleph.gutenberg.org/5/5/5/1/55517/55517-0.txt 2>&1 | grep Content-Type
< Content-Type: text/plain

Using the apparent_encoding still sets things right though?

@MasterOdin Yes, it seems to be okay doing it like that.


[Additional Parameter] CU 17 GLRegNo

Hi,
is it posible to add additional parameter to next functions in cu17 for GLRegNo. OR you can send your global parameter GenJnlPostLine to functions and we can get it like GenJnlPostLine.GetGLReg(GLReg);
We can use it in existing events like:
procedure ReverseCustLedgEntry --> OnReverseCustLedgEntryOnBeforeInsertCustLedgEntry
procedure ReverseVendLedgEntry --> OnReverseVendLedgEntryOnBeforeInsertVendLedgEntry
procedure ReverseGLEntry -> OnReverseGLEntryOnBeforeLoop
We need GLReg."No." to assign there

Hi @VladimirVeljovic .
Sorry missed the following thing. "From where" and "To where" you need to pass and assign GLRegNo?

Hi @VladimirVeljovic .
Sorry missed the following thing. "From where" and "To where" you need to pass and assign GLRegNo?

Hi Roman,
so we are starting for assigning GLRegNo := GLReg."No."; in procedure Reverse.
After that we use the same GLRegNo in procedures ReverseCustLedgEntry, ReverseVendLedgEntry and ReverseGLEntry. My recomendation was to use events in those procedures like OnReverseCustLedgEntryOnBeforeInsertCustLedgEntry, OnReverseVendLedgEntryOnBeforeInsertVendLedgEntry, OnReverseGLEntryOnBeforeLoop and extend it with existing  global  variable GenJnlPostLine, so we can collect GLReg via GenJnlPostLine.GetGLReg(GLReg);
is it possible?

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


google map build error

HI,
any one can help me about the below issue that i mention.
The following build commands failed:
CompileC build/blank.build/Debug-iphonesimulator/blank.build/Objects-normal/i386/GoogleMaps.o blank/Plugins/plugin.google.maps/GoogleMaps.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler

(1 failure)
Error: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/lucky/Documents/projects/blank/platforms/ios/cordova/build-debug.xcconfig,-project,blank.xcodeproj,ARCHS=i386,-target,blank,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Users/lucky/Documents/projects/blank/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/lucky/Documents/projects/blank/platforms/ios/build/sharedpch.
I have added the latest ios platform<EMAIL_ADDRESS>

I had a very similar error when I added a different plugin (cordova-plugin-ace) and tried to build.  Turns out it was conflicting with another plugin and once I removed the (fortunately not required) conflicting plugin it resolved this issue.

Please use the master branch version.
https://github.com/mapsplugin/cordova-plugin-googlemaps#information


  Don't forget to update the release notes in plugin.xml.  Thanks.

Hmmm, accidentally pushed release notes commit  to https://github.com/TiVo/intellij-haxe/pull/452

@as3boyan No sweat.  If you want to merge this, then just revert it on that branch and push it on this one.  Easy-peasy.
I wouldn't leave the change on that branch or hold up the merge of this PR because it make take a couple more days before Carlos gets back to us there.

@EBatTiVo how to merge this?

Checkout the master branch:
$ git checkout master
Get it current:
$ git pull origin master
Check out your work branch:
$ git checkout FixCompletionForSuperWord
Merge master up into it:
$ git merge --no-ff master
Fix any merge issues, and ‘git add’ any files you edited, then commit.
$ git commit
Then push back to github to ensure you’ve got a clean build:
$ git push origin FixCompletionForSuperWord
Wait for travis results, and make any necessary changes (repeat edit, commit, push) until you get a clean build.  Then merge using either the merge button on the PR, or use the command ilne to merge:
$ git checkout master
$ git merge --no-ff FixCompletionForSuperWord
$ git push origin master
Clean up the PR and delete your branches.

@EBatTiVo Thanks a lot, I had to edit plugin.xml by hand, IntelliJ IDEA seem to have nice solution for merging, but it was generating some additional commits so I was in doubt


permission to use

would love to include your macros here:
https://github.com/kiebor/PlantUml-Language-Service
It's very similar to the proposal I set out for plantuml archimate syntax early on:

https://github.com/plantuml/plantuml/files/1092145/archimate.txt
https://github.com/plantuml/plantuml/issues/61

Thanks in advance.

See modified version of your macros:
https://raw.githubusercontent.com/kiebor/PlantUml-Language-Service/master/src/Macros/archimate.macro

feel free to use it... 👍


World Map using Leaflet

added: Tile images endpoint in server
added: Leaflet tile component in client
added: Generator for leaflet tilemap
added: Dynamic marker based on user position
added: Feature to add marker on map
added: npm run server:build-map command for generating map tiles

https://user-images.githubusercontent.com/28738855/109630558-08e22200-7b80-11eb-921e-70d6fd45da15.mp4

I'll be adding a maxBatch parameter to the leaflet library first so it doesn't use all the CPU in the production before marking this for review.

Can the zoom buttons be moved (or change the corner they are in) so they aren't being overlapped by the top left panel icon?

Could do with a space between the coordinates on the player and destination marker tooltips.

I have been playing around with some custom markers to make the leaflet UI fit in more.
https://user-images.githubusercontent.com/9785268/111012932-9fd78700-8395-11eb-9936-a99131c30aba.mp4
https://user-images.githubusercontent.com/9785268/111013357-f5f8fa00-8396-11eb-95a2-29491afe69ec.mp4
Dunno if to use light or dark tooltips.

This is with the changes (look for HERE):
import React, { useState } from "react";
import PropTypes from "prop-types";
import {
    MapContainer as Map, TileLayer, Marker, Popup, useMapEvents, Tooltip,
} from "react-leaflet";
import Leaflet, { CRS } from "leaflet";
import PanelTemplate from "../panel_template/PanelTemplate";
import mapIcon from "../../../../../assets/images/gui/hud/map-icon.png";
HERE
import playerIcon from "../../../../../assets/images/gui/panels/map/player-marker.png";
import destinationIcon from "../../../../../assets/images/gui/panels/map/destination-marker.png";
import "./MapPanel.scss";
import "leaflet/dist/leaflet.css";
import { PlayerState } from "../../../../../shared/state/States";

HERE
const markerScale = 4;

const playerMarker = Leaflet.icon({
    iconUrl: playerIcon,
    iconSize: [12 * markerScale, 14 * markerScale],
    iconAnchor: [24, 48],
});

const locationMarker = Leaflet.icon({
    iconUrl: destinationIcon,
    iconSize: [12 * markerScale, 14 * markerScale],
    iconAnchor: [24, 48],
});

function LocationMarker() {
    const [position, setPosition] = useState(null);

    useMapEvents({
        click(e) {
            let { lat, lng } = e.latlng;

            lat = parseInt(lat, 10);
            lng = parseInt(lng, 10);

            let newPosition = { lat, lng };

            // remove marker if previous position is same as new position
            if (position !== null) {
                if (position.lat === newPosition.lat
                && position.lng === newPosition.lng) {
                    newPosition = null;
                }
            }

            setPosition(newPosition);

            console.log("clicked", e);
        },
    });

    return position === null ? null : (
        // eslint-disable-next-line react/jsx-props-no-spreading
        <Marker position={position} icon={locationMarker} HERE>
            <Tooltip HERE className="press-start-font tooltip" direction="top" offset={[0, -44] HERE} opacity={1} permanent>
                {position.lat}
                ,
                {position.lng}
            </Tooltip>
        </Marker>
    );
}

function MapPanel({ onCloseCallback }) {
    const [markers, addMarkers] = useState([]);

    const leafletConfig = {
        // The 0.5 adds a half tile to the X so it is centered on the tile they are standing on.
        center: [-PlayerState.row + 32, PlayerState.col - 248 + 0.5 HERE],
        // center: [-100, 250],
        zoom: 3,
    };

    const addMarker = (e) => {
        console.log("adding", e);
        addMarkers([...markers, e.latlng]);
    };

    return (

            <PanelTemplate
              width="80vw"
              height="80vh"
              panelName="World map"
              icon={mapIcon}
              onCloseCallback={onCloseCallback}
            >
                <Map
                  center={leafletConfig.center}
                  zoom={leafletConfig.zoom}
                  maxZoom={4}
                  minZoom={1}
                  crs={CRS.Simple}
                  doubleClickZoom={false}
                >
                    <TileLayer onClick={(e) => console.log("Hello")} url="http://<IP_ADDRESS>:4567/map/{z}/{x}/{y}.png" />
                    <Marker position={leafletConfig.center} icon={playerMarker HERE }>
                        <Tooltip HERE className="press-start-font tooltip" direction="top" offset={[0, -44] HERE} opacity={1} permanent>
                            You

                            {/* The center is a decimal (with the extra half tile), so round down for display. */}
                            { Math.floor(leafletConfig.center[0]) HERE }
                            ,
                            { Math.floor(leafletConfig.center[1]) }
                        </Tooltip>
                    </Marker>
                    <LocationMarker />
                </Map>
            </PanelTemplate>

    );
}

MapPanel.propTypes = {
    onCloseCallback: PropTypes.func.isRequired,
};

export default MapPanel;

@import "../../../../../shared/Variables";

.map-panel {
    background-color: $colourDB32White;
    pointer-events: none;

    .leaflet-container {
        pointer-events: auto;
        z-index: -1;
        height: 100%;
        width: 100%;
    }

    .leaflet-div-icon {
        background: transparent;
        border: none;
    }

    .tooltip {
        border: 0;

        // Hide the down arrow thing in the middle of the marker tooltip.
        &::before {
            display: none;
        }
    }
}

Your review is very informative and helped me a lot, no worries I would definitely attribute you on this changes. 🔥

Updated everything based on the recommendations above:
https://user-images.githubusercontent.com/28738855/111079294-5a9d8b80-8534-11eb-8bae-bc41f62c1079.mp4


zstd: Update to upstream version 1.5.5

Release notes:

https://github.com/facebook/zstd/releases/tag/v1.5.3
https://github.com/facebook/zstd/releases/tag/v1.5.4
https://github.com/facebook/zstd/releases/tag/v1.5.5

Cherry-picked for 4.0.4.

Cherry-picked for 3.6.


feature: added Get Checker's name method

Sometimes, we need get the checker's name, so added the method

Needs a documentation comment, and probably a test?

@jacobslei ping?

closing due to no response


:sparkles: Add reqwest-async backend

As the title states, this commit adds a reqwest-async backend. It requires the tokio runtime, as it spawns an async background task.
Currently untested, needed to push to be able to test.

I have absolutely zero clue where the stable failure is coming from. As far as I can tell, the only place tokio is used as a dep is in the dep:tokio format.

Turns out the dep:tokio format was the source of the error.

Okay, so it turns out <impl Log for Fenrir>::flush never gets called. It has to be manually called by a user. Not sure what you think the best way of doing this would be. I could probably spawn a background async task that flushes logs as they're received, but that would only work in an async context.

I added a buffer that buffers logs until they reach a specified limit, configurable by the user.

LGTM! Thanks a lot for your work on that topic!


No Data

Hello,
i have installed the module but i get no data. The result is "Keine Verbindungen".
The config i set like in the readme. Can u please check this.
PS: My rpi is up to date and also the MM.
Regards
Daniel

Please paste your configuration.

So here is the log from npm install:
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to<EMAIL_ADDRESS>as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN prefer global<EMAIL_ADDRESS>should be installed with -g
<EMAIL_ADDRESS>E:\MagicMirror\modules\MMM-DVB
+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | +--<EMAIL_ADDRESS>| | | | +--<EMAIL_ADDRESS>| | | | --<EMAIL_ADDRESS>| | | |   --<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | +--<EMAIL_ADDRESS>| | | +--<EMAIL_ADDRESS>| | | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | +--<EMAIL_ADDRESS>| | | +--<EMAIL_ADDRESS>| | | | +--<EMAIL_ADDRESS>| | | | +--<EMAIL_ADDRESS>| | | | +--<EMAIL_ADDRESS>| | | | --<EMAIL_ADDRESS>| | | |   --<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | |   +--<EMAIL_ADDRESS>| | |   +--<EMAIL_ADDRESS>| | |   +--<EMAIL_ADDRESS>| | |   +--<EMAIL_ADDRESS>| | |   | --<EMAIL_ADDRESS>| | |   +--<EMAIL_ADDRESS>| | |   +--<EMAIL_ADDRESS>| | |   | --<EMAIL_ADDRESS>| | |   +--<EMAIL_ADDRESS>| | |   --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| --<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   --<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| |   +--<EMAIL_ADDRESS>| |   | --<EMAIL_ADDRESS>| |   +--<EMAIL_ADDRESS>| |   +--<EMAIL_ADDRESS>| |   --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   | --<EMAIL_ADDRESS>|   |   +--<EMAIL_ADDRESS>|   |   --<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   | --<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   | +--<EMAIL_ADDRESS>|   | +--<EMAIL_ADDRESS>|   | +--<EMAIL_ADDRESS>|   | | --<EMAIL_ADDRESS>|   | |   +--<EMAIL_ADDRESS>|   | |   --<EMAIL_ADDRESS>|   | +--<EMAIL_ADDRESS>|   | --<EMAIL_ADDRESS>|   |   +--<EMAIL_ADDRESS>|   |   +--<EMAIL_ADDRESS>|   |   --<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   | --<EMAIL_ADDRESS>|   |   +--<EMAIL_ADDRESS>|   |   --<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   --<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | |   --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   --<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS>|   --<EMAIL_ADDRESS>|     +--<EMAIL_ADDRESS>|     | --<EMAIL_ADDRESS>|     +--<EMAIL_ADDRESS>|     +--<EMAIL_ADDRESS>|     +--<EMAIL_ADDRESS>|     --<EMAIL_ADDRESS>--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS> +--<EMAIL_ADDRESS> | --<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS> --<EMAIL_ADDRESS>And here is my config:
{
module: 'MMM-DVB',
position: 'top_left',
config: {
stopName: "Hauptbahnhof", // Which stop would you like to have displayed?
timeOffset: 5,  // With how many minutes in advance should connections be displayed?
resultNum: 5, // How many connections should be displayed?
//lines: ["1", "2"], // What lines should be displayed?
//directions: ["Striesen"], // What directions should be displayed?
reload: 60000 // How often should the information be updated? (In milliseconds)
}
},

Config looks good, but i think the problem is that there is no direct connect from Hauptbahnhof to direction Striesen with Line 1 or 2. These lines are starting from Pirnaischer Platz to Striesen, so you have to choose a Line which is travelling from Hauptbahnhof to Pirnaischer Platz and then change to Line 1 or 2.
Maybe you can try Line 10 from Hauptbahnhof to Striesen or Bus 61.

no. same result
	{
       module: 'MMM-DVB',
       position: 'top_left',
       config: {
          stopName: "Hauptbahnhof", // Which stop would you like to have displayed?
          timeOffset: 5,  // With how many minutes in advance should connections be displayed?
          resultNum: 5, // How many connections should be displayed?
          lines: ["10", "61"], // What lines should be displayed?
          //directions: ["Striesen"], // What directions should be displayed?
          reload: 60000 // How often should the information be updated? (In milliseconds)
                }
    }

also with
	{
       module: 'MMM-DVB',
       position: 'top_left',
       config: {
          stopName: "Hauptbahnhof", // Which stop would you like to have displayed?
          timeOffset: 5,  // With how many minutes in advance should connections be displayed?
          resultNum: 5, // How many connections should be displayed?
          lines: ["10", "61"], // What lines should be displayed?
          directions: ["Striesen"], // What directions should be displayed?
          reload: 60000 // How often should the information be updated? (In milliseconds)
                }
    }

Do you get any results if you leave Directions empty and choose a well frequented line (7, 8, 10) ?

no data...
this is what i get in dev-mode (MMM-DVB.js Line 162):
Response: {"id":"module_5_MMM-DVB","connections":[]}
and this the request of line 156:
Request: {"id":"module_5_MMM-DVB","stopName":"Hauptbahnhof","timeOffset":5,"resultNum":5,"lines":[],"directions":[]}

Hi Daniel,
can you please try to disable the "lines" and "directions" options completely:
{
   module: 'MMM-DVB',
   position: 'top_left',
   config: {
      stopName: 'Hauptbahnhof',
      timeOffset: 5,
      resultNum: 5,
      reload: 60000
   }
}

Best regards,
Stefan

Hi Stefan,
no, same result: "Keine Verbindungen verfügbar".
Best regards,
Daniel
2017-10-31 22:32 GMT+01:00 Stefan Kastenholz<EMAIL_ADDRESS>
Hi Daniel,
can you please try to disable the "lines" and "directions" options
completely:
{
module: 'MMM-DVB',
position: 'top_left',
config: {
stopName: 'Hauptbahnhof',
timeOffset: 5,
resultNum: 5,
reload: 60000
}
}
Best regards,
Stefan
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/skastenholz/MMM-DVB/issues/2#issuecomment-340913767,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVuCZfIYy_ZWvftd-LoD02MmuQdedI-uks5sx5H_gaJpZM4O6IHG
.

Hi Daniel,
I suggest the following steps:

Can you please install the https://github.com/yo-less/MMM-KVV module for testing purposes. I would like to verify if the issue is module-specific.
Can you please share your magic mirror installation folder? I would like to verify if the issue is related to the Magic Mirror setup.

Thank you!
Best regards,
Stefan

Hi Stefan,
for testing purposes I have installed the MMM-KVV. This module works for me.
Which folder need you in the MagicMirror installation?
Regards
Daniel
Am 04.11.2017 16:53 schrieb "Stefan Kastenholz"<EMAIL_ADDRESS>Hi Daniel,
I suggest the following steps:

Can you please install the https://github.com/yo-less/MMM-KVV module
for testing purposes. I would like to verify if the issue is
module-specific.
Can you please share your magic mirror installation folder? I would
like to verify if the issue is related to the Magic Mirror setup.

Thank you!
Best regards,
Stefan
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/skastenholz/MMM-DVB/issues/2#issuecomment-341907665,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVuCZX3REzHPzWvm3Pxun7TQ0o1I9Gcwks5szIh8gaJpZM4O6IHG
.

Hi... me again,
after I installed the MMM-KVV and reinstall your module - it works.
Looks that anything missing in your installationscript.
Regards
Daniel
Am 16.11.2017 18:17 schrieb "Mr. Filinchen"<EMAIL_ADDRESS>
Hi Stefan,
for testing purposes I have installed the MMM-KVV. This module works for
me.
Which folder need you in the MagicMirror installation?
Regards
Daniel
Am 04.11.2017 16:53 schrieb "Stefan Kastenholz"<EMAIL_ADDRESS>
:

Hi Daniel,
I suggest the following steps:

Can you please install the https://github.com/yo-less/MMM-KVV
module for testing purposes. I would like to verify if the issue is
module-specific.
Can you please share your magic mirror installation folder? I would
like to verify if the issue is related to the Magic Mirror setup.

Thank you!
Best regards,
Stefan
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/skastenholz/MMM-DVB/issues/2#issuecomment-341907665,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVuCZX3REzHPzWvm3Pxun7TQ0o1I9Gcwks5szIh8gaJpZM4O6IHG
.

Hi Daniel,
before I answered you 14 days ago I setup a fresh MM installation and installed MMM-DVB only. Therefore, I cannot reconstruct your situation.
Best regards,
Stefan

Hello,
I downloaded and installed it aswell. But it doesn't even display on the screen. The rest is working fine and I can't figure out what it is. Any ideas?

Hi Chrissi,
it seems like there was an API change in a downstream dependency. Can you please checkout the latest code and re-evaluate? Thanks.
Best regards,
Stefan

Hello Stefan,
I tried again and still can't get it to work.


Fixing test account scope.

Current dependencies on/for this PR:

main

PR #146

PR #148   👈

This stack of pull requests is managed by Graphite.


[MNK] Even burst windows (adv rota) deviate from Balance (further opti)

Normally a beast-chakra handler user for extra control, but I'm liking the instant forbidden chakra usage of the adv rotation with manual RoF/Brotherhood activation.
The rotation does the job well, it does the double lunar opener properly, and builds a solar nadi on the odd minute. First blitz of the even minute burst it only uses opo GCDs, but the second blitz it always builds a solar nadi, whereas more opo's (and thus a lunar) in the even burst is more potency. I take it this prioritization is a relic from 6.x monk slothcombo, as there you would want a solar under 2min buffs to buff the Demolish DoT.
For reference, it fails to do the triple opo in the latter part:

I already talked about it in a discord issue.

But my PR fixes that it will always do Lunar after Phantom Rush


Stop here for l long time, can't enter game.How to build this project correctly?

Unity: 2020.1.3f1c1

You can't run Unity-WebGL directly from your hard-drive period. That has nothing to with this template. You'll get the same results with or without it.
To run Unity-WebGL you need a web server Here's a simple one


multiple freerdp-shadow-cli

Hello there and thanks for this great piece of software!
I was wondering if the "freerdp-shadow-cli" , once run, could act like the Microsoft's RDP server to allow multiple connections and screens sharing for multiple users.
Thanks,
E.

@Elaci0 thanks for your feedback glad to hear :).
freerdp-shadow-cli is not a full featured RDP server. It can rather be compared with vnc where you can share a running session. However it is possible that multiple users can connect to the same  xsession.
As this is an issue tracker please use IRC or our mailing list for questions in future. Thanks.

@bmiklautz  Hi. I am only able to run freerdp-shadow-cli but not the main wfreerdp application.
Am i missing some cmake build options while generating the solution file. These are my current build options
cmake –DWITH_SERVER=ON -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_LIBRARIES=/usr/local/ssl/lib
Please reply. I need to run the main freerdp server on windows.


Added a pizza fact

Description
Added a pizza fact in the pizza-facts-&-trivia.md

What type of PR is this? (check all applicable)

[x] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents
#36
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

I merged the latest changes and resolved the conflicts. Can you specify which sections of my PR form I need to fill out? The sections I left out are either not relevant or optional. Thanks.

I merged the latest changes and resolved the conflicts. Can you specify which sections of my PR form I need to fill out? The sections I left out are either not relevant or optional. Thanks.

Fill out the Description section. In there,briefly describe the fact you add to the file.

Sorry about that. I filled out the Description.

I think I resolved the conflict this time.


feat: add array validation for bulk

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows conventional commit format
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: #148
What is the new behavior?
Does this PR introduce a breaking change?

[x] Yes
[ ] No

Other information

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Bug: Opening the 3ds Max Submitter fails with "runtime error : Failed to open file run_ui.py"

Expected Behaviour
After installing the submitter with the steps in DEVELOPMENT.md the submitter opens and can submit jobs.
Current Behaviour
When opening Deadline cloud submitter in 3dsmax, "runtime error : Failed to open file run_ui.py" is displayed and it cannot be opened.
Reproduction Steps
Install the submitter with the steps from DEVELOPMENT.md.
As a workaround these steps work (requires the project to be built):
Full steps to install 3dsMax submitter:

Copy STDCMenuCreator.ms into your 3DS Max startup scripts (e.g. C:\Program Files\Autodesk\<version>\scripts\Startup)
Put AWSDeadline-SubmitToDeadlineCloud.mcr in 3ds Max usermacros directory (e.g. C:\Users\<username>\AppData\Local\Autodesk\3dsMax\<version>\ENU\usermacros).
Install deadline package to C:\Users\<username>\DeadlineCloudSubmitter\Submitters\3dsMax\scripts using a Python 3.9 installation (for compatibility with Max)

pip install deadline -t C:\Users\<username>\DeadlineCloudSubmitter\Submitters\3dsMax\scripts

Put the attached _version.py file into the <repository root>\src\deadline\max_submitter directory.
Create a python folder in your scripts directory (e.g. C:\Users\<username>\AppData\Local\Autodesk\3dsMax\<version>\ENU\scripts).
Copy the contents of max_submitter folder into that newly created python folder and into C:\Users\<username>\DeadlineCloudSubmitter\Submitters\3dsMax\scripts.

Duplicating the contents of max_submitter in two spots is overkill, but the finer points of what's getting pulled from where isn't clear to me at the moment. :)

3dsMax Version 2024.2.1 Update
I followed the instruction for manual installation at DEVELOPMENT.md
Manual installation

Copy STDCMenuCreator.ms into your 3DS Max startup scripts (e.g. C:\Program Files\Autodesk\<version>\scripts\Startup)
Put AWSDeadline-SubmitToDeadlineCloud.mcr in 3ds Max usermacros directory (e.g. C:\Users\<username>\AppData\Local\Autodesk\3dsMax\<version>\ENU\usermacros).
Create a python folder in your scripts directory (e.g. C:\Users\<username>\AppData\Local\Autodesk\3dsMax\<version>\ENU\scripts).
Copy max_submitter folder into that newly created python folder.
Install deadline package (from CodeArtifact) to ~\DeadlineCloudSubmitter\Submitters\3dsMax\scripts using a Python 3.9 installation (for compatibility with Max)

pip install deadline -t ~\DeadlineCloudSubmitter\Submitters\3dsMax\scripts

I got the same error:
https://styleport.gyazo.com/60110b7c9c4c30d4f05778a627b20cec
Here is the error log
-- Error occurred in anonymous codeblock; filename: C:\Users\********\AppData\Local\Autodesk\3dsMax\2024 - 64bit\ENU\usermacros\DeadlineCloud-SubmitToDeadlineCloud.mcr; position: 556; line: 17
-- MAXScript MacroScript Error Exception:
-- Runtime error:
Traceback (most recent call last):
  File "C:\Users\********i\AppData\Local\Autodesk\3dsMax\2024 - 64bit\ENU\scripts\python\run_ui.py", line 15
  File "C:\Program Files\Autodesk\3ds Max 2024\Python\Lib\site-packages\shiboken2\files.dir\shibokensupport\__feature__.py", line 148, in '_import' function
  File "<string>", line 8, in 'find' function
ModuleNotFoundError: No module named 'utilities'

-- MAXScript callstack:
--	thread data: threadID:10728
--	------------------------------------------------------
--	[stack level: 0]
--	In codeblock macroScript: DeadlineCloud_SubmitToDeadlineCloud; filename: C:\Users\********\AppData\Local\Autodesk\3dsMax\2024 - 64bit\ENU\usermacros\DeadlineCloud-SubmitToDeadlineCloud.mcr; position: 557; line: 17
--		Locals:
--			debug: false
--		Externals:
--	------------------------------------------------------
--	[stack level: 1]
--	called from top-level

Hope to :
I need to use 3DsMax for Deadline Cloud Custom Job submission. I need to execute some Maxscripts in the AWS cloud Workers and that will give me some render images. I want to have such feature in cloud submitter.
Currently, We are using Deadline into our on premise Netwrok system to render these images using 3dsmax Scripts. In the deadline submitter we have option to run Max Scripts
https://styleport.gyazo.com/455cffffd220b8f839d4efd65348d6de
I need to have such features in Deadline cloud. Or may be a method to submit the Custom job.

Hello everybody,
I encountered exactly same error as SP-r-mehedi
What is this "utilities" missing  package ?
Please could you provide any help because wa can't test AWS deadline cloud for 3dsmax.
Thanks a lot.
Regards

@SP-r-mehedi
Seems like the step Copy the contents of max_submitter folder into that newly created python folder and into C:\Users\<username>\DeadlineCloudSubmitter\Submitters\3dsMax\scripts is half complete. Did you copy the contents of max_submitter folder into C:\Users\<username>\DeadlineCloudSubmitter\Submitters\3dsMax\scripts ?

Hi,
Following "Install for Development" bloc, I have succeded to submit a job.
My worker a windows 10 VM with 3Ds max installed received the job and try to execute.
I precise I submit a very simple 3dsmax scene (a cube).
But on worker it never succed to render the image, I get following error
2024/06/17 23:54:22+02:00 ADAPTOR_OUTPUT: STDERR: [7884:1252:0617/235421.941:ERROR:gl_surface_qt.cpp(190)] eglCreatePbufferSurface failed and surfaceless context not available
2024/06/17 23:54:22+02:00 ADAPTOR_OUTPUT: STDERR: [7884:1252:0617/235421.941:ERROR:gl_surface_qt.cpp(197)] Requested OpenGL implementation is not supported. Implementation: 9

I've joined the entire log.
Maybe aws deadline team already see this issue in 3ds max.
Thank for help.
nxp3d-farm_nxp3d-farm-queue_session-58a88a23f3e74a189f0c64528e137c1d.log

Hi,
It's ok now I had to install deadline-cloud-for-3ds-max as a tier module directly in 3dsmax dedicated python runtime.
I have render my first image. I'm so happy.

Hi, It's ok now I had to install deadline-cloud-for-3ds-max as a tier module directly in 3dsmax dedicated python runtime. I have render my first image. I'm so happy.

Just following up on this, I've been struggling to get things rendering (3dsmax would just open and not run any actions) and installing it into the runtime fixed it. I compiled my notes into a gist here for anyone running into the same issues.

I updated the manual installation instructions. The run_ui.py file and its corresponding package couldn't be found by 3dsMax by following the old instructions.
https://github.com/aws-deadline/deadline-cloud-for-3ds-max/commit/ed0ee301b188a2c00fe6243309202969db7eb83f


Bug on close Drawer

How to close Drawer correctly? The only way is by set dismissible={true} and modal={false} then trigger onClick to close it.

https://github.com/prateekbh/preact-material-components/blob/5ee20a571876fa300788e2f7a8e5cce1b5e3c19e/ts/Drawer/index.tsx#L90
https://material.io/develop/web/components/drawers/#mdcdrawer-properties-and-methods
Get a reference and set ref.MDComponent.open to true or false

Feel free to comment if this does not solve the problem and I'll reopen


new nuget release?

The latest version of ilmerge on nuget.org is 2.14.1208. When will the 2.15 come out?

To add to this, the README's example has a PackageReference to version 2.15.0, but the linked Nuget page only has version 2.14.1208. Is there somewhere else a newer version of this package is published?

@mike-barnett please push the latest release to nuget.org for easy integration into csproj. A Alpha version would be also nice.
The generated nuget from source has work for me.

Yes, sorry about that. I have run into roadblocks in getting through the process for getting an "official" release from inside the company and I can't do it without that. For now I'm afraid the best thing is to build it yourself from source.

I believe the build/release process is now working and new versions are available on NuGet.


How do I just get the benchmarks up and running?

So far I have got to the step of building the project.
I don't have the git-lfs stuff (skipped that step).
I just want to get the codebase up and running. So I ran "bash scripts/test/benchmark.sh", and got the following problem:
java.nio.file.NoSuchFileException: file:/OpenHuFu/benchmark/target/benchmarks.jar!/endpoints.json
I saw that there exists some sample data under dataset/sample/tpc-h, and I would be fine using that dataset. Is there a more complete, step-to-step guide I can follow, just to see things in action? I am specifically trying to run benchmark/test/OpenHufuBenchmarkTest.
If you think it's easier to resolve these issues over emails, feel free to send me an email at<EMAIL_ADDRESS>so we do not have to take up space here 👍
Thanks!

We have added some instructions for benchmarks in the README. You can fetch the latest code once the PR is merged.

resolved


fix(core): fix incorrect copy hint in inputCopy

Closes  #7073

@chipaza Please also add changes to branch v3.x


Merge df.drop() in redis_data script

This reduces lines of code.

I removed the df.drop() calls in https://github.com/pixie-labs/pixie/pull/214


FizzBuzz implementation

Hi, I saw your presentation during the Zig show and got interested.
I love the idea of being able to have such high-level programming style in Zig.
But I've some hard time understanding the examples.
Could you maybe write a FizzBuzz implementation ?
I've tried myself, but I didn't find a way to properly remove the console for the number that divides 3 or 5.
Removing any one of them, seems to optimize away all the pipeline.
Therefore I'm still printing to the console.
pub fn main() !void {
    ...
    const pFizzBuzz = .{
        .{ F.gen, .{30} }, // stage
        .{ .not3, F.exactdiv, .{3} },
        .{ .not5, F.exactdiv, .{5} },
        // Divisible by 3 and 5
        .{ F.ack, .{"div15"} },
        .{ F.console, ._ },
        // Divisible by 3 but not 5
        .{.not5},
        .{ F.ack, .{"div3"} },
        .{ F.console, ._ },
        // Not Divisible by 3
        .{.not3},
        .{ .not3not5, F.exactdiv, .{5} },
        // Divisible by 5 but not 3
        .{ F.ack, .{"div5"} },
        .{ F.console, ._ },
        // Not divisible by 3 or 5
        .{.not3not5},
        .{ F.console, ._ },
    };

    var sFizzBuzz = Make.Mint(pFizzBuzz).init(allocator);
    const fizzBuzzCtx = struct {
        pub var div15 = "\nFizzBuzz";
        pub var div3 = "\nFizz";
        pub var div5 = "\nBuzz";
    };
    try sFizzBuzz.run(fizzBuzzCtx);
}

My ack filter:
        /// Display a message in the stdout every time we receive an element.
        /// The element is passed downstream
        pub fn ack(self: *S, slc: ?[]const u8) callconv(.Async) !void {
            defer self.endStage();
            if (debugStart) std.log.info("start {}_{s}", .{ self.i, self.name });
            try self.selectOutput(0);
            const stdout = std.io.getStdOut().writer();
            while (true) {
                const e = try self.peekTo(T);
                try stdout.print("{s}", .{slc.?});
                try self.output(e);
                _ = try self.readTo(T);
            }
            return self.ok();
        }

Output:
FizzBuzz0
Fizz3 1 2
Fizz6
Buzz5 4
Fizz9 7
Fizz12
Buzz10 8 11
FizzBuzz15 13 14
Fizz18 16 17
Fizz21
Buzz20 19
Fizz24 22
Fizz27
Buzz25 23 26 28 29

Also about the API, I found it a bit awkward that exactDiv expect the label for it's output on the left side.
I think .{ F.exactdiv, .{3}, .not3 } would be easier to read.

Take a look at the "FizzBuzz" commit.  The pipe to process FizzBuzz added to main.zig looks like this:
const S = pipe.Filters(F.S, []const u8);

    try Make.run(@This(), .{
    .{ F.gen, .{35} },
    .{ .not3, F.exactdiv, .{3} },
    .{ .by3not5, F.exactdiv, .{5} },
    .{ S.replace, .{ @as([]const u8, "\'FizzBuzz")} },    // Divisible by 3 and 5
    .{ .all, F.faninany },
    .{ F.console, ._ },
    .{ .by3not5 },
    .{ S.replace, .{ @as([]const u8, "\'Fizz")} },        // Divisible by 3 but not 5
    .{ .all, ._ },
    .{ .not3 },
    .{ .not3not5, F.exactdiv, .{5} },                     // not divisible by 3, check 5
    .{ S.replace, .{ @as([]const u8, "\'Buzz")} },
    .{ .all, ._ },
    .{ .not3not5 },                                       // route numbers back to faninany
    .{ .all, ._ },
});

which outputs
FizzBuzz 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34


Configure plugin via global variable

This change allows setting vim.g.ts_context_commentstring_config somewhere in, for example, ~/.config/nvim/plugin/ts_commentstring_config.lua and have the plugin just work without any need to explicitly set it up.
The configuration is read when config.lua is loaded, e.g. on the first require('ts_context_commentstring.config').

Type hints are a single @as annotation away. The great thing about annotations is that neovim startup process doesn’t freak out if they point at something unknown, whereas setup routine breaks if the plugin is not present.
Neovim's initialization process is a well documented routine - https://neovim.io/doc/user/starting.html#initialization. If you set the global variable in your local configuration, it precedes plugin loading.

The setup function is quite standard

It's definitely not. The name to require is decided by the plugin author. It's all about the folder and file names in lua directory - just as arbitrary.
Anyways, https://mrcjkb.dev/posts/2023-08-22-setup.html explains it better than I could. There's no need to call setup, and even then I made sure to keep it working.


[tiff] build failure

Package: tiff[core,jpeg,lzma,zip]:x64-windows -> 4.5.0#2
Host Environment

Host: x64-windows
Compiler: MSVC 19.35.32216.1
vcpkg-tool version: 2023-03-14-105f7f7e8a5ea10dfac9874ff9d1a6bacba5f454
vcpkg-scripts version: d10d511f2 2023-03-29 (7 hours ago)

To Reproduce
vcpkg install ffmpeg[all-nonfree]:x64-windows
Failure logs
-- Downloading https://gitlab.com/libtiff/libtiff/-/archive/v4.5.0/libtiff-v4.5.0.tar.gz -> libtiff-libtiff-v4.5.0.tar.gz...
[DEBUG] To include the environment variables in debug output, pass --debug-env
[DEBUG] Trying to load bundleconfig from C:\vcpkg\vcpkg-bundle.json
[DEBUG] Failed to open: C:\vcpkg\vcpkg-bundle.json
[DEBUG] Bundle config: readonly=false, usegitregistry=false, embeddedsha=nullopt, deployment=Git, vsversion=nullopt
[DEBUG] Metrics enabled.
[DEBUG] Feature flag 'binarycaching' unset
[DEBUG] Feature flag 'compilertracking' unset
[DEBUG] Feature flag 'registries' unset
[DEBUG] Feature flag 'versions' unset
Downloading https://gitlab.com/libtiff/libtiff/-/archive/v4.5.0/libtiff-v4.5.0.tar.gz
[DEBUG] Trying to hash C:\vcpkg\downloads\libtiff-libtiff-v4.5.0.tar.gz.5288.part
[DEBUG] C:\vcpkg\downloads\libtiff-libtiff-v4.5.0.tar.gz.5288.part has hash e45a0eb3229349db7d4707e8dd3557b1a744fd307820c40e70f598a2642e4122d98fcda660306ae8b3f9a49ea13dba55429d22b37dbc96e9038411310db56fc5
error: Failed to download from mirror set
error: File does not have the expected hash:
url: https://gitlab.com/libtiff/libtiff/-/archive/v4.5.0/libtiff-v4.5.0.tar.gz
File: C:\vcpkg\downloads\libtiff-libtiff-v4.5.0.tar.gz.5288.part
Expected hash: 5227cb7b496ac6829601d8d689233bd8f318c1d04e5ce3457cdd6eac9e4f8c80cd7211d90cd092c61ad38bc8a4949169a13eabd788c46c15bcee1f72519fa022
Actual hash: e45a0eb3229349db7d4707e8dd3557b1a744fd307820c40e70f598a2642e4122d98fcda660306ae8b3f9a49ea13dba55429d22b37dbc96e9038411310db56fc5
[DEBUG] D:\a\_work\1\s\src\vcpkg\base\downloads.cpp(960):
[DEBUG] Time in subprocesses: 0us
[DEBUG] Time in parsing JSON: 11us
[DEBUG] Time in JSON reader: 0us
[DEBUG] Time in filesystem: 1240us
[DEBUG] Time in loading ports: 0us
[DEBUG] Exiting after 16.4124879 s (16386516us)

CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:32 (message):

      Failed to download file with error: 1
      If you are using a proxy, please check your proxy setting. Possible causes are:

      1. You are actually using an HTTP proxy, but setting HTTPS_PROXY variable
         to `https://address:port`. This is not correct, because `https://` prefix
         claims the proxy is an HTTPS proxy, while your proxy (v2ray, shadowsocksr
         , etc..) is an HTTP proxy. Try setting `http://address:port` to both
         HTTP_PROXY and HTTPS_PROXY instead.

      2. If you are using Windows, vcpkg will automatically use your Windows IE Proxy Settings
         set by your proxy software. See https://github.com/microsoft/vcpkg-tool/pull/77
         The value set by your proxy might be wrong, or have same `https://` prefix issue.

      3. Your proxy's remote server is out of service.

      If you've tried directly download the link, and believe this is not a temporary
      download server failure, please submit an issue at https://github.com/Microsoft/vcpkg/issues
      to report this upstream download server failure.

Call Stack (most recent call first):
  scripts/cmake/vcpkg_download_distfile.cmake:270 (z_vcpkg_download_distfile_show_proxy_and_fail)
  scripts/cmake/vcpkg_from_gitlab.cmake:118 (vcpkg_download_distfile)
  ports/tiff/portfile.cmake:3 (vcpkg_from_gitlab)
  scripts/ports.cmake:147 (include)

Additional context

Duplicate of https://github.com/microsoft/vcpkg/issues/30481


Preview resulting URL for requests

I have checked the following:

[X] I've searched existing issues and found nothing related to my issue.

Describe the feature you want to add
A textbox with a preview of the URL the request will be sent to.
This is useful when working with variables in the request URL, query parameters and path parameters, since it allows you to quickly check and ensure the URL is correctly structured (and, in multi-environments, check the URL of the server you are sending the request to).
It also allows you to copy the resulting URL, which might be useful in some scenarios, such as hardcoding the request or using a browser.
This also implies the "writable" textbox for the URL doesn't need to display query parameters, delivering a cleaner editing experience.
I believe this should be fairly easy to do since Bruno already knows the URL it will send the request to (obviously lol).
Mockups or Images of the feature
(Image from Insomnia)

(Image from Bruno)

Hi, thanks for the suggestion, adding it our development roadmap.


Page0 host "auto create" option for Create Env view

From previous PR

Add "auto create" option in host selector for Create Env view so that users do not have to leave the view to create a new host
With the auto create option, the app automatically creates a host with default setting and send POST /cvds to the created host

@ikicha Can you please take a look?


Add link to 1.0 README - code snippets on master are not valid with 1.0.0

This snippet
const {
  CloudEvent,
  HTTPReceiver
} = require("cloudevents-sdk");

// Create a receiver to accept events over HTTP
const receiver = new HTTPReceiver();

// body and headers come from an incoming HTTP request, e.g. express.js
const receivedEvent = receiver.accept(req.body, req.headers);
console.log(receivedEvent.format());

throws

    TypeError: HTTPReceiver is not a constructor

      2 |
      3 | // Create a receiver to accept events over HTTP
    > 4 | const receiver = new HTTPReceiver();

@alexkhimich - I imagine you are using the published 1.0.0 version of the module. The API is rapidly changing, and so what is on the README is ahead of what's available on npmjs.com. I agree this is a problem. In the meantime, you might look at the 1.0.0 version of the README here https://github.com/cloudevents/sdk-javascript/blob/v1.0.0/README.md#how-to-use. Apologies.

2.0.0 released today


Removed the dependency of Sass

Related issue: https://github.com/patw0929/react-intl-tel-input/issues/62

Dude, that looks promising! Thanks for taking the time :)
I'm having trouble with the flags .png resolution on the main App now.
These are the steps I'm using to test it:
I've pulled this feature/t62 branch and ran (by the way, you shouldn't have to commit your dist/ folder files at all, I can try to configure it later)
grunt build:dist && cp dist/main.js dist/main.css ../my-app/node_modules/react-intl-tel-input/dist/

But when running webpack in my main app I get:
ERROR in ./~/css-loader!./~/react-intl-tel-input/dist/main.css
Module not found: Error: Cannot resolve 'file' or 'directory' ./flags.png in /Users/brunops/my-app/node_modules/react-intl-tel-input/dist
 @ ./~/css-loader!./~/react-intl-tel-input/dist/main.css 6:17174-17196

ERROR in ./~/css-loader!./~/react-intl-tel-input/dist/main.css
Module not found: Error: Cannot resolve 'file' or 'directory'<EMAIL_ADDRESS>in /Users/brunops/my-app/node_modules/react-intl-tel-input/dist
 @ ./~/css-loader!./~/react-intl-tel-input/dist/main.css 6:17593-17618

This is the current loaders I have in my webpack config (tried to copy from yours):
            {
                test: /\.css/,
                loader: 'style!css'
            },
            {
                test: /\.png$/i,
                loaders: [
                    'file?hash=sha512&digest=hex&name=[name].[ext]',
                    'image-webpack?{progressive:true, optimizationLevel: 3, interlaced: false, pngquant:{quality: "30-40", speed: 1}}'
                ]
            }

I'll keep debugging, let me know if you have any clues

Worked :+1:

PS: You shouldn't have to commit your dist/ folder files at all, I can try to configure it if you want

I don't get it.

By adding a "prepublish" task in your package.json, which means it gets published, but not tracked on git. No need for it in this PR though, I can send one configuring it on top of this changes once its merged if you want.

Merged this PR.
@brunops: Could you help to implement the prepublish function? Thank you! :)

@patw0929 Sure! When do you plan to publish this new changes?

@brunops:
Sorry for the late reply. Merged #65 & #66 and published as v2.0.11. Thanks a lot! :+1:


Funds lost! Stuck channel with stuck wallet that displays error non-stop

Put a record of the refund channel transaction that is stuck in perpetual stock status.....funds gone!!!!!!

....

Have you tried the force close?

Yes. I haven't even been in contact with the developer. It has him stumped. He is contacting the note operator supposedly to try to get the money refunded but it doesn't seem like it's going to happen since that was 2 days ago.

In summary: remote error got user's channel stuck in NEGOTIATIONS mode, force-close was not attempted but wallet data was erased instead and later restored with "channel recovery tool" used.
As of now remote peer sends an error in wallet's request to force-close a channel since wallet can't do it I after current channel state erasing.

@slush0 your help would be appreciated here since your node is a remote peer. Can you provide logs for channel a517c964f3fc4380c88aa11086716c31d48e0036e75c89be1dab26006f85fac9 and force-close it locally?

This is the only thing I see now when I log into the wallet.

This is the error message I received before I went into permanent emergency mode.

What does it say now when tapping a "Show error report"?

This.

This is really strange. Given an error report it seems like this happens due to user action such as button tap but no such action takes place as far as I understand. Let's see if this will go away after tomorrow's planned update.

An update has been uploaded about 10 hours ago, can you please update an app to check is this behavior persists?

I can access my wallet again but the continuous pop-ups of the slusho Channel is still saying fail and will keep popping up until they causes the emergency mode. They just pop up one on top of the other until they overload the app.

a-ha, so that's what is causing it. I should implement a protection against remote Error spamming, another update will be soon.

Another update is out. Can you please check if updated app still shows a lot of error popups?

Still there

Can you try once again with connectivity turned off? So we can rule out remote messages as a source of this.

Fixed in https://github.com/btcontract/lnwallet/commit/94421fe035510b3bf8a7750407d78fd50aaa43b4
The reasons for remote peer to previosuly refuse to force-close a channel are outlined here: https://github.com/lightningnetwork/lnd/issues/1904


FEAT: Modifying CONTRIBUTING.md

Updating the rag_functions.py file explaining the new functions added. I also included the new files that were added to the code base

Speech or speak?
It is speak as indicated in the repo.

Ok

Thanks


Added comment in branch "AbhiShri-Branch1"

Added comment to the html file in branch "AbhiShri-Branch1"

Please accept my changes with comments "AbhiShri-Branch1"


make sure to serve the axon first

This is a hotfix for #120
This change serves the axon to the chain

A --neuron.axon_off flag would be useful, to make axon serving optional, unless there is a reason the axon is mandatory.

We made it mandatory because of a DoS attack. If your Validator has no IP served, it is blacklisted in the firewall of most miners

A --neuron.axon_off flag would be useful, to make axon serving optional, unless there is a reason the axon is mandatory.
This should probably require a manual update, so that validators can specify their --axon.port --axon.external_port --axon.external_ip settings correctly, given that axon is only now introduced.

Added your suggestion in eb39381
Also added a catch around the process to log without crashing if it fails 99f64b8


IO handler shutdown hangs tasks

Describe the bug
Alright, I've figured it out! This bug specifically occurs when anything .awaits a Discord request, and the IO handler restarts for whatever reason. The awaits hang perpetually.
To Reproduce
Steps to reproduce the behavior:

Write some code which does the following:

Connects to discord
Sends a periodical request of some kind, I've been using activity updates.
Make sure it logs when it does, or in some way shows that it's running

Run it with Discord open
Kill discord and reopen it
Note how the logging suddenly pauses

Expected behavior
For an error to be returned, or, ideally, the request to be transparently resent in some way.
Device:
ArchLinux, kernel 6.1.19, rustc 1.66.0-nightly

I don't have time to work on this atm but I agree it's an issue. Would accept a PR to fix/improve this.


Actor Portraits should maintain aspect ratio

Actor portraits should maintain their aspect ratio instead of getting squashed

Fixed on dev-v0.29.0

The fix is not working correctly so this needs rework.

Now fixed correctly.


Please provide PDB files for driver_alvr_server.dll

This will help Valve report bugs against ALVR which cause crashes in vrserver.exe. Currently (and for nearly a year) ALVR is responsible for the top 3 crash causes in vrserver.exe. We got the PDBs from the 2.4.0a5 release and reported detailed stacks, but there has been no further release in that series. It looks like this is the actively maintained branch, so if you can provide PDBs for the DLLs that people are actively using, we can report bugs here.

I will provide the PDB for the next release. My guess is that most crashes are a result of incompatible Nvide GPUs.

I released ev9 with the pdbs


update set initialvalue and clearOnFocus

@onmotion The initial value is not working for me on the released version. Will this PR be merged anytime soon?


create a data subdirectory

I read in the documentation that the smt init does the following:

This creates a sub-directory named .smt and, if it doesn’t already exist, a sub-directory named Data.

but when I tried it it created only the .smt but not the Data subfolder
Imported from Bitbucket issue 57,  created by apdavison on 03-28-2011 at 13:44, last modified: 06-23-2011 at 11:58

My feeling is that Sumatra shouldn't create the directory: that should be up to the user. The documentation should therefore be amended accordingly.  Does anyone have any good arguments for "smt init" creating the directory?
Trac comment by apdavison on 03-28-2011 at 15:00

Duplicate of #62


Not enough info in set_on_submit

Hi everyone, I'm using cursive crate along with cursive_table_view crate.
I'm registering callback to each created table and yes, this callback is being triggered, but I believe that there is not enough info in that callback.
//The callback
    fn Enter_Fn(app: &mut cursive::Cursive, row: usize,index: usize)
    {
    //how am I suppose to know which view triggered that callback???
    }
    ////<<<later in the code
    for i in 0..10
    {
//create panels
    let mut panel_left = create_table();//see decl below, it is the same as in examples from the repo
    panel_left.set_on_submit(Enter_Fn);//register callback
    //here I have some code that defines layout etc, so the last line is "pseudo code"
    siv.add_layout(panel_left);
    }

    fn create_table() -> TableView<Foo, BasicColumn> ;//this is function that creates table
//end of code

How to know in the Enter_Fn function which table was active when the enter was pressed, that is, we are inside of the Enter_Fn callback but all we have is app, row and index but not the view which triggered that callback.
Thanks for any help

Hi, I would appreciate if somebody would either tell me that this functionality is not supported/missing/or I'm doing something wrong. Seriously... For somebody (like author of the crate who know the code and workings of it) to be able to help is shouldn't be that difficult. Leaving/Ignoring questions is rather... well let's be honest disappointing and irritating.

Note that set_on_submit can accept closures, which lets you embed parameters:
fn Enter_Fn(app: &mut cursive::Cursive, row: usize, index: usize, table_id: usize) { }

for i in 0..10 {
    //create panels
    let mut panel_left = create_table();//see decl below, it is the same as in examples from the repo
    panel_left.set_on_submit(|s, r, index| Enter_Fn(s,r,index, i)); //register callback. Note that here we include the `i` parameter.
    // here I have some code that defines layout etc, so the last line is "pseudo code"
    siv.add_layout(panel_left);
}


chore(release): v1.0.0 🎉

:robot: I have created a release *beep* *boop*
1.0.0 (2021-11-04)
Features

build: complete the buildArtifactContents logic (880cd78)
commands: add the zip command (014b8d6)
init: initialize based on declapract project (4182e9e)
report: enable reporting on sizes of artifact contents (9baa6a0)
zip: enable zipping of artifact contents (09adb16)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/uladkasach/simple-artifact-builder/releases/tag/v1.0.0 :sunflower:


Implement separate source colour-space for all image loaders.

Converted from project view. Task is already complete.


[Deloitte] - Serverless Test Automation: Asynchronous Approach

Issue #, if available: NA
Description of changes: Delivering a streamlined order processing experience, this sample Spring Boot application leverages DynamoDB & SQS for data storage and asynchronous functionality. Built on Fargate for scalability and optimized with serverless integration testing, the system caters to modern development needs.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@dancfox @brnkrygs - FYI.

Thank you for this submission. I will escalate here to move this review along.

Hi @dmahapatro , @poprahul , Could you please review the corrected changes and let us know if any.

Hi @dmahapatro , Can this be approved and merged if the changes are accepted ?

@arunasha9 Approved and merged.


Caches VT buffer line string to avoid alloc/dealloc on assembling every line for paint

PR Checklist

[x] Closes perf itch
[x] I work here
[x] Manual test
[x] Documentation irrelevant.
[x] Schema irrelevant.
[x] Am core contributor.

Detailed Description of the Pull Request / Additional comments
A lot of time was spent between each individual line in the VT paint engine in allocating some scratch space to assemble the clusters then deallocating it only to have the next line do that again. Now we just hold onto that memory space since it should be approximately the size of a single line wide and will be used over and over and over as painting continues.
Validation Steps Performed

Run time cat big.txt under WPR. Checked before and after perf metrics.

Before:

After:


How i get clicked x, y coordinates in react-zoom-pan-pinch canvas?

I want to place an item at the x, y coordinates where I've clicked within the react-zoom-pan-pinch canvas. To do this, I need to get the x, y values from the react-zoom-pan-pinch canvas where I clicked. How can I achieve this?

very easy
onZoom={ref => {
      scale = 1 / ref.state.scale
  }}
  onPanning={ref => {
      scale = 1 / ref.state.scale
  }}

const rect = containerRef.current.getBoundingClientRect()
const { x, y } = { x: e.clientX - rect.left, y: e.clientY - rect.top }
getXyFromAbslute(x: number, y: number) {
        return [x * scale, y * scale]
    }


chore: bump up deps to support crossplane-runtime 1.16 and enable metrics

Description of your changes

Bump up following version, and add configs for metrics

go to 1.21
crossplane-runtime to 1.16.0
upjet to 1.4.0
crossplane-tools to v0.0.0-20240522174801-1ad3d4c87f21

Add implementations to enable metrics.
No terraform or provider version update in this PR.
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

LGTM - thanks for your effort


Sprite SVG injected into the DOM needs aria-hidden=true for Accessibility

Do you want to request a feature, report a bug or ask a question?
I'm having issues running the bootstrap to create my own PR, and it would probably be quicker for you to just add a hotfix  (I believe it's actually part of svg-baker-runtime) that adds the aria-hidden=true to the SVG markup that is injected into the DOM. This will aid in Accessibility and tell screen readers that this content is hidden.

My team was likewise encountering this issue. We noticed that when analyzing our site with the AXE plugin for Chrome, it warned that the SVG sprite was a child of  instead of some region element (All page content must be contained by landmarks). Not having content in landmark regions makes it difficult for screen reader users to find the content. However, SVG sprites are not useful for screen readers because it's there to support the actual content. There's no value in a screen reader user or any other user to know about this SVG sprite. We recommend that these SVG sprites add the attribute aria-hidden="true" to fix this issue.
As a temporary workaround, we could potentially reconfigure the loader to mount the sprite in a custom element that is hidden from screen readers, using the spriteModule configuration.

domready(() => sprite.mount('#my-custom-mounting-target'))

Another temporary solution would be to add some script that would dynamically add aria-hidden="true" to the <svg> once the sprite has been loaded to the DOM.

Any progression on this?

Running into this issue as well with axe and our accessibility testing.

Another, albeit brittle solution, is to manually place an SVG element in your body with id="__SVG_SPRITE_NODE__" with the same attributes as the one it places currently but with an additional aria-hidden and it will re-use that element instead of creating a new one.

Fixed in<EMAIL_ADDRESS>


Test classes without targets

I want to unit test my class which is standalone class -  without app (without target). In XCode I can run all tests perfectly but I get this error if I try to run it with xctools:
[Info] Loading settings for scheme 'M3SynchronizationTests' ..
2014-02-27 01:49:35.040 xctool[86144:507] ERROR: Expected to receive build settings for 1 target, but instead got:
{
}
Standard Output from xcodebuild:
Build settings from command line:
    PLATFORM_NAME = iphonesimulator
    SDKROOT = iphonesimulator7.0

I was able to run same test few months ago with same command:
xctool -project M3SynchronizationTests.xcodeproj -scheme M3SynchronizationTests test -sdk iphonesimulator

Project is opensource and available here https://github.com/knagode/M3Synchronization

Thank you for reporting this issue and appreciate your patience. We've  notified the core team for an update on this issue. We're looking for a response within the next 30 days or the issue may be closed.

Please check if you scheme is shared. Setting a target means that the tests are logic and not application. Reopen if you still see the problem, please.


Add ability to edit links in rich text editor

See corresponding issue #444.

[X] If a link already exists, open the link chooser panel on the relevant tab, otherwise default to page tab.
[X] Pre-populate link text and url when available
[X] Add a remove link button (with new broken-chain icon)
[X] Add undo/redo support for remove link
Add undo/redo support for add/edit link
[X] Always show the link text field for external/email tabs since the text is now pre-populated?
On the page tab, highlight the currently selected page?
[X] Add tooltip on link over in the rich text editor?

Some points on the checklist are currently written as questions. I would appreciate feedback on them.
Always show the link text field for external/email tabs since the text is now pre-populated?
At the moment, if your selection has some text in it, it hides the text field so you only had to fill the url one. Since it now pre-populate the fields, I think it would be great not to hide the text field, allowing you to update the link text on the fly.
In addition, it would simplify the python side of things which has to conditionally use different forms.
On the page tab, highlight the currently selected page?
With this PR changes, it will open the page chooser on the currently selected pages but there is no highlighting happening so it's difficult to know which one is already selected.
Remove link button icon
I used the icon-bin but there might be a better suited icon for this? I haven't looked at all the icons available in the wagtail font.

:+1:

Adding undo/redo support for the remove link action was easy, but I can't get it to work for the add/edit link action.
For the action to register to the undo/redo stack, you need to use document.execCommand. createLink works but lack the support for data attributes which we need (you can only add an url). insertHTML can do that but isn't supported by IE. Any javascript dev with an idea on how to overcome this?

Always show the link text field for external/email tabs since the text is now pre-populated?

Yes, let's do this. Less logic involved :)

On the page tab, highlight the currently selected page?
This is a bit harder, without passing some additional properties to the chooser. I think for starters, having the link chooser start at the correct part of the tree is fine.

Add tooltip on link over in the rich text editor?
Great idea. Google docs has solved this problem really well. It's sometimes handy to quickly see (and follow) the link.

Remove link button icon
How about the Broken Chain?

Update

The remove link button now uses the broken-chain icon:

Hovering over a link shows a tooltip:

The external and email link chooser always show the link text field now, which will be pre-populated if there is a selection.

The link chooser used to require the link text while the email link chooser would fallback to using the email as link text. The link chooser has the same behaviour now.

Next

Working on the failing tests.

Tests pass locally and will hopefully do the same on travis. I've removed the WIP tag from the PR name.
It's still missing:

undo/redo for add/edit link but it's too much work to make it work properly with document.execCommand with all the browsers
highlight currently selected internal page on page chooser which is probably quite a bit of work as well. The fact that you can hover a link to know where it points should help anyway.

Let me know if there is any more work that should be done on this.

I can see the branch has merge conflict now. Do you want me to merge master in the branch? Is there any rebase/not rebase policy?

Hey Loïc,
From your branch, rebasing is definitely the preferred option to keep the history free of merge commits:
git remote add upstream git@github.com:torchbox/wagtail.git
git fetch upstream
git rebase upstream/master

You might also want to consider squashing your fix commits to tidy up the history a little. Once you've rebased the master into your branch, you can run an interactive rebase, and change the picks to fixups for any small touchup commits. This helps the whole project history look a bit cleaner. The guide linked above has some more info.

Hey @gasman @kaedroho, since this fixes a long-standing bug in the text editor, could we release it in 1.4.X rather than waiting for 1.5? It's an extremely common client complaint for us, and we essentially need this in production as soon as possible.
I'm happy to take care of the reviewing + merging if you like.

@JoshBarr No, sorry. The whole point of 'patch' releases is to keep them comparatively stable by not introducing new functionality - it defeats the object of them if we start using them to mean "the next release, but faster"...
If you need to put a feature into production before it's made it into an official release, there's always the option of packaging up a custom Wagtail build - and that way, it serves as a kind of 'advance release candidate' so that the feature can receive some extra testing before it gets released to the wider world.

Rebased master and squashed work into 2 commits.

Loīc, I've just cleaned up the commits here – there was an issue with the rebasing that somehow collected 97 other commits 😱 .

Ah.. Sorry about that and thanks for fixing it.
Regarding the missing new line at the end of the file, I've pushed some changes so there is a new line, but GitHub seems to not display it 😯

@timheap, got 5 mins to give this a look over? If it receives your blessing I shall merge + close.

@JoshBarr Hold on - I'd like to check this one too :-) Will hopefully have chance to do so tomorrow.

Travis build failed because of an Elastic Search timeout. Can the build be retried?

Done

Merged in ac5aa73de97ac9037bb9882372ec10d9256cb154 + parents - thanks!


CP-461 Release wGulp 0.8.1

PRs contained in this release:
https://github.com/Workiva/wGulp/pull/144
Diff Between Last Tag and Proposed Release: https://github.com/Workiva/wGulp/compare/0.8.0...Release_0.8.1

+1

+1

	When this pull is merged I will use the following information:
	Version: wGulp 0.8.1
	Release Ticket: CP-461

	This pull is considered the release of wGulp 0.8.1.
	The options defined for this repo will be carried out

Last updated on Wednesday, April 08 11:55 AM CST

+1

QA Resource Approval: +1

[ ] Dev +1's only needed for Release ticket

Ready for merge and tag.


Bump vm_service package

Serverpods pub.dev score is reduced because the vm_service package is outdated: https://pub.dev/packages/serverpod/score
"The constraint ^13.0.0 on vm_service does not support the stable version 14.0.0."

@SandPod A small heads up, There will be a possible issue coming if we use vm_service: 14.0.0 version. Ref: https://github.com/dart-lang/sdk/issues/54483

Thanks for the heads up! Will check it out before merging out bump 🙏

@yahu1031 - From my understanding is seems like the issues you encountered in the thread you linked is related to using an older version of dart and flutter together with the latest version of vm_service.
If I understand the replies correctly this should be resolved when using any version of Dart 3. And since Serverpod now requires version  ^3.0.0 of Dart and ^3.10.0 of Flutter we should be good.
Have I understood this correctly @yahu1031?

Originally posted by @bkonyi in https://github.com/dart-lang/sdk/issues/54483#issuecomment-1883521374
As of this comment the fix for http profile wasn't deployed yet.


Add support and search-widget for DjangoQL

This one: https://github.com/ivelum/djangoql
Maybe add an option for "select" as well...

Ok, see module bread.contrib.reports


View navigation history

Eventually it would be nice to have view histories that you could navigate back and forth through.

Closing off some old irrelevant issues.


Update custom template

This PR updates the custom template to use English instead of French to avoid disruption.

You can preview this change here:
Built with commit aed1b14e67749f2c2f4d7ca2cf8aa64986d5a9fa
https://deploy-preview-427--govuk-design-system-preview.netlify.com


Show password Feature in login page

What is the change?
Show password Feature in login page
Related issue?
Fixes: #214
How was it tested?
https://user-images.githubusercontent.com/55352601/117037387-09379e80-ad24-11eb-8761-b28e559aaa33.mp4
Checklist:
Before you create this PR, confirm all the requirements listed below by checking the checkboxes [x]:

[x] Have you followed the Contribution Guidelines while contributing.
[x] Have you checked there aren't other open Pull Requests for the same update/change?
[] Have you made corresponding changes to the documentation?
[x] Your submission doesn't break any existing feature.
[x] Have you tested the code before submission?

https://user-images.githubusercontent.com/55352601/117040470-8d3f5580-ad27-11eb-92fe-e99183c62091.mp4

@chiraag-kakar kindly add labels to this PR which are on issue


Test our use of ProgressEvent for form attachments

We don't currently have an easy way to mock ProgressEvent objects.

This inability to test ProgressEvents is coming up again in getodk/central#589. To test them end-to-end would require modifying mockHttp(). However, mockHttp() is already fairly complex, so I'm reluctant to add this functionality to it. We use ProgressEvents in pretty simple ways, so I think it's enough to test them in unit tests and other ways.
In getodk/central#589, I'm writing a small utility function to convert a ProgressEvent to a fraction (the fraction of the total that's been uploaded). At that time, I'll write unit tests of the function. There will also be a new EntityUploadPopup component that will receive a ProgressEvent as a prop, and I'll write tests of that component on its own. The main thing that will be untested is the onUploadProgress function that we will pass to axios in EntityUpload. However, as in FormAttachmentList, that function is one line long. I think it's enough just to verify it manually.
I think I didn't take quite the right approach in testing FormAttachmentList, in that all its tests involve the top-level FormAttachmentList component and use load(). Child components are not tested in isolation, including FormAttachmentPopups, FormAttachmentRow, and others. If the component tests were more isolated, it'd be easy to test the effect of passing a ProgressEvent to FormAttachmentPopups.
I'm not eager to refactor the FormAttachmentList tests anytime soon: some of them are fairly complicated. We could think about breaking up the tests if/when we have additional work to do on FormAttachmentList. After breaking up the tests, we'd be able to test FormAttachmentPopups in isolation. That said, I don't think we need to keep this issue open indefinitely. I think we have a reasonable strategy going forward for testing ProgressEvents and can return to FormAttachmentPopups if/when it makes sense to do so.

Funnily enough, we actually had a bug related to upload progress that I think was introduced very recently, in v2023.5: getodk/central#606. However, the bug stemmed from a change in axios itself, so it's not something that we would have caught using mockHttp(), which mocks axios. That sort of change to axios should be quite rare, so I think my comments above still apply. I think manual testing or maybe true end-to-end testing is the best way to catch a change to axios itself.

In getodk/central#589, I'm writing a small utility function to convert a ProgressEvent to a fraction

axios now calculates this fraction itself, so this utility function won't be needed. Because axios now does the calculation, our code around upload progress can become even simpler.


Add github actions

The github actions should run all tests in the repo. After this feature we don't want to push directly to the development branch anymore. We should start creating new branches for every feature and merge the branch after a PR.

see with brandon how to do, need to also call the docs generation script
see which tests to run
look at crystallab dir