Support extending DSLs with DAP

It would be awesome to simplify creating debuggers for the DSLs created by Langium.
In VS Code this would be supporting the Debug Adapter Protocol (DAP).
Are there any plans in that direction? Or is there already a good example on how to extend Langium-generated VSCode extension with a debug feature?

I don't think we can simplify that in the general case because debug adapters depend on the execution runtime of your language. There are two main scenarios:

You generate code of a general-purpose language from your DSL. In that case you can use the debugger of the chosen target language. If that debugger supports source maps, you can generate such source maps along with the actual code.
 Then you need to write a debug adapter based on vscode-debugadapter-node which acts as a remote control for your interpreter.

Both scenarios can't be generalized.
Except... if we'd create a library to ease the implementation of interpreters. Such a library could define a common API that can be generically connected to DAP 🤔

@spoenemann @georg-schwarz In my opinion, any good interpreter built using Langium should actually just generate JavaScript code and source maps. Maybe add some domain functionality using an additional package, but there's really no reason to build your own interpreter for a Langium based language. Packages such as astring already perform the code generation (including source maps), one only needs to transform a Langium AST to a JS AST.

Thanks for the very fast response! I think I owe you some more context.
We went down the route to implement our own interpreter in the Jayvee project (case 2 mentioned above). First user feedback reported that they'd want a debugger like in a general-purpose language. Our first research led us to the Debug Adapter Protocol (DAP) with the repo vscode-debugadapter-node you mentioned.
I can imagine this is a common scenario for langium projects (?), thus I hoped you can already made some experiences in that regard and we could tap into your expertise.

Except... if we'd create a library to ease the implementation of interpreters. Such a library could define a common API that can be generically connected to DAP thinking

Obviously, that would be an awesome addition to your langium ecosystem!
Do you have any projects at hands that went down the same road for inspiration? Otherwise, I'd be happy to share our experiences once we successfully went down that rabbit hole ;-)

IMO there are still important use cases for an interpreter:

Custom widgets showing live results for DSL text
Security: you might not want to send the generated JS somewhere to execute it. In distributed scenarios, sending and interpreting the DSL text is much more secure.

Do you have any projects at hands that went down the same road for inspiration? Otherwise, I'd be happy to share our experiences once we successfully went down that rabbit hole ;-)

I know of projects connecting an existing runtime/debugger to the DAP, but I haven't seen a debug adapter for a TS/JS interpreter yet.


fix(fab): Fix regression on FAB dropdowns

SUMMARY

This PR removes some global CSS that conflicts with FAB dropdowns.  FAB version was bumped in https://github.com/apache/superset/pull/22580, and the new version includes markup that certain global CSS styles in superset.less now apply to, causing a visual bug with dropdown menus.  The global CSS was introduced in https://github.com/apache/superset/pull/3241 to style the VisualizeModal component.  This component was removed in https://github.com/apache/superset/pull/5523, so I believe these global styles are no longer used anywhere in the app (though if anyone knows otherwise, definitely let me know).
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Before:

After:

TESTING INSTRUCTIONS

Confirm that FAB views' dropdowns look and work correctly:

/rowlevelsecurityfiltersmodelview/add

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

For added context, here's what the dropdown looked like before the FAB upgrade:

/testenv up

/testenv up

QA verified the fix. LGTM!

QA verified the fix. LGTM! But dropdown color and selected tile colors is different (PR vs Prod).

Thanks!  Will tackle the color changes in a separate PR.


Add properties to CentralDogmaConfig for configuring trusted proxy addresses

Motivation:
Currently, there is no way to specify trusted proxy addresses with the configuration.
Modifications:

Added trustedProxyAddresses and clientAddressSources properties to CentralDogmaConfig.

trustedProxyAddresses is a list of exact proxy server addresses and CIDR notation.
clientAddressSources is a list of HTTP header names to be used for retrieving a client address from an HTTP request.
PROXY_PROTOCOL is specially defined for retrieving a client address from a proxy protocol message.

Probably better updating the default dogma.json in dist?

Probably better updating the default dogma.json in dist?

Yes, I need to do it. Let me fix that and docs. :-)

Thanks, reviewers!


Add "to_range" methods

This is a bit of code I find myself using a great deal in command line applications, and your library is extensive enough that someone else may find it helpful. Hope this helps!

Thanks for the PR. Interesting idea, but is too specific for the library and no tests.


Automatically unpacking results

Hi! Thanks for creating this - really easy to work with and works great!
Got a question regarding unpacking results automatically.
Given a schema like
interface Cat {
    name: String!
}

input BlackCatCreateInput {
    name: String!
}

type CatCreateResult {
    cat: Cat
    errors: [Error!]!
}

type Mutation {
    blackCatCreate(
        input: BlackCatCreateInput!
    ): CatCreateResult!
}

And a fragment like so:
mutation CreateBlackCat($input: BlackCatCreateInput!) {
    blackCatCreate(input: $input) {
        cat {
            name
        }
        errors {
            name
        }
    }
}

This will generate a result class:
class CreateBlackCat(BaseModel):
    black_cat_create: "CreateBlackCatCreateBlackCat" = Field(
        alias="createBlackCat"
    )

class CreateBlackCatCreateBlackCat(BaseModel):
    __typename__: str = Field(alias="__typename")
    errors: List["CreateBlackCatCreateBlackCatErrors"]
    cat: Optional["CreateBlackCatCreateBlackCatCat"]

....

Firstly, is it possible to get the result directly in the CreateBlackCat type? E.g. something like
class CreateBlackCat(BaseModel):
    __typename__: str = Field(alias="__typename")
    errors: List["CreateBlackCatCreateBlackCatErrors"]
    cat: Optional["CreateBlackCatCreateBlackCatCat"]

If not, can I perhaps utilise a plugin to automatically unpack this for me? It's a bit awkward to have to do
black_cat = (await client.create_black_cat(
    BlackCatCreateInput(name="My cat")
)).black_cat_create.cat.name

Instead of just
black_cat = (await client.create_black_cat(
    BlackCatCreateInput(name="My cat")
)).cat.name

with False it will work as it does currently, but with true if operation calls single field, we would skip returning intermediate type like how you are proposing.

Gotcha. Do you think it's a big change? I could give it a go if you have any pointers where to start.

Thanks for the super swift response!


[#290] Remove API documentation for disabled zone operation

The zone operation in question is disabled until we fully understand the iRODS API. Once we have a grasp on the API, we can revert this commit.

yep


You should do the same thing, but with YouTube

Use Python to convert zip files into video files, and upload them privately.  Since YouTube doesn't limit your storage space, just the size of the files.

Use Python to convert zip files into video files, and upload them privately. Since YouTube doesn't limit your storage space, just the size of the files.

Hahaha stay tuned to XDA later today, I did exactly that 😉


stop second derivatives by stop_grad=True

I noticed the new version of MAML paper said second derivatives has little influence on performance.
So I run the code and using --stop_grad=True and all other setting are as default.
The results seems 2% lower than --stop_grad=False.
My training cmd is as follows:
python main.py --datasource=miniimagenet --metatrain_iterations=60000 --meta_batch_size=4 --update_batch_size=1 --update_lr=0.01 --num_updates=5 --num_classes=5 --logdir=logs_scope/miniimagenet1shot/ --num_filters=32 --max_pool=True --stop_grad=True
Do I miss anything to stop second derivatives?

Do you solve this problem? I try to recover the MAML with pytorch without the second derivatives. My results for the miniimagenet is about 2% lower than results in the paper. I guess that the second derivatives makes the difference?

I cannot repeat the results without second derivatives. Maybe some implementation difference or training tricks? @cbfinn

Some potential ideas:

I used early stopping, picking the model with the best validation accuracy during training, which wasn't necessarily the last one.
The random seed on my computer was probably different than the one on your computer. [I only ran it once. Perhaps it had a particularly good set of initial weights / mini-batch ordering.]
I don't think that I did any gradient clipping for the paper, but you could try clipping the meta-gradients.

Thanks for your explanation.

For early stopping, I will try it and check the accuracy again.
As to random seed, I think if we all use the same OS and same python version (2.7 for me) with same seed number, the random sequence will be the same. I follow the random seed in your released code.
I notice there is gradient clipping in https://github.com/cbfinn/maml/blob/master/maml.py#L146 for miniImagenet dataset.

According to your suggestions, I will try this experiment again without secondary derivatives.


Celo:

Describe your issue here.
I sent Celo to my coinbase wallet and it has disappeared. Can anyone help me locate my missing Celo?
0xa92f8322759f8f85fcca6df873912e88008ee1562b2876e69bbf41c4af6bd106
0xA203bbF51A5bC4a8A82F8e145D01D0333471D411 → 0xB098a3d11e99635b08B54E0d3a4f8e558ae4Bae5
158.13028834 CELO
Environment

Elixir Version: 1.11.4

Erlang Version: 23

BlockScout Version: 50486bf417ecd20d25e3b3f3b4e260c143cadbfe

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73

Steps to reproduce
Tell us how to reproduce this issue. If possible, push up a branch to your fork with a regression test we can run to reproduce locally.
Expected Behaviour
Tell us what should happen.
Actual Behaviour
Tell us what happens instead.

I sent my Cgld to my coinbase wallet and it's gone can you help me?


Adds skipBody CLI argument - Skips Request and Response Body in Try Output

Cargo Version Upgrade
Updates the guide to include new flag
Adds the ability to include skipBody argument in the CLI
Changes added to test the new argument

@tkmcmaster made changes, let me know if that's more or less what you were looking for.

@Pagan-Idel It's looking good. Looks like rust fmt is failing now. There's a pr.sh script in the root of the project you can run to do all these checks locally. To fix the formatting automatically you can just run cargo fmt --all without the --check.

We are still failing even after cargo fmt --all...

We are still failing even after cargo fmt --all... Maybe it has something to do with the Spaces or Tab count?

Newer version of rust. Run rustup update to get the latest 1.72 and then rust fmt will work


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v5.7 to before v5.15.11",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3f50f132d8400e129fc9eb68b5020167ef80a244",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f77d7a35d4913e4ab27abb36016fbfc1e882a654"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "3f50f132d8400e129fc9eb68b5020167ef80a244",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "f77d7a35d4913e4ab27abb36016fbfc1e882a654",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "bpf: Fix signed bounds propagation after mov32\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.15.11 by commit f77d7a35d4913e4ab27abb36016fbfc1e882a654, it was introduced in version v5.7 by commit 3f50f132d8400e129fc9eb68b5020167ef80a244. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002728


infinite loop in RecoverClassesFromRTTIScript on a windows PE with multiple inheritance

Describe the bug
Infinite loop while running the script RecoverClassesFromRTTIScript on a windows PE (Visual Studio 6).
The monitor window is displayed for hours (until cancelled).
To Reproduce
Run the java script "RecoverClassesFromRTTIScript" on a Visual Studio 6 PE that contains classes with multiple inheritance and a parent that has no inheritance.
I can't provide an executable, but it should be easy to reproduce.
Expected behavior
The script should end in success or throw an exception.
Screenshots
None
Attachments
None
Environment (please complete the following information):

OS: Linux debian 11.7 and windows 10
Java Version: 17.0.7
Ghidra Version: 10.3.3_PUBLIC
Ghidra Origin: GitHub distro

Additional context
I think there is an incorrect increment in RTTIWindowsClassRecoverer.java/getClassHierarchyFromRTTI(List recoveredClasses)
List<RecoveredClass> classHierarchy = recoveredClass.getClassHierarchy();
int index = 1;
while (index < classHierarchy.size()) {
	monitor.checkCancelled();
	RecoveredClass parentClass = classHierarchy.get(index);
	List<RecoveredClass> parentClassHierarchy = parentClass.getClassHierarchy();
	recoveredClass.addClassHierarchyMapping(parentClass, parentClassHierarchy);
	updateClassWithParent(parentClass, recoveredClass);
	index += parentClassHierarchy.size();
}

In my case parentClassHierarchy.size() can be 0, so the loop is infinite.
parentClassHierarchy.size() can also be much bigger than classHierarchy.size().
So I think index increment should always be 1.
I didn't try it yet.

The class hierarchy is supposed to always contain the class itself as the first item so should always have at least one item. Obviously something changed and this is no longer happening in all cases. Thanks for finding this issue. I'll let you know once it is fixed.

Thank you.
I just read the disclaimer for the script and I'm not in the best conditions for it to run.
My project is not fresh. I've been working on it for a long time and I have made many changes that may have broken something.
So that could explain why a class hierarchy does not contain the class itself.
I ran the script on a fresh project.
There was no infinite loop, but there was no information in the classes except the RTTI_Type_Descriptor found during the initial analysis.
And forget about my comment 'parentClassHierarchy.size() can also be much bigger than classHierarchy.size().'.
I dumped the classhierarchies and if there is one more element for each parent, it should be good.
I'm still trying to figure out how RTTI works.

I'm wondering if this is happening because the RTTI is not the same format in this older version. Do you see any RTTI structures created after the RTTI analyzer is run (not the script but the analyzer before you run the script).

On a fresh project, after the RTTI analyzer is run, I have classes that contains RTTI_Type_Descriptor. But that's all.
In the Symbol table there are only RTTI_Type_Descriptors.
The problem may be caused by the RTTI1Model structure as stated in #1790
The RTTI1Model structures in my PE do not have ClassHierarchyDescriptor (Visual Studio 6).
I have made my own script to find the RTTI structures as there was no script at that time.
I have forced some data to be RTTI*Model but it was a long time ago and I can't tell you exactly how I did it.
It may conflict with what the analyzer or script expect to find.
As far as I know, my RTTI structures are at the correct addresses but as the size of RTTI1Model  is not the same, they may overlap with some other data and become incoherent.

Yes. It sounds like you have the old style RTTIs. I should update the script to identify that case, if possible, and not run. I think we have it on our list to update the RTTI analyzer to work with the old style RTTI but as it is so old it keeps getting bumped by more pressing things.

The script is expecting the following RTTI data types to be present:
RTTI_Base_Class_Array (array of RTTIBaseClassDescriptors - this is what the class hierarchy is built from - first entry is always current class's RTTIBaseClassDescriptor)
RTTIBaseClassDescriptor
RTTIClassHierarchyDescriptor
RTTICompleteObjectLocator
Each should be created and labeled and put in appropriate class namespace by the analyzer.
If I remember correctly the script tries to fix up missing info where it can but the older cases are not handled.

I added code to throw exceptions if it hits the case where class hierarchy is empty.

Thanks for all.
I'll give it a try.

Appreciate you trying it!


setting ENABLE_PUSH_CREATE_ORG - appears to have no effect

Gitea version (or commit ref): 1.12.2
Git version: 2.27.0
Operating system: NixOS
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
Relevant part of the ini
[repository]
ENABLE_PUSH_CREATE_ORG  = true
ENABLE_PUSH_CREATE_USER = true

Now, let's try and auto-create org/repo on push
git remote add gitea-remote-new-org gitea@my.git.fqdn:neworgname/reponame.git
git push -u --set-upstream gitea-remote-new-org master

Unfortunately, the result is
Unable to get owner: neworgname user does not exist [uid: 0, name: neworgname, keyid: 0]

However, this works:
git remote add gitea-remote-existing-org gitea@my.git.fqdn:existingorgname/reponame.git
git remote add gitea-remote-existing-user gitea@my.git.fqdn:existinguser/reponame.git
git push -u gitea-remote-existing-org master
git push -u gitea-remote-existing-user master

Imho, I miss knowledge/expertise, misunderstand the purpose of ENABLE_PUSH_CREATE or a bug has been discovered.
In case, the purpose of those switches are granular control, ie, already existing user/organization namespaces and absent repos, then this is likely a feature request.
Desired result - whatever is pushed to gitea should auto-create namespaces, provided the user has enough permissions.
Any advise/comment is much appreciated!

PUSH_CREATE_ORG allows you to create repositories for an existing organizations. It cannot just create organizations.
Similarly PUSH_CREATE_USER allows you to create repositories for existing users themselves.


Remove on_connecting for less threads

due to zk-client implementation, it keeps a single thread open after registering the callback in order to guarantee high concurrency https://github.com/zk-ruby/zk/wiki/EventDeliveryModel
A thread with an event queue is allocated if a callback is registered, no matter if callback is triggered or not. The number of threads increase linearly as number of watchers. If there are 100  watchers, just adding one callback cause adding 100 more threads.
we need keep number of callback per watch as few as possible.
@austin-zhu @Jason-Jian

Also bump the version?

Done

hmm i would've liked to see more justification for this change. how often was this callback triggered? what resource are you saving, and how impactful is this change?

A thread with an event queue is allocated if a callback is registered, no matter if callback is triggered or not. The number of threads increase linearly as number of watchers. If there are 100 watchers, that adds 100 threads.

so the overhead is in memory? what's the memory overhead of one thread? what do typical savings look like after removing this callback?
was this callback not useful? did you ever see it triggered? how do you know, going forward, if the connection to ZK dropped and was re-established?

A constantly running thread has both memory and CPU overhead. When you have thousands of watchers and thousands more threads, the context switching and garbage collection become noticeable.
the on_connecting callback was useful for debugging, when ZK server restarts, we can see clients reconnecting (on_connecting gets triggered) and get reconnected (on_connected) within seconds. We keep on_connected callback to reset watcher when the connection is re-established and ready for communication:
https://github.com/airbnb/synapse/pull/288/files#diff-86201d0784bc64799b300dce40bd1d45L348


Wemos/Lolin S3 Mini board

Very similar to the S2 Mini board, there's also a board with ESP32-S3FH4R2.
https://www.wemos.cc/en/latest/s3/s3_mini.html
Nearly all pins are placed differently. And gpio 47 bottom right is a neopixel, near the gpio0 button.

The board is now available


Specify number of items in array

Would it be possible to add the ability to specify the number of items in a list?  I would imagine being able to enter a min number and max number then it returns a random number of items within that range.  If the numbers are the same then obviously it just returns that number.  An example of syntax is below but you might have a better idea.

@chookie Thank you for the idea it's definitely something we need to add to Faker.
It partly overlaps with validation tool we plan to work on so you could specify @list(minItems: 5, maxIterms: 10) for input value and we want to reuse the same directives inside Faker.
We still didn't finish with the design of these directives so it will take some time before we can add this feature to Faker.

Any update on this?
Thank you for the tool, looks very promising 👍

@OlzhasAlexandrov I'm still working on pushing necessary functionality in the graphql-js. It's extremely slow and time-consuming 😞 but I managed to push like 80% required for APIs-guru/graphql-* projects.
For this particular project, I still need to push one PR that will allow switching away from the custom fork of express-graphql.
TL;DR; I'm working on my checklist but its very very slow progress.

@OlzhasAlexandrov happy to help. I might learn something. Need/want help?

I would be glad to help also, there is any todo list/PR/branch/fork that I can look into?

@kuncevic Still planning to implement this, it's in my queue.

May be you can pint out to the related line of code where I just can hard-code the number of items so I can build custom version of faker just to be able to play with long lists.

https://github.com/APIs-guru/graphql-faker/blob/2f58a7f4fc230609756b97f16bd3615df1c162d4/src/fake_schema.ts#L182

Just modified node_modules\graphql-faker\dist\fake_schema.js at var length = fake_1.getRandomInt(500, 1000); for now

Hello everyone, I just created #61 as I desperately needs this feature and hardcoding is no-go in my case. Check it out :)
My proposal is following
employees: [Employee] @sample(min: 10, max: 20)
/cc: @IvanGoncharov

Why call it @sample? why not sth like @itemCount or @items? Otherwise looks neat :)

Why call it @sample? why not sth like @itemCount or @items? Otherwise looks neat :)

I had same thought, but I would stick to @fakeArray

It's been a while since last posts 😄 ... but wondering if you are aware of something that fills the need?
Thank you,


fix #2714: make parse err on regex op w/ nonregex

Using a regex operator, in a query, with a non-regex expression should return a parse error.  E.g., the following query should generate a parse error:
select * from cpu where foo =~ 'bar'

because it should be:
select * from cpu where foo =~ /bar/

+1

+1

closing... @pauldix made changes on master around alpha1 merge.


Add support for ACDCs

See https://github.com/trustoverip/tswg-acdc-specification
First, establish that support is feasible.

In the meeting on 2024-01-11, we concluded

that this item requires input from others who are more knowledgeable about ACDCs
that it's unclear whether Verifiable Presentations are supported by ACDCs
that the item will be put on the back burner - no priority at the moment


The non-energetic sliders in the chemical industry do not have tooltips yet

Fixed!
"The chemical industry traditionally uses crude oil as the main carbon feedstock for the production of basic chemicals (such as methanol and ethylene). In the future this oil may be replaced with other sources, like biomass or hydrogen. These sliders allow you to change the future feedstock mix. What will be the share of CARRIER feedstock in the chemical industry of the future?"


add random sorter for arrays

This addition provides a function to randomly sort an Array.
It would also address a Fluent enhancement request I made: https://github.com/vapor/fluent/issues/442. But it's better off in the Crypto package because the syntax for random ordering varies among database technologies (MySQL uses rand(), PostgreSQL uses random()...).

shuffle() ? Swift 4.2 almost here https://github.com/apple/swift/pull/12772/files#diff-d5385ec81d8b808c3aa350949015cb1eR366

Random is going to see quite a bit of changes once 4.2 is out. Although I don't think it would be a bad thing to include a version of shuffle here until we support 4.2. Might not be worth the effort though since 4.2 is coming so soon.

While the idea is nice, this algorithm does not shuffle the array correctly if the number of items is larger than 3 – only half of the possible permutations are appearing in the output.
I tested this with the following snippet:
func testArrayShuffleBias() {
        let original = [1, 2, 3, 4]
        var counts: [String: Int] = [:]

        for _ in 0..<600_000 {
            let random = original.randomized()
            let key = random.map { $0.description }.joined(separator: "")
            counts[key] = counts[key, default: 0] + 1
        }

        counts.sorted(by: { $0.0 < $1.0 })
            .forEach {
                print("\($0.key): \($0.value)")
            }

        print(counts.count, "permutations")
        XCTAssertEqual(24, counts.count)
}

If you change the original array to [1,2,3,4,5], the output will have 60 permutations instead of 120.

I would suggest porting a correct implementation to OSRandom instead.


Nodes aren't being received

I'm experiencing a problem with all node receipts, and I didn't find the reason, as no crash log appears
The sessions works fine for a long time, but in a random moment, it stops to receive any messages/node updates, except ping requests:
[RECEIVED] Node[description=iq, attributes={xmlns=urn:xmpp:ping, t=1714253376, from=s.whatsapp.net, type=get}]
[SENT] Node[description=iq, attributes={xmlns=w:p, to=s.whatsapp.net, type=get, id=1714242147-13}, content=[Node[description=ping]]]
[RECEIVED] Node[description=iq, attributes={t=1714253376, from=s.whatsapp.net, id=1714242147-13, type=result}]
[SENT] Node[description=iq, attributes={xmlns=w:p, to=s.whatsapp.net, type=get, id=1714242147-14}, content=[Node[description=ping]]]
[RECEIVED] Node[description=iq, attributes={t=1714253406, from=s.whatsapp.net, id=1714242147-14, type=result}]

When I leave the session offline, and try to reconnect on the next day, the pending messages and nodes are synced, but when it sync all pending messages and come again to current messages/nodes, it stops again
If more logs is needed, text me on Telegram and I'll send the complete logs, like when I start the session

Tracking in https://github.com/Auties00/Cobalt/issues/458


fix(core) http2 support

Summary
The http2 did not work with Kong 1.0.0, and it was also reported here:
https://discuss.konghq.com/t/kong-http2-support/2600/3

This same or similar issue might have reappeared. https://discuss.konghq.com/t/kong-ingress-issue-with-grpc-service/6448/3


*: support TLS cipher suite whitelist

Fail TLS handshake when client hello is requested with invalid cipher suites.
Succeeds if client requests with matching or empty cipher suites.
Fix https://github.com/coreos/etcd/issues/8320.

Disabling cipher suite unit tests with GOARCH=386 (ref https://github.com/golang/go/issues/25723).

Codecov Report

Merging #9801 into master will increase coverage by 0.04%.
The diff coverage is 64.1%.

@@            Coverage Diff             @@
##           master    #9801      +/-   ##
==========================================
+ Coverage   69.58%   69.63%   +0.04%
==========================================
  Files         376      377       +1
  Lines       35229    35263      +34
==========================================
+ Hits        24514    24554      +40
+ Misses       8954     8950       -4
+ Partials     1761     1759       -2

Impacted Files
Coverage Δ

pkg/tlsutil/cipher_suites.go
100% <100%> (ø)

pkg/transport/listener.go
58.67% <100%> (+0.42%)
:arrow_up:

etcdmain/config.go
83.11% <100%> (+0.3%)
:arrow_up:

embed/config.go
58.5% <50%> (-0.42%)
:arrow_down:

embed/etcd.go
67.41% <60%> (-0.25%)
:arrow_down:

etcdctl/ctlv3/command/printer.go
20.51% <0%> (-19.66%)
:arrow_down:

etcdserver/v2_server.go
80.76% <0%> (-3.85%)
:arrow_down:

mvcc/watcher.go
96.29% <0%> (-3.71%)
:arrow_down:

proxy/httpproxy/director.go
80% <0%> (-2.86%)
:arrow_down:

clientv3/concurrency/election.go
79.52% <0%> (-2.37%)
:arrow_down:

... and 20 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 438e675...4ffd31d. Read the comment docs.

/cc @liggitt

As @ericchiang suggested, will be switching to one shared flag both for server and client side.


Upgraded sql_exporter so it will load on arm64 systems

Summary of changes
Upgraded sql_exporter to new version that has arm64 support
Checklist

[X] Relevant changes are reflected in CHANGES.rst
[X] Added or changed code is covered by tests
[X] Documentation has been updated if necessary
[X] Changed code does not contain any breaking changes (or this is a major version change)

@SStorm just a heads up that this was the only blocking issue when deploying on AWS Graviton systems. After updating sql_exporter everything works perfectly!


Updated /regions to use the CRUD interface

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1052/
Test PASSed.

Merge after https://github.com/apache/incubator-trafficcontrol/pull/1890

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1064/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1079/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1085/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1094/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1095/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1096/
Test PASSed.


radicle-upstream: init at 0.1.4

Motivation for this change
Adds a package for the radicle-upstream p2p code collaboration client (homepage).
Some notes:

This is an electron app bundled as an appimage. I just downloaded the appimage directly from the releases site. My understanding is that the infra for from source builds of electron apps doesn't really exist in nixpkgs atm, so this is an acceptable practice. Happy to put together a from source build if there are some nice examples I can copy.

 This is a dynamically linked binary, so I needed to open up the appimage and patchelf it before bulding the final wrapped appimage. In the future it might make sense to add a seperate package for the git-remote-rad helper and allow interaction with the radicle network without the UI. I kept them together for now as it allows the simplest installation experience (a single package), and the git helper can't publish to the network without the UI running at the moment anyway, so it's currently not very useful by itself.

Things done

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

[x] NixOS
[ ] 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 nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

drops a git helper git-remote-rad into the users home directory.

Can we get rid of this trough patching?

You mean patching radicle-upstream so it doesn't drop this binary in the home directory anymore?

* the git helper can't publish to the network without the UI running at the moment anyway,

Hej, to clarify: The local state radicle maintains has a certain layout and shape, so whenever you do any git operation on it, it needs some translation which git-remote-rad takes care of. This is independent of publishing to the network which is done by the long-running application process. So the app is disseminating data on the network, the remote helper allows git operations on custom rad remotes.
Let me know if there are other questions about its internals.

From a cursory look, it seems that other packages are building electron apps with something like this:
buildInputs = [ electron ];
postInstall = ''
  makeWrapper '${electron}/bin/electron' "$out/bin/application-name" \
    --add-flags "$out/share/path-to-application"
'';

Here's a full example:  element-desktop
Could you try building from source using a similar approach? Building from source would be beneficial because it would make this package available for platforms other than x86_64-linux.

I gave a stab at packaging Radicle from source but it's currently not possible because it uses unstable rust features. I have my branch here: https://github.com/adisbladis/nixpkgs/tree/radicle-src.
We should nudge upstream to stop using unstable features and make it possible to compile Radicle with a stable rust compiler.

We should nudge upstream to stop using unstable features and make it possible to compile Radicle with a stable rust compiler.

There's no way to use rust nightly for a package?

Hey sorry, I spaced out on this a little. I've been working on a from source package, I just pushed what I have so far.
There are two issues remaining:

as mentioned by @adisbladis, the usage of unstable features in the proxy. I was able to hack around this by using RUSTC_BOOTSTRAP, but I'm not sure if that's considered acceptable or not....
There are a few tests failing in the proxy package, I still wasn't able to figure out what's going on there

oh, and I also bumped the package to the just released v0.1.5

1. as mentioned by @adisbladis, the usage of unstable features in the proxy. I was able to hack around this by using `RUSTC_BOOTSTRAP`, but I'm not sure if that's considered acceptable or not....

The unstable features used are very unstable (as in may cause UB on some versions of the compiler), I would be wary of attempting to compile a package using anything other than the exact nightly compiler specified in the rust-toolchain.

2\. Some of the tests are failing in the proxy package, I still wasn't able to figure out what's going on there. If I skip the tests everything seems to work fine (I was even able to submit a contribution using the resulting binary...).

If you share the failing test cases with the exact output I can help shed some light on it.

@xla here
@midchildan @adisbladis it seems that an appimage build with patched binaries is the way forward here. If you agree I'll revert to that?

@xwvvvvwx

it seems that an appimage build with patched binaries is the way forward here. If you agree I'll revert to that?

It's ok with me. I appreciate your effort. Could you add also add a comment explaining why source builds are currently not possible with a link to this PR?

Also as a side note I don't understand the ofborg error here, the package builds fine for me locally. What am I missing?

Perhaps the test is attempting a network request?
@xla
Would it be possible to eventually remove unstable rust features? If so, I think it's best if we create a new issue upstream so that we could switch to doing source builds when it's ready.

it seems that an appimage build with patched binaries is the way forward here. If you agree I'll revert to that?

I absolutely agree, let's not let perfect be the enemy of good. We can always fix a source build at a later stage.

pushed a tweaked version of the patched appimage based package.
In this version of the package, I just drop the git-remote-rad helper directly in the users path, meaning they don't need to mess around with shell profiles. This is a nicer experience, but does mean that the promenant instructions in the app to do this are now wrong:

I could also patch the binary that gets dropped into the home dir, but decided not to since it would make the package a bit messy, happy to change this is people want.

I think having this preinstalled for now is great.
Definitely something that upstream (no pun intended) should expose to packagers to tweak to their liking I'd say. But in my opinion that can wait.

I too think that we should keep it as is. Binary patching should be avoided as much as possible because it would require quite a lot more work to upgrade packages on a regular basis.
This could solved more cleanly by submitting a PR upstream to suppress the message if git-remote-rad is found in PATH.

rebased on master and addressed review comments.


Add Extreme Learning Machine Support

https://en.wikipedia.org/wiki/Extreme_learning_machine
Add this feature in Shifu

"params" : {
  "Propagation" : "R",
  "LearningRate" : 0.1,
  "IsELM" : true,
  "NumHiddenLayers" : 1,
  "NumHiddenNodes" : [ 60 ],
  "ActivationFunc" : [ "tanh" ]
},

Set IsELM to true to enabled extreme machine learning, you can set any other params with only one limitation: 1 hidden layer


[Request]: sensors_plus stream for gravity acc request

Plugin
sensors_plus
Use case
I only need gravity acc values to know the phone's brief orientation. Right now, I need to get both acc and user acc values and  subtract user acc from acc values to get the gravity acc value.
Proposal
in the android and iOS documentation, I could see that they also provide gravity acc values too.
Can you make this gravity acc value accessible? like this plugin supports other acc or user acc values.

This is something that would be useful for my current project too. But also subracting works fine so not sure if it's worth implementing though. @miquelbeltran I'm not sure if this is something that is wanted for this plugin. If so I'd be happy to try and implement, although not sure when. Thoughts?
Android has dedicated TYPE_GRAVITY and for iOS the DeviceMotion data is retrieved for userAcceleration which already contains seperate gravity data points too which could be used.

Greetings @miquelbeltran , I'm currently working to solve this issue at least for Android. However the implementation requires changes from both  sensors_plus_platform_interface and sensors_plus packages should i do seperate PRs? or is it ok to include everything in one pr.


GCE: improvement list

Now that I'm testing changes to GCE and revisiting after some time, I'm noticing some pain points:

[ ] accessing server logs takes multiple, non-obvious steps. Ideally, it could be as easy as funnel server logs
[ ] It's a pain adding the -S http://<IP_ADDRESS> flag to every command. Ideally, it could be stored in a per-user config file and updated via a command like funnel config set server-address http://<IP_ADDRESS> or funnel connect http://<IP_ADDRESS> or something else
[ ] Failed tasks and workers are not obvious. The dashboard or something should clearly report the issue
[ ] Ideally, deploying Funnel to a Google Cloud project is as easy as funnel deploy google-cloud.

[ ] Currently, during deployment you're required to activate autoscaling by creating instance templates. This is too much. There should at least be a set of reasonable default templates built into Funnel, with options for adding custom templates and disabling default templates.
[ ] Possibly this could also run funnel config set server-address

[ ] Need to ensure that the minimal VM size is chosen from the templates.

[ ] It's not obvious how to change the docker image(s) being deployed. This is annoying during development, when you need to frequently update and redeploy the image.

You need to edit the deployments/gce-cos/cloud-init.yaml script, delete all existing instances and templates, and re-run the make-* scripts. Oh, and run make docker, docker tag, and docker push first, but don't accidentally push to docker.io/ohsucompbio/funnel:latest.
Similarly, if someone wanted to deploy additional services (metrics, logging, etc) to their instances, they'd need to figure out how to edit the (undocumented) cloud-init stuff.

[ ] the server is being deployed using the same cloud-init file as the worker, which means the server mounts the docker socket. App engine deployment of the server would be much better.

[] server or node deployment failure is not reported. Currently you would need to ssh into the machine and access the systemctl logs to see what went wrong.


HTML

HTML
User Story
As a boot camp student
I want a Prework Study Guide website
so that I can review all the information I learned throughout Prework
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I visit the website in my browser
THEN I see four boxes titled HTML, CSS, Git, and JavaScript with associated notes listed
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow
WHEN I open the console in my browser
THEN I can see the four topics I learned listed along with a suggestion on what I should study first
WHEN I visit the website using the URL
THEN I can access my website from any browser

done.


feat: Create an @excalidraw/plugins package.

#5429 is a rollup subset of #2993.  #2993 contributes three features: an initial @excalidraw/plugins package; custom ExcalidrawElement subtype extensions; and MathJax support as a plugin.  MathJax support is essentially stable.  Further commits to #2993 primarily refine the initial @excalidraw/plugins package and ExcalidrawElement subtypes system.
Overview of #5429
The package @excalidraw/plugins created by this PR is more-or-less a simplified fork of @excalidraw/excalidraw.  This PR provides minimal stubs for integration in @excalidraw/excalidraw and on https://excalidraw.com and ships with an empty example plugin.
The MathJax plugin and ExcalidrawElement subtype system from #2993 are omitted from #5429.  However, #5429 does include the deduping from #5449 (thereby making the yarn.lock files contribute most of the line changes here.)
Fixes #5424.

This is not the PR you are looking for; see #2993 instead.


[BUG] Stale Element on Login

Bug Report
Stale Element exception displayed during Login
EasyRepro Version

[ ] Microsoft Dynamics 365 Online Version 9.1 (9.1.x) (DB 9.1.x) online

UCI or Classic Web

[ ] UCI (XrmApp)

Online or On Premise

[ ] Online

Browser

[ ] Chrome

Describe the bug
stale element reference: element is not attached to the page document on Login.
Code to reproduce
XrmApp.OnlineLogin.Login(Url, user.UserName.ToSecureString(), user.UserPass.ToSecureString());

-->
Expected behavior
Login to CRM

@imartinflores Could you post a stack trace and a screenshot of the browser window?

Hi @Shakevg , I do not have a browser Window screenshot, since at that time the test itself is not being executed , the Login is executed before the scenario on the Hooks Steps. I will post the full stacktrace, but it is surely happening on the login as I could see before. I was having a look at the Login method to try identify what is the element causing the issue, but could not reproduce it locally.
Thanks!


Scene actions seem broken for relationships

I can't make work scene action on relationships. It appears as if the matching using $relationships variable is broken. Example:
MATCH p=(e1)-[r]->(e2)--()
WHERE id(r) in $relationships
return p
--> returns nothing for selected relationships
When I comment out the WHERE clause, the action takes a while but it does return all the relationships in the DB. Same issue with using WHERE elementId(r) in $relationships.
The relationship's target node does have outgoing & incoming relationships (I'm trying to configure the action for RELATED_TO edge):

Using Bloom 2.11 with Aura 5.18.0.

Hello @vlasta-kus !
Can I ask you to try with https://workspace-preview.neo4j.io/workspace/explore ?
Do you see the same issue?
If you select first the relationship, then you right click and select the Scene Action is that working?
I tried it locally with your Scene action and I don't see any issue

Thanks @GlacialBoy. Strange, though. I tried but no success. Is there any public auradb on which we both could try? Or any other idea?

Thanks for reporting this @vlasta-kus and apologies for the long delay in our reply. We've been investigating this further and there is indeed a bug that affects scene actions with relationships. We'll let you know here once a fix is deployed.


Cannot See Icon

Hello, I added the chrome extension but when adding a comment I cannot see the canned response icon in jira service desk cloud. Any thoughts?
Thank you.

I'm having the same issue. This is with Jira Service Management in the Cloud. Chrome version 89.0.4389.90
I'm guessing, since there hasn't been a reply to mjglide4's initial opening of this topic, that there will likely not be a response, but one would be greatly appreciated. Thank you!

Apologies I must have missed the first comment. Its been a while since I created this but I believe it looks at the url format and tries to match it to https://github.com/viren140290/jira-canned-responses/blob/master/src/contentScript.js#L10.


[BUG]: Push migration different from Generate migration

What version of drizzle-orm are you using?
0.29.5
What version of drizzle-kit are you using?
0.20.14
Describe the Bug

I created a schema with one (1) table.
I generated the migration (drizzle-kit generate:mysql), and the generated SQL will CREATE the table.
I pushed the changes to my database: drizzle-kit push:mysql
I added a column to my schema.
I generated the migration (drizzle-kit generate:mysql), and the SQL generated will ALTER the table.
I pushed the changes to my database: drizzle-kit push:mysql and received an error.

Error: Table 'sda_zpl_printer' already exists
    at PromiseConnection.query (/app/node_modules/drizzle-kit/bin.cjs:44185:26)
    at Command.<anonymous> (/app/node_modules/drizzle-kit/bin.cjs:63147:33)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  code: 'ER_TABLE_EXISTS_ERROR',
  errno: 1050,
  sql: 'CREATE TABLE `sda_zpl_printer` (\n' +
    '\t`id` int unsigned AUTO_INCREMENT NOT NULL,\n' +
    '\t`ip_address` varchar(15) NOT NULL,\n' +
    '\t`port` int unsigned NOT NULL,\n' +
    '\t`model` text NOT NULL,\n' +
    '\t`location` text NOT NULL,\n' +
    '\t`new_field` text NOT NULL,\n' +
    '\t`created_at` timestamp NOT NULL DEFAULT (now()),\n' +
    '\t`updated_at` timestamp NOT NULL DEFAULT (now()),\n' +
    '\tCONSTRAINT `sda_zpl_printer_id` PRIMARY KEY(`id`)\n' +
    ');\n',
  sqlState: '42S01',
  sqlMessage: "Table 'sda_zpl_printer' already exists"
}

Expected behavior
I expected drizzle-kit push:mysql to ALTER the table rather than try to CREATE the table again.
Environment & setup
I'm running in a VSCode dev container based upon node:20.11.1-bookworm .
drizzle.config.ts
import type { Config } from 'drizzle-kit'
import { tableNamePrefix } from './db/schema'

export default {
  schema: './db/schema.ts',
  out: './db/migrations',
  driver: 'mysql2',
  dbCredentials: {
    host: process.env.DBMS_HOST || '',
    port: Number(process.env.DBMS_PORT),
    database: process.env.DB_NAME || '',
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD
  },
  tablesFilter: [tableNamePrefix],
  introspect: {
    casing: 'camel'
  }
} satisfies Config

schema.ts
import type { InferInsertModel, InferSelectModel } from 'drizzle-orm'
import { mysqlTableCreator, timestamp, int, varchar, text } from 'drizzle-orm/mysql-core'

/**
 * The prefix to apply to each table name for this project's schema.
 */
export const tableNamePrefix = `sda_`

/**
 * Create table names with a predefined prefix.
 *
 * This schema shall be applied to a single database that contains schemas for other projects. This
 * will ensure that each table has the same prefix applied to each table name.
 */
const mysqlTable = mysqlTableCreator((name) => `${tableNamePrefix}${name}`)

export const zplPrinter = mysqlTable('zpl_printer', {
  /**
   * Unique ID for the record. It is the primary key.
   */
  id: int('id', { unsigned: true }).autoincrement().primaryKey(),
  /**
   * IP address or hostname of the printer.
   */
  ipAddress: varchar('ip_address', { length: 15 }).notNull(),
  /**
   * The port number of the printer.
   */
  port: int('port', { unsigned: true }).notNull(),
  /**
   * The model name of the printer.
   */
  model: text('model').notNull(),
  /**
   * The physical location where the printer resides.
   */
  location: text('location').notNull(),
  newField: text('new_field').notNull(),
  // newField2: text('new_field2').notNull(),
  createdAt: timestamp('created_at').notNull().defaultNow(),
  updatedAt: timestamp('updated_at').notNull().defaultNow()
})

export type SelectPrinter = InferSelectModel<typeof zplPrinter>
export type InsertPrinter = InferInsertModel<typeof zplPrinter>

Hello, @smfelsher!
drizzle-kit generate and drizzle-kit push are different approaches for migration process. drizzle-kit generate generates migrations (sql files) and use them to track history of changes, then you should use migrate() function (available for each driver) to run migrations. drizzle-kit push  applies changes directly to the database without generating any files. It introspects schema in database and compare it with your actual schema in application.
So,  drizzle-kit push is designed for rapid prototyping and experimentation. It is good for situations where you need to quickly test new schema designs or changes in a local development environment, allowing for fast iterations without the overhead of managing migration files. drizzle-kit generate is designed for managing schema changes in your project. It is good for situations where you need to manage schema changes in your project and apply them to other environments like production

Thanks, @realmikesolo. Based on my initial post, am I using the tools incorrectly, which is causing the error?

@smfelsher yes, this is because you use these tools together. drizzle-kit push is good for situations where you need to quickly test new schema designs or changes in a local development environment, allowing for fast iterations without the overhead of managing migration files.
drizzle-kit generate is good for situations where you need to manage schema changes in your project and apply them to other environments. With this approach you have your changes history.
But in your case I can't reproduce this issue according to these steps. Did you use the migrate() function to run migrations? This error often occurs when you generate and push migrations consistently, then attempt to apply all migrations with the migrate() function. This leads to errors because those changes were already applied through the push command.

No, I did not use the migration() function at all. Let me simplify it for you.

I created a schema with one (1) table.
I pushed the changes to my database: drizzle-kit push:mysql
I added a column to my schema.
I pushed the changes to my database: drizzle-kit push:mysql and received an error.

Got it, the problem is with tablesFilter: [tableNamePrefix] in config. Honestly, I am not very familiar with multi-project tables, so I will also investigate the issue tomorrow, but according to the documentation you should update you prefix with *.
In your case:
import type { Config } from 'drizzle-kit'
import { tableNamePrefix } from './db/schema' // your prefix which is just "sda_"

export default {
  schema: './db/schema.ts',
  out: './db/migrations',
  driver: 'mysql2',
  dbCredentials: {
    host: process.env.DBMS_HOST || '',
    port: Number(process.env.DBMS_PORT),
    database: process.env.DB_NAME || '',
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD
  },
  tablesFilter: [`${tableNamePrefix}*`], // update with *, so will be "sda_*"
  introspect: {
    casing: 'camel'
  }
} satisfies Config

Sorry, I may have overlooked the * in the documentation.
Yes, adding the * to the pattern fixes my issue.
Unless you think some change needs to be made to this issue, I would be comfortable with it being closed.
Thank you very much for your time!

Great, I'm glad I could assist! I'll reach out to the core team regarding the error message; it should probably be more specific. Once I have more information, I'll close the issue.


Add Kuzuha to list in README.md

This vampire is very attractive.

Niceee!! I didn't know about her!


clipboard module, any interest?

I have some code in my personal zsh setup that implements simple clipboard functionality; that is it links zsh's clipboard to the system clipboard. This makes pasting and especially copying much more painless. The code I use is along these lines: http://unix.stackexchange.com/questions/51933/zsh-copy-and-paste-like-emacs. It uses xclip. For a while I just had it in a pile in my preztorc, but eventually I moved it into its own simple module. Would there be interest in this? Would it be necessary to support other command line copy/paste tools other than xclip to get this in, or perhaps start with xclip and add others?

It may make more sense to be an enhancement to the existing editor module.
Submit a pull request, and we'll look at it.
Add pbcopy and pbpaste for Mac OS X.


macwire fails to find lazy vals for injection if there is a block comment above them in the publish phase

This is using macwire 0.7.1 and scala 2.11.2.
When we have a code block like this:
/**
  * some comment what this service does.
  */
  lazy val service: Service = MyService

as part of the dependencies, then

compiling normally works as expected
the publish command, which re-compiles everything, fails to find service in the compilation phase.

The reason is the block comment which seems to interfere with the macros somehow. When the block comment is deleted everything works as expected. Still, this bug is rather annoying when wanting to publish a well-commented library....
publish
[info] Packaging /Users/joe/Documents/git/brokenMacwireParsing/target/scala-2.11/brokenmacwireparsing_2.11-1.0-sources.jar ...
[info] Done packaging.
[info] Packaging /Users/joe/Documents/git/brokenMacwireParsing/target/scala-2.11/brokenmacwireparsing_2.11-1.0.jar ...
[info] Main Scala API documentation to /Users/joe/Documents/git/brokenMacwireParsing/target/scala-2.11/api...
[info] Wrote /Users/joe/Documents/git/brokenMacwireParsing/target/scala-2.11/brokenmacwireparsing_2.11-1.0.pom
[info] Done packaging.
[info] :: delivering :: brokenmacwireparsing#brokenmacwireparsing_2.11;1.0 :: 1.0 :: release :: Fri Oct 10 17:04:11 CEST 2014
[info]  delivering ivy file to /Users/joe/Documents/git/brokenMacwireParsing/target/scala-2.11/ivy-1.0.xml
[debug] Trying to find parameters to create new instance of: [com.example.Hello]
   [debug] Trying to find value [service] of type: [com.example.Service]
      [debug] Looking in the enclosing method
      [debug] Looking in the enclosing class/trait
      [debug] Checking def: [$init$]
      [debug] Checking val: [hello]
      [debug] Looking in parents
      [debug] Checking parent: [AnyRef]
[error] /Users/joe/Documents/git/brokenMacwireParsing/src/main/scala/com/example/Hello.scala:18: Cannot find a value of type: [com.example.Service]
[error]   lazy val hello: Hello = wire[Hello]
[error]

See the specially created repo reproducing this bug here, including macwire debug output:
https://github.com/jschaul/macwire-bug-demonstration

-Ymacro-expand:none worked for me also.

When using gradle, you can apply the scalac parameters thusly:
scaladoc {
  scalaDocOptions.additionalParameters = ["-Ymacro-expand:none"]
}

I realize this thread is an ancient artifact, but it remains at the top of the search history when going down this rabbit hole.
Leaving this here for the fellow scala-gradle folks who are affected.


Support Kubernetes 1.12

Kubernetes v1.12 has been released (see release notes).
We should take a look into what has changed and implement support for 1.12 in Gardener.
TODOs:

[x] Update Go libraries to kubernetes-1.12.0

[x] Added --authorization-always-allow-paths to components doing delegated authorization to exclude certain HTTP paths like /healthz from authorization. -> Do we need it?

[x] Update https://github.com/gardener/gardener/blob/master/docs/usage/supported_k8s_versions.md
[x] Update CloudProfile and Shoot example manifests
[x] Server certificates

[x] Use ca secret to generate another server certificate for the kube-controller-manager (maybe also for K8s versions < 1.12?) and configure it --tls-cert-file or --tls-private-key-file -> Do the other components also need a server certificate?
[x] Secure serving on port 10258 to cloud-controller-manager (configurable via --secure-port) is now enabled. Delegated authentication and authorization are to be configured using the same flags as for aggregated API servers. Without configuration, the secure port will only allow access to /healthz

:x: ~When using --enable-admission-plugins the Priority admission plugin is now enabled by default (matching changes in 1.11.1+). If using --admission-control to fully specify the set of admission plugins, it is now necessary to add the Priority admission plugin for the PodPriority feature to work properly. -> Remove the Priority admission plugin for Kubernetes 1.12.~

Won't do due to unneeded complexity in the code. We specify other default-enabled admission plugins anyways.

[x] 'KubeSchedulerConfiguration' which used to be under GroupVersion 'componentconfig/v1alpha1', is now under 'kubescheduler.config.k8s.io/v1alpha1'.
[x] The Azure load balancer idle connection timeout for services is now configurable. -> We configure the idle timeout for AWS already, should we also configure it for Azure?
[ ] 🔧  [@zanetworker] The audit.k8s.io api group has been upgraded from v1beta1 to v1.
[ ] 🔧  [@zanetworker] Adapt HPA configuration options for 1.12 (see #399):

[ ] --horizontal-pod-autoscaler-downscale-delay does not exist any longer in 1.12, hence, we should validate that it can only be used with versions <1.12
[ ] --horizontal-pod-autoscaler-downscale-stabilization new flag in 1.12, defaults to 5m0s: The period for which autoscaler will look backwards and not scale down below any recommendation it made during that period. -> we should validate that it can only be used with versions >=1.12
[ ] --horizontal-pod-autoscaler-upscale-delay does not exist any longer in 1.12, hence, we should validate that it can only be used with versions <1.12
[ ] --horizontal-pod-autoscaler-initial-readiness-delay  new flag in 1.12, defaults to 30s:  The period after pod start during which readiness changes will be treated as initial readiness. -> we should validate that it can only be used with versions >=1.12
[ ] --horizontal-pod-autoscaler-cpu-initialization-period, new flag in 1.12, defaults to 5m0s: The period after pod start when CPU samples might be skipped. -> we should validate that it can only be used with versions >=1.12

FYI: I created the feature/kubernetes-1.12 branch to which we can push our implementations.

@zanetworker the HPA PR (#399) is merged.
I have rebased the feature/kubernetes-1.12 branch on the latest master.
Please start working on the two items assigned to you (see above).


Plugin recursive download errors returned properly

There was a bug with the plugin when doing recursive downloads. If some error happened such as a 404 on the directory we are requesting or a 500 which is doing the ?recursive query on a file instead of a directory, PROPFIND would fail and the error was not making it back to the plugin. Now, when we discover this error (eventually makes its way to RunMux() in client/handle_http.go) we populate the results channel with the failed result before closing it. This way, the plugin can see the results and record the failure.
In addition, I added some unit tests toward these failures as well as for recusive downloads for plugin in general.
To test: run stash_plugin pelican://path/to/some/file?recursive=true . and see that we get classads returned that record a TranferError as well as other classads. Feel free to run the unit tests as well as any other hand tests that you feel might break this.

Merging, as it looks like the requested changes have all been made.


[tests/repo/results/encoding-sb-dec]  BRIEF_TITLE_GOES_HERE

[Enter feedback here]

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

ID: 45e60cc3-b429-c8f9-2c91-d1de47f9a3cb
Version Independent ID: 21ecb09d-49ce-36f9-1332-318e96a99b82
Content: Meeting exclusion rules in Workplace Analytics - Workplace Analytics Office 365
Content Source: WorkplaceAnalytics/Tutorials/meeting-exclusions-intro.md
Product: wpa
GitHub Login: @paul9955
Microsoft Alias: v-pascha

Hello shadulsikder90, Your comment didn't come through. I'll close this issue for now. Feel free, of course, to re-open it with a comment. Thank you


Reduce size of docker image

Current coverage is 66.66% (diff: 0.00%)

Merging #5 into master will decrease coverage by 0.43%

@@             master         #5   diff @@
==========================================
  Files             2          2
  Lines           152        153     +1
  Methods           0          0
  Messages          0          0
  Branches         23         23
==========================================
  Hits            102        102
- Misses           44         45     +1
  Partials          6          6

Powered by Codecov. Last update fff7712...c1455b2


YouTube Music Check force block

System OS
Linux
Python Version
3.11 (CPython)
Install Source
Arch User Repository (Unofficial)
Install version / commit hash
4.2.4
Expected Behavior vs Actual Behavior
Expected Behavior : Download song normally
Actual Behavior : Blocked by YouTube Music Check, even though in my country (Thailand), YouTube Music is available.
Steps to reproduce - Ensure to include actual links!
spotdl "https://open.spotify.com/track/3jHdKaLCkuNEkWcLVmQPCX?si=ba51bcc2b5a14d95"
Traceback
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /usr/bin/spotdl:8 in <module>                                                                    │
│                                                                                │
│   7 │   sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0])                         │
│ ❱ 8 │   sys.exit(console_entry_point())                                                          │
│   9                                                                                │
│                                                                                │
│ /usr/lib/python3.11/site-packages/spotdl/console/entry_point.py:83 in console_entry_point        │
│                                                                                │
│    82 │   │   if not check_ytmusic_connection():                                                 │
│ ❱  83 │   │   │   raise DownloaderError(                                                         │
│    84 │   │   │   │   "You are blocked by YouTube Music. "                                       │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
DownloaderError: You are blocked by YouTube Music. Please use a VPN, change youtube-music to piped, or use other audio providers

Other details
In spotdl/utils/downloader.py
line 21 :     test_results = ytm.get_results("a")
I have change "a" to artist name and spotdl can download normally.

I can't reproduce the error. Can you try to change ytm.get_results("a") to ytm.get_results("your local Thai artist") and see if you get the same error.
Also can you try to search 'a' in youtube music and share the screenshot? I could try with VPN but I am not sure I will be able to reproduce

It seems to be my internet provider problem, because after that day I revert ytm.get_results("a") back to normal and can download normally.


Cow tools

Swapping &[u8] in from_ord_bytes for Cow<'_, [u8]> leads to some unfortunate performance issues when there's escaping done early. Each nested call needs to allocate to propagate the Owned case.
I have an idea of a way to avoid this overhead, but I need to test some things first
fixes: https://github.com/khonsulabs/bonsaidb/issues/254

How would you feel about a TriCow: https://git.asonix.dog/asonix/cow-tools/src/branch/main/src/lib.rs

I'm not opposed to using a different type than Cow, but I'm not sure how it will help much with recursive from_ord_bytes implementations.

The idea with TriCow is it includes a third borrowed variant TriCow::Ephemeral(&'b T), which is not bound by lifetime 'a like Borrowed(&'a T). This allows forwarding borrows that don't originate from outside the call stack to nested invocations. It still must be turned into an Owned value at the deepest level in order to return it back out, however, it means that each level that does a split or other manipulation on the data no longer needs to re-allocate to forward those slices deeper
Down in the mod tests I have an example similar to Key<'a> called WithCow<'a> that demonstrates how Ephemeral might be used to reduce allocations

I think you're onto something, but one issue is that currently, decoding an &str always works, but with the change to accept a Cow, if the caller provides an owned value, it can't be decoded. This is further complicated by the BonsaiDb only being able to sometimes provide an owned value and sometimes it needing to provide a borrowed version. I'm not necessarily opposed to forcing borrowing implementations to use a Cow-like type to decode so that they can accept ownership -- I just need to think this is a net effect that's worth the change in what's supported.
I think I'll want something a bit more specialized though -- a type that specifically is for Vec. The reasoning being that I would like for T and (T,) and Option<T> and Result<T> to all be able to use owned paths, but it'll require supporting modifying the owned Vec before extracting it. I'll reopen the other issue and look at it again soon.

I apparently don't know how to push changes on top of your PR, but here's the net changes I've made so far. I'm still not quite sure this complexity is actually worth it, but I think this is close to being complete. The reason I question whether it's worth it is that bonsaidb-local doesn't always call the decode functions with owned values, nor does it always call with borrowed values. The total reduction in allocations doesn't seem that high, and the added complexity is quite significant.

I'm not particularly tied to this specific implementation. If you think it's more complicated than it's worth then we should consider other options. You're right that this approach doesn't eliminate many allocations, and it is mostly helpful for deeply-nested Key types which are unlikely to be common.

Thank you again for your help on this. I've merged the changes in today.
In the end, I decided that most users will not implement Key, and will usually just derive it or use a type that already implements it. As such, the complexity is hidden away from 99.9% of who I expect users to be. So, even if it is more complex, this does make things more efficient, and that makes it worth doing.


explicit copy dataframe in pandas_pdb.py to avoid warnings

Code of Conduct

Description
Very small modification, only useful to avoid some pandas warnings.

Related issues or pull requests

Pull Request Checklist

[ ] Added a note about the modification or contribution to the ./docs/sources/CHANGELOG.md file (if applicable)
[ ] Added appropriate unit test functions in the ./biopandas/*/tests directories (if applicable)
[ ] Modify documentation in the corresponding Jupyter Notebook under biopandas/docs/sources/ (if applicable)
[ ] Ran PYTHONPATH='.' pytest ./biopandas -sv and make sure that all unit tests pass (for small modifications, it might be sufficient to only run the specific test file, e.g., PYTHONPATH='.' pytest ./biopandas/classifier/tests/test_stacking_cv_classifier.py -sv)
[ ] Checked for style issues by running flake8 ./biopandas

LGTM! Thanks Giacomo!


Match multiple snippets

I am trying to convert all UltiSnips snippets to luasnip with exact same behavior (including duplicate triggers, embedded scripts ...).
To reproduce snippet menu (displayed with multiple matches) i need find all matching snippets, but there is only M.match_snippet exposed. I can't use choice node, because match function can be different for each snippet.
It would be nice to have function, which matches all snippets, or at least prio_iter function to implement my own.

Oh, we don't have that built-in, I think the most common solution for this is cmp_luasnip

This is just autocompletion, right? I want execute trigger and show all matched snippets. For example in actionscript (i don't write actionscript, it's juset first language in alphabetic order) for has 3 different snippets. UltiSnips in this case shows menu with choices. Theoretically i can replicate this behavior with choice node, but it will not work for snippets triggered using different match expression.

Ahh okay I understand
We don't have something like this yet, but it seems like a cool addition.
We could just extend the api for match_snippet to optionally return all matches (want to have the option to still abort on first match), and just pass all of them through vim.ui.select().


feat: MathML support

Implements support for MathML elements in Vue.

Mathematical Markup Language (MathML) is an XML-based language for describing mathematical notation.

Similar to SVG, MathML requires a different namespace when creating elements in the browser. My changes update the widely used isSVG bool into an enum, supporting SVG, MathML and of course HTML. I mostly copied the SVG related code and adapted it for MathML.
This is the first time I'm contributing to a larger project. I'd be very happy about any feedback and suggestions!
Related Issue: https://github.com/vuejs/core/issues/7820

It's a breaking change to Vue, right? Can we avoid it?
Maybe we can change API isSVG?: boolean to namespace?: boolean | 'svg' | 'mathml'. If namespace is true then fallback to svg.

I don't think so, since this is only internal code. As far as I can tell, no public APIs have changed. Please correct me if I'm wrong.

/ecosystem-ci run

I don't think so, since this is only internal code. As far as I can tell, no public APIs have changed. Please correct me if I'm wrong.

It's a public API definitely.

I don't think so, since this is only internal code. As far as I can tell, no public APIs have changed. Please correct me if I'm wrong.

It's a public API definitely.

I just saw that, too! Thanks for checking. Will change it to boolean | 'svg' | 'mathml' | undefined.

Not sure why ci / unit-test fails. It works fine for me locally and the tests pass.

I pushed a commit to fix unit tests. Please don't forget to pull before committing

@sxzz I implemented the backwards compat and reused the type everywhere. Added a comment too that will show up in Intellisense if one wonders why that union type is a bit weird 😄.

I checked why the ecosystem-ci fails for a lot of suits and it's the same reason a lot of core tests failed here first.

Warning
MathMLElement is not defined

It looks like JSDOM doesn't provide MathMLElement as global. I worked around it by stubbing it with Vitest. Is there anything I can do about this?

MathMLElement API is introduced in Chrome > 109, so we should do some checks to ensure it's compatible with all ES6 browsers. typeof MathMLElement === 'function' && el instanceof MathMLElement

@sxzz I added the guard for missing MathMLElements and normalized the type in app.mount. I didn't find other public APIs, do you know of any? After checking the Vue docs, the 2nd and 3rd argument to app.mount aren't even documented (which is fine in my opinion).

Seems like Nuxt doesn't like the bundle size increase and naive-ui seems unrelated(?)

@sxzz @sodatea is there a chance that this change might land in Vue 3.3?

@sto3psl Yes I think so!

Since 3.3 is in beta now it would be amazing if this feature could land as well! What do you think @yyx990803?

Hey! Is there anything I can do to  get this merged?
It would be so nice to have proper MathML support in a future Vue version.

Any updates on this PR? Math support is really needed.

Any updates on this PR? Math support is really needed.

My hope is that it lands whenever Vue 3.4 is released. No idea when that's planned but there is an open PR which is referenced above.

See https://github.com/vuejs/core/pull/9249#issuecomment-1772442069
I think we should also treat MathML tags as "late added tags"

@sxzz sure I can do that once the mentioned PR has landed.
Is there any plan to reset the new tag list with am major update in the future?
I assume that these won't stay new forever.
Do people that have vue components with reserved names get a runtime warning?


[Geos] Remove empty */bin directories when statically linking

It looks like your mpfr changes are also in this PR :)  I guess that will be okay as long as the mpfr changes get committed first.

Yes, I'm trying to compile a series of packages but found different issues... so I was trying to push all the changes as different PR because they are independent, but of course it didn't work.
I need to find a better way to do that. sorry for the mess.


NextJS Bugsnag example is outdated

The NextJS + Bugsnag integration in the docs links to an example that is built on NextJS 7 (+ React 16.5) and has not been updated in over 2 years now (https://github.com/bugsnag/bugsnag-js/tree/next/examples/js/nextjs). NextJS is currently on version 12, React is on 17.0 (with support for hooks introduced in 16.8), and a lot more developers are also now using Typescript.
Can you please update the example to properly integrate with NextJS 12 (and preferably also with Typescript)?
A non-exhaustive list of things that should be updated:

If I follow the setup in the example, I get [bugsnag] Bugsnag.start() was called more than once. Ignoring. errors in the console. In order to fix it I needed to wrap the Bugsnag.start() method in an if (!(Bugsnag as any)._client) { block. (see: https://github.com/bugsnag/bugsnag-js/issues/811#issuecomment-703853628)
If I follow the example, NextJS warns me of warn  - You have added a custom /_error page without a custom /404 page. This prevents the 404 page from being auto statically optimized.. Probably worth adding a simple 404 page example (and even showcasing how Bugsnag can capture 404 errors)
The typing for the custom _error class is at best ambiguous, but quite likely wrong (what is in ctx? The TS definition requires the ErrorBoundary FallbackComponent to have these props: { error: Error, info: React.ErrorInfo, clearError: () => void } yet the example checks for err - where is err coming from? Is it even still correct?)
APIs have been added since NextJS 7. Add example to show handling of api server-side errors

You are likely losing customers during the trial period, and possibly even more pre-trial period by making it hard to integrate with NextJS.

Hi @LucasLemanowicz - thanks for the details, we've noted this to take into account when we update the Next.JS example as priorities allow. I don't currently have a timeframe that I can share for this as Vercel/Next.JS aren't currently officially supported by Bugsnag.
In the meantime I'm going to close this issue out - in future this can be tracked over at #811.


If the page is not found, a link to the GitHub new issue should be provided

Description of the bug:
If the page is not found, the link should direct to a new GitHub issue.
To Reproduce:

Open colib.net
Go to Test Cases
Select Converter driven stability
Select Four VSC benchmark system
Go to section 4 (Dynamic models)
Click on the link shared HVDC VSC lines
The link is pointing to "/models/HVDC/VSC/HVDCVSCPhasor" that does not exist.

Expected Behavior:
If the page is not found, report the issue using GitHub issue. The link should direct to a new GitHub issue.
Screenshot1:

Issue got resolved


Consider renaming "model_type" discriminator

/home/rguedes/.virtualenvs/xbeach/lib/python3.10/site-packages/pydantic/_internal/fields.py:132: UserWarning: Field "model_type" in BaseInterpolator has conflict with protected namespace "model".

This is linked to https://github.com/pydantic/pydantic/discussions/7121. We are actually already setting the protected_namespaces parameter in RompyBaseModel, this particular warning was just because I didn't inherit BaseInterpolator from RompyBaseClass.
We may still want to consider renaming model_type though, up for discussion.

Still on this topic of confusing / conflicting namespaces, we use in rompy "model" and "config" broadly which have specific meaning in pydantic itself. Should we consider changing these to something a bit more distinguishable? For example, config in rompy could be renamed into setup. Thoughts @tomdurrant @benjaminleighton ?


Allow ssh auth for RHV

Previously, RHV conversion hosts only supported userid/password authentication. With the conversion host management UI, we're now using SSH private key. This PR updates the method that build the MiqSshUtil args to not look at the provider type, but the authentication type.
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1712135

@miq-bot add-label transformation, bug, hammer/yes
@miq-bot add-reviewer @djberg96
@miq-bot add-reviewer @agrare

@fdupont-redhat big :+1: from me on removing those provider specific methods

Hammer backport details:
$ git log -1
commit 6fc2829f2a8bcb051480c4caf221a0a8205b69ab
Author: Adam Grare<EMAIL_ADDRESS>Date:   Thu May 23 15:36:30 2019 -0400

    Merge pull request #18805 from fdupont-redhat/v2v_fix_rhv_conversion_host_auth

    Allow ssh auth for RHV

    (cherry picked from commit 6cb8d78bb4b50974ccfa7058cb1be3677c007e29)

    https://bugzilla.redhat.com/show_bug.cgi?id=1712135


[coll] Implement a new tracker and a communicator.

The new tracker and communicators communicates through the use of JSON documents. Along with which, communicators are aware of each others.

cc @rongou

Wouldn't JSON be pretty slow, especially for large amount of data? Have you done any early benchmarking to compare it to the existing implementation?

cc @rongou the JSON is only used for communication between worker and the tracker, not used for actual data


batchSize(100) but only getting from 1 to 3 messages at a time in my callback method

Is there some additional setting needed in order to get the requested batch size (100) ? My topic has some 10k messages and yet I can never seem to get a batch larger than size 3.
KafkaConsumer setup:
 Properties props = new Properties();
        props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "dev-hop-kafka1:9092");
        props.put(ConsumerConfig.GROUP_ID_CONFIG, UUID.randomUUID().toString());
        props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
        props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
        KafkaAvroDeserializer.class.getName());
        props.put(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, "true");
        props.put(KafkaAvroDeserializerConfig.SCHEMA_REGISTRY_URL_CONFIG, "http://dev-hop-kafka1:8081");
        props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
        props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false); //Must be false when using Confluent's parallel consumer.
        this.consumer = new KafkaConsumer(props);

ParallelConsumer setup:
  var options = ParallelConsumerOptions.<String, String>builder()
        .ordering(KEY)
        .maxConcurrency(5)
        .batchSize(100)
        .consumer(consumer)
        .build();
        ParallelStreamProcessor<String, SpecificRecordBase> streamProcessor = ParallelStreamProcessor.createEosStreamProcessor(options);
        streamProcessor.subscribe(new ArrayList<>(List.of(topic)));

        streamProcessor.poll(context -> {

            Stream<RecordContext<String, SpecificRecordBase>> records = context.stream();

            out.println("received batch of size: " + records.collect(Collectors.toList()).size());

Output:
received batch of size: 1
received batch of size: 1
received batch of size: 1
received batch of size: 1
...
received batch of size: 2
received batch of size: 2
received batch of size: 2
---
received batch of size: 3
received batch of size: 3
received batch of size: 3
...

It appears to grab the correct batch size only when  .ordering(UNORDERED)  is used.
Can you please confirm if this is the case?

Yes, that's right - using KEY ordering it will only ever take one record for a given key, in an attempt to preserve KEY ordering even when using batches, so you would need a bigger key set.
What sort of behaviour are you looking for? I think we have a tracking issue to allow batches to have multiple records with the same key. Would you want /only/ records of the same key? or a mix when possible?

using KEY ordering it will only ever take one record for a given key, in an attempt to preserve KEY ordering even when using batches, so you would need a bigger key set.

I think this behavior should be documented, especially since KEY is the default ordering.
We have several use cases,

"Give me a batch of messages and we don't care about the order" --> Batching + ordering==UNORDERED works fine for this case.

"Give me a batch of messages and maintain PARTITION ordering". Don't mind if there are different keys included, but very much need large batches for effficient indexing (to elastic search). Must maintain ordering as they appeared in the partition. This does not currently work.

Hi,
we have the second use case as well: we want to process batches per partition but the current implementation just returns 1 message per partition. We process the batches with batch database statements and one-by-one processing is multitudes slower.
Any progress on this topic so far? I see other tickets are referring to this as well.
Thanks


Bug/regression | Flutter SDK can't be found in Flutter 3.22

Describe the bug
The Flutter SDK cannot be found by build_runner and potentially other tools in the latest flutter version in nixpkgs (currently 3.22.0).
In the previous nixpkgs Flutter version, which can now be found under flutter319, this worked correctly.
Steps To Reproduce
Steps to reproduce the behavior:

Create a Flutter project and add a library that utilizes code-generation with build_runner, such as Riverpod
Run the command dart run build_runner doctor -v (or any other command of build_runner, such as watch or build).
Observe the failure with the following output:

Resolving dependencies in `/home/andreas/Downloads/nixpkgs_flutter_repro/failing/test`...
Because test depends on flutter_test from sdk which doesn't exist (the Flutter SDK is not
available), version solving failed.

I have also created a reproduction repository at https://github.com/Andreas02-dev/nixpkgs_flutter322_regression which also contains the reproduction steps for a working and failing example, where the only difference is using Flutter 3.19 (working) or Flutter 3.22 (failing).
Expected behavior
build_runner does not fail:
┌─ nixpkgs_flutter_repro/working/test is  v1.0.0+1 via  v3.3.2 via  impure (nix-shell-env)
└─> dart run build_runner doctor -v
Building package executable... (4.1s)
Built build_runner:build_runner.
[INFO] Entrypoint:Generating build script...
[INFO] Entrypoint:Generating build script completed, took 192ms

[INFO] Bootstrap:Precompiling build script......
[INFO] Bootstrap:Precompiling build script... completed, took 2.7s

[FINE] Bootstrap:Core package locations file does not exist
[INFO] doctor:No problems found!

…nixpkgs_flutter_repro/working/test is  v1.0.0+1 via  v3.3.2 via  impure (nix-shell-env) took 7s
└─> flutter --version
Flutter 3.19.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision nixpkgs000 () • 1970-01-01 00:00:00
Engine • revision a5c24f538d
Tools • Dart 3.3.2 • DevTools 2.31.1

Actual behavior
build_runner fails with the following output:
┌─ nixpkgs_flutter_repro/failing/test is  v1.0.0+1 via  v3.4.0 via  impure (nix-shell-env)
└─> dart run build_runner doctor -v
Resolving dependencies in `/home/andreas/Downloads/nixpkgs_flutter_repro/failing/test`...
Because test depends on flutter_test from sdk which doesn't exist (the Flutter SDK is not
  available), version solving failed.

Flutter users should use `flutter pub` instead of `dart pub`.

┌─ nixpkgs_flutter_repro/failing/test is  v1.0.0+1 via  v3.4.0 via  impure (nix-shell-env)
└─> flutter --version
Flutter 3.22.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision nixpkgs000 () • 1970-01-01 00:00:00
Engine • revision f6344b75dc
Tools • Dart 3.4.0 • DevTools 2.34.3

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Notify maintainers

@babariviere
@ericdallo
@mkg20001
@RossComputerGuy
@FlafyDev
@hacker1024
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.34, NixOS, 24.05 (Uakari), 24.05.20240619.dd457de`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - channels(root): `""`
 - nixpkgs: `/etc/nixPath`

Add a :+1: reaction to issues you find important.

I believe I have found the issue. As @maximoffua pointed out in https://github.com/maximoffua/flutter.nix/issues/19#issuecomment-2194391641, flutter pub run ... did work.
This lead me to look further into the Flutter source code, where we see that flutter pub run uses PackagesForwardCommand under the hood https://github.com/flutter/flutter/blob/ef34436402beaab4822a7306d9ffca17ebbdd2e3/packages/flutter_tools/lib/src/commands/packages.dart#L40C19-L40C41, with the description of running the pub tool in a Flutter context (https://github.com/flutter/flutter/blob/ef34436402beaab4822a7306d9ffca17ebbdd2e3/packages/flutter_tools/lib/src/commands/packages.dart#L124). Drilling deeper down, we see that the runCommand method calls pub.interactively. Looking at the default implementation reveals that it utilizes _computePubCommand which uses Cache.flutterRoot (https://github.com/flutter/flutter/blob/ef34436402beaab4822a7306d9ffca17ebbdd2e3/packages/flutter_tools/lib/src/dart/pub.dart#L548).
Putting 2 and 2 together, we find a patch in @maximoffua 's repository (https://github.com/maximoffua/flutter.nix/blob/main/pkgs/flutter/patches/flutter-pub-dart-override.patch) that modifies this part of Flutter in order for the flutter pub command to get the correct (containing the Flutter SDK) Dart SDK without using FlutterRoot.
Now that we know what makes dart run or dart pub run different from flutter pub run, it's trivial to find a solution.
For this, we look at https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/cache.dart, which shows us we can allow Cache.flutterRoot to find the correct Flutter root path by setting the appropriately named environment variable FLUTTER_ROOT to point to "${pkgs.flutter}".
After setting this (https://github.com/Andreas02-dev/nixpkgs_flutter322_regression/blob/807dc5919b897e2f060726ae03ce05a8e64bee4a/fix/flake.nix#L24), we can now use dart run build_runner doctor -v in Flutter 3.22.
Now that we know what's happening and how we could solve it, we should figure out the best way to solve this: do we document that setting FLUTTER_ROOT is required for the dart run command to work with packages requiring the Flutter SDK, or do we try to patch this in somehow? I'm curious on what @maximoffua and the nixpkgs maintainers @babariviere @ericdallo @mkg20001 @RossComputerGuy @FlafyDev @hacker1024 think.
We can discuss this here, or create a thread. If we create a thread, I would appreciate it if I could be kept in the loop.
Looking forward to hearing from you,
Andreas

I think, it is sane to add the following to the flutter derivation:
# ...
shellHook = ''
  export FLUTTER_ROOT = "${pkgs.flutter}"
'';

Will this work? I have never tried shellHook yet, however I have seen that some packages set extra env vars when they are used in profile/shell.

Hi - I just ran into this and can confirm that the suggested fix above does indeed work. Please see a minimal dev shell below that works!
{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    flake-utils.url = "github:numtide/flake-utils";
  };

  outputs =
    inputs:
    inputs.flake-utils.lib.eachDefaultSystem (
      system:
      let

        pkgs = import inputs.nixpkgs {
          inherit system;
          config = {
            allowUnfree = true;
          };
        };

        devShells.default = pkgs.mkShell
          {
            buildInputs = with pkgs;
              [
                flutter
              ];

            shellHook = ''
              export CHROME_EXECUTABLE=/run/current-system/sw/bin/google-chrome-stable
              export PATH="$PATH":"$HOME/.pub-cache/bin"
              export FLUTTER_ROOT="${pkgs.flutter}"

              fish
            '';
          };

      in
      {

        inherit devShells;

      }
    );

}


Selectbox default

For standard survey page, when change between area and characteristic tabs, there is inconsistency between the variable that is shown in the selectbox, and the variable that is then being described and presented in the figures.

Simplest solution is probably to create the selectboxes seperately and directly in the script rather than with the same function, and see if that fixes it


Outpainting WebUI

Still working in progress, but I wanted to share my working progress with contributors.

[ ] Default canvas implementation (moving, zooming)
[ ] Painting area highlight
[ ] Connect to outpainting python backend
[ ] Function work
...

And question, my implementation uses default html5 canvas. Are you planning to use css render/other canvas library?
I'm not sure with my method.

Thanks for working on this! I had to rebuild the frontend using yarn build before the changes took effect, but now I'm getting the following screen when I try the outpainting tab. There doesn't seem to be a way to import an image, nor is there an obvious canvas. Is this expected at this stage?
I did try importing an image to img2img, but it didn't change the outpainting screen.

Yes this expected. Can I use this native html canvas?

@Kyle0654 and @psychedelicious are working together on inpainting and outpainting support. I'll defer to them on this issue.

https://github.com/invoke-ai/InvokeAI/pull/1126/commits/98d9d06886e1da1f1b5d1b09d76187e5d63d3187#diff-672fed13456cecc095659413af283c7203d2bf7943938f20aaee896db6bceb7aR85-R88
Can you please add a isSpacebarHeld boolean to determine if we pan the canvas vs draw? So, if I hold spacebar and mouseMove, it moves the canvas.
Trackpad users and touchpad users may not be able to use the e.button (I cannot, do not own a mouse). This is also consistent with image editors.
I started doing this a while ago but never got to it. Ty

Some feedback:

Zoom on mousewheel feels like it should zoom toward the mouse. I.e. pin the canvas at the mouse cursor and zoom in/out around that point, rather than the center of the canvas.
I agree, spacebar + drag would be good for pan. I tried left and mouse button to pan as well, and didn't expect middle mouse button.
Undo/redo would be great.
A brush shape/size outline where the cursor is would be really helpful.
It ran fine when I invoked, but I had to switch to outpaint and back to inpaint to see the new image.
Being able to change the background color (or use the standard "transparent" grid) would be helpful - I was inpainting something pretty close to the background color and it was tough.
In the future, it may be helpful to consider having two layers. An alpha layer for "paint this area" and a separate layer for painting "base color" (which can help guide inpainting in the direction you want).
Blurring edges can be super helpful, especially with outpainting. It can also help to do another inpaint over outpainting edges. I can show you the algorithm I came up with if you'd like (or just bake it into a node).

Hmm, a good chunk of @Kyle0654 's feedback I had already solved in my work on inpainting: https://github.com/psychedelicious/stable-diffusion/tree/wip-webui-inpainting
I just built a fresh bundle for that branch, can you please have take a quick look at that branch Kyle? It only has inpainting working. You'll need to click the gear icon and then Reset Web UI to reset the state of the UI, then refresh the page.
In the current state, @SieR-VR , there are some major performance issues. The canvas appears to be constantly rerendering. And I'm a bit concerned that a number of issues I had already solved have been re-introduced, related to both performance and functionality. I added a lot of comments in InpaintingCanvas.tsx that explain the decisions.
I'll hold off on more comments as I understand it's a WIP but just wanted to mention this.

Closed incidantally while merge branch

@SieR-VR I want to give you the heads up that after some discussion about it, I've encouraged @psychedelicious to complete his initial inpainting implementation so that we have something cued up for a 2.1 release that I hope to get out soon. Both he and @Kyle0654 are enthusiastic about your implementation, but my guess is that it won't be ready for release for some time to come. We would aim to get your implementation into 2.2.
Please let me know your thoughts on this.

I agree. Acceping Kyle's review requires many time, so I should have many time for implement it

Great. I'm happy you're OK with this. Let me know of any questions or concerns.

Close due duplicate #1355


Fix typo in README

Thanks @atallahade , you have really good eyes :eyes:

@burmecia No problem, your project is really interesting :)


mpvScripts.youtube-quality: correct the pname

Motivation for this change
The original submitter forgot to change this
Things done
changed the pname of mpvScripts.youtube-quality

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

[ ] NixOS
[ ] 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 nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

My bad, nice catch! I think it should just be youtube-quality, though.

Look at the other scripts in that directory, they all start with mpv. This is an mpv script, the package name should reflect that.

I was thinking of the attribute name, LGTM then.


[FEATURE] Deprecated GitHub API call

Is your feature request related to a problem? Please describe.
Hi @C0ZEN,
On June 2nd, 2020 at 19:11 (UTC) your personal access token (Sonia-il-est-midi-discord) using Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36 was used as part of a query parameter to access an endpoint through the GitHub API:
https://api.github.com/repositories/15639771/git/trees/master
Please use the Authorization HTTP header instead, as using the access_token query parameter is deprecated. If this token is being used by an app you don't have control over, be aware that it may stop working as a result of this deprecation.
Depending on your API usage, we'll be sending you this email reminder on a monthly basis for each token and User-Agent used in API calls made on your behalf.
Just one URL that was accessed with a token and User-Agent combination will be listed in the email reminder, not all.
Visit https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param for more information about suggested workarounds and removal dates.

Could not find anything related to access_token.
Maybe it was a third party usage.


[CU-21ungpa] Get page by path defined in UI Navigation

Is it possible to query (Graphql or REST) a page by the path defined with UI Navigation Plugin? I'm trying to create a Main Navigation Menu within Nuxt.js.

At this very moment no, but we're happy to pick it up for one of upcoming versions or maybe you can contribute to it?

Moved to backlog for v2.0.2 as [CU-21ungpa]


fix(opensearch): Handle invalid JSON policy

Description
Handle invalid JSON policy when calling describe_domain_config.
License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@sergargar @n4ch04 I can't test this behaviour since the JSONDecodeError gets masked and the execution continues.