flutter_web_plugins PathUrlStrategy ignores fragments

I have a Flutter web app using setUrlStrategy(PathUrlStrategy()) to get normal-looking URLs.  I also have a GoTrue/Supabase authentication server on the backend. GoTrue sometimes sends JWT access tokens in the fragment of the URL. For example, if I initiate a password reset, GoTrue eventually redirects back to my app with an access token, e.g.,
http://localhost:35433/password-reset#access_token=...
I'm using Navigator 2.0 and in my RouteInformationParser.parseRouteInformation() method, the routeInformation.location is missing the fragment (#access_token=...). As I mentioned, I'm using flutter_web_plugins with PathUrlStrategy.
Steps to Reproduce

Clone this example repo: https://github.com/dsyrstad/flutter_path_url_strategy_bug
Run lib/main.dart as a web app.
Change the URL in the browser address bar to: http://localhost:<port>/book/2#access_token=xyzzy

Actual Result
The console displays: parseRouteInformation: routeInformation.location=/book/2. Note that the #access_token fragment has been lost.
Expected Result
The fragment is part of routeInformation.location - i.e., parseRouteInformation: routeInformation.location=/book/2#access_token=xyzzy is logged in the console. By getting this information in the route parser, I can retrieve the supplied access token and proceed with resetting the user's password.
Workaround
In the example, I have included WebPathWithHashUrlStrategy which is a proposed patch to PathUrlStrategy. In main.dart, comment-out setUrlStrategy(PathUrlStrategy()); and uncomment setUrlStrategy(WebPathWithHashUrlStrategy()); and reload the app. Load http://localhost:<port>/book/2#access_token=xyzzy again in the browser and note that the console displays parseRouteInformation: routeInformation.location=/book/2#access_token=xyzzy.
WebPathWithHashUrlStrategy simply changes the PathUrlStrategy.getPath() method to include the fragment (the "hash") in the path:
    final String path = _platformLocation.pathname +
        _platformLocation.search +
        _platformLocation.hash; // <- this is the change

Everything else works fine in Navigator 2.0 when using this, however the fragment must be captured during the parse phase. Somewhere in the guts of Nav 2.0, it changes the address bar and removes the fragment, so the fragment is lost downstream.
See also

#80666 - now closed, seems like it was fixed on Android?
https://github.com/flutter/flutter/blob/master/packages/flutter_web_plugins/lib/src/navigation/url_strategy.dart#L164-L170 - the relevant Flutter code.

Logs

[✓] Flutter (Channel stable, 2.10.2, on Ubuntu 21.10 5.13.0-28-generic, locale en_US.UTF-8)
    • Flutter version 2.10.2 at /home/dsyrstad/Flutter/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 097d3313d8 (4 days ago), 2022-02-18 19:33:08 -0600
    • Engine revision a83ed0e5e3
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/dsyrstad/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_SDK_ROOT = /home/dsyrstad/Android/Sdk
    • Java binary at: /home/dsyrstad/AndroidStudio/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • Ubuntu clang version 13.0.0-2
    • cmake version 3.18.4
    • ninja version 1.10.1
    • pkg-config version 0.29.2

[✓] Android Studio (version 4.1)
    • Android Studio at /home/dsyrstad/AndroidStudio/android-studio
    • Flutter plugin version 57.0.1
    • Dart plugin version 201.9380
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[☠] IntelliJ IDEA Ultimate Edition (the doctor check crashed)
    ✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
  (... ignore...)

[✓] VS Code
    • VS Code at /snap/code/current
    • Flutter extension version 3.29.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 21.10 5.13.0-28-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 98.0.4758.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

Thanks for the detailed report. Using the clone and running it with both renderers on latest stable and master, I do see the same behavior:
parseRouteInformation: routeInformation.location=/book/2

 stable, master flutter doctor -v

[✓] Flutter (Channel stable, 2.10.2, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.10.2 at /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 097d3313d8 (2 days ago), 2022-02-18 19:33:08 -0600
    • Engine revision a83ed0e5e3
    • Dart version 2.16.1
    • DevTools version 2.9.2

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • iPhone 12 Pro Max (mobile)                     •
      A5473606-0213-4FD8-BA16-553433949729 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • iPad Pro (12.9-inch) (4th generation) (mobile) •
      AD9F1B85-B622-485E-97E8-E4AC866D5770 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)                                • macos
      • darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)                                   • chrome
      • web-javascript • Google Chrome 98.0.4758.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.11.0-0.0.pre.650, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-GB)
    • Flutter version 2.11.0-0.0.pre.650 at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cddd5524d4 (3 hours ago), 2022-02-22 20:19:15 -0600
    • Engine revision ef9d407fed
    • Dart version 2.17.0 (build 2.17.0-137.0.dev)
    • DevTools version 2.11.0

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • iPhone 12 Pro Max (mobile)                     •
      A5473606-0213-4FD8-BA16-553433949729 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • iPad Pro (12.9-inch) (4th generation) (mobile) •
      AD9F1B85-B622-485E-97E8-E4AC866D5770 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)                                • macos
      • darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)                                   • chrome
      • web-javascript • Google Chrome 98.0.4758.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

/cc @yjbanov

We currently do not plan to add new URL strategies into the core framework. However, we support custom strategies. Developers are encouraged to implement their own strategies and share them on pub.dev.

@yjbanov This was not a request to add a new URL strategy - it was a request to fix a bug in the existing PathUrlStrategy.

@yjbanov Hi,
Based on above comment, should this be reopened ?

Reopening based on OP's feedback.
/cc @yjbanov for further insights based on OP's comment https://github.com/flutter/flutter/issues/98933#issuecomment-1064422487

@yjbanov I disagree. This problem was fixed on Android and iOS to support deep linking with fragments: #80666  and PR https://github.com/flutter/engine/pull/26185. Without fixing this bug, mobile handles deep linking with fragments, but web does not.

@yjbanov No response? @darshankawar  You're just marking it as invalid when there is a clear inconsistency between the mobile and web platforms?


3.5.0: Removal of unused config options in gis

removal of  'serverMode' as
grep -rnw src/ -e 'serverMode' yields nothing

removal of 'host' as its conveyed through audience field
and is also not used.

backporting #65 to 3.5.0 branch

retest this please


Add more control on scraping libraries and stealth for puppeteer

Greetings!
Using your library I found that it's not running on cloud environments, because puppeteer requires additional options at creation.
This update expands options to pass additional settings for scraper libraries and provides more control on scraping for all sources.
Also I found that time to time amazon blocks puppeteer for "automation access" and asking for capcha - so I added extra stealth plugin for puppeteer - this should decrease this situations.
Thanks for a great project!

smoke.test


fix init ordering

When building an application (eg btshell),
ble_svc_gap_init() is at stage 301
ble_transport_hs_init() happens at the end after 1000
But ble_svc_gap_init calls (through ble_gatts_add_svcs) ble_hs_lock() that uses
the ble_hs_mutex. This mutex is only initialized in ble_hs_init() (via ble_transport_hs_init),
so this must be called first

Style check summary
No suggestions at this time!


Issue(s) running plugin against Big Sur VM

I am in the process of trying to use a manually built Big Sur VM as an input to this plugin. The packer config I am using works reliably on older versions of MacOS (10.13, 10.14, and 10.15).
I'm currently running into this issue:
2020/07/09 14:12:24 packer-builder-veertu-anka plugin: 2020/07/09 14:12:24 Created temp dir in /Users/administrator/.packer.d/tmp287415760/packer-anka914651375/upload369410351
2020/07/09 14:12:24 packer-builder-veertu-anka plugin: 2020/07/09 14:12:24 Copying 1557 bytes from /Users/administrator/.packer.d/tmp287415760/packer-anka914651375/upload369410351 to /tmp/script_2902.sh
2020/07/09 14:12:24 packer-builder-veertu-anka plugin: 2020/07/09 14:12:24 Destination os /tmp/script_2902.sh
2020/07/09 14:12:24 packer-builder-veertu-anka plugin: 2020/07/09 14:12:24 Starting command: anka run -v /Users/administrator/.packer.d/tmp287415760/packer-anka914651375 macos-base-11.0-beta2-tom sh
2020/07/09 14:12:24 packer-builder-veertu-anka plugin: 2020/07/09 14:12:24 Executing on sh: cp upload369410351 /tmp/script_2902.sh
2020/07/09 14:12:24 packer-builder-veertu-anka plugin: 2020/07/09 14:12:24 Waiting for command to run
2020/07/09 14:12:24 packer-builder-veertu-anka plugin: -anka: /Users/administrator/.packer.d/tmp287415760/packer-anka914651375: Permission denied
2020/07/09 14:12:24 packer-builder-veertu-anka plugin: 2020/07/09 14:12:24 Command finished in 474.943633ms with exit status 125
2020/07/09 14:12:24 packer-provisioner-shell plugin: Retryable error: Error uploading script: exit status 125
2020/07/09 14:12:26 packer-builder-veertu-anka plugin: 2020/07/09 14:12:26 Communicator Upload
2020/07/09 14:12:26 packer-provisioner-shell plugin: [INFO] 1557 bytes written for 'uploadData'

Followup: I was able to log into the VM and got this message:
The installed version of VTUFS is too old for the operating system. Please upgrade your VTUFS installation to one that is compatible with the currently running version of macOS.

Hey Tom, unfortunately upgrading to Big Sur Beta using our patch doesn’t guarantee that all features (and tools like our packer builder) will be functioning as expected as Big Sur, and Anka support for it, are in flux.
I'm seeing that we received a patch from the FUSE developers today that should help us get anka run -v working in the next Big Sur patch we send out. I'll follow up with you once we have a new version for you to install and try with.

We're told by several customers that this now works with Big Sur Beta 9. Grab the latest patch from https://veertu.com/upgrading-to-big-sur-beta-in-your-anka-build-vm/ and follow the instructions to manually install the addons inside of the VM.


Remove rma resources

Description
Changes proposed in this pull request:

As we have be using RMO to replace the legacy rma-reconciler, so remove the rma resources from KEB.

Related issue(s)

/test pull-control-plane-rec-upgrade-kyma2-stable-to-main-grdnr

/test pre-main-control-plane-reconciler-e2e-latest-release

/test pull-control-plane-rec-upgrade-kyma2-stable-to-main-grdnr

/retest


[JSPWIKI-1136] - Refine Class member fields

PR merged, thanks for the contribution, @arturobernalg!


Unexpected algorithm used for encrypting SealedObject: sealAlg=PBEWithMD5AndTripleDES

I have a jceks and I'm receiving this error when trying to perform
import jks
keystore = jks.KeyStore.load('myks.jks','myvault')

@colt3k  , did you find got the solution . which python -version u r trying


Update esp targets

Tune flashing algos to use faster block erase and increase the write page size for some gains.
flash loader changes and flash size changes

We should patch target gen to merge updates and not override existing keys with null.

Time
Erase
Program

Before this PR
70KB/s
30KB/s

With this PR
225KB/s
50KB/s

Incredible improvement!!! Thanks for working on this, flashing esp-wifi applications is now not so painful :D.

We should patch target gen to merge updates and not override existing keys with null.

We should, it's super annoying :(.


Add Link to Mode Concepts

Add a link to the mode concept. Although there is a link further down in the document, I didn't realize it and I started searching for what was meant by mode. The mode been linked on its first instance on this page, I wouldn't have gone off trying to figure it out on my own.

Thanks!


Up-to-date way of saving and reloading chains

What is the up to date way of saving and loading chains? From what I gather, it is
chn = sample(model, NUTS(), 1000; save_state=true)
write("filename.jls", chn)

to save.
And
chains_reloaded = read("filename.jls", Chains)

sample(model, NUTS(), 10000; save_state = true, resume_from = chains_reloaded)

to resume. I have my code in broadly the same format, but, the write function method seems to have an issue with this error being thrown:
ERROR: MethodError: no method matching write(::IOStream, ::Chains{Float64, AxisArrays.AxisArray{Float64, 3, Array{Float64, 3}, Tuple{AxisArrays.Axis{:iter, StepRange{Int64, Int64}}, AxisArrays.Axis{:var, Vector{Symbol}}, AxisArrays.Axis{:chain, UnitRange{Int64}}}}, Missing, NamedTuple{(:parameters, :internals), Tuple{Vector{Symbol}, Vector{Symbol}}}, NamedTuple{(:start_time, :stop_time), Tuple{Float64, Float64}}})
Closest candidates are:
  write(::IO, ::Any) at io.jl:672
  write(::IO, ::Any, ::Any...) at io.jl:673
  write(::IO, ::Union{Float16, Float32, Float64, Int128, Int16, Int32, Int64, UInt128, UInt16, UInt32, UInt64}) at io.jl:686
  ...
Stacktrace:
 [1] write(io::IOStream, x::Chains{Float64, AxisArrays.AxisArray{Float64, 3, Array{Float64, 3}, Tuple{AxisArrays.Axis{:iter, StepRange{Int64, Int64}}, AxisArrays.Axis{:var, Vector{Symbol}}, AxisArrays.Axis{:chain, UnitRange{Int64}}}}, Missing, NamedTuple{(:parameters, :internals), Tuple{Vector{Symbol}, Vector{Symbol}}}, NamedTuple{(:start_time, :stop_time), Tuple{Float64, Float64}}})
   @ Base ./io.jl:672
 [2] (::Base.var"#383#384"{Chains{Float64, AxisArrays.AxisArray{Float64, 3, Array{Float64, 3}, Tuple{AxisArrays.Axis{:iter, StepRange{Int64, Int64}}, AxisArrays.Axis{:var, Vector{Symbol}}, AxisArrays.Axis{:chain, UnitRange{Int64}}}}, Missing, NamedTuple{(:parameters, :internals), Tuple{Vector{Symbol}, Vector{Symbol}}}, NamedTuple{(:start_time, :stop_time), Tuple{Float64, Float64}}}, Tuple{}})(io::IOStream)
   @ Base ./io.jl:448
 [3] open(::Base.var"#383#384"{Chains{Float64, AxisArrays.AxisArray{Float64, 3, Array{Float64, 3}, Tuple{AxisArrays.Axis{:iter, StepRange{Int64, Int64}}, AxisArrays.Axis{:var, Vector{Symbol}}, AxisArrays.Axis{:chain, UnitRange{Int64}}}}, Missing, NamedTuple{(:parameters, :internals), Tuple{Vector{Symbol}, Vector{Symbol}}}, NamedTuple{(:start_time, :stop_time), Tuple{Float64, Float64}}}, Tuple{}}, ::String, ::Vararg{String}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Base ./io.jl:384
 [4] open(::Function, ::String, ::String)
   @ Base ./io.jl:381
 [5] write(::String, ::Chains{Float64, AxisArrays.AxisArray{Float64, 3, Array{Float64, 3}, Tuple{AxisArrays.Axis{:iter, StepRange{Int64, Int64}}, AxisArrays.Axis{:var, Vector{Symbol}}, AxisArrays.Axis{:chain, UnitRange{Int64}}}}, Missing, NamedTuple{(:parameters, :internals), Tuple{Vector{Symbol}, Vector{Symbol}}}, NamedTuple{(:start_time, :stop_time), Tuple{Float64, Float64}}})
   @ Base ./io.jl:448

This is the exact code I have been running:
using Turing
using StatsPlots

@model function gdemo(x, y)
    s² ~ InverseGamma(2, 3)
    m ~ Normal(0, sqrt(s²))
    x ~ Normal(m, sqrt(s²))
    return y ~ Normal(m, sqrt(s²))s
end

chn = sample(gdemo(1.5, 2), NUTS(), 1000)

write("testturing.jls", chn)

Support for write was deprecated quite some time ago and finally removed in MCMCChains 6 as it only called serialize. It is recommended now to call serialize/deserialize directly - if you intend to perform serialization which has some gotchas: https://turinglang.org/MCMCChains.jl/dev/getting-started/#Saving-and-Loading-Chains Using JLSO makes it at least clearer which packages and Julia version was used when serializing the chain.
An alternative could also be https://github.com/farr/MCMCChainsStorage.jl which allows to export Chains to an HDF5 file.

These keyword arguments still exist, they are not dependent on or related to whether you and how you save a chain.

Thanks, I got it


Show connection on hover from view.FindSidebar

This is a sequel to #1075 .

@beru the goal is to decouple FindSidebar from accessing the graph DOM tree directly, e.g. remove all dependencies on this._graphElement instead of adding new ones. The implementation is also accessing private members of the intermediate tree.


Refactor minimal .ipynb model into more traditional vivarium model form

Title: Refactor code from notebook into repo

Description

Category: refactor
JIRA issue: none
Research reference:  https://gist.github.com/aflaxman/4165105a6922b6f373546484a6dd7dc3

Changes and notes
 I expected it be straightforward, but I was getting an error that I have preserved below.  After a round of fixes, it is working now.
Verification and Testing

In my first attempt, simulate run produced a cryptic error
simulate run -v --pdb src/vivarium_sodium_reduction/model_specifications/model_spec.yaml
...
  File "/homes/abie/.conda/envs/vivarium_nih_us_cvd/lib/python3.11/site-packages/vivarium/framework/population/population_view.py", line 175, in get
    raise PopulationError(
vivarium.framework.population.exceptions.PopulationError: Requested column(s) {'high_systolic_blood_pressure_exposure'} not in population table. This is likely due to a failure to require some columns, randomness streams, or pipelines when registering a simulant initializer, a value producer, or a value modifier. NOTE: It is possible for a run to succeed even if resource requirements were not properly specified in the simulant initializers or pipeline creation/modification calls. This success depends on component initialization order which may change in different run settings.

after fixes discussed in this PR, it is now able to run successfully:
simulate run -v --pdb src/vivarium_sodium_reduction/model_specifications/model_spec.yaml
...
2024-08-19 14:53:27.531 | vivarium.framework.engine:258 - Event: time_step__cleanup
2024-08-19 14:53:27.535 | vivarium.framework.engine:264 - Updating: 10000
2024-08-19 14:53:27.574 | vivarium.framework.engine:258 - Event: collect_metrics
2024-08-19 14:53:27.578 | vivarium.framework.engine:264 - Updating: 10000
2024-08-19 14:53:27.607 | vivarium.framework.engine:306 -
              Event  Count  Mean time (s)  Std. dev. time (s)  Total time (s)  % Total time
     initialization      1           0.14                0.00            0.14          0.06
              setup      1         112.15                0.00          112.15         47.25
         post_setup      1           0.00                0.00            0.00          0.00
population_creation      1           1.69                0.00            1.69          0.71
 time_step__prepare     44           2.10                0.05           92.37         38.92
          time_step     44           0.64                0.02           28.35         11.94
 time_step__cleanup     44           0.04                0.00            1.87          0.79
    collect_metrics     44           0.02                0.00            0.79          0.33
     simulation_end      1           0.00                0.00            0.00          0.00
              total      1         237.37                0.00          237.37        100.00
2024-08-19 14:53:27.613 | vivarium.interface.cli:158 - Simulation finished.

@aflaxman I think this PR is ready to merge (after linting it looks like). I can update the risk component docstrings in a separate PR


Update vulnerable deps

Signed-off-by: Miroslav Kovar<EMAIL_ADDRESS>

Generally lgtm, just need to resolve conflits

Generally lgtm, just need to resolve conflits

Additionally please remove safe-buffer as I previously noted privately, safe-buffer is just polyfill for older versions of node https://nodejs.org/en/docs/guides/buffer-constructor-deprecation/
In Node 12 we can use the new Buffer API just fine.


Tip Calculator

Project title
Tip Calculator
Project Description
This script consists of user input--> total bill amount and bill percent and it calculates the tip amount and the total bill.
Stack:
[x] Html
[x] CSS
[x] JavaScript

Please assign it to me! :)

Hey! Can this issue be closed after merging PR?

Hey! Can this issue be closed after merging PR?

yeah


Router sometimes says method not allowed, refreshing inconsistently fixes this

I have a small example web app called simple-twitter, which can be found here: https://github.com/ajusa/simple-twitter. I've been noticing that I will occasionally get a 405: method not allowed when browsing around on the page. That code does use https://github.com/ajusa/rowdy, but I believe the code for 405 shouldn't have anything to do with what happens in the handler - the router should be the one that is throwing this error.
I wish I had a way to consistently reproduce the issue, but I don't seem to. It's also possible that rowdy is copying something it shouldn't be? I was pretty careful to use templates and macros so that it just rewrites user code, but I could have missed something.

Ok I have figured out the issue, what an adventure. This is great though, exactly what real usage reveals. I'll need to tag a release for Mummy with the fix and will update here with more info then.

First I got an easy repro: click "Add" to trigger a post. The following request, whether a refresh or another "Add" post will get a 405 response. Great easy repro.
Next is why? Well, after being trolled by echo not displaying \0 null bytes (which isn't really echos fault just cost me lots of time), i realized that the HTTP method looked correct when echoing but the len was wrong? Very strange.
Turns out, follow-up requests after the "Add" post / xhr request had some null bytes before the beginning of the request. This is something I will be looking more into, but once added a bit of code to notice and strip those off of the start of the incoming request data things work as expected.
This is related to keep-alive, basically one request ended and the next came in on the same TCP connection so either the bytes were sent with the previous request and I didn't remove them, or they were sent before this one, which would be strange. More to learn but the fix now is harmless.

Ok real real fix here is I was not reseting bytesReceived counter in the case the content length exactly matched the received bytes. Good thing to fix correctly now.

Came here to report an issue, but I just updated to 0.2.3 and it seems to be resolved (🎉). So I'm assuming it's related to this fix. But since I already typed this up I'm going to share anyway, and maybe it's helpful to know:
Sometimes but not always, mummy would crash when receiving a post request with a large body. The request headers would look like this:
@[("Host", "<IP_ADDRESS>:42835"), ("Connection", "Keep-Alive"), ("content-length", "201587"), ("content-type", "application/json"), ("content-encoding", "gzip"), ("user-agent", "Nim httpclient/1.7.3"), ("accept-encoding", "gzip")]
The post handler seemed to run fine, but when trying to respond it would crash with this error. 32758 seems awfully close to a signed 16 bit int.
index 201587 not in 0 .. 32758
fatal.nim(54)            sysFatal
mummy.nim(1414)          serve
Error: unhandled exception: fatal.nim(54)            sysFatal
index 201587 not in 0 .. 32758 [MummyError]

Again, I haven't been able to get this crash to happen on 0.2.3, so likely it's all better now. Also really enjoying the threaded approach to building a server, so thank you for this.

This was a great issue to get fixed and reveals how there is no better testing than having more people start using stuff! Thanks for coming to report the issue even if in the end it turns out there was a fix already in place.


Gav syntax rather than split fields to have less visual clutter?

Instead of split of two strings you can't just copy/paste from it would be nice Group id and artifact was just one label, i.e. io.quarkiverse.neo4j:quarkus-neo4j

What do you think, @insectengine? One consideration is that long strings tend to not do so well on the right-hand column, because they wrap awkwardly.
I guess one question is how often people are copy-pasting to try and construct a gav, and what they're then trying to do with it. If people want to copy and paste the gav often, I agree we should optimise for that - but I also wonder, can we make that task easier? For example, we have the copy-pastable maven commands in the main section, where the long text is ok. Is there a missing command there?

Another consideration is that it makes it harder for people who want to know the artifact id to do so. Especially for the core quarkus extensions, the group id isn't very interesting, as it's always io.quarkus. So people who want to know the artifact id have to scan the repeated io.quarkus: boilerplate on each gav string to see the bit they're interested actual artifact id.
So I guess it comes down to 'how often do people want to know the artifact id' vs 'how often do people need a copy-pastable gav?' ... and then 'if people want a copy-pastable gav, is it enough for them to use the copy-pastable gav we have several other times on the page?'

For me it takes way longer to find info because the same piece of info is spread over multiple fields.

... is there a way we could make the information in the middle panel more prominent, instead of repeating it a fourth time? Or put in the right link so you don't need to copy-paste it? Where is you're copy-pasting the gav to?

When is it you just need the artifact id ?

This would apply to any scenario involving inspection of a pom.xml, or hand-editing a pom.xml.  I might, for example, be trying to unpick some migration challenge caused by the great reactive rename, where the artifact names and artifact ids all end up sounding a bit similar, so I need to know if I'm using the new one or the old one in my pom. Knowing the group id is io.quarkus is irrelevant, because the group id is the same on each extension I'm comparing. And in poms, the group id is separate to the artifact id:
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-rest</artifactId>
    </dependency>


cmd/compile: confusing "cannot call non-function" error when a field is ambiguous

What version of Go are you using (go version)?
go version devel +8ccafb1ac7 Thu Oct 18 04:57:41 2018 +0000 linux/amd64

Does this issue reproduce with the latest release?
Yes - play link below.
What operating system and processor architecture are you using (go env)?
Reproduces on the playground.
What did you do?
https://play.golang.org/p/vwhrdByyhFi
What did you expect to see?
prog.go:7:6: type T has both field and method named F

What did you see instead?
prog.go:7:6: type T has both field and method named F
prog.go:11:13: cannot call non-function t.F (type int)

I had this in a real program where there were many calls to t.F. Thus, half my screen was filled with that error, and I was very confused. It wasn't until I scrolled up and saw the first error that I realised what was going on.
I think the second error is redundant and confusing. t.F is ambiguous, so it's neither a func nor an integer. I think we should mark the field type as broken, and not report any errors because of its type.
A less invasive change would be to drop the  (type int) or change it with  (ambiguous type), but I'd prefer if we dropped the error altogether.
/cc @griesemer @odeke-em @mdempsky

Marking for 1.12 if we get to it but not urgent.


Rename the library to "mint"

@whatyouhide where does Mint come from? 🤣

@ryanwinchester it just came out of a few names we were throwing around. "Mint" like fresh or something like that 😄


feat: add interfaces & handleEvents for global config

Problem

according to docs paramsForServer and whitelist were not available for services. Only for global (#445)

Solution

they are indeed defineable per service, but not documented. Added interfaces for better understanding.
also make handleEvents editable by global config
add support for windows with cross-env
small lint-fixes

Ooh.  Nice updates!  Thanks!


mix gleam.toml [--replace]

Added mix gleam.toml [--replace] task. It generates gleam.toml in Mix project. This might be useful for Gleam tooling support in Mix projects, such as Gleam LSP.

Added simple e2e test.


test branch

Summary

The "what"; a concise description of each logical change
Another change

The "why", or other context.
Test plan
Issues

"THING-1234" or "Fixes #123"

Coverage increased (+0.0007%) to 99.487% when pulling 068a50daab26bbc404e57cb5a58eca476bd86ac5 on uzair/test_branch into c6e659e402be52b1aa543423ba3338162ef395f1 on master.


Export Notebook - markdown cells not correctly exported to ipynb

Description:
When exporting a py-File to ipynb-File the Markdown-Cells are exported as Code-Cells, not as Markdown cells.
Steps to Reproduce:

Copy the following code to a new py-File:

#%%
print('hello world')

#%%markdown
# # Headline1
# - bullet point
# **bold text**

# %%
print('bye world')

Run "Hydrogen - Export Notebook"

Open the created ipynb-File in Jupyter Notebook, you'll see:

Expected would be a markdown cell:

Versions:
Hydrogen 2.4.1
Atom 1.25.1
Running on Solus Linux
Which OS and which version of Hydrogen and Atom are you running?
Logs:
not relevant

Picking this up, as I made the original PR for exporting to notebook.

@dynobo Is the "%%markdown" syntax expected to be like the ipython's "%%markdown" cell magic ? I think in that case, the expected output would be this ?

@Madhu94
No, not really. I would expect it to me converted into a cell of type "markdown". After running a cell of this type, the source code vanishs and only the rendered markdown stays visible.
For an example, see the text in this shot of a notebook. The first two cells ("Jupyter Notebook Slides.." and "Overview" are those markdown cells:

My mistake, I thought %%markdown was a magic like %%javascript. I just wondered where the "%%markdown" syntax came from; I couldn't find it in the Hydrogen docs either.

@Madhu94: I stumbled upon it through the "rich document" feature, described shortly on the bottom of this page. I expected the markdown-parts of such an document to be exported as markdown-cells even without "%%markdown" syntax (this would be my favourite solution), but as it didn't do this, it thought at least the markdown syntax might be handled.
But I want to give a bit background:
I like a lot the R-Notebooks, which allow to mix Code and Markdown in the same file. There, I can write everything from top to bottom in a single text file in my IDE, and it can also be read in every simple Text-Editor. In e.g. Jupyter I have to deal with cells, and I need a notebook viewer to render the content.
Hydrogen, with "Rich documents" is just soooo close to filling this need, which would be really cool. Unfortunately, as long as a Hydrogen is not "the standard", such a feature still would be quite worthless without being able to export such a Rich Document to Jupyter, so I can share it in my university class or something...
So, if the markdown-parts of a "Rich document" would be rendered as jupyter-markdown-cells (with, or even better without %%markdown), this would be so perfect. I guess other people knowing R-Notebooks might feel the same... :-)

@dynobo You might want to try the pweave package. It was modeled after R Markdown and lists jupyter notebooks as one of its output formats, though I haven't tested that part.

I'm interested in taking a closer look at this, though I'm about to go on vacation for a week and a half.
It seems like it's currently a simple wrapper around stringifyNotebook. So would a fix be done in nteract/commutable instead of here?
https://github.com/nteract/hydrogen/blob/3291db2e4f91d311b392e60599e05687ec1839e6/lib/export-notebook.js#L19

Hello @dynobo, I see you have previous experience with R markdown notebooks. Have you ever tried to open these documents with Jupyter? There are a few plugins around that allow this. I recommend in particular notedown (many GitHub stars) and jupytext (my contribution).
Are you able to run python cells in markdown or R markdown documents in Hydrogen? If yes, you could experiment editing these documents simultaneously in Hydrogen and Jupyter (run %autosave 0 if you open both editors at the same time, and use Ctrl+R to reload from file while preserving kernel).

Does this work in Hydrogen export to ipynb?
# <markdowncell>
# # Headline1
# - bullet point
# **bold text**

As nbconvert seems to support that: http://ipython.org/ipython-doc/2/notebook/nbconvert.html#notebook-json-file-format

Hello @kiwi0fruit , I think there are plans to support this in Hydrogen at some point. For now you can use an independent program named jupytext (I am the main author). Jupytext does support the double percent cells syntax (this is documented here). Markdown cells are defined like this:
# %% [markdown]
# Content of
# markdown cell

I think I've narrowed down the issue in Hydrogen. Hydrogen:export-notebook calls exportNotebook() here, which is mostly boilerplate around
JSON.stringify(store.notebook, null, 2)

So the issue here is in store.notebook. The definition of .notebook is:
https://github.com/nteract/hydrogen/blob/1a41f824e08305415e412061483c18f145a984a7/lib/store/index.js#L66-L83
To me, it appears the issue is likely in codeManager.getCells(editor);. That probably generates cell ranges that include comments in the code blocks, and there probably needs to be a way to divide the cell ranges into Markdown blocks as well.

Actuall the codeManager.getCells(editor); is fine. It's the commutable.emptyCodeCell that needs to be changed. It needs to be emptyMarkdownCell for cells that started with # %% markdown. This might require a change to getCells, since I don't think it currently returns the text next to %%.

Hello @kylebarron , I think we should use compatible specifications across the multiple implementations of the text to jupyter notebook converters.
May I suggest that Hydrogen could use # %% [markdown] for marking markdown cells? That syntax was suggested by the Spyder team at https://github.com/spyder-ide/spyder/issues/7933, and that's the one implemented in jupytext.
See also the documentation for the percent format in jupytext, or this
review of script formats for notebooks. Interestingly the percent format is supported beyond Hydrogen and Spyder, in as many as five Python editors!

I think block comment way is more convenient for one way conversion (hydrogen to ipynb). Like here : https://github.com/nojvek/vscode-ipynb-py-converter#example
# %%
'''
# Header

text.
'''

# %%
print('hello')

Well in the long term I think it's optimal to have two-way conversion in Hydrogen, both to and from .ipynb files.
To me, those multiline strings are problematic because

They get run by the Python interpreter. I'm guessing that usually that isn't a problem, but it's probably still best to keep Markdown text in block comments.
That prevents being able to use hydrogen:run-and-move-down to cleanly run through all code.

If we speak about python only then two way conversion is possible
(stringify to python strings). But there would be problems on other
languages.
Yep, it's more difficult to implement. Your second concern adds to this
(first one does not matter).

Thanks @kylebarron , @kiwi0fruit ! It's good to have this conversation.

What about Hydrogen having a superset?

Well, if you choose a superset that we can also implement in jupytext, I will be glad to follow your standard. Not on markdown however because that's hard to distinguish from the cell title used by Spyder. But I have no objection to <markdown> or <md>. By the way, do you plan to support raw cells?

I think block comment way is more convenient for one way conversion

The Spyder team also suggested to represent markdown cells as multiline strings - they like the potential for using f-strings. And Sphinx-Galleries also offer markdown cells as multiline strings. However, we have not yet implemented support for these multiline strings in jupytext, and I am not sure we will, because of the following reasons

multiline strings are Python specific
and they are more difficult to parse than commented lines, especially in Hydrogen's case, when the parser has to be developed in Javascript.

If you want to make it comfortable with in-line comments then you can add
Atom hot keys 'uncomment cell' and 'comment cell'.

Any language with block comments can be used with block comments instead of
in-line comments the very same way. Not any markdown text can be encoded
though. Cases that cannot be encoded via block comments can always be
encoded via in-line comments.

Sorry, I edited my previous post a bit too extensively after posting...
I think one of the best and most important features of Hydrogen is its total language agnosticness. I don't think any of the maintainers want to add something to Hydrogen that only works for Python.

By the way, do you plan to support raw cells?

Not in the short term, theoretically in the long term, but it really depends if there's a desire for it in the community.

In addition to vscode-ipynb-py-convert the block commented Markdown cells are supported by pandoctools (that uses knitty that uses stitch). And the # %% format supported by pandoctools is convertable to stitch format.


multiple sprite images with single vtt file

Could you please provide the script file for generating multiple sprite images with single vtt file.
example: if we have the 400 images, we want to create 4 sprite images and 1 vtt file all image description
1 - 100 - sprite_image1.jpg
101 -200 -sprite_image2.jpg
201-300 - sprite_image3.jpg
301-400 - sprite_image4.jpg
and  one vtt file
Thanks,

If somebody is still seeking for this feature, you can find it in my fork

Thanks @JollyGoal, just tried this one but for the second sprite image the x and y position showing incorrect, actually it should start from 0,0 like first sprite image
00:05:25.000 --> 00:05:35.000
149505_sprite-0.jpg#xywh=640,900,320,180
00:05:35.000 --> 00:05:45.000
149505_sprite-0.jpg#xywh=960,900,320,180
00:05:45.000 --> 00:05:55.000
149505_sprite-0.jpg#xywh=1280,900,320,180
00:05:55.000 --> 00:06:05.000
149505_sprite-1.jpg#xywh=1600,900,320,180
00:06:05.000 --> 00:06:15.000
149505_sprite-1.jpg#xywh=0,1080,320,180
00:06:15.000 --> 00:06:25.000
149505_sprite-1.jpg#xywh=320,1080,320,180
00:06:25.000 --> 00:06:35.000
149505_sprite-1.jpg#xywh=640,1080,320,180

Thanks @JollyGoal, just tried this one but for the second sprite image the x and y position showing incorrect, actually it should start from 0,0 like first sprite image
First sprite image dimensions in vtt file
WEBVTT
00:00:05.000 --> 00:00:15.000
149505_sprite-0.jpg#xywh=0,0,320,180
00:00:15.000 --> 00:00:25.000
149505_sprite-0.jpg#xywh=320,0,320,180
00:00:25.000 --> 00:00:35.000
149505_sprite-0.jpg#xywh=640,0,320,180
00:00:35.000 --> 00:00:45.000
149505_sprite-0.jpg#xywh=960,0,320,180
00:00:45.000 --> 00:00:55.000
149505_sprite-0.jpg#xywh=1280,0,320,180
second sprite image
00:05:25.000 --> 00:05:35.000
149505_sprite-0.jpg#xywh=640,900,320,180
00:05:35.000 --> 00:05:45.000
149505_sprite-0.jpg#xywh=960,900,320,180
00:05:45.000 --> 00:05:55.000
149505_sprite-0.jpg#xywh=1280,900,320,180
00:05:55.000 --> 00:06:05.000
149505_sprite-1.jpg#xywh=1600,900,320,180
00:06:05.000 --> 00:06:15.000
149505_sprite-1.jpg#xywh=0,1080,320,180
00:06:15.000 --> 00:06:25.000
149505_sprite-1.jpg#xywh=320,1080,320,180
00:06:25.000 --> 00:06:35.000
149505_sprite-1.jpg#xywh=640,1080,320,180
Thanks in advance

Thanks @JollyGoal, just tried this one but for the second sprite image the x and y position showing incorrect, actually it should start from 0,0 like first sprite image
First sprite image dimensions in

00:05:25.000 --> 00:05:35.000
149505_sprite-0.jpg#xywh=640,900,320,180
00:05:35.000 --> 00:05:45.000
149505_sprite-0.jpg#xywh=960,900,320,180
00:05:45.000 --> 00:05:55.000
149505_sprite-0.jpg#xywh=1280,900,320,180
00:05:55.000 --> 00:06:05.000
149505_sprite-1.jpg#xywh=1600,900,320,180
00:06:05.000 --> 00:06:15.000
149505_sprite-1.jpg#xywh=0,1080,320,180
00:06:15.000 --> 00:06:25.000
149505_sprite-1.jpg#xywh=320,1080,320,180
00:06:25.000 --> 00:06:35.000
149505_sprite-1.jpg#xywh=640,1080,320,180
Thanks in advance

Thanks @JollyGoal, just tried this one but for the second sprite image the x and y position showing incorrect, actually it should start from 0,0 like first sprite image
First sprite image dimensions in vtt file
WEBVTT
00:00:05.000 --> 00:00:15.000
149505_sprite-0.jpg#xywh=0,0,320,180
00:00:15.000 --> 00:00:25.000
149505_sprite-0.jpg#xywh=320,0,320,180
00:00:25.000 --> 00:00:35.000
149505_sprite-0.jpg#xywh=640,0,320,180
00:00:35.000 --> 00:00:45.000
149505_sprite-0.jpg#xywh=960,0,320,180
00:00:45.000 --> 00:00:55.000
149505_sprite-0.jpg#xywh=1280,0,320,180
second sprite image
00:05:25.000 --> 00:05:35.000
149505_sprite-0.jpg#xywh=640,900,320,180
00:05:35.000 --> 00:05:45.000
149505_sprite-0.jpg#xywh=960,900,320,180
00:05:45.000 --> 00:05:55.000
149505_sprite-0.jpg#xywh=1280,900,320,180
00:05:55.000 --> 00:06:05.000
149505_sprite-1.jpg#xywh=1600,900,320,180
00:06:05.000 --> 00:06:15.000
149505_sprite-1.jpg#xywh=0,1080,320,180
00:06:15.000 --> 00:06:25.000
149505_sprite-1.jpg#xywh=320,1080,320,180
00:06:25.000 --> 00:06:35.000
149505_sprite-1.jpg#xywh=640,1080,320,180
Thanks in advance


[QUESTIONS]：Some questions about running Domino

Hello, I have read the paper of Domino recently. And when I run the Domino according to this blog https://github.com/microsoft/DeepSpeed/blob/master/blogs/deepspeed-domino/README.md and this one https://github.com/microsoft/DeepSpeedExamples/blob/master/training/DeepSpeed-Domino/README.md. I just run the shell https://github.com/microsoft/DeepSpeedExamples/blob/master/training/DeepSpeed-Domino/pretrain_llama_7b.sh. However, I met the following error:

I think the cdb in deepspeed is from client such as Megatron? Therefore, I am very confused about the relationship between deepspeed and megatron. And if I want to run domino, should I use the https://github.com/microsoft/DeepSpeedExamples/blob/master/training/DeepSpeed-Domino/ or Megatron-DeepSpeed. At the same time, according to the paper, domino is tensor-parallel only? I want to know whether domino supports zero3 or not since I found that the optimizer is from megatron not from deepspeed?

Hi @yingtongxiong, thanks for reporting this error, and we will fix it soon.
To run the code now, replace deepspee.comm with torch.distributed in the deepspeed/runtime/domino/transformer.py, and use https://github.com/microsoft/DeepSpeedExamples/blob/master/training/DeepSpeed-Domino/
Domino is tensor parallel only now. But we will support zero3 in the future.

Hi, @yingtongxiong
Thanks for the question.
Short answer is for now you should use https://github.com/microsoft/DeepSpeedExamples/blob/master/training/DeepSpeed-Domino/ for now, which is a minimum dependency we maintained relevant to Megatron.
Right now we have not incorporated with zero3 but it is on our roadmap. Thanks @hwchen2017  and please follow up with help here. thx

@hwchen2017 @GuanhuaWang Thank you very much


dnsx: 1.0.1 -> 1.0.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/projectdiscovery/dnsx/releases.
meta.description for dnsx is: "Fast and multi-purpose DNS toolkit"
meta.homepage for dnsx is: "https://github.com/projectdiscovery/dnsx"
meta.changelog for dnsx is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/wcx51pwxbkqwclm4fhqmbfx7n77aj3nk-dnsx-1.0.2/bin/dnsx passed the binary check.

1 of 1 passed binary check by having a zero exit code.

1 of 1 passed binary check by having the new version present in output.

found 1.0.2 with grep in /nix/store/wcx51pwxbkqwclm4fhqmbfx7n77aj3nk-dnsx-1.0.2

found 1.0.2 in filename of file in /nix/store/wcx51pwxbkqwclm4fhqmbfx7n77aj3nk-dnsx-1.0.2

directory tree listing: https://gist.github.com/7c4a95b8cdbf8d571d7be4511657d7aa

du listing: https://gist.github.com/bf283e4c73f7ddc2bc6ecaa7246e4c38

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
dnsx

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wcx51pwxbkqwclm4fhqmbfx7n77aj3nk-dnsx-1.0.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A dnsx https://github.com/r-ryantm/nixpkgs/archive/4a895869d1772c895cdb36b825243f66be471603.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wcx51pwxbkqwclm4fhqmbfx7n77aj3nk-dnsx-1.0.2
ls -la /nix/store/wcx51pwxbkqwclm4fhqmbfx7n77aj3nk-dnsx-1.0.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

dnsx

Maintainer pings
cc @fabaff @kalbasit for testing.

Result of nixpkgs-review pr 118986 run on x86_64-linux 1

1 package built:

dnsx


UI Bugs

Bug description
Bug 1: destination connector type shows as "source" after stopping pipeline
Bug 2: when pipeline is running, user can't see the connector configurations because of a msg displayed "You must pause the pipeline if you'd like to update it's connectors or transforms." >> user should be able to check the configs while pipeline is running, they only can't change configs
note: the msg has a tiny typo "it's connectors or transforms"> should be "its connectors or transforms"
Steps to reproduce
First bug:

Create a file to file pipeline and run it
stop pipeline
click the destination connector and try to edit it
connector type will show as "source"

Second bug:

Create a file to file pipeline and run it
click on one of the connectors, you can't edit the connector but you also can't see the configurations, so you won't know what file is the source for example.

Version
v0.3.0-nightly.20220802-7-g0852b21-dirty darwin/amd64

Bug 1 closed by https://github.com/ConduitIO/conduit/pull/618 (also see related issue https://github.com/ConduitIO/conduit/issues/599)
Bug 2 I think has been closed ? as the configurations are stored in the modal that you can edit here:

I think that maybe its not as prominent as it could be to actually edit a connector from the dropdown on the top right of the right slide panel, so maybe there is something we can do to make that better


Nonfunctional change breaks automation

Description
We rely on the contract of releases existing at https://www.flatcar-linux.org/releases-json/releases-stable.json, but as of the latest release all the URLs appear to have been changed to https://kinvolk.io/flatcar-container-linux/releases-json/releases-stable.json. If you're planning a change like that can it please be mentioned in the release nodes as a non-functional change? Also, it appears the old URL still serves content, but does not have the latest release, which is confusing because there is a newer release on the releases site than on the old releases json URL. Please either kill it or keep it up to date.

Thank you!


Introduce Credential Response Encryption policy.

Closes #171

We need the following 2 unit tests to be added:

when wallet mandates encrypted responses but issuer does not then excpetion ResponseEncryptionRequiredByWalletButNotSupportedByIssuer is thrown
when wallet mandates encrypted responses but no cryptographic can be generated WalletRequiresCredentialResponseEncryptionButNoCryptoMaterialCanBeGenerated is thrown

WalletRequiresCredentialResponseEncryptionButNoCryptoMaterialCanBeGenerated

Added.

@babisRoutis

Can you please implement in this PR the first solution of #171 (comment)

Done. Please check.


[Task] Support pre-trained embeddings for ranking and session based models via the new dataloader functionality

[ ] Update the input block to support the pre-trained embeddings:

[ ] Add a module to extract pre-trained embeddings

[ ] Show an example of how to transform pre-trained embeddings before aggregating them with the other trainable embeddings in the model. Such as Layer Normalization or MLP layer.

[ ] Update DLRM, DeepFM, etc to include an optional projection layer for combining pretrained embeddings with the other embeddings in the model.

[ ] Implement and evaluate different aggregation methods to combine pre-trained embeddings with the other trainable embeddings.

[ ] Add an example demonstrating support for pretrained embeddings for DLRM or another non session based model.  Artificial example? KDD cup?

Constraints

Dataloader should support fixed-size 3D tensors.
Dataloader needs to add a tag to the pre-trained embeddings so that the T4R input module can differentiate between trainable features and pre-trained embeddings.

Closing this macro-task, as the sub-tasks have been listed in this RMP


Web - Term and Fee - View printer-friendly version link leads to 404 error page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
Prerequisites: Go to OldDot, log in with a new applause.expensifail account, verify you see a payment type for WALLET with a deposit status of "Silver". Do not add a personal bank account. If already added, delete it.

Navigate to NewDot, log in with the previously created account and open a 1:1 conversation with any user
Click/tap on the + icon and select the "Send Money" option
Enter any amount and continue
Click on the button "Pay with Expensify"
Click Bank account and add a personal bank account using Wells Fargo credentials (Repro with Fidelity)
Once the bank account has been added, attempt to send money again
Verify that you're taken directly to the KYC verification
In the additional details form, enter first name "Alberta", last name "Bobbeth" and SSN as "3333". Enter any data for the other fields.
After getting error regarding SSN, don't change the SSN data and click Save & continue
KBA flow is triggered (flow to verify the identity via questions)
Select the first answer for every question (important otherwise the KBA check will fail)
Verify you proceed to the Verify Identity step and can start the Onfido flow
After you get to the Term and Fee page
Click View printer-friendly version

Expected Result:
View printer-friendly version link opens the Term and Fee page
Actual Result:
View printer-friendly version link leads to 404 error page
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @jliexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Job added to Upwork: https://www.upwork.com/jobs/~016949e52605e17a80

Triggered auto assignment to Contributor Plus for review of internal employee PR - @parasharrajat (Internal)

Since the Wallet isn't mentioned on the Expensify site, I wonder if the ToS isn't active yet, and this is a placeholder link? Asking internally.

Quick update @kbecciv - the link is correct but the ToS are inactive. So this isn't a bug/issue - the link will be active once the Wallet is launched.


scannet scene graph

Thank you for publishing such a useful dataset. May I ask how to obtain scene graph annotation data from the scannet dataset. In the refer folder, only the folder named sr3d has anchor ids.

Hi, scene graphs in SceneVerse are not within the current release plan, the sr3d ones are from the original paper. Stay tuned!

Hi, we have released the scripts for scene graph generation. See here. Feedback and PRs are welcome.

Closing this issue as we have already provided related codes and instructions, feel free to re-open this thread if anything comes up :-)


Last api stuff

this'll probably be the last api one now since I'm really happy with everything else (except files() returning a vec but otherwise it would leak a private type and passing in an aes key rather than a slice but I get users can make aes keys in other ways)

commented out the path hash stuff since it's not used at all and so is just wasting time
unhid the use of vec in write_file since e.g you might have just written something to a vec and it's being rewritten to another one. since hash requires something AsRef<[u8]> it nows accepts that
adds game_name function to PakReader for asset path canonicalisation

I would prefer unrelated changed like these be broken up into separate PRs so I can review and merge them individually.
At it stands, I don't think there should be any assumptions of the internal pak file structure (such as inferring game name) by anything in this library. Paks are used for more than assets in shipping builds.
I would also prefer internal pak integrity checks be fully implemented rather than disabled. Disabling it along with tests depending on it makes it more likely they get unintentionally broken. Path hashes are quite small in relation to the rest of the pak (even just entry paths are significantly larger) so it shouldn't have a significant impact on performance. However, if you provide a benchmark (benchmarks would be nice to have in general) showing they do have non-negligible impact I'm open to reconsidering.

honestly with that in mind only the second change is worthwhile

should be fine now


Inquiry about Related Documents or Papers on Methodology

Hi, thank you for the outstanding work.
I’d like to ask if there are any related documents or papers available on your methodology, or is this simply a library that you provide?
Thank you, looking forward to your response.
Best regards,
Kai

Hi Kai,
Thank you, that's very kind.
I've included a basic overview on the README about how this all works, but it is very brief. Currently, I don't have any papers/documents written about this framework, but I'm planning on writing a paper about this soon. I will let you know when I get something published.
Cheers,
Lewis


Interpreter sees joined and modified emoji as multiple

(Found while testing #167, but I figured it wasn't specifically pad related)
All of these look like single emoji but break as if they were multiple:
heart, VS16 (this is the regular emoji heart and imo this should definitely work, even if the rest aren't important)
person, ZWJ 🧑❤🧑
person, skin tone, ZWJ 🧑🏿❤🧑🏻
person, skin tone 👦🏾
Also this works perfectly fine:
binding to the ZWJ

I've made a preliminary fix for this in 540ac08130879.
Each grapheme will be considered a single character.
I still have some work to do making spans correct, but all your example seem to parse correctly.

the issue with using emojis is that they cannot be colored (e.g. single argument functions get green, double argument functions get blue , ... )

I believe this was actually completed a while ago, so I am closing this.


Non-metric meta data reporting

We often need a simple way to get some meta data from services. Generally this information is on how something is configured or environment information. This is not metric data nor is it a healthcheck as it rarely changes and is generally JSON-like data.
Enter OpsReporters... We have implemented our metadata registry that is very similar to the Metrics API.
It basically allows us to write readonly admin data retrieval without coupling to a web framework.
public interface OpsReporter {
  //the properties parameter could be omitted as we still haven't needed but this could come from request parameters allowing the reporter to present different data or filter.
    public Map<String, Object> report(Map<String, String> properties) throws Exception;
}

public class OpsReporterRegistry implements OpsReporterSet {
    private final Map<String, OpsReporter> reporters = new ConcurrentHashMap<String, OpsReporter>();

    public void register(String name, OpsReporter reporter) {
        reporters.put(name, reporter);
    }

    public Map<String, OpsReporter> getReporters() {
        return reporters;
    }
}

I'm not sure if this is out of scope of this project but I figured it might not given that HealthChecks are not really Metrics.
Or perhaps others have better solutions to the above problem?

I haven't encountered this exact use case, but perhaps others have. If there's a significant demand for this capability, it can't be accomplished with this or another library, and it makes sense to add to this project I'd be open to it.

This seems related to the thread "Non-numeric Gauges?" on metrics-user. I don't think health checks are a great fit as being part of this library, like the OP said -- what if there was a separate library for health checks and other stuff like this? Operationally useful stuff, sometimes live, sometimes not, and maybe it includes some annotated metric data (or not), but really it's just a way of saying "expose this simple, structured-ish data in a way that I can easily expose over http or jmx or other things". Which, I think, is a different role than "calculate these numeric properties".

Recent versions of Apache Solr use metrics for exposing all sorts of metadata (paths, selected config strings, Java properties) as well as using a custom gauge impl. for exposing dynamic map-like data (eg. system properties, cache entries etc) where it wouldn't make sense to register them as individual metrics due to their dynamic nature and the inability to monitor changes (eg. someone adding or deleting a sysprop).
We found it quite useful to expose this data alongside regular metrics, so that it can be accessed and reported using the same API.


[SMALLFIX] Removed explicit parameter types in UnderFileSystem

Removed some explicit parameter types in the UnderFileSystem class.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9815/
Test PASSed.

LGTM


[Bug report]: When changing the slider input field value the tdsChange event should be triggered

Requirements before reporting

[X] No duplicated issue reported.
[X] I have checked the latest version if the bug exist there. See all available packages at npmJS.com
[X] I have followed the installation guide.

Package versions
@scania/tegel: 1.13.0
Browser
Chrome
Framework
React
Version
React 18.3.1
Reproduction steps

Go to https://tds-storybook.tegel.scania.com/?path=/story/components-slider--default&args=showInput:true
Look at the console.
Change the value in the input field.
No tdsChange event is logged until the user blurs the field.

Expected behaviour
The tdsChange event should be triggered even before blur. Because what if the user never blurs the field, and for example presses some "Save"-button directly. Then the consuming app won't have to correct value in state.
Contact information
<EMAIL_ADDRESS>

Hi @patrikhultgren I will close this one for now since you should be able to use tdsInput event for monitoring every value change.
https://tegel.scania.com/components/slider/code
or notes tab in storybook:
https://tds-storybook.tegel.scania.com/?path=/info/components-slider--default
If there is any issues in the future feel free to open a new issue :)


Message#encoded breaks existing gpg signatures

I'm using mail in an MDA filter script. It reads the message from stdin, parses it with Mail.new, sets some extra headers, and prints the output of Message#to_s. What I've discovered is that by doing this any gpg signatures present in the original message will be rendered invalid. I've narrowed it down to additional headers being injected into the multipart chunk containing the cleartext, and Content-Type being broken into several lines, i.e. this
--h31gzZEtNLTqOjlF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

test

becomes this:
--h31gzZEtNLTqOjlF
Content-Type: text/plain;
 charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-ID: <xxxxxxxx>

test

So it would appear that the entire cleartext chunk must be preserved verbatim for the signature to be valid.
My current workaround is to print #header and #body directly, which bypasses normalisation, but since this behaviour might change in future releases (edit: not usable with more complex messages), I'd prefer an explicit option to suppress normalisation, especially when dealing with externally created messages.
The problem is reproducible in Mail.app/GPGTools (using gpg 1.4.19) and mutt (using gpg 1.4.16)

I'm having the same problem with Mutt/1.5.23.
When I will read an e-mail using Mail.new(STDIN.read)  or Mail.read(mail_source) like:
require 'mail'
@mail = Mail.read('my_mail')
puts @mail

I'm having different source mail:
Original mime part:
--k4f25fnPtRuIRUb3
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Received mime part:
--k4f25fnPtRuIRUb3
Content-Type: text/plain;
 charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-ID: <xxxxxxxx>

I'm not sure if to_s is intended to be able to round trip an email byte for byte, but if it is, it's still a long way off from that I think.
However, the raw_source method allows you to get the exact input that read or read_from_string parsed, so I think @mail.raw_source will give you what you need.

If you read from a string, you already have the original string anyway.
The point was rather that if a message was constructed from source (as opposed to from scratch through the gem API) with the purpose of making specific changes, no other implicit alterations should be done, ideally.

Or is it possible to retrieve the raw source of individual multipart sub-messages?

Unfortunately I don't think it is possible currently to use the Mail gem to make only specific modifications, and then have it not also modify other parts of the message. Maybe the maintainers would accept a pull request that would keep track of which sections have been modified and which haven't so that it would only perform any logic that adds defaults to parts that have been modified.
To answer your question, most parts and sub objects have some sort of API to get the raw source of just that part. The method to get the raw source of a Mail::Message or a Mail::Part (which inherits from Mail::Message) is that same raw_source method. https://github.com/mikel/mail/blob/8130b9c216bfb3149e10aef294696400da0b0954/lib/mail/message.rb#L386

I'm not sure if I understand how raw_source works with @mail. What it will give me since I cannot simply send an e-mail using original source?
So basically if I even change it to @mail.raw_source I cannot call on it .bcc or deliver to send it as it is without changing headers. Not sure if this is intended for some reason or I'm missing something? :-)

Maybe it would help me understand better if you explained exactly what you are trying to do.
If you are trying to take an email, parse it with this gem, modify the email, then send it, I don't think it will be possible to maintain the gpg signature. Part of the purpose of that gpg signature is to verify that the email hasn't been changed. So it is completely expected for the gpg signature to be invalid after making modifications to the email

The point is I don't want to modify anything. I'm simply expecting to read an e-mail from STDIN and send it back to the postfix queue. So if I will open it like:
Mail.new(STDIN.read)
or if it's the file like:
Mail.read(mail_source_file)
so now, when I will call deliver method on this @mail I'm expecting to get the same source as it was before, since nothing has been changed.

The problem is that now I need to go for IO.popen(sendmail) to send my e-mail from STDIN.read. Since Mail.new is changing it's headers. It might be nice to have some sort of option in this gem to avoid it.

Ah okay, that makes sense. I'm not sure ruby is necessarily the most effective way to take a STDIN or a file and feed it to posfix, but unfortunately, that's not really what this Mail gem is for. The gem is mostly for two things, parsing emails and providing a nice OO interface for accessing the data, and constructing new emails.
For your use case you may want to just interface with Net::SMTP or sendmail directly. As far as delivery goes, the mail gem provides just a very very small wrapper around those which does no more than some envelop checking and turning the mail object into a string.
If you don't care at all about modifying the message, and you're definitely going to be using ruby, your best bet is probably calling IO.popen(sendmail) or Net::SMTP.new yourself which is basically all the gem is going anyway for delivery.
https://github.com/mikel/mail/blob/df48a05a7fb5a4271e6df12da7afb26a53494a18/lib/mail/network/delivery_methods/smtp.rb#L98
https://github.com/mikel/mail/blob/df48a05a7fb5a4271e6df12da7afb26a53494a18/lib/mail/network/delivery_methods/sendmail.rb#L72

Ok, in that case it's clear and reasonable :-) So I will just stay with IO.popen(sendmail).
Thanks!

Part of the purpose of that gpg signature is to verify that the email hasn't been changed. So it is completely expected for the gpg signature to be invalid after making modifications to the email

Signatures use multipart. You can change headers of the top-level message without invalidating the signature, as long as sub-messages are left intact.

My use case is that I do want to modify top-level headers, but then the gem mangles the signature because it also automatically normalizes headers of the signed sub-message.

@ulfurinn So you want to modify top level headers, but not headers with in the multipart/signed part at all.
Yeah, that's definitely an issue. Maybe logic can be added specifically for Multipart/signed parts or more generically maybe logic can be added to not normalize headers for parts that were read in from somewhere and not modified at all.
Is that something you'd be willing to try to tackle?

I had a similar case when implementing a mailing list. I needed a remailer that changed message headers but kept the message body verbatim.
Here's a starting point for exploration…
    # Use the original mail body, verbatim.
    message.body = mail.body.encoded

    # Manually split its parts (mail lib quirk, no API for this).
    message.instance_variable_set '@separate_parts', message.multipart?
    message.send(:process_body_raw)


Add more query join types (left, right, outer join)

What problem does this solve or what need does it fill?
The query join added in #11535 is useful, but only covers one of four common types of queries.
As discussed in #1658, these are:

Inner join: matches all entities that are found in both queries.
Outer join: matches all entities that are found in either query.
Left join: matches all entities that are found in the first query.
Right join: matches all entity

The join added in the PR above is an "inner join", which is useful and straightforward to implement.
However, this isn't always the desired behavior.
We should learn from the extensive history of database and implement this foundational functionality.
What solution would you like?
Add the other join type methods, being clear that the base join is an inner join.
Data that is missing should be filled with None, and the fields that could be missing should be converted to their Option equivalents.
What alternative(s) have you considered?
Maybe these join types aren't useful in practice in game dev and can just be omitted.
I had hoped that Query::join could take an extra parameter, the JoinType enum. However, I don't think that this is feasible, as the type returned varies based on the value based in. Perhaps a const generic would work, but that's blocked on  https://github.com/rust-lang/rust/issues/95174 for now.

I like the idea of joining queries on component values, e.g:
join (&Enemy, &Transform) and (&Player, &Transform) on distance(enemy.transform, player.transform) < 30.0
which would in turn yield ((&Enemy, &Transform), (&Player, &Transform)).
But I'm not sure on how useful joining queries on entities is. Correct me if I'm wrong, but it seems like even the example given for Query::join is longer, slower and more complicated than what it would be if Query::join wasn't used at all.
Is there an example where joining queries on entities provides some utility that can't be or is much harder to achieve right now?

Much like query transmutes, the value comes in much more complex use cases. Scripting APIs and helper methods are relatively common applications, but it's really hard to show the value in out of context snippets.

For outer joins, @ChristopherBiscardi had a nice example where a user can recombine mutually exclusive queries without a ParamSet:
fn burn(
    all_burned: Query<&Burned>,
    all_grass_type: Query<Entity, With<&GrassType>>
    all_non_grass_type: Query<Entity, Without<&GrassType>>
) {
    let critical_burn_effect: QueryLens<&Burned, Entity> = all_burned.join(all_grass_type);
    for (burn, entity) in &critical_burn_effect {
        // dmg = 2.
    }

    let burn_effect: QueryLens<&Burned, Entity> = all_burned.join(all_non_grass_type);
    for (burn, entity) in &burn_effect {
        // dmg = 1
    }
}

We could consider using query.union, query.intersection and so on for the naming, and base it off of set operations.


PayToPlay: new dependency: KSP-Recall

I guess it is the best solution as since KSP 1.11 P2P suffers a KSP API bug and KSP-Recall is a "hard recommendation" to fix it.

Thanks for the update.


function?

"The AddressOf operator creates a function delegate" in Remarks says function but the example clearly uses a Sub. Big difference to a VB programmer.

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

ID: 9b816a20-38f9-53fd-0bf4-80ed1fa0e08b
Version Independent ID: 9961ee03-00ea-f299-8303-f395b61e6189
Content: AddressOf Operator (Visual Basic)
Content Source: docs/visual-basic/language-reference/operators/addressof-operator.md
Product: dotnet-visualbasic
GitHub Login: @KathleenDollard
Microsoft Alias: kdollard

Fixed in #13290


Improvements to Registry Entry Attributes

This PR adds the following improvements to the Registry Entry Attributes API:

Added validation to values added through put and DefaultValueProvider

(done by trying to encode the value)

Added "value associated with entry" and "value associated with tag" events

Only fired for built-in values (put) - for data values, use datapack events provided by Resource Loader

Merged data and assets holders

These were mutually exclusive anyway

Values derived from tags are saved, so they don't need to be re-derived
Added flags system to built-in holder

Right now, this is only used to exclude computed values (from DefaultValueProvider) from the dump_builtin_attributes command

Renamed RegistryEntryAttachment.getValue to get
Removed RegistryExtensions.register(Registry, Identifier, Object, Consumer<BuiltinAttachmentBuilder>) and BuiltinAttachmentBuilder

Nobody used these, and they've pretty much been replaced with the direct RegistryEntryAttachment.put method

Additionally, this PR also addresses a bug:

Fixed tag-based value assoications not being cleared on datapack reload

(forgot to add refactor tag, since - yeah, this breaks ABI)

Moved a critical bugfix to #144.


No timezone in Kiev after 2022f.15 upgrade

Hi,
I recently tried upgrading the timeshape library in one of my projects from 2021c.13 to 2022f.15, but it broke a unit test I had.
Getting the timezone from coordinates 50.4501, 30.5234 used to return [Europe/Kiev] and it now returns Optional.Empty.
It does not seem normal to me.
Thanks for your feedback!

Having the same issue
Glad unit tests have caught it

Thanks for reporting this, I'll have a look.

I cannot reproduce this easily. On my computer, on the tip of the current master branch, for the given coordinates 50.4501, 30.5234 I get the Europe/Kiev as expected. I've run the test locally, but I don't expect this to matter, compared to downloading the build from Maven Central.
From what I've seen before, the issues with non-found time zones might be related to Java version used. I'm running on relatively old Corretto. v. 11.0.7. What's your Java versions, @spanasiuk @adrientardieu? Do you see any warnings in the logs when initializing the Timeshape?

After some further research, I've found out the problem is most probably related to the renaming of the timezone in question. It used to be called Europe/Kiev, but now it's called Europe/Kyiv, to harmonize with official spelling. The change has been implemented by IANA in tzdata release 2022b.
The source data v. 2022f, from which the latest Timeshape is built, uses the updated Europe/Kyiv spelling, whereas the older source data v. 2021c you refer to still uses the old Europe/Kiev spelling. The recent JDK has both timezone IDs in its database, for compatibility reasons, but you're probably using the older Java, which doesn't yet have the Kyiv version.
I'm not quite sure which version of Java has introduced the updated spelling, but if you update to the latest Java minor version (e.g. 11.0.17 or 8.0.352) you should have this problem resolved.

Hello @RomanIakovlev , thanks a lot for investigating this issue. Much appreciated.
I'll try updating to the latest Java minor version because I'm still running on corretto 11.0.16. Thanks a lot!

Looks like it's not only Kyiv's problem: entire Ukraine seems to return empty Optional (I'm playing around with version 2022g.16). Dripro, Zaporizhzhya, Kharkiv, Uzhgorod, Melitopol - everything returns empty Optional, but when I try the closest neighborhood - everything is just fine.

Hi! I've run into the same problem. I was running my service on 17.0.1 JDK version and updating to 17.0.6 fixed the problem, so it is really old JDK version who causes the problem. I suppose that this issue may be closed :)

This issue has been opened for a long time without activity. Closing this now, feel free to re-open if you run into the same problem and the suggested solution doesn't work for you.


reduce if() using do.call

Now the algorithm has several if() statements to check the right decision to take when overallVSlocal == TRUE or when nrank > 3. This can be improved using do.call which will enhance readability and debug

Solved here https://github.com/agrobioinfoservices/ClimMob-analysis/commit/e6944e043c4ea4f979bfa0818547223ee299ceaf


Add links to diagnostic message explanations

The analyzer has documents explaining what some diagnostics mean. In our IDE plugins we generate links to these docs. We should also link to these docs from diagnostics in dartpad.
For example: https://dart.dev/tools/diagnostic-messages#unchecked_use_of_nullable_value

I believe this is a dup of https://github.com/dart-lang/dart-pad/issues/1676.

I believe this is a dup of https://github.com/dart-lang/dart-pad/issues/1676.


Retrieve all components

Google maps retrieve a lot of informations that might be useful. For instance one might need the country of a given result.
To allow that, I suggest we update the location class to include a components hash with all the elements retrieved from google-maps.

Apparently travis used to failed.
I just fixed the bundler version to avoid travis build errors.

Thank you for the contribution, @raphaelpra!


[Custom Capture Help] @function.name, capture the function name from the current scope instead of lookahead/behind

Hey, I'm trying to write a custom capture which captures the function name of the function I'm currently at instead of trying to lookahead.
This is the custom capture (golang):
;; Function name
(function_declaration
  name: (_)? @function.name)

(method_declaration
  name: (_)? @function.name)

Afaik, it cannot be done with the current version of this plugin. It will simply look ahead if the query is not found. This might be improved in the future to search from a given context (like you can search @function.name under the range of @function.outer.
Until then, I suggest you make a mapping like [mvan which will go to the beginning of the function and then select the name.

Closing as completed in #386


feat(tutorial): complete step 5

Step 5: Deploying to IBM Cloud
Changelog
New
Added URL for your deployed app :
http://carbon-tutorial-beckerv.mybluemix.net/#/

Added URL in the description.


Add translation for Chinese (Traditional)

This PR is the cleanup version of #911 since #926 has landed.
Some notable changes:

zh_TW for Traditional Chinese; zh without region code for Simplified Chinese.
The numbering feature can't be implemented as we can't distinguish translations of the 1st number in zht and zhs. It is better to add a lang flag to indicate which numbering kind should be used. I mark it as #[allow(unused)] and add a TODO on it.

r? @peng1999 @reknih @szdytom

LGTM


Enhancement (home): Add menu fullscreen button to Home scene to enter fullscreen programatically

Most desktop browsers include a native fullscreen function (e.g. F11 on desktop firefox, chrome, or CMD+CTRL+F on safari). However some simple users do not know how to enter fullscreen.
For the benefit of point-and-click users, a menu button is added in the Home scene for programmatic fullscreen entrance or exit.
Possible downsides:

The UI would no longer be as straightforward as having one menu button for settings
In programatic fullscreen, the usual ESC hotkey to navigate between Home and Environment will first exit fullscreen. Currently suppression of the ESC key by using e.preventDefault() doesn't seem to work in Firefox and Chrome, very likely due to the the native enforcement of ESC as the way to exit from a programmatic fullscreen.

Note: On desktop safari, in fullscreen on document.documentElement, document.body's background applies to its actual height (leaving the html element's default white background at the bottom of the remainder of the vertical screen estate). The solution is to use height: 100% for both html and body elements.
This has been tested on Mac and Windows browsers, iOS and Android. Fullscreen button will show for Android browsers but not for iOS browsers.

rebased


Fixed duping issue with portable tank

This PR address issue #55.
The stack variable had one issue since it kept containing the item that the block was holding inside his inventory but at the same time we were also dropping to the ground this same item, causing the duplication.
I don't really know if the fix I've made is ideal, maybe you want to keep the functionnality of writeNbt the same but remove from the nbt data the item directly in the onBreak function?

Wouldn't this make any buckets in the portable tank disappear when you log out?
A better fix would be to empty out the inventory slots when spawning items in the block's onBreak method.

Wouldn't this make any buckets in the portable tank disappear when you log out?
A better fix would be to empty out the inventory slots when spawning items in the block's onBreak method.

Yeah you were right it wasn't saving properly anymore, I've changed the way of handleling things so that everything is done in the onBreak method.
Tell me if it seems better to you. (Sorry I haven't really worked with Fabric in my life so)

Hi, thanks for the bugreport, and the PR for it. I see a few small issues with the changes here: Code from both the writeNbt and the itemstack creation is partially duplicated. I'm not sure if you saw it, but there's a method in the tankentity class for creating the itemstack with the proper data. This also includes a custom name, which breaks with your PR. I think the easiest and cleanest solution is to just remove the stored items from the dropped item nbt. This will work with any future changes to the nbt data, and requires way fewer changes.
I hope you don't mind it, but I just implemented this change on main while skipping this PR. As it's only one line, I think this way is easier than updating the PR to reflect the change. You can check it out here in this commit: https://github.com/Rearth/Oritech/commit/8ce278bfa3708ab43d0b98b998ba9fd595f2d201
Still, huge thanks for creating the PR. Even if I won't take this one, all help is appreciated.


Strange space in toolbar

Hi there!
I have a space between the close icon and the TextView's text on toolbar. It's strange because when I change the version of FastAdapter, changes their padding/margin. I don't know why :/
This is the result that I'm getting (I've pressed the close button to do a screenshot):
FastAdapter with version 1.5.2

FastAdapter with version 1.5.5 and further

I've tried changing app's style, putting app:contentInsetStart="0dp" on toolbar, negative padding, etc.
My problem is being produced on a emulator with API 22 and a real device with API 16.
I don't know where is the relationship between my toolbars and FastAdapter's version.
Thank you! :)

It's the update from the support Library that changed this.

You are picking up an old appcompat in the support library, perhaps transitive from fastadapter. Make sure you are using the latest version of both fastadapter v1.6.1 (that references the latest) but most of all that you yourself reference appcompat v24.1.1,

@FabianTerhorst @mattiasbe thanks both for answering

Wow, thank you for the fast answers! :smile:
I've changed the version of appcompat to 24.1.1 and FastAdapter's to 1.6.1 but the space remains there.
What can I do? I mean, I think the space is ugly but I don't know if it's a correct design or a bug.

I don't know what's the problem. The old Space was definitely to small.

Hmmmm, in my opinion it looks a little bit strange.

@LukA888 you might should head over to Stackoverflow as this is definitely a support libs topic and not library related.


chore: use merge queues

Replace Mergify with GitHub Merge Queues

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2891

Questions ?
Please refer to the Backport tool documentation


Permission to publish banner does not appear after the permission is turned off.

I'm was to get some screen shots of the permission to publish form, in staging, I went in and turned off my permission to publish, then logged out and logged back in. I went to the publishing page of my draft form, the permission to publish banner does not show.


Correct a few properties in workflows.triggers API responses

Summary
This pull request improves the response types for workflows.triggers.* endpoints.
Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

Hey @shapirone, thanks for your review on this! Since I just wanted to flag some invalid types in the SDK, I don't have any oppositions to your comments here. Also, I am on PTO this week, so please feel free to reuse these changes and make whatever changes you want to add. In the case, you (or other team member) can come up with a new PR for it and close this one.

Closing in favor of #78


CASMINST-5031: Change CAPMC URL to target for test

Summary and Scope
The URL being used to test communication with CAPMC was removed. Changed it to the health CAPMC health URL.
Issues and Related PRs

Resolves CASMINST-5031

Testing
Tested on:

surtur

Test description:
Validated similar test for gateway testing with new CAPMC health URL on surtur.
PASS - [cray-capmc]: https://api.cmn.surtur.hpc.amslabs.hpecorp.net/apis/capmc/capmc/v1/health - 200
Overall Gateway Test Status: PASS

Were the install/upgrade-based validation checks/tests run (goss tests/install-validation doc)? goss test passed
Were continuous integration tests run? If not, why? Y
Was upgrade tested? If not, why? N - N/A
Was downgrade tested? If not, why? N - N/A
Were new tests (or test issues/Jiras) created for this change? N

Risks and Mitigations
No known risks.
Pull Request Checklist

[x] Version number(s) incremented, if applicable
[x] Copyrights updated
[x] License file intact
[x] Target branch correct
[x] CHANGELOG.md updated
[x] Testing is appropriate and complete, if applicable
[x] HPC Product Announcement prepared, if applicable

You'll need to change the chart version as well


Allow the admins/owner to set multiple DJ roles

Title. Is this possible?

Its not currently possible, but you can make a new role and give it to anyone with one of the roles that you'd want to be a DJ


Dashboard pledge should link to public page + remove CC on file (for now)

We've decided to remove this feature for now to avoid confusion and risky outcomes. It might not be entirely clear that you save a CC on file for the entire organization and potentially not the right approach vs. individual cards (expenses).
Instead, we'll re-introduce this more properly through a combination of later efforts, e.g:

Save personal CC on file
Team management / budgets (more explicit and intentional)

Todo now

[x] Remove CC on file from settings and our API
[x] "Pledge" in dashboard view should link to public pledge page
[x] No animation for the "Pledge" button in the dashboard (don't hide it)
[x] Redirect to dashboard dependency view
[ ] Show success toast in dashboard if pledge was successful

Keeping API for now since team management will be a priority.
I removed the PledgeOverlay though. Since I quite liked the experience of linking out to a dedicated pledge page + concept of having one component/space for it as we expand functionality in the future.

Went ahead and removed it since I had to change the API. Would be confusing with some changes to existing methods and retaining former – now dead – code paths. Linked to this issue + PR in the roadmap item instead to be able to cherrypick stuff back once we get there.


support specifying maximum number of histories

Thank you for the nice plugin!!
I open this PR to add the n option to limit the number of histories on cmdbuf
because edit can be very slow when treesitter is on and buffer is too large... (5000 lines in my case)

The latter works fine! Thank you for the suggestion.
About the former, I would like to keep the saved data be large for commandline completions and fuzzy finding.
Buffer opens fast enough and highlight applies fast enough as well.
My only problem is slow character inputs on insert mode...
Anyway, I'm okay to close this PR.
Thanks again.


No default_value_os for reliably specifying filesystem paths as default arguments

Affected Version of clap
2.20.3
Expected Behavior Summary
Functions like validator_os and value_of_os should be complemented with a default_value_os.
Actual Behavior Summary
Only default_value and its variants are provided... which means that it's not possible to specify all valid paths as default values.
Sample Code or Link to Sample Code
// env::current_dir is fallible and default_value can't take a callback for lazy eval, so
// resort to "." but future-proof it in case of esoteric platforms.
// (Not perfect, but to_string_lossy() is necessary without a `default_value_os`)
let lazy_currdir = &Component::CurDir.as_os_str().to_string_lossy();

let matches = App::new(env!("CARGO_PKG_NAME"))
    .version(crate_version!())
    // .about("Description text here")
    // TODO: Add args to control slog logging level
    .arg(arg::with_name("inpath")
        .help("file(s) to use as input")
        .multiple(true)
        .empty_values(false)
        .default_value(lazy_currdir)
        // .validator_os(validators::path_readable)
        .required(true))
    .get_matches();

(It's an excerpt from the "new project" boilerplate I'm putting together)

While I agree there could be a default_value_os and I'm not opposed to adding it, do you actually need to add a path with invalid UTF-8? I know it's possible, but that doesn't mean it's practical. I'm asking for my own curiosity :wink:

At the moment, it's more a matter of wanting correctness in how I glue the "get me the current directory" APIs to clap and wanting the APIs I deal with to be complete.
However, there is actually a set of situations where I expect this to be a problem. Some of the projects I have on hold (currently partially prototyped in old Python code using optparse) embed a shell in a way where default values can get very dynamic... and I intend to use them on folders where round-tripping through different distros over the years has not been kind.
(ie. Folders full of files with Japanese filenames names so mojibake'd that they're not even valid UTF-8)
As-is, to play it safe in those projects, I'll be setting a dummy default value (probably \0) and then reinventing defaulting using match if I don't have default_value_os.

I finally got around to looking at this and it seems you implemented default_value_if_os and default_value_ifs_os but, despite the commit message saying it should be there, you neglected to implement default_value_os.
I can't find any evidence of it in the diff and here are the search results from locally-built docs for clap 2.23.1:

Oh wow!

Thanks for letting me know, I'll get this added shortly!


Nested Deep Links

Hey, I've been playing around with your library for a couple weeks now and I'm trying to test out a few use case's before I can try and convince my company to adopt it.
I am trying to deep link into a nested nav graph but it looks like that a nested deep link doesn't use its DestinationsNavHost when it's called.
For example here is my setup. I have two DestinationsNavHost's (DNH): main and sample.

I have also color coded each screen and DNH so that it's easy to see what is holding which content.
Black border = main DNH
Blue border = sample DNH
In my video, you can see that if I navigate from a deep link outside of the app then it will render the screen without the blue border which means the sample DNH is not being shown. The same is true if I open the deep link from ScreenB since ScreenB is part of the main DNH but not the sample DNH. ScreenB deep links into ScreenE but doesn't show the border from ScreenC's DNH.
If I open the deep link while in ScreenD, then ScreenE gets shown properly within the sample DNH from ScreenC.
Is this simply a limitation of nested deep linking or can it be solved?
https://user-images.githubusercontent.com/9651986/172306807-6ebfca4b-e89a-4fb5-916a-ded15aa49b09.mp4

Hey @blakelee 👋
Just a quick question, have you tried this with vanilla compose navigation?
Also, is this sample project a public repo I can look at?

Here is the sample https://github.com/blakelee/Compose-Destinations-Sample
I have no tried vanilla compose navigation. I can probably migrate to it real quick to test it.

If you want I can do that as well. It’s not the first or the last time I’ll do it 😅
I have practiced hands in that

Sure, if it's not an issue for you. I was essentially just copying+pasting the code from here and modifying it https://android-review.googlesource.com/c/platform/frameworks/support/+/1818835/6/navigation/navigation-compose/samples/src/main/java/androidx/navigation/compose/samples/NavigationSamples.kt#138

I might have figured it out. I noticed that in the vanilla example that there's not place for a modifier in the nested navigation block. Then I removed ScreenC from my project completely and changed the BottomBarItem to be ScreenA and ScreenB which are destinations then the 3rd item I swapped out ScreenC with my nested NavGraph NavGraph.sample.
I will push my code to show you. It looks like there's only supposed to be one DestinationsNavHost per set of graphs including a graph's nested graphs.
I tried to solve this over Saturday and Sunday and I couldn't figure it out but now it looks like it's working :)

If this is fixed, please close the issue 🙂


New output file created for each run

This one is not really a bug but a really annoying UX thing. Everytime I run a validation/linting, a new output tab gets created...

fixed in 0.0.17


feat: dynimic eng ladders diagram + upgrade to docusarus v3

Description

Issues

Closes: #?

At the bottom of each page with eng ladder diagrams there is now dynamic diagram where you can choose role and data point to compare. Design isn't best right not but it's fine I guess.
Had to update to docusarus v3, nothing should break but give it a glance


Licensing of tiseg

https://github.com/mjenckel/LAYoutERkennung/blob/master/ocrd_anybaseocr/cli/ocrd_anybaseocr_tiseg.py#L7-L9

#The anyBaseOCR-tiseg is licensed under the "OpenContent License". While using/refering this work, always add the reference of the following paper:

That is contradictory to the Apache 2.0 license.

Sorry, the license for anyBaseOCR-tiseg will be discussed internally in DFKI and will be updated.

Please also discuss the license of https://github.com/mjenckel/LAYoutERkennung/blob/master/ocrd_anybaseocr/src/datagenerator.py which is right now BSD-3. The code seems to be transferred from https://github.com/kratzert/finetune_alexnet_with_tensorflow. Maybe it is even possible to add this repo as a dependency instead of duplicating the code?

The same seems to hold for https://github.com/mjenckel/LAYoutERkennung/blob/master/ocrd_anybaseocr/src/finetune.py . You may want to add a reverence to @kratzert.

We are aware of the licensing issue with both https://github.com/mjenckel/LAYoutERkennung/blob/master and https://github.com/mjenckel/LAYoutERkennung/blob/master/ocrd_anybaseocr/src/finetune.py.
They are currently used by the block-classification module. However, we have not tried to adapt this module to the OCR-D CLI API, because we are not sure we will actually use this code in the final version. We are currently still developing our block-segmentation code, which is a joint block-segmentation and -classification which would make the current module obsolete.
We will remove both scripts from the repo for now and link to their original versions.
As for the tiseg code, as mentioned before, we are currently discussing internally how to change the license for the OCR-D project (DFKI is the license holder).

We will remove both scripts from the repo for now and link to their original versions.

Please don't break existing code, license-wise it's fine.

which would make the current module obsolete.

So should we test the code and fix issues?

since block-classification is not in OCR-D API compatible format, testing it (and its dependencies in the /src directory) does not make a lot of sense at this point.
we are considering moving this part of the code into the dev branch to reduce confusion

The licensing of tiseg has been changed to Apache 2.0.
@mjenckel can provide more clarification regarding the license if required.