Install conflict between mainnet and testnet

Purpose
_Describe the purpose of the pull request, link to issue describing the problem, etc.
Changes
_Describe the changes that were needed.
Checklist

[ ] My code follows the style of this project.
[ ] The code compiles without warnings.
[ ] I have performed a self-review of the changes.
[ ] I have documented my code, in particular the intent of the
hard-to-understand areas.
[ ] (If necessary) I have updated the CHANGELOG.

CLA acceptance
_Remove if not applicable.
By submitting the contribution I accept the terms and conditions of the
Contributor License Agreement v1.0

link: https://developers.concordium.com/CLAs/Contributor-License-Agreement-v1.0.pdf

[x] I accept the above linked CLA.

Provider Authority were identical between mainnet and testnet bilds, preventing both builds to be installed the same time. These are now unique.


Release/extensions

Added extension #29 for Idera SQL DM Performance Insights extension in extensionGallery.json and extensionGallery-insider.json files.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: rrgiles sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Support for ffmpeg 5.1.2

When i run this:
$ export PKG_CONFIG_PATH="/usr/local/opt/ffmpeg@5/lib/pkgconfig"
$ export CGO_CXXFLAGS="-I/usr/local/opt/ffmpeg@5/include"
$ export CGO_LDFLAGS="-L/usr/local/opt/ffmpeg@5/lib/"
$ go build .
# github.com/asticode/go-astiav
./format_context_flag.go:25:54: could not determine kind of name for C.AVFMT_FLAG_KEEP_SIDE_DATA
./format_context_flag.go:22:54: could not determine kind of name for C.AVFMT_FLAG_MP4A_LATM

However, when i use ffmpeg@4 which is version 4.4.3; it suddenly works.
$ export PKG_CONFIG_PATH="/usr/local/opt/ffmpeg@4/lib/pkgconfig"
$ export CGO_CXXFLAGS="-I/usr/local/opt/ffmpeg@4/include"
$ export CGO_LDFLAGS="-L/usr/local/opt/ffmpeg@4/lib/"

As indicated in the README, for now astiav is not compatible with version 5 of ffmpeg.
However this is on my TODO list 👍

Sorry, didnt notice that.
Any clue what the issue is. I can work on creating a PR.

There were some breaking changes between v4 et v5, I have a local branch in which I've been working on bumping ffmpeg to v5 but it still needs some work.


Make CAP LC CAPmons show as CAP LC

Also gave Voodoom it's new move Flash Cannon, which gave it much more viability

This would involve adding CAP LC as a tier on client too.

Oh ok @HoeenCoder I can make a PR for it in tandem then

You have to support CAP LC on the client, first.

In tandem with ^

Uh, there are multiple problems here. Not all CAP prevos qualify for LC, and by changing their tier from "CAP" they're all going to be illegal in CAP formats. Did you even test this?
Also @Zarel can we stop merging nonessential things instantly? Give people who have more than general knowledge in the relevant area like, several hours of time to review, please.


Refactor multiple selection

@Tom-Ski want to review event firing in ViewportWidget file related to Gizmos.


Add a way to save the prompt with a name

Can we have a way to save the prompt with a name, so that the option in the contextual menu is clearer and concise?

Feature implemented and out now!

Thanks @giosilvi


How to change the dashboard to Chinese?

The more we know about your system and use case, the more easily and likely we can help.
Environment info

OS: windows
App Version (Command/Ctrl + ,): 1.7.0

Description of the problem / feature request / question:
How to change the dashboard to chinese. i can't find the setting from menu, but the setup dir of "Lepton\locales" got zh-CN.pak
If possible, provide a sample gist or screenshot:

@hackjutsu ok, thanks


Quick cleanup

Weird, the tests seem to be failing on a perfectly valid es6 array destructure
let [_, min_result, max_result, total_results] = resultsRe.exec(selector('div.tabs + div'));

Node v4.4.5 does not have array destructure, merging this pull request and fixing the issues


fix: USMap and Column default colorScale is default

Description
Fixes https://github.com/evidence-dev/evidence/issues/2908
Note: This is a change in behaviour and should be included in the release notes for upgrading users.

Checklist

[ ] For UI or styling changes, I have added a screenshot or gif showing before & after
[x] I have added a changeset
[x] I have added to the docs where applicable
[ ] I have added to the VS Code extension where applicable

These defaults look quite different in dark mode to semantic tokens.
This is expected, but somewhat visually different


Event notifications breaking

After clicking around on the notifications we still have errors getting thrown

This has been taken care of, correct?

yes, this specific issue does not exist after https://github.com/linode/manager/pull/1099


Command Injection space alternatives

This PR adds two use cases where spaces (0x20) and braces ({ }) are removed from a payload.

18 (+)


[TEST] Test deploy w/o artifacts

This is a test to determine if the master branch is deployable at all,
even without artifacts.

recheck_cit_container_ansible_lint_tox_test

recheck_container_ansible-lint_tox-test

looks like yes?


<EMAIL_ADDRESS>hash check failed

I've tried reinstalling it, here's my output:
$ scoop update
Updating Scoop...
Updating 'extras' bucket...
Updating 'games' bucket...
Updating 'janet-lang' bucket...
Updating 'main' bucket...
Updating 'nerd-fonts' bucket...
Updating 'nirsoft' bucket...
Updating 'spotify' bucket...
Scoop was updated successfully!
$ scoop uninstall spotify-latest
ERROR 'spotify-latest' isn't installed.
$ scoop install spotify-latest
Installing 'spotify-latest' (<IP_ADDRESS>8.g891674f3) [64bit]
SpotifyFullSetup.exe (74.7 MB) [===========================================================================] 100%
Checking hash of SpotifyFullSetup.exe ... ERROR Hash check failed!
App:         spotify/spotify-latest
URL:         https://download.scdn.co/SpotifyFullSetup.exe
First bytes: 4D 5A 90 00 03 00 00 00
Expected:    7694b896b1e2984a4ab53ded1c8762f45786357dd46192a507dbd53534fb4789
Actual:      35ce7176234b5a050472f00e102fc50ab64ad8e96d53eff66f30f2217938723d

Please try again or create a new issue by using the following link and paste your console output:
https://github.com/TheRandomLabs/Scoop-Spotify/issues/new?title=spotify-latest%4<IP_ADDRESS>8.g891674f3%3a+hash+check+failed
$ scoop uninstall spotify-latest
Uninstalling 'spotify-latest' (<IP_ADDRESS>8.g891674f3).
'spotify-latest' was uninstalled.
$ scoop install spotify-latest
Installing 'spotify-latest' (<IP_ADDRESS>8.g891674f3) [64bit]
SpotifyFullSetup.exe (74.7 MB) [===========================================================================] 100%
Checking hash of SpotifyFullSetup.exe ... ERROR Hash check failed!
App:         spotify/spotify-latest
URL:         https://download.scdn.co/SpotifyFullSetup.exe
First bytes: 4D 5A 90 00 03 00 00 00
Expected:    7694b896b1e2984a4ab53ded1c8762f45786357dd46192a507dbd53534fb4789
Actual:      35ce7176234b5a050472f00e102fc50ab64ad8e96d53eff66f30f2217938723d

Please try again or create a new issue by using the following link and paste your console output:
https://github.com/TheRandomLabs/Scoop-Spotify/issues/new?title=spotify-latest%4<IP_ADDRESS>8.g891674f3%3a+hash+check+failed

Can you download https://download.scdn.co/SpotifyFullSetup.exe and tell me what the version is in the executable properties?

Is this what you were referring to?

Yeah, looks like you're getting a slightly older version of Spotify for some reason.

What happens if you try this link? http://download.spotify.com/SpotifyFullSetup.exe

And the files seem to be the same:
PS> $scdn = ls '.\SpotifyFullSetup.exe'
PS> $spotify = ls '.\SpotifyFullSetup(1).exe'
PS> $scdn,$spotify

    Directory: C:\Users\User\Downloads

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         6/27/2020  12:25 PM       78353520 SpotifyFullSetup.exe
-a----         6/27/2020  12:25 PM       78353520 SpotifyFullSetup(1).exe

PS> (Get-FileHash $scdn).Hash -eq (Get-FileHash $spotify).Hash
True
PS> $scdn,$spotify | %{ "$($_.BaseName):`t$((Get-FileHash $_).Hash)" }
SpotifyFullSetup:       35CE7176234B5A050472F00E102FC50AB64AD8E96D53EFF66F30F2217938723D
SpotifyFullSetup(1):    35CE7176234B5A050472F00E102FC50AB64AD8E96D53EFF66F30F2217938723D

Spotify's CDN for your location is most likely lagging behind. It'll probably fix itself soon, but you can skip the hash check with --skip or -s. There's nothing much I can do about this apart from maybe hosting the installer in this repo.


(wip) wallet-ext: sui denomination

closing this in favour of https://github.com/MystenLabs/sui/pull/5401


About transactional operations on file system

In some cases, there may be a need to update/delete operation for two different files in the same transaction. For example, when updating a terminolosy system file, job files using that terminology service should be updated as well.
Since we use file system as repository, we have to handle transactional operations and implement some kind of rollback mechanism ourselves.

When we implement a new backend mechanism for execution management, we can move this file-based database of ours to that persistent backend and implement the transactions there (possible within a relational database).


NixOS install

Got inspired by your video when you installed DWM on NixOS.
Could you please show me what I need to put into my configuration.nix to get it working in NixOS?

  services.xserver.windowManager.dwm = {
    enable = true;
    package = pkgs.dwm.overrideAttrs {
      src = pkgs.fetchFromGitHub {
        owner = "christitustech";
        repo = "dwm-titus";
        rev = "main";
        sha256 = "sha256-jC1TYDMEzrB0qLc0K8AOcGsep9T2l3sJSja0BuvgkZ0=";
      };
      buildInputs = with pkgs; [
        imlib2Full
        xorg.libX11
        xorg.libX11.dev
        xorg.libXft
        xorg.libXinerama
        xorg.libXrender
        xorg.libxcb
        fontconfig
        gnumake
        gcc
      ];
    };
  };

You will still run into issues where copying the dwm.desktop file happens, as Nix will not allow that. I suggest cloning the repo, changing the src to the path of the clone, and removing the following two lines from the Makefile:
mkdir -p /usr/share/xsessions/
test -f /usr/share/xsessions/dwm.desktop || install -Dm644 dwm.desktop /usr/share/xsessions/

Then try rebuilding. It will work.

Thank you! will give of a shot later today and report

@QuantumriderAGI close this issue if you got dwm working on your NixOS system, thanks ...


Unable to run transformer blip2 model in the cog predict

Hi i been trying to create a simple blip2 model deployment through cog into the replicate but i am unable to do so it ends in the following error, Can someone help me to find the issue?
Code i am using:
from cog import BasePredictor, Input, Path
from PIL import Image
import requests
from transformers import Blip2Processor, Blip2ForConditionalGeneration
import torch

class Predictor(BasePredictor):
    def setup(self):
        self.device = "cuda" if torch.cuda.is_available() else "cpu"
        self.processor = Blip2Processor.from_pretrained("Salesforce/blip2-opt-2.7b")
        self.model = Blip2ForConditionalGeneration.from_pretrained(
            "Salesforce/blip2-opt-2.7b", torch_dtype=torch.float16
        ).to(self.device)
    # The arguments and types the model takes as input
    def predict(self,
            filepath: Path = Input(description="Image to run inference on"),
            text: str = Input(description="Insert Your query",default="define image")
    )-> str:
        """Run a single prediction on the model"""
        # url = "http://images.cocodataset.org/val2017/000000039769.jpg"
        image = Image.open(filepath)
        prompt = "Question:"+ text + "? Answer:"
        inputs = self.processor(images=image, text=prompt, return_tensors="pt").to(self.device, torch.float16)
        generated_ids = self.model.generate(**inputs)
        generated_text = self.processor.batch_decode(generated_ids, skip_special_tokens=True)[0].strip()
        return generated_text

Output and Error
Running prediction...
Traceback (most recent call last):
File "/root/.pyenv/versions/3.8.16/lib/python3.8/site-packages/cog/server/worker.py", line 217, in _predict
result = predict(**payload)
File "predict.py", line 24, in predict
generated_ids = self.model.generate(**inputs)
File "/root/.pyenv/versions/3.8.16/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/root/.pyenv/versions/3.8.16/lib/python3.8/site-packages/transformers/models/blip_2/modeling_blip_2.py", line 1824, in generate
image_embeds = self.vision_model(pixel_values, return_dict=True).last_hidden_state
File "/root/.pyenv/versions/3.8.16/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/root/.pyenv/versions/3.8.16/lib/python3.8/site-packages/transformers/models/blip_2/modeling_blip_2.py", line 559, in forward
hidden_states = self.embeddings(pixel_values)
File "/root/.pyenv/versions/3.8.16/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/root/.pyenv/versions/3.8.16/lib/python3.8/site-packages/transformers/models/blip_2/modeling_blip_2.py", line 114, in forward
patch_embeds = self.patch_embedding(pixel_values)  # shape = [*, width, grid, grid]
File "/root/.pyenv/versions/3.8.16/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/root/.pyenv/versions/3.8.16/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 463, in forward
return self._conv_forward(input, self.weight, self.bias)
File "/root/.pyenv/versions/3.8.16/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 459, in _conv_forward
return F.conv2d(input, weight, bias, self.stride,
RuntimeError: GET was unable to find an engine to execute this computation
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x87cc7b]

goroutine 1 [running]:
github.com/replicate/cog/pkg/cli.predictIndividualInputs({{{0x0, 0x0, 0x0}, {0xc0000aa050, 0x1, 0x1}, {0x9582dd, 0x3}, {0xc000115e00, 0x1a}, ...}, ...}, ...)
        /home/runner/work/cog/cog/pkg/cli/predict.go:179 +0x41b
github.com/replicate/cog/pkg/cli.cmdPredict(0xc00020f200?, {0xc0001cb580?, 0x4?, 0x4?})
        /home/runner/work/cog/cog/pkg/cli/predict.go:135 +0x6fe
github.com/spf13/cobra.(*Command).execute(0xc00020f200, {0xc0001cb540, 0x4, 0x4})
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:916 +0x862
github.com/spf13/cobra.(*Command).ExecuteC(0xc00020e000)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:1044 +0x3bd
github.com/spf13/cobra.(*Command).Execute(...)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:968
main.main()
        /home/runner/work/cog/cog/cmd/cog/cog.go:14 +0x6f

Hi @swapnil-lader. It looks like this is failing in PyTorch with the error "GET was unable to find an engine to execute this computation". My understanding is that this can happen when the CUDA version of Torch doesn't match the CUDA version of the system.
To help us debug, could you please provide the following:

The cog.yaml file
The output of running nvidia-smi
The output of running nvcc --version
Any additional information about how you're running this model

Cog.yaml file information
Configuration for Cog ⚙
Reference: https://github.com/replicate/cog/blob/main/docs/yaml.md
build:
set to true if your model requires a GPU
gpu: true
a list of ubuntu apt packages to install
system_packages:
- "libgl1-mesa-glx"
- "libglib2.0-0"
python version in the form '3.8' or '3.8.12'
python_version: "3.8"
a list of packages in the format ==
python_packages:
- "salesforce-lavis"
- "pillow"
- "opencv-python"
commands run after the environment is setup
run:
# - "echo env is ready!"
# - "echo another command if needed"

predict.py defines how predictions are run on your model
predict: "predict.py:Predictor"
#nvidia-smi

#nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

Could you print out the cuda version of torch?
Add the following to the Python code:
print(torch.version.cuda)

Could you print out the cuda version of torch?
Add the following to the Python code:
print(torch.version.cuda)

Hey, I resolved my issue with Cuda compatibility thank you so much for your guidance, In addition, I am trying to print the docker file detail. Is it possible to see what Dockerfile cog generates when we are building an image.?

Is it possible to see what Dockerfile cog generates when we are building an image.?

cog debug

Hi, have the same error, torch.version.cuda = 11.7
btw, why it prints it twice , while print executed in the beginning of predict.py ?
my error:
11.7
11.7
Running prediction...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x87caf1]

goroutine 1 [running]:
github.com/replicate/cog/pkg/cli.predictIndividualInputs({{{0x0, 0x0, 0x0}, {0xc0004f6050, 0x1, 0x1}, {0x9582dd, 0x3}, {0xc0000291b8, 0x15}, ...}, ...}, ...)
        /home/runner/work/cog/cog/pkg/cli/predict.go:165 +0x251
github.com/replicate/cog/pkg/cli.cmdPredict(0xc000227200?, {0xc0001f2a80?, 0x2?, 0x2?})
        /home/runner/work/cog/cog/pkg/cli/predict.go:135 +0x6fe
github.com/spf13/cobra.(*Command).execute(0xc000227200, {0xc0001f2a60, 0x2, 0x2})
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:916 +0x862
github.com/spf13/cobra.(*Command).ExecuteC(0xc000226000)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:1044 +0x3bd
github.com/spf13/cobra.(*Command).Execute(...)
        /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:968
main.main()
        /home/runner/work/cog/cog/cmd/cog/cog.go:14 +0x6f

my code is here, in fact I just don't know what to return from function :)

Make sure to match the base torch cuda version with your cog container version , also to return a path create a temp directory save file that you want it to return and pass that path as return there is example for the same in the cog documentation.

Make sure to match the base torch cuda version with your cog container version , also to return a path create a temp directory save file that you want it to return and pass that path as return there is example for the same in the cog documentation.

Just got it, is it possible to not shutdown container after each predict, I tried yield PATH, but it seems it needed if I want to make serie of files in one predict.

about a server, I got it right, that I need to implement api calls myself if I want to keep model loaded sometime  and do predictions ?


About training

Hi~
Thanks for your nice work.... But when reproducing the results, i met some problems.
I used the training instructions as below to train fusion model(diden't load pretrained lidar model),
torchpack dist-run -np 1 python tools/train.py configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml
but my val mAP is always zero, like this:(scalars from tensorboard, trained after 5 epochs)

Is it normal? Is there any details when training that i dont'know??
This is the traing loss:

and my batchsize is 2 (2 GPUS, samples_per_gpu = 1)

Hi @YangChen1234567,
Sorry for missing that issue. I believe you should use the training command for the fusion model provided by us in the current main branch.
Best,
Haotian

Closed due to inactivity. Please feel free to reopen if you feel it necessary.


Document deprecation plan in release notes

Documenting our plan to remove Marathon features in upcoming releases.

We may need to update this plan a little bit.
I was just informed that the Mesos HTTP health checks have a limitation such that only one HealthCheck per container can be assigned.
https://issues.apache.org/jira/browse/MESOS-5962


Identifier pattern causes Parse error

pattern = ()

hlint:
/tmp/a.hs:1:9: Warning: Parse error: =
Found:
    pattern = ()

  >

1 suggestion

Looks like pattern is recognized as a keyword.

Yep, with the new pattern keyword in GHC this code will fail to parse. Have you ought about using a different identifier name? If pattern synonyms ever become default on GHC this code will have issues. Alternatively pass -XNoPatternSynonyms to HLint.

In GHC PatterSynonyms extension is disabled by default. Is it good for HLint to have it enabled by default?

Yes/no/maybe. I generally enable all extensions that don't break "too many" files. Sometimes people enable their extensions in Cabal or in a build system, so turning on as many as possible makes fewer files fail. In addition, if pattern is becoming a semi-supported GHC keyword, avoiding it in normal use is probably a good idea anyway. There are certain extensions that go on the black list, see https://github.com/ndmitchell/hlint/blob/master/src/Util.hs#L125 - currently:
badExtensions =
    [Arrows -- steals proc
    ,TransformListComp -- steals the group keyword
    ,XmlSyntax, RegularPatterns -- steals a-b
    ,UnboxedTuples -- breaks (#) lens operator
    ,QuasiQuotes -- breaks [x| ...], making whitespace free list comps break
    ,DoRec, RecursiveDo -- breaks rec
    ]

Given pattern seems like it should be a GHC keyword (given that type, class etc all are), I'd suggest most code rewrites to avoid the word pattern, but if it turns out there's more code than expected, I'll add it.


Advance to "Allow dynamic fields on distinct and group_by" commit.

Coverage remained the same at 83.657% when pulling e1afe3837a6ad00740e07a8515a7d520f5736188 on allow-dynamic-fields into 78aa134e7309a7e14f3c4f6f6d2436f497a622b3 on master.

Coverage remained the same at 83.657% when pulling e1afe3837a6ad00740e07a8515a7d520f5736188 on allow-dynamic-fields into 78aa134e7309a7e14f3c4f6f6d2436f497a622b3 on master.


How to use request cookie string

I want to use a request header cookie string in go http client
eg.

req, _ := http.NewRequest()
req.Header.Set("cookie", cookieStr)
http.DefaultClient.Do(req)

cookieStr is what I was hoping for

It seems that the question has nothing to do with chromedp. Anyway, maybe this example will give you a clue: https://www.github.com/chromedp/examples/tree/master/cookie/main.go.
Closing as of now.


Wrap configuration in RefCell

This will mean we can mutate it (to update datalogs/serials we discover)

Codecov Report

Merging #83 (b24a078) into master (8488dfd) will decrease coverage by 0.15%.
The diff coverage is 33.84%.

@@            Coverage Diff             @@
##           master      #83      +/-   ##
==========================================
- Coverage   50.72%   50.57%   -0.16%
==========================================
  Files          22       22
  Lines        2072     2092      +20
==========================================
+ Hits         1051     1058       +7
- Misses       1021     1034      +13

Impacted Files
Coverage Δ

src/lib.rs
29.23% <0.00%> (ø)

src/mqtt.rs
28.00% <0.00%> (-1.48%)
:arrow_down:

src/scheduler.rs
0.00% <0.00%> (ø)

src/coordinator/mod.rs
48.09% <85.71%> (+0.24%)
:arrow_up:

src/influx.rs
78.84% <90.00%> (+0.84%)
:arrow_up:

src/config.rs
71.42% <100.00%> (+3.13%)
:arrow_up:

... and 1 more

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 8488dfd...b24a078. Read the comment docs.


Do I need to pad?

Excuse me for the noob question, I have sequences of different lengths and I use:
model = AutoregressiveWrapper(model, ignore_index=PAD_ID, pad_value=PAD_ID)

Do I need to pad as in this example or not?
def __getitem__(self, index):
        seq_tokens = self.examples[index]
        input_ids = torch.tensor(seq_tokens, dtype=torch.long)
        input_ids = F.pad(input_ids, (seq_len - len(input_ids), 0), value=self.pad_value)
        return input_ids

@timsoraro oh man, I wished I had finished this before you came! I am enroute to having this be abstracted away just like reformer-pytorch (bringing in the AutoPadder class). I'll try to get it done and tested by tonight
basically, Sinkhorn comes with the drawback that it is fixed to a certain number of buckets, but after toying around with it, I realized it is unable to generalize to different sequence lengths and window sizes. After a lot of experimentation, I think I have prepared a new sorting network that should be able to do so, and I can at least pad it to multiples of the bucket size, but it requires reframing the code differently, since everything is coded to number of buckets rather than bucket size. So, TLDR, for now you will have to actually pad to the maximum sequence length and set the appropriate input mask :|
I should be able to get this done by tomorrow though! Want me to ping you when it is finished? I've been hoping you would come lol

Haha, that would be awesome, thanks a lot!

Btw, I sent you an email to your Gmail account (:

@timsoraro got your email :) I'll try to have this done by end of the week!

@timsoraro I think it is ready in 0.5.1, ahead of schedule!

@lucidrains Awesome, going to test (:
Do I still need to pad using this line?
input_ids = F.pad(input_ids, (seq_len - len(input_ids), 0), value=self.pad_value)

@timsoraro no, you shouldn't have to! the AutoRegressive class wraps it all in the Autopadder, which takes care of all padding issues for you

Great (:


[Admin] Publish

Learn Build status updates of commit 1b5b60b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded
View

docs/includes/mac-command-line.md
:white_check_mark:Succeeded
View

docs/includes/start-web-sideload-instructions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Update dock.rst

Addition of show-recents covering the 'Show recent applications in Dock' introduced in Mojave.
Pending pull request in erikberglund/ProfileManifests.

Pull request with erikberglund/ProfileManifests has been approved.


Race condition on connection restart

This can happen when the connection is broken either without a Disconnect packet from the server, or when trio's subtask execution order causes the loop in _manage_connection to restart while the disconnect packet is still in the input buffer, unprocessed.
    +-+---------------- 1 ----------------
      | Traceback (most recent call last):
      |   File "/src/mqttproto/src/mqttproto/async_client.py", line 339, in _manage_connection
      |     await self._do_handshake()
      |   File "/src/mqttproto/src/mqttproto/async_client.py", line 347, in _do_handshake
      |     self._state_machine.connect(
      |   File "/src/mqttproto/src/mqttproto/client_state_machine.py", line 110, in connect
      |     self._out_require_state(MQTTClientState.DISCONNECTED)
      |   File "/src/mqttproto/src/mqttproto/_base_client_state_machine.py", line 188, in _out_require_state
      |     raise MQTTProtocolError(
      | mqttproto.MQTTProtocolError: cannot perform this operation in the CONNECTED state (must be in one of the following states: DISCONNECTED)

I guess you're finding out why I haven't released this project to the PyPI yet :smile:

Looks like. Oh well. I'd rather hack on this stuff than continue to wrangle with three layers of PAHO callback legacy.
NB Paho is trivially convertible to sans-io if you squint at it the right way, but that doesn't change the fact that it's a heap of ugly code with very slim chances to get that accepted.

For sure. By the time I suspended my work on this, I had only just verified basic pub/sub operation against EMQX which I talked about on the AnyIO Gitter.


Cake 5

Replaces https://github.com/FriendsOfCake/bootstrap-ui/pull/386 ?

Did you make a 4.x branch before the merge (of master)?

https://github.com/FriendsOfCake/bootstrap-ui/tree/4.x


Fall back to software PWM if hardware PWM not supported

As discussed in #73, this implements the ability to fall back to a software-generated PWM if the specified pin doesn't support hardware PWM.
This is transparent to the user which is good - because things like RGB LEDs will "just work". It's also bad - because each software PWM has a CPU penalty.
This is achieved using a fork of raspi-pwm, called raspi-soft-pwm that wraps Wiring Pi's Software PWM support.
Currently, raspi-soft-pwm isn't pushed to the NPM registry as I wanted to get feedback on this approach first.

That's a much better approach. I'll make those changes in the next week or so.

As suggested, I've updated this branch to use @tralves' raspi-soft-pwm. Passing { enableSoftPwm: true } to the constructor will enable this functionality. By default software PWM will not be enabled.
I've tested this using Johnny-Five's LED.fade() but not with anything more precise like a servo.

Note: I just added some changes that causes a merge conflict. Note how there are some options being passed to the constructor now (which is one conflict), and I documented them in README, which is the other.

Thanks for taking the time to look over this and to write such detailed feedback, I really appreciate it.
I've merged from master, fixed the conflicts and made all of your suggested changes.

I was testing this out locally. I rebased against master and rebuilt the file. I'm using this code:
var raspi = require('raspi-io');
var five = require('johnny-five');
var board = new five.Board({
  io: new raspi({ enableSoftPwm: true })
});

board.on('ready', function() {
  var servo = new five.Servo('GPIO17');
  servo.to(0);
});

And I get this error:
1480104448480 Device(s) RaspberryPi-IO
1480104448555 Connected RaspberryPi-IO
1480104448580 Repl Initialized
>> /home/pi/test/node_modules/pigpio/pigpio.js:86
  pigpio.gpioPWM(this.gpio, +dutyCycle);
         ^

Error: EINVAL, Invalid argument
    at Error (native)
    at Gpio.pwmWrite (/home/pi/test/node_modules/pigpio/pigpio.js:86:10)
    at SoftPWM.write (/home/pi/test/node_modules/raspi-soft-pwm/lib/index.js:85:18)
    at Raspi.servoWrite (/home/pi/test/node_modules/raspi-io/lib/index.js:573:30)
    at Servo.value (/home/pi/test/node_modules/johnny-five/lib/servo.js:73:17)
    at Servo.to (/home/pi/test/node_modules/johnny-five/lib/servo.js:288:12)
    at Board.<anonymous> (/home/pi/test/test.js:9:9)
    at emitNone (events.js:91:20)
    at Board.emit (events.js:185:7)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)

The error was occurring because Raspi-PWM has a range of 1000 whilst I was setting the SoftPWM range to 255. This meant the duty cycle was being calculated as a non-integer number.
I've changed the SoftPWM range to 1000 which fixes the issue. Hopefully that's ok?

We're getting closer, but it's still not quite there because the frequency that we're getting out of software PWM is 800Hz, not 50Hz.

In this oscilloscope shot, the blue is hardware PWM, and is the correct frequency, but the red is software PWM and as you can see is a very different frequency.
This makes makes sense too given the raspi-soft-pwm config settings. If you add the frequency option and set it to 50, then it works fine.

I've made the changes as requested so I hope the frequency matches now. 📈 📉
It'd be interesting to hear your thoughts on how the hardware and software PWM performance compares.

I think this is ready to land, hooray!! 🎉🎉🎉
I'd like to get this pull request landed before I publish the next version of Raspi IO to npm, because that PR has a breaking change and version bump to v2, and I'd prefer to avoid having to do a breaking change in Raspi IO itself right after this is landed (there's nothing to break if we wait). Hopefully @tralves can get that landed soon, so hold tight in the mean time!

I'll merge it later today. Thanks!
On Mon, 28 Nov 2016, 18:49 Bryan Hughes<EMAIL_ADDRESS>wrote:

Merged #74 https://github.com/nebrius/raspi-io/pull/74.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nebrius/raspi-io/pull/74#event-874266941, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACevo-jxgQjH9vytOc42MZmlM7imdYZeks5rCz5igaJpZM4KY2e_
.

Note that with pigpio when the sampling rate is 5 microseconds, the default range at 50Hz is 4000 which implies 200 steps per millisecond (4000/20). However, this PR sets the range to 1000 in SERVO_MODE. This implies 50 steps per millisecond (1000/20) which isn't quite as good.

This is important as the dutycycle for servo pulses is typically 1 to 2 milliseconds and the more steps the better.


[5.4] Regression with loading of nested config files

Laravel Version: 5.4
PHP Version: 7.0.14
Database Driver & Version: N/A

Description:
Due to changes to src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php within a00b601, nested config files are no longer loaded correctly.
The bug was introduced with the removal of the getConfigurationNesting method, and the alteration to getConfigurationFiles.
The issue is that a config file within a folder, such as config/package/general.php, will not be able to be read with config('package.general'), but instead only with config('general') because the nesting data is discarded.
A secondary issue is that when two separate nested config files with the same name are loaded (such as config/a/general.php and config/b/general.php), the file read last will overwrite the previously loaded one. Finder seems to order folders-first, alphabetically - so in this case config/b/general.php can be read with config('general'), but /a/ is lost.
Steps To Reproduce:
$ laravel new config-regression --dev
$ cd config-regression && \
  mkdir config/a && \
  echo "<?php return ['somekey' => 'somevalue'];" > config/a/general.php
$ php artisan tinker
>>> config('a')
=> null
>>> config('general')
=> [
     "somekey" => "somevalue",
   ]

As a comparison (5.3)
$ laravel new everything-is-fine
$ cd everything-is-fine && \
  mkdir config/a && \
  echo "<?php return ['somekey' => 'somevalue'];" > config/a/general.php
$ php artisan tinker
>>> config('a')
=> [
     "general" => [
       "somekey" => "somevalue",
     ],
   ]
>>> config('general')
=> null

Nested configuration files are not going to be supported in 5.4.

I'm curious why you needed a folder nested within the config directory?

I'm of the opinion of @robmilward

I'm curious why you needed a folder nested within the config directory?

@taylorotwell For starters it allows package developers to better organise the published config files from their own packages. I've done it and still do, but i do realise not a lot of people do it.
Let's imagine i have a couple of packages under the same vendor and all of these packages have their set of configuration files (1 or many)
What looks better
config/my-vendor/package-a/config.php
config/my-vendor/package-a/config-second.php
config/my-vendor/package-b/config.php
config/my-vendor/package-b/config-second.php
config/my-vendor/package-c/config.php
config/my-vendor/package-d/config.php
config/my-vendor/package-e/config.php

Or
config/my-vendor-package-a-config.php
config/my-vendor-package-a-config-second.php
config/my-vendor-package-b-config.php
config/my-vendor-package-b-config-second.php
config/my-vendor-package-c-config.php
config/my-vendor-package-d-config.php
config/my-vendor-package-e-config.php

If you'll ask me, i would say option 1 without a blink as it keeps the config folder more cleaner.
If we can organise controllers, models etc.. with our own way, why can't we organise the config folder the same way?
Just leaving my opinion and by the end of the day, it is what it is :)

I'm curious why you needed a folder nested within the config directory?

@taylorotwell - @brunogaspar has pretty much exactly described the reason
I'm beginning to build a set of interconnected packages but wanted to keep their configuration completely separated from the system config, but still grouped. The ability to nest is a good way of namespacing them so I don't litter the config folder with:
package-general.php
package-something.php
package-another.php

It also ties in nicely when merging configs in the package providers:
// In vendor/package-general's provider
$this->mergeConfigFrom(
    '/path/to/config/general.php', 'package.general'
);

// In vendor/package-something's provider
$this->mergeConfigFrom(
    '/path/to/config/something.php', 'package.something'
);

// In vendor/package-another's provider
$this->mergeConfigFrom(
    '/path/to/config/another.php', 'package.another'
);

I'm having @themsaid take a look at bringing it into 5.4.

PR submitted https://github.com/laravel/framework/pull/17396


Option to mark as friendly?

I have an NPC marked as friendly towards the party (Under configure NPC alliance is set to Party) but whenever the players move in combat it tells me he can do an attach of oppertunity which gets really annoying every combat

Was added in 0.2.23

perfect! Will get back to you if I find any issues with it during my session this weekend

Great, thank you for your help


api: Set network name as part of the network usage response

Problem: Network name is not part of the network usage response
Root Cause: Code does not set the network name
Solution: Set the network name for network usage type usage records in the API response
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

@blueorangutan package

@borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian.  I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2771

@rhtyd I think this is ready to merge (still tagged [WIP])

@DaanHoogland we're waiting for @PaulAngus or @andrijapanic 's test confirmation.

I don't like the "name" being used. Why not "network", to be consistent with i.e. "project" and "projectid" or "domain" and "domainid" ?
Can we please change it?

LGTM


KOGITO-8874 Update documentation to use kn-workflow quarkus

JIRA: https://issues.redhat.com/browse/KOGITO-8874

Description:

Use kn workflow quarkus commands in the docs. This is used in the kn-workflow for quite a time.
Update version of kn workflow recommended by the docs.

Please make sure that your PR meets the following requirements:

[x] You have read the contributions doc
[x] Pull Request title is properly formatted: KOGITO-XYZ Subject
[x] Pull Request title contains the target branch if not targeting main: [0.9.x] KOGITO-XYZ Subject
[x] The nav.adoc file has a link to this guide in the proper category
[x] The index.adoc file has a card to this guide in the proper category, with a meaningful description

How to backport a pull request to a different branch?

In order to automatically create a backporting pull request please add one or more labels having the following format backport-<branch-name>, where <branch-name> is the name of the branch where the pull request must be backported to (e.g., backport-7.67.x to backport the original PR to the 7.67.x branch).

NOTE: backporting is an action aiming to move a change (usually a commit) from a branch (usually the main one) to another one, which is generally referring to a still maintained release branch. Keeping it simple: it is about to move a specific change or a set of them from one branch to another.

Once the original pull request is successfully merged, the automated action will create one backporting pull request per each label (with the previous format) that has been added.
If something goes wrong, the author will be notified and at this point a manual backporting is needed.

NOTE: this automated backporting is triggered whenever a pull request on main branch is labeled or closed, but both conditions must be satisfied to get the new PR created.

@krisv @ricardozanini please this is ready to be merged


Fix missing "s" in AzureStackCredentials

I pushed your version of the README directly, so not merging. Thanks!


Cloudflare DNS proxy leveraging

What is your feature idea?
Using cloudflare DNS does not allow me to set proxy,
Why is it needed?
This feature is a key reason we use CloudFlare for DNS CDN WAF DDOS attack mitigation
Is this missing feature preventing you from using kubefirst?

[X] Yes

Code of Conduct

[X] I agree to follow this project's Code of Conduct

After kubefirst has brilliantly assigned a URL to a specific ingress endpoint and cluster and cert manager has provisioned a certificate using lets-encrypt, I want to turn on proxy for the particular URL but kubefirst will revert it to DNS only after a few seconds.
The poxy is a required feature, as it is key to why I would be using CloudFlare in the first place.
I don't see a way to change a configuration on this, am I missing something or is this missing as a feature?

we use cloudflare dns with proxy turned on with some regularity in our testing environments and it works well for us. we don't natively configure/manage this in your cloudflare zone, but if proxy were turned on it would be used and our expectation is that it works well. we don't use proxy for the reasons you're mentioning, so i may just have a disconnect with your use case.
can you provide the specific details of what action you're conducting to "turn on proxy" for the particular url?

@johndietz Ok, so I see my DNS change as expected to the DNS only when provsioning or changing host in my gitops app registry values.yaml.
Then I often go and turn on Proxy for that URL

A few seconds later it changes right back

@johndietz so maybe it's a bug?
Or is there a place in the gitops to configure this ?


[Event Request] Codeunit 5704 TransferOrder-Post - OnBeforeWhsePostShptPostUpdateWhseDocuments

Hi, would it be possible to get an event OnBeforeWhsePostShptPostUpdateWhseDocuments in Codeunit 5704 TransferOrder-Post, in the OnRun, like this :

OnBeforeWhsePostShptPostUpdateWhseDocuments(WhseShptHeader);
    [IntegrationEvent(false, false)]
    local procedure OnBeforeWhsePostShptPostUpdateWhseDocuments(WhseShptHeader: Record "Warehouse Shipment Header")
    begin
    end;

?
Thanks

Can't you use the existing event OnBeforePostUpdateWhseDocuments() of WhsePostShpt codeunit.

Can't you use the existing event OnBeforePostUpdateWhseDocuments() of WhsePostShpt codeunit.


Android toolchain marked and Android license status unknown

I get these response when i run flutter doctor
"C:\Windows\System32>flutter doctor ==android-licenses
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.2.2, on Microsoft Windows [Version 10.0.19043.1083], locale en-NG)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Chrome - develop for the web
[√] Android Studio
[√] VS Code (version 1.53.0)
[√] Connected device (2 available)

! Doctor found issues in 1 category."

I have installed android, again and again, I have java installed with "java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)"
After running flutter doctor --android-licenses, i get these response
"C:\Windows\System32>flutter doctor --android-licenses --verbose
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
        at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
        at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
        at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 5 more"

I need assistance with this please.
Thanks guys

I guess this is similar to #66907, please read https://github.com/flutter/flutter/issues/66907#issuecomment-742639300

Hi @JudeIsong
First, make sure you've also installed cmd tools and then flutter doctor --android-licenses

If the problem persists, I am not sure where I read it but this is likely a bug with this particular java version too
C:\Users\Taha\Code\android-studio\jre\bin\java
My Java path is set to default JDK that comes with Android Studio itself, which java 11, and there is no issue when executing flutter doctor --android-licenses
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\android-sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\android-sdk
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

I see there's an open issue addressing the case you described.
Please follow up on that issue, Closing as duplicate of https://github.com/flutter/flutter/issues/84325
If you disagree, please write in the comments and I will reopen it.
Thank you


VS Projects not loading

I downloaded the solution and opened it in VS 2019 on windows 10, Projects can't be loaded, get the following errors
LinqPadless-master\src\LinqPadless.csproj : error  : The project file cannot be opened. The SDK resolver "Microsoft.DotNet.MSBuildSdkResolver" failed to run. Inconsistency in workload manifest 'microsoft.net.workload.mono.toolchain': missing dependency 'Microsoft.NET.Workload.Emscripten'
LinqPadless-master\tests\Tests.csproj : error  : The project file cannot be opened. The SDK resolver "Microsoft.DotNet.MSBuildSdkResolver" failed to run. Inconsistency in workload manifest 'microsoft.net.workload.mono.toolchain': missing dependency 'Microsoft.NET.Workload.Emscripten'
LinqPadless-master.lpless\templates\template\ProgramTemplate.csproj : error  : The project file cannot be opened. The SDK resolver "Microsoft.DotNet.MSBuildSdkResolver" failed to run. Inconsistency in workload manifest 'microsoft.net.workload.mono.toolchain': missing dependency 'Microsoft.NET.Workload.Emscripten'

There is a global.json in that pins to the SDK that was used to develop LINQPadless. I suspect that might the problem. It's possible you don't have .NET Core SDK 3.1.101+ installed so either you should install that version or you can try and delete global.json locally to see if it works with the latest SDK you have on your machine.


statusline and generic namespacing

Thanks for the plugin.  I was about to attempt a  lsp diagnostic statusline with Error and Warn count.
The nvim vim.lsp help has an example, but since I am using diagnostic,
I thought I would see what was available, and found
print(vim.inspect(require('util').buf_diagnostics_count('Hint')))

This will do the trick,  but it highlights the namespace problem.
'util' is pretty generic module name and I see the completions plugin has  a 'utilty' module
I think these lua modules should be namespaced to their main module,
either by renaming  util.lua => diagnostic_util.lua or like  'neovim/nvim-lsp'
a child 'diagnostic' dir so you can go require('diagnostic.util')

Yeah that's better, I'll change it to diagnostic/util.lua
Also note that almost everything from util.lua is copied from neovim's source code, some of them was modified a little bit to fit the usage of this plugins. For the buf_diagnostics_count function is just the same(I have to copied it out because I've modifed some local function of neovim's source cod). I've found out when using buf_diagnostics_count in statusline, the CPU usage will be very high, so I recommend not to use it. I'm working on another solution which I'll remember the diagnostic count in diagnostic.lua in every callback. So getting diagnostic count is just getting a variable, which I suppose will ease the high CPU problem. I'm still working on that though, will mention you when I finish it!


Clarify the environment name

I got a bit confused with the hard-coded environment name that has to be unique. Because the README was already using parameters such as <your-subscription-id>, I thought it would be clearer to have <your-environment>.
WDYT ?

Probably not like that.
Firstly, the "short version" is meant to be cut-and-paste.   Maybe changing it to something involving the current date (e.g. jrwa-id-date -f +YYYYmmDDhh - to be tested).
Then the customer can determine the right thing for them.


aot_compile_op_call: stop setting calling convention explicitly

The current logic doesn't work for some cases.
cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/3138
It's unclear why we are setting the calling convention explicitly here at all. In many cases, the default just seems working.

the ci failure looks like https://github.com/bytecodealliance/wasm-micro-runtime/issues/2776
    (import "not wasm" "overloaded" (global i64))
    (import "not wasm" "overloaded" (global f32))
    (import "not wasm" "overloaded" (global f64))
    (import "not wasm" "overloaded" (table 0 funcref))
    (import "not wasm" "overloaded" (memory 0))
  )'
exception is ....'unknown import'
Writing WAST module to 'C:\Users\RUNNER~1\AppData\Local\Temp\tmplthf_pwl.wast'
Compiling WASM to 'C:\Users\RUNNER~1\AppData\Local\Temp\tmp2ye2ialk.wasm'
Running: ./wabt/out/gcc/Release/wat2wasm.exe --enable-thread --no-check C:\Users\RUNNER~1\AppData\Local\Temp\tmplthf_pwl.wast -o C:\Users\RUNNER~1\AppData\Local\Temp\tmp2ye2ialk.wasm
Starting interpreter for module 'C:\Users\RUNNER~1\AppData\Local\Temp\tmp2ye2ialk.wasm'
Running: ../../../product-mini/platforms/windows/build/RelWithDebInfo/iwasm.exe --module-path=C:\Users\RUNNER~1\AppData\Local\Temp --heap-size=0 -v=0 --repl C:\Users\RUNNER~1\AppData\Local\Temp\tmp2ye2ialk.wasm
Removing tempfiles
failed with a non-zero return code 1

spec tests FAILED
Error: Process completed with exit code 1


objectContaining not working after upgrading to 2.0.0

Checklist

[x] I have read Caveats documentation and didn't find a solution for this problem there.

Bug description
expect.objectContaining does not work anymore after upgrading to 2.0.0 and importing aws-sdk-client-mock-jest in test file.
Reproduction
This piece of test code used to work:
for (let i = 1; i <= 10; i++) {
  expect(snsClientMock).toHaveReceivedNthCommandWith(
    i,
    PublishCommand,
    expect.objectContaining({
      TopicArn: 'test-topic',
    }),
  );
}

After upgrading to 2.0.0, it fails to ignore the the rest of the fields in the call even though TopicArn still exists.
Test failure message:
Expected SNSClient to receive 1. "PublishCommand" with ObjectContaining {"TopicArn": "test-topic"}
    SNSClient received "PublishCommand" with input:
    - Expected  - 1
    + Received  + 9

    - ObjectContaining {
    + Object {
    +   "Message": "some test message...",
    +   "MessageAttributes": Object {
    +     "Type": Object {
    +       "DataType": "String",
    +       "StringValue": "Communication",
    +     },
    +   },
    +   "Subject": "MessageMetadataEvent/v1",
        "TopicArn": "test-topic",
      }

Environment

Node version: 16.15.1
Testing lib and version: Jest 29.1.2
Typescript version:
AWS SDK v3 Client mock version: 2.0.0
AWS JS SDK libs and versions: 3.137.0

@delsinz based on my use of v2 it seems like the matcher performs an object containing match, e.g. if you change your code to:
for (let i = 1; i <= 10; i++) {
  expect(snsClientMock).toHaveReceivedNthCommandWith(
    i,
    PublishCommand,
    {
      TopicArn: 'test-topic',
    },
  );
}

it should work! It certainly does for me.

@delsinz based on my use of v2 it seems like the matcher performs an object containing match, e.g. if you change your code to:
for (let i = 1; i <= 10; i++) {
  expect(snsClientMock).toHaveReceivedNthCommandWith(
    i,
    PublishCommand,
    {
      TopicArn: 'test-topic',
    },
  );
}

it should work! It certainly does for me.

Thanks @wrumsby! It does work.
@m-radzikowski could you possibly document this behavior of the matcher in README please?

@m-radzikowski Is there any way to "tighten" the matching rules and disable this default objectContaining matching behavior in my tests?

@delsinz this is exactly as in the examples in the README:
expect(snsMock).toHaveReceivedCommandWith(PublishCommand, {Message: 'My message'});

The expect.objectContaining call is made internally. The aws-sdk-client-mock-jest is a utility to validate sent commands, and doing the objectContaining makes sense for most cases. If you have a more complex scenario and you absolutely need a different behavior, you will need to handle it yourself:
expect(snsMock.commandCalls(PublishCommand)[0].args[0].input).toEqual(...)


Distinguish null components in date/time values

As per the standard, part 5, section 6.2:

A component that is omitted from the string is termed a null component. Trailing null components of Date Time indicate that the value is not precise to the precision of those components. The YYYY component shall not be null. Non-trailing null components are prohibited. The optional suffix is not considered as a component.

As the variants of a PrimitiveValue currently decode date and time values into chrono date/time types, we no longer hold the information of which components were null once decoded from their textual form. The null components are reverted to the "first" values when decoding a date with these: january, day 1, 0 hours, 0 minutes, etc.
Since textual representations are already preserved default (this is done in #9), the DICOM parser will choose to keep DA, TM, and DT as plain text, and thus no information will be lost. Still, it is best to also have some way to store these values in a binary format, one that retains information about null components while still enabling an intuitive conversion to a standard date/time type for subsequent manipulation.

One acceptable way of resolving this would be:

New types (maybe PartialDate) with multiple variants depending on how many components are defined. They might best be implemented as enums, and would have to have several utility methods in order to be usable.
New methods .to_partial_date, .to_partial_time, .to_partial_datetime on DICOM value types.

So I looked at the dicom spec once more and
Date has a value length of 8 bytes FIXED (apart from range matching), so parsing of and incomplete Date should maybe fail ?
Time and DateTime mention the null components ...
Do you think that this problem could be solved like this :
At the level of deserialize.rs

parsing of incomplete DA, DT, TM would fail with something like IncompleteValue
that means that in case of DT and TM it would fail for any other case than a full representation (so a lot)
new methods .to_partial_date, .to_partial_time, .to_partial_datetime would return a new type like PartialDate ..,
a tuple of two (DA, DT, TM) values, that would represent a range that takes into account the imprecision caused by null components.

For a Date it should be easy, as "2010" would translate to (2010-01-01,2010-12-31)
A Time of  "071010.123" would translate to ( 07:10:10.123000, 07:10:10.123999) ?
A DateTime "2010" would translate to
(2010-01-01 00:00:00.000000 , 2010-12-31 23:59:59.999999  )  ?
At the level of PrimiteValue and higher,

introduce 3 new Partial ... values with getters and all (is it a good idea?)
calling .to_date on a PartialDate should default to PartialDate.0 ?
in case of range matching with the Partial data types one would use 1stPartialDate.0 - 2ndPartialDate.1 as a range

As the original value is already permanently stored as a string, would this be sufficient for practical handling of the
imprecisions ?

Thank you for this investigation, @jmlaka.

So I looked at the dicom spec once more and
Date has a value length of 8 bytes FIXED (apart from range matching), so parsing of and incomplete Date should maybe fail ?
Only Time and DateTime mention the null components ...
@Enet4 , do you think that this problem could be solved like this :
At the level of deserialize.rs

parsing of incomplete DA, DT, TM would fail with something like IncompleteValue
that means that in case of DT and TM it would fail for any other case than a full representation (so a lot)

This sounds good. It will be a breaking change, but the current state of sticking default component values in can cause greater confusion and damage to a system in the long run. :+1:

new methods .to_partial_date, .to_partial_time, .to_partial_datetime would return a new type like PartialDate ..,
a tuple of two or a vec of two (DA, DT, TM) values, that would represent a range that takes into account the imprecision caused by null components.

In this case we should rather represent partial date-times not as ranges, but specifically as a value containing a variable number of components present. As in something like this:
enum PartialDate {
    Year(u16),
    YearMonth(u16, u16),
    Complete(NaiveDate),
}

This one would be loaded with helper methods so that it could be easily converted to a full date, a range, or something else.

For a Date it should be easy, as "2010" would translate to (2010-01-01,2010-12-31)
A Time of "071010.123" would translate to ( 07:10:10.123000, 07:10:10.123999) ?
A DateTime "2010" would translate to
(2010-01-01 00:00:00.000000 , 2010-12-31 23:59:59.999999 )  ?

One or two of these values would also have a clear path to be converted to a range, and the logic would be something like that. Whether to encode this as two exact date-times (begin, end) could be left as an implementation detail, but once we have a proof of concept we can make a better assessment of this.

At the level of PrimiteValue and higher,

introduce 3 new Partial ... values with getters and all (is it a good idea?)

For now I say we keep the variants of PrimitiveValues as is, and implement to_partial_* and to_*_range methods which have to perform a deserialization from the string values at that moment.
The original purpose of having so many variants was so that the DICOM object's decoded values could be stored during the object reading process. But this process was eventually changed in 0.3.0 so that their original format is preserved rather than trying to decode everything. That is, all dates and times are fetched and stored in memory as strings now, and so some of these variants do not ever occur when reading DICOM objects. The same thing would happen for partial date-times and ranges. We can adopt a different strategy for PrimitiveValue later.

calling .to_date on a PartialDate should default to PartialDate.0 ?
in case of range matching with the Partial data types one would use 1stPartialDate.0 - 2ndPartialDate.1 as a range

If we follow the advice above of making PartialDate a sum type, this will no longer apply. In this case we may just require the date to be complete, and for partial dates, we can maybe have helper methods for retrieving the earliest and latest possible date-times. Handling these numbers at the range type itself would work as well.

As the original value is already permanently stored as a string, would this be sufficient for practical handling of the
imprecisions ?

After considering the points above, I believe that we have a good plan here for the time being.

@Enet4 thanks for the comment.

In this case we should rather represent partial date-times not as ranges, but specifically as a value containing a variable number of components present.

See Note 3 in DateTime documentation that says:
A Date Time value of<PHONE_NUMBER>1300.0 means August 27, 1953, 11;13 a.m. accurate to 1/10th second
In case of an Enum, lets consider a DateTime value of<PHONE_NUMBER>3322.123
It has a YYYY, MM, DD, hh, mm, ss and even and FF component but this FF component, if not fully represented by 6 bytes , according to documentation is not a fully accurate DateTime , it represents a range between .123000 and .123999/th of a second
So the PartialDateTime Enum would need 6 viariants just for the FFFFFF component.
Am I thinking straight ?
And still, we need the UTC offset to be stored even for the partial enum variants, because 2020-0100 is a valid DateTime.
So in case of a Date, we could just fail the conversion of incomplete values right away, and it would still be according to the Dicom spec.
But with DT and TM it gets more complicated.
What do you suggest ? Thanks

Could a PartialDateTime be represented like:
pub enum DateTimeParts {
    YYYY(u16),
    YYYYMM(u16, u8),
    YYYYMMDD(u16, u8, u8),
    YYYYMMDDhh(u16, u8, u8, u8),
    YYYYMMDDhhmm(u16, u8, u8, u8, u8),
    YYYYMMDDhhmmss(u16, u8, u8, u8, u8, u8),
    YYYYMMDDhhmmssF(u16, u8, u8, u8, u8, u8, u32),
}

pub struct PartialDateTime {
    parts: DateTimeParts,
    offset: FixedOffset
}

and everything except a full 6 digit fraction of a second (FFFFFF) would be considered a PartialDateTime with the
possibility to call .earliest() and .latest() on the struct

and everything except a full 6 digit fraction of a second (FFFFFF) would be considered a PartialDateTime with the
possibility to call .earliest() and .latest() on the struct

This is a good question. If the value does not specify all 6 digits, then according to the standard, the second fraction is only specific up to the given digits. However, I can imagine many time values in this domain to be incomplete, as modalities might not feel the need to be that specific.
As we are dealing with much smaller time measurements, it should be safe to accept that we have all components from the moment we have at least one digit from the fraction of a second. So, we would let them be converted to a NaiveTime or a DateTime with a note in the documentation that the remaining unspecified precision is assumed to be 0.
In either case, earliest and latest may indeed be good methods to have in that struct.

Hello @Enet4 ,
as you suggested, I implemented the Partial[Date,Time,DateTime] structures (parsing, precision, range) and propagated the methods to primitive.rs.
At this stage we end up with 2 separate methods for a PrimitiveValue e.g. :
to_date() - which fails, if value incomplete, returns NaiveDate
to_partial_date() - which accepts incomplete values, returns PartialDate
From a user perspective, one has to call the the first method only to find out that it failed for imprecise values.
I wonder how this could be simplified for the user.
Maybe if we rewrote the PrimitiveValue types:
    /// A sequence of complete dates.
    /// Used for the DA representation.
    Date(C<NaiveDate>),

    /// A sequence of complete date-time values.
    /// Used for the DT representation.
    DateTime(C<DateTime<FixedOffset>>),

    /// A sequence of complete time values.
    /// Used for the TM representation.
    Time(C<NaiveTime>),

... so that they contain a custom struct like the implemented Partials, maybe named Dicom[Date,Time, DateTime] .
The Partial structure can hold a DA, TM, DT with full precision, so they can return NaiveDate, NaiveTime, DateTime...
such structure would then have documented  (trait?) methods like
DicomDate.has_all_components() -> bool (or is_precise())
DicomDate.precision() -> DateComponent (year,month, day)
DicomDate.to_precise_value() -> Option<NaiveDate> (none if not precise)
DicomDate.to_range() -> (Option<NaiveDate>,Option<NaiveDate>)
DicomDate.earliest() -> Result<NaiveDate>
DicomDate.latest() -> Result<NaiveDate>

Or maybe, do you see a different place where this incovenience for the user can be sorted out ?
Thanks

Hey @jmlaka, thank you for your continued commitment to this! Let's see...

as you suggested, I implemented the Partial[Date,Time,DateTime] structures (parsing, precision, range) and propagated the methods to primitive.rs.
At this stage we end up with 2 separate methods for a PrimitiveValue e.g. :
to_date() - which fails, if value incomplete, returns NaiveDate
to_partial_date() - which accepts incomplete values, returns PartialDate
From a user perspective, one has to call the the first method only to find out that it failed for imprecise values.

It does not seem too far out or inconvenient. One could maybe do a few other tweaks to the API:

Calling the methods to_specific_date(&self) -> NaiveDate and to_date(&self) -> PartialDate would more likely direct users to the latter method first, and through documentation they can understand whether to_specific_date would be more suitable for them. This documentation part can be done regardless of whether the method names are changed.
Or, just provide only to_date and let that be the expected path towards making a NaiveDate, which narrows the interface into the bare minimum required to be functional and usable: value.to_date()?.as_naive_date()?

I wonder how this could be simplified for the user.
Maybe if we rewrote the PrimitiveValue types:
    /// A sequence of complete dates.
    /// Used for the DA representation.
    Date(C<NaiveDate>),

    /// A sequence of complete date-time values.
    /// Used for the DT representation.
    DateTime(C<DateTime<FixedOffset>>),

    /// A sequence of complete time values.
    /// Used for the TM representation.
    Time(C<NaiveTime>),

... so that they contain a custom struct like the implemented Partials, maybe named Dicom[Date,Time, DateTime] .
The Partial structure can hold a DA, TM, DT with full precision, so they can return NaiveDate, NaiveTime, DateTime...

There are two matters when working with this primitive value type:

The umbrella of conversion to other types, so that users can easily interpret the value as strings, dates, bytes, etc.
How they are persisted in memory, through the enum variants, which influences the underlying decoder implementation and how users have to build these values themselves.

In practice, the Date and Time, and DateTime variants do not occur when opening DICOM files, since these values are instead read as strings and converted by the user when such is requested. They still make sense when constructing new DICOM values in memory, so it is fair to make adjustments to these variants if deemed worthwhile.

such structure would then have documented (trait?) methods like
DicomDate.has_all_components() -> bool (or is_precise())
DicomDate.precision() -> DateComponent (year,month, day)
DicomDate.to_precise_value() -> Option<NaiveDate> (none if not precise)
DicomDate.to_range() -> (Option<NaiveDate>,Option<NaiveDate>)
DicomDate.earliest() -> Result<NaiveDate>
DicomDate.latest() -> Result<NaiveDate>

Or maybe, do you see a different place where this incovenience for the user can be sorted out ?

So yes, calling this one just DicomDate  is a better name. :+1: It better conveys the idea that the date can be partial, as stated by the standard. Same for DicomTime and DicomDateTime. This part sounds good to me!
Feel free to ask any follow up questions if anything wasn't clear.

Thanks for your ideas @Enet4
Considering this solution:

Or, just provide only to_date and let that be the expected path towards making a NaiveDate, which narrows the interface into the bare minimum required to be functional and usable: value.to_date()?.as_naive_date()?

If I undrestand correctly, the path works like this:
PartialValue.to_date() -> Result
DicomDate.as_naive_date() -> Result
(this second method only yields NaiveDate if DicomDate.is_precise() )
And all the rest needs proper documentation.
I think I like this.
I'll be back with a PR


UC01-MaintainHealthProfessional

Coverage decreased (-19.3%) to 47.388% when pulling 63f27fe241bc8bf0f5afff678c0464269d07df7b on UC01-MaintainHealthProfessional into 6dfefce49e5e4ce5c50d2e48be0ae2594dd6761a on master.


IP addresses in config map are not correct on Docker for Mac

When running on Docker for Mac, the IP address reported for the machine in the config map is not correct. The plugin appears to be reporting the IP address within the machine rather than the external IP address.

I tried a build with the changes on feature/dockerForMacSupport and it seems to work.

Hi @michaelpigg, I'm glad you already found the feature/dockerForMacSupport branch! We have some more testing to do on that branch but hope to integrate it into the master branch soon for an official release. Let us know if you find any problems with it.

Please consider merging and releasing the dockerForMacSupport branch, the exported ip:port isn't very useful with docker for mac at the moment.
However, if somebody is using Alpine Linux via some boot2docker alternative or as a host OS, won't it mis-detect it as docker for mac, which would break the hostname for those users? I guess it's not that common though.
I don't know of the "proper" way to probe for docker for mac, so I'd suggest also adding a check for docker version --format '{{.Client.Os}}' == darwin, then you know that the client is running on OS X which should significantly increase the odds it's really docker for mac. Reference: https://docs.docker.com/engine/reference/commandline/version/
Also see discussions on fixing this issue in docker for mac itself, it's a known issue:
https://forums.docker.com/t/support-tap-interface-for-direct-container-access-incl-multi-host/17835/4
https://forums.docker.com/t/ip-routing-to-container/8424

Hi @stela - Thanks for pinging me on this issue and providing some links with your research. I had looked into this a while back myself and came up with an approach that appears to work but didn't get around to implementing the actual change until today.
The approach I took was to additionally validate that the Server.KernelVersion ends in -moby.
See the following thread for a bit of discussion on this:
http://stackoverflow.com/questions/38223965/how-can-i-detect-if-docker-for-mac-is-installed
I have merged these changes into the master branch and published a new release:
addSbtPlugin("com.tapad" % "sbt-docker-compose" % "1.0.19")
Let me know if it works for you. Thanks again for the feedback and using the plug-in!

Works perfectly on my Mac using the System.getProperty("containername:portnr") approach, thanks!

Great I'm glad that it's working as expected!


Allow URI-references for Security Requirements (3.2.0)

NOTE: This is a draft because I was going to make it a proposal, but its much shorter to just show the PR than explain it some other way.  See PR #3823 for more context.
Fixes:

#3776
#1972

This allows Security Requirement Objects to reference Security Scheme Objects by URI instead of implicit component name. Without this ability, it is difficult to share Security Schemes in a way that is consistent with re-usable component documents.
This approach provides parity with how the Discriminator Object's mapping field works.

Looking forward to the next PR 😄


Target kernel_snapshot failed: Exception

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Create a flutter project with macos_main.dart that looks as below
Run the command
flutter run -t lib/macos_main.dart -d macos

Expected :
macOS window with menu appears
Environment -
macOS Apple Silicon (M2)
==> flutter --version
Flutter 3.10.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 84a1e904f4 (3 days ago) • 2023-05-09 07:41:44 -0700
Engine • revision d44b5a94c9
Tools • Dart 3.0.0 • DevTools 2.23.1

Expected results
macOS window appears with side menu
Actual results
Below error appears
==> flutter run -t lib/macos_main.dart -d macos
Launching lib/macos_main.dart on macOS in debug mode...
2023-05-12 04:07:24.687 xcodebuild[50086:21155412] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64, id:00006021-0018102436BB401E }
{ platform:macOS, arch:x86_64, id:00006021-0018102436BB401E }
../../../../../.pub-cache/hosted/pub.dev/macos_ui-1.12.2/lib/src/fields/text_field.dart:108:35: Error: The parameter 'details' of the method '_TextFieldSelectionGestureDetectorBuilder.onSingleTapUp' has type 'TapUpDetails', which does not match the corresponding type, 'TapDragUpDetails', in the overridden method, 'TextSelectionGestureDetectorBuilder.onSingleTapUp'.
 - 'TapUpDetails' is from 'package:flutter/src/gestures/tap.dart' ('../../../../../Developer/flutter/packages/flutter/lib/src/gestures/tap.dart').
 - 'TapDragUpDetails' is from 'package:flutter/src/widgets/tap_and_drag_gestures.dart' ('../../../../../Developer/flutter/packages/flutter/lib/src/widgets/tap_and_drag_gestures.dart').
Change to a supertype of 'TapDragUpDetails', or, for a covariant parameter, a subtype.
  void onSingleTapUp(TapUpDetails details) {
                                  ^
../../../../../Developer/flutter/packages/flutter/lib/src/widgets/text_selection.dart:2161:8: Context: This is the overridden method ('onSingleTapUp').
  void onSingleTapUp(TapDragUpDetails details) {
       ^
../../../../../.pub-cache/hosted/pub.dev/macos_ui-1.12.2/lib/src/fields/text_field.dart:130:42: Error: The parameter 'details' of the method '_TextFieldSelectionGestureDetectorBuilder.onDragSelectionEnd' has type 'DragEndDetails', which does not match the corresponding type, 'TapDragEndDetails', in the overridden method, 'TextSelectionGestureDetectorBuilder.onDragSelectionEnd'.
 - 'DragEndDetails' is from 'package:flutter/src/gestures/drag_details.dart' ('../../../../../Developer/flutter/packages/flutter/lib/src/gestures/drag_details.dart').
 - 'TapDragEndDetails' is from 'package:flutter/src/widgets/tap_and_drag_gestures.dart' ('../../../../../Developer/flutter/packages/flutter/lib/src/widgets/tap_and_drag_gestures.dart').
Change to a supertype of 'TapDragEndDetails', or, for a covariant parameter, a subtype.
  void onDragSelectionEnd(DragEndDetails details) {
                                         ^
../../../../../Developer/flutter/packages/flutter/lib/src/widgets/text_selection.dart:2839:8: Context: This is the overridden method ('onDragSelectionEnd').
  void onDragSelectionEnd(TapDragEndDetails details) {
       ^
Target kernel_snapshot failed: Exception

Command PhaseScriptExecution failed with a nonzero exit code
warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Flutter Assemble' from project 'Runner')
** BUILD FAILED **

Code sample
Code sample
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:macos_ui/macos_ui.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MacosApp(
      title: 'Unicorn AI',
      theme: MacosThemeData.light(),
      darkTheme: MacosThemeData.dark(),
      themeMode: ThemeMode.system,
      home: const MyHomePage(title: 'Home'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int currentIndex = 0;

  @override
  Widget build(BuildContext context) {

    return MacosWindow(
      sidebar: Sidebar(
        builder: ((context, scrollController) {
          return SidebarItems(
            currentIndex: currentIndex,
            onChanged: ((value) {
              setState(() {
                currentIndex = value;
              });
            }),
            items: const [
              SidebarItem(
                leading: MacosIcon(CupertinoIcons.home),
                selectedColor: Colors.greenAccent,
                label: Text('Home')
                ),
              SidebarItem(
                leading: MacosIcon(CupertinoIcons.gear),
                selectedColor: Colors.greenAccent,
                label: Text('Prompts')
                ),
              SidebarItem(
                leading: MacosIcon(CupertinoIcons.bookmark),
                selectedColor: Colors.greenAccent,
                label: Text('Analytics')
                ),
              SidebarItem(
                leading: MacosIcon(CupertinoIcons.layers),
                selectedColor: Colors.greenAccent,
                label: Text('About')
                ),
              ],
            );
        }),
        minWidth: 200,
        startWidth: 200,
        maxWidth: 350
      ),
      child: const Center(
        child: Text(
          'Hello, world!'),
        ),
    );
  }
}

pubspec.yaml contents
name: unicornapp
description: A new Flutter project.
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 1.0.0+1

environment:
  sdk: '>=3.0.0 <4.0.0'

# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
# consider running `flutter pub upgrade --major-versions`. Alternatively,
# dependencies can be manually updated by changing the version numbers below to
# the latest version available on pub.dev. To see which dependencies have newer
# versions available, run `flutter pub outdated`.
dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2
  macos_ui: ^1.0.0
  hive: ^2.2.3
  hive_flutter: ^1.1.0

dev_dependencies:
  flutter_test:
    sdk: flutter

  # The "flutter_lints" package below contains a set of recommended lints to
  # encourage good coding practices. The lint set provided by the package is
  # activated in the `analysis_options.yaml` file located at the root of your
  # package. See that file for information about deactivating specific lint
  # rules and activating additional ones.
  flutter_lints: ^2.0.0
  hive_generator: ^2.0.0
  build_runner: ^2.4.2

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter packages.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  # assets:
  #   - images/a_dot_burr.jpeg
  #   - images/a_dot_ham.jpeg

  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware

  # For details regarding adding assets from package dependencies, see
  # https://flutter.dev/assets-and-images/#from-packages

  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts from package dependencies,
  # see https://flutter.dev/custom-fonts/#from-packages

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
Launching lib/macos_main.dart on macOS in debug mode...
2023-05-12 04:07:24.687 xcodebuild[50086:21155412] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64, id:00006021-0018102436BB401E }
{ platform:macOS, arch:x86_64, id:00006021-0018102436BB401E }
../../../../../.pub-cache/hosted/pub.dev/macos_ui-1.12.2/lib/src/fields/text_field.dart:108:35: Error: The parameter 'details' of the method '_TextFieldSelectionGestureDetectorBuilder.onSingleTapUp' has type 'TapUpDetails', which does not match the corresponding type, 'TapDragUpDetails', in the overridden method, 'TextSelectionGestureDetectorBuilder.onSingleTapUp'.
 - 'TapUpDetails' is from 'package:flutter/src/gestures/tap.dart' ('../../../../../Developer/flutter/packages/flutter/lib/src/gestures/tap.dart').
 - 'TapDragUpDetails' is from 'package:flutter/src/widgets/tap_and_drag_gestures.dart' ('../../../../../Developer/flutter/packages/flutter/lib/src/widgets/tap_and_drag_gestures.dart').
Change to a supertype of 'TapDragUpDetails', or, for a covariant parameter, a subtype.
  void onSingleTapUp(TapUpDetails details) {
                                  ^
../../../../../Developer/flutter/packages/flutter/lib/src/widgets/text_selection.dart:2161:8: Context: This is the overridden method ('onSingleTapUp').
  void onSingleTapUp(TapDragUpDetails details) {
       ^
../../../../../.pub-cache/hosted/pub.dev/macos_ui-1.12.2/lib/src/fields/text_field.dart:130:42: Error: The parameter 'details' of the method '_TextFieldSelectionGestureDetectorBuilder.onDragSelectionEnd' has type 'DragEndDetails', which does not match the corresponding type, 'TapDragEndDetails', in the overridden method, 'TextSelectionGestureDetectorBuilder.onDragSelectionEnd'.
 - 'DragEndDetails' is from 'package:flutter/src/gestures/drag_details.dart' ('../../../../../Developer/flutter/packages/flutter/lib/src/gestures/drag_details.dart').
 - 'TapDragEndDetails' is from 'package:flutter/src/widgets/tap_and_drag_gestures.dart' ('../../../../../Developer/flutter/packages/flutter/lib/src/widgets/tap_and_drag_gestures.dart').
Change to a supertype of 'TapDragEndDetails', or, for a covariant parameter, a subtype.
  void onDragSelectionEnd(DragEndDetails details) {
                                         ^
../../../../../Developer/flutter/packages/flutter/lib/src/widgets/text_selection.dart:2839:8: Context: This is the overridden method ('onDragSelectionEnd').
  void onDragSelectionEnd(TapDragEndDetails details) {
       ^
Target kernel_snapshot failed: Exception

Command PhaseScriptExecution failed with a nonzero exit code
warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Flutter Assemble' from project 'Runner')
** BUILD FAILED **

Building macOS application...
Exception: Build process failed

Flutter Doctor output
Doctor output
==> flutter doctor -v
[✓] Flutter (Channel stable, 3.10.0, on macOS 13.2.1 22D68 darwin-arm64, locale en-US)
    • Flutter version 3.10.0 on channel stable at /Users/coder/Developer/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 84a1e904f4 (3 days ago), 2023-05-09 07:41:44 -0700
    • Engine revision d44b5a94c9
    • Dart version 3.0.0
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/coder/Library/Android/sdk
    • Platform android-33, build-tools 33.0.2
    • ANDROID_HOME = /Users/coder/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/coder/android-installer/adt-bundle-mac-x86_64-20130219/sdk
    • Java binary at: /Users/coder/Developer/AndroidStudio/AndroidStudio-2022_2_1_18-mac-arm/AndroidStudio-2<IP_ADDRESS>.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Users/coder/Developer/Xcode/Xcode_14_3_0/Xcode_14_3_0.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.1

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

[!] Android Studio
    • Android Studio at /Users/coder/Developer/AndroidStudio/AndroidStudio-2022_3_1-beta-1-mac-arm-giraffe/AndroidStudio-Giraffe-2022_3_1.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
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[!] Android Studio
    • Android Studio at /Users/coder/Developer/AndroidStudio/AndroidStudio-2023_1_1-canary-1-mac-arm-hedgehog/AndroidStudio-Hedgehog-2023_1_1.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
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/coder/Developer/AndroidStudio/AndroidStudio-2022_2_1_18-mac-arm/AndroidStudio-2<IP_ADDRESS>.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 17.0.6+0-17.0.6b802.4-9586694)

[!] Android Studio
    • Android Studio at /Users/coder/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/223.8836.35.2231.9923731/Android Studio Preview.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
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[!] Android Studio
    • Android Studio at /Users/coder/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/223.8836.35.2311.9976484/Android Studio Preview.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
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

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

[✓] VS Code (version 1.79.0-insider)
    • VS Code at /Applications/Visual Studio Code - Insiders.app/Contents
    • Flutter extension version 3.65.20230510

[✓] Connected device (4 available)
    • AppiPhoneX4 (mobile) • 00008110-001E55660E8B801E • ios            • iOS 16.3.1 20D67
    • AppiPhoneX3 (mobile) • 00008030-000251620190402E • ios            • iOS 16.1 20B82
    • macOS (desktop)      • macos                     • darwin-arm64   • macOS 13.2.1 22D68 darwin-arm64
    • Chrome (web)         • chrome                    • web-javascript • Google Chrome 113.0.5672.92
    ! Error: App’s Apple Watch has not finished loading development services. Please select a different device, or wait for the device to load development services and try again. (code 8)

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 4 categories.

Hi @arunabhdas, this issue is caused by the macos_ui package. See https://github.com/macosui/macos_ui/issues/424
Closing from here as this is not a flutter issue.
Thank you


After updating Azure CLI is broken: ImportError: cannot import name 'parse_resource_id'

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug
I had an older versioin of azure cli and decide to update by running  Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet' in Powershell. Installation ran without incident. When I type "az" in powershell I now get
PS C:\Users\NN> az
The system cannot find the path specified.
The system cannot find the path specified.
Traceback (most recent call last):
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-umfcm_n2\azure-cli\azure\cli\__main__.py", line 33, in <module>
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-umfcm_n2\azure-cli-core\azure\cli\core\__init__.py", line 554, in get_default_cli
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-umfcm_n2\azure-cli-core\azure\cli\core\__init__.py", line 61, in __init__
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-umfcm_n2\azure-cli-core\azure\cli\core\commands\arm.py", line 182, in register_ids_argument
ImportError: cannot import name 'parse_resource_id'

I tried uninstalling and reinstalling as well as removing my conda/python/pip installs on Windows thinking there might be a conflict there.
I also have Azure CLI under WSL and works fine there.
To Reproduce
Install the msi and run any  "az" command
Expected behavior
Should have gotten the az help text.
Environment summary
Powershell with windows 1909 (OS Build 18363.476)
Additional context
Add any other context about the problem here.

Thanks for reporting the issue.

add to S163.

From the error trace, it looks like the CLI code from some pip-install directory is used? Can you run get-command az to see which az command is actually used?

I cannot reproduce this issue with azure-cli 2.0.78 on Powershell. Please start PowerShell as administrator when running the installation command if you haven't done so.

`PS C:\Users\paulano> get-command az
CommandType     Name                                               Version    Source

Application     az.cmd                                             <IP_ADDRESS>    C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd`
Running power shell as admin produces the same error.

This command result looks fine.
az.cmd is using a python executable inside msi package. The trace to call C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-umfcm_n2\azure-cli\azure\cli\__main__.py really seems weird to me. It should use C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\cli\__main__.pyc.
Can you run & 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe' in Powershell and then check the module path in python prompt:
>>>import azure.cli
>>>print(azure.cli.__file__)

Here you go:
PS C:\WINDOWS\system32> & 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import azure.cli
>>> print(azure.cli.__file__)
C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\__init__.pyc
>>>

This is good. OK, one more try. Please run az --debug to print detailed info for the error.

This is in administrator PowerShell
PS C:\WINDOWS\system32> az --debug                                                                                The system cannot find the path specified.
The system cannot find the path specified.
Traceback (most recent call last):
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-umfcm_n2\azure-cli\azure\cli\__main__.py", line 33, in <module>
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-umfcm_n2\azure-cli-core\azure\cli\core\__init__.py", line 554, in get_default_cli
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-umfcm_n2\azure-cli-core\azure\cli\core\__init__.py", line 61, in __init__
  File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-umfcm_n2\azure-cli-core\azure\cli\core\commands\arm.py", line 182, in register_ids_argument
ImportError: cannot import name 'parse_resource_id'


Mannully set the number of the first level heading, and automatically  number other headings accordingly

Is it possible to manually set the number of the first level heading, and automatically number other headings accordingly?
For example,  I have a document, which is the Third Chapter of a book. Therefore, I'd like to set the first-level heading (which is the Chapter title) to 3, and then the later level 2 heading could be automatically numbered as 3.1,  3.2, ..., and so on.
3 Chapter Title
3.1 Section 1
3.1.1 subsection 1
3.2 Section 2
3.2.1  subsection 1

Not currently, but I'll look into it!

Thank you. Or it can simplely provide a option to set the starting number for the first level heading.

Any updation on this feature?

Fixed in 1.11.0, releasing later today.


Add getVersion()

This PR:

Adds a helper to return the obtained version string from the JSON file.
Adds to the further example demo'ing how to use getVersion().

I needed this so that I could check the version and show it to the user before they agreed to proceed with update.
It's an open question if other variables need to be exposed.
Love the library. Thanks for this!

Many thanks for this...!

@nseidle I decided to change new method to GetVersion() (with capital G) just to maintain consistency with other methods.  (Hope this doesn't cause too much heartache?)
But thanks again.  This is an obvious and useful addition that I should have thought of...!


Use Helm release action that works with tags

This is message from Github Action using official Helm chart:
Discovering changed charts since 'v0.1.1'...
Nothing to do. No chart changes detected.

This is long standing and very annoying issue with Helm's official chart where it doesn't want to do releases on tags.  The only place I have been able to use the Helm official action is repos not using tags to handle releasing a chart.  On several projects I contribute to and many I manage, I've had to use third party actions to handle releases to gh-pages for Helm charts.

Upstream PR that might fix this but currently not merged: https://github.com/helm/chart-releaser-action/pull/96. There are several issues on that repo about not being able to publish with tags.

you're right, I tried to understand what the official releaser does but it indeed messes with tags.
even tried committing without a tag but without success.
Merging again your third-party solution, could you just please specify a specific version of the third-party gh-action instead of latest please?
I've subscribed to the official gh-pages helm releaser PR for tags, will check it once they merge it

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 73.988%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
128

Relevant Lines:
173

💛  - Coveralls


Shift GUI to Tkinter

Proposal to shift GUI to tkinter.
wx is a heavy-weight module with no direct installation(pip3) in linux.
Tkinter is well maintained and easier to code.
What say?

We have this issue at #5 . Closing this one