Exposing More Than One Endpoint Or Port In Container

When trying to make rabbitmq:3-management
This is what i did
var rabbitMq = builder.AddRabbitMQContainer("eventbus", port: 9293, password: "secret")
    .WithAnnotation(new ContainerImageAnnotation() {
        Image = "rabbitmq",
        Tag = "3-management"
    })
    .WithAnnotation(new EndpointAnnotation(ProtocolType.Tcp, port: 15672, containerPort: 15672, name: "Management"));

But in
builder.Build().Run();

It throws Squence Contains... Expection
So what if aspire contains exposing more than one port in aspire for container and thanks!
This is image of full excpetion

Upgrade your aspire packages and workload to preview 4.


Provide fallback SourceLoc for swiftinterface build errors

When a swiftinterface fails to build for any of various reasons, we try to diagnose the failure at the site of the import declaration. But if the import is implicitly added—which happens for many SDK modules, like the standard library and ClangImporter overlays—there is no source location for the import, so the error ends up being diagnosed at <unknown>:0. This causes a number of issues; most notably, Xcode doesn’t display the diagnostic as prominently as others.
This change falls back to diagnosing the error at line 1, column 1 of the swiftinterface file itself. This is perhaps not an ideal location, and it won’t help with I/O errors where we can’t open the swiftinterface file (and therefore can’t diagnose an error in it), but it should improve the way we display most module interface building errors.

@swift-ci please test

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - a27fdad4e5b89f87dfddfe924bdebf4d0c83df1d

Build failed
Swift Test Linux Platform
Git Sha - a27fdad4e5b89f87dfddfe924bdebf4d0c83df1d

@swift-ci please test


batsignal: 1.5.1 -> 1.6.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/batsignal/versions.
meta.description for batsignal is: "Lightweight battery daemon written in C"
meta.homepage for batsignal is: "https://github.com/electrickite/batsignal"
meta.changelog for batsignal is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.6.0 with grep in /nix/store/b6iqr0pckczjfyhj8cf0h21g5x6zisd1-batsignal-1.6.0
found 1.6.0 in filename of file in /nix/store/b6iqr0pckczjfyhj8cf0h21g5x6zisd1-batsignal-1.6.0

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
batsignal

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

batsignal

Maintainer pings
cc @SlothOfAnarchy for testing.

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

1 package built:

batsignal


Generate RS RESTful API reference documentation

Description
Generate RS (Bank simulation) RESTful API reference documentation.
Tasks

[x] RS OpenApi implementation (swagger) to generate the RESTful API documentation.
[x] Filter to publish only /open-banking/ context endpoints

Docket(..).paths(PathSelectors.regex("/open-banking/.*"))

[x] RS OpenApi/swagger descriptor endpoint /api-docs

Acceptance Criteria

[x] RS generate the proper API documentation OpenApi/Swagger descriptor
[x] RS publish the endpoint /api-docs to consume the OpenApi descriptor

Hey team! Please add your planning poker estimate with ZenHub @andra-racovita @mariantiris

Reopened:
Reason: Currently swagger displays some apis that are in the same taxonomy in different tags.
Task: Fix APIs tag operations to display properly by group the APIs operations.


Update files for future Bazel changes

Progress towards #644
This diff is large, because I reformatted all files with Buildifier. This will allow you to use Buildifier automated fixes in the future.

Do you know if there are plans on running buildifier on buildkite as part of the default CI templates?

We should look into that.


add release script

Fixes

closes #101

Proposed Changes

adds a release script for the validation cohort data

Checklist

[x] Related Issue created

Looks good. Do we want to date or version the MT and expected output somehow so it can be updated later if needed?

@cassimons  I've added dates into the paths for those two objects


liberfa: init at 1.7.0

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

There's still a syntax error in the maintainers list - see https://gist.github.com/GrahamcOfBorg/3bc52c87ed258789eb1d181c42a1d7e2 - an updated link will be in the "Details" button of the PR.

your PR should have eventually two commits:
maintainers: add <me>
<package-name>: init at <version>

The diff looks good (though it may be a good idea to keep the fullName in the license spec). Please squash your commits into two:
maintains: add mir06
liberfa: init at 1.7.0

In case you're not familiar with the workflow, see Situation 3 in https://about.gitlab.com/blog/2018/06/07/keeping-git-commit-history-clean/.

@timokau I removed the fullName as there is nothing like that in the license text. It starts reading:
Copyright (C) 2013-2014, NumFOCUS Foundation.
All rights reserved.

This library is derived, with permission, from the International
Astronomical Union's "Standards of Fundamental Astronomy" library,
available from http://www.iausofa.org.


Create a Command to add a new field (Application Status)

Objective
Create a new command to add the application status as a field in the contact list. The field name will be 'Status'.
Context
From the recruiter's and HR professionals' point of view, there is a need to view the candidates' application status so they can track what to do with the candidate. Hence, it is important to have it as a field in the contact list.

LGTM


WIP: Spelling and projects fixes

@cafreeman I'm sorry mate, I rebased and cleaned up my branch.  Could you rebase this?


Fix typo in documentation.

Thanks for the PR! Sorry CI is broken right now, I will get it fixed soon.


Allow use of templates of previous versions

Currently Console allows usage of templates of the latest versions only.
User might want to use prev versions too so need to allow this option.

How to test:

In Environments section find a template that has several versions
Build environment using each version of the template
Result: environment must be successfully build and result of subutai list i -p should show parent templates of different versions

Followed the steps described above^^
Successfully built environment using debian-stretch  0.4.5, 0.4.6 from console side
From bazaar side, there no templates with different versions.

@kurmanbekova6 this is console side only for now

Fixed in master


ci: increase sleep time for very flaky hook test

Signed-off-by: toyamagu-2021<EMAIL_ADDRESS>

Partial fix for #10807
Motivation

Address to https://github.com/argoproj/argo-workflows/issues/10807#issuecomment-1728685887
Increase sleep time to give enough time to trigger the running hook
Add Progress assertion to understood problem

Simply forgotten, thanks!

Oh boy, the failures in this CI run are confusing me even more as the output is even more different than I expected 😖

Irritating, but very interesting :)
Close this PR and I'll investigate further.


Spark tf distributor

@sarthfrey can you add a summary/description to the PR? It'd make it easier to review what the changes are. Maybe also link the API design doc?


Getting this error while i try to run AUTOMATIC1111

Moving init.py from /content/gdrive/MyDrive/sd/stable-diffusion-webui/gfpgan to /content/gdrive/MyDrive/sd/stable-diffusion-webui/models/GFPGAN.
Moving train.py from /content/gdrive/MyDrive/sd/stable-diffusion-webui/gfpgan to /content/gdrive/MyDrive/sd/stable-diffusion-webui/models/GFPGAN.
Moving utils.py from /content/gdrive/MyDrive/sd/stable-diffusion-webui/gfpgan to /content/gdrive/MyDrive/sd/stable-diffusion-webui/models/GFPGAN.
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
making attention of type 'vanilla' with 512 in_channels
Working with z of shape (1, 4, 32, 32) = 4096 dimensions.
making attention of type 'vanilla' with 512 in_channels
Downloading: "https://github.com/DagnyT/hardnet/raw/master/pretrained/train_liberty_with_aug/checkpoint_liberty_with_aug.pth" to /root/.cache/torch/hub/checkpoints/checkpoint_liberty_with_aug.pth
100% 5.10M/5.10M [00:00<00:00, 141MB/s]
Error verifying pickled file from /root/.cache/torch/hub/checkpoints/checkpoint_liberty_with_aug.pth:
Traceback (most recent call last):
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/safe.py", line 61, in check_pt
with zipfile.ZipFile(filename) as z:
File "/usr/lib/python3.7/zipfile.py", line 1258, in init
self._RealGetContents()
File "/usr/lib/python3.7/zipfile.py", line 1325, in _RealGetContents
raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/safe.py", line 80, in load
check_pt(filename)
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/safe.py", line 72, in check_pt
unpickler.load()
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/safe.py", line 54, in find_class
raise pickle.UnpicklingError(f"global '{module}/{name}' is forbidden")
_pickle.UnpicklingError: global 'torch._utils/_rebuild_tensor' is forbidden
The file may be malicious, so the program is not going to read it.
You can skip this check with --disable-safe-unpickle commandline argument.
Traceback (most recent call last):
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 82, in
shared.sd_model = modules.sd_models.load_model()
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/sd_models.py", line 177, in load_model
sd_model = instantiate_from_config(sd_config.model)
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/ldm/util.py", line 85, in instantiate_from_config
return get_obj_from_str(config["target"])(**config.get("params", dict()))
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/ldm/models/diffusion/ddpm.py", line 461, in init
self.instantiate_cond_stage(cond_stage_config)
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/ldm/models/diffusion/ddpm.py", line 519, in instantiate_cond_stage
model = instantiate_from_config(config)
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/ldm/util.py", line 85, in instantiate_from_config
return get_obj_from_str(config["target"])(**config.get("params", dict()))
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/ldm/util.py", line 93, in get_obj_from_str
return getattr(importlib.import_module(module, package=None), cls)
File "/usr/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 677, in _load_unlocked
File "", line 728, in exec_module
File "", line 219, in _call_with_frames_removed
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/ldm/modules/encoders/modules.py", line 7, in
import kornia
File "/usr/local/lib/python3.7/dist-packages/kornia/init.py", line 10, in
from . import (
File "/usr/local/lib/python3.7/dist-packages/kornia/augmentation/init.py", line 43, in
from .container import AugmentationSequential, ImageSequential, PatchSequential, VideoSequential
File "/usr/local/lib/python3.7/dist-packages/kornia/augmentation/container/init.py", line 1, in
from .augment import AugmentationSequential
File "/usr/local/lib/python3.7/dist-packages/kornia/augmentation/container/augment.py", line 17, in
from .patch import PatchSequential
File "/usr/local/lib/python3.7/dist-packages/kornia/augmentation/container/patch.py", line 9, in
from kornia.contrib.extract_patches import extract_tensor_patches
File "/usr/local/lib/python3.7/dist-packages/kornia/contrib/init.py", line 4, in
from .image_stitching import ImageStitcher
File "/usr/local/lib/python3.7/dist-packages/kornia/contrib/image_stitching.py", line 7, in
from kornia.feature import LocalFeatureMatcher, LoFTR
File "/usr/local/lib/python3.7/dist-packages/kornia/feature/init.py", line 4, in
from .integrated import (
File "/usr/local/lib/python3.7/dist-packages/kornia/feature/integrated.py", line 52, in
class LAFDescriptor(nn.Module):
File "/usr/local/lib/python3.7/dist-packages/kornia/feature/integrated.py", line 65, in LAFDescriptor
patch_descriptor_module: nn.Module = HardNet(True),
File "/usr/local/lib/python3.7/dist-packages/kornia/feature/hardnet.py", line 69, in init
self.load_state_dict(pretrained_dict['state_dict'], strict=True)
TypeError: 'NoneType' object is not subscriptable

you're using an outdated Colab, remove the folder "sd" from your gdrive and do a clean run using the latest colab from the repo

Sorry for the basic question, but I'm brand new to this and had some of the same of the same errors. So, I'm guessing I'm also using an outdated Colab. Where do find the latest colab? Or what/where is 'the repo'?
Again, apologies for what is likely an obvious question, but I've never used any of this before this past week. Thanks in advance.

You don't need to apologies, we're all here to learn and there is a first time for everything. In this page ; https://github.com/TheLastBen/fast-stable-diffusion scroll a bit down, you'll see a thumbnail titled AUTOMATIC1111, click on it, it will always redirect you to the latest Colab notebook.

Thank you. Got it working. Very helpful.


[BUG]: UI is broken for Operator documentation page in the instructions

Bug Description

Logs
https://dell.github.io/csm-docs/docs/deployment/csmoperator/#openshift-installation-via-operator-hub
Screenshots
No response
Additional Environment Information
No response
Steps to Reproduce
https://dell.github.io/csm-docs/docs/deployment/csmoperator/#openshift-installation-via-operator-hub
Expected Behavior
UI should be rendered properly
CSM Driver(s)
NA
Installation Type
No response
Container Storage Modules Enabled
No response
Container Orchestrator
NA
Operating System
NA

This section needs to removed from the operator

Removed the section from the csm-docs for csm 1.13.0 release.


Fix potential undefined behavior

Scope & Purpose
Backport of https://github.com/arangodb/arangodb/pull/13519
Fix potential undefined behavior when iterating over connected nodes in an execution plan and calling callbacks for each of the nodes: if the callbacks modified the list of connected nodes of the current that they were called from, this could lead to potentially undefined behavior due to iterator invalidation. The issue occurred when using a debug STL via _GLIBCXX_DEBUG.

[x] :hankey: Bugfix (requires CHANGELOG entry)
[ ] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification
[x] :book: CHANGELOG entry made

Backports:

[x] Backports required for: 3.6: https://github.com/arangodb/arangodb/pull/13522

Testing & Verification

[x] The behavior in this PR was manually tested
[x] This change is already covered by existing tests, such as shell_server_aql.
[x] I ensured this code runs with ASan / TSan or other static verification tools (_GLIBCXX_DEBUG)

Link to Jenkins PR run:
http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13913/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13921/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13926/

Tests blue.


Bug: Volume's changing all the time with QC35II connected

Disclaimer:
Please go through existing issues to avoid creating duplicates. If you found a similar issue please post a comment there. If you are uncertain your issue is related to others then create the issue. Obvious ignorance of this rule might get you blocked from posting new issues. Please tick the box below to show that you have followed the guideline.

[x] I have checked for a similar issue and sure it hasn't been reported before.

Describe the bug
When QC35II are connected, the volume always changes to random percentages and it doesn't let me change it. I then can only make it really loud or really quiet. It's really annoying. Like, the percentages jiggle and then go to the percentage goes to the volume as it was before. I tried EVERYTHING. I've done everything's standing on the website and even reset my Mac. Nothing worked and I'm SO annoyed by this.
Steps to Reproduce
I don't know. I just connected my QC35II and the bug was present.
Expected behaviour
I just want my volume to function.
Setup information:

Audio device used for playback: QC35II
Audio transmission interface: Bluetooth
macOS Version: 12.0.1
eqMac Version: 1.3.1
eqMac UI Version: 3.0.6

Screenshots or Console.app logs
If applicable, add screenshots to help explain your problem. Also you can run Console.app and apply filter for eqMac
Additional information
PLEASE FIX ASAP

Same here, the volume stuck in 28% and 69%, even if I try to increase it, if it stays between 28% and 44% it goes back to 28% and if I put it between 69% and 81% it goes back to 69%

Same

Hmm I have QC35II and I don't experience this problem myself.
I will try to replicate this and fix in the next update.
Sorry for the inconvenience 😞

This was happening very often yesterday, I couldn't use the keyboard volume shortcuts, because I needed to put in specific percentages, as described in my last comment, to not turn the volume back, but today it stopped happening, so I don't know if this could be an app issue, or any bugs with the Apple API

https://youtu.be/r95bUJ1B83Q
i recorded a vídeo to show the bug, i'm sing a Mi TW Earphones Lite

Same here

I can also verify this bug.

Should be fixed by 9d0cfd25a429f7087e7dbb6e516b54f15ccf50c4
Will be releasing a minor update v1.3.2 with just this fix shortly.
Sorry for the inconvenience everyone, Apple has changed something about their SDK's in Monterey which caused Volume Change events fired 10 times instead of 1 specifically for Bluetooth devices 😕

Hey again, could you please download the pre-release eqMac.pkg v1.3.2 from here: https://github.com/bitgapp/eqMac/releases/tag/v1.3.2
Alternatively you can enable Beta Program in eqMac settings and press "Check for Updates".
And let me know if that fixed the issue for you.
Thank you!

Ok I guess it's mostly fixed, still plenty of work to do with volume handling though, somehow it's the most complex part of the app due to having to override a lot of OS events which macOS doesn't like. Build v1.3.2 is now public and I will be closing this issue, thank you everyone for contributing your time to this!


[gpgme] update to 1.22.0

[X] Changes comply with the maintainer guide
[X] SHA512s are updated for each updated download
[ ] ~The "supports" clause reflects platforms that may be fixed by this new version~
[ ] ~Any fixed CI baseline entries are removed from that file.~
[ ] ~Any patches that are no longer applied are deleted from the port's directory.~
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

Please let me cherry-pick this into #34135, for additional changes. I'm testing these ports with mingw on Windows, and I expect additional changes.

Please let me cherry-pick this into #34135, for additional changes. I'm testing these ports with mingw on Windows, and I expect additional changes.

fine.

Already picked to my local branch. It really needs more fixes.

Already picked to my local branch. It really needs more fixes.

Sorry, to clarify, are you saying "these changes introduce broken and thus they need more work" or are you saying "my changes that fix more things aren't done yet"? I don't think we should block updates even if they have 'like-in-kind' problems....

#34135 is complete, with testing linux and windows hosts, updating the gnupg family of ports together, not isolated.
In particular, I checked that gpgme stops picking system linux libs when it should use vcpkg libs.
This means checking config logs, not just green check marks in CI.

@jiayuehua I'm closing this in favor of https://github.com/microsoft/vcpkg/pull/34135 which includes those changes.
Thanks!


The topic /joint_states is empty. I cannot get the dual robot arms position through get_current_state().

Hi, thanks for your tutorials. I can bring up my two ur5 robot arms simultaneously.
And, I created my dual_ur5_moveit_config (ros1 melodic), connecting the config package to the real robots successfully.
But, I cannot get the positions of the bob arm and alice arm. The error is Failed to fetch current robot state.
The reason is that the bringup method of the Tutorials published /bob/joint_states and /alice/joint_states topics respectively.
But moveit_commander.move_group.MoveGroupCommander.get_current_state() is to get the position from topic /joint_states.
I input rostopic echo /joint_states, the output is empty.
Then I remap the topic rosrun topic_tools relay alice/joint_states joint_states. But this way only allows me to get the alice arm position correctly.
Why the topic of /joint_states is empty?
Or, How can I get the correct positions of the two arms simultaneously without remap?

Hi  @guningquan,
sorry for the late reply, to solve your problem you can simply use 2 relays:

rosrun topic_tools relay alice/joint_states joint_states
rosrun topic_tools relay bob/joint_states joint_states

In this way you should have the joint states of both robots on /joint_states.

Hey @guningquan , I will close the issue since some time has passed. Feel free to reopen if still relevant.


Why MOPO is given access to terminal function in rollout generation?

Hi, thanks for sharing your great work. However, I am confused about the rollout generation process.
As I see in the code, the agent can access to a pre-defined terminal function to cut down the unrealistic state. Is this assumption generally holds up for broad cases of offline RL? To my understanding, in the offline setting, the agent should only access to a fix dataset without anything else. It feels like a little cheating for me, especially when, in the paper, the authors argue that one of the difference between MOPO and MOReL is that the soft penalty, rather than a hard terminal, of MOPO allow the agent to take risky actions.
Besides, if MOPO really needs the terminal function, why not learn one by neural net? I have already seen many model-based works on Atari games that uses a learned terminal function.

Actually, given the terminal function is reasonable in practice to perform model-based RL. Also, we can even get access to a given reward function when doing model-based learning. The reward and terminal function is essentially defined by human experts. On the contrary, the transition dynamics is governed by nature. Thus, reverse engineering reward and terminal function from data is not necessary in practice.
What worries me the most is that the numbers reported in the paper after it is accepted (the latest version) is different from what is reported in the first arxiv version when this paper is under review.

Actually, given the terminal function is reasonable in practice to perform model-based RL. Also, we can even get access to a given reward function when doing model-based learning. The reward and terminal function is essentially defined by human experts. On the contrary, the transition dynamics is governed by nature. Thus, reverse engineering reward and terminal function from data is not necessary in practice.
What worries me the most is that the numbers reported in the paper after it is accepted (the latest version) is different from what is reported in the first arxiv version when this paper is under review.

I agree with your point. In real-world scenarios, the reward function and the terminal function are available in the most cases (MDP settings and some POMDP settings). I guess future works can take this into account.
About the result, I guess they just redo the experiments in a more standardized way. However, it indeed needs a bit of luck to get a good result even with the correct hyper-parameters.

I agree with your point. In real-world scenarios, the reward function and the terminal function are available in the most cases (MDP settings and some POMDP settings). I guess future works can take this into account.
About the result, I guess they just redo the experiments in a more standardized way. However, it indeed needs a bit of luck to get a good result even with the correct hyper-parameters.


Add FocusEvent type

I noticed that the FocusEvent (used for focus, blur, focusin, and focusout) was missing. I've added it here.
Let me know if I've done something wrong here, this is my first PR for Flow. Thanks.

Thanks! Looks like this PR changed some line numbers in the expected output for tests, but I'll update the expectations internally before we sync the commit back out.


Don't use binderbot!

This PR tests the new switch to disable executing via binderbot.
I don't think this should be merged, rather I think the default in the template should use binderbot, as in #90. But we want to test this option (and document its use).

Both this and #90 are working now.
But if we're going to have a switch to toggle Binder execution on and off, it should be simpler (i.e. fewer edits needed in the repo).
Maybe a better approach is to get rid of the book-build-environment.yml file and associated defaults in https://github.com/ProjectPythiaCookbooks/cookbook-actions/pull/19 in favor of a single environment.yml. We can "hard code" the minimal book build environment in the workflow files for the case where we're executing via binder.


fix: convert path alias into relative path on CI/CD

Using babel convert the "@/*" alias into the relative path.
Modify the configurations of semantic-release for publishing the converted sources.

@Nekotoxin

@leo220yuyaodog

The pr works well in my localhost.


[1.6.0] - 2020-06-29

Features

Address: convert to enum size prop, deprecate boolean (#269) (952bb71), closes #265
button: size enum on Button, add deprecationWarning util (#229) (3b3f4e7), closes #187
card: add card component (89cf241)
example app: add modals page example 204 (#250) (1054469)
Footer,FooterNav: use size prop, deprecate boolean sizes (#239) (c5abdc4), closes #233
Logo: use size prop, deprecate boolean types (#268) (ea88c50), closes #264
NavList: use type prop, deprecate boolean types (#262) (7c83154), closes #234
rangeinput: creates form RangeInput component, test, and stories (#194) (8e0179f), closes #81
Search: add size enum prop, deprecate big,small boolean props (#270) (c5daf8d), closes #266
TextInput: use enum props, deprecate booleans (#284) (6565be6), closes #283
add dateInput component for forms (#144) (bc5eccc)
add Footer component #142 (#146) (94c3ed8)
add header component #83 (#102) (4281b11)

Bug Fixes

card: add card components to export  (d57eefc)
accept id and name props for Search component input field (#183) (c39c085), closes #162
expand required node version range to 10.x - 12.x (#215) (0be79d3)
export Search component (2508829)
extends header menu to accept list props for corresponding id (#188) (85a1780), closes #165
removes the usa-search class name from the form component (#184) (8cb5121), closes #163
update gov banner to uswds version 2.7.0 (c5bd62c)

Documentation & Examples

example-app: Example app UI #202 (#237) (832decc)
add documentation for Trussels (#190) (14b188b)
add landing page and documentation page template stories (#195) (216f68e)
Add new pull request template #73  (#226) (f030ba6)
adding new components docs #73 (#248) (981956f)
example-app: add create-react-app example app (#206) (cf28086)
update development & release flow docs (86e26e5)

Warnings

:warning:

Changes were made to yarn.lock, but no plain text yarn audit output was found in PR description. - Can you run yarn audit in your branch and paste the results inside a markdown code block?

  Generated by :no_entry_sign: dangerJS against f95cc2863675e3fa76db132087a90878325f09f8


Fix redfish/manager/id to return data, when no nodes are discovered

Fix for RAC-72. Now return data, even when no nodes are discovered instead of throwing an error.
@RackHD/corecommitters @RackHD/veyron

BUILD on-http #3271 : ABORTED

** BUILD build-config-setup  #1717: SUCCESS
** BUILD unit-tests  #11736: SUCCESS
** BUILD Install-CentOs-6.5  #402: SUCCESS
** BUILD SmokeTest-CIT  #611: SUCCESS
** BUILD Install-Ubuntu-14-04  #380: SUCCESS
** BUILD Install-ESXI-6.0  #33: ABORTED
** BUILD SmokeTest-FIT  #417: SUCCESS

test this please

BUILD on-http #3276 : ABORTED

** BUILD build-config-setup  #1730: SUCCESS
** BUILD unit-tests  #11745: SUCCESS
** BUILD Install-Ubuntu-14-04  #396: SUCCESS
** BUILD Install-CentOs-6.5  #418: SUCCESS
** BUILD Install-ESXI-6.0  #46: ABORTED
** BUILD SmokeTest-CIT  #627: SUCCESS
** BUILD SmokeTest-FIT  #433: SUCCESS

test this please


Move the filter from local storage to Firestore

Codecov Report

Merging #97 (1f56d92) into master (ba0dbd2) will decrease coverage by 0.14%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #97      +/-   ##
==========================================
- Coverage   70.41%   70.26%   -0.15%
==========================================
  Files          77       77
  Lines        6166     6172       +6
==========================================
- Hits         4342     4337       -5
- Misses       1824     1835      +11

Impacted Files
Coverage Δ

lib/authentication/service/auth_provider.dart
0.00% <0.00%> (-0.92%)
:arrow_down:

lib/main.dart
56.75% <0.00%> (-0.78%)
:arrow_down:

lib/pages/filter/service/filter_provider.dart
12.85% <0.00%> (-2.30%)
:arrow_down:

...ib/pages/timetable/service/uni_event_provider.dart
0.00% <0.00%> (ø)

lib/resources/utils.dart
68.42% <ø> (-3.01%)
:arrow_down:

lib/widgets/scaffold.dart
87.03% <ø> (ø)

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 ba0dbd2...1f56d92. Read the comment docs.


visibleAtInit overlaps first item

When specifying visibleAtInit it overlaps first item in the recycler list.
Is it possible to use visibleAtInit without it overlapping the first item?
I will try forcing a scroll to the top but that isn't ideal.
I think this library is great btw.
Edit: Sorry, I think this may be due to the way I load the recycler content after initialization (because it's a long slow load), will investigate.

@behelit have you solved it? Otherwise, I'll have a look into it, can you post some code?

Sorry, I didn't look into solving it.
In your sample app, if you select the "Show at init example" button, you can see that the first visible item is 'ipsum', while 'Lorem' is behind the searchview.
Maybe force scrolling to the top on load could workaround this.

Hello,
I investigated and reproduced the error.
It is being fixed in Version 0.0.3, please update the library version in your project and come back if the problem is not fixed.
Closing the issue.


Avoid indexing the workspace for single-file support

Summary
This PR updates the language server to avoid indexing the workspace for single-file support.
What's a single-file support?
When a user opens the file directly in an editor, and not the folder that represents the workspace, the editor usually can't determine the workspace root. This means that during initializing the server, the workspaceFolders field will be empty / nil.
Now, in this case, the server defaults to using the current working directory which is a reasonable default assuming that the directory would point to the one where this open file is present. This would allow the server to index the directory itself for any config file, if present.
It turns out that in VS Code the current working directory in the above scenario is the system root directory / and so the server will try to index the entire root directory which would take a lot of time. This is the issue as described in https://github.com/astral-sh/ruff-vscode/issues/627. To reproduce, refer https://github.com/astral-sh/ruff-vscode/issues/627#issuecomment-2401440767.
This PR updates the indexer to avoid traversing the workspace to read any config file that might be present. The first commit (https://github.com/astral-sh/ruff/pull/13770/commits/8dd2a31eef668b10b003f37fc646ca3a61f7193f) refactors the initialization and introduces two structs Workspaces and Workspace. The latter struct includes a field to determine whether it's the default workspace. The second commit (https://github.com/astral-sh/ruff/pull/13770/commits/61fc39bdb6dd0da7d594a9d2755a353eceb3a771) utilizes this field to avoid traversing.
Closes: #11366
Test Plan
When using the ruff server from this PR, we see that the server starts quickly as seen in the logs. Next, when I switch to the release binary, it starts indexing the root directory.

I'm not entirely sure that I understand the full extent of the change. Why are we skipping the current directory if it is the default workspace?

We will consider any config file that's present in the current directory but not the ones that are present in any nested directories.
The client didn't provide any workspace during initialization therefore we use the current working directory as the default workspace.

Doesnt' that have an impact for non vs code users? Would you mind explaining in more detail how this works in today and how it affects different editors?

For VS Code, if the user opened only a single file in the editor then there won't be any workspace visible in the sidebar. The user can't open any files that are inside any of the nested directories. Here, the limitation would be that if there is any config file present in the directory containing the open file, that won't be considered. This is because the current working directory of the editor process is the system root directory.
For Neovim, if the user opened a single file directly via nvim test.py, then the client will try to find the root directory for it by looking for any of the relevant files like pyproject.toml, etc. For example, for ruff this is described at https://github.com/neovim/nvim-lspconfig/blob/541f3a2781de481bb84883889e4d9f0904250a56/lua/lspconfig/configs/ruff.lua#L3-L7. Now, if those files aren't present then the workspaceFolders will be empty during initialization where the server will assume the current working directory. In this case, the path would be same as that of the nvim process. The neat thing here is that if the user opened a file which is nested in the workspace and that workspace contains the root file, the Neovim client will send a request to add a new workspace folder that's pointing to the directory containing this new file. So, those settings will be considered by the server because they've been indexed.

For Neovim,
With the following tree structure:
.
├── nested
│   ├── nested.py
│   └── pyproject.toml
└── test.py

   0.000071500s  INFO main ruff_server::server: No workspace(s) were provided during initialization. Using the current working directory as a default workspace: /Users/dhruv/projects/ruff-temp
   0.000151750s  INFO main ruff_server::server: No workspace settings found for file:///Users/dhruv/projects/ruff-temp, using default settings
   0.004234667s  INFO main ruff_server::session::index: Registering workspace: /Users/dhruv/projects/ruff-temp
   0.004946542s DEBUG ruff:worker:3 ruff_server::resolve: Included path via `include`: /Users/dhruv/projects/ruff-temp/test.py
   0.005483375s  INFO     ruff:main ruff_server::server: Configuration file watcher successfully registered
   1.204698542s  INFO     ruff:main ruff_server::session::index: Registering workspace: /Users/dhruv/projects/ruff-temp/nested
   1.246196250s DEBUG ruff:worker:4 ruff_server::resolve: Included path via `include`: /Users/dhruv/projects/ruff-temp/nested/nested.py

While, if we remove the nested/pyproject.toml file, then:
   0.000400084s  INFO main ruff_server::server: No workspace(s) were provided during initialization. Using the current working directory as a default workspace: /Users/dhruv/projects/ruff-temp
   0.000877750s  INFO main ruff_server::server: No workspace settings found for file:///Users/dhruv/projects/ruff-temp, using default settings
   0.012916500s  INFO main ruff_server::session::index: Registering workspace: /Users/dhruv/projects/ruff-temp
   0.014122625s  INFO ruff:main ruff_server::server: Configuration file watcher successfully registered
   0.014338834s DEBUG ruff:worker:0 ruff_server::resolve: Included path via `include`: /Users/dhruv/projects/ruff-temp/test.py
   1.608874959s DEBUG ruff:worker:2 ruff_server::resolve: Included path via `include`: /Users/dhruv/projects/ruff-temp/nested/nested.py

I'm still somewhat uncertain about the change itself because it means that we won't find any nested configurations for editors that don't pass a workspace root by default. The way I remember it is that VS Code is the exception and most other editors don't provide a workspace root. That would mean that this change is a breaking change for all those users, because their setup only continues to work if the ruff setting is in the workspace root (root of the cwd)

Neovim provides workspace root, it uses files like pyproject.toml, ruff.toml, and .ruff.toml to find it. I can look into what other editors are doing.

Sublime Text using the LSP implementation as https://github.com/sublimelsp/LSP provides the workspace folders during initialization. It seems to be similar to VS Code minus the multi-root workspace support. When I open a folder in the editor, it passes it as the workspace folder but if I just open a single file, then it doesn't provide any folder. But, unlike VS Code, the std::env::current_dir for Sublime Text when a single file is opened returns /Applications/Sublime Text.app/Contents/MacOS for me:
   0.000099083s  INFO main ruff_server::server: No workspace(s) were provided during initialization. Using the current working directory as a default workspace...
   0.009809375s  INFO main ruff_server::session::index: Registering workspace: /Applications/Sublime Text.app/Contents/MacOS

The conclusion is that it wouldn't be a breaking change in Sublime Text because it already behaves correctly and the server does unnecessary work by indexing.

Helix also behaves in a similar manner as Neovim as it determines the workspace root based on certain set of files: https://github.com/helix-editor/helix/blob/d1b8129491124ce6068e95ccc58a7fefb1c9db45/languages.toml#L861. And, it also sends a request when a nested folder is opened with a root file in it which Helix would consider as a workspace folder (similar to Neovim):
2024-10-16T22:07:44.889 helix_lsp::transport [INFO] ruff -> {"jsonrpc":"2.0","method":"workspace/didChangeWorkspaceFolders","params":{"event":{"added":[{"name":"nested","uri":"file:///Users/dhruv/projects/ruff-temp/nested"}],"removed":[]}}}

Thanks for testing this. The case I'm concerned about is #10398 but what I understand from your comments is that neovim handles this correctly because it sets the cwd to the file's parent directory.

That issue seems unrelated to what's being changed here. Can you explain more on what your concern is about?
Regardless, I'll update the RuffSettingsIndex::new to be more clearer in what's happening using comments and possible code.

Isn't it related because it introduced the fallback to the current working directory if no workspace path was provided and this PR changes the behavior for this exact use case?

Isn't it related because it introduced the fallback to the current working directory if no workspace path was provided and this PR changes the behavior for this exact use case?

Yes.
So, for Neovim specifically, it might not pass a working directory which means that the server should be running in single-file mode where we don't need to traverse the current directory (the behavior as is in this PR). If a user opened any file that's nested inside the current directory and if it contained a config file, then Neovim will make sure to inform the server about it by adding a new workspace folder using DidChangeWorkspaceFolders notification.
What this means is that the server is doing extra work for single-file mode without this PR.


command line tool reports wrong input numbers

with inputs connected from 1-8 the node red module reads channels 1-8 correctly, but the command line tool reports inputs 9-16

Give me some time to check on get back to you.
Thank you.

Can you tell me the card hardware version? I tested on v1.0 and all looks ok.

I will check, also I have an 8 mosfet card (id 1 with 16 input id 2) and if I  do8mosind -list i get 2 board(s) detected Id: 1 2 but 16inpind -list gives 1 board(s) detected Id: 2

Yes, because 8-mosfet cards was made with 2 type of IOExpanders (chip shortage reasons) and one of them have the same i2c address scheme as the 16-inputs card. So the 8mosind -list gives you false response because it search for both types of IOExpanders.

on the card it says v3.1, its the one with the modbus and 5v on the side

Hi,
Sorry for the delayed answer. I di not have that version of card but testing with an older version, The NodeRED "noder-red-contrib-sm-16inpind" and  "16inpind" command gives the same response. Please check again maybe you access the 8mosfets card with one of the methods.
I asked for a sample card V3.1 from our office in CA but this will take a little, until then please retest the issue.

okay, 8mosind 2 read [1-8] which is ID of 16inpind returns all zeros, with an input active on channel 7.
16inpind 2 rd 7 returns 0, but 16inpind 2 rd 15 returns 1 (with only input 7 active).
using the 8mosind node-red module, triggered by an inject node trying to set channel 7 gives the error: Error: , Remote I/O error. It doesn't look like the 8mosind node red module can read the state of a channel.

You have right, the 8mosind will not read 16inputs card but you can get false readings with 16inpind  accessing the 8-mos card. You must use different stack level for the cards and access each card with the right software.
Is strange because the NodeRed and command line give me the same results even if I have old version card.
I will test again when I receive the v3.1 card.

yes they have different ID's, I have an ID problem with an industrial automation card actually.  If no jumpers are on, or jumpers are not set to 7 the card with change to ID 7 after a short time.  If the jumpers are set to 7 the ID stays at 7?

For the industrial card, please place all the ID jumpers and go to the update folder and run ./update 7 command.
Let me know if after the update you have the same problem.

okay, will try that.

Are you sure that you have 16-inputs v3.1? We currently sell V1.0.
Can you send me a picture with the card.

Ok,
I was completely forgot about our first series of 16-inputs card which works with a different software  on a different repository: https://github.com/SequentMicrosystems/16inputs-rpi
Sorry for this, I did not imagine there is someone that bought this card and never use it until now.

thanks will try that

yes that works! 16inputs 2 rd 7 returns 1 and 16inputs 2 rd 15 returns 0
I had actually used the correct node red module for the old card, so must have chosen wrong repo for command line!


macOS ListView inside TabBarView scrolling behaviour

Hi,
im not sure if a similar issue exists, maybe someone can link if yes.
Issue
If you have two tabs and each with horizontal scrollable lists, your TabBarViews gets scrolled if child lists reaches the end what happens very easily.
Steps to reproduce

Create a TabBar with two Tabs and TabBarViews
Create on any of the TabBarViews a horizontal scrollable list
Scroll with two fingers horizontally

Result

TabBarView gets scrolled if scrollable list reaches the end
NotificationListener does not prevent bubbling events up via two finger scroll

Expected behaviour

TabBarView does not scroll if child list reaches scroll end
Maybe a option to catch there events and prevent from bubbling up

Hi @SergejSachs
Can you please provide your flutter doctor -v, a complete reproducible minimal code sample
Thank you

Hi, can you take a look here please, maybe that's enough.
Its probably macOS two finger swipe specific.
import 'package:cryptowulf/screens/market/market/market.dart';
import 'package:cryptowulf/screens/market/widgets/market_app_bar.dart';
import 'package:flutter/material.dart';

import 'dashboard/dashboard.dart';

class MarketTabNavigation extends StatefulWidget {
  _MarketTabNavigationState createState() => _MarketTabNavigationState();
}

class _MarketTabNavigationState extends State<MarketTabNavigation> {
  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: DefaultTabController(
        length: 2,
        child: Scaffold(
          appBar: MarketAppBar(),
          body: TabBarView(
            physics: NeverScrollableScrollPhysics(),
            children: [
              MarketCollection(somedatafromsomewhere), //dummy this widget is in another widget, removed it for simplicity, all data is usually there.
              Dashboard(),
            ],
          ),
        ),
      ),
    );
  }
}

import 'package:cryptowulf/app_localizations.dart';
import 'package:flutter/material.dart';

class MarketAppBar extends StatelessWidget implements PreferredSizeWidget {
  @override
  final Size preferredSize;

  MarketAppBar() : preferredSize = Size.fromHeight(74);

  @override
  Widget build(BuildContext context) {
    return AppBar(
      elevation: 1,
      toolbarHeight: 74,
      backgroundColor: Theme.of(context).scaffoldBackgroundColor,
      iconTheme: IconThemeData(
        color: Theme.of(context).textTheme.bodyText1.color,
      ),
      flexibleSpace: TabBar(
        isScrollable: true,
        indicatorColor: Theme.of(context).primaryColor,
        labelColor: Theme.of(context).textTheme.bodyText1.color,
        tabs: [
          Padding(
            padding: const EdgeInsets.all(0),
            child: Tab(
              icon: Icon(Icons.trending_up),
              text: AppLocalizations.of(context).translate('market'),
            ),
          ),
          Padding(
            padding: const EdgeInsets.all(0),
            child: Tab(
              icon: Icon(Icons.whatshot),
              text: AppLocalizations.of(context).translate('trending'),
            ),
          ),
        ],
      ),
    );
  }
}

import 'package:cryptowulf/models/market/Asset.dart';
import 'package:cryptowulf/screens/market/market_details/market_details.dart';
import 'package:cryptowulf/screens/market/market_details/market_details_args.dart';
import 'package:cryptowulf/widgets/assets/asset_bottom_loader.dart';
import 'package:cryptowulf/widgets/assets/asset_card.dart';
import 'package:flutter/material.dart';

class MarketCollection extends StatelessWidget {
  final List<Asset> assets;
  final hasReachedMax;

  const MarketCollection(this.assets, this.hasReachedMax);

  @override
  Widget build(BuildContext context) {
    var heroPrefix = 'market_to_details_';

    return ListView.separated(
      separatorBuilder: (context, index) => Divider(height: 1),
      shrinkWrap: true,
      itemCount: hasReachedMax ? assets.length : assets.length + 1,
      itemBuilder: (context, index) {
        return index >= assets.length
            ? Center(child: Container(child: AssetBottomLoader(index)))
            : AssetCard(
                assets[index],
                heroPrefix + assets[index].id,
                () => {
                      Navigator.pushNamed(
                        context,
                        MarketDetails.routeName,
                        arguments: MarketDetailsArgs(
                          assets[index],
                          heroPrefix,
                        ),
                      )
                    });
      },
    );
  }
}

[✓] Flutter (Channel stable, 2.0.6, on macOS 11.3.1 20E241 darwin-x64, locale en-DE)
    • Flutter version 2.0.6 at /Users/SergejSachs/Development/flutter
    • Framework revision 1d9032c7e1 (6 weeks ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/sergejsachs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • 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 at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] 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:
Sergejs-MacBook-Pro:macos_two_finger_overscroll sergejsachs$ flutter doctor -v
[✓] Flutter (Channel stable, 2.0.6, on macOS 11.3.1 20E241 darwin-x64, locale en-DE)
    • Flutter version 2.0.6 at /Users/SergejSachs/Development/flutter
    • Framework revision 1d9032c7e1 (6 weeks ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/sergejsachs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • 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 at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] 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)

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

[✓] Connected device (1 available)
    • macOS (desktop) • macos • darwin-x64 • macOS 11.3.1 20E241 darwin-x64

• No issues found!

Hi @SergejSachs
Thanks for a wonderful code sample
I've compared the code sample with one latest stable(which has drag to scroll) and master (drag to scroll is removed)
Channel stable, 2.2.1
Mouse drag
https://user-images.githubusercontent.com/48603081/121327953-94581580-c91c-11eb-8e78-b8981f09e594.mov
Two-finger scroll from the trackpad
https://user-images.githubusercontent.com/48603081/121328413-fa449d00-c91c-11eb-943a-5b625d8e3e0e.mov

Shift + scroll (mouse drag is disable)
https://user-images.githubusercontent.com/48603081/121328164-c4071d80-c91c-11eb-9a88-3b41fc2ee19d.mov
Two-finger scroll from the trackpad
https://user-images.githubusercontent.com/48603081/121328255-d5e8c080-c91c-11eb-9dc9-7730994fe553.mov
Logs

stable
master

❌
❌

Check flutter doctor -v outputs for each channel below

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.1, on macOS 11.4 20F71 darwin-x64, locale
    en-GB)
    • Flutter version 2.2.1 at /Users/tahatesser/Code/flutter_stable
    • Framework revision 02c026b03c (13 days ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode-beta.app/Contents/Developer
    • Xcode 13.0, Build version 13A5154h
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.2)
    • 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 11.0.8+10-b944.6916264)

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

[✓] Connected device (3 available)
    • iPhone 12 (mobile) • F0F01CEF-6AB8-4654-B53E-616A76808595 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64
      • macOS 11.4 20F71 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript
      • Google Chrome 91.0.4472.77

• No issues found!

[✓] Flutter (Channel master, 2.3.0-17.0.pre.275, on macOS 11.4 20F71 darwin-x64,
    locale en-GB)
    • Flutter version 2.3.0-17.0.pre.275 at
      /Users/tahatesser/Code/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1694188e21 (3 hours ago), 2021-06-09 02:29:02 -0400
    • Engine revision 132669b021
    • Dart version 2.14.0 (build 2.14.0-189.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode-beta.app/Contents/Developer
    • Xcode 13.0, Build version 13A5154h
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.2)
    • 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 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.1.2)
    • IntelliJ at /Volumes/Extreme/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (3 available)
    • iPhone 12 (mobile) • F0F01CEF-6AB8-4654-B53E-616A76808595 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64
      • macOS 11.4 20F71 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript
      • Google Chrome 91.0.4472.77

• No issues found!

✅ : No Issue ❌: Issue reproduced

Expected behaviour

TabBarView does not scroll if child list reaches scroll end
Maybe a option to catch there events and prevent from bubbling up

It does scroll to next tab if you scroll with two fingers or shift scroll, only drag to scroll used to prevent this happening which is disabled in later channels

NotificationListener does not prevent bubbling events up via two finger scroll

Can you please explain the issue in detail, not sure what are bubbling events
Thank you

Hi @TahaTesser
This is exactly as it looks on my side.

Is it the expected behaviour for "Two-finger scroll from the trackpad"? For me it feels weird.
I thought it works like this: You scrolling a list and if it reaches the end it calls the widget tree up with the scroll event until someone handles it.

Hi @SergejSachs
Thanks for the details, I see the behaviour on Windows (except for shift + scroll) https://github.com/flutter/flutter/issues/75180
Complete issue reproduction
https://github.com/flutter/flutter/issues/84158#issuecomment-857536824

cc: @Piinks


Vitest failure using explicit URL import

Describe the bug
Receiving TypeError: Invalid URL while using explicit url imports
Example test:
import initWasm from<EMAIL_ADDRESS>import wasmUrl from "@vlcn.io/crsqlite-wasm/crsqlite.wasm?url";
import { it } from "vitest";

const sqlite = await initWasm(() => wasmUrl);

it("should return the database", async () => {
    await sqlite.open(":memory:");
});

Vitest run output:
 FAIL  src/lib/db.test.ts [ src/lib/db.test.ts ]
TypeError: Failed to parse URL from<EMAIL_ADDRESS>Caused by: TypeError: Invalid URL<EMAIL_ADDRESS> ❯ new URLImpl node_modules/whatwg-url/lib/URL-impl.js:23:13
 ❯ Object.exports.setup node_modules/whatwg-url/lib/URL.js:54:12
 ❯ new URL node_modules/whatwg-url/lib/URL.js:115:22
 ❯ Fa node_modules/@vlcn.io/crsqlite-wasm/src/crsqlite.mjs:13:278
 ❯ node_modules/@vlcn.io/crsqlite-wasm/src/crsqlite.mjs:91:435
 ❯ node_modules/@vlcn.io/crsqlite-wasm/src/crsqlite.mjs:91:488

This is in jsdom environment. The minimal repro uses the default and has the same error.
Reproduction
https://github.com/cotyhamilton/vite-issue-repro
System Info
System:
    OS: macOS 12.5.1
    CPU: (8) arm64 Apple M1
    Memory: 103.91 MB / 8.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 18.18.2 - ~/n/bin/node
    Yarn: 1.22.19 - ~/n/bin/yarn
    npm: 10.2.4 - ~/n/bin/npm
  Browsers:
    Safari: 15.6.1
  npmPackages:
    @vitest/coverage-v8: ^0.34.6 => 0.34.6
    vite: ^4.5.0 => 4.5.0
    vitest: ^0.34.6 => 0.34.6

Used Package Manager
yarn
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

To be honest, it is an invalid URL. The explicit URL that Vite returns is relative to the web server in the browser, but in Node.js  it looks like @vlcn.io/crsqlite-wasm expects a full URL. This is not a bug in Vitest or Vite.
URL looks like this:
<EMAIL_ADDRESS><EMAIL_ADDRESS>
But what you get is a path. Depending on the environment, you need to resolve it yourself.


balanceWhite fixed maxValue bin search

Fixed bug for histogram p2 bin index and maxValue search.

require test data update (verification results) from issue 292 from opencv_extra repo
https://github.com/Itseez/opencv_extra/pull/292

unsuccessful build due to large image changes in opencv_extra?

Yes, it is a warning

@lukaszi89 could you resolve the merge conflict?


optimise adjacent matricies and vectors after discretisation

After the discretisation step, there is the possibility to optimise adjacent Matrix, Vector and Scalar nodes, like in #54.
This might be best to do just once after the discretisation step, which would also solve #54.

fixed by #233


Maps tile need to be updated

Is your feature request related to a problem? Please describe.
Since the maps tile has not been updated for a long time, it's time to update it from OpenStreetMap.
Describe the solution you'd like
Create a maps tile generation pipeline to keep maps tile updating from OpenStreetMap.

For the moment, but let's get a repo created for the tiles service to get as much of the code / configuration (ideally all of it, I don't see any reason why not) published to GitHub.

Hi Jules, thanks your suggestion. we are creating this issue for Jenkins pipeline for tiles generation.
Basically it’s a Jenkins configuration file that runs a docker container which downloads tiles from OSM and uploads to S3 where we host our tiles to be rendered. Our plan is it have these run part of infra Jenkins jobs. So we wanted to keep these close to infra build repo.
We have plan to open source the tile service code and as part of that task we will create a dedicated repo for hosting the service. We can also make these configuration files part of it.

Sounds like a great plan, thanks for the explanation!

Cool problem space! I've got some questions...

Is there a reason this process needs to be executed on a jenkins environment as opposed to github action?
How frequently is this job going to be run, what happens if it doesn't run?
How 'expensive' is the generation process?  Weekly are we talking about 5 minutes of a c5.xlarge or 100 hours of p3.16xlarge.

Could you provide a link to the repository for the tooling? I'd love to take a look at the processor design

Hi Peter,

Because we already have the existing Jenkins frame work available on infra team, and the pipeline process need request EC2 instance on demand for executing the jobs. So that it would be easier to design and manage the pipeline.
Initially we plan to execute the jobs about every 3 months.
I used a r5a.2xlarge EC2 for whole planet zoom 0-zoom 10 tiles generation with 2T SSD volume(2000 IOPS), it takes about 60 hours for the whole process(importing osm raw file to Postgresql, querying to render tiles and export to s3 bucket), here still have a space for performance tuning. The benchmarks from OSM wiki https://wiki.openstreetmap.org/wiki/Osm2pgsql/benchmarks#debian_9_.2F_openstreetmap-tile-server

We use a open source project as a base image https://github.com/Overv/openstreetmap-tile-server, which is also recommended by OSM community, additionally we add a last step to generate whole tiles to images and upload them to s3 bucket for map service consuming. The whole process executed on Jenkins pipeline to update the map tiles frequently.

@peternied Thanks for explanations and suggestions, we can have a meeting discussion on more details!

After discussion, we'd place the execution environment to AWS ECS, and we just created a new repository for maps, going to transfer this issue to maps repository.


use conda-build 3 functionality

gfortran is broken right now on linux, and needs to be created on mac.  We need a fortran package of some sort on windows.  Otherwise, this might work.
This assumes a user-wide conda_build_config.yaml with code like:
vc:
  - 9
  - 14
hdf5:
  - 1.8.18
c_compiler:      # [win]
  - vs2008       # [win]
  - vs2015       # [win]
cxx_compiler:    # [win]
  - vs2008       # [win]
  - vs2015       # [win]
zip_keys:
  -                 # [win]
    - vc            # [win]
    - c_compiler    # [win]
    - cxx_compiler  # [win]

I had to add the # [win] selector to the field zip_keys too, otherwise it failed with this error:
Traceback (most recent call last):
  File "/opt/miniconda/bin/conda-build", line 6, in <module>
    sys.exit(conda_build.cli.main_build.main())
  File "/opt/miniconda/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 342, in main
    execute(sys.argv[1:])
  File "/opt/miniconda/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 333, in execute
    noverify=args.no_verify)
  File "/opt/miniconda/lib/python3.6/site-packages/conda_build/api.py", line 183, in build
    need_source_download=need_source_download, config=config, variants=variants)
  File "/opt/miniconda/lib/python3.6/site-packages/conda_build/build.py", line 1640, in build_tree
    metadata.clean()
AttributeError: 'NoneType' object has no attribute 'clean'

Hmmm - what version of conda-build were you running, @nehaljwani?  Empty keys like that shouldn't be causing problems.  This is currently only fixed on master, though.

I tried with 3.0.9


Basic Layout 2

Flow Layout, Grid Layout of Flexible Box Layout
Flow Layout @ MDN
A Complete Guide to Grid @ CSS Tricks
A Complete Guide to Flexbox @ CSS Tricks


Review corrections for KeepassXC support

Review corrections for KeepassXC support #64.
In the end the unpadding crate was used without modifications - it does not matter in this case, as payload bigger than 63 bytes can't be used anyway.

CredentialFlat is meant to be a simple struct for data serialization. All checks should be done on construction in the upstream. The check for the secret length and Algo kind is done here:
https://github.com/Nitrokey/trussed-secrets-app/blob/43ee41c1e016eab95d80321c7f3f4b4545f5e309/src/command.rs#L512-L532

Ok, I missed it sorry.


Deep Integration with Vue Router

The docs indicate that this plugin can be used with Vue Router for client-side routing, but does not go into any more detail. Is an example planned for this integration? Curious to see how one might get the file-based routing information into Vue Router routes.

Is an example planned for this integration?

Yes

Curious to see how one might get the file-based routing information into Vue Router routes

I'm not that familiar with Vue Router but AFAIK you wouldn't do that. I believe with Vue Router you define a mapping between URLs and Vue components. This means that you would completely bypass vite-plugin-ssr's routing. Whether that's what you want depends on what you want to achieve.
Why do you want to use Vue Router instead of vite-plugin-ssr's routing?

Is an example planned for this integration?

Yes

Curious to see how one might get the file-based routing information into Vue Router routes

I'm not that familiar with Vue Router but AFAIK you wouldn't do that. I believe with Vue Router you define a mapping between URLs and Vue components. This means that you would completely bypass vite-plugin-ssr's routing. Whether that's what you want depends on what you want to achieve.
Why do you want to use Vue Router instead of vite-plugin-ssr's routing?

Ideally they'd work in tandem. Vue Router handling client-side navigation would prevent having to fetch the full payload for subsequent pages, allow for client-side transition effects, etc

I don't encourage using Vue Router with SSR as it complexifies the architecture of your app.
That said: https://github.com/brillout/vite-plugin-ssr/tree/master/examples/vue-router
I've a plan for smooth transitions that is simpler than Vue Router. The idea is to use the "pjax" technique, some prior art:

https://www.reddit.com/r/web_design/comments/4m9ie4/barbajs_create_smooth_transition_between_your/
https://github.com/MoOx/pjax
https://github.com/hydecorp/push-state

The big advantage here is that we get smooth transitions without complexifying the user's app architecture. A founding principle of vite-plugin-ssr is to provide a scalable architecture.

BTW I've built similar integrations in the past. Happy to help if I understand a little more about how your plugin functions

Yes, that would be lovely. How does my plan sound to you?

I don't encourage using Vue Router with SSR as it complexifies the architecture of your app.
That said: https://github.com/brillout/vite-plugin-ssr/tree/master/examples/vue-router
I've a plan for smooth transitions that is simpler than Vue Router. The idea is to use the "pjax" technique, some prior art:

https://www.reddit.com/r/web_design/comments/4m9ie4/barbajs_create_smooth_transition_between_your/
https://github.com/MoOx/pjax
https://github.com/hydecorp/push-state

The big advantage here is that we get smooth transitions without complexifying the user's app architecture. A founding principle of vite-plugin-ssr is to provide a scalable architecture.

BTW I've built similar integrations in the past. Happy to help if I understand a little more about how your plugin functions

Yes, that would be lovely. How does my plan sound to you?

I do understand where you're coming from here in trying to avoid complexity. In my view, an application should have a single source of truth for routing information, shared between server and client. Since you have your own abstraction for routing here, I can see why you'd be hesitant to integrate directly with any specific routing library - you are trying to use your routing abstraction as the source of truth and avoid having two routing solutions in play.  I do worry though that by baking in any of these solutions you've linked, you'd actually be sacrificing some flexibility with regard to client side routing. A solution using these tools might be nice for some use cases, but there are features in proprietary client-side routers that you cannot recreate (nested views, dynamic routes, component navigation guards to name a few more vue router features you'd be shutting out).
I wonder if there is a solution somewhere along the lines of exposing your routing information in a way that it could be consumed and integrated with other routers for use in the client. The way Nuxt works is it generates vue routes from the page-based routing abstraction, then uses those generated routes in the client. That's obviously far too coupled to make sense given your design philosophy, but I wonder if the user (or an additional integration plugin) could take your routes and transform them to a proprietary router's expected format?

could take your routes and transform them to a proprietary router's expected format?

If I can see a use case for it not covered by other simpler solutions, then I'll implement it.

nested views

With that pjax solution, you'll be able to do that in a simple way: you simply define a paramterized route, e.g. /product/:id/* and then discriminate what you render based on the URL. You then have smooth transitions between /product/tesla-roadster/reviews and /product/tesla-roadster/details. That's simpler than Vue Router.
The pjax solution is optional. It's actually not going to be included by default. Because server-side routing is the more classical way of doing things and it's what most web devs expect. It's easier to reason about. It doesn't suffer long-living user sessions that make deploying new versions more painful (these "Please reload your browser, a new version is available" toaster notification are a non-negligable degradation). Only a fraction of web dev demand smooth transitions. Most product managers don't care about smooth transitions.
That said, there are situations where smooth transitions are needed, hence the pjax solution I want to implement.
The pjax solution is optional so you don't have to use it if you don't want to. I do care about the premise that vite-plugin-ssr is compatible with the entire ecosystem. That's why I'm showing the integration examples React Router and Vue Router: it should become clear that vite-plugin-ssr is usable with anything. Even though I don't see Vue Router or React Router to have that much of a place (zero place?) in an SSR world.
I'm more than happy to be shown a use case where a pjax solution would be an inferior solution to Vue Router.

nested views

See answer above.

dynamic routes

The pjax solution will do that.

component navigation guards

I'm not sure what you mean here but note that you can do route guards with route functions.
// /pages/admin.page.route.js

// Route functions allow us to implement advanced routing such as route guards.
export default ({ url, contextProps }) => {
  if (url==='/admin' && contextProps.user.isAdmin) {
    return { match: true }
  }
}

more vue router features you'd be shutting out

I'd be happy to hear them out.

See answer above.

Someone who is used to working with Vue Router expects to be able to compose components within each other under nested router views. What you're describing sounds like it would, within the Vue ecosystem, constitute a workaround / hack / wheel recreation.
https://next.router.vuejs.org/guide/essentials/nested-routes.html#nested-routes

The pjax solution will do that.

Really? It will do this?
https://next.router.vuejs.org/guide/advanced/dynamic-routing.html

I'm not sure what you mean here but note that you can do route guards with route functions.

This is what an in-component guard looks like:
https://next.router.vuejs.org/guide/advanced/navigation-guards.html#in-component-guards
The ssr routing guards only run on the server, right? In some cases it is useful to have navigation guards that run on the client, and as indicated by my example, it is standard practice to do this within the component itself.

Even though I don't see Vue Router or React Router to have that much of a place (zero place?) in an SSR world.

IMO that's not really a decision your plugin should be making for your users (nor do you seem to have, based on the fact that your docs do reference client-side routers). As you've clearly set out to do, do one thing, do it well - server side render the things. If your users want to rely entirely on SSR payloads, great, but there is a common more hybrid approach where the initial payload is SSR-rendered or pre-generated, and the client takes over from there. I see no great reason why you shouldn't support both. The only piece that's missing is clear usage guidelines for making that hybrid approach work with the abstractions you provide (and potentially other things making such an approach feasible, not really sure without digging in).
If you wouldn't mind giving me some time, I'll mess around with your plugin and see if I can come up with a recommendation for a usage example with Vue Router, and whether there is additional data I'd suggest exposing to make that integration more feasible.

IMO that's not really a decision your plugin should be making for your users

You're right.
In afterthought, no matter the arguments of server-side routing VS Vue Router, if your wish is to use Vue Router then I should accommodate for that. Even just habits is a good and valid reason to use Vue Router.

If you wouldn't mind giving me some time, I'll mess around with your plugin and see if I can come up with a recommendation for a usage example with Vue Router

Sounds good.

if the user (or an additional integration plugin) could take your routes and transform them to a proprietary router's expected format?
whether there is additional data I'd suggest exposing to make that integration more feasible.

Ok. I'll implement what you need.

FYI Client-side Routing landed: https://github.com/brillout/vite-plugin-ssr#import--useClientRouter--from-vite-plugin-ssrclientrouter
I'd be more than happy to offer a lower-level API to accommodate for a deep Vue Router integration. Looking forward to see how this is going to look like.

Cool! I just took a look - looks good for use cases that don't require a proprietary router.
Regarding the lower level APIs that might be needed to perform a proprietary router integration, here's what I'm thinking: expose a function usable in the client (to be called in _default.page.client.js or similar) that would return all routes in the application, pre-parsed via pathToRegexp.parse. so if I have
/pages
  about.page.vue
  news.page.vue
  news.page.route.js // export default "/news/:newsSlug/"

I should be able to call await getParsedRoutes() or similar and get back:
[
  { id: "about", tokens: ["about"] },
  { id: "news", tokens: ["news", { name: "news", prefix: "/", suffix: "", pattern: "[^\\/#\\?]+?", modifier: "" }] }
]

Why am I suggesting a parsed route rather than a routing string? With the token list, one should be able to re-compile a route specification in another router's supported path syntax, whatever that may be (in the case of Vue, it's similar to pathToRegexp but with some subtle changes) without having to load in the full pathToRegexp dependency in the client. With this information, I believe one could construct a list of routes for the client router that matches up with the routing performed by the server assuming that they come pre-sorted in order of priority.
It would also be useful to be able to get a page by id. I think the function getPage_ currently does this, but perhaps should be exposed for public use? Maybe rename to getPageById? Reason this is useful: pairing each route with a dynamic import of its corresponding component. We end up with something like:
const routes = await getParsedRoutes()

app.use(createRouter({
  routes: routes.map(route => ({
    path: convertTokensToVueRouterPath(route.tokens),
    component: async () => (await getPageById(route.id)).Page //handling of contextProps omitted for now
  }))
}))

Does that all make sense? Do you see any problems with this? The only thing I haven't quite thought through yet is how features like nested routes might be supported... going to give that some more thought.

Yes that makes sense.
One question: can path be defined as a function function isMatch(url: string): boolean instead of a pathToRegexp string? That would simply things.
Also I'd be totally ok with changing from the current pathToRegexp implementation and replace it with Vue Router's one. That would get us quicker to an MVP. Later we can implement getParsedRoutes() for other proprietary routers.
Btw the other two GitHub issues are fixed in 0.1.0-beta.21. Make sure to also pin Vite to 2.1.3.

Yes that makes sense.
One question: can path be defined as a function function isMatch(url: string): boolean instead of a pathToRegexp string? That would simply things.
Also I'd be totally ok with changing from the current pathToRegexp implementation and replace it with Vue Router's one. That would get us quicker to an MVP. Later we can implement getParsedRoutes() for other proprietary routers.
Btw the other two GitHub issues are fixed in 0.1.0-beta.21. Make sure to also pin Vite to 2.1.3.

I have been working on a POC vue router integration - stand by for more thoughts on this topic

Exciting. Let me know if there is anything you need from me, or if you have questions about the code (some parts are not source code reader friendly yet).

One thing I already know will be useful - exposing retrievePageProps as a public function, but with fallback to window.__vite_plugin_ssr.pageProps if it's the initial route. Use case is - being able to fetch the pageProps on navigation separate from the page component (currently the exported getPage function does both at once, and additionally it does not seem to have a retrievePageInfo implementation by default).

One thing we could do is that you change vite-plugin-ssr directly: https://github.com/brillout/vite-plugin-ssr/blob/master/CONTRIBUTING.md#modify-vite-plugin-ssr.
We create a draft PR and take it from there. Comfy to discuss and collaborate on code changes. We can create the draft PR as soon as there is even only one LOC change.
Would that work for you?

Yeah sounds good

https://github.com/brillout/vite-plugin-ssr/pull/24

Also I'd be totally ok with changing from the current pathToRegexp implementation and replace it with Vue Router's one.

So on this topic, I'm wondering if there is a way we can structure this such that the route resolution is overridable / not necessarily coupled to any routing solution.
Default (pathToRegExp-based) Routing
my.page.route.js
export default "/:myPathToRegexParam?"

(location unknown)
/**
* @param {(string|Function)[]} routes The accumulation of all my.page.route.js files and / or static page identifiers in an unsorted state.
* @returns {(string|Function)[]} Sorted routes
*/

export function sortRoutes(routes) {
  /* apply default, common-sense sort */
  return routes.sort(defaultRouteSort);
}

/**
* @param {(string|Function)[]} routes Pre-sorted routes to be matched
* @returns {string|Function|null} A single matching route
*/

export function matchRoutes(routes, url) {
  return routes
     .sort(defaultRouteSort)
     .find(route => matchRouteByPathToRegexp(route, url));
}

Vue Router integration
my.page.route.js
export default { path: "/:myVueRouterParam?" } /* "component" property is assumed to be the current page component
and will be auto-populated. Though, presumably "children" property could be filled in here...? But then how do
child components get auto-populated? */

(location unknown)

export function sortRoutes(routes) {
  /* Apply common-sense sort on Vue Router routes. Perhaps this in turn should expose application-specific overrides as the default sort might not always work as needed... */
  return routes.sort(sortRoutesByVueRouterPriority);
}

/**
* @param {(string|Function)[]} routes Pre-sorted routes to be matched
* @returns {string|Function|null} A single matching route
*/

export async function matchRoutes(routes, url) {
  const router = createRouter({
    routes,
    history: createMemoryHistory()
  });

  await router.push(url);

  return router.currentRoute; // Not 100% accurate, basically pseudo-code.
}

Something like this could allow for overriding the default routing mechanism with something more specific to an application's routing needs. As indicated above, I don't really know where this code goes since it seems like it would be application-specific, not page-specific, and currently there is not a place where the plugin stores application-specific overrides. I wonder if the plugin could expose some sort of plugin interface for overriding behavior like this (while also making those overrides portable)? E.g. a "@vite-plugin-ssr/vue-router" plugin could package this integration up for easy consumption.
One other topic / thought here that is a little bit of a tangent, but just throwing it out there as something to think about: Vue Router has a concept of nested routes, which correspond to composed router views. E.g. /user/preferences might render a "user" view with some preference configuration tab selected, while /user/history might render the same view with a history tab selected. The real question here (and I don't have an answer yet) is do the current APIs accommodate or hinder this concept? I feel like more complex routing needs like this should be considered, even if they are off the beaten path, and we should understand how one might achieve such an application structure within this system. A cautionary tale: Nuxt attempts to support this feature through the "nuxt child" feature but in my opinion, it is wildly unintuitive / confusing. I believe a more elegant solution is possible... going to think on it.

I'd suggest we proceed like the following:

You fork vite-plugin-ssr and implement the changes you need.
Unlike the previous PR: 1. we don't publish your changes instead you use npm run link (allowing you to modify the vite-plugin-ssr source code while testing the changes on the examples, see CONTRIBUTING.md), 2. you try your changes on /examples/vue-router and improve the example to progressively have a more and more deep Vue Router integration.
We do things iteratively one step at a time. If you are stuck on the next step, we can figure out the next step together.
I'm not too familiar with Vue Router, so I guess it's more your expertise. I'm not sure I'm the best person to help about Vue Router related questions.
Since I'm not too familiar with Vue Router I don't see to be much of a help about the grand plan visions of things.
But I'm happy to help out for implementing modifications on vite-plugin-ssr; ideally by asking questions directly about the source code here or at your vite-plugin-ssr fork.

Allowing to replace the Filesystem Routing with a custom one should AFAICT fairly easy to achieve.
export { useCustomFilesytemRouter }

let customFilesystemRouter;
function useCustomFilesytemRouter(_customRouter) {
  customFilesystemRouter = _customRouter
}

function routeWithFileSystem() {
  if( customFilesystemRouter ) {
     // ...
  } else {
    useDefaultFilesystemRouter()
  }
}

As for accessing all routes of all pages: check out the loadPageRoutes() in route.shared.ts. I believe this is what you want.
Any other questions about the vite-plugin-ssr source code?
We can discuss things like plugin architecture later. (I've a couple of ideas here but let's first do quick & dirty hacks to improve /examples/vue-router/.)

OK sounds good. I'll start putting a PR together.

One big disadvantage of ssr-only routes is that an application "hangs" while data is being fetched by ssr engine. I'm seeing queries to /index.pageContext.json files returning data from my graphql enpoints.  And I have no "loading" indicators while it is being loaded. I'd prefer this behavior only on the first page load, after page is loaded, it's better to use client-only routing without hitting the server at all. This will allow much smoother UX and it greatly reduces load of SSR server.

@Dema Check out

https://github.com/brillout/vite-plugin-ssr#server-side-routing-vs-client-side-routing
https://github.com/brillout/vite-plugin-ssr#import--useClientRouter--from-vite-plugin-ssrclientrouter

Ah, actually

I'm seeing queries to /index.pageContext.json files

So you are actually already using Client-side Routing. Have you seen onTransitionStart and onTransitionEnd? You can implement a loading indicator with this.

@Dema see https://github.com/brillout/vite-plugin-ssr/issues/95

One big disadvantage of ssr-only routes is that an application "hangs" while data is being fetched by ssr engine. I'm seeing queries to /index.pageContext.json files returning data from my graphql enpoints. And I have no "loading" indicators while it is being loaded. I'd prefer this behavior only on the first page load, after page is loaded, it's better to use client-only routing without hitting the server at all. This will allow much smoother UX and it greatly reduces load of SSR server.

This is why pre-rendering is great!

We will tentatively merge the PR in 1-2 weeks.

Gryphon was busy but we should be able to finish up the PR fairly easy (thanks to the new onBeforeRoute() hook), and as soon as time allows on Gryphon's side.

No worries; re-labeling as being-worked-on 😀.

What is the state now?

I'm not aware of any updates. That said, I believe vite-plugin-ssr is ready for it, see https://vite-plugin-ssr.com/onBeforeRoute.

In the react-router example there's mention of this issue potentially allowing deep integration with react router and the docs state that it should be possible now using the onBeforeRoute function. Would it be possible to see the example updated to use it or is there an existing demo?

@sebasptsch To my knowledge, no one has tried to deeply integrate React Router before. So you're entering uncharted territory here. On vite-plugin-ssr's side onBeforeRoute() should do the trick, but I don't know how it would work on React Router's side.

Closing, see https://vite-plugin-ssr.com/vue-router-and-react-router. Bottom line being:

If you want a feature provided by Vue Router or React Router that vite-plugin-ssr is missing, then open a new feature request.


added more operator

Added operator :
++
--
- negative operator
* with lhs/rhs type inversed
%

Some Update Notes about your PR #3

Thanks for contribution again.
I have found some issues after I approved the PR.
I have fixed the issues already with this commit: 1c33426f3b3feb5a65b2555aca5874edd9cba684
I also added Unit Tests.
Which is a replacement for the old Test Scene with bunch of Test scripts.
You can check to see how Unit Test works with Unity: https://www.youtube.com/watch?v=PDYB32qAsLU&ab_channel=InfallibleCode

1-(%) Modulus operator is wrong and useless

The first issue is (%) operator logic is not mathematically correct.
The correct way is not be useful and not efficient.
So, I had to remove it completely.

Here an example why its wrong:

5k % 3 returns 2k but It should return 2.

Why even with the correct way is not useful and not efficient:

5zz % 3 looks like a simple operation but 5zz is 5 * 10^681 which is a huge number and should not be applied any modulus operation.
It has and time complexity O(n) which looks admissible at first glance.
But n is 1.67*10^681 and no computer can handle this in a short time.

Maybe you can fix it?

If you can find an algeabraic operation to make its time complexity O(1) that will work.
But, I could not found any.

2- (++) and (--) has an edge case

1aa-- return 0 because 1-1=0 and it simplifies 0aa to 0
Same with -1aa++ which return 0 again. With the same reason.

That's very clever explanation, thank you for the correction!


Hi  Can you share your training model

Thank you!

@shinseung428
can you share the trained model please ?

can you share the trained model please ? thank you

@shinseung428


Issue 2800 - Update NOTICES.md for 0.24.0

Make sure you have checked all steps below.
Issue

[x] My PR addresses the following issues and references them in the PR title. For example, "Issue 1234 - My Sleeper
PR"

Resolves https://github.com/gchq/sleeper/issues/2800

Tests

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

Updating documentation

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it, or I have linked to a
separate issue for that below.
[x] If I have added, removed, or updated any external dependencies used in the project, I have updated the
NOTICES file to reflect this.

We'd better wait to merge this in case Dependabot makes any more PRs between now and the release.


Billing Utility knowledge transfer

Describe the issue
The deployment of the billing utility to LZ0 and LZ1 was manual and there is a fair amount of knowledge with Ukeme at the moment.  Since Ukeme is leaving, we would like to pass this knowledge on to the team for the next work.
Additional context

keep S3 as we fixed the name conflict collisions in S3 buckets
when performing deployments to LZ2, a new bucket will be created for generated reports, however original bucket will be kept for historical archive purposes.
the repository is already documented

Definition of done

this has to happen the first week of sprint before the 29th of July
3 hrs of meetings to walk Kevin, Prabhu and Max through the deployment in LZ0 or LZ1, running reports
Document as much as possible along the way either in the repo itself or in the cloudops private repo
Dev on the team is familiar with deploying the billing utility on any of the landing zones.
The next dev is conversant with running manual billing report generation
When phasing out the old billing mechanism in LZ2, dev is familiar with resources that need to be removed or replaced.  Clean up the older resources and remove ones with similar names.  Remove glue crawler (now handled by terraform IaC), athena components)

Had 1 hour meeting on Monday. Provided a high level overview of the revised design. Second meeting scheduled for Tuesday, July 26.

Had additional meetings on the 26th and 27th. Validated manual deployment to LZ0 and also generating reports for arbitrary time frames. Closing on that note.


datatable mediaview component

New component that allows media links in the data table to be opened directly in a new dialog window.

new components:

MediaviewComponent: clickable links for mediafiles in the data table
MediaviewDialogComponent: dialog window for media files (image, audio, video)
MediaviewPlaylistComponent: list of all media files of a data column

TableComponent:

add new MediaviewComponent
method to go through the data table and find media file links

 UI: Links in Datentabelle erkennen und anklickbar machen

bors merge


Problem: cyrptoconditions dependency updated because of vulnerability

cyrptoconditions dependency updated because of vulnerability CVE-2018-10903
See https://github.com/bigchaindb/cryptoconditions/issues/105 and https://github.com/bigchaindb/cryptoconditions/issues/107

This is a good start, but first we've got to get https://github.com/bigchaindb/cryptoconditions/pull/111 passing and merged, then we can do a new release of the cryptoconditions package (maybe version 0.7.2) and then we can get this PR updated and passing.

Codecov Report

Merging #2494 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #2494   +/-   ##
=======================================
  Coverage   91.48%   91.48%
=======================================
  Files          41       41
  Lines        2397     2397
=======================================
  Hits         2193     2193
  Misses        204      204


Sets upstream status for BATCH_RUNNING jobs to UPSTREAM_RUNNING

This was an oversight and is now fixed.

Thanks. Was the consequence a runtime crash in the scheduler?

I'm not sure there was a consequence to this, as we use STATUS_TO_UPSTREAM_MAP.get(dep.status, '') when retrieving from the map and UPSTREAM_RUNNING is never used anywhere. That's probably why I overlooked it in the PR even though it was in my fork. It might cause reporting scripts that use the API or a future feature to report incorrect results.


removing old notebooks dir and broken profiler-example code

@jameshensman, ping :)

Hey @alexggmatthews , sorry to have dropped the ball on this one.
The profiler code was broken because it was in the gpflow/notebooks dir, when everything else (including simple_regression, which it references) is in doc/source/notebooks.
Moving this file to be with the others declutters by removing the (now empty) gpflow/notebooks dir.