aurutils, after cloning/fetching from AUR package "python-apscheduler", says invalid git revision, but manually one can build the package

Please note:
% aur sync -C -S -d laur python-apscheduler
==> Using [laur] repository
curl: (35) Recv failure: Connection reset by peer

Then output for:
AUR_DEBUG=1 aur sync -C -S -d laur python-apscheduler >& aursync__python-apscheduler.txt

Attached
aursync__python-apscheduler.txt
Notice fro that output, the important for that output:
(/usr/lib/aurutils/aur-view:129): read -r view
(/usr/lib/aurutils/aur-view:131): git cat-file -e bb395ad7fbd5febf9b7fe907245ef3c617dc770b
(/usr/lib/aurutils/aur-view:114): git(): command git -C python-apscheduler cat-file -e bb395ad7fbd5febf9b7fe907245ef3c617dc770b
(/usr/lib/aurutils/aur-view:132): printf '%s: %s: invalid git revision\n' view /home/general/.local/share/aurutils/view/python-apscheduler
view: /home/general/.local/share/aurutils/view/python-apscheduler: invalid git revision
(/usr/lib/aurutils/aur-view:133): exit 22

Not sure where that commit, bb395ad7fbd5febf9b7fe907245ef3c617dc770b is checked, see:
% cat .git/packed-refs
# pack-refs with: peeled fully-peeled sorted
d3fd0f26c0b222ac4c6432958adb9c8a7570afdf refs/remotes/origin/master

So, it's really weird...  For sure you guys know much better.  Hopefully you guys can take a look.  I reproduced it every time...
Running makepkg on the package after the clone, or cloning it manually, gives no issues whatsoever...
Thanks !

Possibly the AUR git history was rewritten, i.e. the commit you've last viewed is no longer available from the repo. An alternative to exiting with an error would be to diff from /dev/null (i.e. from the empty git tree).

I've tried totally removing the cached package directory, so that the package repo is cloned fro scratch, and it ends up failing the same, :(

% rm -rf .pkgs/src/laur/python-apscheduler
%
% aur sync -C -S -d laur python-apscheduler
==> Using [laur] repository
  -> python-apscheduler (none) -> 3.10.4-2
==> Retrieving package files
Cloning into 'python-apscheduler'...
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint:   git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint:   git branch -m <name>
remote: Enumerating objects: 36, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 36 (delta 3), reused 36 (delta 3), pack-reused 0 (from 0)
Receiving objects: 100% (36/36), 9.97 KiB | 59.00 KiB/s, done.
Resolving deltas: 100% (3/3), done.
d3fd0f2 (upgpkg: 3.10.4-2: Update to 3.10.4, 2024-05-10)
view: /home/general/.local/share/aurutils/view/python-apscheduler: invalid git revision

I've tried totally removing the cached package directory, so that the package repo is cloned fro scratch, and it ends up failing the same, :(

As the error message tells you the revisions are stored in ~/.local/share/aurutils/view

Thanks a lot @AladW.


[SKIP-768] Resource management fixes

Awaiting a response:
https://github.com/hashicorp/terraform-provider-kubernetes/issues/1923

Outdated. According to the linked issue the issue was how we updated fields of an API.
Not a huge benefit for potentially a lot of work here


Support some form or batching or streaming

When reading a large result set... I.e. SELECT * FROM x when x has a lot of data, buenavista will collect all the data before a client sees the first row.

I looked briefly at the code - sorry little time.
pyarrow.RecordBatchReader default to 1000000 rows batches. It looks like the problem is in send_data_rows (https://github.com/jwills/buenavista/blob/main/buenavista/postgres.py#L545), and then in handle_execute (https://github.com/jwills/buenavista/blob/main/buenavista/postgres.py#L510).
That's where I have no knowledge of the Postgres protocol to see how to return just parts of the data. If I set the limit there it just sends one response.

Implemented with #34


Seems does not support negative values

i got some negative values to show on y aixs but below 0.0, negative values are not showing, weird~

It supports @tobatha . You can change 'yFixedValueMin'
self.lineChart.yFixedValueMin = -50.0;

here's the line : https://github.com/kevinzhow/PNChart/blob/master/PNChartDemo/PCChartViewController.m#L32
:8ball:


[HOLD for payment 2024-03-18] [$500] Scroll bar appears overlapping on the onboarding modal

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

Version Number: v1.4.42-1
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause-Internal Team
Slack conversation:
Action Performed:

Navigate to staging.new.expensify.com
Create new account either with Gmail or Expensifail domain
Scroll the onboarding modal

Expected Result:
Scroll should display on the extreme right side of the modal
Actual Result:
Scroll bar appears overlapping on the onboarding modal
Note : On Prod, scroll bar displayed on the extreme left side of the modal (please check screenshot attached)
Workaround:
Unknown
Platforms:

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

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[x] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/e0ece193-5367-4838-a810-4f2d229aa7d9

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01ca2148015592295b
Upwork Job ID:<PHONE_NUMBER>670796800
Last Price Increase: 2024-02-22
Automatic offers:

Pujan92 | Reviewer | 0
mkhutornyi | Contributor | 0

I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors.

@mkhutornyi's proposal has correct RCA and solution. We should go with a general approach as I am also reproducing a similar issue https://github.com/Expensify/App/issues/33526 which gets closed. cc: @bfitzexpensify
https://github.com/Expensify/App/assets/14358475/cf35b94a-10c9-4224-86af-e4d796a6bfbf
🎀👀🎀 C+ reviewed

We should go with a general approach

Agreed, looks like it's happening on more screens so a more general solution should be better here.

Issue not reproducible during KI retests. (First week)

I am still able to reproduce for the Terms page and other similar issue raised here earlier.
https://github.com/Expensify/App/assets/14358475/e0ad102f-1e5e-4e7e-ac32-e18f8a50ba05

Not overdue, pending PR from @mkhutornyi

Made payments, but please complete the checklist. Thanks!

Agree with @mkhutornyi , @kevinksullivan I think we don't need a checklist here as none of the PR has introduced this bug, and these edge case scenarios were there from the start which couldn't be consistently reproducible.

I agree with the reasoning from @mkhutornyi and @Pujan92, there was no PR that caused a regression here and there's no need for a regression test - if this bug were to resurface, it would be noticed on any page that uses the scrollbar.


Fixed typo under "How it works" section

@JaredHonda : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks.


Issue-Gradle-does-not-exit-completely

After being executed, gradle doesn't stop it's execution and this causes files used by it to get locked.

The application that keeps running is the Gradle Daemon a process intended to run in the background to make subsequent builds faster.

Executing "gradlew.bat" with the "--stop" parameter stops all running Daemons. As WASPS relies on the daemon for warming up, this application should not automatically stop the daemon.
Idea: add a parameter (-stop) that just passes the word to gradlew.bat.


Allow guide pages to be reviewed by peers

Allow users to create Review Requests
Only allow guides to be published if they have been approved

What happens to newly created editions after a review request is created? Do they get assigned the latest review_id until the draft is published?

It would be nice to handle failure scenarios in the newly introduced controller actions.


Add MPS Pytorch support for batched_mask_to_box function

This PR adds an edited copy of the batched_mask_to_box() function from segment_anything/utils/amg.py to the micro-sam codebase. The function has been edited to solve two problems:

It makes this function compatible with the MPS PyTorch backend for apple silicon, and
We add a check that the input mask dtype is boolean (since apparently there is some bug that means masks with integer dtypes return completely different results 👀 )

The license for segment-anything is Apache 2.0, which is compatible with the MIT licence micro-sam uses.
Eventually, if this gets fixed upstream we can remove it from the micro-sam code and go back to using the batched_mask_to_box() function directly from segment-anything. But that seems unlikely to happen soon.

Currently there is a PR open for adding MPS support, but there has been no activity since June 2023
https://github.com/facebookresearch/segment-anything/pull/122
As far as I know, no one has reported the bug involving boolean vs integer mask input to batched_mask_to_box(). Creating an issue would be helpful here (maybe I'll try and do that this evening).

Extra context: discussed here previously on the main PR for adding .MPS support to micro-sam.

Update: I did make an issue https://github.com/facebookresearch/segment-anything/issues/552


Push notifications after logout (Firebase)

I'm receiving push notifications no matter if I logged out the user or even logged in as another one - then I receive notifications for both users. I don't see anyone else with the same issue here so I guess it's my fault. I have followed https://github.com/chat-sdk/docs#custom-authentication because my app has its own server and https://github.com/chat-sdk/chat-sdk-android#push-notifications. I use modified version of ChatActivity that extends your BaseActivity - not ChatActivity itself, but it works, even when I tap on notification. When user logs out from the app NM.auth().logout().subscribe(...) is called. All my activities extend your BaseActivity.

https://stackoverflow.com/questions/43193215/firebase-cloud-messaging-handling-logout

@Aeryltic We could not reproduce this problem in the newest version of Chat SDK, so we will close this issue. If the issue persists, please re-open it.


python deploy ModuleNotFoundError

got error in deploy
File "/app/tmp/buildpacks/8790c95df255b386056ea169648fd4a33d1cb3fba81f73b536f26374f6af107145f64a5980db7a52177f63bb41527f360ebd2e3bef7b8917bda7b51cf284cfdb/vendor/pip-pop/pip-diff", line 18, in <module>
    from pip._internal.download import PipSession as session
ModuleNotFoundError: No module named 'pip._internal.download'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/app/tmp/buildpacks/8790c95df255b386056ea169648fd4a33d1cb3fba81f73b536f26374f6af107145f64a5980db7a52177f63bb41527f360ebd2e3bef7b8917bda7b51cf284cfdb/vendor/pip-pop/pip-diff", line 30, in <module>
    from pip.req import parse_requirements
ModuleNotFoundError: No module named 'pip.req'

Getting the same error since I've upgraded to python 3.6.10


[TRI-2667] V3 schedules should show in UTC time in the dashboard

In some places they're in local time and it's not clear
TRI-2667

There's now an explicit timezone


num_layers acts like max_num_layers

I am trying to build a tree setting num_layers=3. When I access to num_layers with RA.tree.num_layers, the value 1 is given, so the three has only one layer.
It seems this parameter is set as a max_num_layers, so if some condition is met, this num_layers is not reached by the tree.
The code used is the following:
from openai import OpenAI
from tenacity import retry, stop_after_attempt, wait_random_exponential

class OpenAIEmbeddingModel(BaseEmbeddingModel):
    def __init__(self, model='text-embedding-3-small'):
        self.client = OpenAI()
        self.model = model

    @retry(wait=wait_random_exponential(min=1, max=20), stop=stop_after_attempt(6))
    def create_embedding(self, text):
        text = text.replace("\n", " ")
        return (
            self.client.embeddings.create(input=[text], model=self.model)
            .data[0]
            .embedding
        )

RAC = RetrievalAugmentationConfig(tb_num_layers=3,
                                  tb_selection_mode='threshold',
                                  tb_threshold=0.3,
                                  tb_summarization_length=250,
                                  embedding_model=OpenAIEmbeddingModel())

Just, so I understand correctly, the issue is that you are setting the number of layers to 3, but the tree has only one layer formed. How many tokens is the text you are building the tree with?

The text is sample.txt, the text given in your repository.


TopoJSON isn't cool. You know what's cool? Protobuf.

Without the faintest idea of what's required, let's look into a .pbf endpoint option. Looks like it may be the future

@devTristan Do you have any ideas how to implement Mapbox MVT format?

@meule I do, as a matter of fact. I added MVT support, but I was getting mysterious hanging connection problems, so I reverted it in https://github.com/faradayio/tilesplash/commit/eea056d21ec102bee45ee440abdf4caf3fb5ca89. Those problems may not have been caused by the MVT support at all, I'm not quite sure. If that commit can be un-reverted without issue, it should be. If you want to, test it and tell me what you discover.

Hi! @devTristan, I have un-reverted commit (about mvt support) in my fork repository. What can i say, I did not find any problems, server works about 3 days. Mapnik version is 3.4.16

@lkazberova cool! Send a PR and I'll merge it.


With same email I  can register  multiple user

I was able to register multiple users with the same email

I was able to register multiple users with the same email

I was able to register with password abc  which literally means there is client side and server side validation for password

Yeah, this makes sense we using the User model from django.contrib.auth.models, where the email field is not Unique.
I would love to work on this by creating our own user model

@itzomen i assigned you

@itzomen  No, we don't need to make User models to be extended from the AbstractUser model.
I already talked to Dennis about this approach!
He denied so you can work on writing some logic in the Register view to prevent this issue!

@itzomen No, we don't need to make User models to be extended from the AbstractUser model.
I already talked to Dennis about this approach!
He denied so you can work on writing some logic in the Register view to prevent this issue!

Alright,

Can I work on this issue?


Add iterable support for webidl

In web-sys to get a functional DOM implementation iterable<Node?> is needed by NodeList.
https://heycam.github.io/webidl/#dfn-iterable-declaration which is supported by webidl::ast::Iterable.
pub fn get_elements_by_name(&self, element_name: &str) -> NodeList

To add for_each support we will need to support https://github.com/rustwasm/wasm-bindgen/issues/257
@fitzgen part of me things NodeList and others should just implement Iterator. I know this isn't the correct DOM API however the interface describes some of the same methods.
I don't know enough about the abstraction across the buffer but perhaps the nodes have already passed into wasm when code has called get_elements_by_name that it could be represented as a vec or similar in wasm?
The alternative is implement all the functions that iterables support in webidl like:
https://heycam.github.io/webidl/#es-forEach and https://heycam.github.io/webidl/#es-iterable-values
Oddly with the latest Option support I can't seem to provide a non throwing function return type. Is only Result<Option<T>, E> implemented for function responses and not: Option<T>?
I managed to get the code spitting out a values with a response, this should be implementing @@iterator perhaps it could just return a vector of the type?
Does this need a RFC?

Interesting! I think I'd personally be on board with the strategy of using Iterator in Rust and just defining it for iterable types where it makes sense. For example could get_elements_by_name return something like impl Iterator?
Returns from functions should support Option<T>, yeah, but do you have an example of a function that didn't work for you?
For now I think it's ok to avoid an RFC, we're still in the somewhat early stages of web-sys!

I don't think get_elements_by_name should return impl Iterator, because that would prevent using useful methods (like length, or indexing).
Instead I think the best course of action is to return NodeList (and then implement Iterator for NodeList).

Returns from functions should support Option, yeah, but do you have an example of a function that didn't work for you?

let return_value = webidl::ast::ReturnType::NonVoid(self.value_type.clone());
let args = [];
first_pass
.create_basic_method(
    &args,
    Some(&"item".to_string()),
    &return_value,
    self_name,
    false,
    false
)
.map(wrap_import_function)
.map(|import| program.imports.push(import));

Where value_type is Node? from the webidl.
I may put in a preliminary PR in with item and some of the other bits so then I can concentrate on the iterator here.

Ok sounds good to me, I can certainly help debug failures in a PR :)

see also https://github.com/rustwasm/wasm-bindgen/issues/776

I'm playing with window.fetch, the only way to inspect the contents of Response.headers is through the Symbol.iterator, either on the object itself or the contents of entries() (see MDN).
The iterable decl is documented in WebIDL level 1.
This iterable behavior isn't necessary for NodeList, because with that iterator the keys are consecutive numbers and there is a length property, which together can be used to manually iterate over it.
I'm going to have a dig through the codegen to see if its possible to generate js_sys::Iterator (or related) for iterables.

Ok so I've looked at the code and noticed that I seem to be starting from a blank slate. My implementation plan is

Extract info from webidl

There should be exactly zero or one iterable declaration from any interface, partial interface, and any parent or child interfaces. Try to test for this as much as possible. There should also not be any operations with clashing names.
Collect it in an Option<IterableKind> where#[derive(Clone, Debug)]
pub(crate) enum IterableKind<'src> {
    /// List-style iterable
    List {
        val_ty: &'src weedle::types::Type<'src>,
    },
    /// Map-style iterable
    Map {
        key_ty: &'src weedle::types::Type<'src>,
        val_ty: &'src weedle::types::Type<'src>,
   }
}

during the first pass

Codegen

Don't do any codegen manually, just add the four methods to the type.

In the ECMAScript language binding, an interface that is iterable will have “entries”, “forEach”, “keys”,
“values” and @@iterator properties on its interface prototype object.

So we just generate these 4 methods - the @@iterator behavior can be recovered from the entries
method.

forEach takes a closure, but the other 3 methods need to use types from js_sys (Iterator). Do we
do this for anything else in web-sys?

How do you feel about this approach generally?

That sounds like a good approach to me!

Fixed by #3962.
Though we decided to not encode the type in the iterator for now.


Animation example using AsStream()

I read Miguel writing on using AsStream() to deliver animation using SkiaSharp. Could someone provide a link to codes or recipe on how to do that. A self-made Xamarin example/sample using Forms would be a GREAT help!

I would love to see this too 😄

@JimSEOW do you have more information with regards to this? I know you can do basic animations by refreshing the screen as you would any game/animation engine:
onDraw() {
    render()
    refresh()
}

I am looking for a way to use SkiaSharp to draw on UrhoSharp Texture to create a smooth dynamic texture
References
https://forums.xamarin.com/discussion/66204/using-skia-with-existing-opengl-context

I think there is need to figure out best practice to implement smooth animation using SkiaSharp. I am curious if AsStream is a good option. If so, how to implement in async way
Reference
https://forums.xamarin.com/discussion/61920/skiasharp-for-animation

This is off-topic for SkiaSharp.
SkiaSharp's sole goal is to give you a 2D drawing API, if you want to animate the results, that belongs in a higher design level.

I am in discussion with people using SkiaSharp to implement cross platform WPF's XAML. It will be of interest to the community to understand how to best use SkiaSharp different 2D drawing API capabilities to implement SkiaSharp as backend for higher design such as e.g. cross platform WPF.


Icon in title does not scale with font size setting

Describe the bug
When you Ctrl + Mousewheel up to increase the font size, the icon in the title does not increase in size along with the rest of the document.
To Reproduce
Steps to reproduce the behavior:

Enable Toggle Icon in Title option.
Add emoji to icon:.
Ctrl + Mousewheel up to increase font size a lot (or Settings > Appearance > Font >  Font size).

Expected behavior
Icon should scale up in size along with the inline title and rest of the text.
Screenshots

Thanks.

This has been resolved in v2.7.2.


Cache option not working

If i try to enable cache option:
    buildModules: [         ["@storyblok/nuxt", {             accessToken: "xxxxx",             apiOptions: {                 cache: { type: "memory" },             },         }]     ],
I get an error:
Cannot add property accessToken, object is not extensible
This is also not working:
    buildModules: [         ["@storyblok/nuxt", {             accessToken: "xxxxx",             apiOptions: {                 accessToken: "xxxxx",                 cache: { type: "memory" },             },         }]     ],
Iam using the latest version.
If i remove the apiOptions property, storyblok creates two request:
301 https://api.storyblok.com/v2/cdn/stories/en?version=published&token=xxxxx&cv=undefined =>
200 https://api.storyblok.com/v2/cdn/stories/en?cv=1654702667&token=xxxxx&version=published
How can i prevent this 301?

Confirming this issue. Whenever I pass apiOptions to the module it start failing with [nuxt] [request error] Cannot add property accessToken, object is not extensible.
The problematic code seems to be this bit in the storyblokInit function (code taken from dist folder in node_modules):
const { bridge, accessToken, use = [], apiOptions = {} } = pluginOptions;
apiOptions.accessToken = apiOptions.accessToken || accessToken;

This should be fixed as of V4.3.0. Check https://github.com/storyblok/storyblok-nuxt/issues/170#issuecomment-1239527769.

Closing since it hasn't been active in a while and the latest comment from @StaffOfHades. If it's still happening feel free to re-open providing a valid reproduction link
Thanks!


note regarding Company Portal change

https://github.com/MicrosoftDocs/windows-itpro-docs/issues/3843
info found here: https://blogs.technet.microsoft.com/cbernier/2018/03/08/windows-information-protection-adding-the-intune-company-portal-for-windows-as-an-exempt-app/

@dulcemontemayor The PR introduces a clarifying note regarding "company portal change" to the article titled, List of enlightened Microsoft apps for use with Windows Information Protection (WIP) (Windows 10).
Please review as the time permits.
You may also refer to the discussion at the associated issue #3843 for details.
Thanks.,


Allow shot.jump() calls to force a show refresh

This PR adds a new parameter to shot.jump() that allows the call to force an update of the shot profile show. This fixes a behavior that occurs when a shot's profile is programmatically changed and jumped to a new state while the shot is running.
In most cases this works fine, but there's a gap because the shot uses the index of the profile's state to determine whether to call self._update_show(). In the case where the desired state of the new profile is the same as the state of the old profile, logic will prevent the show from updating and the previous profile's show will remain running.
This PR adds an override parameter force_show that instructs the Shot to call self._update_show() even if the previous profile state is the same as the new profile state.

Looks fine to me. Can we have a simple test for it? Otherwise a future refactoring might remove it again.


argocd: 2.4.8 -> 2.4.9

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/argocd/versions.
meta.description for argocd is: "Declarative continuous deployment for Kubernetes"
meta.homepage for argocd is: "https://argo-cd.readthedocs.io/en/stable/"
meta.changelog for argocd is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.4.9 with grep in /nix/store/7347c5d9yfj43mn6zcssqy2m4acla4dp-argocd-2.4.9
found 2.4.9 in filename of file in /nix/store/7347c5d9yfj43mn6zcssqy2m4acla4dp-argocd-2.4.9

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
argocd

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

argocd

Maintainer pings
cc @shahrukh330 @bryanasdev000 for testing.

Result of nixpkgs-review pr 186231 run on x86_64-darwin 1

1 package built:

argocd


How to use parser?

Hi,
I look through this packaged, but seems it don't give any notes on the usage.
Is this a requisite for your aiida-vasp or a standalone package?
Regards

Hi there. That is true. The documentation is not very good. You are happy to use it for other things. Right now, it is used i  the AiiDA plugin and a few other places. I will see if I can write a short doc piece soon.

Thanks for your notes.
I also looked though the examples for aiida-vasp.  But it seems they are so complicated/trivial for using, and this is true for all of aiida-plugins from my point of view.
Do you have used this plugin for your daily use?
Regards

For the VASP plugin, please start here: https://aiida-vasp.readthedocs.io/en/latest/
Currently most plugin developers have been focusing on getting the backbone to work properly in tight connection with the core developers. A lot of things have changed during the last two years in order to settle on a more standardized production platform.
Consequently, more say useful workflows have not yet been develop, at least not included in a supported release of the plugin. However, several users are running and have been running production using the plugin for rather complicated problems. Also, AiiDA is much more than just the workflow. The fact that the provenance is kept is great and difficult to accomplish with standalone calculations without too much manual work.
Most plugins are during this year entering a production state and then it is possible to start focusing on writing more elaborate workflows.
Also, if you feel the workflows are too trivial or complicated for your need, please open an issue with suggestion, or even better, make a pull request and contribute. We are always happy for contributions. The plan is that this will grow with community contributions.
Yes, I do use the plugin for all my VASP calculations now.


Add twitter schema into the perftest module

This PR introduces the twitter schema into the perftest, so that users can use it with twitter data out of the box.

LGTM.


Clear Partition Check Warning Message

Changed PartitionCheck method that is scheduled to be executed every 120 blocks.
When a warning error was found on this method it was never cleared.
Not at begining of execution the warning error message is cleared, if it's ok it will desapear from "errors" on RCP calls.

Seems fine to me.
Should help with the spam.
utACK


Task Management: Run task is available in Context menu when no task is chosen

System information:

Operating system (distribution) and version win 10 x64
DBeaver version 6.2.2 EA
in scope of #2372

Describe the problem you're observing:
"Run task" is always available in context menu, even if no task is chosen or exists
Steps to reproduce, if exist:

Open DB Tasks Tab
Check Context menu
no task is chosen:

no tasks exist

Fixed

verified


[0.7.7] Classification no longer classifies filled items to matching raster operations

The 0.7 classification routine used to classify filled elements to a matching Raster operation with the exact same colour (if it existed). Because you have to preserve and respect the order of filled items in a raster operation, it would group overlapping items and then add the whole group to any non-default Raster operations that had the exact same colour as any element in the group.
This meant that for test designs (where you create many non-overlapping raster items of slightly different colours and matching operations with e.g. different speeds or powers) you could save and restore and the items would be re-classified back again automatically.
But now when I restore, my test designs have every filled element allocated to every Raster operation and then takes a lot of effort to manually get right again.

Would you care to share your test designs? These could end up in a unit test

Step vs Speed LASER7.zip

See also the 0.8Beta5 issues list - because node labels have far, far less info, and particularly do not show the colours, it is actually now impossible to manually drag & drop elements to Raster operations with matching colours without opening the properties and then the colour picker to see exactly what colour each element and operation is.

Is the current 7.7 logic, it classified everything in all the rasters.

8.0 seems to classify everything in a Disabled Raster and the first raster.
The fill seems to confirm that these fill values are mostly black.
[06:21:57] fill
[06:21:57]     ----------
[06:21:57]     Fill Values:
[06:21:57]     0: fill = none - Path:rect1179
[06:21:57]     1: fill = #040004 - Path:rect411
[06:21:58]     2: fill = #040003 - Path:rect1998
[06:21:58]     3: fill = #040002 - Path:rect2000
[06:21:58]     4: fill = #040001 - Path:rect2002
[06:21:58]     5: fill = #040000 - Path:rect2004
[06:21:58]     6: fill = #030004 - Path:rect2100
[06:21:58]     7: fill = #030003 - Path:rect2102
[06:21:58]     8: fill = #030002 - Path:rect2104
[06:21:58]     9: fill = #030001 - Path:rect2106
[06:21:58]     10: fill = #030000 - Path:rect2108
[06:21:58]     11: fill = #020004 - Path:rect2112
[06:21:58]     12: fill = #020003 - Path:rect2114
[06:21:58]     13: fill = #020002 - Path:rect2116
[06:21:58]     14: fill = #020001 - Path:rect2118
[06:21:58]     15: fill = #020000 - Path:rect2120
[06:21:58]     16: fill = #010004 - Path:rect2124
[06:21:58]     17: fill = #010003 - Path:rect2126
[06:21:58]     18: fill = #010002 - Path:rect2128
[06:21:58]     19: fill = #010001 - Path:rect2130
[06:21:58]     20: fill = #010000 - Path:rect2132
[06:21:58]     21: fill = #000004 - Path:rect2136
[06:21:58]     22: fill = #000003 - Path:rect2138
[06:21:58]     23: fill = #000002 - Path:rect2140
[06:21:58]     24: fill = #000001 - Path:rect2142
[06:21:58]     25: fill = #000000 - Path:rect2144
[06:21:58]     26: fill = #010101 - Path:path4380
[06:21:58]     ----------

0.8.x will very much not care and just classifies anything with a set fill into a raster operation. 0.7.7 classification works this way regardless whether legacy or non-legacy classification is used.
In 0.8.x the issue would be mostly resolved by user classification being saved to disk. So the original classification would merely hold without resorting to minor tweaks to get things to classify in this manner.

For what it's worth, that classification scheme cited, only actually kicks in if rasters_one_pass = True and since the first and second raster operations do not share the same op_color then rasters_one_pass gets set False and stays False.
The last time this was touched was 11 months ago by Sophist.
https://github.com/meerk40t/meerk40t/commit/9be5b3e9aad1d0bf5ace8ac605896a03dfad3be9

That version also classified the given file the same way. This was 0.7.0 RC11ds.

I can find no version where this classified the way described. Going back to the pre-RC10 days.

Hmmm - actually the code is still there in 0.7.7, but apparently not working.
https://github.com/meerk40t/meerk40t/blob/1f6b80eb7f55d730ae6aaeaac84c9d33b49bb236/meerk40t/core/elements.py#L7531-L7557

Tracing back, it's never worked. If I forced rasters_one_pass = True that behavior did actually kick in. I assume it's an edge case where if each raster is a different color then elements should be classified based on their fill color rather than stroke. But, the check there has always been checking that the color != the previous color and then it sets that to False. Which is checking that all rasters are the same color rather than all rasters are different. Thus triggering the behavior wrongly.
But, it appears that it has never classified such operations correctly so nobody else is going to have such a test file that stopped working because that edge case never worked.

Nevertheless, calibration files are a use case, and IMO if we want to encourage a more scientific usage of lasers it is a reasonably important one (though not as important as real production burns of course).

The amended classification routines in 0.8b6 should address most if not all of this

Once the executable is available I'll take a look.


Add esp wifi to monorepo with history

I also kept all the commits because

the original authors should be mentioned
the history might be useful

This is not just a copy from esp-wifi since some changes were needed to get it working with current main - however most changes should be straight forward

All our PRs get squashed by the merge queue FYI, if you're not aware.

All our PRs get squashed by the merge queue FYI, if you're not aware.

Ah true ... but at least the contributors will be added to that commit

Hmm, so I guess the fun here will be that we need to make esp-wifi (and its examples) run on stable :D.
Other than that this is looking good so far.

One small request, could you please also add EspWifi to the Package enum in the xtask package? I keep forgetting to do this when I add packages, so trying to build the habit for myself and others 😅

Thanks for the hint .... I totally forgot about that 👍

Thx! Reducing the dependency hell using main :)


Chaining Animation doesn't trigger killOnComplete

Not sure if this intended, but just noticed this when doing some chaining :)
for example:
				var tempbolt = game.add.sprite(0, 0, 'lightningbolt');
				    tempbolt.animations.add('walk');
				     tempbolt.play('walk', 30, false, true)

The killOnComplete parameter triggers perfectly
But, if you do this:
				var tempbolt = game.add.sprite(0, 0, 'lightningbolt');
				    tempbolt.animations.add('walk').play('walk', 30, false, true)

Animation works fine and does stop, but the killOnComplete doesn't get called. Not sure if this is a bug, or if it's intended to keep us away from chaining (if it's bad practice). I love to chain whenever I can because my codebase is so big, but I can understand if it's intended. Thought i'd report anyways
Thx

It's because the method signatures are different. In the first example you're calling AnimationManager.play, so the arguments are correct. In the second one you're calling Animation.play which has a different signature. The following should work fine:
var tempbolt = game.add.sprite(0, 0, 'lightningbolt');
tempbolt.animations.add('walk').play(30, false, true)

I see, thanks Rich.


[release/3.1] Replace legacy MyGet feeds

MyGet feeds have been deprecated and replaced with new feeds.
This PR updates source-build infrastructure in cases where MyGet feeds were used and adds a task to update repo's NuGet.Config file(s) to replace feeds before building.
See #1971

OSX issue is known.  #1977

OSX issue is known.  #1977


tidy namespace + minors

Hi Esben.
I love namespaces and hate tests. I made some changes to your namespace which shouldn't change how the code runs and only how the package loads. But who knows?! Imma maaan that loves namespaces HATES tests. So I was thinking, you may help me check this pull request, include some tests or some examples or a script of how to use your functions or an /inst/scripts/example.R dunno if there is a public sharepoint to test against.
This pull request has a very pedantic namespace where every function is spelled out. That isn't strictly necessary for such a small package, but what can I say? You just gonna have to love those namespaces to understand - I guess.
This was all for now and so long
yours truly
Soren

diff-view on "tidying namespace part 1: source code" commit looks really messy. I only specied thisPackage::thatFunction, added some @importFrom and sprinkled some few comments

I just manually added all the namespace updates 👍


Provide api for changing vendor's email

https://keboola.zendesk.com/agent/tickets/6806

Fixed by 29b8eb2


PLC Lab/JRS Lab - ReportStream CSV Uploader Error Message

User<EMAIL_ADDRESS>Describe the bug
ReportStream user attempted to use ReportStream CSV uploader on July 1- 2 and have been receiving error messages.
Impact
Wasn't able to use the ReportStream CSV Uploader on July 1, 2.  When they thought it would be available until July 18.
Expected behavior
To be able to submit CSV uploads in ReportStream until July 18.
Screenshots

@sarahnw will let them know.

@sarahnw
User responded confirming they were able to upload CVS via SimpleReport.  They just request confirmation that the submission went through.  I emailed the SimpleReport Team for confirmation and waiting for their update.
From: Cenllase Estrada<EMAIL_ADDRESS>Sent: Thursday, July 7, 2022 6:25 PM
To: Liu, Sharon (CDC/DDPHSS/OD/HITSSU) (CTR<EMAIL_ADDRESS>Cc: PCL Inc<EMAIL_ADDRESS>Brewster, Adrian (CDC/DDPHSS/OD/HITSSU) (CTR<EMAIL_ADDRESS>White, Sarah (CDC/DDPHSS/OD/HITSSU<EMAIL_ADDRESS>Subject: RE: ReportStream Submitting Issues
Good afternoon team,
I appreciate the follow up with this issue. I have not attempted to resubmit any new CSV files to ReportStream but yesterday I was able to log into my account on SimpleReport and begun submitting files onto that system. I am not sure if the CSV files I submitted were correctly received to the correct corresponding laboratory since I was able to add 2 separate laboratories under the same account and ReportStream required me to create 2 different accounts for each laboratory. Would anyone be able to confirm if the submissions were correct? The email for the account registered is<EMAIL_ADDRESS>Thank you.
Best regards,
Cenllase Estrada
Reporting Coordinator
Precision Clinical Laboratories Inc.
e<EMAIL_ADDRESS>


Consider splitting write pool

Currently write pool is shared between traces and metrics. Not many users are ingesting both at the moment, however we should benchmark this and decide if we need to split the write pool.

Splitting the pool will be a good idea, otherwise the tracing ingestion can starve due to heavy metric ingestion from Prometheus..


Message image upload

Allow the user to upload image in chat, and allow the image to show up in past messages section in profile page

Hey Rosa, I had actually fixed the branch so it work's w/ Peter's code, but I had issues uploading an image. Can you try pulling the branch and telling me if you have issues?
My error: http://dpaste.com/0V0Z6JY

Hi Artur,
I pulled the branch and was able to upload images in chat and profile
picture. Did you have issue uploading image in chat or profile picture or
both?
On Mon, May 21, 2018 at 9:31 PM, Artur Tsurkan<EMAIL_ADDRESS>wrote:

Hey Rosa, I had actually fixed the branch so it work's w/ Peter's code,
but I had issues uploading an image. Can you try pulling the branch and
telling me if you have issues?
My error: http://dpaste.com/0V0Z6JY
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/robgutierrez1/CodeU-Spring-2018/pull/16#issuecomment-390843462,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYKHL2qqvdvGAQe7CbwXb1CKI6LRl2E_ks5t03hxgaJpZM4T8O0F
.


Copying code that is highlighted in red as a conflict retains its red styling even after conflict is resolved.

Fixed by #66


Defined create function outside the if block inside signupPage.tsx and resolved typos

[X] Built locally on ubuntu 23.10 with npm run build
Create function was inside the if block but it was called outside the if block inside onSubmit funciton, so it was creating a reference error.
Therefore, I defined the create function outside the if block and called it inside the if block.

@shivajee98 Add the issue no and dont push the code on master. READ the Contribution file .


Pi 2, OSMC, STK1160, LEDs showing OSMC colors

I am so close to having this all working but I have run into one large issue. Hyperion controls the LEDs according to what is shown on the Pi, not what is picked up by the grabber. I have full control of the LEDs from the android app, but it does not seem to be utilizing the video grabber. I have verified I got an stk1160 video grabber.
Below is the settings I am using in the hyperion.config.json file.

Could it be any of those settings? I also did a clean install with the device plugged in and that did not seem to change anything. Any help would be appreciated!
EDIT: I should also add that by using WinSCP and looking under /dev I can see video0.

the framegrabber itself have a higher priority then the GrabberV4l2 and you could not change this.
As a workaround, use the xbmc checker and set "menu" to off.
Not the best solution, but the only one i found, for a "smooth" transition.

Would you leave both grabbers still enabled? or just the normal and not the GrabberV412?

both enabled, like in your screenshot.
if the kodi menu is shown, i could change the input at the tv from hdmi (kodi) to the internal dvb device and watch tv with ambilight (through the SCART, it is "black" until i go tv dvb)

Oh, so if I don't ever plan on using Kodi on the Pi, is there a way I could disable it so it would never grab from the Pi? I have a PC and Fire TV connected to a receiver that has the splitter between it and the TV, so the Pi will never be displayed on the screen.

I just used
hyperion-v4l2 --screenshot
and I got the error
VIDIOC_S_FMT error 16, Device or resource busy

New update, that error is what happens when you don't stop Hyperion first! But unfortunately it still only show what is running in osmc.

Yes, you have to disable hyperion, if you want to grab a screenshot. Could you get a screenshot now?

It just hung while saying capturing screenshot, so I tested every component I could and found the hdmi2av converter would only output green static so I am I  the process of getting a new one.

Below are screenshots of my config settings

Below is the content of my config file:
`// Automatically generated configuration file for 'Hyperion daemon'
// Generated by: HyperCon (The Hyperion deamon configuration file builder
{
/// Device configuration contains the following fields:
/// * 'name'       : The user friendly name of the device (only used for display purposes)
/// * 'type'       : The type of the device or leds (known types for now are
/// APA102, Adalight, AmbiLed, Atmo, Hyperion-USBASP-WS2801, Hyperion-USBASP-WS2812, Lightberry, Lightpack, LPD6803, LPD8806, Multi-Lightpack, P9813, Paintpack, PhilipsHUE, PiBlaster, SEDU, Test, ThinkerForge, TPM2, WS2801, WS2812b, None)
/// * [device type specific configuration]
/// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.).
"device" :
{
"name"       : "MyPi",
"type"       : "ws2801",
"output"     : "/dev/spidev0.0",
"rate"     : 1000000,
"colorOrder" : "rbg"
},
/// Color manipulation configuration used to tune the output colors to specific surroundings.
/// The configuration contains a list of color-transforms. Each transform contains the
/// following fields:
///  * 'id'   : The unique identifier of the color transformation (eg 'device_1')	///  * 'leds' : The indices (or index ranges) of the leds to which this color transform applies
///             (eg '0-5, 9, 11, 12-17'). The indices are zero based.	///  * 'hsv' : The manipulation in the Hue-Saturation-Value color domain with the following
///            tuning parameters:
///            - 'saturationGain'  The gain adjustement of the saturation
///            - 'valueGain'       The gain adjustement of the value
///  * 'red'/'green'/'blue' : The manipulation in the Red-Green-Blue color domain with the
///                           following tuning parameters for each channel:
///            - 'threshold'       The minimum required input value for the channel to be on
///                                (else zero)
///            - 'gamma'           The gamma-curve correction factor
///            - 'blacklevel'      The lowest possible value (when the channel is black)
///            - 'whitelevel'      The highest possible value (when the channel is white)
///
/// Next to the list with color transforms there is also a smoothing option.
///  * 'smoothing' : Smoothing of the colors in the time-domain with the following tuning
///                  parameters:
///            - 'type'            The type of smoothing algorithm ('linear' or 'none')
///            - 'time_ms'         The time constant for smoothing algorithm in milliseconds
///            - 'updateFrequency' The update frequency of the leds in Hz
///            - 'updateDelay'     The delay of the output to leds (in periods of smoothing)
"color" :
{
	"transform" :
	[
		{
			"id"   : "default",
			"leds" : "*",
			"hsv" :
			{
				"saturationGain" : 1.0000,
				"valueGain"      : 1.0000
			},
			"red" :
			{
				"threshold"  : 0.0000,
				"gamma"      : 1.0000,
				"blacklevel" : 0.0000,
				"whitelevel" : 1.0000
			},
			"green" :
			{
				"threshold"  : 0.0000,
				"gamma"      : 1.0000,
				"blacklevel" : 0.0000,
				"whitelevel" : 1.0000
			},
			"blue" :
			{
				"threshold"  : 0.0000,
				"gamma"      : 1.0000,
				"blacklevel" : 0.0000,
				"whitelevel" : 1.0000
			}
		}
	],
	"smoothing" :
	{
		"type"            : "linear",
		"time_ms"         : 200,
		"updateFrequency" : 30.0000,
		"updateDelay"     : 0
	}
},

/// The black border configuration, contains the following items:
///  * enable    : true if the detector should be activated
///  * threshold : Value below which a pixel is regarded as black (value between 0.0 and 1.0)
"blackborderdetector" :
{
	"enable" : true,
	"threshold" : 0.01
},

/// The configuration of the effect engine, contains the following items:
///  * paths        : An array with absolute location(s) of directories with effects
///  * bootsequence : The effect selected as 'boot sequence'
"effects" :
{
	"paths" :
	[
		"/opt/hyperion/effects"
	]
},

"bootsequence" :
{
	"effect" : "Rainbow swirl fast",
	"duration_ms" : 3000
},

///  The configuration for the frame-grabber, contains the following items:
///   * width        : The width of the grabbed frames [pixels]
///   * height       : The height of the grabbed frames [pixels]
///   * frequency_Hz : The frequency of the frame grab [Hz]
"framegrabber" :
{
	"width" : 96,
	"height" : 54,
	"frequency_Hz" : 10.0
},

/// The configuration of the XBMC connection used to enable and disable the frame-grabber. Contains the following fields:
///  * xbmcAddress       : The IP address of the XBMC-host
///  * xbmcTcpPort       : The TCP-port of the XBMC-server
///  * grabVideo         : Flag indicating that the frame-grabber is on(true) during video playback
///  * grabPictures      : Flag indicating that the frame-grabber is on(true) during picture show
///  * grabAudio         : Flag indicating that the frame-grabber is on(true) during audio playback
///  * grabMenu          : Flag indicating that the frame-grabber is on(true) in the XBMC menu
///  * grabScreensaver   : Flag indicating that the frame-grabber is on(true) when XBMC is on screensaver
///  * enable3DDetection : Flag indicating that the frame-grabber should switch to a 3D compatible modus if a 3D video is playing
"xbmcVideoChecker" :
{
	"xbmcAddress" : "<IP_ADDRESS>",
	"xbmcTcpPort" : 9090,
	"grabVideo" : true,
	"grabPictures" : true,
	"grabAudio" : true,
	"grabMenu" : false,
	"grabScreensaver" : true,
	"enable3DDetection" : true
},

/// The configuration of the Json server which enables the json remote interface
///  * port : Port at which the json server is started
"jsonServer" :
{
	"port" : 19444
},

/// The configuration of the Proto server which enables the protobuffer remote interface
///  * port : Port at which the protobuffer server is started
"protoServer" :
{
	"port" : 19445
},

/// The configuration of the boblight server which enables the boblight remote interface
///  * port : Port at which the boblight server is started

// 	"boblightServer" :
// 	{
// 		"port" : 19333
// 	},
/// Configuration for the embedded V4L2 grabber
///  * device          : V4L2 Device to use [default="/dev/video0"]
///  * input           : V4L2 input to use [default=0]
///  * standard        : Video standard (no-change/PAL/NTSC) [default="no-change"]
///  * width                : V4L2 width to set [default=-1]
///  * height               : V4L2 height to set [default=-1]
///  * frameDecimation      : Frame decimation factor [default=2]
///  * sizeDecimation       : Size decimation factor [default=8]
///  * priority             : Hyperion priority channel [default=800]
///  * mode                 : 3D mode to use 2D/3DSBS/3DTAB (note: no autodetection) [default="2D"]
///  * cropLeft             : Cropping from the left [default=0]
///  * cropRight            : Cropping from the right [default=0]
///  * cropTop              : Cropping from the top [default=0]
///  * cropBottom           : Cropping from the bottom [default=0]
///  * redSignalThreshold   : Signal threshold for the red channel between 0.0 and 1.0 [default=0.0]
///  * greenSignalThreshold : Signal threshold for the green channel between 0.0 and 1.0 [default=0.0]
///  * blueSignalThreshold  : Signal threshold for the blue channel between 0.0 and 1.0 [default=0.0]
"grabber-v4l2" :
{
	"device" : "/dev/video0",
	"input" : 0,
	"standard" : "NTSC",
	"width" : -1,
	"height" : -1,
	"frameDecimation" : 2,
	"sizeDecimation" : 8,
	"priority" : 800,
	"mode" : "2D",
	"cropLeft" : 0,
	"cropRight" : 0,
	"cropTop" : 0,
	"cropBottom" : 0,
	"redSignalThreshold" : 0.0,
	"greenSignalThreshold" : 0.0,
	"blueSignalThreshold" : 0.0
},

///  The configuration for each individual led. This contains the specification of the area
///  averaged of an input image for each led to determine its color. Each item in the list
///  contains the following fields:
///  * index: The index of the led. This determines its location in the string of leds; zero
///           being the first led.
///  * hscan: The fractional part of the image along the horizontal used for the averaging
///           (minimum and maximum inclusive)
///  * vscan: The fractional part of the image along the vertical used for the averaging
///           (minimum and maximum inclusive)
"leds" :
[
	{
		"index" : 0,
		"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
		"vscan" : { "minimum" : 0.9545, "maximum" : 1.0000 }
	},
	{
		"index" : 1,
		"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
		"vscan" : { "minimum" : 0.9091, "maximum" : 0.9545 }

`
I can see the grabber, but whenever I try to screenshot it just hangs.

I have decided to return the grabber after trying to use it as it was originally designed, and it returned green static on a macbook and an error message on a PC. Everything else seems to work, so I will try a new grabber. Any recommendations on where to buy a new grabber at would be greatly appreciated.

Good decision, there are serveral problems with the stk1160 video grabber
I could recommend a Fushicai UTV007-Chip
I know that the Basetech BR116 USB 2.0 Video Grabber use it
also the LogiLink Audio and Video Grabber USB 2.0
Notice: pictures the same, brand another but both UTV007, just look at your preferred shop
brindosch

Today I received a new video grabber, and the problem is resolved!


Train model

Codecov Report

Merging #7 into master will decrease coverage by 0.24%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master       #7      +/-   ##
==========================================
- Coverage   44.99%   44.74%   -0.25%
==========================================
  Files          15       15
  Lines         549      552       +3
==========================================
  Hits          247      247
- Misses        302      305       +3

Impacted Files
Coverage Δ

api/analyze/views.py
33.33% <0%> (-1.15%)
:arrow_down:

api/analyze/utils.py
14.77% <0%> (-0.12%)
:arrow_down:

Continue to review full report at Codecov.

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


fix: Response schema check for recursive schemas

Fixes #468

Codecov Report

Merging #484 into master will decrease coverage by 0.30%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##            master     #484      +/-   ##
===========================================
- Coverage   100.00%   99.69%   -0.31%
===========================================
  Files           31       31
  Lines         1993     1979      -14
  Branches       312      312
===========================================
- Hits          1993     1973      -20
- Misses           0        3       +3
- Partials         0        3       +3

Flag
Coverage Δ

#unittests
99.69% <100.00%> (-0.31%)
:arrow_down:

Impacted Files
Coverage Δ

src/schemathesis/checks.py
100.00% <100.00%> (ø)

src/schemathesis/extra/pytest_plugin.py
92.85% <0.00%> (-7.15%)
:arrow_down:

src/schemathesis/lazy.py
100.00% <0.00%> (ø)

src/schemathesis/models.py
100.00% <0.00%> (ø)

src/schemathesis/cli/context.py
100.00% <0.00%> (ø)

src/schemathesis/runner/events.py
100.00% <0.00%> (ø)

src/schemathesis/runner/impl/core.py
100.00% <0.00%> (ø)

src/schemathesis/runner/serialization.py
100.00% <0.00%> (ø)

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 799f3bb...756f3dd. Read the comment docs.


[BUG]fix binary expression when nested

Fixed in https://github.com/gengjiawen/monkey-rust/commit/c5439420cd49417bf23dbec2debd872279463498.


[Feature] Integrate with LSP to be able to iterate over enums

I am aware that it would be a huge change, but being able to increment/decrement over enum values back and forth would be an awesome extension.
For one of the projects I'm working on I have exported few enum sets to my config and already missed it when trying to increase not exported one.

This would be a really cool feature to have!


role_arn is required

Starting from this version role_arn is required and i cant pull data using arn user. Before i could remove role_arn line from config file and it makes lib use arn user.

Sorry my bad, that was an accident, 0.8.3 fixes this in a minute

https://github.com/saleweaver/python-amazon-sp-api/releases/tag/v0.8.3


Cram2Fastq Conversion flip the reads for one of the pairs in paired-end sequencing?

I used cramtools to convert .cram files to .fastq files for paired-end sequences in the following way:
java -jar cramtools.jar fastq -I $file.cram -O $file.fastq
I noticed that the orientation for one of the read is flipped when I looked at the alignment.
If I do the .cram to .fastq conversion in two steps:

cram -> bam using cramtools
bam -> fastq using picard-tools
The orientation for the read pair is correct.

Is this an expected behavior? Is there a way to convert cram to fastq efficiently?

Could you please post the read both from the cram and fastq files? Also the command line used for creating fastq.

HI,
can you please share the command (the one that works...)
thanks,
ibseq

Hi @ibseq: I haven't used cramtools in quite a while. As I mentioned in my earlier post, cramtools flipped the orientation of read 2 if you go straight from cram to fastq. So I did it in two steps as I outlined previously. Were you looking for those commands?

i was looking for the one that didn’t flip your reads ..

On 10 Nov 2017, at 9:00 pm, Amy Lee<EMAIL_ADDRESS>wrote:
Hi @ibseq: I haven't used cramtools in quite a while. As I mentioned in my earlier post, cramtools flipped the orientation of read 2 if you go straight from cram to fastq. So I did it in two steps as I outlined previously. Were you looking for those commands?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@ibseq try the following and make sure you have picard tools installed for the second step:

java -jar cramtools.jar bam -I $file.cram -O $file.bam
java -jar picard.jar SamToFastq I=$file.bam F=$file.R1.fastq F2=$file.R2.fastq

If you are also having issues with cramtools flipping the orientation of read 2, perhaps get in touch with @vadimzalunin and other developers of cramtools.

thanks amie
quick question , how do you check if the flipping occurred?

On 10 Nov 2017, at 10:24 pm, Amy Lee<EMAIL_ADDRESS>wrote:
@ibseq try the following and make sure you have picard tools installed for the second step:
java -jar cramtools.jar bam -I $file.cram -O $file.bam
java -jar picard.jar SamToFastq I=$file.bam F=$file.R1.fastq F2=$file.R2.fastq
If you are also having issues with cramtools flipping the orientation of read 2, perhaps get in touch with @vadimzalunin and other developers of cramtools.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I was looking at RNASeq data and was very surprised to see my alignment % was lower than expected (~20%). To try to figure out what went wrong, I manually inspected several alignments using IGV and that's when I noticed that read 1 and read 2 of the majority of pairs were pointing in the same direction.

thanks!

On Nov 13, 2017, at 3:41 AM, Amy Lee<EMAIL_ADDRESS>wrote:
I was looking at RNASeq data and was very surprised to see my alignment % was lower than expected (~20%). To try to figure out what went wrong, I manually inspected several alignments using IGV and that's when I noticed that read 1 and read 2 of the majority of pairs were pointing in the same direction.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/enasequence/cramtools/issues/56#issuecomment-343801924, or mute the thread https://github.com/notifications/unsubscribe-auth/Af_hw-hibm0dcOtAzjYJwyWkvHNE7qDVks5s17p9gaJpZM4IwhVV.


[Bug] if port=9010 is used on host, it will deploy doris failed by docker-compose

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
2.0
What's Wrong?
deploy doris by docker-compose
https://doris.apache.org/zh-CN/docs/install/construct-docker/run-docker-cluster
What You Expected?
2023-12-25 06:02:50,876 WARN (main|1) [NetUtils.isPortAvailable():107] Edit log port 9010 is already in use. Please change the 'edit_log_port' in fe.conf and try again. But if this is not the first time your start this FE, please DO NOT change it.  You need to find the service that occupies the port and shut it down, and then return the port to Doris.
java.net.BindException: Address already in use (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method) ~[?:1.8.0_342]
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) ~[?:1.8.0_342]
at java.net.ServerSocket.bind(ServerSocket.java:390) ~[?:1.8.0_342]
at java.net.ServerSocket.(ServerSocket.java:252) ~[?:1.8.0_342]
at java.net.ServerSocket.(ServerSocket.java:143) ~[?:1.8.0_342]
at org.apache.doris.common.util.NetUtils.isPortAvailable(NetUtils.java:101) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.DorisFE.checkAllPorts(DorisFE.java:193) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.DorisFE.start(DorisFE.java:129) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.DorisFE.main(DorisFE.java:73) ~[doris-fe.jar:1.2-SNAPSHOT]
How to Reproduce?
if port port =9010 is used  on Host computer
deploy doris by
https://doris.apache.org/zh-CN/docs/install/construct-docker/run-docker-cluster
Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

emm... doris on docker would be use 9010 on host ?
Is there a way to modify the port, port mapping or env?

There are some issues with the Docker deploy provided on the official website.
there is a other question:

Beport  HttpPort BrpcPort are -1?

You should replace the IP here with the docker network. You can add such a statement to create a docker virtual network.

You can check to see if 9010 is occupied by other programs.
Beport should not be -1, it should be that priority_networks is not configured.

Hmm… the docker-compose.yml on the official website is not plug-and-play.
So is there any test for it?
About this issue, I will rebuild a usable image.

You can check to see if 9010 is occupied by other programs. Beport should not be -1, it should be that priority_networks is not configured.


Add GPT3 model series

While GPT3 models are not uniquely identified by their depth, there is a one-to-one mapping of model parameter count to model width. This makes the specifications a bit inconsistent, as a 12-layer gpt2 model is gpt2:12, but for gpt3 it is gpt3:768, but we can get away with a single number.
Additionally, the changes enable interpolating of model sizes, so that one can adapt the number of parameters to the available GPU memory (this is not necessarily smooth, though, because interpolation adjusts just one parameter, whereas the others have discontinuous jumps based on the pre-defined models).

superseded by #688


Update documentation

Summary of Changes

Update favicons
Change the image name for the main docs

Motivation
The use of the older 0.3.0 image with the docs from HEAD leads to confusion as the old image doesn't work with the current state of the docs. Using an new image name makes it clearer that users will need to build an image themselves to use the main docs instead of the versioned one.
Implementation
The favicon generation is from a website using the AMD logo. These are part of the theme and configured from conf.py.
The main version of the docs now uses the unreleased 0.4.0 version of the image that will be released next.
Notes
To build the docs, you'll need to rebuild the dev container or install sphinx-favicon in your existing container.

Build successful!


New version: RubyInstallerTeam.RubyWithDevKit version 3.1.2-1

- [X] Have you signed the Contributor License Agreement?

[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.1 schema?

Resolves #58472

Microsoft Reviewers: Open in CodeFlow

Name          : Ruby 3.1.2-1-x64-ucrt with MSYS2
Publisher     : RubyInstaller Team
Version       : 3.1.2-1
ProductCode   : RubyInstaller-3.1-x64-mingw-ucrt_is1
Registry Path : Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\RubyInstaller-3.1-x64-mingw-ucrt_is1
Uninstall     : winget uninstall --id "RubyInstaller-3.1-x64-mingw-ucrt_is1"

Hmm, this package could be a good candidate for ARP Entries

Name          : Ruby 3.1.2-1-x64-ucrt with MSYS2
Publisher     : RubyInstaller Team
Version       : 3.1.2-1
ProductCode   : RubyInstaller-3.1-x64-mingw-ucrt_is1
Registry Path : Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\RubyInstaller-3.1-x64-mingw-ucrt_is1
Uninstall     : winget uninstall --id "RubyInstaller-3.1-x64-mingw-ucrt_is1"

Hmm, this package could be a good candidate for ARP Entries

Good point; Wasn't sure if we wanted to or not, but ¯_(ツ)_/¯ might as well

Good point; Wasn't sure if we wanted to or not, but ¯_(ツ)_/¯ might as well

I do implement it whenever i see need be as Denelon might want to search for them for testing.
Whenever the ARP fields are in the Manifest it also implies we should take a closer look at the metadata, there is a exe package which changes ProductCode (it got the version number) and we keep missing it because its so easy to miss...
Also here is your arm \ ¯\_(ツ)_/¯

Good point; Wasn't sure if we wanted to or not, but ¯_(ツ)_/¯ might as well

I do implement it whenever i see need be as Denelon might want to search for them for testing. Whenever the ARP fields are in the Manifest it also implies we should take a closer look at the metadata, there is a exe package which changes ProductCode (it got the version number) and we keep missing it because its so easy to miss...
Also here is your arm \ ¯\_(ツ)_/¯

Thanks, I forgot that Markdown gets weird with and needs the extra \\ to make it work


Streaming seems to break with large responses

I've been serving codellama/CodeLlama-7b-hf using openshift AI Caikit TGIS ServingRuntime for KServe and trying to interact with it using langchain via caikit-nlp-client and caikit_tgis_langchain.py, although I had to edit it to get it to even load. (Separate issue here: https://github.com/rh-aiservices-bu/llm-on-openshift/issues/32)
It seems like with large responses it will stream for awhile and then things will hang up and I'll get a huge block of text that won't decode properly because there's a date time stamp, that looks like  - 2024-01-19 16:43:27.101423 ahead of the block of json; not to mention it seems like multiple json objects ({ "generated_text": .... }{ "generated_text": ... }) not constructed in an array with brackets or comma separated.
I have modified the serving runtime to add some env vars and command line options, tolerations, etc.
apiVersion: serving.kserve.io/v1alpha1
kind: ServingRuntime
labels:
  opendatahub.io/dashboard: "true"
metadata:
  annotations:
    openshift.io/display-name: Caikit TGIS ServingRuntime for KServe with increased tokens
  name: caikit-tgis-runtime-copy
spec:
  containers:
    - args:
        - --model-name=/mnt/models/artifacts/
        - --max-sequence-length=16384
        - --max-new-tokens=16384
        - --max-prefill-weight=9000000
      command:
        - text-generation-launcher
      env:
        - name: TRANSFORMERS_CACHE
          value: /tmp/transformers_cache
        - name: PYTORCH_CUDA_ALLOC_CONF
          value: garbage_collection_threshold:0.5,max_split_size_mb:128M
      image: quay.io/opendatahub/text-generation-inference@sha256:efcc60c671a5da62c0251bc543f6de73f6578aac40a9a745eae3f60b0208f9e9
      name: kserve-container
    - env:
        - name: RUNTIME_LOCAL_MODELS_DIR
          value: /mnt/models
        - name: RUNTIME_GRPC_SERVER_THREAD_POOL_SIZE
          value: "2"
        - name: PYTORCH_CUDA_ALLOC_CONF
          value: garbage_collection_threshold:0.5,max_split_size_mb:128M
      image: quay.io/opendatahub/caikit-tgis-serving@sha256:9d6e8bc10f3b61774f9d321790f8593f6ded5674b64a366248fcde6a07d66833
      name: transformer-container
      ports:
        - containerPort: 8080
          protocol: TCP
  multiModel: false
  supportedModelFormats:
    - autoSelect: true
      name: caikit
  tolerations:
    - key: nvidia.com/gpu
      operator: Exists
      effect: NoSchedule

The example I am running is trying to reproduce some notebooks we have in https://github.com/jwmatthews/kyma_poc running against chatgpt. I am running these in an OpenShift AI Minimal Jupyter Notebook.
To install deps with this repo to work with the notbook below you can just:
pip install -r requirements.txt
pip install caikit-nlp-client

I then add the notebook and  modified caikit_tgis_langchain.py (the txt extensions for GitHub's sake and should be removed).
caikit_tgis_langchain.py.txt
OpenShift-AI-API-Test.ipynb.txt
When I run this I start to get output streaming, but it abruptly stops. If I wait a bit I'll get error output coming from http_client.py: --> 268     final_message = json.loads(b"".join(buffer))
---------------------------------------------------------------------------
JSONDecodeError                           Traceback (most recent call last)
Cell In[1], line 258
    249 #prompt="Write a hello world program in python"
    252 llm = caikit_tgis_langchain.CaikitLLM(
    253     inference_server_url="https://codellama-7b-hf-predictor-kyma-workshop.apps.ai.migration.redhat.com/",
    254     model_id="CodeLlama-7b-hf",
    255     streaming=True
    256 )
--> 258 for chunk in llm.stream(prompt, max_new_tokens=4096):
    259     print(chunk, end="", flush=True)

File /opt/app-root/lib64/python3.9/site-packages/langchain/llms/base.py:396, in BaseLLM.stream(self, input, config, stop, **kwargs)
    394 except BaseException as e:
    395     run_manager.on_llm_error(e)
--> 396     raise e
    397 else:
    398     run_manager.on_llm_end(LLMResult(generations=[[generation]]))

File /opt/app-root/lib64/python3.9/site-packages/langchain/llms/base.py:385, in BaseLLM.stream(self, input, config, stop, **kwargs)
    383 try:
    384     generation: Optional[GenerationChunk] = None
--> 385     for chunk in self._stream(
    386         prompt, stop=stop, run_manager=run_manager, **kwargs
    387     ):
    388         yield chunk.text
    389         if generation is None:

File ~/kyma_poc/nbs/caikit_tgis_langchain.py:111, in CaikitLLM._stream(self, prompt, preserve_input_text, max_new_tokens, min_new_tokens, device, stop, run_manager, **kwargs)
    108 if device or stop:
    109     raise NotImplementedError
--> 111 for token in self.client.generate_text_stream(
    112     self.model_id,
    113     prompt,
    114     preserve_input_text=preserve_input_text,
    115     max_new_tokens=max_new_tokens,
    116     min_new_tokens=min_new_tokens,
    117 ):
    118     chunk = GenerationChunk(text=token)
    119     yield chunk

File /opt/app-root/lib64/python3.9/site-packages/caikit_nlp_client/http_client.py:268, in HttpClient.generate_text_stream(self, model_id, text, timeout, **kwargs)
    265     yield message["generated_text"]
    267 if buffer:
--> 268     final_message = json.loads(b"".join(buffer))
    269     if "details" in final_message and "code" in final_message:
    270         raise RuntimeError(
    271             "Exception iterating responses: {}".format(final_message["details"])
    272         )

File /usr/lib64/python3.9/json/__init__.py:346, in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    341     s = s.decode(detect_encoding(s), 'surrogatepass')
    343 if (cls is None and object_hook is None and
    344         parse_int is None and parse_float is None and
    345         parse_constant is None and object_pairs_hook is None and not kw):
--> 346     return _default_decoder.decode(s)
    347 if cls is None:
    348     cls = JSONDecoder

File /usr/lib64/python3.9/json/decoder.py:337, in JSONDecoder.decode(self, s, _w)
    332 def decode(self, s, _w=WHITESPACE.match):
    333     """Return the Python representation of ``s`` (a ``str`` instance
    334     containing a JSON document).
    335
    336     """
--> 337     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    338     end = _w(s, end).end()
    339     if end != len(s):

File /usr/lib64/python3.9/json/decoder.py:355, in JSONDecoder.raw_decode(self, s, idx)
    353     obj, end = self.scan_once(s, idx)
    354 except StopIteration as err:
--> 355     raise JSONDecodeError("Expecting value", s, err.value) from None
    356 return obj, end

JSONDecodeError: Expecting value: line 1 column 2 (char 1)

Adding a print above this yields more json responses, but they're not properly formatted.
They start with a date/time string  - 2024-01-19 16:43:27.101423. They're also like a badly formatted array without brackets, and commas separating them. Additional date/times will be included in between every few hundred items. I've included just a snippet of text to give an idea as it's extremely long.
 - 2024-01-19 16:43:27.101423{  "generated_text": ";",  "tokens": [    {      "text": "<0x0A>",      "logprob": -0.00029952809563837945    }  ],  "details": {    "finish_reason": "NOT_FINISHED",    "generated_tokens": 325,    "seed": 0,    "input_token_count": 0  },  "producer_id": null}{  "generated_text": "\n              ",  "tokens": [    {      "text": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",      "logprob": -0.005214542616158724    }  ],  "details": {    "finish_reason": "NOT_FINISHED",    "generated_tokens": 326,    "seed": 0,    "input_token_count": 0  },  "producer_id": null}{  "generated_text": "  i",  "tokens": [    {      "text": "▁if",      "logprob": -0.0022460015024989843    }  ],  "details": {    "finish_reason": "NOT_FINISHED",    "generated_tokens": 327,    "seed": 0,    "input_token_count": 0  },  "producer_id": null}{  "generated_text": "f ",  "tokens": [    {      "text": "▁(",      "logprob": -0.00013100242358632386    }  ],  "details": {    "finish_reason": "NOT_FINISHED",    "generated_tokens": 328,    "seed": 0,    "input_token_count": 0  },  "producer_id": null}{  "generated_text": "(r",  "tokens": [ ......

If I do some crude handling of the unexpected output I can at least get a wall of text if I wait after it stops streaming:
diff --git a/home/jason/Documents/src/github.com/opendatahub-io/caikit-nlp-client/src/caikit_nlp_client/http_client.py b/http_client.py
index e21271a..10f8106 100644
--- a/home/jason/Documents/src/github.com/opendatahub-io/caikit-nlp-client/src/caikit_nlp_client/http_client.py
+++ b/http_client.py
@@ -265,13 +265,23 @@ class HttpClient:
             yield message["generated_text"]

         if buffer:
-            final_message = json.loads(b"".join(buffer))
+            import re
+            pattern = re.compile(' - [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9].[0-9][0-9][0-9][0-9][0-9][0-9]')
+            txt = b"".join(buffer).decode()
+            txt = re.sub(pattern, '', txt)
+            txt = re.sub('}{', '},{', txt)
+            txt = '[' + txt + ']'
+            #print(txt)
+            final_message = json.loads(txt.encode('utf-8'))
             if "details" in final_message and "code" in final_message:
                 raise RuntimeError(
                     "Exception iterating responses: {}".format(final_message["details"])
                 )
             try:
-                yield final_message["generated_text"]
+                final_message_string = ""
+                for i in final_message:
+                    final_message_string += i["generated_text"]
+                yield final_message_string
             except KeyError as exc:
                 raise RuntimeError(
                     "Unexpected response from the server: generated text is missing"

@jmontleon have you tried querying via curl? Would you get error as well?
I've been seeing intermittently this error during streaming:
ChunkedEncodingError: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)", InvalidChunkLength(got length b'', 0 bytes read))
I'm not sure if it's related to this same issue, trying to understand

@gabe-l-hart is there anything that could cause caikit to change the way responses are streaming depending on response size?

@bdattoma I have seen these errors as well. I'm not sure off the top of my head how to reproduce them.

@bdattoma I have seen these errors as well. I'm not sure off the top of my head how to reproduce them.

got it. I was able to reproduce today the error I reported yday, and I noticed that at the same time of the request failure, the queue-proxy container of the model pod reported an http error:
httputil: ReverseProxy read error during body copy: read tcp <IP_ADDRESS>:58576-><IP_ADDRESS>:8080: use of closed network connection
Subsequent requests were handled successfully

#99 might help


Rules - add 301 redirects

@JackLeerson
CC @christianmorfordwaitessw
Hi Jack

Add 301 redirects
Review https://www.ssw.com.au/rules/use-301-redirect-on-renamed-or-moved-pages
Add 'done - checked by Greg H'

-a
AB#60063

Hi @adamcogan, @bradystroud

Add 301 redirects

Done - there is now a redirect from rules.ssw.com.au to ssw.com.au/rules and we redirect anything like rules.ssw.com.au/xxx to ssw.com.au/rules/xxx


Fixes GNPS export in batch mode?

Changing the iteration to a copy of featureList.rows fixes a problem where only in batch mode, the number of exported rows varies between MGF, CSV and modular CSV - all filtered to only contain those rows with MS2.
No idea why. Running the same FBMN export module manually on the same feature list results in all files with the same number of rows...
This sounds like concurrency problems in the batch mode. Some racing conditions.

can merge after conflict is resolved

With @SteffenHeu


Pipelines should validate upgrade scenario

Description of the new feature/enhancement
Some packages may be perfectly fine for a clean install but may not work as well in the upgrade scenario. An example of such a package is Anki.Anki (https://github.com/microsoft/winget-pkgs/issues/109046) that does not have a silent upgrade flow. Validation Pipelines should check if the package works as intended in the upgrade scenario as well. This may include but not limited to detecting if the upgrade is silent, whether it requests for a reboot or throws a non-zero error code (which may mean we need InstallerSuccessCodes added in the manifest). Once #13620 is resolved, the upgrade validation should also check whether the Registry entries are updated as intended.
Proposed technical implementation details (optional)

Parse the output from winget show <PackageId> --versions or from Get-WinGetPackage -Id <PackageId> | Select AvailableVersions from the PowerShell module
If there exists a version less than PackageVersion of the current manifest, install it first and execute the upgrade flow.

Edge cases include the Installer Url of the previous package no longer works, or the package uses a vanity URL. These should not be considered for the upgrade validation.
Ideally, the upgrade validation should be carried out in a fresh environment/VM. However, if this incurs significant resource costs, it may be feasible to carry out the validation within the same environment. In such cases, a mechanism to clean all versions and registry entries before the next validation step (install or upgrade) should be implemented as there could be packages that don't allow downgrades or install side-by-side.

@mdanish-kh -

#32921

Ah, I did feel an issue like this would've already existed but couldn't find it under https://github.com/microsoft/winget-pkgs/labels/Area-Validation-Pipeline and manually searching for it.

Reopen with reason: Testing trigger;

Close with reason: It worked;


Update tech stack link to Tech Radar URL

TL;DR
Updated the tech stack link in README.md to point to a GitHub Pages site.
What changed?
The link to the tech stack information in the README.md file has been updated. Instead of pointing to a local file (MY_TECH.md), it now directs to a GitHub Pages site (https://jackplowman.github.io/tech-radar/).
Why make this change?
This change improves accessibility to the tech stack information by hosting it on a dedicated GitHub Pages site. It provides a more professional and easily maintainable way to showcase skills and technologies, potentially offering a better user experience for visitors interested in learning more about the author's technical expertise.

#38
#37  👈
main

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

Join @JackPlowman and the rest of your teammates on  Graphite

Merge activity

Sep 20, 4:35 PM EDT: @JackPlowman started a stack merge that includes this pull request via Graphite.


Add scala 3 support

Done by using the sbt-scala3-migrate plugin, following https://docs.scala-lang.org/scala3/guides/migration/scala3-migrate.html
Closes #105

Issue with annotations covered by https://github.com/lampepfl/dotty/issues/12492, fixed with https://github.com/lampepfl/dotty/pull/16445
Apparently not yet released: https://github.com/lampepfl/dotty/releases


Add tests to pysteps modules

Now, the pySTEPS tests are mostly done by running the examples. It is a good idea to implement scripts that test different functions.  A good and simple testing framework is pytest.
By doing so, we can test the library after any change that we want to commit.
One of the best advantages of implementing these tests is that we can set continuous integration service used to build and test projects hosted at GitHub, like Travis-CI. This is used for example in py-art.
Many of the CI servers support integration with github. By doing so, after each commit, the tests can be run under different environments and the results are visible in the commits tab in github (see pyart green checks for example ). Also, the pull request can be automatically tested before merging.
I created a branch with a script to test the interfaces as an example: https://github.com/aperezhortal/pysteps/tree/tests/test
To run this tests, execute pytest in the test folder (pytest package is needed).
The output looks like this:

============================= test session starts ==============================
platform linux -- Python 3.6.7, pytest-4.0.1, py-1.7.0, pluggy-0.8.0
test_interfaces.py .                                                     [100%]
=========================== 1 passed in 1.25 seconds ===========================
Process finished with exit code 0

pytest is a really useful tool to validate codes. While not familiar with Travis-CI, I found GitLab CI + pytest necessary for me to identify issues early.
I just ran pytest but got 2 errors.
E           assert (<function initialize at 0x7fce4d9e6598>, <function extrapolate at 0x7fce4d9e6510>) == <function extrapolate at 0x7fce4d9e6510>
E            +  where (<function initialize at 0x7fce4d9e6598>, <function extrapolate at 0x7fce4d9e6510>) = <function get_method at 0x7fce4d9776a8>('semilagrangian')

../.local/lib/python3.6/site-packages/pysteps-0.2-py3.6-linux-x86_64.egg/pysteps/tests/test_interfaces.py:15: AssertionError
______________________________________________________________________________________ test_nowcasts_interface _______________________________________________________________________________________

    def test_nowcasts_interface():
        """ Test the nowcasts module interface"""

        from pysteps.nowcasts import steps
        from pysteps.nowcasts import extrapolation
        method_getter = pysteps.nowcasts.interface.get_method

        valid_names_func_pair = [('extrapolation', extrapolation.forecast),
                                 ('steps', steps.forecast)]

        invalid_names = ['extrap', 'step']
        _generic_interface_test(method_getter, valid_names_func_pair, invalid_names)

        # Test eulerian persistence method
        precip = numpy.random.rand(100, 100)
        velocity = numpy.random.rand(100, 100)
        num_timesteps = 10
        for name in ["eulerian", "EULERIAN"]:
>           forecast = method_getter(name)(precip, velocity, num_timesteps)
E           TypeError: eulerian_persistence() missing 1 required positional argument: 'num_timesteps'

../.local/lib/python3.6/site-packages/pysteps-0.2-py3.6-linux-x86_64.egg/pysteps/tests/test_interfaces.py:186: TypeError
================================================================================= 2 failed, 5 passed in 0.70 seconds =================================================================================

Hi @wcwoo. Thanks for pointing this out. This is not a problem with the installation itself. It is an issue with the same eulerian_persistence function that is being used in two different interfaces (change made in commit 7e0b82d6789e2c864957b9a67ca09dfbc2565e7e). I will solve it shortly.

Hi @aperezhortal,
I have started to work in a Travis CI configuration for pysteps.
See https://github.com/cvelascof/pysteps/blob/master/.travis.yml
So far, this configuration
https://travis-ci.org/cvelascof/pysteps/jobs/502472265/config
is able to install conda, all packages for pysteps, and pysteps itself.
However, when I try to import pysteps before to run any tests I got the fowolling error message:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/travis/build/cvelascof/pysteps/pysteps/__init__.py", line 15, in <module>
    from . import motion
  File "/home/travis/build/cvelascof/pysteps/pysteps/motion/__init__.py", line 3, in <module>
    from .interface import get_method
  File "/home/travis/build/cvelascof/pysteps/pysteps/motion/interface.py", line 5, in <module>
    from pysteps.motion.vet import vet
  File "/home/travis/build/cvelascof/pysteps/pysteps/motion/vet.py", line 30, in <module>
    from pysteps.motion._vet import _warp, _cost_function
ModuleNotFoundError: No module named 'pysteps.motion._vet'

https://travis-ci.org/cvelascof/pysteps/jobs/502472265#L1488
I guess that there is something incorrect in the way that cython compiles vet but I cannot find what it is wrong. Any ideas?

Maybe you need to make the module searchable from your python by, say, exporting PYTHONPATH=...?

[...]
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/travis/build/cvelascof/pysteps/pysteps/__init__.py", line 15, in <module>
    from . import motion
  File "/home/travis/build/cvelascof/pysteps/pysteps/motion/__init__.py", line 3, in <module>
    from .interface import get_method
  File "/home/travis/build/cvelascof/pysteps/pysteps/motion/interface.py", line 5, in <module>
    from pysteps.motion.vet import vet
  File "/home/travis/build/cvelascof/pysteps/pysteps/motion/vet.py", line 30, in <module>
    from pysteps.motion._vet import _warp, _cost_function
ModuleNotFoundError: No module named 'pysteps.motion._vet'

https://travis-ci.org/cvelascof/pysteps/jobs/502472265#L1488
I guess that there is something incorrect in the way that cython compiles vet but I cannot find what it is wrong. Any ideas?

This seems related to the problem discussed in Issue #40.

I forgot that I raised that issue.  :)

Yes. Thanks. That did the trick. Running the tests from ~ fixed it.
https://travis-ci.org/cvelascof/pysteps/builds/502524712

I will do a merge request soon.

@aperezhortal, @dnerini  have you tried to run the test_motion outside of Travis? I mean in your own computer. In my case, test_motion is taking so much time to run. It passes but in comparison with the other tests is sooooo slow. Any ideas why?

Yes, I run the tests locally on my computer and it is true that test_motion takes some time, mostly because it has to compute multiple times VET and make sure that it converges to the right solution (by increasing the number of iterations).
But are you sure that is used to be faster?
Perhaps one way to speed up the test could be to reduce the dimension of the domain (e.g. upscaling the reference field).

@cvelascof, that test indeed takes some time. I will test upscaling the reference fields as @dnerini suggested to speed up the tests. Hopefully, it will be straightforward.

@aperezhortal thanks. that would be nice to have.
Checking new uni-tests is taking too long now.

@cvelascof @dnerini, I tried upscaling the domain by 2, but the quality of the VET field was much lower. It converges to a local minimum...
To speed up the tests, I only left only one VET test and commented out the others.
This is a temporary patch, while I look for a way to optimize the _vet module. ( 24e4f8a )

Good news: we have (finally) achieved more than 50% coverage!

Let's set a 90% coverage goal for pysteps V2.


Simplified

0.6.3 already has this, and the engine is being reworked slightly to work on that version atm

0.6.3 already has this, and the engine is being reworked slightly to work on that version atm

Ok


Fix bool code example typo

PR-Codex overview
This PR focuses on fixing a typo in the book.tex file.
Detailed summary:

Fixed a typo by changing TREU to TRUE in the sprintf function.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@yegor256 @mximp, take a look, please

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 3min)


Adjust output images dimensions

Looks like the weight and height property of nftool images doesn't adjust output dimension.
For example, the traits all have 3000x3000 dimension, but I want the output to be 1080x1080 to save size.
Specifying 1080 for height and weight in nfttool images gives distorted images. It works fine when the orig dimension is provided (3000).
Does the library support this?

Hi @kabaluyot it doesn't support resizing, the way I usually do that is by using a bulk image resizer and resizing all layers:
The tool I use is this one: https://github.com/jarun/imgp

Thanks for the tip ..


added download badge into readme file

Codecov Report

Merging #274 (f79f503) into main (bfe4157) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main     #274   +/-   ##
=========================================
  Coverage     93.51%   93.51%
  Complexity      363      363
=========================================
  Files            57       57
  Lines           971      971
=========================================
  Hits            908      908
  Misses           63       63

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 bfe4157...f79f503. Read the comment docs.


[WIP] IHttpSendFileFeature (Windows)

For comment; need clean up - follow up to https://github.com/aspnet/KestrelHttpServer/pull/2049 but with much better IO

We’re closing this PR because we don’t feel that this change is a good fit for the product at this time.
We thank you for the contribution and look forward to collaborating more in the future.


barriers=0

Red Hat has the following statement on write barriers:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/storage_administration_guide/writebarrieronoff

The use of nobarrier is no longer recommended in Red Hat Enterprise Linux 6 as the negative performance impact of write barriers is negligible (approximately 3%). The benefits of write barriers typically outweigh the performance benefits of disabling them. Additionally, the nobarrier option should never be used on storage configured on virtual machines.

Perhaps this recommendation should be removed from this tutorial?

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

ID: 3ab24f5b-50fd-37cc-e031-34301147953d
Version Independent ID: c2bc2467-8743-491c-c84c-f6983772f4da
Content: Manage Azure disks with the Azure CLI | Microsoft Docs
Content Source: articles/virtual-machines/linux/tutorial-manage-disks.md
Service: virtual-machines-linux
GitHub Login: @neilpeterson
Microsoft Alias: nepeters

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@iainfoulds can you address this?

#in-process

Hi @evilensky , thanks for feedback. I've followed up with the product group to make sure they're okay with removing that parameter to make sure that we stay consistent across other docs. If needed, I'll update this doc and link the PR.

@evilensky To follow-up here, the guidance does vary between storage tiers, distros, and filesystem, so for the scope of this tutorial I have created a PR that removes the guidance. When the PR merges, this issue will automatically close.
In short, for VMs that use Premium storage and disks that have write cache disable, best performance can be achieved when barriers are disabled. For more information, see https://docs.microsoft.com/azure/virtual-machines/linux/premium-storage#premium-storage-for-linux-vms

And here's the long version as the issue closes:
The linked documentation in the Github issue is old and from RHEL 6.  The newer docs from RHEL 7 take a softer tone with this and indicate that write barriers are enabled really because it’s a safe default, but it can be disabled if using a battery backed or other storage that is not cached (like Azure Storage when the write cache is disabled):
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-writebarriers
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/writebarrieronoff
There is also an old KB on the topic: https://access.redhat.com/solutions/715923.  The link is paywalled, but here’s a quote which essentially says the same thing:
If the virtual machine is directly connected to battery backed external storage then barriers should not be needed. If the virtual machine has file backed disks or for any other reason the host caches data written by the virtual machine before writing it to external storage then barriers will be needed.


clean_value_json should handle Polygons

Sometimes it is desirable to pass a Polygon, list of Polygon, or list of numpy arrays representing polygons as an argument, but it currently breaks clean_value_json. Would be great if that worked.

Hi Troy, can you add an example for the code to reproduce?

hi @joamatab , please see the script below
import gdsfactory as gf

@gf.cell
def wrap_polygon(polygon) -> gf.Component:
    c = gf.Component()
    # c.add_polygon(polygon, layer="WG")
    return c

@gf.cell
def wrap_polygons(polygons) -> gf.Component:
    c = gf.Component()
    # c.add_polygon(polygons, layer="WG")
    return c

if __name__ == '__main__':
    import gdstk

    # Try individually toggling on/off the commented lines below to see failing/passing cases

    # c = wrap_polygon(gdstk.rectangle((0,0), (1,1)))  # FAILS

    s = gf.components.straight()
    # c = wrap_polygons(s.get_polygons(as_array=False))  # FAILS
    # c = wrap_polygons(s.get_polygons(by_spec=False, as_array=True))  # WORKS
    c = wrap_polygons(s.get_polygons(by_spec=True, as_array=True))  # WORKS

    s = gf.components.ring_double_heater()
    # c = wrap_polygons(s.get_polygons(by_spec=False, as_array=True))  # FAILS
    # c = wrap_polygons(s.get_polygons(by_spec=(1, 0), as_array=True))  # FAILS
    # c = wrap_polygons(s.get_polygons(by_spec=True, as_array=True))  # FAILS

    c.show()

Thank you Troy, just released 6.1.1


4.0 release candidate - Add device attributes option; deprecate data export methods

Replaces https://github.com/lumoslabs/leanplum_api/pull/17
@beingmattlevy take a good hard look to make sure everything is still good.
took the major version bump as an opportunity to refactor the data export crap to a separate class because it sucks.
cc @lumoslabs/analytics-developers

@beingmattlevy currently dogfooding this release... everything looks good with the gem though leanplum's behavior w/r/t old events has somehow dramatically changed. not the gem's fault, that i can tell.

the Gemfile entry should you also wish to dogfood is
gem 'leanplum_api',                   github: 'lumoslabs/leanplum_api', tag: '4.0.0.rc1'


gpt2 pytorch model 344M .bin - Larger models with this codebase

Hi,
I was wondering how to integrate the larger released open.ai models with this code base.
Many thanks,
Vince.

Exactly... This is also my question. How to integrate the newly released OPENAI full model.
Please help. Thanks.


KeyError: 'maxFuel'

Describe the issue
My model is 530LE
Hybrid Electric
Sales in China
Following is the error log
2019-12-04 19:15:05 ERROR (MainThread) [homeassistant.components.sensor] bmw_connected_drive: Error on device update!
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 292, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 450, in async_device_update
    await self.hass.async_add_executor_job(self.update)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/bmw_connected_drive/sensor.py", line 148, in update
    self._state = getattr(vehicle_state, self._attribute)
  File "/usr/local/lib/python3.7/site-packages/bimmer_connected/state.py", line 307, in __getattr__
    return self._attributes[item]
KeyError: 'maxFuel'

see https://github.com/bimmerconnected/bimmer_connected/issues/129

Duplacates #129

Fixed in #148 and HA PR made.