Package manifest

Description
Package manifest
Fixes #282
Type of change

Documentation update

Testing steps
N/A
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report

Merging #308 (4952e79) into master (c31d132) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #308   +/-   ##
=======================================
  Coverage   73.24%   73.24%
=======================================
  Files          11       11
  Lines         557      557
=======================================
  Hits          408      408
  Misses        126      126
  Partials       23       23

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c31d132...4952e79. Read the comment docs.


Assembly signing

I contributing for CoreWCF repository, and want add support MSMQ transport (detail here). I need that Nuget package have strong name. I prepared this PR, to needed changes. Is it possible ?

since all of this code only works on Windows (mqrt.dll), I didn't think it would be useful for something like that, but I am glad to be wrong about it.

I would like a new Nuget version with this signing.

@weloytty, would it be possible to get a nuget version 1.0.3 with the assembly signing?


Support for plugins

MongoDB mongoose supports replicating updates to an elastic search cluster using https://github.com/taterbase/mongoosastic, which is implemented as a plugin.
Might be nice to be able to do this with dynamoose as well.
Again, can implement and potentially submit as a PR.

Sounds like another great idea.  Again, PR would be great.

I'm starting to implement plugin support to Dynamoose. Trying to build this out in the open so that people can give suggestions and feedback. Feel free to comment on PR #325 with feedback or suggestions.

Add this to the list of plugin ideas?

@mogwai I think it's referenced there.


[Question] Why does cfg.remote code needs to be false to run llama models or specified models?

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
We may not need to restrict?
Current behaviour
https://github.com/OpenAccess-AI-Collective/axolotl/blob/b3f5e00ff5ac240678b3e8554be86a6db197455d/src/axolotl/utils/models.py#L274-L281
https://github.com/OpenAccess-AI-Collective/axolotl/blob/b3f5e00ff5ac240678b3e8554be86a6db197455d/src/axolotl/utils/models.py#L229-L238
Seems to be conflicting code with the trust remote code
Steps to reproduce
set trust remote code to be true
Possible solution
Maybe remove that if condition?
Which Operating Systems are you using?

[X] Linux
[ ] macOS
[ ] Windows

Python Version
3.10
axolotl branch-commit
main
Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of axolotl.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

This is due to patching being run for normal llama models. Adding trust means their modeling code may be diff hence potential incompatibilities.


dev server doesnt work on device

I'm using React Native v0.35 after upgrading from v0.26. I can no longer use the dev server on my device like I used to. When it builds to my phone, connected on the same wireless ip as my macbook, it builds from a pre bundle instead of the server. I used to be able to just set the ip in the app delegate, but that's no longer an option. I just want to be able to develop on an actual device.

Can you get a new app to work with 0.35? I think testing that will determine whether the problem is with your machine, or with your codebase.

This is just with the standard "hello world" react native app. I create a new project via react-native init, open the xcode project, select my device that's connected by usb and on the same wifi network, and it still refuses to build the dev server. I'm at a loss.

I'm closing this issue because it has been patched for the upcoming release of RN. The auto ip code had issues with mac connections over wifi. Solution FIX #9617.


RWC not closing to System Tray

Seems the FormClosing event is not being triggered.

Pushed out <IP_ADDRESS> emergency update.


tsconfig.json - problems loading reference tsconfig.schema.json

Issue Type: Bug
Problems loading reference 'file:///c%3A/Program%20Files/Microsoft%20VS%20Code%20Insiders/resources/app/extensions/typescript/schemas/tsconfig.schema.json': Unable to load schema from 'c:\Program Files\Microsoft VS Code Insiders\resources\app\extensions\typescript\schemas\tsconfig.schema.json':
VS Code version: Code - Insiders 1.21.0-insider (3fec61014742dec894b3a31cdf8556bf533cb0e1, 2018-02-28T05:17:16.839Z)
OS version: Windows_NT x64 6.1.7601

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz (8 x 2712)

Memory (System)
15.67GB (4.74GB free)

Process Argv
C:\Program Files\Microsoft VS Code Insiders\Code - Insiders.exe

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

tslint
eg2
1.0.28

git-tree-compare
let
1.2.0

mssql
ms-
1.3.0

csharp
ms-
1.14.0

code-spell-checker
str
1.6.5

Reproduces only with extensions

Duplicate of #44718


Basic setup to build gRPC Python with Bazel

Building gRPC Python with Bazel has been one of the long requested additions to gRPC (#8079). Doing so had been made complex by the fact that Bazel itself is still in active development.
There has been extensive work on building Cython code at tensorflow, which can be reused for gRPC's purposes as well.
Major changes required for building grpcio with Bazel are:

Include Cython as a third party Bazel package, to compile the Cython parts of gRPC Python.
Include rules for Python autoconfiguration so Python headers can be detected by cygrpc.
Include new rules from bazelbuild/rules_python, which allow for importing pip dependencies with Bazel.

cc: @nathanielmanistaatgoogle @mehrdada

pyx_library rule is borrowed from tensorflow/tensorflow/core/platform/default/build_config.bzl.
cython.BUILD from tensorflow/third_party/cython.BUILD.
Python autoconfiguration setup from tensorflow/third_party/py/, modified to exclude numpy dependencies (unnecessary for grpcio).

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,976,610      Total (=)      1,976,610

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,771,522      Total (<)     10,771,526

 No significant differences in binary sizes

[microbenchmarks] No significant performance differences


[Feature Request]: Please support stream_chat for vllm

Feature Description
Need to implement the stream_chat function.
class Vllm(LLM):
@llm_chat_callback()
def stream_chat(
self, messages: Sequence[ChatMessage], **kwargs: Any
) -> ChatResponseGen:
raise (ValueError("Not Implemented"))
code source:
https://github.com/run-llama/llama_index/blob/main/llama-index-integrations/llms/llama-index-llms-vllm/llama_index/llms/vllm/base.py
Reason
No response
Value of Feature
vLLM is popular and widely used. Is it possible to integrate it to this project?

Anyone will help?


Is There Any Ways To Watch New York Rangers vs Detroit Red Wings Live Streams Free NHL On TV Channel

How to watch the New York Rangers vs. Detroit Red Wings - NHL (11/9/24) | Channel, stream, preview
After spending a night north of the border, the Detroit Red Wings prepare to take on another Original Six foe, as they host the New York Rangers on Saturday night.
➤🔥CLICK HERE TO WATCH LIVE NOW🔴►►
➤🔥CLICK HERE TO WATCH LIVE NOW🔴►►
➤🔥CLICK HERE TO WATCH LIVE NOW🔴►►
Watch the Detroit Red Wings on FuboTV (7-day free trial)
New York Giants prepare to face Carolina Panthers in MunichNew York Giants prepare to face Carolina Panthers in Munich
The Red Wings come into the second half of their back-to-back licking their wounds as their offense was limited on Friday night against the Toronto Maple Leafs. Though Cam Talbot gave his team a chance to win, and captain Dylan Larkin found his name on the scoresheet, Detroit only mustered up 22 shots on goal in a 3-1 loss.
With the defeat, the Wings are tied for fifth in the Atlantic Divison with the Buffalo Sabres in points (13), sitting tied for fourth with the Boston Bruins in winning percentage (.500).
The Rangers are looking to bounce back after a disappointing loss on Thursday night, as the team dropped a disappointing 6-1 contest to their in-state rivals, the Buffalo Sabres. It was a rare chink in the armor for what has been a strong start to the 2024-25 season for the reigning President’s Trophy winners. The Blueshirts have won three of their last five games, but sit fourth in the Metropolitan Division in points (17) despite having the third-best winning percentage in the division (.708).
This will be the third and final meeting between the Rangers and Red Wings this season. The Blueshirts took the first two matchups in a home-and-home last month.
Latest Red Wings news:
Well-traveled ex-Red Wings forward on the move again
Red Wings, Ville Husso try to solve nemesis Rangers
Dries’ late goal, big saves late help Griffins beat Rockford for first time this season
Red Wings stymied by Leafs in Hall of Fame game
Red Wings recall Ville Husso, shuffle goaltending plans
NHL HOCKEY
New York Rangers (8-3-1) vs. Detroit Red Wings (6-6-1)
When: Saturday, November 9
Time: 7 p.m. ET
Where: Little Caesars Arena (Detroit, Mich.)
Channel: FanDuel Sports Network Detroit
Stream: FuboTV (Free Trial), DirecTV Stream
Check out the NHL standings and results on NHL.com
Buy Red Wings gear: Fanatics, Amazon, Lids
Buy Red Wings tickets: StubHub, SeatGeek, Ticketmaster
Stream Red Wings games live: FuboTV (Free Trial), DirecTV Stream

csew
.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

xaww


Update endscreen text by YouTube change

Now they render the 'title' in two different ways.
"title"=>{"accessibility"=>{"accessibilityData"=>
{"label"=>"Michaels Stores, channel"}},
"simpleText"=>"Michaels Stores"}

"title"=>{"runs"=>[{"text"=>"Michaels Stores"}],
"accessibility"=>{"accessibilityData"=>
{"label"=>"Michaels Stores, channel"}}}

Coverage decreased (-0.9%) to 99.065% when pulling 1f85d31da32dab78567c07d5b6fccc49abc57275 on kangkyu:endscreen-title into e177c3b7ca901effab3f5343ef4900a11112e846 on Fullscreen:master.

Coverage decreased (-1.4%) to 98.131% when pulling 56cbcd132f0cb9469de4f45d1476c89e5a790e87 on kangkyu:endscreen-title into edd127eb041068a91f622ce9f68b752e08969a80 on Fullscreen:master.

It looks like the videos with new format (with 'simpleText') are changing every time. I couldn't write test for this change.

@kangkyu that's okay, you can merge. remember to bump the version.


HAXM RAM PROTECTION Implementation

Protection of ram access using EPT table.

Set up a new pull request for only EPT part. I would think the other part needs more discussion and possible re-implementation, as well as tests.

@AlexAltea That's right, thanks for the reminder!


Bulleted lists broken by incorrect bullet conversion

In version 1.2.9.
While there is no option to enable or disable converting bullets, there are a number of settings related to indenting of bullets and preventing accidentally jumping multiple levels in the bullets.  With both of these enabled in the settings, a nested bulleted list is being improperly converted.
A starting list like:
- Item 1
- Item 2
    - Item A
    - Item B
- Item 3
    - Item C
    - Item D

Is converted to:

* Item 1
* Item 2
    * Item A
    * Item B
* Item 3
    * Item C
    * Item D

Which is not valid Markdown syntax.
The Markdown syntax allows for *  to be used instead of -  for bulleted lists, but only at the top level.  All nested levels of bullets must only use - .
Additionally, the Obsidian markdown viewer does not seem to support the alternate syntax of *  at even the top level.
The result is that bulleted lists are always made unusable by the Linter.

Im unable to reproduce this, I have all rules enabled. I don't think any rules will convert - to *

Oops, sorry this one was supposed to be filed on a different markdown linter plugin


types(watch): allow to accept readonly arrays

This PR updates watchApi array type to allow pass readonly arrays. When we mark array as const, its length and order of contained types is being preserved, so it allows for better type inference without type checking of each array element. It doesn't break current behaviour and it is allowed to pass non-readonly arrays aswell.
No const casting.
We have to check if element is a object or number, since it is an array of any length with these two types:
const count = ref(0);
const state = reactive({ count: 1 })

watch(
  [() => state, count], // ({ count: number } | number)[]
  ([state, count]) => {
    if (typeof state === 'object') {
      state.count++;
    }
    if (typeof count === 'number') {
      count++;
    }
  }
);

With const casting.
More type information is being preserved and array has constant length (array became a tuple):
const count = ref(0);
const state = reactive({ count: 1 })

watch(
  [() => state, count] as const, // [{ count: number }, number]
  ([state, count]) => {
    state.count++;
    count++;
  }
)

Prettier has been failing for this commit, so please make sure everything is ok :)

This is great. Can you add a test case for this?

Let me know if the spec suits you.


[GOBBLIN-298] Add metric and event reporters that emit using a KafkaP…

…roducer
Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[X] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-298

Description

[ ] Here are some details about my PR, including screenshots (if applicable):

Moved common code for gobblin.metrics.kafka to the gobblin-kafka-common module.
Added a KafkaProducerPusher in both the gobblin-kafka-08 and gobblin-kafka-09 modules that takes in a scoped config to configure a KafkaProducer. Kafka config such as ones required for SSL can be passed to the KafkaProducer.

Tests

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[X] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

@ibuenros, please review.

+1


crash in pop and inconssistent sizes on pipe ends

I have 2 processes.
Issue 1, removing a pop-ed element ?
The provider is pushing 128000 length strings at a rate of 1 fps.
After insert i read the size and grows accordingly.
A consume process, now pops items from the same cache.
AT first it reads the size as it was last time set in the provide, then as pops, the
size() returns left items. Whatever on the pusher side the size()  keep growing.
Is this normal ?
D: cache has 8990 elements  << producer
D: cache has 8999 elements
...
cache has 1 elements  << consumer

If i shut down the consumer and start it again it starts again getting
all the cached elements
Issue 2
The cache has about 7000 elements, then i start the consumer, and
start poping the program crashes at about 40's elements left, as
    void pop(Container & c){
        std::lock_guard<std::mutex> lock(readMutex);
        std::size_t s;
        queue.readSize(s);  <<<< ===== here
        c.resize(s/sizeof(c[0]));
        queue.readContent((char*)&c[0]);
    }

1  __GI_raise                                                            raise.c              50   0x7f8352e9000b
2  __GI_abort                                                            abort.c              79   0x7f8352e6f859
3  ??                                                                                0x7f8353247911
4  ??                                                                                0x7f835325338c
5  std::terminate()                                                                                0x7f83532533f7
6  __cxa_throw                                                                                0x7f83532536a9
7  ict::queue::basic::readSize(unsigned long&) [clone .cold]                                       0x55961ee3018a

Thank you for your feedback.
The problem here is that this queue was designed with assumption that in given point of time there is only one instance of queue bonded to given file cache. Metadata from files (including size of the queue) is loaded at construction of the queue (and then maintained inside). If other instance modify queue then the first one is not aware of it (it has to be destructed and constructed again in order to load current metadata).
However the feature of multiple instances accessing simultaneously to one file cache is quite interesting. I need to think it over. It needs some file locking mechanism and metadata actualization.

As of version v2.0, concurrent access to the directory with the queue data is possible by many independent processes.
Try now please and let me know if it works for you.


Incremental GC: Adjust Total Allocation Statistics

Incremental GC: Adjust Total Allocation Statistics
This is a minor, mostly cosmetic fix for the incremental GC: The total allocation statistics (rts_total_allocation()) was not monotonously growing but temporarily growing and shrinking while a GC run involved multiple increments. The reason was that the evacuation space was incorrectly counted as new allocations.
This PR does not imply any significant performance impact according to the GC benchmark measurements.
Before this PR (example of cancan GC benchmark case):

Fix: The temporary copying space for evacuations is no longer considered in the total allocation metric.
With this PR (example of cancan GC benchmark case):

Thank you very much for the review.


How to set value of Select2 using jquery ajax call

Hi,
I am trying to set the value of my Select2 control on change event of some other control.
The results which needs to be set in Select 2 control is coming like [1,2] and for setting value I have tried below methods but nothing works.

$("#select2ID").select2('val', ["1", "2"]);
$("#select2ID").select2('val', [1, 2]);
$("#select2ID").select2(data,{id:1,text:"abc"},{id:2,text:"bcd"});

Help me in setting the multiple values for Select2 control on the change of any other control.

How this question is related to js-grid? Maybe you asked a question in the wrong project?
Regarding select2 you can maybe look at this answer on SO: http://stackoverflow.com/questions/19639951/how-do-i-change-selected-value-of-select2-dropdown-with-jqgrid


Ignore settings

Since vscode does on support platform specific settings we have to ignore settings json

Not sure why this PR is considered a blocker for 0.24.0?


More flexible image location

Hi,
Thanks for this template. I have been using it in software manuals with pretty good results so far.
But I have notice that figures are located always where they called in the text (similar to the !h LaTeX directive), which some times creates a lot of white space in text near to such figures, instead of a more flexible layout that is usual in default LaTeX templates. ¿Could figures location policy could be setup as a YAML directive?
Cheers,

Thank you for this feature request! I introduced a new variable float-placement-figure for such a use case. Please see the README for the available values.

Thank you for such quick answer. I'm already using the new feature in our latest booklet draft.


[BUG] Node on M1 Macs is a x86_64 executable and runs the x86_64 versions of Chrome/Edge

Context:

Playwright Version: 1.21.0
Operating System: macOS
.NET version: .NET 6
Browser: Chrome, Edge
Extra: M1 processor using the ARM version of the .NET SDK

Code Snippet
There's no real example here. Just run any Playwright UI tests on a MacBook with an M1 processor and target either Chrome or Edge.
Describe the bug
I do the majority of my test development on a MacBook with an M1 processor and I've noticed that the version of node that gets pulled down whenever I build my testing projects is an x86_64 (Intel) executable.

Obviously this means that as my tests execute, any calls that go through node have to go through the Rosetta translation layer.  Normally, this not a problem if I'm targeting Chromium, Webkit or Firefox. When I install those browsers with playwright.ps1, the executables are ARM binaries. So, I start a test run, node starts then the browsers running native ARM code and the tests execute relatively fast.
The problem comes in when I want to target Chrome or Edge. Both Chrome and Edge are universal binaries so they include code for both x86_64 and ARM. If I just start up Chrome or Edge from Launchpad, the ARM version executes. When running tests, though, the x86_64 versions of these browsers run. I'm assuming it's because node is starting the browser process. From what I can tell, when a parent process is x86_64 and it spawns child processes, Rosetta will prefer the parent process's architecture for the child. So in this case, Chrome and Edge are universal. Node (x86_64) starts them and Rosetta chooses to use the x86_64 versions of the browsers instead of ARM.
As a test, I replaced node with the ARM equivalent an re-ran my test suite (without rebuilding the code). When running with x86_64 node, my tests took a little over 8 minutes to run with Chrome. With the ARM native version of node, they tests took a little under 4.5 minutes.

Just noticed this myself. Recently purchased a macbook with m1 and am trying to avoid installing Rosetta. I symlinked the node file to my globally installed arm64 version and everything seems to be working fine.

Looks like this was done in https://github.com/microsoft/playwright-dotnet/pull/2500.


Build macOS conda package

First try on the branch 22-. I have a build issue in conda on macos-latest:

ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd' for architecture x86_64

The issue is documented here ore here without obvious solution.


Custom file for saved data

Hi!
It would be useful to have a possibility to set the path for the res://addons/scene_manager/scenes.gd file.
The file has to be stored in the git, however with fixed path it requires the who addon to be stored.
I've faced with that issue on my own. I'm using gd-plug to manage dependencies, so my whole addons/ folder is added to .gitignore, meaning the file is not tracked.
There are a lot of tools which requieres data storage, so I have a dedicated folder for that.
A quick workaround is to manually modify path in the files plugin.gd and manager.gd

Greetings my fellow developer.
Yes, your idea is possible to implement but how or where to add this feature is already a question mark for me as I'm writing you back.
I see what I can do hopefully in the next week because I'm busy at the time but if you could implement this too, your pull requests will be far more than welcome and appreciated.
Best regards,
Heidari

Greetings again,
Thank you so much, your work for sure will be appreciated by the open source community.
Sorry to respond so late, after some tests to make sure everything is fine, I'll merge your changes and assign a new version for it(v3.5.0) in the next few hours and then this issue will be closed.
With gratitude,
Heidari

Update:
This issue is not done still unfortunately.
@Difint
This is for you to read: https://github.com/maktoobgar/scene_manager/pull/10#issuecomment-1643551378

Just made a PR. I thought it was already there, but as it's not, here is the PR:
https://github.com/maktoobgar/scene_manager/pull/11

Yes, it's not there because I reverted all the changes...
Thanks, all will be done in a matter of minutes.


parameter setting when conbining with datanetAPI

Relying on 'examples/QueuingTheory_bootstrap.ipynb', I replace the 'TM'  using the datanetAPI, and i found that the rho and mu, which is commented as '#param',  are important to the qos prediction results.
When the mu is a larger value, the MAPE of delay and jitter is 0.7, 1.6 respectively.
So, how could I get a more similar QT's qos prediction results to the routenet paper?  Thanks a lot !!!
TM = np.array([T[src, dst]['Flows'][0]['PktsGen'] for src in range(n) for dst in range(n) if src!=dst])

I think you have a problem with units.
In general, we need the rate to be measured in packets per time unit (e.g. pkt/s). The service rate (mu) has to be in the same units.
Typically you have arrivals in the correct units but the service can be specified in different ways. The common approach is that you have line speed measured in bits/time units e.g. (bits/s) with an optional unit prefix (M, G) and packet lengths in bytes B. In such a case you must scale the units. Let the line speed be c and the average packet length be l so mu=c/(8*l) in this case.
Note that mu is always the inverse of an average packet service time.
I hope this helps.

Thanks for your reply, and I have better delay results. But the MAPE of jitter results are  still high.
Here, I have c ,AvgPktSize' and  AvgPktsLambda, which means average bandwidth for this flow (bits/time unit), average packet size (bits)and  average number of packets of average size generated per time unit(packets/time unit). At last, I set the mu = c * AvgPktsLambda / AvgPktSize, the gap of delay and jitter  is nearly 30 points and 200 points off the reference value in ON-OFF datasets.  I tried adjusting parameters such as buffer_upper_boundandfixedpoint model`, but the results couldn't be better.
Hope to hear your advice again. Thanks a lot !!!
c=np.array([G.edges[src, dst]['bandwidth'] for src, dst in G.edges()])
AvgPktSize = np.array([T[src, dst]['Flows'][0].get('SizeDistParams', {}).get('AvgPktSize', 1000) for src, dst in G.edges()])
AvgPktsLambda = np.array([T[src, dst]['Flows'][0]['TimeDistParams'].get('AvgPktsLambda', 1) for src, dst in G.edges()])

Usually jitter has higher error, also in this implementation jitter is the variance so make sure the reference is also variance a not std.
I don't understand this part mu = c * AvgPktsLambda / AvgPktSize. AvgPktsLambda is the rate and the mu should be mu = c  / AvgPktSize
regarding buffer_upper_bound its a mask parameter and it must grater than any buffer in your network (>b+1) so it doesn't affect the results.


Does the AzureWebJobsStorage setting support SAS Tokens?

If the AzureWebJobsStorage setting only supports AccountName, AccountKey it would handy to know that.

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

ID: 18aa54fd-3aa1-37c5-925c-51a0195b1030
Version Independent ID: 60198016-1ea9-e7ae-b00b-2c665d5ad8ca
Content: App settings reference for Azure Functions
Content Source: articles/azure-functions/functions-app-settings.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

Hi @IanMercer Thank you for your feedback! We will review and update as appropriate.

@mathewc / @fabiocav can you please confirm on this.

@IanMercer I have assigned the issue to the content author to evaluate and update as appropriate.

@ianmercer the article specifically says storage account connection string, which cannot be a SAS. A SAS is provided in an HTTP request to a specific resource URL in the storage account, which you can read about here. I can't think of how to make that more clear. If you have a suggestion, please reopen this issue. Thanks!
#please-close

Elsewhere we read "Create a connection string using a shared access signature" so NO, it's not OBVIOUS that "a connection string cannot be a SAS token". Maybe to you it is, but to your average user it is not. Maybe adding something as simple as "You cannot use SAS tokens for the AzureWebJobsStorageSetting" would help clear up any confusion.


Rename the default branch to main

@MathewBiddle do you have admin rights here to make this change for us?
@benjwadams any objections to renaming the development branch to main?

@ocefpaf I do. Just let me know when to make the change.

IMO, we can do it now.

done. If you have this repo locally, you need to take the following actions:
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a


During rendering, the pattern is flipped vertically

Here's the pattern:

Here's the same pattern during recording to mp4 file:

For some reason the pattern is flipped vertically.

Sorry for noise, I checked the code and it's intentional.


Navigator 2 Flaw Missing Browser History Control

This is a dedicated issue to properly highlight the Navigator 2 flaw I identified in https://github.com/flutter/flutter/issues/63429#issuecomment-742979410
Hope to discuss with someone on the Flutter team. @chunhtai
The issues:

There is no way to intercept browser navigation and "prevent" navigation. Browser forward and backward button both call didPushRoute and pass the information to the RouterDelegate's setNewRoutePath. Because of the underlying browser implementation of forward and backward buttons, I understand there is no way to capture if forward or backward is pressed. However, the issue is that Navigator 2 does not offer a way to override forward or backward navigation.
There is no way to customize the browser history or programmatically navigate forward / backwards from Navigator 2.

The combination of the above 2 issues means that there is no way to keep the browser and Navigator 2 state in sync.
Here are some common use cases that are prevented by the issues listed above.

Showing a one-time onboarding flow. The user can always press back to navigate back to the onboarding flow because it cannot be removed from the browser history. Setting the onboarding flow to redirect to the homescreen after completion causes the browser and Navigator to no longer be synchronized. The URL shows 'onboarding' while the user is redirected to the 'home' page.
Showing a login page. Page 1 -> Page 2 -> Login Page -> Successfully completed login, return to Page 2
The login page is now stuck in the back history. After the user logs in successfully, pressing back should not take the user back to the login page. Instead, it should take the user to Page 1.
Save use generated content / in progress work. Say the user is drawing a drawing. Pressing the browser navigation button should not cause them to lose their work. Instead, we can override the handle setNewRoutePath to prevent navigation and prompt the user to save their work whenever a browser navigation event occurs. However, if we do this, the browser is no longer in sync with the app state. While the user is still on the drawing page, the URL can change to the home page or any other page in the history stack.
Conditional flows where flow direction matters. A shopping cart flow would want to prevent backwards navigation to the shopping flow after the user completes checkout. A survey flow would want to prevent forward navigation if the user changes the previous answer and needs to be redirected to another question.

To support the above use cases with Navigator 2, I would need to do the following to override Navigator 2 behavior as follows:

Maintain my own internal representation of the browser history stack.
Whenever parseRouteInformation is called, intercept and use Navigator.navigate() to override the URL to match my internal app state.

Essentially, I would be writing my own Navigator and fighting with Navigator 2 because Navigator 2 cannot support the use cases I need.
Please let me know if a code sample or example would help illustrate the issue.

Flutter Doctor
[√] Flutter (Channel beta, 1.24.0-10.2.pre, on Microsoft Windows [Version 10.0.18363.1256], locale en-US)
    • Flutter version 1.24.0-10.2.pre at D:\Development\flutter-sdk
    • Framework revision 022b333a08 (3 weeks ago), 2020-11-18 11:35:09 -0800
    • Engine revision 07c1eed46b
    • Dart version 2.12.0 (build 2.12.0-29.10.beta)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at D:\Development\android-sdk
• Platform android-30, build-tools 30.0.2
• ANDROID_HOME = D:\Development\android-sdk
• Java binary at: C:\Program Files\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] VS Code (version 1.50.1)
• VS Code at C:\Users\Laptop\AppData\Local\Programs\Microsoft VS Code
• Flutter extension can be installed from:
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[√] Connected device (3 available)
• Web Server (web) • web-server • web-javascript • Flutter Tools
• Chrome (web)     • chrome     • web-javascript • Google Chrome 87.0.4280.88
• Edge (web)       • edge       • web-javascript • Microsoft Edge 87.0.664.47

Hi @searchy2
Thanks for filing the issue
Can you please provide  a complete reproducible minimal code sample
Thank you

Please replicate the behavior with the following test case in my provided minimal reproducible sample.
http://testing.codelessly.com/develop/app/20201216/navigation_prevention/#/
The sample has two pages.
'Home' page.

'Project' page.

Navigate to the Project page by clicking 'Open Project' on the Home page.
Toggle canPop to false by clicking the 'Toggle Can Pop' button. When canPop is set to false, setNewRoute updates are skipped and navigation is prevented. This is the only way I've found to prevent browser navigation.
Navigate back to the Home page with the browser back button.
Now, the URL shows the Home URL but the current page is still the Projects page.

The end result.

This example demonstrates that in order to prevent navigation, Navigator 2's routing is disabled and navigation gets out of sync.
Code:
import 'dart:async';

import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

Future<Null> main() async => runApp(App());

class App extends StatelessWidget {
  MainRouterDelegate mainRouterDelegate = MainRouterDelegate();
  MainRouteInformationParser mainRouteInformationParser =
      MainRouteInformationParser();

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      title: 'Codelessly',
      routerDelegate: mainRouterDelegate,
      routeInformationParser: mainRouteInformationParser,
      debugShowCheckedModeBanner: false,
    );
  }
}

/// The RouteDelegate defines application specific behaviors of how the router
/// learns about changes in the application state and how it responds to them.
/// It listens to the RouteInformation Parser and the app state and builds the Navigator with
/// the current list of pages (immutable object used to set navigator's history stack).
class MainRouterDelegate extends RouterDelegate<MainRoute>
    with ChangeNotifier, PopNavigatorRouterDelegateMixin<MainRoute> {
  //This is the state of the navigator widget (in build method).
  GlobalKey<NavigatorState> get navigatorKey => GlobalKey<NavigatorState>();

  /// Internal backstack and pages representation.
  List<MainRoute> _mainRoutes = [];
  List<MainRoute> get mainRoutes => _mainRoutes;

  bool _canPop = true;
  bool get canPop {
    if (_canPop == false) return false;

    return _mainRoutes.isNotEmpty;
  }

  set canPop(bool canPop) => _canPop = canPop;

  /// CurrentConfiguration detects changes in the route information
  /// It helps complete the browser history and enables browser back and forward buttons.
  MainRoute get currentConfiguration =>
      mainRoutes.isNotEmpty ? mainRoutes.last : null;

  @override
  Widget build(BuildContext context) {
    return Navigator(
        key: navigatorKey,
        pages: [
          if (mainRoutes.isEmpty)
            MainPageBuilder(context, MainRoute.home()).page,
          for (MainRoute path in mainRoutes)
            MainPageBuilder(context, path).page,
        ],
        onPopPage: (route, result) {
          print('Pop Page');
          if (!route.didPop(result)) {
            return false;
          }
          if (canPop) {
            pop();
          }
          return true;
        });
  }

  @override
  Future<void> setNewRoutePath(MainRoute path) async {
    print('Set New Route Path: ${path.name}');
    if (_canPop == false) return SynchronousFuture(null);
    if (path == currentConfiguration) return SynchronousFuture(null);
    _mainRoutes = _setNewRouteHistory(_mainRoutes, path);
    print('Main Routes: $mainRoutes');
    notifyListeners();
    return SynchronousFuture(null);
  }

  @override
  Future<bool> popRoute() {
    print('Pop Route');
    return super.popRoute();
  }

  /// Updates route path history.
  ///
  /// In a browser, forward and backward navigation
  /// is indeterminate and a custom path history stack
  /// implementation is needed.
  /// When a [newRoute] is added, check the existing [routes]
  /// to see if the path already exists. If the path exists,
  /// remove all path entries on top of the path.
  /// Otherwise, add the new path to the path list.
  List<MainRoute> _setNewRouteHistory(
      List<MainRoute> routes, MainRoute newRoute) {
    List<MainRoute> pathsHolder = [];
    pathsHolder.addAll(routes);
    // Check if new path exists in history.
    for (MainRoute path in routes) {
      // If path exists, remove all paths on top.
      if (path == newRoute) {
        int index = routes.indexOf(path);
        int count = routes.length;
        for (var i = index; i < count - 1; i++) {
          pathsHolder.removeLast();
        }
        return pathsHolder;
      }
    }

    // Add new path to history.
    pathsHolder.add(newRoute);

    return pathsHolder;
  }

  void push(MainRoute path) {
    assert(path != null);
    _mainRoutes.add(path);
    notifyListeners();
  }

  void pop() {
    _mainRoutes.removeLast();
    notifyListeners();
  }
}

/// The RouteInformationParser takes the RouteInformation
/// from a RouteInformationProvider and parses it into a user-defined data type.
class MainRouteInformationParser extends RouteInformationParser<MainRoute> {
  @override
  Future<MainRoute> parseRouteInformation(
      RouteInformation routeInformation) async {
    final Uri uri = Uri.parse(routeInformation.location);
    return SynchronousFuture(MainRoute.parse(uri));
  }

  @override
  RouteInformation restoreRouteInformation(MainRoute path) {
    return RouteInformation(location: path.uri.path);
  }
}

class MainRoute {
  final String name;
  final Uri uri;
  final dynamic data;
  final Object state;

  const MainRoute(
      {@required this.name, @required this.uri, this.data, this.state});

  factory MainRoute.home() => MainRoute(name: 'home', uri: Uri.parse('/'));

  factory MainRoute.unknown() =>
      MainRoute(name: 'unknown', uri: Uri.parse('/unknown'));

  factory MainRoute.project() =>
      MainRoute(name: 'project', uri: Uri.parse('/project'));

  factory MainRoute.parse(Uri uri) {
    if (uri.pathSegments.isEmpty) {
      return MainRoute.home();
    }

    if (uri.pathSegments.length == 1) {
      if (uri.pathSegments[0] == 'project') {
        return MainRoute.project();
      }
    }

    return MainRoute.unknown();
  }

  @override
  bool operator ==(Object other) => other is MainRoute && other.uri == uri;

  @override
  int get hashCode => uri.hashCode;
}

class MainPageBuilder {
  final BuildContext context;
  final MainRoute homeRoutePath;

  MainPageBuilder(this.context, this.homeRoutePath);

  dynamic get page {
    switch (homeRoutePath.name) {
      case 'home':
        return MaterialPage(
          key: ValueKey('home'),
          name: homeRoutePath.name,
          child: HomePage(),
        );
      case 'project':
        return MaterialPage(
          key: ValueKey('projects'),
          name: homeRoutePath.name,
          child: ProjectsPage(),
        );
      default:
        return MaterialPage(
          key: ValueKey('unknown'),
          name: homeRoutePath.name,
          child: Scaffold(
            body: Container(
              width: double.infinity,
              height: double.infinity,
              color: Colors.black,
              alignment: Alignment.center,
              child:
                  Text('Unknown Page', style: TextStyle(color: Colors.white)),
            ),
          ),
        );
    }
  }
}

class HomePage extends StatelessWidget {
  const HomePage({
    Key key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        width: double.infinity,
        height: double.infinity,
        color: Colors.amber,
        alignment: Alignment.center,
        child: Column(
          children: [
            Text('Home Page', style: TextStyle(color: Colors.white)),
            ElevatedButton(
                onPressed: () {
                  (Router.of(context).routerDelegate as MainRouterDelegate)
                      .push(MainRoute.project());
                },
                child: Text('Open Projects')),
          ],
        ),
      ),
    );
  }
}

class ProjectsPage extends StatefulWidget {
  @override
  _ProjectsPageState createState() => _ProjectsPageState();
}

class _ProjectsPageState extends State<ProjectsPage> {
  bool canPop;

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    canPop = (Router.of(context).routerDelegate as MainRouterDelegate).canPop;
    return Scaffold(
      body: Container(
        width: double.infinity,
        height: double.infinity,
        color: Colors.pinkAccent,
        alignment: Alignment.center,
        child: Column(
          children: [
            Text('Projects Page', style: TextStyle(color: Colors.white)),
            Text('Can Pop: $canPop', style: TextStyle(color: Colors.white)),
            ElevatedButton(
                onPressed: () {
                  canPop = !canPop;
                  (Router.of(context).routerDelegate as MainRouterDelegate)
                          .canPop =
                      !(Router.of(context).routerDelegate as MainRouterDelegate)
                          .canPop;
                  setState(() {});
                },
                child: Text('Toggle Can Pop')),
            Padding(padding: EdgeInsets.only(bottom: 8)),
            ElevatedButton(
                onPressed: () =>
                    (Router.of(context).routerDelegate as MainRouterDelegate)
                        .pop(),
                child: Text('Back')),
            Padding(padding: EdgeInsets.only(bottom: 8)),
            ElevatedButton(
                onPressed: () =>
                    (Router.of(context).routerDelegate as MainRouterDelegate)
                        .push(MainRoute.home()),
                child: Text('Open Home')),
          ],
        ),
      ),
    );
  }
}

Hi @searchy2
Thank you for the amazingly detailed explanation and code sample.

multiple flutter doctor -v
[✓] Flutter (Channel beta, 1.25.0-8.1.pre, on macOS 11.1 20C69 darwin-x64, locale en-GB)
    • Flutter version 1.25.0-8.1.pre at /Users/tahatesser/Code/flutter_beta
    • Framework revision 8f89f6505b (33 hours ago), 2020-12-15 15:07:52 -0800
    • Engine revision 92ae191c17
    • Dart version 2.12.0 (build 2.12.0-133.2.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.0

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[!] Android Studio
    • Android Studio at /Applications/Android/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Android Studio not found at /Applications/Android/Contents
    • Try updating or re-installing Android Studio.

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

[✓] Connected device (3 available)
    • RMX2001 (mobile)     • EUYTFEUSQSRGDA6D          • android-arm64  • Android 10 (API
      29)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E • ios            • iOS 14.3
    • Chrome (web)         • chrome                    • web-javascript • Google Chrome
      87.0.4280.88

! Doctor found issues in 1 category.

[✓] Flutter (Channel dev, 1.26.0-1.0.pre, on macOS 11.1 20C69 darwin-x64, locale en-GB)
    • Flutter version 1.26.0-1.0.pre at /Users/tahatesser/Code/flutter_dev
    • Framework revision 63062a6443 (4 days ago), 2020-12-13 23:19:13 +0800
    • Engine revision 4797b06652
    • Dart version 2.12.0 (build 2.12.0-141.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.0

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[!] Android Studio
    • Android Studio at /Applications/Android/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Android Studio not found at /Applications/Android/Contents
    • Try updating or re-installing Android Studio.

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

[✓] Connected device (4 available)
    • RMX2001 (mobile)     • EUYTFEUSQSRGDA6D          • android-arm64  • Android 10 (API
      29)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E • ios            • iOS 14.3
    • macOS (desktop)      • macos                     • darwin-x64     • macOS 11.1 20C69
      darwin-x64
    • Chrome (web)         • chrome                    • web-javascript • Google Chrome
      87.0.4280.88

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 1.26.0-2.0.pre.64, on macOS 11.1 20C69 darwin-x64, locale
    en-GB)
    • Flutter version 1.26.0-2.0.pre.64 at /Users/tahatesser/Code/flutter_master
    • Framework revision 9ff4326e1f (2 hours ago), 2020-12-17 06:19:05 +0000
    • Engine revision 6edb402ee4
    • Dart version 2.12.0 (build 2.12.0-157.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.0

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[!] Android Studio
    • Android Studio at /Applications/Android/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Android Studio not found at /Applications/Android/Contents
    • Try updating or re-installing Android Studio.

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

[✓] Connected device (4 available)
    • RMX2001 (mobile)     • EUYTFEUSQSRGDA6D          • android-arm64  • Android 10 (API
      29)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E • ios            • iOS 14.3
    • macOS (desktop)      • macos                     • darwin-x64     • macOS 11.1 20C69
      darwin-x64
    • Chrome (web)         • chrome                    • web-javascript • Google Chrome
      87.0.4280.88

! Doctor found issues in 1 category.

There is no way to intercept browser navigation and "prevent" navigation. Browser forward and backward button both call didPushRoute and pass the information to the RouterDelegate's setNewRoutePath. Because of the underlying browser implementation of forward and backward buttons, I understand there is no way to capture if forward or backward is pressed. However, the issue is that Navigator 2 does not offer a way to override forward or backward navigation.

There are two things:

intercept browser navigation and capture if forward or backward is pressed
I don't think you can tell whether it is a forward or backward in html web as well? This is a native limitation.

"prevent" navigation
The only way I know is to use replace or push to change the browser history, and block the forward and have an illusion they go to a different page. I think this can be done once we have web plugin.

There is no way to customize the browser history or programmatically navigate forward / backwards from Navigator 2.

We should support this somehow, ideally through a first party or third party plugin cc @mdebbar , do we have any plan on this?

Showing a one-time onboarding flow. The user can always press back to navigate back to the onboarding flow because it cannot be removed from the browser history. Setting the onboarding flow to redirect to the homescreen after completion causes the browser and Navigator to no longer be synchronized. The URL shows 'onboarding' while the user is redirected to the 'home' page.

You can use Router.neglect to make router to NOT create a history entry

Showing a login page. Page 1 -> Page 2 -> Login Page -> Successfully completed login, return to Page 2
The login page is now stuck in the back history. After the user logs in successfully, pressing back should not take the user back to the login page. Instead, it should take the user to Page 1.

Same as above, when your app is going to login page make sure to wrap the it with Router.neglect
Router.neglect(context,(){
  // update state to go to login.
})

Save use generated content / in progress work. Say the user is drawing a drawing. Pressing the browser navigation button should not cause them to lose their work. Instead, we can override the handle setNewRoutePath to prevent navigation and prompt the user to save their work whenever a browser navigation event occurs. However, if we do this, the browser is no longer in sync with the app state. While the user is still on the drawing page, the URL can change to the home page or any other page in the history stack.

This may need web plugin.

Conditional flows where flow direction matters. A shopping cart flow would want to prevent backwards navigation to the shopping flow after the user completes checkout. A survey flow would want to prevent forward navigation if the user changes the previous answer and needs to be redirected to another question.

same as above

Thank you for taking the time to answer and address each scenario.

/cc @mdebbar @goderbauer

There is no way to customize the browser history or programmatically navigate forward / backwards from Navigator 2.

We should support this somehow, ideally through a first party or third party plugin cc @mdebbar , do we have any plan on this?

You can control the browser history calling web APIs using the dart:html library. But before you do this, you should disable Flutter's own history manipulation, so you don't end up in a corrupt state.
To stop Flutter from doing any browser history manipulation, use the flutter_web_plugins as follows:
import 'package:flutter_web_plugins/flutter_web_plugins.dart';

void main() {
  // Call this before `runApp`.
  setUrlStrategy(null);
  runApp(...);
}

If your app supports other platforms, you can't directly import flutter_web_plugins. You have to use conditional imports. I created an example here showing how to do it: https://github.com/mdebbar/gallery/commit/48bbd93ba7863a68100e827ebf4687c952fe2d5e

There is no way to customize the browser history or programmatically navigate forward / backwards from Navigator 2.

We should support this somehow, ideally through a first party or third party plugin cc @mdebbar , do we have any plan on this?

You can control the browser history calling web APIs using the dart:html library. But before you do this, you should disable Flutter's own history manipulation, so you don't end up in a corrupt state.
To stop Flutter from doing any browser history manipulation, use the flutter_web_plugins as follows:
import 'package:flutter_web_plugins/flutter_web_plugins.dart';

void main() {
  // Call this before `runApp`.
  setUrlStrategy(null);
  runApp(...);
}

If your app supports other platforms, you can't directly import flutter_web_plugins. You have to use conditional imports. I created an example here showing how to do it: https://github.com/mdebbar/gallery/commit/48bbd93ba7863a68100e827ebf4687c952fe2d5e

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


[WIP] fix docker client loading error in CI

#815  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jlewitt1 and the rest of your teammates on  Graphite


LUCENE-10010 Introduce NFARunAutomaton to run NFA directly

Description
https://issues.apache.org/jira/browse/LUCENE-10010
Introduces NFARunAutomaton to run NFA directly
Works to to:

Integrate with current RunAutomaton class hierarchy
Further optimize the NFARunAutomaton implementation

Tests
A unit test that assert the NFARunAutomaton behaves the same as the DFA one by using random generated regex strings
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Lucene maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[x] I have added tests for my changes.

This is super exciting! I'm amazed how little code you needed to get this first version running.

but a runautomaton for this won't run any queries on its own: brute force isn't how these queries actually work. the important part is the intersection (skipping around)...
I suggest, please let's not try to "overshare" and refactor all this stuff alongside DFA stuff until there is a query we can actually benchmark to see if the performance is even viable

I suggest, please let's not try to "overshare" and refactor all this stuff alongside DFA stuff until there is a query we can actually benchmark to see if the performance is even viable

OK yeah +1 to keep it wholly separate (full fork) for now until we learn more how this NFARegexpQuery behaves.

Thanks @dweiss seems this is not the first time we see this error: https://issues.apache.org/jira/browse/LUCENE-9839

Thanks @dweiss seems this is not the first time we see this error: https://issues.apache.org/jira/browse/LUCENE-9839

Looks like this is (scarily!) pre-existing.  I don't think it should block this change, and I cannot see anything here that might cause that scary exception.

But since we are not changing the behavior of AutomatonQuery (it still determinizes up-front by default), I don't think we need to block pushing this (once we iterate on all feedback) on benchmark results?

Can we at least run existing benchmarks to confirm it doesn't introduce regressions? Some of the code is performance sensitive and we are adding  abstractions here. damn java.
I'm still confused about the API, as it adds lots of booleans/enums. Do we really need enums, or can a simple boolean suffice? Does AutomatonQuery really need such boolean, or should it just look at Automaton.isDeterministic to determine what to do? Depending on what performance shows, why even keep around a both determinizeWorkLimit and the booleans/enums? Instead of throwing an exception, why not fall back to NFA if you really want to run some crazy regexp?

I made a quick prototype with what i mean for the API: https://github.com/apache/lucene/pull/485
The idea is that AutomatonQuery shouldn't be determinizing. Let's push this to the caller. If they pass it a DFA, it uses DFA algorithm. If they pass it NFA, it can use the NFA algorithm (it currently throws an exception in my branch, instead of slowly determinizing, that is the change).

Thanks @rmuir, I'll run a benchmark to ensure this PR does not introduce regression recently.
I like the approach you proposed in #485, it would be nice if we can get rid of determinizeWorkLimit in some classes that previously exists everywhere. One reason for carrying an enum and the determinizeWorkLimit together is that we might want to use that determinizeWorkLimit to limit the number of state that NFA can cache as well. But that's a feature not implemented yet and could be done in some other ways.
I think we can try to get that pushed and then I can rebase this one after.

@rmuir I've done the benchmark! (Sorry for the delay): and result looks plain (which is good for this change)
                    Task    QPS base      StdDev    QPS cand      StdDev                Pct diff p-value
            OrNotHighMed      523.45      (3.0%)      518.00      (1.7%)   -1.0% (  -5% -    3%) 0.176
                HighTerm     1385.51      (1.9%)     1374.10      (2.5%)   -0.8% (  -5% -    3%) 0.232
                  Fuzzy2       35.19      (5.9%)       34.91      (5.6%)   -0.8% ( -11% -   11%) 0.666
   HighTermDayOfYearSort      779.01      (2.5%)      772.93      (2.4%)   -0.8% (  -5% -    4%) 0.315
                 Respell       36.33      (1.3%)       36.05      (1.6%)   -0.8% (  -3% -    2%) 0.086
        HighSloppyPhrase        5.08      (6.2%)        5.04      (6.1%)   -0.8% ( -12% -   12%) 0.700
              AndHighLow      349.64      (3.1%)      347.17      (3.5%)   -0.7% (  -7% -    6%) 0.501
       HighTermMonthSort       37.82      (7.0%)       37.55      (6.9%)   -0.7% ( -13% -   14%) 0.751
                 LowTerm     1041.47      (2.5%)     1034.72      (2.1%)   -0.6% (  -5% -    3%) 0.367
            OrNotHighLow      558.55      (2.0%)      555.05      (2.3%)   -0.6% (  -4% -    3%) 0.358
              TermDTSort      149.25      (3.7%)      148.36      (3.3%)   -0.6% (  -7% -    6%) 0.592
         LowSloppyPhrase       46.63      (3.7%)       46.37      (3.9%)   -0.6% (  -7% -    7%) 0.647
           OrHighNotHigh      454.25      (1.6%)      452.05      (1.6%)   -0.5% (  -3% -    2%) 0.341
         MedSloppyPhrase       22.73      (2.4%)       22.63      (3.0%)   -0.4% (  -5% -    5%) 0.627
             AndHighHigh       20.19      (2.4%)       20.11      (2.0%)   -0.4% (  -4% -    4%) 0.564
              AndHighMed       42.22      (2.1%)       42.05      (2.0%)   -0.4% (  -4% -    3%) 0.549
            OrHighNotLow      578.56      (1.7%)      576.35      (2.8%)   -0.4% (  -4% -    4%) 0.599
    HighIntervalsOrdered       11.48      (4.0%)       11.44      (3.9%)   -0.4% (  -7% -    7%) 0.759
    HighTermTitleBDVSort        9.27      (2.8%)        9.23      (2.7%)   -0.4% (  -5% -    5%) 0.664
                 MedTerm      963.30      (2.1%)      959.98      (1.5%)   -0.3% (  -3% -    3%) 0.544
                Wildcard       83.18      (4.2%)       82.91      (4.4%)   -0.3% (  -8% -    8%) 0.811
     LowIntervalsOrdered       11.41      (3.2%)       11.38      (2.8%)   -0.3% (  -6% -    5%) 0.768
     MedIntervalsOrdered       16.77      (2.6%)       16.72      (2.3%)   -0.3% (  -5% -    4%) 0.722
            HighSpanNear        1.06      (1.0%)        1.05      (1.3%)   -0.2% (  -2% -    2%) 0.506
             LowSpanNear        3.06      (1.1%)        3.05      (1.4%)   -0.2% (  -2% -    2%) 0.599
BrowseDayOfYearSSDVFacets        2.88      (2.5%)        2.87      (2.6%)   -0.2% (  -5% -    5%) 0.827
           OrNotHighHigh      466.02      (2.3%)      465.36      (1.9%)   -0.1% (  -4% -    4%) 0.828
    BrowseDateTaxoFacets        0.84      (5.3%)        0.84      (4.4%)   -0.1% (  -9% -   10%) 0.933
                  IntNRQ       28.10      (0.7%)       28.08      (1.2%)   -0.1% (  -1% -    1%) 0.762
BrowseDayOfYearTaxoFacets        0.84      (5.3%)        0.84      (4.4%)   -0.1% (  -9% -   10%) 0.957
   BrowseMonthSSDVFacets        2.99      (3.5%)        2.99      (3.7%)   -0.1% (  -7% -    7%) 0.962
   BrowseMonthTaxoFacets        0.87      (5.6%)        0.87      (4.7%)   -0.0% (  -9% -   10%) 0.979
               OrHighLow      373.02      (3.0%)      372.89      (2.7%)   -0.0% (  -5% -    5%) 0.968
                PKLookup      131.84      (2.4%)      131.83      (2.9%)   -0.0% (  -5% -    5%) 0.992
                 Prefix3       93.52      (3.2%)       93.51      (3.5%)   -0.0% (  -6% -    6%) 0.997
              OrHighHigh       30.69      (2.1%)       30.69      (2.1%)    0.0% (  -4% -    4%) 0.989
             MedSpanNear       23.34      (1.3%)       23.35      (1.2%)    0.0% (  -2% -    2%) 0.958
                  Fuzzy1       44.19      (7.7%)       44.20      (8.2%)    0.0% ( -14% -   17%) 0.991
              HighPhrase       89.39      (2.0%)       89.43      (1.9%)    0.0% (  -3% -    4%) 0.943
               LowPhrase       27.84      (2.0%)       27.88      (2.6%)    0.1% (  -4% -    4%) 0.853
               OrHighMed       31.74      (1.9%)       31.80      (1.8%)    0.2% (  -3% -    3%) 0.763
               MedPhrase       82.20      (1.7%)       82.54      (2.4%)    0.4% (  -3% -    4%) 0.520
            OrHighNotMed      501.51      (1.7%)      505.78      (2.3%)    0.9% (  -3% -    4%) 0.181

ok, see https://github.com/apache/lucene/pull/513 which is another PR like the #485, just for RegExp class. all the trappy minimization is removed, it may return a DFA or NFA: and it is the callers choice to minimize. Combined with #485 I think it gives us the opportunity for a simple API, e.g. this stuff would just happen in one place (e.g. RegExpQuery class) rather than strewn all about.

ok, sorry, I realize the latest two PR-split-outs still don't solve your problem. The API is still ugly because we still minimize() regexps, and that implies determinize()... but maybe isn't obvious.
I don't think we need to minimize() any more, I opened a separate discussion: https://issues.apache.org/jira/browse/LUCENE-10296. I will try to prototype a PR.
Instead, the decisions on this issue should just be about DFA or NFA!

ok one more, but I think it sets us up even better: https://github.com/apache/lucene/pull/528

OK @rmuir some new commits are ready to be reviewed! Please take your time :)

Thank you @rmuir and @mikemccand for reviewing this big PR! I'll merge it myself :)


[WIP] Deathhand

Works on https://github.com/Fundynamic/dune2themaker4j/issues/13

Coverage decreased (-2.08%) to 80.726% when pulling 431fa8624e608962528c46048b2e5f59e86d2e77 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-2.08%) to 80.726% when pulling 431fa8624e608962528c46048b2e5f59e86d2e77 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

@arjenvanderende I am unsure how we wanted to implement this. I am now taking the Projectile implementation, but we had other plans. Lets discuss.

Coverage decreased (-2.4%) to 80.445% when pulling afd1627f0872c485ecfc69b813cb72ea4d527778 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.9%) to 80.942% when pulling 7cf11fd02fde0bd6493c0f8118e53e446621442f on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.8%) to 80.993% when pulling 58eebaa9a68e6b67c475b62f9ebfe47597c8943a on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-2.5%) to 80.275% when pulling 866b43b9d21de18cd8e39b2ce242513403d0c8c8 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.8%) to 81.037% when pulling ce2f43c0c96d49d4530afa4a29da4566cb8f2db6 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.8%) to 81.037% when pulling 3e1fbb550b05a8da1c093487658eb9c2bd7ea6d9 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.8%) to 81.037% when pulling e12480ac2121d04ea8730dd35b3ffd02de2254eb on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.8%) to 81.037% when pulling e12480ac2121d04ea8730dd35b3ffd02de2254eb on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.8%) to 81.037% when pulling d1d9eb4bfcd9cd646682d45b8d1e248524d17478 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.7%) to 81.133% when pulling 269e4083115b92743652a351e387344d2f4a953a on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-2.1%) to 80.661% when pulling 796fc4dcb715cac3f4a13bb2447742cab1a5fe58 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-2.3%) to 80.52% when pulling 545c155ee6cce585ebac7bc31cd32ebd93ea45b0 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-2.2%) to 80.588% when pulling 5efcf51352a412ede2391939a6c95f978884cd3e on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-2.2%) to 80.593% when pulling cdee32c65b9c02ba85ca27ff5d41503d05af24b1 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-4.08%) to 78.723% when pulling 47b8f580ce11452f6928ceec9bf68a6a92f96787 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-4.3%) to 78.55% when pulling 5ce876655f631128f17fada5daaf05b15a5f59a1 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Made video: https://www.youtube.com/watch?v=zwzpRoo5rsI&feature=youtu.be

Coverage decreased (-4.5%) to 78.324% when pulling 10ea20af4ed72d19b536b1595fd64da5cfe7eceb on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-4.5%) to 78.256% when pulling a08b09ee6de388da8534f6a782fc1041f6f78fd2 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-4.6%) to 78.242% when pulling 8b553b57ac7df96603317055bc2ef95c29e35ca5 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-2.5%) to 80.267% when pulling 9fa59a2d2ce954b9be5cbb4e98deb4f35f2e0527 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-2.7%) to 80.151% when pulling e6322ff91c40b4b46f999b64b8b8fef3dd432735 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-2.4%) to 80.384% when pulling 40b23164c895f89aa9dbc6062fbc68c7ea365e8a on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.9%) to 80.929% when pulling dfb13b5b5ae7cbf4911fbe413b2f90be6bd93f95 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.2%) to 81.601% when pulling e268f76cf7fc6593ea851fc43f48c94dabdacbed on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.2%) to 81.601% when pulling db072a6be6bfb627bd8f8a7749068cc586ad1b61 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.2%) to 81.612% when pulling f08817b392a90e9c7bf6501d2dc8d20d7f0f033b on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.

Coverage decreased (-1.3%) to 81.543% when pulling 5661618f6051374d9c4139aa5912308b9246d152 on feature/death-hand into 57a46c44f505f919387f053c87430ca66a8ac761 on master.


[Playground]: Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds for '@beta' text in 'Playground' page.[Sev2][WCAG1.4.3][Auto]

Test Environment:
OS Build: Windows 10
Browser: Edge Dev
URL: https://tsdoc.org/
Repro Steps:

Open the above URL and login with valid credentials.
TSDoc page will get displayed.
Navigate to 'Playground' link and activate it.
Now navigate to 'Choose a sample' combo box and activate it.
Select ' A Basic example' from the listed menu items.
Now run Accessibility Insights for web tool and observe the issue.

Actual:
Ensures the contrast between foreground and background colors meets WCAG 2 AA contrast ratio thresholds for '@beta' text present in 'A Basic example' menu item in 'Playground' page. This element has insufficient contrast ratio of 4.33.
Expected:
Contrast ratio for the text must be greater than or equal to 4.5:1
User Impact:
When a minimum contrast ratio is not provided between text and its background, it is difficult for low-vision users as well as anyone in extreme lighting environments to read the content.
WCAG Reference:
https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum

This PR fixes the issue.


output.tar.gz is not gz

go run ./cmd/apko/ build --help
Build an image from a YAML configuration file

Usage:
  apko build [flags]

Examples:
  apko build <config.yaml> <tag> <output.tar.gz>

Flags:
  -h, --help   help for build

https://github.com/chainguard-dev/apko/blob/89022df02b851ae97752e172fde7492cc5e97586/pkg/build/oci/oci.go#L94-L99
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

Yeah, it's that weird docker thing, I'll fix the help text.


add asterisk to Overview/if-else section

Thanks for your quick fix. Could you also provide the same change to the v8.0.0 docs? We still need changes over both versions until we made the full switch to the ReScript syntax.

Sure! Thanks for you work!

Awesome! Thanks


Better documentation

It would be nice to have an official documentation site that supports things like real-time search.  go_router uses https://docs.page and that might be an elegant solution.

I would be more than happy to take this one.


Question about tSZ tracer in angular power spectrum calculation

I am interested in modeling cross-correlation between tSZ and lensing shear. Does the current code support using pressure profile as tracer? The tSZTracer function in tracer.py does not seem to do that.  Any clarification would be appreciated. Thanks!

Hi Erwin. You can see an example of how to generate power spectra for tSZ using pressure profiles in one of our benchmark scripts:
https://github.com/LSSTDESC/CCL/blob/master/benchmarks/test_sz.py
To interpret what's going on there, the halo model example notebook may be useful:
https://github.com/LSSTDESC/CCLX/blob/master/Halo-model-Pk.ipynb

Thanks!

Thanks!


QUESTION: table and column case?

I may be missing something simple here, it does not look like I can have camel case table names ?
// try letting massive create the table
db.saveDoc("MyTest2", {this: "that"}, function(err, doc) {
    console.log("err", err);
    console.log("doc", doc);
});
// this creates a table call mytest2 in the db if it does not already exist (case is lost)

// then try to query
db.MyTest2.findDoc(function(err, res) {
    console.log("=====> MyTest2");
    console.log(res);
});
// this fails with TypeError: Cannot read property 'findDoc' of undefined

// then try creating the table myself with quotes to preserve case
create table "MyTest2"(
  id serial primary key,
  body jsonb not null,
  search tsvector,
  created_at timestamptz default now()
);

// and then try to save a new doc
db.saveDoc("MyTest2", {this: "that"}, function(err, doc) {
    console.log("err", err);
    console.log("doc", doc);
});
// Error: relation "mytest2" does not exist

I feel like I may be missing something simple.

You're not missing anything: creating a camelcased document table is not currently supported, and the document table functions do not delimit the table/schema names to enforce casing. We should be doing that as a matter of principle, but in the mean time given the headaches associated with cased names in Postgres I'd recommend using the standard snake_case if at all possible.


Explicitly specifying new_resource.version in guard

Now in rhel, too
Fixes #97 although I've been unable to create a good test for a
regression.
Signed-off-by: Nathen Harvey<EMAIL_ADDRESS>

Travis will continue to fail until #98 is merged.


Kestrel support added

Unfortunetly we implemented no CamelCasing in the old REST API . So I had to switch of CamelCasing.
We should discuss if we want to use it later. Currently the WebMaintenance expects no CamelCasing.

As you probably noticed we restructured your proposal a little bit so far. I still want to thank you a lot for your research and contribution, as it has brought a cross-platform efforts forward a lot.
I also understand that your implementation was the least-invasive approach. During internal discussions we scetched a solution for an API that makes it much easier to support WCF and Kestrel with little need for compiler flags. See Moryx.Communication.Endpoints.
We also noticed a little lifecycle problem in your proposal and are currently working to host controller within the modules container instead of bridging containers.

I eventually needed to revert some changes to the initial version of @mmarkwort since KestrelHostBuilder does not allow more than one host per port. While we considered distributing endpoints across ports I restored the proposed multiplexer structure. The main difference, besides common API with WCF, is the controller scoped resolution of dependencies from the module providing the endpoint.
I'll try this out with the Maintenance and then prepare as a 3.2 release.


Couldn't run baseline with ultra/train.py

BUG REPORT
High Level Description
I can't run ultra/train.py,The screenshot of running is as follows, nothing is displayed after running, and no log file is generated
SMARTS version
[e.g. 0.4.12]
Previous associated issues
[Link any associated issues here]
Steps to reproduce the bug
[Description or code snippet to help reproduce the bug]
Resulting and expected behaviour
[e.g. Should print out "Hello world" but crashes with "Error: stack overflow"]
Error logs and screenshots
(.venv) (py37) mcd1619@guest:~/SMARTS-master$ python ultra/ultra/train.py --task 1 --level easy --episodes 10 --eval-episodes 2 --eval-rate 5 --policy ppo
WARNING:tensorflow:From /home/mcd1619/SMARTS-master/.venv/lib/python3.7/site-packages/tensorflow/python/compat/v2_compat.py:96: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version.
Instructions for updating:
non-resource variables are not supported in the long term
2022-04-21 14:45:44,122 INFO services.py:1092 -- View the Ray dashboard at http://<IP_ADDRESS>:8265
/home/mcd1619/SMARTS-master/.venv/lib/python3.7/site-packages/gym/logger.py:34: UserWarning: WARN: Box bound precision lowered by casting to float32
warnings.warn(colorize("%s: %s" % ("WARN", msg % args), "yellow"))
/home/mcd1619/SMARTS-master/smarts/env/hiway_env.py:110: DeprecationWarning: timestep_sec has been deprecated in favor of fixed_timestep_sec.  Please update your code.
category=DeprecationWarning,
timestep_sec has been deprecated in favor of fixed_timestep_sec.  Please update your code.
category=DeprecationWarning

╭────────────────────┬────────────────────┬────────────────────┬────────────────────┬────────────────────┬────────────────────╮
│            Episode │           Sim/Wall │        Total Steps │          Steps/Sec │              Score │     Goal Completed │
├────────────────────┼────────────────────┼────────────────────┼────────────────────┼────────────────────┼────────────────────┤
╰────────────────────┴────────────────────┴────────────────────┴────────────────────┴────────────────────┴────────────────────╯
Traceback (most recent call last):
File "ultra/ultra/train.py", line 339, in
policy_ids=policy_ids,
File "ultra/ultra/train.py", line 213, in train
observations = env.reset()
File "/home/mcd1619/SMARTS-master/ultra/ultra/env/ultra_env.py", line 142, in reset
for agent_id, obs in observations.items()
File "/home/mcd1619/SMARTS-master/ultra/ultra/env/ultra_env.py", line 142, in
for agent_id, obs in observations.items()
File "/home/mcd1619/SMARTS-master/ultra/ultra/adapters/default_observation_vector_adapter.py", line 105, in adapt
goal=ego_goal, paths=ego_waypoints, start=ego_start
File "/home/mcd1619/SMARTS-master/ultra/ultra/utils/common.py", line 314, in get_path_to_goal
best_path_ind = get_closest_point_index(path_start_pts, start_pos)
File "/home/mcd1619/SMARTS-master/ultra/ultra/utils/common.py", line 305, in get_closest_point_index
distance = [euclidean(each, pts) for each in pts_arr]
File "/home/mcd1619/SMARTS-master/ultra/ultra/utils/common.py", line 305, in
distance = [euclidean(each, pts) for each in pts_arr]
File "/home/mcd1619/SMARTS-master/.venv/lib/python3.7/site-packages/scipy/spatial/distance.py", line 620, in euclidean
return minkowski(u, v, p=2, w=w)
File "/home/mcd1619/SMARTS-master/.venv/lib/python3.7/site-packages/scipy/spatial/distance.py", line 512, in minkowski
u_v = u - v
ValueError: operands could not be broadcast together with shapes (2,) (3,)
*** Aborted at<PHONE_NUMBER> (unix time) try "date -d @1650524232" if you are using GNU date ***
PC: @                0x0 (unknown)
*** SIGTERM (@0x3d8000006f4) received by PID 4151 (TID 0x7fbe495fc700) from PID 1780; stack trace: ***
@     0x7fbe48aec390 (unknown)
@     0x7fbe48aeb51d __libc_read
@     0x564a832ce081 _Py_read
@     0x564a832ce4f2 os_read
@     0x564a832ae639 _PyMethodDef_RawFastCallKeywords
@     0x564a8332c3c8 _PyEval_EvalFrameDefault
@     0x564a8327de85 _PyEval_EvalCodeWithName
@     0x564a8329dc71 _PyFunction_FastCallKeywords
@     0x564a832e49c5 call_function
@     0x564a83328601 _PyEval_EvalFrameDefault
@     0x564a8327de85 _PyEval_EvalCodeWithName
@     0x564a8329dc71 _PyFunction_FastCallKeywords
@     0x564a832e49c5 call_function
@     0x564a83328601 _PyEval_EvalFrameDefault
@     0x564a8327de85 _PyEval_EvalCodeWithName
@     0x564a8329dc71 _PyFunction_FastCallKeywords
@     0x564a832e49c5 call_function
@     0x564a8332c702 _PyEval_EvalFrameDefault
@     0x564a8327de85 _PyEval_EvalCodeWithName
@     0x564a8329dc71 _PyFunction_FastCallKeywords
@     0x564a832e49c5 call_function
@     0x564a83328601 _PyEval_EvalFrameDefault
@     0x564a8327ea29 _PyEval_EvalCodeWithName
@     0x564a8329cdc6 _PyFunction_FastCallDict
@     0x564a83329c58 _PyEval_EvalFrameDefault
@     0x564a8327de85 _PyEval_EvalCodeWithName
@     0x564a8329dcd3 _PyFunction_FastCallKeywords
@     0x564a832e49c5 call_function
@     0x564a83328601 _PyEval_EvalFrameDefault
@     0x564a8327ea29 _PyEval_EvalCodeWithName
@     0x564a8329dcd3 _PyFunction_FastCallKeywords
@     0x564a832e49c5 call_function
System information

Operating system & Environment [Please note if using Docker]:
Number of system cores available
Python version [Please note if using Jupyter]
Python packages [e.g. from pip freeze]
SUMO version
Date when bug occurred

Impact [If known]

Hello @CDM1619, sorry for the late reply on this, I will look into the ULTRA benchmark tomorrow to see if it is working properly.
Just from looking at your error, it seems like the vector dimension of a position may have changed between 2D and 3D at some point. I will see if I can correct the issue.


rename .css.scss to .scss and update references

this bash script was handy:
for file in *.css.scss
do
  mv "$file" "`basename $file | cut -d. -f1`.scss"
done

related to: https://www.pivotaltracker.com/story/show/85577518

Looks good. :+1:

After reviewing the other open PR's, only ember-cli contains a couple .scss files, so I'll merge this.  I'll sync with @tonywok about the renaming of .css.scss files to .scss

@ryanwold Should get picked up by your upstream changes when merging
master. Thanks :)
On Wed, Jan 7, 2015 at 1:23 AM, Ryan Wold<EMAIL_ADDRESS>wrote:

Merged #751 https://github.com/Tahi-project/tahi/pull/751.
—
Reply to this email directly or view it on GitHub
https://github.com/Tahi-project/tahi/pull/751#event-215121033.


graph/encoding: provide attribute handling out of the box

This makes node and edge attribute handling much easier for users, in most cases making it possible to just embed an encoding.Attributes in the type. For graphs it's a little more involved, for example for dot, an extra method is needed, but it is still simpler than the current situation.
Please take a look.

PTAL

Codecov Report

Merging #1643 (8b657a8) into master (80ff04b) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Current head 8b657a8 differs from pull request most recent head 7711e2b. Consider uploading reports for the commit 7711e2b to get more accurate results

@@           Coverage Diff           @@
##           master    #1643   +/-   ##
=======================================
  Coverage   73.21%   73.21%
=======================================
  Files         503      504    +1
  Lines       59786    59799   +13
=======================================
+ Hits        43772    43784   +12
- Misses      13535    13536    +1
  Partials     2479     2479

Impacted Files
Coverage Δ

graph/encoding/encoding.go
100.00% <100.00%> (ø)

optimize/listsearch.go
72.22% <0.00%> (-1.86%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 80ff04b...7711e2b. Read the comment docs.


properly set auth token and no_ready_check for heroku redistogo

see https://github.com/hubot-scripts/hubot-redis-brain/issues/3
if using free redistogo on heroku, the auth string needs to be parsed out of the redis environment variable and the client ready check needs to be disabled (apparently?).
[Sat Mar 14 2015 02:21:02 GMT-0700 (PDT)] INFO Discovered redis from REDISTOGO_URL environment variable
[Sat Mar 14 2015 02:21:02 GMT-0700 (PDT)] ERROR Error: Ready check failed: NOAUTH Authentication required.

Ah, had no idea about that as I had been running redis w/o auth.  I'm going to test a little more and then accept this and release a new version to npmjs.org.  Thanks for the pull request.

new version published to npmjs.org. Thanks again for the pull request.


Theano error: An update must have the same type as the original shared variable

Running the command for the mnist dataset
./run.py train --encoder-layers 1000-500-250-250-250-10 --decoder-spec sig --denoising-cost-x 1000,10,0.1,0.1,0.1,0.1,0.1 --labeled-samples 100 --unlabeled-samples 60000 --seed 1 -- mnist_100_full
I get this error:
ERROR:blocks.main_loop:Error occured during training.
Blocks will attempt to run on_error extensions, potentially saving data, before exiting and reraising the error. Note that the usual after_training extensions will not be run. The original error will be re-raised and also stored in the training log. Press CTRL + C to halt Blocks immediately.
Traceback (most recent call last):
File "./run.py", line 649, in
if train(d) is None:
File "./run.py", line 500, in train
main_loop.run()
File "/home/teslah2o/ladder/venv/local/lib/python2.7/site-packages/blocks/main_loop.py", line 188, in run
reraise_as(e)
File "/home/teslah2o/ladder/venv/local/lib/python2.7/site-packages/blocks/utils/init.py", line 225, in reraise_as
six.reraise(type(new_exc), new_exc, orig_exc_traceback)
File "/home/teslah2o/ladder/venv/local/lib/python2.7/site-packages/blocks/main_loop.py", line 164, in run
self.algorithm.initialize()
File "/home/teslah2o/ladder/venv/local/lib/python2.7/site-packages/blocks/algorithms/init.py", line 224, in initialize
self._function = theano.function(self.inputs, [], updates=all_updates)
File "/home/teslah2o/ladder/venv/local/lib/python2.7/site-packages/theano/compile/function.py", line 300, in function
output_keys=output_keys)
File "/home/teslah2o/ladder/venv/local/lib/python2.7/site-packages/theano/compile/pfunc.py", line 488, in pfunc
no_default_updates=no_default_updates)
File "/home/teslah2o/ladder/venv/local/lib/python2.7/site-packages/theano/compile/pfunc.py", line 216, in rebuild_collect_shared
raise TypeError(err_msg, err_sug)
TypeError: ('An update must have the same type as the original shared variable (shared_var=f_5_b, shared_var.type=TensorType(float32, vector), update_val=Elemwise{sub,no_inplace}.0, update_val.type=TensorType(float64, vector))., If the difference is related to the broadcast pattern, you can call the tensor.unbroadcast(var, axis_to_unbroadcast[, ...]) function to remove broadcastable dimensions.\n\nOriginal exception:\n\tTypeError: An update must have the same type as the original shared variable (shared_var=f_5_b, shared_var.type=TensorType(float32, vector), update_val=Elemwise{sub,no_inplace}.0, update_val.type=TensorType(float64, vector))., If the difference is related to the broadcast pattern, you can call the tensor.unbroadcast(var, axis_to_unbroadcast[, ...]) function to remove broadcastable dimensions.', 'If the difference is related to the broadcast pattern, you can call the tensor.unbroadcast(var, axis_to_unbroadcast[, ...]) function to remove broadcastable dimensions.')
Do you know how to fix it?

I am also facing same issue .

No idea how to fix it. Several people has been successfully running the code so it is probably something to do with library configuration. Perhaps Theano versions behave differently, e.g. 0.7.0 vs bleeding edge. Does this help?

I've got the same error, and this solved the problem:
THEANO_FLAGS='floatX=float32' python run.py train ...

Can you update your local master and try out the new version? Also, could you please also update your python environment according to the environment.yml and then test out the experiments that you have encountered issues?

Is it necessary to have the exact versions of the dependencies installed, or are newer versions ok as well?

@kleiba Hi! I would assume that the newer versions of the dependencies, with assumptions that no breaking changes are introduced, should work. However, due to the nature of these compiled code from Theano and other libraries, I would recommend that you can try to use the exact versions.
Could you please also, if possible, share with us your updated environment file if you get it working? Cheers!

@hotloo Hi! I'm not using conda, but the following are the version numbers of the packages in my local installation. I ran the "MNIST 1000 labels -- Full" example from the README as a test and as far as I can tell, the training went through without any issues (however, interestingly, the test error is even lower than the one reported in on of your papers, 0.75).
dependencies:

h5py=2.6.0
matplotlib=1.5.2
nomkl -> not installed
openblas=0.2.8 (!)
numpy=1.11.1
pandas=0.18.1
pytables=<IP_ADDRESS>
python=2.7.6 (!)
scipy=0.18.0
pip=8.1.2
pip:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

@kleiba Ha! Glad to hear that you got it working!
Indeed, we reported, if I remember correctly, that average of 5 runs on different seeds are reported in the paper. I am closing this ticket now since you have reproduced the results!

But isn't it a bit strange that the error rate varies that much?

@kleiba True. Would be it possible to do a 10 seed run from 1 to 10? That should tell us how valid the results.

Sure thing. So, you want me to use 1,2,...,10 as seed values, or 10 random seeds?

Yeah, 1-10 would be nice. :)
On Thu, 8 Sep 2016 at 12:58, Thomas Kleinbauer<EMAIL_ADDRESS>wrote:

Sure thing. So, you want me to use 1,2,...,10 as seed values, or 10 random
seeds?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/CuriousAI/ladder/issues/7#issuecomment-245550760, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABvx8CB1n_1mhdS_hC4jzqB6UXGlOsJlks5qn9xIgaJpZM4GHTZI
.

Ah, shoot -- I was a bit too fast then. I've started 10 jobs with the following seeds:
1336129658,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>, 755118383,<PHONE_NUMBER>,<PHONE_NUMBER>, 902708816,<PHONE_NUMBER>,<PHONE_NUMBER>
I hope that's okay for repeatability, or else I can also do 1,...,10.

I think it should do its job! Thanks for all the time and effort that you
put into this! Cheers!
On Thu, 8 Sep 2016 at 16:58, Thomas Kleinbauer<EMAIL_ADDRESS>wrote:

Ah, shoot -- I was a bit too fast then. I've started 10 jobs with the
following seeds:
1336129658,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>, 755118383,<PHONE_NUMBER>,
1490285678, 902708816,<PHONE_NUMBER>,<PHONE_NUMBER>
I hope that's okay for repeatability, or else I can also do 1,...,10.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/CuriousAI/ladder/issues/7#issuecomment-245605867, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABvx8JI4MtIUe1-0JTrQxQgPtlazbissks5qoBSAgaJpZM4GHTZI
.

No way, thank you for your support!

Okay, so the results are in. As I wrote above, I ran the "MNIST all labels / Full" example from the README file. For the 10 seed runs, I hence used the following command:
run.py train --encoder-layers 1000-500-250-250-250-10 --decoder-spec gauss --denoising-cost-x 1000,1,0.01,0.01,0.01,0.01,0.01 --labeled-samples 60000 --unlabeled-samples 60000 --seed <seed> -- mnist_all_full

where <seed> was one of the ten values posted above. Running run.py evaluate results/xxx on each of the resulting model directories yielded the following test errors:

<seed>
Test error

1336129658
0.640000

2139292564
0.670000

1024194972
0.650000

1015193191
0.700000

755118383
0.610000

1238574728
0.760000

1490285678
0.750000

902708816
0.560000

1963117705
0.690000

1043170902
0.710000

Averaged over all runs, this gives us a test error of 0.684.
From the "Semi-Supervised Learning with Ladder Networks" paper, I would have expected something more close to the 0.57 reported on page 10 in Table 1 in that paper.
(I had previously thought that the numbers I got were better than reported (see comments above), but that was my mistake since I had compared my results to the wrong column in said paper.)
Any idea why my numbers are worse? Out of the 10 runs I did, it seems that only one comes close to your 0.57, all others being substantially worse.
Thanks!

@kleiba Interesting! Thanks for your effort here. Let me double check if we are experiencing some regressions somewhere. I will report back once I have some results.

@kleiba      @hotloo
emm.. I just don't know how to get the test error, I have run mnist 100 labeled-samples ,but
I am not very aware of the meaning of the parameters in the results,such as:

Saving to results/mnist_100_full1/trained_params
e 150, i 75000:V_C_class 0.0954, V_E 1.43, V_C_de 0.00561 0.0635 0.927 0.365 0.164 0.0549 0.0352, T_C_de 0.00544 0.0608 0.926 0.362 0.162 0.0519 0.0316, T_C_class 0.000141, VF_C_class 0.0944, VF_E 1.41, VF_C_de 0.00561 0.0636 0.927 0.365 0.163 0.0531 0.033
valid_final_error_rate_clean 1.41
Took 55.3 minutes
thanks.


feat(@jest/globals): add jest.Mock type helper

Summary
Let’s add Mock type helper to jest namespace. The example of jest.Mock usage in docs is inspired by this test:
https://github.com/facebook/jest/blob/448eed8de9c2226dcc824573a5f859f7c06e6f4c/packages/expect/src/__tests__/spyMatchers.test.ts#L653-L656
Test plan
The Mock type already has extensive test in jest-mock package. So I added just a minimal test to make sure it is exposed in the namespace.

https://github.com/facebook/jest/releases/tag/v29.0.3


MLOops: provide RSS feed

I found the MLOops podcast is available on 小宇宙 and Spotify podcast, It is not convenient for RSS users.
Can we also provide the RSS feed, so that users can import to general podcast apps

Yeah, sure. I think we can maintain a website for the podcast too.

https://anchor.fm/s/d97a63c0/podcast/rss

@gaocegege looks like there's something wrong with the rss feed? It only has one hour long and doesn't look like ended normally

@gaocegege looks like there's something wrong with the rss feed? It only has one hour long and doesn't look like ended normally

Yep. It's 1 hour and it ends up suddenly. I think we can add an ending remark.


[SPARK-42002][CONNECT][PYTHON] Implement DataFrameWriterV2

What changes were proposed in this pull request?
Implement DataFrameWriterV2
Why are the changes needed?
Parity with PySpark
Does this PR introduce any user-facing change?
Yes, implements DataFrameWriterV2
How was this patch tested?
New UTs

@HyukjinKwon @zhengruifeng can you review this, thanks 🙏🏼

@techaddict mind rebasing this so we can get the latest result of the testing? Sorry it slipped through my fingers.

@HyukjinKwon thanks, updated the PR

Merged to master.


Reporting this week issues

Summary: This report provides a brief summary of the issues, open and closed PRs I had authored or worked on during first couple days of Jenkins Hackfest
Links

Latest report

Screenshots

Please add screenshots if relevant.
If they are already linked from the pull request, no need to duplicate

Thanks for your contribution!
@all-contributors please add @vsilverman  for docs


DOI: Add DOI assignment options to collection deposit form and to the collection details form.

Add options in the Release and Visibility section for DOI assignment for the collection.
Design Doc: https://docs.google.com/document/d/16zGrIpRgGkq8d4VDUjEstoB2p8xFEuiAmKJopcT1CaQ/edit#heading=h.r3t7es1ylg4i
Mockups: https://projects.invisionapp.com/share/EQXC9CLKCR2#/screens/453759485_DOI -- in particular mockup I.

@jcoyne would you like this to be two separate pages -- one for the complete version of the form the user sees when creating a new collection, and one for the just the details page they see when they are versioning?

@amyehodge what should existing collections be set to?

@jcoyne Does that include all the migrated collections and any H2-created collections made before this is implemented?
This is a good question. Let me think on this.

@amyehodge yes any existing collections.

Let's go with the default setting be always assign a DOI.