Consistently use AuthorizationCode model

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[x] Other, please describe:

Documentation cleanup
Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

[x] You consent that the copyright of your pull request source code belongs to Authlib's author.

Thanks


feat: Adds Dropout Layer

Closes #848
Summary of Changes

Adds Dropout Layer and UnitTests

:tada: This PR is included in version 0.27.0 :tada:
The release is available on:

v0.27.0
GitHub release

Your semantic-release bot :package::rocket:


Add an option to pass custom task_id generation function to broker.

Sometimes it might be useful to pass some task_id generation function.
def custom_generator(task: AsyncTaskiqDecoratedTask[_A, _B]) -> str
    return f"{task.original_function.__name__}"

@broker.task(id_generator=custom_generator)
def my_task():
    print("HEH")

This thing will be overriding results of an execution of this function. Or do you guys think it's useless? Because now we generate UUID for each task.

@wbwswt, @chandr-andr ?

Hm, nice idea. I think we can add it.
What's more, maybe we can create some base task_id generation functions or callable classes.
For example, task_id will be generated based on function name:
@broker.task(id_generator=id_based_on_task_name)
def my_shit_task():
    return("my awesome func!")

task_id will be my_shit_task_<random_uuid>. This will make it super easy to find the right logs for a specific task.

LGTM. I'll try to make prototype this week.

This function is added in #23.


[vm/ffi] add alignmentOf (besides just having sizeOf)

Allocation in package:ffi currently only relies on the sizeOf an FFI type. However, when allocating more than count: 1, it should also take into account the required alignment.
For example, the size of of a struct might be 28 bytes, while the required alignment should be 8 bytes. This means that when allocating count: 2, the second value should be at an offset of 32 bytes, rather than 28 bytes.
Proposed Solution
Add the alignmentOf<T>:
/// Number of bytes used by native type T.
///
/// Includes padding and alignment of struct fields.
external int sizeOf<T extends NativeType>();

/// Alignment in number of bytes of native type T.
///
/// Includes padding and alignment of structs.
external int alignmentOf<T extends NativeType>();

Note that we might want to remove the generic use of sizeOf<T> (https://github.com/dart-lang/sdk/issues/38721#issuecomment-554523087), the same would be true for alignmentOfT<T>.
Original Example
class KeyboardInput extends Struct {
  @Uint32() int type;
  @Uint16() int virtualCode;
  @Uint16() int scanCode;
  @Uint32() int flags;
  @Uint32() int time;
  Pointer dwExtraInfo; // Is 8 bytes long and 8 byte aligned on many 64 bit platforms.
  @Uint32() int padding;
}

I don't understand why sizeOf<KeyboardInput>() gives me size of 32 instead of 28 (but with padding field removed it correctly says 24).
Originally posted by @marad in https://github.com/dart-lang/sdk/issues/37271#issuecomment-570050367
Thanks for reporting this @marad.
cc @mkustermann

We should probably do this together with https://github.com/dart-lang/sdk/issues/36730, they both need the same info.

@dcharkes is it possible this gets attention anytime soon?


sql: allow for primary key dropping if alter primary key is present

PR: https://github.com/cockroachdb/cockroach/pull/44511
From release notes:

You can now drop a primary key as long as you add another primary key within the same transaction. This feature is intended to be used when you do not want the existing primary key to be rewritten as a secondary index by ALTER PRIMARY KEY. [#44511][#44511] {% comment %}doc{% endcomment %}

alter primary key https://airtable.com/tblD3oZPLJgGhCmch/viwNg2fK3NU3DUY6Z/reckXe8OwbdVi8WzH


 Some cleanup/fixes/refactorings to those changes here, aimed at increasing simplicity, maintainability, and consistency.

Make shipping version (14.0 in this case) the default, only "downlevel" (12.0) requires #defines

Much much safer to make shipping behavior the default
No risk of "forgetting" to set proper #defines

Remove unused FX_4_4_0_0/FX_4_3_1_0 definitions
Move VS_VERSION_DEV12 definition to common location
Remove need to add 2 new targets files and 10 new variables to resolve MSBuild and VS refs
NUnit refs consistently resolved via HintPath (clearer/simpler than AssemblySearchPaths)
Tokenize unittests.dll.config redirect versions rather than duplicating the file
Remove need for proto re-definition of Seq.last
Ignore unused vars similar to https://github.com/Microsoft/visualfsharp/commit/5c51d494
Patch build scripts so that they work for 32-bit systems
Remove unneeded ngen'ing from appveyor build script (dependencies are automatically ngened)
Fix IDE unit tests which were assuming NUnit was resolved via AssemblyFoldersEx (only true if you do full nunit install, doesn't work if you get from nuget)
Fix FSharp.Core versions referenced in IDE unit test case
Removed links that will surely become broken in the not-too-distant future
Removed duplicate entry for packages in .gitignore

Validated all of the following on VS 2013 - only and VS 2015 - only boxes:

Build of everything
Tests passing: fsharp, fsharpqa, coreunit, compilerunit, and ideunit

Looks good to me.


Can't find TextEncoder in tests after 2.2.2 release

Can't find TextEncoder in Jest tests after 2.2.2 release:
Test suite failed to run

    ReferenceError: TextEncoder is not defined

    > 1 | import { merge } from 'moderndash';

What is strange it want to get it from src folder:
at Object.<anonymous> (../../node_modules/moderndash/src/crypto/hash.ts:5:21)

I can see only src comment in the dist source code:
// src/crypto/hash.ts
var textEncoder = new TextEncoder();

Using it in setupFilesAfterEnv: ['<rootDir>/jest-setup.ts'] file worked for me. I just wonder if we really need TextEncoder in Node environment (e.g. in tests or Next.js on server-side).
This did a trick for me, works in both environments:
var textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;

Sounds good 👍  I might change the function to only create the TextEncoder object when actually needed.
I need to check benchmarks what impact this would have though.
Without tree-shaking (i.e. in tests) TextEncoder gets called without ever getting used.

Without tree-shaking (i.e. in tests) TextEncoder gets called without ever getting used.

I will just add that tree-shaking is working only in production builds (as it's computation heavy), so I assume that in dev mode it will break in e.g. Next.js.

@karol-f Fixed in #61 2.2.3
TextEncoder is only created when its needed in hash
You can close this issue if it works for you 👍

Thank you!


PEP 561: Types

Many applications use mypy (or similar) for static typechecking. Anyone using a typechecker needs to explicitly ignore checking on pusher imports, since types don't appear to be defined according to the PEP 561 spec.
Is there anything on the roadmap to add PEP 561 compliance to the package?

Hi, I ran mypy against pusher.py and couldn't couldn't detect the issue. How are you invoking the command?
(venv) benjamintang@Benjamins-MacBook-Pro pusher-http-python % mypy pusher/pusher.py
Success: no issues found in 1 source file

While mypy may succeed when running on files in this repo directly, the pusher repo needs to provide either

a py.typed marker file and type-annotated function signatures
a stub package with type definitions
in order to comply with the PEP 561 spec.

I will add this to our feature requests for our engineering to prioritise.


docs: Standard Config updates.

Addressing missed comments from: https://github.com/ethereum-optimism/specs/pull/134

Thank you!


:grey_question: Run a given LLM/model within docker/podman/cloud run :baby:

:grey_question: About
I intend to deploy a given LLM (out of the box or customized) thanks to ollama (let's say https://ollama.ai/library/mistral), then call its APIs from various clients.
Here would be an example of my scenario:

Build/customize the image that runs mistral (for example) within ollama
Push the image on any private docker registry (let's says ghcr or dockerhub)
Pull & run the image (local podman on workstation, GCP Google Cloud Run) so the boot the API
(Optional) : publish the resulting API through on any API Management  (Google APIGEE in my case, but could also land on Tyk, Kong,...)
Call it from any client (Java/Python, js) so we can build integrations and release next-gen (llama_index or langchain based) solutions (under the hood)

:dart: The question
:point_right: The question may be answered by providing (or pointing) a howto as for now I did not find a set-by-step (for dummies like) tutorial.
:pray: Thank you in advance for any help or feedback.
:tickets: Related contents

https://github.com/jmorganca/ollama/issues/1318
🦙 Mistral 7B & Ollama: LLMs 💏 Apache 2.0 Open Source on small hardwares
https://github.com/jmorganca/ollama/issues/546

I am not sure what the question is here. Can you clarify? If you you looking for the docker image check out https://hub.docker.com/r/ollama/ollama. There are a number of docs in the docs folder in the repo, and examples in the examples folder which are a good place to start.

Hi @technovangelist , thanks a lot for your answer.
What I'm looking for is to be able to pull and run a ready to use ollama instance (with let's say neural-chat.
Without any docker compose not additional conf.
A the end it may look like:
docker pull ollama/ollama-neural-chat

Where the image could come from any public registry, or private.
I could not find the proper way to achieve this simply and properly.
I could make a customer Dockerfile, then install ollama, then pull the requested image then boot the whole but I'm about sure something cleaner could be achievied... like pulling existing prebuilt ones 💭

... so :
docker exec -it ollama ollama run llama2

would become something like:
docker exec -d ollama ollama-llama2

So are you looking for that to be dynamic, or do you just want some guidance on adding a model to a new docker image that you can push to dockerhub. So a user can run it and it already has the model? I'm not sure how well that would work. I think downloading from us after grabbing the container from docker hub, is going to be faster than grabbing a container with the model already in it from docker hub. I think I may still be missing what you are asking.

Hi, @technovangelist , thanks a lot for taking care of my user feature requests.

So are you looking for that to be dynamic, or do you just want some guidance on adding a model to a new docker image that you can push to dockerhub. So a user can run it and it already has the model?

Yup, that's exactly what I would like to achieve:

as a end user : be able to pull a ready-to-use/boot image that I could boot then query through ollama rationalized API without any further action (the end user)
as image producer/AI dev : be able to build/push a ready to use image on any public or private registry (quay, dockerhub, ghcr,...)

So a user can run it and it already has the model?

Yes, that's it.

I'm not sure how well that would work. I think downloading from us after grabbing the container from docker hub, is going to be faster than grabbing a container with the model already in it from docker hub.

Hmmmm, that's a very good point as well as space consumption on registries :thought_balloon:
So, according to your remark, I may ask the following slightly changed question:
:point_right: How to publish a lighweight ready to use image (but parametrized with a specific llm like mistral)... but which may download the target model at boot time so we rather spend time and disk space on the target host rather than on other places

I think I may still be missing what you are asking.

No, I think, you really got it, your remarks help a lot.
Here is what it may look like from the end-user point of view :
podman run -d --name ollama-mistral -p 8080:8080 my-org/ollama-mistral:latest

or (maybe better with uing tags ? :thinking: )
podman run -d --name ollama-mistral -p 8080:8080 my-org/ollama:mistral

Then...

Conteneur boots up
Conteneur check if image i up-to-date... then downloads requested model at runtime
Image is locally stored in host local registry
ollama api is up and running

Does this scenario make sense to you or do I imagine it the wrong way ?
:thought_balloon: I need to achieve it this way so I can match existing scenario (Tower) deployments... and then use open source LLM onPrem as almost any other image.

Ok, thanks for the clarification. I'll add an enhancement label to this so we can refer to as we go along. Thanks so much for being a great part of this amazing community.

Yup, and thanks to you for making possible, on open source :star_struck:
Btw, the base model should be downloaded at contener boot time so we don't fullfill our registry :thought_balloon:  (and save money :money_with_wings: )

:cinema:  How to run Ollama on Docker, by Matt Williams

Hi @adriens thanks for the issue. The ollama/ollama Docker image can be used as a base image for which you can download models in and then save a new image - I think this would be the easiest approach at the moment

:+1:  Would you share any Dockerfile that does the job and the client side call ?


Design Meeting Notes, 8/12/2016

Map perf #10298 / #10270

Using Object.create(null) to produce maps increases overall perf ~15-20% and decreases memory ~20%
Avoids calls to hasOwnProperty
Breaks ES3 runtime use of tsc
Force object into 'Dictionary' mode in V8 (by using delete operator) to get better perf
Breaks compiler API
Two possibilities

Drop ES3 host support

Believe there's just the one guy doing this

Chakra and Node have been ES5 forever
Simplifies code
We have bugs here caused by bad property lookups

Keep ES3 host support

Requires guards in for loops
Need a wrapper to read a property from an object to avoid hitting other properties

:+1: drop ES3 host support

Are we allowed to use ES5 array methods in the compiler now?

Sure, might be faster but we have different behavior

What about ES6 maps?

No apples-to-apples comparison available yet
Probably not better, but worth trying

UMD globals #10178

JQuery always defines $
This used to be OK everywhere; psuedo-breaking-change
JQuery always defines $
The lack-of-error from before was not complained about
What does everyone do?

Conditionally make a global, in theory

Do nothing unless we see this more
JQuery always defines $
This is a trivial change in require.js

Partial downlevel generator support in transform branch #10106

Difficult to understand what the restrictions are
Bad to implement something where the primary use case (for/of) doesn't work
Is there a reasonable opt-in policy?
Avoid half-solutions

Narrowing any #9999 / catch type annotations #10000 / #8677

Review of breaking changes: these are all acceptable or outright good
:+1: exclude narrowing to Function or Object (including when from UDTG)

/cc @DanielRosenwasser who I think has some better notes on the last two

Performance Optimization using "Slow Objects"
We've achieved meaningful performance gains in #10270 & #10298 (~15% faster) through

"Hinting" to V8 that objects used as maps should not be optimized to classes (because they will get de-optimized).
Using Object.create to avoid prototype-climbing lookup.
Avoiding Object.hasProperty because we can modify the prototype ourselves.

This means that TypeScript as a compiler could not run on ES3 due to use of Object.create.

NOTE: TypeScript could still write to ES3.

However, reviewing the code, it looked like many places where we were operating on maps wouldn't have worked in ES3 anyway!

Much easier because we wouldn't have to worry about using the wrong operations on Maps.

Conclusion
Drop ES3 host support.
**NOTE that this DOES NOT mean we are dropping support for ES3 targets.
Allowing UMD globals in modules (#10178)
Issue: people were taking advantage of globals being introduced even though they were using modules.

Some modules conditionally bring their global in depending on how they're included.

One user's library only fathoms an entity globally if used in a script tag - switching to an import is not a valid fix.

Conclusion
Niche case, let's not do anything.
Downlevel Generators

Ron has worked on a minimal implementation of downlevel generators.

Differences: generators give you Iterator<T>, not IterableIterator<T> because Symbol.iterator may not be around.
Basically what we give for async functions.

Problem: but people will be incredibly confused when they try to for-of over a generator call.

Most people don't use or understand generators to begin with (whereas async/await has a clear demand).

Conclusion
Can't ship something that will only sometimes work.
Narrowing from any
Problem: we don't narrow from any to any specific types. This is technically not wrong, but it is more error prone.
Why can't we fix this?
Well imagine you did x instanceof Object which is one of the most restrictive types in the type system.
With Object, you can do effectively nothing.
Idea: narrow unless you are instanceof-ing on Object or Function.
Conclusion
In general, most code that is broken by this is questionable anyway.
Adding {} is an annoying pain.
Let's do it!

Differences: generators give you Iterator, not IterableIterator because Symbol.iterator may not be around.
Basically what we give for async functions.
Problem: but people will be incredibly confused when they try to for-of over a generator call.
Most people don't use or understand generators to begin with (whereas async/await has a clear demand).

@DanielRosenwasser can you clarify what you mean by "Symbol.iterator may not be around" and how that differs from a Promise polyfill may not be around.
Specifically how or why does the latter preclude down leveling generator functions when the former does not preclude down leveling async functions?

Most people don't use or understand generators to begin with (whereas async/await has a clear demand).

I was really... surprised... by this. This is really confusing!

There is https://github.com/Microsoft/TypeScript/pull/12346. Does it mean generators will be transpiled to ES3/ES5?

There is #12346. Does it mean generators will be transpiled to ES3/ES5?

yes. in TS 2.2


scalafmt: 1.5.1 -> 2.0.0-RC5

Motivation for this change
Version bumk
Things done

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

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

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

Opened in favor of https://github.com/NixOS/nixpkgs/pull/57535

cc @markus1189
@GrahamcOfBorg build scalafmt


Alois Type erasure

Hi, maybe this rant is premature, but I was skimming through the library and found it uses type erasure for functions. I was wondering why this is necessary, and why not the full type can be preserved to avoid tHe indirection and allow complete inlining. I am using functional techniques for code that runs at about 1mio operations/s, so the use of type erasure does not seem an option for me and may make it impossible for me to use ftl.

It's necessary to preserve function signatures in some cases. Given some function-like type F, there's no way of figuring out which argument type(s) it expects. However, given a function<B(A)>, we know it expects an A and returns a B.
I'm aware of the cost of this, though, and have tried to make sure that in every case where the function signature is not needed, the library accepts a template function type instead, eg
template<typename F, typename U = result_of<F(T)>>
static constexpr maybe<U> map(F f, maybe<T>&& m) {
    return m.match(
        [f](T& t){ return just(f(std::move(t))); },
        [](Nothing){ return Nothing{}; }
    );
}

Though honestly, all of the above is kind of moot, because I can't at this point recommend anyone to use the FTL. I haven't really kept up maintenance or development in over a year. For example, using C++14 features, the above could have forwarded f into the closure instead of always copying it.

Boost has some utilities to infer sigbatures I think. So maybe I will try forking some time :). First have to learn Haskell though. Just started with "real world Haskell", good read :)


[Feature Request] Enhancements for Trezor Safe 3 support

After testing the Trezor Safe 3 with Sparrow Wallet, I've encountered two issues that could impact user experience and security :

First, it's currently not possible to enter the passphrase via the computer's keyboard, a feature available in Trezor Suite which adds a layer of convenience ;
Second, when signing transactions from Sparrow, the Trezor Safe 3 does not display the recipient's address or the amount being sent on the hardware wallet's screen, only showing the fees. This limitation necessitates blind signing, which could pose security risks.

Apart from these two little things, the support of the Safe 3 looks perfect, thank you!
Thank in advance for your help with this.

Thanks, appreciated :)

First, it's currently not possible to enter the passphrase via the computer's keyboard

Correct, this is not allowed for security reasons: https://github.com/bitcoin-core/HWI/pull/287

Second, when signing transactions from Sparrow, the Trezor Safe 3 does not display the recipient's address

What the Trezor displays entirely depends on the firmware on the device itself, not Sparrow. Are you perhaps sending back to yourself (consolidation)? Try signing for an external spend.


Update labels_with_features example for #7025

References and relevant issues
https://github.com/napari/napari/pull/7025#issuecomment-2293032933
Description
https://github.com/napari/napari/pull/7025 added a convenience function so that dicts could be passed to colormap kwarg of add_labels
This PR updates the labels_with_features example to pass the dict directly, rather than using napari.utils.colormaps.DirectLabelColormap explicitly.

Rendered example: https://output.circle-artifacts.com/output/job/e0e2e154-cf37-42e7-8ef1-3b8fccddf7e7/artifacts/0/docs/docs/_build/html/gallery/add_labels_with_features.html#sphx-glr-gallery-add-labels-with-features-py

Yeah I was wrong. It looks like sphinx gallery does not create internal references in the gallery example comments, so those are not super relevant 🤷🏻♀  sorry!

No worries, it's more consistent anyways.

Thanks @psobolewskiPhD !


Added SM Insert Parameters Command

Hopefully this is useful in some way to you, it's nothing that exciting. I just really wanted it in the extension, so I went ahead and figured it out and implemented it.
Feel free to do whatever you want with it. I apologize if I didn't follow your formatting very well, I'm not used to the size 2 tabs (spaces).

Looks good! No worries for the formatting, I use an auto-formatter anyways.
What do you think about a "snippet-like" feature where it would autofill the params and prompt you with the name of the variables only?

@BoomShotKapow
Not sure if this matches your use case perfectly, but in VSCode, if you type:
RegAdminCmd() (for example), then the signature providers shows up, then by pressing tab, you can spawn all the functions parameters on the line.

how about adding automatic input mode without using ctrl+shift+i? 👀

What I coul do is transform it into an autocompletion thing where, when you open the first ( it would suggest an autocompletion which would insert all the parameters. I think that would work better than a fully automated tjing which could be frustrating.


Hangs at 100% CPU

When adding the /:lang/foo route any request that should end in a 404 (e.g. /hello/world) hangs instead without returning anything and maxing the CPU for the process.
package main

import (
	"fmt"
	"net/http"

	"github.com/husobee/vestigo"
)

func main() {
	r := vestigo.NewRouter()
	http.Handle("/", r)

	r.Get("/foo", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "foo") })
	r.Get("/:lang/foo", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "foo") })

	http.ListenAndServe(":8080", nil)
}

Looking into this now.  Thanks for the report.

https://github.com/husobee/vestigo/pull/65 should fix it @ernestoalejo.  Sorry about this, when backtracking to sibling nodes you found a case where the same node gets traversed and then backtracked in an infinte loop.  That PR corrects this, and I added a test show.  If you dont mind trying my issue-64 branch I would appreciate a second set of eyes.

Going to merge that fix into master now.

Merged  https://github.com/husobee/vestigo/pull/65 into master.

It seems to fix the issue both in the minimal reproduction example and the original application where I found the problem.
PD: Thank you!

Great to hear, and again, sorry for introducing that one.  We should leave this open for a few days incase others find the same issue.  I will close this in a few days.


Present a generic auth error message to user

We should not provide detail error message from auth-service to user.
Instead provide a generic message and log the details.
https://github.com/rancher/rancher/issues/9462

@cjellick pls. review

LGTM


CoreCLR support.

Hi.
https://github.com/msgpack/msgpack-cli/wiki states that CoreCLR support will be added in 0.6.0. We are using 0.6.2 and there are no any support. We tried 0.6.5 and there are no support either.
Right now we are moving to CoreCLR and it would be nice to know if you plan to support CoreCLR in any near future.
Thank you.

Agree.

It is blocked with corefx's TypeInfo.GetInterfaceMap implementation.

I saw the 0.7.0 alpha 2 package but it's built against pre-RC2 correct?
I'd like to build itself but don't see any project.json.  How is it built?
Does nothing work because of the implementation you mentioned?

The project.json is here. https://github.com/msgpack/msgpack-cli/tree/0.7/src/MsgPack/
(It is because the assembly name is determined by containing directory name)

Does nothing work because of the implementation you mentioned?
Yes. Serializers should not work at all because of PlatformNotSupportedException.

Thanks!  I don't know why I didn't look for the branch.

.NET Core was supported from 0.7.0. So I've close this issue.


[HIGH PRIORITY] Create a "Who We Are" page under the "About Us" menu that lists Board Members

The board members need to be listed on website for businesses and grants and foundations to legitimize SDRT.
Pics not necessary but could be there, too

@JasonTheAdams  This is a NEED and will be added to our website projects list. I am collecting the bios and photos this month.

@dreazee Were you able to getter the bios and photos?

@JasonTheAdams Nope! Thanks for checking back on this but we're still working on collecting those. I am making the Staff/Board folder in the shared drive and will share that with you when it is completed.

@JasonTheAdams I just shared you on the SDRT shared drive for the Bio/Staff photos.


cert-manager, monitoring: removed old sealed secrets from kustomize

Remove SOPS-encrypted secrets that used to be sealed secrets from
Kustomize files.  These secrets are now manually deployed to the
cluster.  Should have been included in PR #94.

bors r+


Issue using this library

I literally copy-pasted the code from this library's README.md file, but still, I get this exception. why is this happening! what wrong did I do ???????
Traceback (most recent call last):   File "main.py", line 32, in <module>     main()    File "main.py", line 9, in main     AI = ChatBot(   File "C:\Users\lloye\AppData\Local\Programs\Python\Python38-32\lib\site-packages\chatterbot\chatterbot.py", line 34, in __init__     self.storage = utils.initialize_class(storage_adapter, **kwargs)   File "C:\Users\lloye\AppData\Local\Programs\Python\Python38-32\lib\site-packages\chatterbot\utils.py", line 54, in initialize_class     return Class(*args, **kwargs)   File "C:\Users\lloye\AppData\Local\Programs\Python\Python38-32\lib\site-packages\chatterbot\storage\sql_storage.py", line 22, in __init__     from sqlalchemy import create_engine   File "C:\Users\lloye\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sqlalchemy\__init__.py", line 8, in <module>     from . import util as _util  # noqa   File "C:\Users\lloye\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sqlalchemy\util\__init__.py", line 14, in <module>     from ._collections import coerce_generator_arg  # noqa   File "C:\Users\lloye\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sqlalchemy\util\_collections.py", line 16, in <module>     from .compat import binary_types   File "C:\Users\lloye\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sqlalchemy\util\compat.py", line 264, in <module>     time_func = time.clock AttributeError: module 'time' has no attribute 'clock'
an answer would be appreciated
And I am using python 3.8

You need to update your sqlalchemy package.
pip install "sqlalchemy>=1.3,<1.4"


Stuck when opening chests in path mode in Catalan and Latin

The web page will continuously reload when you move to a chest in path mode. DuoPro will automatically open chests in some languages but won't do the same when you learn Catalan and Latin

Does the it not open chests in the English to Latin course or Latin learned from another language? Additionally, I can't find Catalan in the Duolingo language options. Which base language are you using to learn Catalan?
Thanks

Does the it not open chests in the English to Latin course or Latin learned from another language? Additionally, I can't find Catalan in the Duolingo language options. Which base language are you using to learn Catalan?

It does not open chests in the Latin from English course and Catalan from Spanish course.

Should be fixed now
Thanks for reporting the problem


620 error when transforming users with addresses close #620 #504

Fixes

Users: instead of crashing when an address does not have the isPrimary property, makes sure that all addresses have the isPrimary property and that foe exactly one address per user isPrimary == True, the rest False. #620
Generic mapping: make replaceValues performs correct replacement when the value to replace with is boolean False #504
Generic mapping: alight reorganization of tests related to booleans #504

I think we can close #504 as the tests in mapping_file_mapper_base should cover all mappers using ().get_prop, which at this point should be all mappers. If we discover that something specific doesn't work we can add a test for that.

@bltravis Could you check if this solves your issue with users?

I am going to merge this in. @bltravis hopefully it will solve your user error.


Support requst for DLF

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and am willing to share it if required

Region
Germany
Example URLs
Single Audio: https://www.deutschlandfunk.de/tanz-der-saiteninstrumente-das-wild-strings-trio-aus-slowenien-dlf-03a3eb19-100.html
Provide a description that is worded well enough to be understood
When visiting the mentioned example url with browser, there is a play button ("Hören"). On clicking it, my browser loads (among others) https://dradiohls.akamaized.net/hls/2023/03/03/tanz_der_saiteninstrumente_das_wild_strings_trio_aus_dlf_20230303_2105_03a3eb19/master.m3u8
Feeding this url as parameter to yt-dlp yields yt-dlp to succesfully download the wanted audio file. But it seems a little bit uncomfortable to harvest the url by using browser's developer tools.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.deutschlandfunk.de/tanz-der-saiteninstrumente-das-wild-strings-trio-aus-slowenien-dlf-03a3eb19-100.html']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (pip)
[debug] Python 3.8.10 (CPython x86_64 64bit) - Linux-5.4.0-144-generic-x86_64-with-glibc2.29 (OpenSSL 1.1.1f  31 Mar 2020, glibc 2.31)
[debug] exe versions: ffmpeg 4.2.7, ffprobe 4.2.7, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2019.11.28, mutagen-1.46.0, pyxattr-0.6.1, secretstorage-2.3.1, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1786 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>yt-dlp is up to date<EMAIL_ADDRESS>[generic] Extracting URL: https://www.deutschlandfunk.de/tanz-der-saiteninstrumente-das-wild-strings-trio-aus-slowenien-dlf-03a3eb19-100.html
[generic] tanz-der-saiteninstrumente-das-wild-strings-trio-aus-slowenien-dlf-03a3eb19-100: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] tanz-der-saiteninstrumente-das-wild-strings-trio-aus-slowenien-dlf-03a3eb19-100: Extracting information
[debug] Looking for embeds
[debug] Identified a twitter:player iframe
[generic] Extracting URL: https://share.deutschlandradio.de/tanz-der-saiteninstrumente-das-wild-strings-trio-aus-slowenien-dlf-03a3eb19-100.twc
[generic] tanz-der-saiteninstrumente-das-wild-strings-trio-aus-slowenien-dlf-03a3eb19-100: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] tanz-der-saiteninstrumente-das-wild-strings-trio-aus-slowenien-dlf-03a3eb19-100: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://share.deutschlandradio.de/tanz-der-saiteninstrumente-das-wild-strings-trio-aus-slowenien-dlf-03a3eb19-100.twc
Traceback (most recent call last):
  File "/home/x/.local/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 1518, in wrapper
    return func(self, *args, **kwargs)
  File "/home/x/.local/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 1594, in __extract_info
    ie_result = ie.extract(url)
  File "/home/x/.local/lib/python3.8/site-packages/yt_dlp/extractor/common.py", line 694, in extract
    ie_result = self._real_extract(url)
  File "/home/x/.local/lib/python3.8/site-packages/yt_dlp/extractor/generic.py", line 2510, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://share.deutschlandradio.de/tanz-der-saiteninstrumente-das-wild-strings-trio-aus-slowenien-dlf-03a3eb19-100.twc

A good target is <button alt="Anhören" ...>.
Then extract_attributes() and find these data items:

url <- data-audioreference or data-audio or data-audio-src or data-audio-download-tracking-path
id <- data-audio-diraid
duration <- data-audioduration or data-audio-duration
title <- data-audiotitle or data-audio-title or data-audio-download-tracking-title
thumbnail <- data-audioimage
uploader <- data-audio-producer, perhaps
series <- data-audio-series
channel <- data-audio-origin-site-name, perhaps.

Apparently not a very disciplined data dictionary at DLF.


Fix default twitter rules

Description:
Regexps for default Twitter rules ("Twitter Secret Key" and "Twitter Client
ID") have a small flaw that make the default configuration vulnerable to
some false-positives.
I believe these rules should detect the cases like (SOME_CLIENT_ID should
be longer):
"twitter_client_id": "SOME_CLIENT_ID"

However, currently the twitter rules also detect the false positives for the
cases like:
someObj := twitter.NewObjectWithALongName()
config.Twitter.DomainAccessToken

I'm trying to address this issue the similar way it's done for facebook client
ids and AWS secret keys, where the secret is expected to be quoted.
Also, I make the rules consistent with the rules defined in gitleaks-action
Checklist:

[X] Does your PR pass tests?
[ ] Have you written new tests for your changes? (No, should I?)

I think this PR can address https://github.com/zricethezav/gitleaks/issues/604 and https://github.com/zricethezav/gitleaks/issues/454. I faced the similar issue but not sure should I create a new issue or is it ok to attach the PR to existing ones 😄

hello @ivankalitaonefootball , I think it's okai to attach this PR to the existing ones if it resolves the same problem.
Are those issues duplicated and this PR solves them both?

Hello @w0rmr1d3r, yes, the issues are duplicated, the offenders of the rule Twitter Client ID are:

https://twitter.com/wSokra/status/969679223278505985
# from extended_twitter_collection import TwitterExtendedDatasetToDB

Both cases are considered as "non-leak" by the regexps from this PR.

Thank you for the info @ivankalitaonefootball !
In my opinion then, this PR can be linked to both issues and if merged, those both issues should be closed

Thanks, @w0rmr1d3r, I've updated the description of the PR to resolve these issues automatically 😄

@ivankalitaonefootball Thanks for the MR and thank you @w0rmr1d3r for your continued efforts 👍🏻


Need more Documentation on Conditional Functions

URL
https://docs.influxdata.com/kapacitor/v1.0/tick/expr/#conditional-functions
I want a more complex lambda expressions using AND condition. Looks like conditional functions will fit to the need, but need more info on it.

@sarathj can you provide an example calculation or pseudo-code to describe what you would like to do?

@beckettsean
Your documentation is solid and is the reason for me to choose TICK stack.
I am using a tickscript with a GROUP BY clause. What I want is two lambda expressions with AND condition.
var condition = lambda: field > threshold AND field != 0
ref: #259
There is no much documentation on Continuous Functions.

an example
what is any
how should be the condition

@rossmcdonald @nathanielc can you assist?

@sarathj Can you share your complete TICKscript?
This example is valid:
var condition = lambda: field > threshold AND field != 0
The if function returns the second or third argument based on whether the first argument evaluates to true:
For example:
|eval(lambda: if("field" > threshold AND "field" != 0, 0, 1))
    .as('field')

The value of the field field will be 0 if the condition is true or 1 otherwise.

Here is my tickscript. I am not using a complex lambda expression yet. Thanks for the info on Conditional Function.
batch
    |query('''
    		SELECT mean(field) as avgfield,sum(AIR) as sumAIR,
    		sum(UAA) as sumUAA, sum(NC) as sumNC, sum(AINB) as sumAINB, sum(CNTA) as sumCNTA
    		FROM "fieldMonitor"."autogen"."field"
    ''')
        .period(5m)
        .every(5m)
        .groupBy(time(5m), 'cxxxId', 'cxxxName', 'txxxId')
    |alert()
        .id('{{ index .Tags "txxxId" }}/{{ index .Tags "cxxxId" }}-{{index .Tags "cxxxName"}}')
        .message('{{ .ID }} is {{ .Level }} field:{{ index .Fields "avgfield" }}
         AIR:{{ index .Fields "sumAIR" }}
         UAA:{{ index .Fields "sumUAA" }}
         NC:{{ index .Fields "sumNC" }}
         AINB:{{ index .Fields "sumAINB" }}
         CNTA:{{ index .Fields "sumCNTA" }}')
        .crit(lambda: "avgfield" < 0.7)
        .hipChat()
            .room('RTEDev')
            .token('xxxxxxxxxxxxxxxxxx')
        .log('/Users/sarath/Documents/RTEDev/alerts.log')


Block Failures Loop

When a block fails to apply, the sync code attempts to re-apply it continually.

This seems to be somewhat fixed by #115

What still needs to be done?  If it's fixed, let's close this ticket.  If it's not fixed, let's add a specific description of what still needs to be fixed.

After some discussion, we've decided the long term solution is proper naughty point handling (see #5) and a potential peer block backoff list (don't request an errored block from a peer for a certain amount of time after an errored block).
For those reasons, we'll consider this issue to be closed by #115.


Adding lsblk to the container for disk stats.

Change-type: patch

LGTM. I tried your branch and it fixed my NUC for fsStats/rx.


Address can be recalled on people not in the room

You cannot address someone that is not in the room. But you can!
All you have to do is address someone, then do a @ =<message>with no target. the previous target will be recalled regardless of their presence. It seems.

Added a ticket to resolved this issue on backend side instead.


Share settings and topics through QR code or a link

:bulb: Idea

Hello,
Thank for so much for this wonderful contribution.
I was thinking if it could be possible to have an easier ways to share the server settings and topics through QR code or a link.
This would be helpful for someone to share his settings quicker and make it easier for the other person to subscribe to the topics.
If this feature was available, someone can just share a link, and this link would automatically open the app and configure the necessary settings and topics.
:computer: Target components

Android app, iOS app, web app

+1 for iOS


theme_xhred_filemanager_selected_entry=Selected: %value entry

In the file manager this theme_xhred_filemanager_selected_entry=Selected: %value entry should be needed a new string for plurals or else it sounds weird when selecting more than 1 entries ...
Selected: 1 entry
Selected: 2 entries
And when i'm reporting this i manage to find a typo in this string:
theme_xhred_filemanager_target_conflict_1=Target conflic
I believe the letter t is missing at the end...

Hi,
It's actually has an entry for plural, have a look:
theme_xhred_filemanager_selected_entries=Selected: %value entries


Change subtitles position!

Hi! does chromecast API allows us to change subtitles position vertically on the screen?

Apologies, I don't know if it can. I can't find the API docs either to verify.

I think you need to write a custom renderer for this.


Why have the ability to get input when you're not using it

Input manager integration with the game state level as well as at the individual game entities

I'm thinking there should be a gameworld object that  takes care of this case.  Also there would be an implementation of a input action that is capable of creating imovements when triggered.


Pristine doesn't show as and option in syntax screen

While Pristine appears as an option under UI Theme, Pristine doesn't appear as an option under syntax.

@smooJitter pristine-ui is only a UI theme and meant to adjust to the syntax theme of your choosing


Add data in drafts meta field

What does this PR?
This PR adds reward type, beneficiaries data in meta field of post draft.
It loads data from draft meta into post options modal and saves data upon changing in rewards/beneficiaries in post options modal.
This PR can be extended to add any other data as well in meta field of draft.
Issue number
fixes #2355
Screenshots/Video

@aliseyalvi
Tested before reviewing code, apparently the data from draft did not load in post options...

https://user-images.githubusercontent.com/6298342/175395913-8066142a-8e5d-4990-93bf-171bc036cb50.mov

@aliseyalvi any update on change requests...
https://github.com/ecency/ecency-mobile/pull/2356#discussion_r905454555
https://github.com/ecency/ecency-mobile/pull/2356#discussion_r905451036

@aliseyalvi any update on these change requests...
#2356 (comment) #2356 (comment)

Not updated.

@aliseyalvi Tested before reviewing code, apparently the data from draft did not load in post options... branch sa/drafts-meta

Screen.Recording.2022-06-24.at.1.40.43.AM.mov

@noumantahir  please check again to load the same meta test post, it should load the beneficiaries and reward type data from meta

@noumantahir  added scheduled date in meta and load scheduled date info from meta. https://github.com/ecency/ecency-mobile/pull/2356/commits/31ee6ef52fe72a00412bded6d860731148c94816

@feruzm this can also be reviewed and merged now, tested it quite well myself as well.


Product SKU should be always cast to string

What is the motivation for adding / enhancing this feature?

Sometimes the client SKU is in the form of an integer. On the VSF side, we keep them as a string. With synchronization enabled, this results in duplicate products (for vsf, this product is not in the cart). For security reasons, it seems necessary to cast both values on a string, i.e. instead of the selected condition in here:
https://github.com/DivanteLtd/vue-storefront/blob/master/core/modules/cart/store/actions.ts#L624
add this:
 const serverItem = serverItems.find((itm) => {         return itm.sku.toString() === clientItem.sku.toString() || itm.sku.indexOf(clientItem.sku + '-') === 0 /* bundle products */       })
Casting string to string will give a string, casting int to string also will give a stirng, and then === will work.
(author: sszczepanski)
Can you complete this feature request by yourself?

[ ] YES
[X] NO

Which Release Cycle state this refers to? Info for developer.
Pick one option.

[ ] This is a normal feature request. This should be available on https://test.storefrontcloud.io and then after tests this can be added to next Vue Storefront version. In this case Developer should create branch from develop branch and create Pull Request 2. Feature / Improvement back to develop.
[ ] (Pick this option only if you're sure) This is an important improvement request for current Release Candidate version on https://next.storefrontcloud.io and should be placed in next RC version. In this case Developer should create branch from release branch and create Pull Request 3. Stabilisation fix back to release.
[X] (Pick this option only if you're sure) This is a critical improvement request for current Stable version on https://demo.storefrontcloud.io and should be placed in next stable version. In this case Developer should create branch from hotfix or master branch and create Pull Request 4. Hotfix back to hotfix.

@GabiDivante is there any possibility to have sku as integer? I thought there is always a string as sku is in format like xx-xx-xx are you sure about that? can you show some examples or how to reproduce error when it breaks the synchronisation?

@andrzejewsky it could be whatever. it should be cased to string to be sure

@pkarw ok I see, thanks 👍


Inventory broke after filling

After filling the inventory, there is no way to interact with it in some situatuins

Closed due to staleness


Put history on PyPI

Without that, bluesky setup.py fails without history being installed.

history needs to be renamed before we make it public.  Maybe to hdict?
#257 makes it optional from the BS PoV as we don't pip install it internally and standard_config.py (the only place we import history) is full of site-specific junk anyway.

Or historydict? +1 for making it optional. We should rip out standard_config.py ASAP.

I'm not clear how #257 has put history on pypi

I guess @tacaswell considers the issue closed from bluesky's point of view, but I don't mind leaving this open as a reminder.

This is closed because the problem of pip install bluesky not working is fixed.
If we want to track the need to put history on pypi, it should be tracked in history's bugs, not here.

For the record, this is done. https://pypi.python.org/pypi/historydict


Clean up dependencies

Change xarray and sparse to optional dependencies as they're only used for RNAMixin.posterior_predictive_sample and PPC
Remove chex dependency (planning on adding this back as a test dependency once we have a better JAX testing framework) by changing TuneAnalysis to the standard dataclass and LossOutput as a flax.struct.dataclass
Remove pin on Pandas as #2308 is resolved now

Need to find a cleaner way to modify LossOutput attributes post init.

It's possible that cellxgene-census's upperbound of numpy < 1.25 is causing a lot of dependency issues https://github.com/chanzuckerberg/cellxgene-census/issues/979


Tekla structures/reynold/tekla 2022

hmm I'm not sure what happened with this PR but its showing way too many "changes". We should figure that out before moving forward


Add cloud configuration API to azcore

usage
import "github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud"

// the cloud package has predefined configuration for public clouds
conf := cloud.AzureChina

// users can create configuration for private clouds
conf = cloud.Configuration{LoginEndpoint: "..."}

// Clients default to Azure Public Cloud. An azcore.ClientOptions field overrides the default.
clientOpts := azcore.ClientOptions{Cloud: conf}

// client option types already embed azcore.ClientOptions, creating a consistent API for cloud configuration:
cred, err := azidentity.NewDefaultAzureCredential(
    &azidentity.DefaultAzureCredentialOptions{ClientOptions: clientOpts}
)
handle(err)

client, err := armsubscription.NewClient(
    cred, &arm.ClientOptions{ClientOptions: clientOpts}
)
handle(err)

Closes #16677

@chlowell do we need to take this back to the arch board?

I'll ping the Teams channel to see whether any architect wants another board meeting for this. I think offline discussion is more likely.


[WFLY-4484] Upgrade to JBossWS 5.0.0.CR1

... and [WFLY-4380] Remove usage of jboss-common-core in web services

Windows Build 1378 is now running using a merge of 0dd84b99cc844481b36d7b88b6759eca54667080

Linux with security manager Build 1236 is now running using a merge of 0dd84b99cc844481b36d7b88b6759eca54667080

Linux Build 6271 is now running using a merge of 0dd84b99cc844481b36d7b88b6759eca54667080

Linux with security manager Build 1236 outcome was SUCCESS using a merge of 0dd84b99cc844481b36d7b88b6759eca54667080
Summary: Tests passed: 823, ignored: 356 Build time: 0:05:21

Windows Build 1378 outcome was SUCCESS using a merge of 0dd84b99cc844481b36d7b88b6759eca54667080
Summary: Tests passed: 2846, ignored: 412, muted: 1 Build time: 0:51:14

Linux Build 6271 outcome was SUCCESS using a merge of 0dd84b99cc844481b36d7b88b6759eca54667080
Summary: Tests passed: 2847, ignored: 412 Build time: 0:52:21


Allow to disable module boundary typing

There is a rule saying I must type my module boundaries (https://flow.org/en/docs/types/#module-boundaries).

Flow could be used on untyped JavaScript project without this rule.
Could you consider an option like module.boundaries_force_typing = false ?

What is your goal that this would help accomplish? Without module annotations, Flow is going to guess any for a lot of things, and therefore is unlikely to find any but the most obvious bugs.

Referencing an undefined property, calling a function with less/more arguments than expected are common and obvious bugs that flow excels to detect.
The purpose is exactly to find most obvious bugs without having to type annotate an entire project.

Without annotations at module boundaries, flow is going to either guess wrong a lot and give false errors, or over generalize and assume things are any type, failing to catch obvious errors. Even people adding flow annotations to previously untyped code frequently end up with these problems and it would be far worse without any annotations.  Overall, I don’t think you’d find it much use for this purpose.

@asolove no, that is not supposed to happen. It should just work as if it was one big file.


New command: Delete Microsoft Teams team channel

Deletes the specified Microsoft Teams team channel:

command: teams channel remove -c|--channelId [channelId] -n|--channelName [channelName] -i|--teamId <teamId> --confirm
channelId: The ID of the channel to remove. Specify channelId or channelName but not both
channelName: The name of the channel to remove. Specify channelId or channelName but not both
teamId: The ID of the team to which the channel to remove belongs
confirm: Don't prompt for confirmation

Hey @waldekmastykarz should we make this command accept channeName too? Incase people want to delete a channel with id or name but not both are passed.

Yes! Very nice suggestion @rabwill, spec updated

Would like to put this on my backlog.

Awesome @thomyg!

Would need some noobie help it seems @waldekmastykarz . I have the command up and running for the -c option.
If using -n I'm already able to call the graph to get a list of all the channels and to query for the right one. I have the correct channel as a Channel object in my code, but whenever I want to access channel.id I get undefined although if I log the object I see the id.
Example code:
const channelToDelete: Channel = (res.value.filter((i: any) => i.displayName === args.options.channelName));
          const channelToDeleteId: string = channelToDelete.id;
          if (this.debug) {
            cmd.log('channelName:')
            cmd.log(args.options.channelName)
            cmd.log('channelToDelete:')
            cmd.log(channelToDelete)
            cmd.log('channelToDelete.id:')
            cmd.log(channelToDelete.id)
            cmd.log('channelToDelete.id as string:')
            cmd.log(channelToDeleteId)
          }

Example output:
channelName:
DeletePls
channelToDelete:
description: null
displayName: DeletePls
email      :
id<EMAIL_ADDRESS>webUrl     : https://teams.microsoft.com/l/channel/19%3a93ef06e61f59418088a54431ca152857%40thread.skype/DeletePls?groupId=851bce33-1196-4ca6-9358-25139ebd2975&tenantId=a1d5f937-b756-46d7-b92f-464629a6d985

channelToDelete.id:
undefined
channelToDelete.id as string:
undefined

Any tips?

res.value.filter returns an array so const channelToDelete: Channel is in fact const channelToDelete: Channel[]. Because you're trying to get .id of an array, it comes back as undefined. Instead of filter you could use res.value.find which returns Channel | undefined but I wonder if there is no way for us to retrieve the right channel directly from the Graph instead of having to retrieve all of them and then filter the whole array locally.

Thx Waldek for the fast response, will look for a more direct way. Will keep you posted.

Thx for the hint Waldek -> https://graph.microsoft.com/v1.0/teams/851bce33-1196-4ca6-9358-25139ebd2975/channels?$filter=displayName eq 'DeletePls' does the trick. Will use that for getting the correct channel by name.

@waldekmastykarz & @VelinGeorgiev the first version of a teams base class is accessible at https://github.com/thomyg/office365-cli/blob/DeleteTeamsChannel/src/o365/graph/commands/teams/teams-base.ts and I use it at the teams-channel-remove command here https://github.com/thomyg/office365-cli/blob/DeleteTeamsChannel/src/o365/graph/commands/teams/teams-channel-remove.ts
May I ask you for a short review if I'm heading in the right direction? The code is not polished but working, I'm able to delete a channel by only providing the name. If this is the way to go I would add error handling and more validation, but I just want to make sure the effort is done in the right direction.
Second more important question: if we implement such a base class, wouldn't it be necessary to move more graph calls there? When I think of the future feature of "export team as json" I will need to call all the different endpoints to get the team definition. If all of those calls would be in the base class we only need them once and the commands can share them, otherwise, we end up with code duplication, correct?

The code looks good so far. One thing I'd suggest changing is to replace <Object> with <string> (I assume channelId is a string)

Export team is a unique case as it doesn't have a corresponding API and basically means we need to manually extract all different artifacts ourselves. Something's telling me (not based on any inside knowledge, but just a hunch) that at one point such API will be available so I wouldn't mind a temporary code duplication. The problem with centralizing code is that if one of the commands will need something specific, we'll need to generalize the central method and potentially refactor all other commands which would lead to unnecessary effort.

Hey @thomyg, are you still working on it?

Setting as available to pick up due to lack of response

@waldekmastykarz I'd like to pick this up as my first contribution

All yours Garry (@garrytrinder), thanks for helping !

Just a quick note to say that I am slowly making progress on this command and hope to have some code to review soon enough.

Hey @waldekmastykarz & @VelinGeorgiev
I've implemented this command, see https://github.com/pnp/office365-cli/compare/dev...garrytrinder:teams-channel-remove but I have left out the --channelName parameter for now as I think it might require discussion.
As I've been learning by examples to create this command (first contribution), I've been making sure I stick to existing implementations for consistency, however I noticed that --channelName isn't used on any other command as an optional required parameter from what I can see, e.g. the teams team remove command only takes teamId and not teamName.
If there is an example already in the CLI that I have overlooked that would point me in the right direction, please let me know.

It seems like we could work a bit on consistency: channel get expects the id, but channel set the name. Ideally, we'd support both, so if one or the other are missing in some commands, we should add separate issues to close these gaps.

I'd say that passing the id should be the base level of implementation as this also fits the underlying  Graph API call /teams/{id}/channels/{id} also keeps the implementation simple.
How would you like to proceed? I can push what I currently have without --channelName as its ready and tested. Then raise an enhancement for --channelName and raise issues against the others for getting consistency?

Sounds good to me. 👍
Keeping the implementation simple is one thing. What I find more important is for us to make using the CLI convenient. If I want to delete a channel, I likely know its name but not the ID. If we can simplify the usage by automatically translating the name to ID, then we should definitely do it. In the end we should support both use cases and starting with ID and extending it later to support name is a good idea 👍

Great, I’ll get the PR raised later today 😁
Sent with GitHawk


[para] don't limit parallel coordinates table size

Before we limited the table size to 10 rows, now there's no limit and it
will overflow properly with a scrollbar.

Coverage remained the same at 81.627% when pulling 361f44ecbde8108f56400ff98cea0b828f26e4da on mistercrunch:para_nolimit into 6c333d50108f6ccb0c3997e9f687cfceb3e85552 on airbnb:master.


FR-T5.1-12: Orchestrator should consider each deployment separately

ID:
FR-T5.1-12

Type:
USABILITY

User  story:
xOpera users would usually want to distinguish each deployment and when they run they would want to be treated separately from all other deployments that have been/would be created before/after.

Requirement:
xOpera TOSCA orchestration tool should implement a different behaviour of treating the deployment runned by opera deploy. This means that user would tell if he needs to resume the actual deployment or start over the completely new one.

Extended Description:
The requirement could be implemented with the following command options: if user runs opera deploy on the already deployed instance he gets an error saying that the deploy has already been done or partially done run opera deploy --resume which would diplay a warning, but the deploy would resumeuse opera deploy --force which would delete the previous instance model and create a new, fresh one

Priority:
Should have

Affected Tools:
DELIVERY_TOOLCHAIN, ORCHESTRATOR

Means of Verification:
Try to deploy a service template with all the aforementioned options.

This requirement is relevant and the basics have been discussed also here: https://github.com/xlab-si/xopera-opera/issues/46.
@gcasale: please review.

Accepted

This was realized with this PR: https://github.com/xlab-si/xopera-opera/issues/46 and is available in the latest opera version 0.6.0.

OK to close

With the new opera deploy command switches we have increased orchestrator's usability and assured that the orchestrator will treat deployments separately when needed. Therefore we can close this.


some feature fixing

some features return scalar, and the morph_stat module did not allow for it.
the max_radial_distance breaks if the dendrite type does not exists in the morphology, so we return 0 in this case

we may want to add a test of the morph_stat module which tries to run on all features to catch these sorts of issues.

@asanin-epfl @adrien-berchet , ready to review this!

@arnaudon is it ready for merging?

yes, maybe you prefer the np.isscalar as you did fo jdc?

@asanin-epfl , I let you rebase/mege this one, then? I didn't know the isscalar, and adrien's comments are good indeed!


Resolves #57 - Updating the setup.py file to install torch if missing

Resolving #57
The issue with the setup.py file is that it assumes torch is installed. This modification allows us to text if torch is installed, and if not install it, before we import the package.

Here's an example of what error #57 can produce with the current setup.py file.

Thank u so much for this PR!


Interfile analysis

First of all, Thank you for such great tool.
I would like to ask the following questions. Does the tool allow to do interfile analysis?

It does. You may set any files or folders to analyze via the configuration:
File[] allMyFile = ... <HERE GO YOUR FILES> ...;
TranslationManager translationManager = TranslationManager.builder()
			.config(
				TranslationConfiguration.builder()
						.debugParser(false)
						.failOnError(false)
						.codeInNodes(true)
						.defaultPasses()
						.sourceLocations(allMyFiles))
						.build())
			.build();
translationManager.analyze().get();

I did it.
How can I get edges between in the following case. For example, Sample1 class has a method "hello". In Sample2 class I call "hello" from Sample1. I would like to see DFG edges.
I've tried to create SubgraphWalker. But it is required to choose a specific file in "result.getTranslationUnits().get(0);"
`var config = TranslationConfiguration.builder().sourceLocations(path.toFile()).defaultPasses().registerPass(new ControlFlowGraphPass()).debugParser(true).build();
var analyzer = TranslationManager.builder().config(config).build();
var result = analyzer.analyze().get();
var tu = result.getTranslationUnits().get(0);
List<Node> graphNodes = SubgraphWalker.flattenAST(tu);`

Edges are creates by "Passes" and there is in fact no whole-program analysis pass that would create DFG (data flow graph) edges across methods/functions, let alone across RecordDeclarations (=the equivalent of a Java class, C++ class, or C/C++ struct). If you need interprocedural data flows, you would have to write an analysis on top of the current passes.
However, some passes such as CallResolver and TypeHierarchyResolver already operate across different RecordDeclarations and files.
The SubGraphWalker walks along the AST, which is inherently bound to a single file.

I've got it. Thank you for your answer!

Actually, interfile analysis is already supported. Consider the following example:
Provider.java
public class Provider {

  public static int getValue() {
    return 42;
  }
}

User.java
public class User {

  public void hello() {
    int value = Provider.getValue();
    System.out.println("Value: " + value);
  }
}

When accessing the graph programmatically, this might be a rather abstract experience, so I suggest you take a look at our Neo4j export tool cpg-vis-neo4j. This tool saves the internal Java representation of the CPG to the Neo4j graph database, which provides the Neo4j browser on port 7474 that displays the graph in a visual representation.
For the two files at hand, when feeding them into this visualization tool, we get the following:

Here, we can see how the value 42 is passed along via a call to Provider.getValue to the User.hello function and is then stored into a variable. This value then goes on to be added to a string which is in turn passed to System.out.println as an argument. I have highlighted all DFG edges for better visibility.
As Julian already said, our call resolving mechanism already operates accross file boundaries, and I think this is the only real requirement for interfile dataflow analysis.
P.S.: If you want to access DFG edges programmatically without first persisting the graph to a dedicated graph database, take a look at Node.prevDFG and Node.nextDFG. These properties are converted to DFG edges upon persistance.


IE11 adds undefined to url when defining a scrollBehaviour

Version
3.0.1
Reproduction link
Please read below, I wasn't able to reproduce the error in a minimum fiddle.
https://codepen.io/Nirazul/pen/dJxvZB?editors=1010
Steps to reproduce
Even after debugging a few hours, I wasn't able to manage a reproduction and I'm unsure what that means. However I've probably found the issue and enough hints to why it's occuring.
The problem is that IE11 is adding a /undefined to the url, when I'm initializing the router with a scrollBevariour method. The reason is the following line of code, which was implemented to fix #1585:
https://github.com/vuejs/vue-router/blob/dev/src/util/scroll.js#L11
There are similar issues in other projects, that have been closed:
https://github.com/ampproject/amphtml/issues/743
I haven't found an easy way to fix this except commenting out the line. So the easiest fix would be to test for IE and not execute the line at all.
What is expected?
IE should not add /undefined to the route when providing a scrollBehaviour function.
What is actually happening?
IE (under some arcane circumstances) adds /undefined to the URL, when vue-router's setupScroll is executed.

As I said, I wasn't able to reproduce it in a reduced Fiddle. When stepping through the code, I could identify the line that was causing it. I'm not sure however, if some kind of listener may be the cause.

@Nirazul Sorry for the delay. I think the best for now is not to do is to not execute that line if we are on IE. Maybe we should even do it only for Firefox

@posva Ok, will do!

@posva I've looked into it again and made some more observations:
The issue definitely occurs when window.history.state has the value null and window.history.replaceState({} /* or '' */) is executed.
The funny thing is: window.history.replaceState has been patched:
Patched log: function(b,f,g){e.apply(d,[b,f,g]);c({source:a,state:b,j:db(ca())})}
Unpatched log: function replaceState() { [native code] }
So this means that some library patches the history API for some browsers but introduces a bug.

Ok, so I've found the culprit. The issue is created by the GTM (Google Tag Manager) script. It replaces native history APIs in IE/Edge and introduces the bug.
There's a report on a google forum:
https://productforums.google.com/forum/#!topic/tag-manager/uG6FtPInRGs;context-place=forum/tag-manager

Thanks a lot for posting the fix back!

Users said, google already fixed it:
https://productforums.google.com/forum/#!topic/tag-manager/uG6FtPInRGs;context-place=forum/tag-manager
But we're still having this issue. Any idea?

@jimbatamang
What do you get when you execute window.history.replaceState in the faulty browser?

We dont have GTM on our page and this still is an issue.
Removing the scrollBevariour functionality removed the problem.

Any news on this?


isPristine date test confusion

In isPristine.spec.js, there is
const date1 = new Date();
const date2 = new Date(date1.getDate());
But getDate returns the day of the month, and as it is the first of December here, this sets the time to 1ms past epoch for BOTH dates, failing the test.
Shouldn't the test do
tryBothWays({date: date1}, {date: date2}, true);
once this is fixed?
I can add a pull request.

Ahahaha!!! That's hilarious. I love Y2K-style date manipulation bugs. I'll get it.

https://github.com/erikras/redux-form/commit/b88386434d56b663601131c9e7e2896b6e1781b6


Update F# on Azure Docs - Queue Storage

1.Updating F# doc to the new SDKs - Queue Storage
2.Updated files :

i.docs/fsharp/using-fsharp-on-azure/queue-storage.md
ii.samples/snippets/fsharp/azure/queue-storage.fsx

@jongio for notification.

Complete all the changes according to comments. Thanks for your guidance!

Hi, @tg-msft Thanks for your review! Updated according to your comments.


Don't Merge! Regression PR perf testing with metadata validation

Docs Build status updates of commit 41aef0c:
:clock10: Full build: the average full build time is 22 min(s) 15 sec(s), this is based on the last 74 build(s) for this repository.

Docs Build status updates of commit 41aef0c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TestingPullRequest.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Switch to mocha

We're currently using nodeunit for running our test suite but I've had much more success with mocha in other projects recently so I'd like to switch to that.
As for assertion syntax; we'll either use expect.js or chai.

Marking this as invalid as mocha+chai+sinon will be used from the start for the Europa :new_moon: rewrite.


Enhance appSubscription page (Sectiontitle + adjust filter show all)

Description
As a App provider i would like to have a better understanding on the features i get offered on https://portal.int.catena-x.net/appSubscription
for this i would like to have

clear description of the functionality
i want to see also the inactive subscription's if i filter for "show all"

Acceptance Criteria

[ ] i want to have a section description above the own app filter "Apps offered"
[ ] i want to have a section description above the own app filter "Subscriptions"
[ ] if i filter for "show all" i can see all the subscriptions no matter the status

Additional Information

@gopalreddy-bmw  i had a longer discussion with mano today and based on this one we aligned to adjust the page like this.

Hi @MaximilianHauer
I tested this US it's working fine. Can you close this Ticket.
Attached Screenshots for references


scheduler: adjust max score for balance region

What problem does this PR solve?
There are redundant schedulings occuring near the 40% inflection point, but not in other intervals.
There are two reasons for this phenomenon:

we use piecewise function
the second slope to be locked at around 5000 because of huge max_score. The slope is too larger than the first slope which is only 1.
The PR will adjust max score to solve the second problem.

What is changed and how it works?
The calculation method of max_score is as follows:
Get the maximum capacity in the cluster, and then let max_score = f(max_capacity). If capacity of the new store is lower than max_score, it will not be adjusted to avoid excessive score shake of the new  store.Otherwise, we will set the max_score of all the store to the new one.
There are several plans for this function:

max_score = max_capacity * 10
max_score = max_capacity + 10t
max_score = min(max_capacity * 10, max_capacity + 10t)
max_score = max_capacity

The PR uses the fourth function.

[x] add unit test
[x] contrast test
[ ] add a bigger store

Check List
Tests

Unit test

Codecov Report

Merging #1795 into master will increase coverage by 0.15%.
The diff coverage is 84.61%.

@@            Coverage Diff             @@
##           master    #1795      +/-   ##
==========================================
+ Coverage   77.48%   77.64%   +0.15%
==========================================
  Files         166      166
  Lines       16395    16418      +23
==========================================
+ Hits        12704    12747      +43
+ Misses       2649     2632      -17
+ Partials     1042     1039       -3

Impacted Files
Coverage Δ

server/core/basic_cluster.go
93.78% <82.35%> (-1.22%)
:arrow_down:

server/core/store.go
79.29% <88.88%> (+0.44%)
:arrow_up:

pkg/metricutil/metricutil.go
90.62% <0%> (-9.38%)
:arrow_down:

server/schedulers/shuffle_hot_region.go
58.97% <0%> (-6.42%)
:arrow_down:

server/member/leader.go
75.51% <0%> (-1.54%)
:arrow_down:

server/schedule/operator/operator.go
84.98% <0%> (-0.55%)
:arrow_down:

server/handler.go
50.88% <0%> (-0.51%)
:arrow_down:

server/cluster.go
84.98% <0%> (+0.25%)
:arrow_up:

server/server.go
82.6% <0%> (+0.56%)
:arrow_up:

pkg/btree/btree.go
86.14% <0%> (+0.8%)
:arrow_up:

... and 5 more

Continue to review full report at Codecov.

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

can you show some test results to show that this change can work better?

I'm not sure if it's a good choice to maintain the score in core package since this one is related to scheduling.

Considering the problem of flexibleScore dynamic configuration and scaling down , I removed it.
Now the max score is the max store capacity in cluster.
PTAL @shafreeck @rleungx @nolouch

/run-dynamic-config-test tidb-test=pr/993

/run-all-tests

/run-all-tests tidb-test=pr/993


Ubuntu 15.04 not supported ?

Is there a way to add support for ubuntu 15.04 ?

I gues the answer is no since mongodb don't provide direct release link.

I gues the answer is no since mongodb don't provide direct release link.

Let me check it out, maybe we can use another releases archive


sigstore-in-a-box

Summary
Adds a new (private) server project which allows for running an HTTP server that provides mocked versions of all the core Sigstore services.

Just wondering if we want to rename this to something like mock-server
I started with that name and then talked myself out of it. But I think you're right, better to be super explicit that this is not for production use. Gonna merge and come back with a separate rename PR


Bulk operations, Upsert and Delete actions docs:

First absolutely love the project and for the most part the documentation is amazing.  I've been really using it as my go-to over the past month or two on any new projects.
Apologies in advance if I missed something or it was covered at a high level and I failed to interpret properly.
Few things I noticed while switching over:

Upsert situations, similar to below

https://github.com/mikro-orm/mikro-orm/issues/2088
https://github.com/mikro-orm/mikro-orm/blob/master/tests/QueryBuilder.test.ts

Deleting items from a database would probably be good to have tossed into one of the code examples.  Feel like Create, Read and Update have some decent examples, but I don't really see all that much for delete.

Bulk actions in general.  Say I have a large amount of Order [ids] in an array and I'd like to delete them from an Orders table.  How does one go about this most efficiently?  Something like below?

ordersToDelete.forEach((order)=>{
this.em.nativeDelete(Order, {order_id: order.order_id});
})
await this.em.flush();
Appreciate all that you guys are doing!

Agreed the batching is not really described anywhere (and it is quite a killer feature). Just use EM/UoW and it will work automatically. All operations are batched by default, even update queries.
// if ordersToDelete is not array of entity instances, you can use `em.getReference(Order, oid)`, no need to load those entities from database
ordersToDelete.forEach((order: Order)=>{
  this.em.remove(order);
})
await this.em.flush();

I was describing in the blog post for v4.1:
https://mikro-orm.io/blog/mikro-orm-4-1-released
I never really described upserts, because I never really needed this myself, so hard to tell others how to do things I never did myself :] But I can at least try and we can iterate on that.

For Upserts feel like the common use case might be where you're syncing your database with an external data source.  In our case we do a lot of application development for Shopify and need to get say Order information from a Shopify store and have it in our database.
Sometimes their webhooks aren't reliable or don't provide all the information, so periodically we need to get all the orders from them and then sync it with our database.  At that point we grab all the orders (thousands often) and then have to update (if say the order status or items in order change) or create.
Few approaches to this:

Iterating through the orders we receive -> looking up in our database -> updating if exists or create if not (can batch the create if lookup fails) takes a really long time.  The lookups would take a while, and if we already have most of the orders in our database probably a decent amount of updates.
Deleting all orders to make sure none exist then creating all orders.  Works really fast, but overall approach of deleting that data isn't great.
Try and do it in a native database manner

Would love to hear how other people are handling the situation where many records in bulk are being inserted into a table where the item may already exist (and if so updating).

Okay, finally figured this out for anyone that comes here trying to do bulk updates.
Solved by stumbling across this issue and subsequent feature addition
https://github.com/mikro-orm/mikro-orm/issues/1240
https://github.com/mikro-orm/mikro-orm/commit/b97ecb547282a5563b47e2c624ceb9d2833bbb38
Basically QueryBuilder has an onConflict method that I didn't see documented.  So say I have an array of PackingItems that may or may not already exist in my database table... then I can run a querybuilder instert with the onConflict cause and a list of fields that I want to update on conflict.
const qb = this.em.createQueryBuilder(PackingItem);

    qb.insert(itemsToSave)
      .onConflict('VariantId')
      .merge([
        'VariantTitle',
        'HeightIn',
        'WidthIn',
        'LengthIn',
        'PaddingIn',
        'KeepVertical',
        'PackMode',
        'NB',
      ])
      .execute();

Seems to work great.  Just wish there were more documentation around this.  I'm a little ashamed to admit, but I wasted days trying to figure this out.

@conspireagency thank you for this -- it was helpful!

FYI v5.5 added em.upsert
https://mikro-orm.io/docs/entity-manager#upsert

@B4nan Is it possible to perform a bulk insert using the Query Builder? For example, I need to loop over a list of items and build a query to update them all in a single statement (each items adds its own condition to the where clause). I could build the query myself and run it with em.execute but is there a better alternative? I know the Entity Manager updates in bulk automatically, but I'd need to find the items first, which is an extra select query I technically don't need.
This question is tangentially related to the thread, so I didn't create a new issue. Thanks

Sure, just pass array of items to qb.insert.

Sorry, typo - I meant a bulk update.

@alex996 upsert only works with a single entity, as of right now.  Seems the best way to do in bulk is the insert on conflict method using query builder, as shown above the post dated August 9th.

I may be in the wrong thread after all. I was wondering about bulk update, but it might be a separate topic. Thanks for your replies though.

You can do bulk update as well, via em.getDriver().nativeUpdateMany(), that's what the UoW uses under the hood.


[Perfetto SDK] Slice is not end

Hi perfetto team,
I am using perfetto sdk (version 12.1)
I got a problem that some slice show "is not end" when i open trace file in perfetto.dev website, as following

But i am sure i called 'TRACE_EVENT_BEGIN' and 'TRACE_EVENT_END' in pairs, and it is not always wrong.
Detail info as following
Initialize config then start trace
  perfetto::TraceConfig cfg;
            auto bufferConfig = cfg.add_buffers();
            bufferConfig->set_size_kb(1024 * 128);
            bufferConfig->set_fill_policy(perfetto::protos::gen::TraceConfig_BufferConfig_FillPolicy_DISCARD);

            auto dataSource = cfg.add_data_sources();
            auto *ds_cfg = dataSource->mutable_config();
            ds_cfg->set_name("track_event");
            ds_cfg->set_track_event_config_raw(track_event_cfg.SerializeAsString());

            g_tracing_session->Setup(cfg, -1);
            g_tracing_session->StartBlocking();

Logcat

Today the Perfetto Tracing client library has a subtlety:
Unless the embedder issues an explicit flush OnStop(), the last packet for each TraceWriter (i.e. of each thread) is lost. This can lead to a bunch of "unfinished events" even if the embedder code did emit the ends on time.
Today the only way to avoid this is to invoke Flush explicitly [1]. It's not that simple though, because the embedder needs to do that on each thread that emitted events in the past. This means that somehow the embedder needs to have some sort of looper and be able to PostTask to its various threads (which then opens other complexities w.r.t. needing to join the flushes and ack the stop closure only after all of them have been done).
Why it happens
The reason why this works today is the following: when the service scrapes trace packets from the Shared Memory Buffer (SMB), it looks at the "count" field to determine how many packets have been written. Because the count is incremented with a store-release before starting a new packet, we can never tell if the last packet in each sequence's chunk has been fully written or is still being written.
Today the service is conservative and always assumes the last packet (for each TraceWriter, i.e. for each thread) is being written and ignores it.
We can't just not-ignore it because doing so will have other bad side-effects when dealing with flushes (when that packet might be seen twice)
If you care about the last event, today the best workaround is to make sure that, on each thread where you write events, you call, on every thread that has emitted a TRACE_EVENT, this:
perfetto::TrackEvent::Flush()

Thanks for the accurate report btw @Kyson , I completely understand that that behavior is surprising.
We had some internal discussion, we should change the way we do the atomic packet increment (At the end of a packet), but doing so is non-trivial a we won't get there too soon.

@primiano Thx for your patient answer.
I think it is not reasonable that i must call perfetto::TrackEvent::Flush() on each thread because i can not insert code in every thread.
So make all sequence's chunk be flush to  consumers when i call perfetto::TrackEvent::Flush() on any one thread, It would be nice if it was done this way :-)

Unfortunately there is no way we can force producers to call Flush on their thread, because we cannot "forcefully execute code" on arbitrary threads.
anyways, this is really just a problem for tests. In production scenarios, you can't expects all events to be balanced because tracing starts and stop and arbitrary points, possibly in the middle of events.
The right fix for test scenarios is changing the order we do the atomics increment in the SMB. but that is a very complex change, especially to do in a backwards compatible way.
Given that the impact of doing so is limited (i.e. this is not a big problem in my view), we will not fix that for a long time because there are more important things to fix.
Until then, if you care about getting visibility of all events in test scenarios, you'll have to call Flush() manually.

I am using perfetto SDK to trace app's all tasks, then compute these tasks execute time by sql trace processor, currently in test scenario and will be apply to production in the future.
But if the last one event can not mark as end, i can not compute every thread task accurately, and i think 'accurate' is important for perfetto.
For now Systrace is the only solution to me but it can not be apply in production scenario.
Hope reconsider to resolve this please...

as I said:

Yes, you are right, it's a bug / unexpected behavior.
No, it's not important enough to be solved soon, there are other things that need to be solved first.

It seems that this problem has been fixed in later version.

Same issue is stilled observed in ver 31.0 (released in 2022-11-10 ). Could someone check if it is fixed in latest version (like v48)?


sfdx force:mdapi:deploy does nothing and passes succesfully

Summary
In our CD pipeline hosted on jenkins and bitbucket , we use the sfdx force:mdapi:deploy command to deploy a source to sandboxes.
Since today it just stopped deploying the code, and doesn't fail, just passes correctly doing nothing because we updated the installation command of sfdx in jenkins script in order to use the latest version (7.188.1) .
Why do we need to upgrade ?
Because previously, we were installing the version 7.82.0 using the old tar.xz package via the url (https://developer.salesforce.com/media/salesforce-cli/sfdx-linux-amd64.tar.xz) on every build and this caused an error when trying to deploy the metadata type "PlatformEventSubscriberConfig".
Steps To Reproduce:
use sfdx force:source:convert command to create package
then use sfdx force:mdapi:deploy to deploy

Expected result
  The latest changes from the package are deployed to the org.

Actual result
 Nothing happens, deployment is not shown even on sandbox under the deployment tab, pipeline passes this step correctly and moves forward and the number of deployed components is 0 for any type of metadataype component.

System Information

The jenkins server is deployed on an ubuntu machine , and the issue is present if we install sfdx using sudo npm install sfdx-cli --global or the method described here

the sfdx version :  sfdx-cli/7.188.1 linux-x46 node-v18.13.0

Additional information
As a temporary solution, we are using the tar package that installs the the version 7.82.0 because it is able to deploy all components types except "PlatformEventSubscriberConfig".
But we need to upgrade to the latest version of sfdx in our automated script to avoid any future issue with new types of components.

Hello ,
I finally removed the conversions to mdapi and replaced force:mdapi:deploy with force:source:deploy .
Everything is working as expected with the latest version of sfdx.
It wasn't easy. It took 2 days to change and test this in my CI/CD flow , don't change your mind next year and don't get back to mdapi. :)
Thank you.

.


add strash/everybody-wants-that-line.nvim

Hey Eric,
I would like to add my statusline to your site.
Thanks!

Thanks for submitting this pull request! What were repos removed?

@neurosnap I did yarn resource and didn’t do anything else. I think the json has formatted a bit but all repos is still there.


[Doc Source]: Typo in "Deploy the FIO Test Pod" section

Are you reporting an issue with existing content?
There is typo in kubectl command for Deploy the FIO Test Pod section, kubect is present in place of kubectl at two occurrences.
Existing : kubect apply -f https://raw.githubusercontent.com/openebs/Mayastor/master/deploy/fio.yam
Expected: kubectl apply -f https://raw.githubusercontent.com/openebs/Mayastor/master/deploy/fio.yam
Existing: kubect get pod fio
Expected: kubectl get pod fio
Link of the affected page(s): deploy-the-fio-test-pod
Are you proposing new content, or a change to the existing documentation layout or structure?
Please describe your proposal.

Thanks for raising this Rohan.  Both typos have now been corrected.


SHA1 checksum is different, causing SBT build to fail

What happened?
I'm using SBT to build my Scala code and have set up Reposilite as a mirrored repository for Maven.
SBT uses Coursier for its fetching artifacts, which will download its own jar and verify it. This fails, because the SHA1 checksum returned by Reposilite is different than expected. As a consequence, my build aborts, making it impossible for me to use Reposilite in combination with SBT.
In the FAQ I read:

Q: Checksum validation failed on the maven-metadata.xml
A: Checksum validation always fails, because Reposilite does not trust the metadata files offered by client - they're generated by server, based on the repository content to ensure consistency. It's fine and it does not affect your builds.

However, in this case it's not the metadata file, but the jar file itself:
The URL of the jar file is: https://repo1.maven.org/maven2/io/get-coursier/interface/1.0.19/interface-1.0.19.jar
SHA1 checksum from Maven: e21790b550d98b24632512d49ab87b1be6a1faf2 (from https://repo1.maven.org/maven2/io/get-coursier/interface/1.0.19/interface-1.0.19.jar.sha1)
SHA1 checksum from Reposilite: f8063085e867d78d9884baa764bd332a017452b1
Why is the SHA1 different, and is there a way to remedy my issue?
Reposilite version
3.x
Relevant log output
[error]  http://--address-redacted--/maven/io/get-coursier/interface/1.0.19/interface-1.0.19.jar: wrong checksum: /home/hzwaal/.cache/coursier/v1/http/--redacted--/maven/io/get-coursier/interface/1.0.19/interface-1.0.19.jar (expected SHA-1 e21790b550d98b24632512d49ab87b1be6a1faf2 in /home/hzwaal/.cache/coursier/v1/--redacted--/maven/io/get-coursier/interface/1.0.19/interface-1.0.19.jar.sha1, got f8063085e867d78d9884baa764bd332a017452b1)
[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)

Hey, Reposilite 3.x accepts checksums from client, so it should work properly, because we're not generating any files at this moment. The FAQ entry you've mentioned was true for Reposilite 2.x.
Because we're talking about mirrored repository, are you sure that SHA1 extension is added to the list of allowed file types?

https://reposilite.com/guide/mirrors#allowed-extensions

Hey, good to know that the FAQ entry is about 2.x. I missed that.
The .sha1 extension is an allowed file type in my setup, which it was by default. I didn't change anything there.
So my best guess now is that the Coursier downloader maybe includes more than just the file contents in the hash. In the end I've worked around the issue by manually writing the 'wrong' SHA1 in the cached .sha1 file of the Reposilite mirror repository. The Coursier downloader then no longer complains and works as expected.
Since the issue is probably in Coursier rather than in Reposilite, I'm closing the issue.
And thanks for all the work.

Oh okay, I don't have much experience with Scala and I see this tool for the first time, but indeed it could be the issue.
Our Scala user base is not big, so let me know if you'd find some other issues. Even if we won't be able to fix it in 3.x, I'm currently gathering feedback for 4.x here:

https://github.com/dzikoysk/reposilite/issues/2005


Support gzip compression

Consider supporting base64 + gzip encoding of cloudinit scripts

Is there still a need for this feature? gzip is supported for individual files, just not the entire config.

I think with #279 merged, I would not need this anymore. Thanks!

In my case: setting up a number of systemd units via cloud-config, it is essential to have this feature. Splitting into compressed chunks requires additional pre-processing step and compression doesn't help much as individual unit files are small.

Is this ever going to supported?  AWS only supports up to 16KB of user-data.

I would like to support this feature but I do not have the resources right now. If anyone has the time, I will gladly review pull requests. Otherwise, this will have to wait a little longer.