text:
GIFs download bad

GIFs get downloaded frame by frame instead of as a whole gif. why?

They're frames, although in Pixiv they looks like gif. You can convert them to gif if you like.

is there any way to implement something like this to it so the final version is a downloaded gif instead of frames?

I can do this, but I think it's not the responsibility for this repo to do this. (Users also need to install FFmpeg)
You can write a shell script to achieve this.
PS: I personally don't like gif format, it's big and poor quality.

That's fair, which format would you suggest then?

authors: bebound fluffyloopy

repo: bebound/pixiv


text:
.watch() doesn't list all services

Watch method only lists some services while using Bonjour Browser by Tildesoft (you had mention this tool somewhere) I can see them all.
I published 4 services in my NodeJS app using both https://github.com/agnat/node_mdns and https://github.com/watson/bonjour and also joking with their params, but no luck at all.
This is what Bonjour Browser sees:

My services are BONJOUR test 1/2 and MDNS test 1/2.
zeroconf is used as this:
let zeroconf = cordova.plugins.zeroconf;
zeroconf.watch('_smb._tcp.', 'local.', function(result) {
	let action = result.action;
	let service = result.service;
	if (action == 'added') {
		console.log('1 service added', service);
	} else if (action == 'resolved') {
		console.log('1 service resolved', service);
	} else {
		console.log('1 service removed', service);
	}
}, function(err){
	console.log("ERROR", err);
});

and, running it in a real iPod Touch 5th gen, the Safari console prints out this:

As you can see zeroconf doesn't list my services.
I already tried to change ports, hostnames and service names in the Node JS app.
I already tried some combination of '_smb._tcp.', 'local.'.
No luck at all.
Bonus note: as you can see in Bonjour Browser, there're also 2 services registered as _teamviewer._tcp., but I can't see them using cordova.plugins.zeroconf.watch('_teamviewer._tcp.', 'local.', console.log); directly on console.
I'm feeling lost :-(
Can you help me please?
Thanks a lot.

ok.. that's annoying
could you install a zeroconf browser app on your ipod and check that you see all the services in it?
(Flame Services Browser for instance)

UPDATE: running the same code on the iOS simulator, I got these from the console:
2017-12-01 18:29:45.242087+0100 m-frame[16702:587662] THREAD WARNING: ['ZeroConf'] took '95.268066' ms. Plugin should use a background thread. 2017-12-01 18:29:45.397604+0100 m-frame[16702:587662] service added EPSON WP-4535 Series 2017-12-01 18:29:45.399945+0100 m-frame[16702:587662] service added Mac mini 2017-12-01 18:29:45.401882+0100 m-frame[16702:587662] service added BONJOUR test 1 2017-12-01 18:29:45.402090+0100 m-frame[16702:587662] service added MDNS test 2 2017-12-01 18:29:45.444354+0100 m-frame[16702:587662] service resolved EPSON WP-4535 Series 2017-12-01 18:29:45.445042+0100 m-frame[16702:587662] service resolved Mac mini 2017-12-01 18:29:45.446439+0100 m-frame[16702:587662] service resolved MDNS test 2 2017-12-01 18:29:51.066513+0100 m-frame[16702:587662] service added GranGuardia 2017-12-01 18:29:51.104781+0100 m-frame[16702:587662] service resolved GranGuardia
So it does find them! All! But why on real device it doesn't ?
Need to further investigate...

Ok, installed "Discovery - DNS-SD Browser" app by the previous mentioned Tildesoft.
My services are not found!
Also TeamViewer ones.
It lists only the same you see also with your plugin.
Any idea on why it happen and how to resolve?

Closing old issue. Feel free to reopen.

source: gharchive/issue

authors: becvert donlucacorleone

repo: becvert/cordova-plugin-zeroconf

license: mit

license_type: permissive

license_source: bigquery


text:
Fixed fixture import issue

Error was for undefined uploadedFile.filepath (should be .path)

it should be filepath... path no longer exists

@beatlevic I think this is unnecessary now. If you think it still is can you give me a quick repro and I'll have a look? We're at a higher node version now so I don't think it's a thing

No longer necessary. Closing PR.

source: gharchive/pull-request

authors: andrewplummer beatlevic

repo: bedrockio/bedrock-core

license: MIT

license_source: github-api


text:
As a developer, I need to do a small fix to the chart legend/title when the user selects the end date only

Where: Search tool.
Issue: If you leave Start date empty and choose an End date, then the text underneath the graph is incorrect, e.g. “Selected date range: everything before till 02-04-2019 (using: bg:publications.bg:publication.bg:sortdate)”
The word "before till" should not be there in this case, only "till".

@jblom @lilimelgar
Issue for labo-components project done in branch :
issue/#376-modify-chart-legend-dateRange
Pull request created: https://github.com/beeldengeluid/labo-components/pull/394
What's been done?
The text has been modified (simplified I hope)
for all the cases which are:

No dates selected => No legend to show
Only end date selected => 'Everything until DateSelected' (screenshot 1)
Only start date selected => 'Everything since DateSelected' (screenshot 2)
Both dates selected => 'Everything from StartDate until EndDate' (screenshot 3)

NOTES:

Field name used is appended to the legend as before.
The 'for' has been changed to 'since' but SINCE I am not an expert in the english language that can be modified if needed :-)

Screenshots
Screenshot 1

Screenshot 2

Screenshot 3

@avlisodraude I merged this one. Looks ok. Once I deployed this @lilimelgar could test this on the test server

authors: avlisodraude jblom lilimelgar

repo: beeldengeluid/labo-components


text:
Move Launch menu to popover [...]. Fixed footer height problems

I think the menus look better with the Launch in the popover. I tried to mimic the behavior of the main menu [highlighting and color] for the Launch option when it's in the AppNavOtherItems menu. Here are a few screenshots of the menu at the breakpoints, and of the footer vertical spacing.

Launch menu

Would only move it to the dots menu when there isn't enough screen space. It is a primary feature so don't really think it should be hidden on big screens.

This PR does fix a problem with the footer and dots menu. So would it be possible to push this up, and then I'll start working on the moving the Launch between the two menus in a new branch. Also with Locking coming will that not also change up our menus so maybe push off the changes till then?

Still not sure this is a better solution, Launch is already showing all the time as is?

Correct, currently Launch is shown on all menus, but the ... menu is only on shown for xl screens. Our menu spacing problem occurs at the lg and md breakpoints. We did discuss changing the title Beethoven graphic. That would get us enough space at those breakpoints for everything. I can talk to vee about a new graphic there. I tried smaller fonts but that doesn't get us the required space and doesn't look great.

Put Launch back into AppNavToggle. Added new logos for AppNav. Set large and small images on breakpoints to allow for proper spacing. See screenshots of the breakpoints.

authors: danielmkm mobiusTripper-crypto


text:
More learning source

You guys need to create more tutorials.
For example, how to convert the .class file to java executable. As the .class file is useless without python-java-support.jar

Thanks for the suggestion! We're definitely aware that we need more tutorial materials.
I'm going to close this ticket on the basis that there's nothing directly actionable (e.g., how would we determine when "more" is "enough").

repo: beeware/voc


text:
Nested Lambda Formatting

This used to format better, now it looks a little weird
            foreach (
                var context in this.Host.FindElements(
                        By.CssSelector("#tst_pageContexts .tst_context")
                    )
                    .Where(
                        element =>
                            element.FindElement(
                                Context.LanguageSelector
                            ).Displayed
                    )
                    .Select(context => new Context(context))
            ) {
// used to be
            foreach (var context in this.Host.FindElements(
                    By.CssSelector("#tst_pageContexts .tst_context")
                )
                .Where(
                    element => element.FindElement(
                        Context.LanguageSelector
                    ).Displayed
                )
                .Select(context => new Context(context)))
            {

Implying we should just not break on => ?
On Fri, Apr 23, 2021 at 4:26 PM Bela VanderVoort @.***>
wrote:

This used to format better, now it looks a little weird
        foreach (
            var context in this.Host.FindElements(
                    By.CssSelector("#tst_pageContexts .tst_context")
                )
                .Where(
                    element =>
                        element.FindElement(
                            Context.LanguageSelector
                        ).Displayed
                )
                .Select(context => new Context(context))
        ) {// used to be
        foreach (var context in this.Host.FindElements(
                By.CssSelector("#tst_pageContexts .tst_context")
            )
            .Where(
                element => element.FindElement(
                    Context.LanguageSelector
                ).Displayed
            )
            .Select(context => new Context(context)))
        {

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/belav/csharpier/issues/136, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGRDLLPN5RL2XCYINZWRDLTKH63BANCNFSM43PPNYRA
.

In hindsight yes, I think this was a long winded way of pointing out that the break after => was weird.
This issue can probably go away, I imagine https://github.com/belav/csharpier/issues/134 would take care of cleaning this up.

If we do change this, it will be part of #134

repo: belav/csharpier


text:
Explore dependancy mangers

Back burner item, Git submodules fine for now
Look into CocoaPods (which recently added Swift support) & Carthage
Will require changes downstream (SMCKit & SystemKit)

Closing this for now. Git submodules have been nice, can revisit this later need be. Keeps things simple this way, one less tool.
For reference, some notes on this from brief research:
Carthage

Lightweight layer over Git submodules, no need for changes downstream. Integrating into Xcode project is left up to you
Builds dependencies as frameworks (dylibs) which is a problem in our case since we want a single binary. See: https://github.com/Carthage/Carthage/issues/287#issuecomment-71463248
SourceKitten has taken this approach, and while it certainly works, for now, I still prefer having a single binary. This is all due to the static linking problem, which Apple could address sometime soon (WWDC 2015 :)?)

For more see:

SwiftInFlux/Runtime Dynamic Libraries
SwiftInFlux/Static Libraries

CocoaPods

Integrates dependancies into your Xcode project
Need to add spec files to each downstream project

repo: beltex/dshb


text:
Configure permissions for Beman org

Configure permissions for Beman org

[x] Configure permissions

Done

repo: beman-project/beman


text:
Add avatarUrl in the peoplePreviewList response object

To add them to the RoomCard

ill add this in

repo: benawad/dogehouse


text:
Meta description doesn't show up on Google

The meta description that's used in index.html doesn't show up on Google.
Google:

Bing:

DuckDuckGo:

Some likely reasons for this:

Google hasn't reindexed the page yet, but as @goldyydev pointed out, the cached page from google does have the updated meta description. Hence, it's most likely not because of this
The description is not good enough or is too short for google (ouch) - After doing some research, I found out that many times Google ignores the meta description provided if it finds that the description is irrelevant to the page content. An optimal meta description is also apparently between 50 and 150 characters and the current description is 41 characters, which could be another cause.

What's the solution?
Probably try creating a better and longer description?

This is now fixed


text:
Bug: Params, Header & Body values in Input not passed

Describe the bug
The values of Params, Header and Body in /quick-input are not passed with the request. Only a certain amount of key-values are updated.
P.S. This behaviour is inconsistent and might not be reproduced in the first attempt, in that case, trying doing the process faster. Could possibly be because of a race-condition.
To Reproduce
Steps to reproduce the behaviour:

Go to /quick-input
Click on Params radio button
Type at least 3 keys and values
Click on Test and Save button
Check the request in the Network Tab, all Params are not passed with the request

Expected behaviour
All set values should be sent with the request.
Screenshots

I would like to work on this issue.

This is interesting. @sachdeva-shrey please feel free to solve.

@Harkishen-Singh It turns out that this happens only when the user inputs duplicate object keys, I somehow missed to pay attention to this before. What should be the ideal way to handle it in this case? Since it is completely valid to have headers and params with the same key value.
For example,
https://google.com?abc=abc&abc=abc&abc=abc is completely valid - same params keys.
Accept: application/json Accept: application/xml is also valid - same header keys.
But, having the same keys in the body JSON is not valid. With our current implementation, we are passing headers and params in the body itself and I think we might have to completely change the approach.

I agree, seems like a bug.

@sachdeva-shrey What's your approach in solving this issue?

@aquibbaig I think a simple approach would be to use a validation function in the input that shows a validation error to the user if there are duplicate keys in the body, and disables the Test button. If there are duplicates in params or header, we should allow it.

repo: bench-routes/bench-routes


text:
CI update to use miniforge instead of mambaforge in install

Fixes #780

Merging this one as the issues are unrelated to CircleCI but come from updated mamba output.

repo: benchopt/benchopt


text:
Question: How define column-cells alignment ?

Hi,
Im starting to use react-redux-grid.
The current report has dates and numeric values.
It would be desirable the columns with numeric data are aligned to the right
How can I define the column-cells  alignment?

thanks.

I would use a custom renderer which would allow you to write some custom CSS for these columns; something like:
const columns = [
    {
        name: 'Risk',
        dataIndex: 'risk',
        renderer: ({ column, value, row }) => {

            return (
                <span className="numeric-column">
                    {value}
                </span>
                );
        }
    }
];

And then simply add some CSS:
.numeric-column {
    text-align: right;
}

For more information about renderers, you can check out these docs.

authors: bencripps pcclickbit

repo: bencripps/react-redux-grid


text:
Brightness adjustement

Reduce brightness when writing the color values.

Thanks for this. I've just tested it and it looks ace. It was on my list of things to add when I had a minute.

Your welcome, I needed it for my little project :)

authors: The-Spirit benevpi


text:
Add LINQ-flavored C# version

Since some entries are functional style, I would like to propose the LINQ + C# version.
Timings:

Language
Simple

C#
1.44

C# (LINQ)
7.73

Thanks for your contribution. However, I'd like to only include one row for each language in the benchmarks table, so I'll merge this but exclude from the benchmarks. To make things "fair", I've removed the "Rust B" versions from the benchmark table too (there's actually 3 additional Rust versions anyway). But the code is all still there. CC: @BurntSushi

authors: benhoyt osman-turan

repo: benhoyt/countwords


text:
[RFC] FastDiffRunner

Hello,
I am going to write a FastDiffRunner to offer a diff runner with better performance. And here is the proposed API. If anyone is interested, please feel free to comment and making suggestion.
Objective
The current implementation of DiffRunner requires the user to convert a C++ data structure into QVariantMap then perform a comparison. It is an easy to use solution and fast enough for the small amount of data. But since the average time complexity is O(n) even the data is unchanged. Therefore, it may be difficult to handle a huge amount of data.
To solve this problem, a new FastDiffRunner is proposed. It uses the implicitly shared data class (Immutable type) in Qt. The big-O to compare data without changes is O(1). And it doesn't convert data to QVariantMap for comparison. It should be much faster than the original DiffRunner.
Preparation

Immutable Data

FastDiffRunner only works with an immutable data type. User should create their data structure by File -> New File or Project -> C++ Class. Tick Include QShared Data in Qt Creator
Example (Generated by Qt Creator)
class CustomDataData;

class CustomData
{
public:
    CustomData();
    CustomData(const CustomData &);
    CustomData &operator=(const CustomData &);
    ~CustomData();

private:
    QSharedDataPointer<CustomDataData> data;
};

Implements isSharedWith() and key() function

class CustomDataData;

class CustomData
{
    Q_GADGET

public:
    CustomData();
    CustomData(const CustomData &);
    CustomData &operator=(const CustomData &);
    ~CustomData();

    bool isSharedWith(const CustomData& other);

    Q_INVOKABLE QVariant key(); // Optional function.

private:
    QSharedDataPointer<CustomDataData> data;
};

inline bool CustomData::isSharedWith(const CustomData &other)
{
    return this->data == other.data;
}

Implements custom convertor function [Optional]

QVariantMap convert(const CustomData& data) {
  /// Insert your code here
}

If you have declared your property via Q_PROPERTY(), then it is not needed.
Usage
The interface of FastDiffRunner is almost same as the DiffRunner, expect you may need apply a custom data convertor function and doesn't need to set key field.
QList<CustomData> previous, current;

// load previous and current

QSFastDiffRunner<CustomData> runner(convert);

QList<QSPatch> patches = runner.compare(previous, current);

runner.patch(listModel, patches);

Pros & Cons
Pros

O(1) comparison for unchanged data

Cons

It don't work for JavaScript

Request for Comment
If you have any suggestion toward the design, please feel free to leave a comment here. Thx
Discussion
Discussion 1
Interface Class
Should it use an abstract interface instead of just using Q_GADGET?
Example
class QSImmutable {
  Q_GADGET
public:
  bool iSharedWith(const QSImmutable*) = 0;
  QVariant key() const;
  bool hasKey() const; // User should implement this function if key is present in the data structure
}

Could similar variants be used for JS or other bindings like Python?(Or does that utilize C++ and thus the fast diff uder the hood?)

hi @polarathene ,
yes. I will bring the fast diff to JavaScript too (still under development). But user need to update their data by following the Immutable Update Patterns · Redux
That is the proposal:
Immutable {
    id: model
}

var list = [a,b,c]; // where a , b, c is an object type
model.source = list;

// append a new item
list = list.slice(0); // make a shadow copy
list.push(d);
model.source = list;

// update an field in the first item
list = list.slice(0);
list[0] = assign({} , list[0], changes); // e.g Lodash.assign
model.source = list;

If you have any question / suggestion, please feel free to raise.

Will there be support or information on how to implement for other language bindings to Qt/QML like Python?
Thanks for the immutable patterns link, I think I've done shallow copies in the past with spread like the example, would it be good to use something like ImmutableJS?
Presently I'm just using an Item with properties(that might have nested property items) and referring to it via my elements, when I update that data_item element properties it seems to update the bindings to everything else. I'm still learning QML/Python, only sent a custom list model with roles to QML ListView so far(seems to work fine if I bind the model to the data_item properties and have ListView reference that property for the model). Haven't tried modifying data via Python yet, The way I understand QSyncable if it had support with my backend language is I'd modify my model data on the bakend and it'd update/sync a copy between QML and backend language. If you do look into Python there seems to be Redux ports(so I'd sync that state object/store to QML with QSyncable and presumably use it like I am currently with the data_item I mentioned earlier?

You seem to do quite a few Qt/QML projects, maybe you would take interest in reviving the Quickly project which aimed to allow modern JS transpiled to QML, hasn't been maintained in a while. Would allow for fetch/promises/async?/short-lamda/destructure/spread/etc
There seems to be some effort to make a React-Native binding for Qt(ReaQt), but there isn't much out there beyond the talk so maybe it won't see the light of day from HP/Qt :( There was also react-qml that hasn't seen any love since 2015.

Will there be support or information on how to implement for other language bindings to Qt/QML like Python?

I don't familiar with C++ with Python. So now I don't have plan or pointer for this.
btw, any suggested immutable data type library I could take a look for reference?

Thanks for the immutable patterns link, I think I've done shallow copies in the past with spread like the example, would it be good to use something like ImmutableJS?

It seems that ImmutableJS is more complicated to use when compare to the immutable update pattern. Just my 2 cents.

You seem to do quite a few Qt/QML projects, maybe you would take interest in reviving the Quickly project which aimed to allow modern JS transpiled to QML, hasn't been maintained in a while. Would allow for fetch/promises/async?/short-lamda/destructure/spread/etc

In fact, I have started another project: e-fever/qmljsify: Convert an NPM package into a QML friendly JavaScript file
But the objective is different. Quickly compiles a ES6 JS + QML , but qmljsify only compile library from npm to a QML friendly way.  It don't touch the QML files.

There seems to be some effort to make a React-Native binding for Qt(ReaQt), but there isn't much out there beyond the talk so maybe it won't see the light of day from HP/Qt :( There was also react-qml that hasn't seen any love since 2015.

Although I have made few projects to bring Redux / Flux to QML, I don't quite understand why people would like to bring React to QML? The concept of QML and React itself is not quite compatible. It will just like using React within Angular...

I don't quite understand why people would like to bring React to QML? The concept of QML and React itself is not quite compatible. It will just like using React within Angular...

Similar reasons to the ReaQt video I imagine? Perhaps it would be more suited to Qt Widgets or the Qt 6 API/backend unification that seems to be planned for 2019.
I don't see how it's like using React within Angular? You can declare components like QML components, just in JSX instead of QML(which they'd get transpiled to like Quickly might have been able to do?). The benefit is similar/same code that can be used elsewhere beyond QML as a platform, the richer syntax of modern JS and wide range of library support(especially with Redux and it's middleware, including integration with React with dumb/smart components), I also like how styled-components approached styling, not sure if that'd map well to QML styling however.
You have much more experience with QML than I do, so perhaps I'm mistaken.

I don't familiar with C++ with Python. So now I don't have plan or pointer for this.
btw, any suggested immutable data type library I could take a look for reference?

I am using PySide2/PyQt5 python packages that provide the Qt/QML integration. I am new to python, I've not looked into any immutable data type library for it. It seems to be a popular choice for doing Qt interfaces with if not C++/JS.

In fact, I have started another project: e-fever/qmljsify: Convert an NPM package into a QML friendly JavaScript file
But the objective is different. Quickly compiles a ES6 JS + QML , but qmljsify only compile library from npm to a QML friendly way. It don't touch the QML files.

That looks nice, but sounds similar to QMLify that Quickly uses? I think it can do similar? I guess your one is meant to compile QML module or just JS file that is transpiled to QML JS? Quickly sounds quite appealing that you can write your QML with modern JS and import modern JS as modules and then transpile to something QML will be happy with. Common thing to do from web dev world. I can see advantage of distributing already transpiled JS for others to use too I guess. Does Quickly address the problems you mention in your repo having trouble with?

authors: benlau polarathene

repo: benlau/qsyncable


text:
Support peerDependencies in the no-extraneous-dependencies rule

Analogous to #266. Ideally should be implemented along the same rails.

I'm not too familiar with peerDependencies and their use. Is having a peerDependency a good excuse of not setting some package in your dependencies as you assume that it will be installed in the project using your package ?
I can add this. Should we have the option for this be true or false by default?

false by default, let people enable. Might be good to explicitly state in the warning for false mode that the referenced package is in peerDependencies.
Good example is React/ component relationships. React component packages will need to import React from 'react' but need to get the project react, not some local one. So they (should) declare the react dependency as a peer.

authors: benmosher jfmengels

repo: benmosher/eslint-plugin-import


text:
Fix missing headE implementation

In latest reflex the headE is moved to MonadHold class, that causes runtime errors:
src/Reflex/Host/App/Internal.hs:209:10-48: No instance nor default method for class operation headE

Thanks!

authors: NCrashed bennofs

repo: bennofs/reflex-host


text:
Use @v3 tag to bring it in line with github actions nodejs/version schema

Might sound very stupid, but can this be retagged as v3? This will be in line with the v3 schema github base actions are providing, currently the action works only if you launch it as benoitchantre/setup-ssh-authentication-action@1.0.0
So I know all v3 are running on nodejs v16 :)

@luigimannoni I understand the reasoning, but this would not follow semantic versioning (v1.0.0 is the first public release).
This action is a composite action and uses bash only. It doesn’t require any specific version of Node and will probably require near to 0 maintenance.

authors: benoitchantre luigimannoni


text:
Add ability to specify commit names

Requires #219 to be finished first
We're updated the commit detection system and now we can change commit names
Right now, commits are just named "1, 2, 3" etc, but the commit message can be something more interesting. We can add this ability to the spec files:
"Initial Commit"
"Hello world" (test)
"Another commit" : "Initial Commit"
"Merge branch test" : "Another commit" "Hello world" (master)
master

@sahansk2 would this be interesting to you?

40482581ff2ea6fe5db05acf0eb0fbeef0ef158d solves this issue.
We do not have more dynamic names yet, but #245 should have that covered. #245 will likely be used instead of the syntax below
"Initial Commit"
"Hello world" (test)
"Another commit" : "Initial Commit"
"Merge branch test" : "Another commit" "Hello world" (master)
master

One issue is that this syntax is more complicated, it's prone to typos, and it's more complicated to write the parser. (Most specifically because of the ' notation we use for rebases, we cannot use the built in shlex parser

repo: benthayer/git-gud


text:
Update sbt to 1.8.3

About this PR
📦 Updates org.scala-sbt:sbt from 1.4.9 to 1.8.3
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

💡 Applied Scalafix Migrations

org.scala-sbt:sbt:1.5.0 (created no change)

https://gist.githubusercontent.com/eed3si9n/57e83f5330592d968ce49f0d5030d4d5/raw/7f576f16a90e432baa49911c9a66204c354947bb/Sbt0_13BuildSyntax.scala
Documentation: https://eed3si9n.com/syntactic-scalafix-rule-for-unified-slash-syntax

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-sbt", artifactId = "sbt" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, version-scheme:early-semver, scalafix-migrations, commit-count:1

Superseded by #95.

repo: benthecarman/OP-RETURN-Bot


text:
In ResultSet, change from get set to get init

Make it easier to manage results to make sure the values aren't changed, only allow init for set instead of an open ended approach

This will cause more issues than expected. Closing

repo: benwmaddox/DataAccessGeneration


text:
Treat the dimensions as one world

Hi ;)
Add an option to treat identical world names but in different dimensions as one world. What I mean? On my server, each user can create their own set of worlds and invite their friends to it.  It looks like this:

chelminski
chelminski_nether
chelminski_the_end

Having the following configurations set:
useWorldInventories: true
Expectations: Players within a world can have the same eq (e.g. chelminski, chelminski_nether, chelminski_the_end). But going beyond (e.g. into the vilus world, vilus_nether, vilus_the_end) they must have a different set of eqs.
Reality: The player has a different eq in the chelminski_nether world and a different eq in the chelminski_the_end world.
Along these lines, I would also like to ask you to add:

Chat per set of worlds (This way with no need to type every world name in config, just auto-detect)
TAB per set of worlds

I think introducing these options would be very helpful. The option can be split:
useWorldInventories: true/false
InventoriesWorldsKit: true/false
etc.

have you tried /mw inventory merge chelminski chelminski_nether chelminski_the_end ?
Normally you would do /mw inventory first_time_activation or some such and it will automatically set up a merged inventory for all worlds. Toggling the config option does not do that.

I will try to automate this command somehow, but it would be nice if I had a placeholder that tells whether a given world has connected inventories. E.g.
%mw_inventory_merged_chelminski% the return value would be yes/no
Then my problem would be solved, I can write a script executed when a user joins the server (in my case, the world name is a variable, each user is assigned a world to which he connects as the default).
if %mw_inventory_merged_<chelminski>%=yes run /mw inventory merge chelminski chelminski_nether chelminski_the_end
Alternatively, tell me how else I can do it because I have no idea at the moment. 🙈🙈

authors: bergerkiller chelminski

repo: bergerhealer/MyWorlds


text:
RecyclerView updating method on custom zip presets

it's not updating

tag realted issues with custom made presets

repo: berict/Tapad


text:
Use queue name when fetching queue instance instead of message name.

This seems to fix issue #198 for me. By using the getQueue method of a Message instance I get the correct index name of the queue.

This would break any existing custom Message implementations by adding a new method they must implement. While I don't like the coupling this alternate option would introduce, the calls within RoundRobinQueue could be changed to $envelope->getMessage()->getQueue() without breaking API compatibility.

@elazar Is calling $envelope->getMessage()->getQueue() not the same as my solution? If getMessage() returns a Message interface, you still need to make sure that it has the getQueue() method somehow.

This changes the interface and cannot be merged.
Id rather pull out the RoundRobin stuff and have it be reworked.
@robinvdvleuten are you relying on master?

@henrikbjorn yes I'm currently using the 1.0.x-dev alias in composer

authors: elazar henrikbjorn robinvdvleuten

repo: bernardphp/bernard


text:
Compiling issue on ROS iron and Ubuntu 22.04

Hi, I am having an issue when compiling the code on ROS iron and Ubuntu 22.04. Can you advise what this issue can be related to? Thanks.
--- stderr: ffmpeg_image_transport
In file included from /root/ros_ws/src/ffmpeg_image_transport/src/ffmpeg_subscriber.cpp:16:
/root/ros_ws/src/ffmpeg_image_transport/include/ffmpeg_image_transport/ffmpeg_subscriber.hpp:39:8: error: ‘void ffmpeg_image_transport::FFMPEGSubscriber::subscribeImpl(rclcpp::Node*, const string&, const Callback&, rmw_qos_profile_t)’ marked ‘override’, but does not override
39 |   void subscribeImpl(
|        ^~~~~~~~~~~~~
/root/ros_ws/src/ffmpeg_image_transport/src/ffmpeg_subscriber.cpp: In member function ‘void ffmpeg_image_transport::FFMPEGSubscriber::subscribeImpl(rclcpp::Node*, const string&, const Callback&, rmw_qos_profile_t)’:
/root/ros_ws/src/ffmpeg_image_transport/src/ffmpeg_subscriber.cpp:47:40: error: no matching function for call to ‘ffmpeg_image_transport::FFMPEGSubscriber::subscribeImpl(rclcpp::Node*&, const string&, const Callback&, rmw_qos_profile_t&)’
47 |   FFMPEGSubscriberPlugin::subscribeImpl(node, base_topic, callback, custom_qos);
|   ~^~~~
In file included from /root/ros_ws/src/ffmpeg_image_transport/include/ffmpeg_image_transport/ffmpeg_subscriber.hpp:19,
from /root/ros_ws/src/ffmpeg_image_transport/src/ffmpeg_subscriber.cpp:16:
/opt/ros/iron/include/image_transport/image_transport/simple_subscriber_plugin.hpp:111:8: note: candidate: ‘void image_transport::SimpleSubscriberPlugin::subscribeImpl(rclcpp::Node*, const string&, const Callback&, rmw_qos_profile_t, rclcpp::SubscriptionOptions) [with M = ffmpeg_image_transport_msgs::msg::FFMPEGPacket_<std::allocator >; std::string = std::cxx11::basic_string; image_transport::SubscriberPlugin::Callback = std::function<void(const std::shared_ptr<const sensor_msgs::msg::Image<std::allocator > >&)>; rmw_qos_profile_t = rmw_qos_profile_s; rclcpp::SubscriptionOptions = rclcpp::SubscriptionOptionsWithAllocator<std::allocator >]’
111 |   void subscribeImpl(
|        ^~~~~~~~~~~~~
/opt/ros/iron/include/image_transport/image_transport/simple_subscriber_plugin.hpp:111:8: note:   candidate expects 5 arguments, 4 provided
In file included from /root/ros_ws/src/ffmpeg_image_transport/src/ffmpeg_publisher.cpp:16:
/root/ros_ws/src/ffmpeg_image_transport/include/ffmpeg_image_transport/ffmpeg_publisher.hpp:37:8: error: ‘void ffmpeg_image_transport::FFMPEGPublisher::advertiseImpl(rclcpp::Node*, const string&, rmw_qos_profile_t)’ marked ‘override’, but does not override
37 |   void advertiseImpl(
|        ^~~~~~~~~~~~~
/root/ros_ws/src/ffmpeg_image_transport/src/ffmpeg_publisher.cpp: In member function ‘void ffmpeg_image_transport::FFMPEGPublisher::advertiseImpl(rclcpp::Node*, const string&, rmw_qos_profile_t)’:
/root/ros_ws/src/ffmpeg_image_transport/src/ffmpeg_publisher.cpp:42:39: error: no matching function for call to ‘ffmpeg_image_transport::FFMPEGPublisher::advertiseImpl(rclcpp::Node*&, const string&, rmw_qos_profile_t&)’
42 |   FFMPEGPublisherPlugin::advertiseImpl(node, base_topic, custom_qos);
|   ~~~~~~~~^~
In file included from /root/ros_ws/src/ffmpeg_image_transport/include/ffmpeg_image_transport/ffmpeg_publisher.hpp:19,
from /root/ros_ws/src/ffmpeg_image_transport/src/ffmpeg_publisher.cpp:16:
/opt/ros/iron/include/image_transport/image_transport/simple_publisher_plugin.hpp:101:8: note: candidate: ‘void image_transport::SimplePublisherPlugin::advertiseImpl(rclcpp::Node*, const string&, rmw_qos_profile_t, rclcpp::PublisherOptions) [with M = ffmpeg_image_transport_msgs::msg::FFMPEGPacket<std::allocator >; std::string = std::__cxx11::basic_string; rmw_qos_profile_t = rmw_qos_profile_s; rclcpp::PublisherOptions = rclcpp::PublisherOptionsWithAllocator<std::allocator >]’
101 |   void advertiseImpl(
|        ^~~~~~~~~~~~~
/opt/ros/iron/include/image_transport/image_transport/simple_publisher_plugin.hpp:101:8: note:   candidate expects 4 arguments, 3 provided
In file included from /root/ros_ws/src/ffmpeg_image_transport/src/manifest.cpp:18:
/root/ros_ws/src/ffmpeg_image_transport/include/ffmpeg_image_transport/ffmpeg_publisher.hpp:37:8: error: ‘void ffmpeg_image_transport::FFMPEGPublisher::advertiseImpl(rclcpp::Node*, const string&, rmw_qos_profile_t)’ marked ‘override’, but does not override
37 |   void advertiseImpl(
|        ^~~~~~~~~~~~~
In file included from /root/ros_ws/src/ffmpeg_image_transport/src/manifest.cpp:19:
/root/ros_ws/src/ffmpeg_image_transport/include/ffmpeg_image_transport/ffmpeg_subscriber.hpp:39:8: error: ‘void ffmpeg_image_transport::FFMPEGSubscriber::subscribeImpl(rclcpp::Node*, const string&, const Callback&, rmw_qos_profile_t)’ marked ‘override’, but does not override
39 |   void subscribeImpl(
|        ^~~~~~~~~~~~~
gmake[2]: *** [CMakeFiles/ffmpeg_image_transport_component.dir/build.make:160: CMakeFiles/ffmpeg_image_transport_component.dir/src/manifest.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: *** [CMakeFiles/ffmpeg_image_transport_component.dir/build.make:76: CMakeFiles/ffmpeg_image_transport_component.dir/src/ffmpeg_publisher.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/ffmpeg_image_transport_component.dir/build.make:90: CMakeFiles/ffmpeg_image_transport_component.dir/src/ffmpeg_subscriber.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/ffmpeg_image_transport_component.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
Failed   <<< ffmpeg_image_transport [4.13s, exited with code 2]

Can you hack "iron" into this conditional and let me know if it helps? https://github.com/berndpfrommer/ffmpeg_image_transport/blob/master/CMakeLists.txt#L16

Hold off. The API has changed again between humble and iron. I'm working on it.

Thanks for the quick response. I thought it was API issue too. I eventually made it work with iron with some dirty changes to the subscribeImpl() and advertiseImpl(). Given that the image_transport API changes from foxy/galactic, to humble, and now to rolling/iron, will you be considering creating different branches for these ROS distros?

Just thought about that and decided not to. I'll hack it with #defines and detecting ROS_DISTRO. Otherwise I'll have to backport any fixes or new features.

No problem. I will be happy to try out the code on iron once you push the fix.

Done. Would be great if you could test that it works (not just compiles)!

Hi @berndpfrommer, I just tested it and it builds and works on iron now. Thanks so much for the fix.


text:
Regex bad performance

Hey. I'm using this library at work and I have noticed some slowness when using regex, looks like creating a Regex is somehow slow. I have tested the theory using a global map for storing the compiled regex and it improved the speed ~50x. The implementation is not what we want, we should create the regex when creating the jsonpath and use it directly. I'm not sure how we can do that.
Here is the changes I made for testing:
https://github.com/catalinstochita/jsonpath-rust
Let me know if you have an idea of how we can do that. Thank you @besok

Hi, sure. I will take a look shortly.

Yeah, the regular expressions are heavy and the general advise is to avoid recompiling them as much as possible.
Thus, I can't see any other way but to solve it with something like a cache with the precompiled expressions.
So, essentially, the library can only provide the option to accept the regex cache and use it.
struct JsPathRegexCache {
    cache: Arc<Mutex<HashMap<String, Regex>>>,
}
pub struct JsonPathConfig {
    pub with_regex_cache: bool,
    pub regex_cache: JsPathRegexCache,
}

fn example(global_cache:JsPathRegexCache) {
    let json = Box::new(json!({}));
    let cfg = JsonPathConfig::with_cache(global_cache)
    let _v = (cfg, json).path("$.[?(@.author ~= '.*(?i)d\\(Rees\\)')]")
        .expect("the path is correct");
}

Obviously, it will improve the performance only in the long run. If the regexes are always different it will not help.
I scribbled an example of how it may be in this branch
In the given benchmark the duration gets boosted 5 times to roughly 25 µs on my laptop.
Looking into this thread where eventually the duration was 1,5 seems more or less plausible.
Let me now, if this approach works and I will implement it shortly.

Yes, is working fine. It would have been nice if serde_json::Value had a Regex field, I think in that case we would just added a "regex" rule and parse it directly, but this method works too

authors: besok catalinstochita

repo: besok/jsonpath-rust


text:
Platform 1.3.5 reports name of platform incorrectly for Microsoft Edge

My other issue was closed before I resolved this question:
If I am trying to make sure users have the latest browser, you are telling me that for Chrome I need to trust that Platform indicates the browser, while for Microsoft Edge, I am supposed to consider the "Microsoft EdgeHTML" version instead?
It's confusing because Platform.js reports the name of the app shell as platform.name for Microsoft Edge, instead of "Microsoft EdgeHTML," while for Chrome, it is reporting exactly what I see as the name of the browser. Should the platform code be updated to show "Microsoft EdgeHTML" instead?
When I go into Chrome and look in its settings, I see:
Version 70.0.3538.102 (Official Build) (64-bit)
Then, when I open my web app with platform.js and call platform.toString(), I get:
"Chrome 70.0.3538.102 on Windows 10 64-bit"
THEN...when I go into Microsoft Edge and look in its settings, I see:
Microsoft Edge 41.16299.551.0
MicrosoftEdgeHTML 16.16299
(^ I see now where it's deriving the version number)
Then, when I open my web app with platform.js and call platform.toString(), I get:
"Microsoft Edge v16.16299 on Windows 10 64-bit"

Shakes fist at Microsoft
Thank you John!


text:
"Unsupported Media Type" when calling backend api

When trying API in swagger ui i face this issue.

Is this a problem with the swagger, or backend?
Thanks

Content-Type needs to be set to undefined.

The JsonObject in the body also needs to be uploaded through a file, and the value of the key is the same as the value in the @RequestPart of the API.

like this

Sorry for this, as it could be a legacy code. Although it works, the experience may not be good

like this

I don't think this will work.
'hobby' field should be send as a normal json attribute, not like a file (since it is not a file).
i suggest you fix this and review other apis.

Got, it will fix that

got it, I will fix that as soon as possible

Most solutions are like this, I will try other solutions, try not to transfer json as  file, maybe I need a write a converter for this.

authors: bestksl mhassany


text:
DefaultLegend has horrible performance

How to reproduce?
So I've added CartesianChart to a WPF window and rendered 20-25 graphs at the same time (constant updates). Saw the program grind to a full stop (minimum of 35% CPU usage). I attached a profiler and noticed that 60%! of the time is spent on the this.ChartLegend.UpdateLayout(). So I've added a NoLegend.xaml, which does absolutely nothing at all. What now? CPU usage is now at <1% and fast.
Interestingly, the DataTooltip (should preferably be named as DataToolTip) has similar issues. Once rendered the CPU usage immediately adds 25%.
I think both suffer the same problem, i.e., they always update, even when there's no new content. Ideally they should only redraw when a value changes (or the size changes but this is automatically done anyway).
Fix
In defaultlegend.xaml.cs, you can fix this by checking if the series is equal to the previous. If it is, ignore the property changed notification. I've done with a base setup using the code from DefaultLegend and it's working OK.
I am using

Live-Charts version
Last

.Net Version
4.0

Windows
10

Thanks for the profiler review, will take review this and try a better approach.

authors: Nuklon beto-rodriguez

repo: beto-rodriguez/Live-Charts


text:
Plugin: Device cookie

Plugin for device cookie implementation to deal with attacks along side with rate limiter.
Link: https://owasp.org/www-community/Slow_Down_Online_Guessing_Attacks_with_Device_Cookies

thanks for the suggestion but we have no plans to implement this currently
random password guessing attacks are unlikely to succeed, we already have rate limiting, people mostly have strong password practices, and other defenses like CAPTCHAs works much better. Plus, bots can easily clear cookies, so this wouldn't add much value.
I'm going to close this issue for now, but let us know if you have any other thoughts

repo: better-auth/better-auth


text:
HeadlessPlugins for headless apps, rather than MinimalPlugins

What problem does this solve or what need does it fill?
MinimalPlugins touts itself as a good starting point for headless apps, but I feel like this is misleading and causing more confusion/debugging frustration than anything else. When we want a headless app for a game, what we really want is everything except rendering related things, not to disable everything.
For example, basically every bevy game is going to want TransformPlugin and LogPlugin.
What solution would you like?
A new plugin group that is just DefaultPlugins minus rendering related plugins. From my own project this is what I've started with:
DefaultPlugins
    .build()
    .disable::<RenderPlugin>()
    .disable::<PbrPlugin>()
    .disable::<CorePipelinePlugin>()
    .disable::<ImagePlugin>()
    .disable::<TextPlugin>()
    .disable::<SpritePlugin>()
    .disable::<WindowPlugin>()
    .disable::<WinitPlugin>()
    .disable::<GizmoPlugin>()

What alternative(s) have you considered?
Letting users do this themselves if it's what they want.
Additional context

Out of curiosity, why would you want the Transform plugin in a headless app / game if you don't have rendering? I have my own project in headless mode, but I don't use TransformPlugin, I did have to enable the others.

Out of curiosity, why would you want the Transform plugin in a headless app / game if you don't have rendering? I have my own project in headless mode, but I don't use TransformPlugin, I did have to enable the others.

As of right now there is no separation of gameplay position and rendering position, which leads a lot of people to use Transform for gameplay position.

authors: Aceeri christianlarrabure

repo: bevyengine/bevy


text:
Fix get_handle_path()

Motivated on discord: https://discord.com/channels/691052431525675048/742884593551802431/802272336774299648

This does add another atomic operation (handle_to_path.write()) to a function that will get called a lot. Probably not terrible but worth calling out.
We could move it into load_async() which would ensure the op happens on a separate thread, but that has the downside of making things like this not work reliably:
let handle = server.load("path");
server.get_handle_path(handle);

This does add another atomic operation (handle_to_path.write()) to a function that will get called a lot. Probably not terrible but worth calling out.
We could move it into load_async() which would ensure the op happens on a separate thread, but that has the downside of making things like this not work reliably:
let handle = server.load("path");
server.get_handle_path(handle);

Hmm, my first instinct is to get dashmap as a dependency - it would probably solve the performance without such a concurrency issue. It only depends on num_cpus and cfg-if, both of which already in the build tree, so I'd say its worth considering.

Hmm, my first instinct is to get dashmap as a dependency - it would probably solve the performance without such a concurrency issue. It only depends on num_cpus and cfg-if, both of which already in the build tree, so I'd say its worth considering.

Hmm I'm not familiar enough with dashmap's impl to have an immediate response. Pulling in a new dependency will always require a bit more scrutiny than normal, so it would be good to evaluate a couple of things before rolling with that approach:

Is it really a performance improvement and if so, by how much? Imo contention should be pretty uncommon, so a simple benchmark doing a bunch of loads in a loop would resolve most of my concerns.
Does it affect compile times? A couple of clean compiles with/without asset server using dashmap would resolve that question.

Hmm I'm not familiar enough with dashmap's impl to have an immediate response. Pulling in a new dependency will always require a bit more scrutiny than normal, so it would be good to evaluate a couple of things before rolling with that approach:

Is it really a performance improvement and if so, by how much? Imo contention should be pretty uncommon, so a simple benchmark doing a bunch of loads in a loop would resolve most of my concerns.
Does it affect compile times? A couple of clean compiles with/without asset server using dashmap would resolve that question.

We could move it into load_async() which would ensure the op happens on a separate thread, but that has the downside of making things like this not work reliably

I actually don't mind this solution of moving it into load_async. As I could easily see a scenario where multiple parallel systems are trying to load some assets and get blocked by .write() call on the internal hash map.
It's definitely a bummer that the get_handle_path won't work immediately, however it's a tradeoff I'm happy to take.

I was pointed to this PR via #2306 and this is a pretty glaringly missing feature.
We definitely need to support get_handle_path as it has use cases, and not to mention that the AssetServer's internal handle_to_path HashMap is currently just wasting memory.

#2268 and #2306 are both blocked by this PR.
@TheRawMeatball let me know if you want to help finalize this PR (with the last few changes) or I'm also more than happy to open another PR like this which addresses the issues haha ☺☺

Help is always appreciated :) If you want to push this PR to completion, you can open a new PR using this as a base if you want and I can close this one. I've been fairly short on time recently, so it'd probably be better.

Help is always appreciated :) If you want to push this PR to completion, you can open a new PR using this as a base if you want and I can close this one. I've been fairly short on time recently, so it'd probably be better.

No worries! I'll probably end up making a new PR with this as a base :)

Closed in favor of #2310

authors: NathanSWard TheRawMeatball cart


text:
run a system from a command

Fixes #2192
Can run a system from a command.
This adds a command:
commands.run_system(sync_system.system());

Why the extra refcell and mutex?

This looks like it's one-shot, I think it's safe to take ownership when executing.
What about .config(), how does that behave?

Why the extra refcell and mutex?

systems need to be mut to be initialised and executed, and we don't have a mut command.
I googled interior mutability and https://doc.rust-lang.org/book/ch15-05-interior-mutability.html was the first it so didn't think much about it. The RefCell doesn't look needed indeed 👍

What about .config(), how does that behave?

it works fine, added in the example 👍

we don't have a mut command

Can you explain? Why wouldn't this work?
impl Command for RunSystem {
    fn write(mut self: Box<Self>, world: &mut World) {
        self.system.initialize(world);
        self.system.run((), world);
    }
}

Also, should we maybe just implement command for FnOnce(&mut World) instead of dealing with wrapping stuff in systems?

Why not both?

Can you explain? Why wouldn't this work?

Because that's not the signature of the trait function but it seems that's not a problem... so 👍

self is just a binding, you can declare it mutable on your own. It's the same as doing let mut this = self; as the first thing in the function's scope.

What happens if the provided system calls commands itself?
Do they get ignored and if not when are they executed? Directly after the system finishes? After all regular commands were applied?

What happens if the provided system calls commands itself?

They (now) get executed directly after the system finishes (~90% sure?)

Does this work with omitting .system()?

of course it does 🥷

Is it ok to ask for an update on this? (no presh though, of course).
i would totally love to be able to use this.
also, i think i prefer run_system_once as well

So @wilk10 @Zoeycode, IMO we're mostly waiting on consensus about "is this a feature we want to support, and for what use cases". This feature has some potential for footguns:

the delayed effect of commands may be hard to reason about
commands are relatively slow and executed in a single-threaded way right now
this could result in bizarre spaghetti code without developer discipline
we don't have great tools to control or debug the execution order of commands yet

That said, this is trivial to implement as an end user who's familiar with the ECS internals: there's no special engine access needed. So perhaps we should take the time to do it right.
What use cases would you like to use this for? That would be very useful input for us to both shape the feature and the supporting docs.

My primary use case is UI code. Right now, one-offs are handled through events, but it requires explicit ordering to ensure changes go through on the same frame, but this gets more and more difficult the more levels you go through (for instance a popup which only appears under certain circumstances, otherwise it advances immediately).
More generally, I think being able to run a system once would be useful as a means of replacing systems which listen every frame for events that only rarely occur.
Also, I'm not sure how feasible this is, but it'd be nice to be able to pass arguments to one-off systems as well.

My primary use case is UI code. Right now, one-offs are handled through events, but it requires explicit ordering to ensure changes go through on the same frame, but this gets more and more difficult the more levels you go through (for instance a popup which only appears under certain circumstances, otherwise it advances immediately).

Makes sense. https://github.com/bevyengine/rfcs/pull/25 discusses a variant on this sort of pattern in the same UI context.

More generally, I think being able to run a system once would be useful as a means of replacing systems which listen every frame for events that only rarely occur.

Yep, see #2192, which inspired this issue :)

Also, I'm not sure how feasible this is, but it'd be nice to be able to pass arguments to one-off systems as well.

You could maybe use system chaining for this. Local resources + .config might work better though?

Also, I'm not sure how feasible this is, but it'd be nice to be able to pass arguments to one-off systems as well.

You can with a Local<T> system parameter and calling .config() on your system, check the example in the PR:
https://github.com/bevyengine/bevy/pull/2234/files#diff-293c10ec0e0905212ce097b6badf947c206c62c6924c21f77086795ad824a203R22

@alice-i-cecile Thanks for looking into this! My main interest is to allow something like:
use bevy::prelude::*;
use std::collections::VecDeque;

fn main() {
    App::build()
        .add_plugins(MinimalPlugins)
        .add_startup_system(spawn.system())
        .add_system(run.system())
        .run();
}

#[derive(PartialEq, Eq)]
enum MyData {
    A(u32),
    B,
}

struct DataQueue{
    queue: VecDeque<MyData>,
}

fn spawn(mut commands: Commands) {
    let mut queue = VecDeque::new();
    queue.extend(vec![MyData::A(42), MyData::B, MyData::A(17)]);
    commands.insert_resource(DataQueue{queue});
}

fn run(mut commands: Commands, data: Res<DataQueue>) {
    if let Some(my_data) = data.queue.front() {
        match my_data {
            MyData::A(_) => commands.run_system(system_a),
            MyData::B => commands.run_system(system_b),
        }
    }
}

fn system_a(mut data: ResMut<DataQueue>) {
    if let Some(my_data) = data.queue.pop_front() {
        if let MyData::A(inner) = my_data {
            println!("A: {}", inner);
        }
    }
}

fn system_b(mut data: ResMut<DataQueue>) {
    if let Some(my_data) = data.queue.pop_front() {
        if let MyData::B = my_data {
            println!("B");
        }
    }
}

AKA: arbitrarily running systems once in a dynamic order, accessing resources (or components) previously inserted.
I have a bunch of Actions to perform broken down into a variable number of SubActions (eg: Action is "leave room", SubActions: "walk to door", "open door", "leave"), and this pattern is really convenient to easily compose sequences of SubActions each executed by a specific system that cannot be generalised.
It's turn-based, so performance is less of an issue.

I'm closing this for now because I don't think "constructing systems on demand and running them serially" is a pattern we should encourage generally (see the comments in #2192).
Happy to re-open if more arguments in favor of this direct are made, but I think we should be moving toward one (or both) of the following:

Pre-adding labeled "on demand" systems to a schedule, which only run on a command.
Adding the ability to, at runtime, queue up arbitrary systems to run within the schedule.

I added a tool to run one-off systems in #3839. They're explicitly only useful for testing though, which means that the arguments around code reuse and performance are not relevant.

authors: MinerSebas Ratysz TheRawMeatball Zoeycode alice-i-cecile cart mockersf wilk10


text:
Fix gizmo draw order in 2D

Objective
Gizmos are intended to draw over everything but for some reason I set the sort key to 0 during #8427 :v
I didn't catch this mistake because it still draws over sprites with a Z translation of 0.
Solution
Set the sort key to f32::INFINITY.

Would be awesome if this could be part of 0.11.1

authors: devil-ira nerdachse


text:
Upstream bevy_basic_prefs

Veridia has generously recommended we base our preferences system on their bevy_basic_prefs crate.
This needs to be:

[ ] Copied into this repo as bevy_prefs or similar,
[ ] Updated to run on main
[ ] Ideally cleaned up and documented a bit, but that's not required.

Im going to close this as I have rewritten bevy basic prefs and merged a decent portion of the code


text:
using latest 2.x-dev, everything is working except I don't see events (Server Activity) in the dashboard

Using the very latest 2.x-dev on a fresh installation of Laravel 8.
My backend can correctly broadcast to my front-end. peer events work such as typing indicators. I can see statistics in the dashboard and I can see stats filling up in the database table.
However I cannot see any events in the dashboard, previously I was on 1.3.0 and I could see all events.
This is on my localhost. My front end is running on localhost:8080 and my backend is running on api.mydomain.test
The laravel-websockets is running on its own domain which is socketmaster.test
I use Valet and everything is secured with https using valet --secure
I'm curious about these new app parameters which I wasn't using before.. are they important?
            'host' => env('PUSHER_APP_HOST'),
            'path' => env('PUSHER_APP_PATH'),
            'capacity' => null,
            'allowed_origins' => [
                //
            ],

I've left them as the above defaults for now.. I can't find anything about them in the documentation.
This is my front-end config
  pusherConfig = {
    broadcaster: 'pusher',
    key: '7kWyUamVkIa', // laravel-websockets
    wsHost: 'socketmaster.test',
    wssPort: 6001,
    disableStats: true,
    enabledTransports: ['ws', 'wss'],
    forceTLS: true,
  };

This is the app entry inside config/websockets.php
        [
            'id' => '6641070',
            'name' => 'soulvue',
            'key' => '7kWyUamVkIa',
            'secret' => 'iLKvyU3f3ft',
            'enable_client_messages' => true,
            'enable_statistics' => true,

            'host' => env('PUSHER_APP_HOST'),
            'path' => env('PUSHER_APP_PATH'),
            'capacity' => null,
            'allowed_origins' => [
                //
            ],
        ],

And this is the pusher config in my backend
        'pusher-dev' => [
            'driver' => 'pusher',
            'key' => env('PUSHER_APP_KEY'),
            'secret' => env('PUSHER_APP_SECRET'),
            'app_id' => env('PUSHER_APP_ID'),
            'options' => [
                'cluster' => env('PUSHER_APP_CLUSTER'),
                'encrypted' => true,
                'host' => '127.0.0.1',
                'port' => 6001,
                'scheme' => 'https',
                'curl_options' => [
                    CURLOPT_SSL_VERIFYHOST => 0,
                    CURLOPT_SSL_VERIFYPEER => 0,
                ],
            ],
        ],

Would really love to get the events showing in the dashboard. Any advice @rennokki ?
Many thanks!

Sometimes asking the question leads to the answer eh? I figured it out.. I disable cookies globally and then whitelist the sites I want to allow cookies on. Well I hadn't whitelisted socketmaster.test yet.. after I did the events started appearing : )

repo: beyondcode/laravel-websockets


text:
Signature mismatch

I can create a new seesion using :IPython (yay!) however, when creating a kernel using ipython kernel on the same machine and then using :IPython --existing kerne to communicate from my vim session the communication fails because of a signature mismatch
[Output from the actual kernel]
[IPKernelApp] ERROR | Invalid Message
Traceback (most recent call last):
  File "/home/ubuntu/.virtualenvs/cross/local/lib/python2.7/site-packages/IPython/kernel/zmq/kernelbase.py", line 175, in dispatch_shell
    msg = self.session.deserialize(msg, content=True, copy=False)
  File "/home/ubuntu/.virtualenvs/cross/local/lib/python2.7/site-packages/IPython/kernel/zmq/session.py", line 836, in deserialize
    raise ValueError("Invalid Signature: %r" % signature)
ValueError: Invalid Signature: '51a7d95d58ae497bfb01d4d757d6f978585e9a543140d9d71d7d4ec51fdf7ecf'

I get the same error regardless of starting vim and the kernel in a virtualenv outside.
I can connect to the kernel using ipython console --existing kernel-XXXX.json
What can be happening here?

Can comfirm, will look into it tomorrow maybe.

Same thing here.

Me too..

Hi, I am having exactly the same issue. Any progress so far? I usually create a new session with :IPython but I wanted to try a few things directly in the console...

As a workaround, one can start a kernel with nvim-ipy, then use the %connect_info magic info to start the console|qtconsole|notebook

Same here, cannot connect to a running kernel. This makes this unusable for me because I'm working with remote kernels, i.e. local kernels are not useful to me.

same problem here.

+1. Initial post was 1 year ago though

Sorry for the delay, this was a very subtle change in the initialization of ConsoleApp between IPython 3.x and Jupyter 4.x (but I don't understand why it only affected --existing and didn't make the plugin completely unusable...). Please try latest version.

I tried today with current version and jupyter console 5.1.0 and it seems to be working back again. Thanks

authors: Maltimore bfredl dajuno dmos62 jorgesca languitar michaelfsp rsdenijs

repo: bfredl/nvim-ipy


text:
🛑 SHOWCASE is down

In ee10e2c, SHOWCASE (https://showcase.bgord.me/healthcheck) was down:

HTTP code: 424
Response time: 3701 ms

Resolved: SHOWCASE is back up in afa666b after 33 minutes.

repo: bgord/statuses


text:
Import bgrins/TinyColor separately?

It would make spectrum.js a lot shorter.

At least remove the window.tinycolor = tinycolor; line for the TinyColor not to spoil the global namespace.

It would also address #531

authors: FinesseRus hlfcoding trodi

repo: bgrins/spectrum


text:
onChange event fires as often as spectrum was opened

$("#colorpicker").on('change', function(e, color){
  if (_SPECTRUMCHANGEDTIMESTAMP === e.timeStamp) {
    return;
  }
  else {
    _SPECTRUMCHANGEDTIMESTAMP = e.timeStamp;
  }
  console.log(e)

}`
I don't destroy the colorpicker, it's being created as a hidden element so it can be used multiple times (and the on change sets the color depending on where the event took place).
First time the picker opens, one event fires. This is correct.
r.Event {type: "change", timeStamp: 1504106022611, jQuery31005429782202025777: true, isTrigger: 3, namespace: "", …}
Next time it opens, it fires twice:
r.Event {type: "change", timeStamp: 1504106026919, jQuery31005429782202025777: true, isTrigger: 3, namespace: "", …}
r.Event {type: "change", timeStamp: 1504106026919, jQuery31005429782202025777: true, isTrigger: 3, namespace: "", …}
Next time, thrice, etc. etc.
Notice that the events have the same timestamp, but they they trigger the previous onChange events in order.
Meaning if the first time I changed element A, then the second time B, it will actually run through A AND B and change them both to the same color (the one selected for B).
The sample code above will cause it to always change element A, regardless where I clicked afterwards.

Never mind. I called the on('change') inside another on(something) method and apparently that instantiates the eventListener multiple times instead of overwriting it.....


text:
Manuscript can be written

Hi all,
we have 3 weeks from now on to write this manuscript. Let coordinate a little bit and start writing :)
Thanks all!
Bjoern

Thanks, Bjoern! great news indeed.
well, three-week is a bit stressing. any proposal on who is doing what?

No plan yet, besides that we will work on the same Google Docs as the abstract.
We should describe example workflows and describe use-cases that RNAw will solve, in the same time make clear that it is a lego bricks system that can be used in a flexible way to create complete novel workflows + allows integration with other types of data analysis beyond RNA.

Awesome!

Submitted. But we should include more useful workflows and testing is highly appreciated, we had a lot of additions since December and I upgrade the underlying Galaxy Image.

authors: bgruening dyusuf jfallmann

repo: bgruening/galaxy-rna-workbench


text:
parse

How to configure parse?

It's already configured.

authors: bguidolim lubieapki

repo: bguidolim/AppReviewTimes-iOS


text:
Journal info

This PR implements a new module, wikidata, that contains a new processor, JournalPublisherProcessor, gathering relationships between journals (using NLM IDs) and publishers (using ISNI IDs) with the new published_by relationship type.
The PubmedProcessor is also updated to yield Journal nodes as well as relationships between publications and journals, with the   new published_in relationship type.
Other changes:

Fixed array delimiter in the cellmarker module

Accompanying PR
See https://github.com/sorgerlab/indra/pull/1416
Outstanding issues

[x] Un-group ~ISSN~ ISNI values, they are currently of the format XXXX XXXX XXXX XXXX. we could ungroup them to 16 characters from the 19 (with the spaces) internally.
[x] Wikidata identifiers are in some nodes as additional data - should they be keyed with a prefix, WD or without? Example: {'wd_id': 'WD:Q123465'} or {'wd_id': 'Q123465'}. See in the code for the _get_journal_nodes() and in comment below.
[x] Include impact factor

The tests failing now do so because they import stuff from indra that is added in https://github.com/sorgerlab/indra/pull/1416

The tests failing now do so because they import stuff from indra that is added in sorgerlab/indra#1416

Once sorgerlab/indra#1416 is merged we can re-run the tests.


text:
make it simpler to access schema through foreign key relation

Hey,
thanks for this library. I have a use-case that I believe is fairly normal as I've had to do the same thing in multiple different situations/projects. Using your library I've had to do some workarounds to get there.
The setup is this: I have to store annual surveys in the database. The surveys are always have a few fields that always need to be included (name, date, etc.) and other fields that change every year. So I create two models in the database:
class SurveyType(models.Model):
    name = models.CharField(max_length=255)
    schema = models.JSONField(default=dict)

    def __str__(self):
        return self.name

class SurveyEntry(models.Model):
    participant_name = models.Charfield(max_length=255)
    date = models.DateField()
    survey_type = models.ForeignKey(
        SurveyType,
        on_delete=models.CASCADE,
    )
    survey_data = jsonformJSONField(schema=lambda instance: instance.survey_type.schema)

This looks good, but it won't work as initially when entering a new SurveyEntry, no survey_type has been defined. It would be good if there was a way to handle that. The work around I found was to do this to SurveyEntry:
class SurveyEntry(models.Model):
    participant_name = models.Charfield(max_length=255)
    date = models.DateField()
    survey_type = models.ForeignKey(
        SurveyType,
        on_delete=models.CASCADE,
    )
    survey_data = jsonformJSONField(
        schema=lambda instance=None: instance.survey_type.schema
        if instance and hasattr(instance, "survey_type")
        else {"type": "object", "properties": {}},
        null=True,
        blank=True,
    )
    def save(self, *args, **kwargs):
        if not bool(self.survey_data):
            # This was likely based on the default schema. Remove again.
            self.survey_data = None
        return super().save(*args, **kwargs)

I wouldn't call it a workaround. Since you've got a callable schema, it's your responsibility to handle the errors within that callable.
As the callable is your written code, I don't think the field should automatically handle the exceptions raised in it.

ok, how about adding something to the documentation about it then? Then others can benefit from me having researched this once already.

I'll update the docs. Thank you for your suggestions.

I have to use form to make it works

class FlowerPackForm(forms.ModelForm):
    class Meta:
        model = FlowerPack
        exclude = ["is_removed"]

    def __init__(self, *args, **kwargs) -> None:
        super().__init__(*args, **kwargs)
        instance = kwargs.get("instance", None)
        if instance and hasattr(instance, "sku"):
            self.fields["attributes"].widget.schema = instance.sku.attribute_schema

I have try to modify the model meta field but it seams have cache, so it not allways work.
class FlowerPack(BaseModel):
    sku = models.ForeignKey(Sku, models.CASCADE, related_name="packs")
    attributes = JSONField(
        schema={"type": "object", "properties": {}},
        null=True,
        blank=True,
        verbose_name="SKU 属性列表",
    )
    def __init__(self, *args: Any, **kwargs: Any) -> None:
        super().__init__(*args, **kwargs)
        if hasattr(self, "sku"):
            field = self._meta.get_field("attributes")
            field.schema = self.sku.attribute_schema

authors: bhch johanneswilm yswtrue

repo: bhch/django-jsonform


text:
Add UITextfield delegate to the textfield within my cells ?

The coolest thing about LBTAcomponents is that you don't have to dequeue cells. However, using this method does not allow me to set the delegate while dequeing the cells.
Usually I do something like this:

let cell = tableView.dequeueReusableCellWithIdentifier(settingIndexPath.cellName, forIndexPath: indexPath) as! HAIConfigurationTableViewCell
            let cellInput   = cell.viewWithTag(1) as! UITextField

            cellInput.delegate = self

Any advice ?

You can simply access your controller via cell.controller.

I've been unable to import the ClassName "LBTAComponents" from Pods. I was successfully installed the LBTAComponents through Pods,bt it can't.

I am having the same trouble as  the person who opened this issue and I do not know why this issue is closed when the problem has not been solved.
How can I iterate through the cells and set the delegate?

So I solved this by implementing this
    override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> CustomCell {

        let cell: CustomCell

        if let cls = datasource?.cellClass(indexPath) {
            cell = collectionView.dequeueReusableCell(withReuseIdentifier: NSStringFromClass(cls), for: indexPath) as! DatasourceCell as! CustomCell
        } else if let cellClasses = datasource?.cellClasses(), cellClasses.count > indexPath.section {
            let cls = cellClasses[indexPath.section]
            cell = collectionView.dequeueReusableCell(withReuseIdentifier: NSStringFromClass(cls), for: indexPath) as! DatasourceCell as! CustomCell
        } else if let cls = datasource?.cellClasses().first {
            cell = collectionView.dequeueReusableCell(withReuseIdentifier: NSStringFromClass(cls), for: indexPath) as! DatasourceCell as! CustomCell
        } else {
            cell = collectionView.dequeueReusableCell(withReuseIdentifier: defaultCellId, for: indexPath) as! DatasourceCell as! CustomCell
        }

        cell.delegate = self

        cell.controller = self
        cell.datasourceItem = datasource?.item(indexPath)
        return cell
    }

into my DatasourceController. Basically it's a copy from the LBTA framework with the cell.delegate = self added to it.

As you can see, each cell has a "controller" property which you can use as your delegate.

Sorry, I am relatively new to swift programing, but how exactly do I set the controller property as my delegate? There is no function that iterates through each cells in LBTAComponents's DatasourceController, right?

authors: JesusAdolfo bhlvoong dshukertjr mallibabu442

repo: bhlvoong/LBTAComponents


text:
User validation when resetting password

Check if the entered username exists in the system's user database properly still on Firebase Realtime Database
Display appropriate error messages if the username is not found.

Ran simulator to confirm data still being saved to Firebase


text:
Document contributors and their roles

Your idea
As part of https://github.com/openjournals/joss-reviews/issues/7061#issuecomment-2258789463, I'm asked to verify

Does the full list of paper authors seem appropriate and complete?

The answer to that question isn't easily apparent to me. For the JOSS submission and generally, having the contributors and their roles clearly documented would be helpful.
I can see from this repo's contributor graph that Hao-Ting and Rémi contributed significantly to the code, but it's unclear what other roles they and the other authors contributed (or if that information is documented, it's not particularly easy to find).
For the purposes of the review, I think just responding to this issue is probably sufficient, but using something like All Contributors or CRediT in the README and/or documentation would be a more sustainable (and broadly useful) solution.

Thanks for suggesting @shnizzedy! All contributors would be a good addition indeed.
QD contributed on the code to containerised the BIDS app.
NC tested the software by deploying it on 10+ datasets, caught bugs, and helped improved the features (see issue #36 #54 #106 for examples)
PB provided direction of design, such as adopting BIDS convention, and scope of the features.

authors: htwangtw shnizzedy


text:
[BUG] Tutorial not working

Describe your problem in detail.
Running the tutorial command gives the following warning:

Unable to find image 'bids/example:0.0.4' locally
docker: Error response from daemon: [DEPRECATION NOTICE] Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default and will be removed in an upcoming release. Suggest the author of docker.io/bids/example:latest to upgrade the image to the OCI Format or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/.

I also tried the image bids/example:unstable, but it crashed with a python error
Describe what you expected.
I expected the tutorial command to work for new users without facing docker problems

thanks for the report
just to check: your error message above mentions version 0.0.4 but latest should be 0.0.7: is this a copy paste error on your side or something else?
will try to fix but this will likely not happen soon (as in definitely not this week) and we have plans to update the example in any case (make the image much smaller and simpler).
I may also move this issue to the repo for the bids-app/example

Thanks for the quick response!
I copied the command with 0.0.4 from this tutorial page: https://bids-website.readthedocs.io/en/latest/getting_started/bids_apps/tutorial.html
0.0.7 gives the same error

I see, definitely shows we should also update / fix things on this website.
Thanks a bunch for catching this one.

repo: bids-standard/bids-website


text:
Removing identity

Having issues upgrading to latest version. Running 'sudo puppet generate types' on my master gave me this error:
Error: /etc/puppetlabs/code/environments/test/modules/wildfly/lib/puppet/type/wildfly_resource.rb: title patterns that use procs are not supported.
That lead me to https://tickets.puppetlabs.com/browse/MODULES-4505 and the git diff of their solution. I implemented the same change for wildfly_resource.rb, and compiles succeed again.

Coverage decreased (-0.05%) to 74.385% when pulling feeed5c0595ee86c7b81eac2cbd1ce6c20723509 on damonconway:fix_wildfly_resource into 0c7666f873ab1eb82d3dbd5a09da723e20feb48a on biemond:master.

Coverage decreased (-0.05%) to 74.385% when pulling feeed5c0595ee86c7b81eac2cbd1ce6c20723509 on damonconway:fix_wildfly_resource into 0c7666f873ab1eb82d3dbd5a09da723e20feb48a on biemond:master.

Coverage decreased (-0.05%) to 74.385% when pulling feeed5c0595ee86c7b81eac2cbd1ce6c20723509 on damonconway:fix_wildfly_resource into 0c7666f873ab1eb82d3dbd5a09da723e20feb48a on biemond:master.

authors: coveralls damonconway

repo: biemond/biemond-wildfly


text:
clean and optimization

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/quantms branch on the nf-core/test-datasets repository.
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Because nf-core repo are archived. Description and doc link are setted bigbio in report. Ignoring multiqc yml file lint

@daichengxin you can merge now.

authors: daichengxin ypriverol

repo: bigbio/quantms


text:
Implement votes endpoint

implements GET /votes?block_id={block_id} according to #830
(only review after #1026 is implemented)

[x] votes for blocks
[x] tests

Current coverage is 96.16% (diff: 100%)

Merging #1029 into master will increase coverage by 0.07%

@@             master      #1029   diff @@
==========================================
  Files            36         38     +2
  Lines          1787       1824    +37
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           1717       1754    +37
  Misses           70         70
  Partials          0          0

Powered by Codecov. Last update b592786...5608a36

authors: codecov-io diminator

repo: bigchaindb/bigchaindb


text:
[WIP] [Spec] Tx ID as Asset ID

Use the ID of the transaction that CREATEd the asset to refer to the asset.

[ ] Make code changes to use TX id to refer to Asset ID
[ ] Fix tests
[ ] Docs changes

Fixes #697, fixes #717. fixes #715, fixes #708.

Two possibilities:
1: polymorphic 'asset' key
{operation: CREATE, asset: {data: blah}}
{operation: TRANSFER, asset: {id: abc}}

2: separate keys
{operation: CREATE, asset: {blah}}
{operation: TRANSFER, asset_id: abc}

Interested to hear reasoning one way or the other.
But, from a logical point of view they are the same and it's not clear that we need the Asset or AssetLink classes anymore. Or at least, we won't once we remove the keywords from the Asset.

Current coverage is 96.42% (diff: 100%)

Merging #926 into master will increase coverage by <.01%

@@             master       #926   diff @@
==========================================
  Files            34         34
  Lines          1817       1819     +2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           1752       1754     +2
  Misses           65         65
  Partials          0          0

Powered by Codecov. Last update d8256d5...d807511

are we also considering squatting of the tx_id? ie: what happens if someone makes 2 separate CREATE txs with the same content? Will they yield the same tx_id or do we need to force the user to provide a UUID?

@diminator: See note on https://github.com/bigchaindb/bigchaindb/issues/697#issuecomment-267335527.
We basically decided the unique factor must either come in the metadata or asset, otherwise you should just be making divisible assets.

@libscott For the asset key, I think it's more elegant if we make it polymorphic. That way the root structure of a transaction stays the same between the two types.

LGTM

authors: codecov-io diminator libscott sohkai


text:
Update sinatra to 1.4.7

With 1.4.5, I was running into NoMethodError: undefined method join' for #String:0x007f62c3e6fb90`
See https://github.com/sinatra/sinatra/issues/951

👍

authors: mattolson pedelman