feat(popper): Improved type definitions

Fixes issues introduced by included type definitions conflicting with @types definitions.
Also includes improved modifier definitions, as well as exposing the options property on the Popper class.

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

@giladgray these changes will break the react-popper type definitions, however will fix the builds for everyone originally relying on @types/popper.js

Waiting for @giladgray feedback to merge this.

I'm going to need some time to think about this change. The move to put everything in declare module was deliberate to avoid cluttering the global namespace with symbols from un-imported libraries.
In the short term, please remove @types/popper.js to fix the conflicts. That package should actually be removed now that the library publishes its own typings: https://github.com/DefinitelyTyped/DefinitelyTyped#removing-a-package

The thing is that I see that with your way to define types people have to import them all with something like import * as PopperTypes from "popper.js"; which seem redundant.
I really like to be able to use import Popper from 'popper.js' both for the lib and the types, what's wrong with it?

@giladgray I can see where you're coming from but I think the more pressing issue is that the new definition files included with the library break typescript builds relying on the external types.
This is something that can only be fixed by using the old structure for now, and if the new structure is an improvement (and I can see where you're coming from, I just need to research it a bit more to be sure of things) then it should be added in the 2.0 release.

I've made this gist that I've tested and works.
It is similar to what you were doing @giladgray, however it retains support for import Popper from "popper.js" whilst keeping everything in a single namespace.
However, popper.js when used as a standalone library adds a Popper class to the global scope, so on balance I'm not sure it's a bad idea to put Popper on the global namespace (which the gist above avoids doing) - as what if you want to use the library with Typescript but don't have a module loader (which apparently still happens!)?
@FezVrasta what are your thoughts on this? I can't see a reason to make Popper an import only library due to the number of people that don't use module loaders.
Please forgive me if I'm completely off the mark here!

I haven't enough knowledge of TypeScript to give meaningful feedbacks, the only reason I'm willing to merge this PR is to fix the API contract with previous versions.

@edcarroll the idea behind the types here is you should not need @types/popper.js as these are strictly better since they ship with the source NPM package itself. the main benefit here is you can safely expose popper.js types in your library's API without requiring an @types dependency for non-TS consumers.

also, have you folks tried this import strategy? it should be the new way:
import Popper, { Modifiers, Placement } from "popper.js"
// Popper is a real JS constructor, Modifers & Placement are just TS types

@giladgray don't worry I'm not trying to debate whether the types should be included - I'm fully aware of the benefits of including the types here (and am very happy they are being included) - the point I'm trying to make is the currently included typings have broken the builds for everyone using the (now defunct) external ones as you've modified how the types must be imported.
I know you can just uninstall them but the point is (as @FezVrasta has mentioned a few times as well) that right now they're a breaking change and so shouldn't be included in the form you've suggested until version 2 - do you see what I mean?
Regarding the import strategy you've just mentioned, I wasn't aware of it at all and do quite like it!
Btw, do you see what I mean regarding the global namespace and the fact that the popper.js types should be available due to how the library is used by some people?

Could we provide both methods together?

We got this issue https://github.com/FezVrasta/popper.js/issues/369
If it can be fixed merging this PR I'm willing to merge this as is, then you guys can improve the type definitions however you like, I just care to have the library in a stable situation

@FezVrasta my PR fixes this error - it's due to strictNullChecks being enabled on his configuration, which my updated typings account for 😄

@giladgray and @edcarrol, as I said, feel free to send PRs to improve the current definitions. I don't have experience with TypeScript so I can't be of any help unfortunately.

sounds good, will do when i have some time

@edcarroll about it breaking react-poppper, is that something that should now be updated there?
I could submit a PR that literally changes this line: https://github.com/souporserious/react-popper/blob/master/react-popper.d.ts#L3:L3 to import PopperJS from "popper.js"; if you'd like

@rajington it does need to be updated indeed, as it relies on type definitions that aren't in place anymore. I think the change you've mentioned should be sufficient, the other changes made don't appear to affect the usage in that file. Thanks 😄

I have a few bits of feedback here:

Making this package incompatible with @types/popper.js is a small breaking change, but it is not a functional or API breaking change. Therefore I believe is OK to introduce types bundled in popper.js which are incompatible with @types/popper.js and not major version bump this package. It should instead be listed as a "manual upgrade step" in a minor release of Popper.

Think about the alternative: if every time an NPM package chose to switch to bundling its type definitions (something that is quite useful for libraries that get pulled in as transitive dependencies), then they would need to be bumped to the next major version. This would end up creating a lot of noise across the ecosystem.

The change to export default is semantically wrong. I understand that the intention in the popper.js source code is to expose the Popper class as a default export, however you must use these guidelines when writing type definitions.

When I run node -p 'require("popper".js'), I get the Popper class.
When I run node -p 'require("popper".js').default, I get undefined.
If you really want to expose this export as default in both ESM and TS, you must change the way popper.js/dist/umd/popper.js is produced such that module.exports.default is populated in a Node runtime (I'm running Node 8.3)

Because of (2), https://github.com/souporserious/react-popper/pull/46 should not merge.

I'm really losing hope with all this TypeScript shit...
Please send PRs and discuss with the other interested people about all this problems.
If I see people can't find an agreement I'm going to drop support for TS, because all this is really getting enough...

@FezVrasta I hear you, definitely frustrating to get started with writing typedefs. Hopefully the community that cares about typedefs can handle it without your involvement. If someone wants to be in charge of it, maybe @adidahiya since he seems knowledgeable about the matter, you could create a code owners file for the typedef file only.
In general the direction is trying to move away from DefinitelyTyped, but if it's a big enough problem for you, going back to that is always an option.
And thanks for the library.

@FezVrasta hey, sorry about that, my intention wasn't to blame you or cause additional stress -- I do intend to help contribute here and take on some of the maintenance burden. I wanted to post my comment here so that I'd be sure the interested parties would see it. I'll move further discussion to a new PR. Thanks for the library!

no problem guys, I'm just already against TypeScript (I use Flow) and seeing all this churn around a so simple feature makes me hate that damn thing even more 🙄

Anyone here having problems with these typings? I have an issue that's stably reproducible, but not sure if this is an issue with popper.js typings or react-popper typings. Steps to reproduce:

mkdir test && cd test && yarn add react react-popper
echo "import { Arrow, Manager, Popper, Target } from 'react-popper';" > test.ts
echo '{ "compilerOptions": { "jsx": "react", "target": "es6", "module": "commonjs" } }' > tsconfig.json
tsc

Compilation always fails with:
node_modules/react-popper/react-popper.d.ts(30,36): error TS2694: Namespace ''popper.js'' has no exported member 'Placement'.
node_modules/react-popper/react-popper.d.ts(36,26): error TS2694: Namespace ''popper.js'' has no exported member 'Modifiers'.
node_modules/react-popper/react-popper.d.ts(37,26): error TS2694: Namespace ''popper.js'' has no exported member 'Placement'.

Any suggestions?


Update leptos to 0.5

This is based on #9 having been applied, light conflicts that could be resolved without it.

Thanks @rdeaton !


New config structure docs

Resolves #89
Hi @illright
I added several new sections to README to describe the new structure, its concepts, and how to work with it. Also, I added a migration guide in a separate file, as you requested.
Let me know if you have any suggestions/corrections. Thank you in advance!

I fixed all the issues. I decided not to delete the examples completely and moved them to a separate page.

Sorry for not finding these comments before, the fixes for the previous comments are good, thanks!

Yes, your suggestions were completely reasonable, so I committed them

Also, I thought about merging this PR last, because:

While we are buttoning up the new config there can be slight changes to the documentation (e.g. what we decided about GlobalIgnores today)
Let's not confuse people with documentation for features that haven't been released yet.

Makes sense. Let's wait with this then

@illright
FYI I'm going to update this PR with some information on how our glob matching logic works. Let me know if we need to add anything else.

You don't need to be sorry for these corrections. They are completely reasonable and improve the documentation. Thanks for reviewing!

There's still some instances of import defineConfig. Could you search the project for this and replace it with import { defineConfig }?

Thanks for catching that! Yes, I forgot to update some examples based on the new glob-matching approach


Add tests infrastructure

Add infrastructure for testing SortFilterProxyModel
Add tests for RangeFilter.

I didn't properly rebase with your repo with this one -- though I suppose it doesn't matter.


drivers: eth: e1000: only enable e1000 clock on e1000 configured

e1000 clock should only be enabled by default if e1000 driver is
configured
Signed-off-by: Xabier Marquiegui<EMAIL_ADDRESS>

Looks good. Though an if ETH_E1000 bracket around all the sub-options (how we usually have it in Zephyr) would work even better.

You are right @pfalcon . I can change that, no problem.
Excuse my asking, I'm new to this contributing thing. What should I do to implement the changes you propose?

Regular commit + push
or
Commit amend + force push

@ainguraXmarquiegui:

Commit amend + force push

This one (commit amend, or squash rebase). Whenever possible, PRs should be in "final" state, ready for merge as is.

@tbursztyka , thoughts on this PR?


(PUP-1357) Only skip a class scope if the previous instance wasn't a node scope

Previously, puppet did not include a class if the class name happened to be the
same as the enclosing node definition, such as:
 node abc { include abc }

This occurred because puppet added the node scope to the Scope#class_scope
hash while evaluating the node definintion[1]. Later, puppet checked to see if a
class scope with the same name had already been added, and if so, puppet ignored
it[2]. However, that logic didn't account for the presence of a node scope with
the same name.
This commit causes puppet to exclude the node scope from its already_excluded
resources, so that it doesn't skip the class with the same name. It preserves
the behavior of only including a class once as implemented in[3].
[1] https://github.com/puppetlabs/puppet/blob/6.20.0/lib/puppet/resource/type.rb#L339
[2] https://github.com/puppetlabs/puppet/blob/6.20.0/lib/puppet/parser/compiler.rb#L473-L478
[3] https://github.com/puppetlabs/puppet/commit/927dff41df8f1c236c54eaee9fa1db7a3efaf02af

jenkins please test this with servertests

jenkins please test this with servertests


Parse kopia errors

Change Overview
This PR introduces generic mechanism to parse Kopia errors.
Pull request type
Please check the type of change your PR introduces:

[ ] :construction: Work in Progress
[ ] :rainbow: Refactoring (no functional changes, no api changes)
[x] :hamster: Trivial/Minor
[ ] :bug: Bugfix
[ ] :sunflower: Feature
[ ] :world_map: Documentation
[ ] :robot: Test

Test Plan

[ ] :muscle: Manual
[x] :zap: Unit test
[ ] :green_heart: E2E

@ankitjain235 @pavannd1 do you think it's mergeable now ?


Remove or implement "not yet implemented" debugger run-to-cursor (3.0.83)

The 6th debugger step icon (counting from the left) is "run to cursor" with an arrow pointing to parens.
If you click on it, it does this:

While implementing it would be nice, meanwhile I think it should be removed, and added in when it is working.
This issue mentioned in #594

Removed in 3.0.84 in both toolbar & Debug menu


VR Release/Build

The releases for this only have prebuilt SE/AE builds it seems. Is there a prebuilt VR binary? I don't have a dev environment set up right now to build it myself but would love to try it out.

This was the last version I compiled I think: https://1drv.ms/u/s!Ai-mPHDN6-1RhN4vulG1rofjIWeiYQ?e=rONovQ
Note that one specific difference is that, because of the lack of ESL support in VR, I made the decision to use Editor IDs to refer to specific soul gem forms instead of the standard [<formID>, <espName>], so that it will be more resilient to plugin merging.
However, this method has a caveat that, by default, the game never loads the Editor IDs of certain form types (SLGM forms included), so you need another plugin that will do this: PowerOfThree's Tweaks VR
I do intend to release the mod properly some day, but right now I'm mostly on break from Skyrim.

No problem! I'm already using got po3's tweaks so that's great. It's easy to get burned out on Skyrim so take your time and thank you for the work you've already done!


Hits max size quickly

This action batches everything together -- this hits the max size quickly.
Example: https://github.com/timheuer/tacticview/runs/1392391527?check_suite_focus=true#step:3:173

Great catch, I'll need to appropriately buffer the translate API calls.

Fixed in release v2.0.3

Super sad face... this is still broken. https://github.com/IEvangelist/IEvangelist.BlazingTranslations/runs/1403001376?check_suite_focus=true#step:3:413

This has since been fixed...


@azure/core-tracing API is finalized

https://apiview.dev/Assemblies/Review/e66480bf205b44ffab0bf5e91b705742 as a source

Closed via #18658


Wrapper for using Parsl as a concurrent.futures Executor

Description
Adds a wrapper for Parsl that lets you use it in the same way as a concurrent.futures.Executor.
For example,
    with ParslPoolExecutor(my_config) as exc:
        # Test a single submit
        future = exc.submit(f, 1)
        assert future.result() == 2

        # Make sure the map works
        results = list(exc.map(f, [1, 2, 3]))
        assert results == [2, 3, 4]

        # Make sure only one function was registered
        assert exc.app_count == 1

I'll add documentation for this a revised intro page and "quickstart" in another PR, if that's OK.
Type of change
Choose which options apply, and delete the ones which do not apply.

New feature (non-breaking change that adds functionality)

Are those errors in the CI transient?


Special Case for Polish Diacritic

Closes #1020

This might be a wider issue, I'll investigate it further.

Closing, see discussion here: https://github.com/gchq/CyberChef/issues/1020#issuecomment-771583550


ISSUE WITH THE LIBRARY

#include <ESP8266WiFi.h> //Library can be download below#include <WiFiClient.h> //Library can be downloaded below#include <ESP8266WebServer.h> //Library can be downloaded below#include <PubSubClient.h>  int sensorPin1 = 5; //int flowPin2 = 4;//int flowPin3 = 3;//int flowPin4 = 2; unsigned long flow1count = 0;unsigned long flow2count = 0; #define countof(a) (sizeof(a) / sizeof(a[0])) /* Connecting to existing wifi AP Network / //char ssid[] = "14CORE";  //  your network SSID (name)//char password[] = "we do what we must, because we can";       // your network password / Make you own stand alone wifi networ accesspoint*/const char* ssid     = "14CORE";const char* password = "1234567890"; // Set your IP address for your suitable for your network IP/SEGMENT IPAddress server(192, 168, 4, 100); PubSubClient client(server);String webString = "14CORE | Water Flow Sensor with ESP8266";   // String to display // Callback function void callback(const MQTT::Publish& pub) {  if(pub.payload_string().equals("flow1"))  {    webString = "Flow 2: " + String(flow1count/450.0) + " L"; // Arduino has a hard time with float to string    client.publish("outTopic",webString);  } else if(pub.payload_string().equals("flow2"))  {    webString = "Flow 2: " + String(flow2count/450.0) + " L";    client.publish("outTopic",webString);               // send to someones browser when asked       } else Serial.print("14CORE | Flow Sensor ")	  Serial.print("Flow 1 in Liters: ");Serial.print(flow1count/450.0);Serial.print("\tFlow 2 in Liters: ");Serial.print(flow2count/450.0);Serial.print("\tFlow 1 in pulses: ");Serial.print(flow1count);Serial.print("\tFlow 2 in pulse: ");Serial.println(flow2count);delay(500);        {  }  Serial.print(pub.topic());  Serial.print(" => ");  Serial.println(pub.payload_string());}void setup(){ Serial.begin(115200);pinMode(sensorPin1, INPUT_PULLUP);attachInterrupt(sensorPin1, flow1, CHANGE);pinMode(flowPin2, INPUT_PULLUP);attachInterrupt(flowPin2, flow2, CHANGE);client.set_callback(callback);    // Connect to existing wifi network    WiFi.begin(ssid, password);  Serial.print("\n\r \n\rWorking to connect");   // Wait 5mili for connection    while (WiFi.status() != WL_CONNECTED) {    delay(500);	Serial.print("Connecting ")    Serial.print(".");  }    Serial.println("");  Serial.print  Serial.println("14CORE | ESP8266 Server");  Serial.print("Connected to ");  Serial.println(ssid);  Serial.print("IP address: ");  Serial.println(WiFi.localIP());      if (client.connect("14CORE | ESP8266 Liquid Flow Sensor")) {    client.publish("outTopic","flow boot up");    client.subscribe("inTopic");  }} void loop(){  client.loop();} void flow1(){flow1count +=1;} void flow2(){flow2count +=1;}
-- | --

Is that it? You'll just dump your code in an issue and make no effort to format it or provide any information or respond to any of the feedback I provided in the previous issue.
For an issue that is urgent to you, you really don't seem to want my help.
You have clearly copied this code from somewhere on the internet. It is for a forked version of this library that has completely changed the callback signature and is not compatible with this version of the library.
You should either use the forked version of this library your code is written for, or you should change the code to use the callback signature this library requires.
If you look at the example sketches this library provides you can see what the callback should look like. It is up to you to pick what approach to take.


Remove & update references to Unifi Poller in the documentation.

There are still references to Unifi Poller that need removed from the documentation.
The pages that I know of with refences are:

https://github.com/KzBoy/unpoller.github.io/blob/master/documentation/docs/install/freebsd.md
https://github.com/KzBoy/unpoller.github.io/blob/master/documentation/docs/install/linux.md
https://github.com/KzBoy/unpoller.github.io/blob/master/documentation/docs/install/macos.md

There may be other pages too.
This might be a good project for a first timer.

I'd be happy to update the documents with the name changes, however I just tried to install this on my FreeBSD system and there is no port/package called unifi-poller or unpoller. Is FreeBSD supported still?

FreeBSD is supported, will look into where the ports were published. There are builds available in this repo’s releases page

KzBoy already put I a huge PR for this... https://github.com/unpoller/unpoller.github.io/pull/3
ports history: https://github.com/unpoller/unpoller/issues/245

Good to know it supported still. It would be great if the package could be built or installed using the ports/pkg system in FreeBSD.
From: Cody Lee @.>
Date: Tuesday, December 20, 2022 at 12:31 PM
To: unpoller/unpoller @.>
Cc: TheHitman1977 @.>, Comment @.>
Subject: Re: [unpoller/unpoller] Remove & update references to Unifi Poller in the documentation. (Issue #381)
FreeBSD is supported, will look into where the ports were published. There are builds available in this repo’s releases page
—
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Funpoller%2Funpoller%2Fissues%2F381%23issuecomment-1359964043&data=05|01||41bcc68b927a4f1b2a8d08dae2b86ff3|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638071579026304142|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=jLQnZHCN8%2BEbgl3LRdTbl1kr8P%2Bq7je60JfCby7U7YA%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABRCLFQB4F5OX4M5L2T4NCLWOH3QZANCNFSM5I3LSBVA&data=05|01||41bcc68b927a4f1b2a8d08dae2b86ff3|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638071579026460110|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=TtlJwLP%2FJZYjwmJb%2FKIzjcSoJkiV6zIpMJXVT850BAA%3D&reserved=0.
You are receiving this because you commented.Message ID: @.***>


Incorrect name generation (C++)

@Kronuz, I've noticed that the C++ version often misses groups entirely, and the generated name is wrong.  And this only seems to happen for certain letters (in both positions), like "a", "h", "i", "j", "q", "u", "v", "x", and "y" (and maybe more).
This comes up alternations, too:
$ ./namegen '(a)(b|a)' 10
> combinations = 2
a
ab
a
ab
ab
a
ab
a
ab
ab

That one is unable to generate "aa". I poked around in GDB trying to figure this out (where, unfortunately, it failed to pretty print any of the C++ objects), but had no luck so far.

For more complex bigger names, like 2 names with more than 3 letters each, these still happen if you configure them to happen in between?
If that happens with names we could use, then patterns will fail when they shouldnt.

@AquariusPower's comment about "ash" made me look at it differently and
I figured it out. This is just the Collapser doing it's job. Check out
the switch at line 330. So I guess this is intended. The JavaScript
version doesn't do this.


Logger argument support from run settings

Change 1:
From command line, loggers are given as:
/logger:trx /logger:blame;key1=value1
Enabling support to give the same from run settings
<RunSettings>
	<RunConfiguration>
		<Loggers>
			<Logger>trx</Logger>
			<Logger>blame;key1=value1</Logger>
		</Loggers>
	</RunConfiguration>
</RunSettings>

Loggers from both command line and run settings are merged.
Change 2:
Loggers are initialized in design mode also from now.
Scenarios validated:

Loggers are working from IDE and command line
Loggers given from command line and run settings are merged.
Invalid loggers and logger element are handled properly
In case of parsing error, warning is coming.
Same logger given multiple times is taken only once.

Things which we are not taking as part of this PR:

There is a bug in TPv2 that console logger initializes in IDE scenarios also.
console cant be given from runsettings. But /logger:console can be given from command line.

Open questions:
1. Should we add console  support in runsettings?
2. Does Loggers and logger tag names good? OR is there any better suggestion.

This is a new feature. It requires a RFC in vstest-docs. Example of RFCs: https://github.com/Microsoft/vstest-docs/tree/master/RFCs. Please call out motivation, specification (if logger is specified in command line and runsettings, which one wins?) etc. in the doc.
Suggest keeping Loggers outside RunConfiguration. Example below. Rationale:

Consistency. Data collection configuration
RunConfiguration is immutable and not extensible by any test platform extensions. 3rd party specification in runsettings may lead to unnecessary errors in core workflow.
TP passes runsettings to each extension, allowing them to provide their own settings (similar to DataCollector). This spec here should be open for extension. Please consider scenarios: (a) where a logger requires more settings than key/value, (b) custom settings (similar to code coverage datacollector)
What's the rationale for using ; as a separator for runsettings? Why not provide <logger name="blame"><key>value</key></logger>? XML can be much more expressive, same constraints as CLI parameters wouldn't apply, right?

Example:
<RunSettings>
	<RunConfiguration>
	</RunConfiguration>
	<Loggers>
		<Logger>trx</Logger>
		<Logger name="blame" enabled="true">
                      <key>Value</key>
                </Logger>
	</Loggers>
</RunSettings>

Yes. Note that we should have an RFC for all new features we look to add, please.


Will the plugin support 4.24?

There are no such plans at the moment, but I might revisit it at some point.


Fix crash when closing wallet

The crash occurs because WalletController::removeAndDeleteWallet is called twice for the
same wallet model: first in the GUI's button connected function WalletController::closeWallet,
and then again when the backend emits the WalletModel::unload signal.
This causes the issue because removeAndDeleteWallet inlines an erase(std::remove()).
So, if std::remove returns an iterator to the end (indicating the element wasn't found
because it was already erased), the subsequent call to erase leads to an undefined behavior.
Test Notes:
Try closing any wallet using the toolbar button in the GUI. It will crash in master, but not here.
Fixes https://github.com/bitcoin/bitcoin/issues/30887.

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Reviews
See the guideline for information on the review process.
A summary of reviews will appear here.

Code review ACK a965f2bc07a3588f8c2b8d6a542961562e3f5d0e
This seems like a workable fix, but I think it it is not ideal. The underlying problem here is that https://github.com/bitcoin/bitcoin/pull/30659 moved NotifyUnload from FlushAndDeleteWallet to RemoveWallet, so now instead of NotifyUnload guaranteed being called once, it can now be called  multiple times, but the GUI code assumes it is only called once and double deletes the wallet model and crashes. I think a better for this issue after reverting current fix would simply be:
--- a/src/qt/walletcontroller.cpp
+++ b/src/qt/walletcontroller.cpp
@@ -149,7 +149,7 @@ WalletModel* WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wal
     const bool called = QMetaObject::invokeMethod(wallet_model, "startPollBalance");
     assert(called);

-    connect(wallet_model, &WalletModel::unload, this, [this, wallet_model] {
+    connect(wallet_model, &WalletModel::unload, wallet_model, [this, wallet_model] {
         // Defer removeAndDeleteWallet when no modal widget is actively waiting for an action.
         // TODO: remove this workaround by removing usage of QDialog::exec.
         QWidget* active_dialog = QApplication::activeModalWidget();

This works by simply attaching the signal that deletes the wallet model to the wallet model object, so it only deleted once.

I think current fix a965f2bc07a3588f8c2b8d6a542961562e3f5d0e is not ideal and would suggest reverting it for a few reasons:

Fix is not complete. After  bitcoin/bitcoin#30659 there's no guarantee that NotifyUnload won't be sent multiple times because it is called from RemoveWallet, and RemoveWallet is called from many places: from RPCs and the GUI and from shutdown code. The fix only addresses one case where the notification is sent twice.

Fix makes GUI wallet close sequence potentially slower and less reliable. Before this change, closing wallet in the GUI would remove the GUI immediately, but now it waits for a signal from the wallet before destroying the GUI. It's not a big deal, but this approach is more fragile and potentially slower if wallet code is running in a separate process.

Fix add a new removeWallet method wrapping wallet().remove() call, which is ok, but I think there's a benefit to getting rid of of similar sounding methods that are easy to confuse when possible.

How can I repro the crash?

I don't know of an easy way to reproduce the crash after the current fix, but it is possible to revert the current and test the alternate suggest fix by using the same steps in the PR description, choosing close wallet from the GUI menu.
It might also be possible to make the GUI after the current fix by enabling RPC and calling unloadwallet RPC simultaneously from multiple threads, but not sure about that.

This seems like a workable fix, but I think it it is not ideal. The underlying problem here is that https://github.com/bitcoin/bitcoin/pull/30659 moved NotifyUnload from FlushAndDeleteWallet to RemoveWallet, so now instead of NotifyUnload guaranteed being called once, it can now be called multiple times, but the GUI code assumes it is only called once and double deletes the wallet model and crashes.

As RemoveWallet erases the wallet from the context's wallets vector (locking the context's mutex) prior to calling NotifyUnload, the only way it could be called twice is if we re-add the wallet in-between the two RemoveWallet calls. Which shouldn't be possible anywhere.

Fix makes GUI wallet close sequence potentially slower and less reliable. Before this change, closing wallet in the GUI would remove the GUI immediately, but now it waits for a signal from the wallet before destroying the GUI. It's not a big deal, but this approach is more fragile and potentially slower if wallet code is running in a separate process.

I'm not so agree here. I think the GUI should call the close method and wait asynchronously until the wallet's backend emit the closure event prior to disconnecting the views (ideally with a progress dialog saying something like "Closing wallet.." and disallowing the specific wallet usage). This is because the closing procedure could also fail and leave the wallet loaded without GUI access.
And for me, this even make more sense in a multiprocess world where every interface call would be better to handle it asynchronously due to the potentially longer wait time.

One way to test difference between the current fix and suggested fix is to delay the notification:
--- a/src/wallet/wallet.cpp
+++ b/src/wallet/wallet.cpp
@@ -174,7 +174,10 @@ bool RemoveWallet(WalletContext& context, const std::shared_ptr<CWallet>& wallet
         context.wallets.erase(i);
     }
     // Notify unload so that upper layers release the shared pointer.
-    wallet->NotifyUnload();
+    std::thread([wallet]() {
+        std::this_thread::sleep_for(std::chrono::seconds(5));
+        wallet->NotifyUnload();
+    }).detach();

     // Write the wallet setting
     UpdateWalletSetting(chain, name, load_on_start, warnings);

Testing this with the current fix, the wallet GUI stays visible for 5 seconds after closing the wallet, because it is waiting for the delayed notification. By contrast with original gui code and suggested fix:
diff

--- a/src/qt/walletcontroller.cpp
+++ b/src/qt/walletcontroller.cpp
@@ -149,7 +149,7 @@ WalletModel* WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wal
     const bool called = QMetaObject::invokeMethod(wallet_model, "startPollBalance");
     assert(called);

-    connect(wallet_model, &WalletModel::unload, this, [this, wallet_model] {
+    connect(wallet_model, &WalletModel::unload, wallet_model, [this, wallet_model] {
         // Defer removeAndDeleteWallet when no modal widget is actively waiting for an action.
         // TODO: remove this workaround by removing usage of QDialog::exec.
         QWidget* active_dialog = QApplication::activeModalWidget();

closing the wallet in the GUI doesn't cause a 5 second wait, because when the wallet is closed from the GUI it just closes without waiting for a notification. The notification is only used when wallet is unloaded externally by an RPC, not when the GUI itself unloads the wallet.
It is true as suggested https://github.com/bitcoin-core/gui/pull/835#issuecomment-2350111993 that it might be useful for the wallet to send a different notification when wallet unloading completes and wallet is fully closed, but this would actually need to be a different notification. It might be useful to rename the current notification from "unload" to "remove" to clarify that it is called from the RemoveWallet function and sent when wallet is removed from the list of opened wallets, not when it is unloaded, which could be at some later time.

A bit delayed but here. Sorry.
About your fix, I'm not against it at all. Fully agree that is better than mine. Connecting the signal handler lifetime to the object that it deletes it is what we should be doing.
I think removing the wallet from the GUI early in the process is effective, but it doesn't handle failures well, as we'd need to reload all wallet views from scratch. That said, disabling all wallet actions in the GUI might be a bit tricky to implement with the current code. Still, the wallet.close() method should at least ensure that all listeners are disconnected, so no 'refresh status' signals should be sent to the GUI while the wallet is being unloaded (side note: we’re currently not checking the RemoveWallet return value in the GUI -> this is not an issue now but it could be an issue if we ever add more stuff there).


Add necessary file to enable dependabot in Settings

To enable Dependabot, this yml file must first exist. This file is not yet configured. @jasonodoom has interest in setting this up properly.

This does not resolve #7 , but just unblocks it.

@cflipse can you please provide input so I will know how to proceed?

Sure, go for it.
I don't think we're using anything other than the bundler ecosystem, though maybe the docker ecosystem is worth adding?  I'm not terribly familiar with what this will do with just docker-compose files though, so that might be pointless.


Document posible errors on decode and encode functions

Could be fine to document these errors to handle it better in other developments that use this library. What do you think about it? i don't mind to do it.

When I decoded raise a error of token expired (and yes it is). But I want to get the token decoded, and after, I will check if the token expired or not. I run "jwt-simple": "^0.5.1"


Could you provide the unconditional cfg for CATER dataset?

Hey,
Thanks for your wonderful work. I am wondering how to reproduce the result mentioned in the paper, 92.8 FG-ARI in unconditional setting for CATER dataset. Besides, what should we modify in the video.py file?
Thanks in advance!
Best,
Lei

@rayeeli Hi~ have you reproduced the unconditional version of CATER dataset successfully? I am also trying to reproduce it, but having some problems with it.

See https://github.com/google-research/slot-attention-video/issues/11


Starts momentarily then closes

After upgrading my ubuntu from 22 to 24, I am getting this error with trayscale, it was working great before, and now it's broken.
I tried to uninstall and install the flatpack again but not joy.
Here is the error when I try to launch it:
2024/09/01 08:52:49 systray error: failed to request name: org.freedesktop.DBus.Error.ServiceUnknown
2024/09/01 08:52:49 ERROR get waiting files err="500 Internal Server Error: Taildrop disabled; no storage directory"
2024/09/01 08:52:49 ERROR adw_application_window_set_content: assertion 'gtk_widget_get_parent (content) == NULL' failed glib_old_log_api=1 priority=4 glib_domain=Adwaita
2024/09/01 08:52:49 ERROR get waiting files err="500 Internal Server Error: Taildrop disabled; no storage directory"

** (process:10552): WARNING **: 08:52:49.924: Invalid client serial
2024/09/01 08:52:49 systray error: failed to update menu version: write unix @->/run/user/1000/.dbus-proxy/session-bus-proxy-MZGCT2: write: broken pipe
2024/09/01 08:52:54 ERROR get waiting files err="500 Internal Server Error: Taildrop disabled; no storage directory"
panic: dbus: connection closed by user [recovered]
	panic: closure error: unexpected panic caught: dbus: connection closed by user

	Closure added at:
		github.com/diamondburned/gotk4/pkg/glib/v2.IdleAdd at github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:33679
		deedles.dev/trayscale/internal/ui.(*App).Run.func1 at deedles.dev/trayscale/internal/ui/app.go:402
		deedles.dev/trayscale/internal/tsutil.(*Poller).Run at deedles.dev/trayscale/internal/tsutil/poller.go:119

goroutine 1 [running, locked to thread]:
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).Panicf(0xc00039ed80, {0x1f45128, 0x1b}, {0xc0003c9728, 0x1, 0x1})
	github.com/diamondburned/gotk4/pkg@v0.3.1/core/closure/funcstack.go:104 +0x908
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).TryRepanic(0xc00039ed80)
	github.com/diamondburned/gotk4/pkg@v0.3.1/core/closure/funcstack.go:122 +0xbc
panic({0x1c14000?, 0x3982710?})
	runtime/panic.go:785 +0x132
github.com/godbus/dbus/v5/prop.(*Properties).SetMust(0xc000316200, {0x1f4334e, 0x1a}, {0x1f304e8, 0xa}, {0x1b72b40, 0xc000221080})
	github.com/godbus/dbus/v5@v5.1.1-0.20230522191255-76236955d466/prop/prop.go:346 +0xeb
fyne.io/systray.SetIcon({0x39ef300?, 0x578d13?, 0xc0000ec30b?})
	fyne.io/systray@v1.11.0/systray_unix.go:62 +0x1e6
deedles.dev/trayscale/internal/tray.(*Tray).Update(0xc000326020, {0xc00034a5b0, 0xc00019e140, {0x0, 0x0, 0x0}})
	deedles.dev/trayscale/internal/tray/tray.go:79 +0x13c
deedles.dev/trayscale/internal/ui.(*App).update(0xc000112060, {0xc00034a5b0, 0xc00019e140, {0x0, 0x0, 0x0}})
	deedles.dev/trayscale/internal/ui/app.go:165 +0xce
deedles.dev/trayscale/internal/ui.(*App).Run.func1.1()
	deedles.dev/trayscale/internal/ui/app.go:402 +0x2b
github.com/diamondburned/gotk4/pkg/core/glib._gotk4_sourceFunc(0x100d)
	github.com/diamondburned/gotk4/pkg@v0.3.1/core/glib/glib.go:352 +0xd9
github.com/diamondburned/gotk4/pkg/gio/v2._Cfunc_g_application_run(0x4746ed0, 0x1, 0x4a4f760)
	_cgo_gotypes.go:14091 +0x4b
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run.func3(0x4746ed0, 0x1, 0x4a4f760)
	github.com/diamondburned/gotk4/pkg@v0.3.1/gio/v2/gio.go:42200 +0x67
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run(0xc00012e000, {0xc0000360a0, 0x1, 0x1})
	github.com/diamondburned/gotk4/pkg@v0.3.1/gio/v2/gio.go:42200 +0x1f1
deedles.dev/trayscale/internal/ui.(*App).Run(0xc000112060, {0x21be9e8?, 0xc000256ec0?})
	deedles.dev/trayscale/internal/ui/app.go:411 +0x2df
main.main()
	deedles.dev/trayscale/cmd/trayscale/trayscale.go:49 +0xae

Looks like a D-Bus problem. There's a panic happening when Gtk4 tries to initialize the application. It connects to the Flatpak D-Bus proxy, but then suddenly its connection gets closed and that causes a panic. I'm about 99% sure this is not a bug in Trayscale. It might be a bug in the Flatpak package, but it seems more likely that there's something weird going on with D-Bus on your system.

I am seeing the same issue, Fedora 40, Trayscale 0.13.4. I noticed this error some time after testing Wayland, but I am unable to confirm if this is caused by this. I have tested many changes with Flatseal around permissions, but I did not succeed.
When running with flatpak run dev.deedles.Trayscale, I can see the following error after a while (Trayscale closes at 18:15:55, about 5 minutes after starting):
$ flatpak run dev.deedles.Trayscale
2024/09/02 18:10:53 systray error: failed to request name: org.freedesktop.DBus.Error.ServiceUnknown
2024/09/02 18:10:53 ERROR adw_application_window_set_content: assertion 'gtk_widget_get_parent (content) == NULL' failed glib_old_log_api=1 priority=4 glib_domain=Adwaita
** (process:10297): WARNING **: 18:15:55.411: Invalid client serial
panic: dbus: connection closed by user [recovered]
panic: closure error: unexpected panic caught: dbus: connection closed by user
Closure added at:
	github.com/diamondburned/gotk4/pkg/glib/v2.IdleAdd at github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:33679
	deedles.dev/trayscale/internal/ui.(*App).Run.func1 at deedles.dev/trayscale/internal/ui/app.go:402
	deedles.dev/trayscale/internal/tsutil.(*Poller).Run at deedles.dev/trayscale/internal/tsutil/poller.go:119

goroutine 1 [running, locked to thread]:
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).Panicf(0xc000230c00, {0x1f45128, 0x1b}, {0xc000053728, 0x1, 0x1})
github.com/diamondburned/gotk4/pkg@v0.3.1/core/closure/funcstack.go:104 +0x908
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).TryRepanic(0xc000230c00)
github.com/diamondburned/gotk4/pkg@v0.3.1/core/closure/funcstack.go:122 +0xbc
panic({0x1c14000?, 0x3982710?})
runtime/panic.go:785 +0x132
github.com/godbus/dbus/v5/prop.(*Properties).SetMust(0xc000254e00, {0x1f4334e, 0x1a}, {0x1f304e8, 0xa}, {0x1b72b40, 0xc00012e030})
github.com/godbus/dbus/v5@v5.1.1-0.20230522191255-76236955d466/prop/prop.go:346 +0xeb
fyne.io/systray.SetIcon({0x39ec180?, 0x578d13?, 0xc000053a18?})
fyne.io/systray@v1.11.0/systray_unix.go:62 +0x1e6
deedles.dev/trayscale/internal/tray.(*Tray).Update(0xc0002a6020, {0xc000322270, 0xc00017c140, {0x0, 0x0, 0x0}})
deedles.dev/trayscale/internal/tray/tray.go:79 +0x13c
deedles.dev/trayscale/internal/ui.(*App).update(0xc000112060, {0xc000322270, 0xc00017c140, {0x0, 0x0, 0x0}})
deedles.dev/trayscale/internal/ui/app.go:165 +0xce
deedles.dev/trayscale/internal/ui.(*App).Run.func1.1()
deedles.dev/trayscale/internal/ui/app.go:402 +0x2b
github.com/diamondburned/gotk4/pkg/core/glib._gotk4_sourceFunc(0x100c)
github.com/diamondburned/gotk4/pkg@v0.3.1/core/glib/glib.go:352 +0xd9
github.com/diamondburned/gotk4/pkg/gio/v2._Cfunc_g_application_run(0x17b7eed0, 0x1, 0x17d01020)
_cgo_gotypes.go:14091 +0x4b
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run.func3(0x17b7eed0, 0x1, 0x17d01020)
github.com/diamondburned/gotk4/pkg@v0.3.1/gio/v2/gio.go:42200 +0x67
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run(0xc00012e000, {0xc0000360a0, 0x1, 0x1})
github.com/diamondburned/gotk4/pkg@v0.3.1/gio/v2/gio.go:42200 +0x1f1
deedles.dev/trayscale/internal/ui.(*App).Run(0xc000112060, {0x21be9e8?, 0xc000254d00?})
deedles.dev/trayscale/internal/ui/app.go:411 +0x2df
main.main()
deedles.dev/trayscale/cmd/trayscale/trayscale.go:49 +0xae

In my specific issue, it seems it is now working by enabling 'D-Bus session bus' in Flatseal, which I did not try before.
(or running: $ flatpak run --socket=session-bus dev.deedles.Trayscale)
It seems I no longer get the first 'systray error' that I was originally getting:
$ flatpak run dev.deedles.Trayscale
2024/09/02 20:14:42 systray error: failed to request name: org.freedesktop.DBus.Error.ServiceUnknown
2024/09/02 20:14:42 ERROR adw_application_window_set_content: assertion 'gtk_widget_get_parent (content) == NULL' failed glib_old_log_api=1 priority=4 glib_domain=Adwaita

(followed by a crash)
With session-bus:
$ flatpak run --socket=session-bus dev.deedles.Trayscale
2024/09/02 20:15:17 ERROR adw_application_window_set_content: assertion 'gtk_widget_get_parent (content) == NULL' failed glib_old_log_api=1 priority=4 glib_domain=Adwaita

So with this configuration change, it seem it is resolved for me for now.
As the same error appears in the original report from @MudDev, it could be worth checking if this helps.
Should this be enabled in the flatpak by default?

That systray error is caused by that, but that's not a fatal error. I get that on my machine, too, but without a crash. In fact, the code that produces that error in the fyne.io/systray package is
if err != nil {
        log.Printf("systray error: failed to request name: %s\n", err)
        // it's not critical error: continue
}

+1 i also have this error.
** (process:48072): WARNING **: 14:31:51.161: Invalid client serial
panic: dbus: connection closed by user [recovered]
panic: closure error: unexpected panic caught: dbus: connection closed by user
Closure added at:
	github.com/diamondburned/gotk4/pkg/glib/v2.IdleAdd at github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:33679
	deedles.dev/trayscale/internal/ui.(*App).Run.func1 at deedles.dev/trayscale/internal/ui/app.go:402
	deedles.dev/trayscale/internal/tsutil.(*Poller).Run at deedles.dev/trayscale/internal/tsutil/poller.go:119

goroutine 1 [running, locked to thread]:
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).Panicf(0xc0000de810, {0x1f45128, 0x1b}, {0xc0002cb728, 0x1, 0x1})
github.com/diamondburned/gotk4/pkg@v0.3.1/core/closure/funcstack.go:104 +0x908
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).TryRepanic(0xc0000de810)
github.com/diamondburned/gotk4/pkg@v0.3.1/core/closure/funcstack.go:122 +0xbc
panic({0x1c14000?, 0x3982710?})
runtime/panic.go:785 +0x132
github.com/godbus/dbus/v5/prop.(*Properties).SetMust(0xc0003ca0c0, {0x1f4334e, 0x1a}, {0x1f304e8, 0xa}, {0x1b72b40, 0xc00038a000})
github.com/godbus/dbus/v5@v5.1.1-0.20230522191255-76236955d466/prop/prop.go:346 +0xeb
fyne.io/systray.SetIcon({0x39ec180?, 0x578d13?, 0xc000053a18?})
fyne.io/systray@v1.11.0/systray_unix.go:62 +0x1e6
deedles.dev/trayscale/internal/tray.(*Tray).Update(0xc0000ba040, {0xc000321110, 0xc000196140, {0x0, 0x0, 0x0}})
deedles.dev/trayscale/internal/tray/tray.go:79 +0x13c
deedles.dev/trayscale/internal/ui.(*App).update(0xc00013c600, {0xc000321110, 0xc000196140, {0x0, 0x0, 0x0}})
deedles.dev/trayscale/internal/ui/app.go:165 +0xce
deedles.dev/trayscale/internal/ui.(*App).Run.func1.1()
deedles.dev/trayscale/internal/ui/app.go:402 +0x2b
github.com/diamondburned/gotk4/pkg/core/glib._gotk4_sourceFunc(0x1039)
github.com/diamondburned/gotk4/pkg@v0.3.1/core/glib/glib.go:352 +0xd9
github.com/diamondburned/gotk4/pkg/gio/v2._Cfunc_g_application_run(0x3d5ced0, 0x1, 0x3ed53c0)
_cgo_gotypes.go:14091 +0x4b
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run.func3(0x3d5ced0, 0x1, 0x3ed53c0)
github.com/diamondburned/gotk4/pkg@v0.3.1/gio/v2/gio.go:42200 +0x67
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run(0xc000221110, {0xc000122050, 0x1, 0x1})
github.com/diamondburned/gotk4/pkg@v0.3.1/gio/v2/gio.go:42200 +0x1f1
deedles.dev/trayscale/internal/ui.(*App).Run(0xc00013c600, {0x21be9e8?, 0xc00025ae80?})
deedles.dev/trayscale/internal/ui/app.go:411 +0x2df
main.main()
deedles.dev/trayscale/cmd/trayscale/trayscale.go:49 +0xae
it happens after a few minutes. i also use ubuntu 24.04 with the flatpak version

@issinoho, you should also be able to override the permissions for the flatpak. I recommend Flatseal for dealing with that kind of thing.
I'd really like to figure out what exactly is failing here rather than having to open it up to full session bus access. Could you try running it without --socket=session-bus and with --log-session-bus and posting the output here, please? That might help me figure out what's going on.

Ok, here we go...
$ flatpak run --log-session-bus dev.deedles.Trayscale
C1: -> org.freedesktop.DBus call org.freedesktop.DBus.Hello at /org/freedesktop/DBus
C2: -> org.freedesktop.DBus fake AddMatch for org.kde.StatusNotifierWatcher
C3: -> org.freedesktop.DBus fake GetNameOwner for org.kde.StatusNotifierWatcher
C4: -> org.freedesktop.DBus fake wildcarded AddMatch for dev.deedles.Trayscale
C5: -> org.freedesktop.DBus fake AddMatch for org.freedesktop.Notifications
C6: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.Notifications
C7: -> org.freedesktop.DBus fake wildcarded AddMatch for org.freedesktop.portal
C8: -> org.freedesktop.DBus fake wildcarded AddMatch for org.mpris.MediaPlayer2.dev.deedles.Trayscale
C9: -> org.freedesktop.DBus fake ListNames
B1: <- org.freedesktop.DBus return from C1
B2: <- org.freedesktop.DBus signal org.freedesktop.DBus.NameAcquired at /org/freedesktop/DBus
B3: <- org.freedesktop.DBus return from C2
*SKIPPED*
B4: <- org.freedesktop.DBus return from C3
*SKIPPED*
B5: <- org.freedesktop.DBus return from C4
*SKIPPED*
B6: <- org.freedesktop.DBus return from C5
*SKIPPED*
B7: <- org.freedesktop.DBus return from C6
*SKIPPED*
B8: <- org.freedesktop.DBus return from C7
*SKIPPED*
B9: <- org.freedesktop.DBus return from C8
*SKIPPED*
B10: <- org.freedesktop.DBus return from C9
C10: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.DBus
C11: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.Notifications
C12: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.Desktop
C13: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.Documents
C14: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.portal.IBus
C15: -> org.freedesktop.DBus fake GetNameOwner for org.kde.StatusNotifierWatcher
*SKIPPED*
B11: <- org.freedesktop.DBus return from C10
*SKIPPED*
B12: <- org.freedesktop.DBus return from C11
*SKIPPED*
B13: <- org.freedesktop.DBus return from C12
*SKIPPED*
B14: <- org.freedesktop.DBus return from C13
*SKIPPED*
B15: <- org.freedesktop.DBus return from C14
*SKIPPED*
B16: <- org.freedesktop.DBus return from C15
*SKIPPED*
C16: -> org.freedesktop.DBus call org.freedesktop.DBus.AddMatch at /org/freedesktop/DBus
C17: -> org.freedesktop.DBus call org.freedesktop.DBus.StartServiceByName at /org/freedesktop/DBus
Filtering message due to arg0 org.gtk.vfs.Daemon, policy: 0 (required 2)
*HIDDEN* (ping)
B17: <- org.freedesktop.DBus return from C16
B18: <- (no sender) return from C17
*REWRITTEN*
C18: -> org.freedesktop.DBus call org.freedesktop.DBus.GetNameOwner at /org/freedesktop/DBus
Filtering message due to arg0 org.gtk.vfs.Daemon, policy: 0 (required 1)
B19: <- (no sender) return from C18
*REWRITTEN*
C19: -> org.gtk.vfs.Daemon call org.gtk.vfs.MountTracker.ListMountableInfo at /org/gtk/vfs/mounttracker
*HIDDEN* (ping)
B20: <- (no sender) return from C19
*REWRITTEN*
C20: -> org.freedesktop.DBus call org.freedesktop.DBus.RemoveMatch at /org/freedesktop/DBus
B21: <- org.freedesktop.DBus return from C20
C1: -> org.freedesktop.DBus call org.freedesktop.DBus.Hello at /org/freedesktop/DBus
C2: -> org.freedesktop.DBus fake AddMatch for org.kde.StatusNotifierWatcher
C3: -> org.freedesktop.DBus fake GetNameOwner for org.kde.StatusNotifierWatcher
C4: -> org.freedesktop.DBus fake wildcarded AddMatch for dev.deedles.Trayscale
C5: -> org.freedesktop.DBus fake AddMatch for org.freedesktop.Notifications
C6: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.Notifications
C7: -> org.freedesktop.DBus fake wildcarded AddMatch for org.freedesktop.portal
C8: -> org.freedesktop.DBus fake wildcarded AddMatch for org.mpris.MediaPlayer2.dev.deedles.Trayscale
C9: -> org.freedesktop.DBus fake ListNames
C1: -> org.freedesktop.DBus call org.freedesktop.DBus.Hello at /org/freedesktop/DBus
C2: -> org.freedesktop.DBus fake AddMatch for org.kde.StatusNotifierWatcher
C3: -> org.freedesktop.DBus fake GetNameOwner for org.kde.StatusNotifierWatcher
C4: -> org.freedesktop.DBus fake wildcarded AddMatch for dev.deedles.Trayscale
C5: -> org.freedesktop.DBus fake AddMatch for org.freedesktop.Notifications
C6: -> org.freedesktop.DBus fake GetNameOwner for org.freedesktop.Notifications
C7: -> org.freedesktop.DBus fake wildcarded AddMatch for org.freedesktop.portal
C8: -> org.freedesktop.DBus fake wildcarded AddMatch for org.mpris.MediaPlayer2.dev.deedles.Trayscale
C9: -> org.freedesktop.DBus fake ListNames
B1: <- org.freedesktop.DBus return from C1
B2: <- org.freedesktop.DBus signal org.freedesktop.DBus.NameAcquired at /org/freedesktop/DBus
B3: <- org.freedesktop.DBus return from C2

Then lots of repeating information, and finally the exit.
B208193: <- :1.40 call org.freedesktop.DBus.Properties.Get at /StatusNotifierItem
C6575: -> :1.40 return from B208192
C6576: -> :1.40 return error org.freedesktop.DBus.Properties.Error.PropertyNotFound from B208193
C6577: -> all signal org.freedesktop.DBus.Properties.PropertiesChanged at /StatusNotifierItem
C6578: -> all signal org.kde.StatusNotifierItem.NewIcon at /StatusNotifierItem
C6579: -> all signal org.freedesktop.DBus.Properties.PropertiesChanged at /StatusNotifierMenu
C6580: -> all signal com.canonical.dbusmenu.LayoutUpdated at /StatusNotifierMenu
C6581: -> all signal org.freedesktop.DBus.Properties.PropertiesChanged at /StatusNotifierMenu
C6582: -> all signal com.canonical.dbusmenu.LayoutUpdated at /StatusNotifierMenu
C6583: -> all signal org.freedesktop.DBus.Properties.PropertiesChanged at /StatusNotifierMenu
C6584: -> all signal com.canonical.dbusmenu.LayoutUpdated at /StatusNotifierMenu
B208194: <- :1.40 call org.freedesktop.DBus.Properties.Get at /StatusNotifierItem
B208195: <- :1.40 call org.freedesktop.DBus.Properties.Get at /StatusNotifierItem
B208196: <- :1.40 call org.freedesktop.DBus.Properties.Get at /StatusNotifierItem
C6585: -> :1.40 return error org.freedesktop.DBus.Properties.Error.PropertyNotFound from B208196
C6587: -> :1.40 return from B208195

** (process:497742): WARNING **: 16:00:09.160: Invalid client serial
panic: dbus: connection closed by user [recovered]
	panic: closure error: unexpected panic caught: dbus: connection closed by user

	Closure added at:
		github.com/diamondburned/gotk4/pkg/glib/v2.IdleAdd at github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:33679
		deedles.dev/trayscale/internal/ui.(*App).Run.func1 at deedles.dev/trayscale/internal/ui/app.go:402
		deedles.dev/trayscale/internal/tsutil.(*Poller).Run at deedles.dev/trayscale/internal/tsutil/poller.go:121

goroutine 1 [running, locked to thread]:
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).Panicf(0xc000124f60, {0x1f54aee, 0x1b}, {0xc000053728, 0x1, 0x1})
	github.com/diamondburned/gotk4/pkg@v0.3.1/core/closure/funcstack.go:104 +0x908
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).TryRepanic(0xc000124f60)
	github.com/diamondburned/gotk4/pkg@v0.3.1/core/closure/funcstack.go:122 +0xbc
panic({0x1c21a40?, 0x39a7740?})
	runtime/panic.go:785 +0x132
github.com/godbus/dbus/v5/prop.(*Properties).SetMust(0xc000296200, {0x1f52cdf, 0x1a}, {0x1f3fc8e, 0xa}, {0x1b7f6c0, 0xc000220db0})
	github.com/godbus/dbus/v5@v5.1.1-0.20230522191255-76236955d466/prop/prop.go:346 +0xeb
fyne.io/systray.SetIcon({0x3a115e0?, 0x5792cf?, 0x7bd98f1c0a68?})
	fyne.io/systray@v1.11.0/systray_unix.go:62 +0x1e6
deedles.dev/trayscale/internal/tray.(*Tray).Update(0xc0002a6020, {0xc0000d0820, 0xc00019e3c0, {0x0, 0x0, 0x0}})
	deedles.dev/trayscale/internal/tray/tray.go:79 +0x13c
deedles.dev/trayscale/internal/ui.(*App).update(0xc000112060, {0xc0000d0820, 0xc00019e3c0, {0x0, 0x0, 0x0}})
	deedles.dev/trayscale/internal/ui/app.go:165 +0xce
deedles.dev/trayscale/internal/ui.(*App).Run.func1.1()
	deedles.dev/trayscale/internal/ui/app.go:402 +0x2b
github.com/diamondburned/gotk4/pkg/core/glib._gotk4_sourceFunc(0x100c)
	github.com/diamondburned/gotk4/pkg@v0.3.1/core/glib/glib.go:352 +0xd9
github.com/diamondburned/gotk4/pkg/gio/v2._Cfunc_g_application_run(0x3f93ed0, 0x1, 0x42c6730)
	_cgo_gotypes.go:14091 +0x4b
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run.func3(0x3f93ed0, 0x1, 0x42c6730)
	github.com/diamondburned/gotk4/pkg@v0.3.1/gio/v2/gio.go:42200 +0x67
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run(0xc00012e000, {0xc0000360a0, 0x1, 0x1})
	github.com/diamondburned/gotk4/pkg@v0.3.1/gio/v2/gio.go:42200 +0x1f1
deedles.dev/trayscale/internal/ui.(*App).Run(0xc000112060, {0x21d1738?, 0xc000257180?})
	deedles.dev/trayscale/internal/ui/app.go:411 +0x2df
main.main()
	deedles.dev/trayscale/cmd/trayscale/trayscale.go:49 +0xae

Crashed very quickly...
$ flatpak run '--own-name=org.kde.*' dev.deedles.Trayscale
2024/11/11 19:31:05 ERROR adw_application_window_set_content: assertion 'gtk_widget_get_parent (content) == NULL' failed glib_old_log_api=1 priority=4 glib_domain=Adwaita
2024/11/11 19:31:28 ERROR adw_application_window_set_content: assertion 'gtk_widget_get_parent (content) == NULL' failed glib_old_log_api=1 priority=4 glib_domain=Adwaita

** (process:508022): WARNING **: 19:31:29.928: Invalid client serial
panic: dbus: connection closed by user [recovered]
	panic: closure error: unexpected panic caught: dbus: connection closed by user

	Closure added at:
		github.com/diamondburned/gotk4/pkg/glib/v2.IdleAdd at github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:33679
		deedles.dev/trayscale/internal/ui.(*App).Run.func1 at deedles.dev/trayscale/internal/ui/app.go:402
		deedles.dev/trayscale/internal/tsutil.(*Poller).Run at deedles.dev/trayscale/internal/tsutil/poller.go:121

goroutine 1 [running, locked to thread]:
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).Panicf(0xc00044fc80, {0x1f54aee, 0x1b}, {0xc000143728, 0x1, 0x1})
	github.com/diamondburned/gotk4/pkg@v0.3.1/core/closure/funcstack.go:104 +0x908
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).TryRepanic(0xc00044fc80)
	github.com/diamondburned/gotk4/pkg@v0.3.1/core/closure/funcstack.go:122 +0xbc
panic({0x1c21a40?, 0x39a7740?})
	runtime/panic.go:785 +0x132
github.com/godbus/dbus/v5/prop.(*Properties).SetMust(0xc0001341c0, {0x1f52cdf, 0x1a}, {0x1f3fc8e, 0xa}, {0x1b7f6c0, 0xc00028e780})
	github.com/godbus/dbus/v5@v5.1.1-0.20230522191255-76236955d466/prop/prop.go:346 +0xeb
fyne.io/systray.SetIcon({0x3a115e0?, 0x579073?, 0x78f8329745b8?})
	fyne.io/systray@v1.11.0/systray_unix.go:62 +0x1e6
deedles.dev/trayscale/internal/tray.(*Tray).Update(0xc00032e020, {0xc000295520, 0xc00025c280, {0x0, 0x0, 0x0}})
	deedles.dev/trayscale/internal/tray/tray.go:79 +0x13c
deedles.dev/trayscale/internal/ui.(*App).update(0xc0000aa6c0, {0xc000295520, 0xc00025c280, {0x0, 0x0, 0x0}})
	deedles.dev/trayscale/internal/ui/app.go:165 +0xce
deedles.dev/trayscale/internal/ui.(*App).Run.func1.1()
	deedles.dev/trayscale/internal/ui/app.go:402 +0x2b
github.com/diamondburned/gotk4/pkg/core/glib._gotk4_sourceFunc(0x100c)
	github.com/diamondburned/gotk4/pkg@v0.3.1/core/glib/glib.go:352 +0xd9
github.com/diamondburned/gotk4/pkg/gio/v2._Cfunc_g_application_run(0x46fced0, 0x1, 0x4a2f8b0)
	_cgo_gotypes.go:14091 +0x4b
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run.func3(0x46fced0, 0x1, 0x4a2f8b0)
	github.com/diamondburned/gotk4/pkg@v0.3.1/gio/v2/gio.go:42200 +0x67
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run(0xc000221110, {0xc0000360a0, 0x1, 0x1})
	github.com/diamondburned/gotk4/pkg@v0.3.1/gio/v2/gio.go:42200 +0x1f1
deedles.dev/trayscale/internal/ui.(*App).Run(0xc0000aa6c0, {0x21d1738?, 0xc000257200?})
	deedles.dev/trayscale/internal/ui/app.go:411 +0x2df
main.main()
	deedles.dev/trayscale/cmd/trayscale/trayscale.go:49 +0xae


[Feature][Task] K8s namespace auth manager

Purpose of the pull request
Namespaces are managed with permissions that are created by the administrator and authorized to be used by ordinary users
Brief change log

Add unauth-namespace,authed-namespace,available-list to K8sNamespaceController
Add K8sNamespaceUserMapper to dao
Update some code to k8s api,service

Verify this pull request

This change added tests and can be verified as follows:

Added some tests to K8sNamespaceControllerTest.
Added some tests to UsersControllerTest.
Added some tests to K8SNamespaceServiceTest.

close #9252

Codecov Report

Merging #9303 (19bba99) into dev (9d68b17) will decrease coverage by 0.25%.
The diff coverage is 27.92%.

:exclamation: Current head 19bba99 differs from pull request most recent head a7945ea. Consider uploading reports for the commit a7945ea to get more accurate results

@@             Coverage Diff              @@
##                dev    #9303      +/-   ##
============================================
- Coverage     40.25%   39.99%   -0.26%
+ Complexity     4390     4389       -1
============================================
  Files           820      823       +3
  Lines         32834    33027     +193
  Branches       3650     3673      +23
============================================
- Hits          13216    13208       -8
- Misses        18382    18583     +201
  Partials       1236     1236

Impacted Files
Coverage Δ

...lphinscheduler/api/controller/UsersController.java
59.25% <0.00%> (-2.28%)
:arrow_down:

...ache/dolphinscheduler/dao/entity/K8sNamespace.java
0.00% <0.00%> (ø)

.../dolphinscheduler/dao/entity/K8sNamespaceUser.java
0.00% <0.00%> (ø)

...rver/master/processor/queue/TaskExecuteThread.java
0.00% <0.00%> (ø)

.../master/processor/queue/TaskExecuteThreadPool.java
2.17% <2.17%> (ø)

...heduler/api/controller/K8sNamespaceController.java
70.00% <63.63%> (-1.43%)
:arrow_down:

...erver/master/processor/queue/TaskEventService.java
59.18% <66.66%> (-8.71%)
:arrow_down:

...uler/api/service/impl/K8SNamespaceServiceImpl.java
73.91% <71.69%> (ø)

...inscheduler/api/service/impl/UsersServiceImpl.java
80.81% <86.36%> (+0.27%)
:arrow_up:

.../org/apache/dolphinscheduler/api/enums/Status.java
100.00% <100.00%> (ø)

... and 5 more

Continue to review full report at Codecov.

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

@songjianet please take a look of UI part, thanks.

BTW, @qianli2022 please update the doc too, DS had put the doc part into code repository, so it should update the code and doc  synchronously.

There are two problems here:

We will not perform non-bug functional maintenance on the old ui, we will gradually eliminate the old ui
For the new UI changes, you added an interface method, but it is not actually used, I don't know why

PTAL again @songjianet the next-ui had added.

The changes of the old ui can be reverted, because we will not do any non-bug processing on the old ui.


Move to vendor + go1.6

Current coverage is 25.57%

Merging #1544 into master will decrease coverage by -32.34% as of d3f8ce0

@@            master   #1544   diff @@
======================================
  Files          122     341     +219
  Stmts        10612   34638   +24026
  Branches       839    1267     +428
  Methods          0       0
======================================
+ Hit           6146    8857    +2711
- Partial        839    1267     +428
- Missed        3627   24514   +20887

Review entire Coverage Diff as of d3f8ce0

Uncovered Suggestions

+0.58% via ...mespath/functions.go#125...325
+0.15% via .../yaml.v2/scannerc.go#2365...2416
+0.14% via .../yaml.v2/emitterc.go#1460...1509
See 7 more...

Powered by Codecov. Updated on successful CI builds.

:clap: :gem:

@RichardScothern ready when you are.

@RichardScothern fixed godeps - added two makefile targets dep-save a

@RichardScothern fixed godeps.

Not sure what all the removals are for but then if it builds...

LGTM

LGTM

This is great! Thanks for making it happen.
I would like to avoid running dep-validate unless the vendor directory has been updated. This would speed up CI and avoid hitting github so hard.
I think we could do this with something like:
if test -n "`git diff --stat=1000 master | grep vendor/`"; then
    make dep-validate
fi

This could be done in a followup PR if it's more convenient

LGTM. As far as I know the GCS code builds perfectly fine without all the appengine stuff. I added them, because godep insisted on having those when running godep save.


Make things work on other notebook implementations

Closes #53. Might do the same for #57.
I confirmed that this works on VS Code. To this end, I applied two changes:

[x] The initialization of the widget size is now more reliable. We already needed a timer earlier to set the widget's size after a short delay. In turned out that this was not enough for VS Code. A longer timeout works, but this starts getting iffy and unreliable if e.g. your PR happens to perform an update. Instead the css size values are checked when the size changes.
[x] I removed the smart initial snapshot trick, because I fear it might be fragile on some implementations.
[x] The above made the snapshots disappear from our docs, so I added a bit of doc pre-processing to make that work again.

RTR @djhoese. The changes to the examples are simply re-rendering with the slightly different snapshot output.

Thanks for trying this out! Doesn't work in collab yet unfortunately, same issue with just the snapshot appearing.
I looked into it a bit and it seems like collab uses a CDN for non-standard widgets? I posted an issue there a while ago to try and get more info. https://github.com/googlecolab/colab-cdn-widget-manager

@kushalkolar I think that its still using an earlier version. I can tell because it says "initial snapshot" - the new version's snapshot is simply called "snapshot" :)

I'm going to merge this now and publish a release.


Allow cmake to build as both a standalone project as well as a subproject (ie add_subdirectory(mkl-dnn))

Does that cover them all?

@cjolivier01,
Thank you so much for the contribution!
Ideally I should've asked you to unite 1st and 3rd commits together, and then do merge-via-rebase, cause we try to keep history linear. But that would take yet another day. So I decided to do squashing-merge.
Hope you don't mind.
Thanks once more! Looking forward for new PRs :)


updated interested-technical-writers-list

added my portfolio

patch-4 pull request

Hi! Would you please make a new pull request adding your information in alphabetical order by surname/family name? If you only use one name, alphabetize under that name. If you have questions about where your name would go in order, please reply to this comment. (Please alphabetize by more than the first letter: for example, Cat would go after Call but before Cave.)
The names are LISTED firstname, surname, but they are alphabetized by surname. So if you have:
Anwar Able
Bill Lion
Caesar Sun
Someone named Amy Pleasant would go between Bill Lion and Caesar Sun.


Update README.md

Fix broken link in README
Summary

Fixes
Depends on
Test plan

Screenshots

Checklist

[ ] My code follows the code style of this project and passes make format.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] My change has adequate unit test coverage.

The change in the pull request is updating the link in the README.md file to point to the correct location of the .docker/README.md file.
No further review is necessary.


Rack::Lint not allowing non String variables

See https://github.com/rack/rack/blob/master/lib/rack/lint.rb#L274:
next  if key.include? "."   # Skip extensions
assert("env variable #{key} has non-string value #{value.inspect}") {

I got this assertion since env['warden'] is the Proxy. Should it be renamed to env['warden.proxy']?

I'd be down for that. Could you provide a PR?

Hmm... long time ago.. I cannot really remember when/why I got this error.
When I come by it I will definitely create a PR :)


Explorer better way to define AEPError

the current AEPError is not extensible, extensions could not define a new error for themselves.

This is just my quick take on this.
I'm not aware of a good way to extend an existing error in Swift, my opinion would be to rename AEPError to AEPCoreError, then we could set the pattern that each extension can define their own errors something like AEPEdgeError, AEPIdentityError, so that we at least set a pattern that is extensible.

@nporter-adbe
yes, hard to find a perfect solution.
So currently I'm thinking we can just add more cases to AEPError, hopefully, to cover most of the use cases.
And for public API, to better fit into the normal practice of Swfit/Objc, we should return an optional Error.
So  change static func appendTo(url: URL?, completion: @escaping (URL?, AEPError) -> Void) { to static func appendTo(url: URL?, completion: @escaping (URL?, Error?) -> Void) {
cc @yangyansong-adbe


Update to latest version of dependencies

A few code changes needed to be compatible with the latest version of ouroboros-consensus.

The commit on ouroboros-network you're referring to is broken. I would go for: 1ba18b908f6b6389ceefebd58d78e6c34e4528bf (a few optimisation from https://github.com/input-output-hk/ouroboros-network/pull/1378) or even https://github.com/input-output-hk/ouroboros-network/commit/0d6474c160aa994d2840188035a123dc8de9bd62 (before https://github.com/input-output-hk/ouroboros-network/pull/1378)

When https://github.com/input-output-hk/ouroboros-network/pull/1389 is merged, you could use that. One breaking change: onEachChange now returns something, so use void in Cardano.Node.Run to ignore it (it's safe to do so).

bors r+

bors r+


xvfb-run doesn't exist on windows

By default, drawio_headless is True. But that triggers errors on windows.
Autodetecting windows and setting drawio_headless to False removes one troubleshooting step for users on windows.

I've decided to rework how this is done; the reason why I had this as True by default.. was that the CI required headless enabled. Of course, I can just enable it locally...
So this should work now without needing to install xvfb-run.


Updated Kamon bundle dependencies to 2.1.12 version

Description

Update outdated Kamon bundle dependencies to 2.1.12 version
Related issue and scope

[ ] https://github.com/apache/openwhisk/issues/5084

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Scheduler
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[x] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Thank you @joni-jones for the contribution 🎉

Codecov Report

Merging #5085 (84258d6) into master (1753946) will decrease coverage by 7.74%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5085      +/-   ##
==========================================
- Coverage   82.80%   75.05%   -7.75%
==========================================
  Files         207      218      +11
  Lines       10034    10838     +804
  Branches      444      480      +36
==========================================
- Hits         8309     8135     -174
- Misses       1725     2703     +978

Impacted Files
Coverage Δ

...core/database/cosmosdb/RxObservableImplicits.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...ore/database/cosmosdb/cache/CacheInvalidator.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...e/database/cosmosdb/cache/ChangeFeedConsumer.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0.00% <0.00%> (-95.85%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0.00% <0.00%> (-93.90%)
:arrow_down:

...tabase/cosmosdb/cache/CacheInvalidatorConfig.scala
0.00% <0.00%> (-92.31%)
:arrow_down:

...enwhisk/connector/kafka/KamonMetricsReporter.scala
0.00% <0.00%> (-83.34%)
:arrow_down:

...e/database/cosmosdb/cache/KafkaEventProducer.scala
0.00% <0.00%> (-78.58%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0.00% <0.00%> (-74.08%)
:arrow_down:

...ore/database/azblob/AzureBlobAttachmentStore.scala
11.53% <0.00%> (-60.58%)
:arrow_down:

... and 31 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 1753946...84258d6. Read the comment docs.


Update Security resource

Review and complete the Security resource section.

We should document the behaviors described at https://github.com/killbill/killbill/pull/1057 at the same time.

https://github.com/killbill/slate/pull/301 -- Security documentation completed and PR reviewed. Ready to be merged.


Add kibana 3.1.3

Kibana 3.1.3 might be useful if somebody wants to use the vector map, which is based on country codes.
According to this ticket Kibana 4.x doesn't support this yet.

It was released 14 days ago: https://github.com/elastic/kibana/releases/tag/v3.1.3, but they still have not released it on the regular releases page.  So I am hesitant to add it since there is not a source of truth for the checksum.

@yosifkit get your point. Then maybe we could add Kibana 3.1.2?

Seems reasonable to add it. I also would suggest filing a bug on the kibana repo so the update shows up on the website.

(or so we get further information about why it wasn't released through the
normal distribution method)

The Elastic team released the Kibana 3-1-3 version. What do we need to close this issue? Download it from this URL?

:laughing:, finally found it on [page 4] (https://www.elastic.co/downloads/past-releases?page=4), they put the wrong year on it.  Looks like we'll have to change the update script so that this one can work without a shasum since they don't seem to publish any on the 3 series.

As per https://www.elastic.co/support/eol, EOL for 3.1.x was 2015-11-15, so I'm going to close this, but it'll stick around as a reference for folks who need it to take the Dockerfile and have their own image. :+1:


Support for mouse buttons 4 and 5

Is your feature request related to a problem? Please describe.
For a project, I need to get when the user presses buttons 4 and 5 to mimic the Windows File Explorer navigation. So I add a handler for the MouseUp event on my main window to call a method when the user clicks on a button of its mouse.
Unfortunately the property: InitialPressMouseButton that has a MouseButton type doesn't have a property to handle the mouse buttons 4 and 5 even if the event method has been called.
Describe the solution you'd like
To complete the MouseButton enum with: Button4 and Button5 properties.
Describe alternatives you've considered
I cannot find any alternative given that the only way to capture the event is to handle the MouseUp event.

It seems that only https://github.com/AvaloniaUI/Avalonia/blob/554aaec5e5cc96c0b4318b6ed1fbf8159f442889/src/Avalonia.Input/PointerPoint.cs#L85-L94 and the MouseButton enum needs to be updated.
Probably was an oversight in https://github.com/AvaloniaUI/Avalonia/pull/3033

Yes thank you, I have achieved to do it with the PointerReleasedEvent.

Why was this issue closed? MouseButton and GetMouseButton were still not updated. Shouldn't they be modified to be up to date with #3033?

Oh yes sorry, it was a misclick when I close another issue


feat: [M3 7015] - Create nodebalancer tab in firewalls landing

Description 📝
Added NodeBalancers in the Firewalls landing page.
Major Changes 🔄

Added new NodeBalancer tab
Added the total number of each product as an integer next to the tab label
Added breadcrumb prefix "Assigned" to Linodes and NodeBalancers

Preview 📷

Before
After

How to test 🧪

Navigate to http://localhost:3000/firewalls
Click on any of your firewalls
Ensure there is an extra NodeBalancers tab
Ensure the number next to the Linodes tab accurately represents the number of assigned linodes
Ensure the Linode tab functionality still works
Ensure the breadcrumb now has "Assigned [Device]", device is either a Linode or NodeBalancer

Just my small change request, everything looks good to me. My other suggestion would be to add some unit tests.

Should we feature flag this?

I created a feature branch for all of our changes and then when we are done we will merge it into develop.


Feature: Dashboard CPU usage graph style

Howdy,
I've posted in the forum and apparently it seems like a feature that users would appreciate; What do you think about changing the CPU usage graph in the dashboard to be the same as the one for State table size/MBUF Usage/Memory usage/Disk usage?
Beside being the same style I think the bars provide more detailed view, always showing the percentage value of the usage.
"Fright" user from the forum kindly provided a proposed code with a practical example. Please find attached the screenshot and the changed code (strings added: 49-52;215-223).
In my opinion, if we add the CPU bar then we can get rid of the current graph as, if I want to have detailed historical CPU data I can add the CPU usage widget.

system_information.widget.php.txt

Hi,
I'm ok with this replacement, but @AdSchellevis should be too before we go ahead.
Cheers,
Franco

is it a replacement or an addition? the screenshot shows both.

Hi
on the forum, I suggested this exactly as an addition. since the graph is convenient in that it displays the history of values
https://forum.opnsense.org/index.php?topic=20003.0

I don't mind adding the current bar as well.

ok! should i make a PR?

sure, go ahead!

Done 😊


Cannot install fsevents with Electron as runtime

Using latest fsevents that brings node-pre-gyp I am no longer able to install this dependency (via chokidar) into VS Code that leverages Electron as framework.
Our npm script for installation configures some environment variables to pick up the correct headers for the embedded node.js version within Electron:
npm_config_disturl=https://atom.io/download/atom-shell \
npm_config_target=$ELECTRON_VERSION \

Running this via npm install yields:
><EMAIL_ADDRESS>install /Users/bpasero/Development/monaco/node_modules/fsevents
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! install error
node-pre-gyp ERR! stack Error: Unsupported target version: 0.37.6
node-pre-gyp ERR! stack     at get_runtime_abi (/Users/bpasero/Development/monaco/node_modules/node-pre-gyp/lib/util/versioning.js:156:23)
node-pre-gyp ERR! stack     at Object.module.exports.evaluate (/Users/bpasero/Development/monaco/node_modules/node-pre-gyp/lib/util/versioning.js:277:19)
node-pre-gyp ERR! stack     at install (/Users/bpasero/Development/monaco/node_modules/node-pre-gyp/lib/install.js:138:31)
node-pre-gyp ERR! stack     at Object.self.commands.(anonymous function) [as install] (/Users/bpasero/Development/monaco/node_modules/node-pre-gyp/lib/node-pre-gyp.js:48:37)
node-pre-gyp ERR! stack     at run (/Users/bpasero/Development/monaco/node_modules/node-pre-gyp/bin/node-pre-gyp:79:30)
node-pre-gyp ERR! stack     at Object.<anonymous> (/Users/bpasero/Development/monaco/node_modules/node-pre-gyp/bin/node-pre-gyp:131:1)
node-pre-gyp ERR! stack     at Module._compile (module.js:413:34)
node-pre-gyp ERR! stack     at Object.Module._extensions..js (module.js:422:10)
node-pre-gyp ERR! stack     at Module.load (module.js:357:32)
node-pre-gyp ERR! stack     at Function.Module._load (module.js:314:12)
node-pre-gyp ERR! System Darwin 15.4.0
node-pre-gyp ERR! command "/usr/local/bin/node" "/Users/bpasero/Development/monaco/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /Users/bpasero/Development/monaco/node_modules/fsevents
node-pre-gyp ERR! node -v v5.10.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.27
node-pre-gyp ERR! not ok
Unsupported target version: 0.37.6
npm WARN<EMAIL_ADDRESS><EMAIL_ADDRESS>install: `node-pre-gyp install --fallback-to-build`
npm WARN<EMAIL_ADDRESS>Exit status 1

This basically means we cannot update to newer versions of chokidar currently.

That's a node-pre-gyp issue, not a fsevents issue.  Presumably you didn't pass --runtime=electron to npm and/or node-pre-gyp.

@bnoordhuis thanks, specifying runtime seems to work. Is there a way to configure this with an environment variable instead of passing it to npm as argument?

I'm reasonably sure export npm_config_runtime=electron should do it.

While I can install now, requiring fsevents from chokidar fails with the following error:
{ [Error: Cannot find module '/Users/bpasero/Development/monaco/node_modules/fsevents/lib/binding/Release/node-v47-darwin-x64/fse.node'] code: 'MODULE_NOT_FOUND' }
I don't think in the older chokidar (without node-pre-gyp) did we have such a long path to require the fse.node. It just lives inside build/Release/fse.node

Give this a try:
FSEVENTS_BUILD_FROM_SOURCE=true npm i strongloop/fsevents#build-from-source

@es128 is the npm i strongloop/fsevents#build-from-source meant to be part of the variable?

Now I am getting a folder after installation electron-v0.37-darwin-x64 but the lookup is actually trying to find it at node-v47-darwin-x64. Do I have to set another environment variable?

No it's not part of the variable, I'm just setting it transiently as I run the command. export FSEVENTS_BUILD_FROM_SOURCE=true should be fine too.
Not sure on the other part. Perhaps try deleting npm_config_runtime=electron from your env when trying this method.

Unfortunatley that returns the "Error: Unsupported target version: 0.37.6" error.

Looks like I need to bump up the node-pre-gyp dependency. Really annoying how it needs to explicitly keep track of all possible versions

I updated the branch, give it a try

@es128 yeah it would be nice if there was a way to tell npm to ignore all of node-pre-gyp if a certain environment variable is set. In my case I am totally fine compiling fsevents each time.
Which branch are we talking about for me to try?

build-from-source
The npm install command I had given you earlier was pulling it from there

@es128 ok is your change having an impact on where the fse.node ends up? Now I am a bit confused if I should still use the runtime option :)

node-pre-gyp changes where the binary goes. What I did was wire node-pre-gyp's --build-from-source option to the env variable so that you're not dependent on the pre-build binaries.
I tried cutting out the node-pre-gyp command entirely, but the bindings.gyp has incompatible changes. Maybe I need to keep trying that route to let it completely defer to node's native build handling.
We could maintain and publish a fork I guess, but then we'd need the same for chokidar. Would be nice if npm allowed users control over swapping out compatible subdependencies

@es128 ok here are the results:
with npm_config_runtime=electron
  SOLINK_MODULE(target) Release/.node
  CXX(target) Release/obj.target/fse/fsevents.o
  SOLINK_MODULE(target) Release/fse.node
  COPY /Users/bpasero/Development/Microsoft/monaco/node_modules/fsevents/lib/binding/Release/electron-v0.37-darwin-x64/fse.node
  TOUCH Release/obj.target/action_after_build.stamp

=> fse.node ends up in electron-v0.37-darwin-x64
=> it fails to load because the folder is expected to be node instead of electron
without npm_config_runtime=electron
it fails to install due to:
node-pre-gyp ERR! UNCAUGHT EXCEPTION
node-pre-gyp ERR! stack Error: Unsupported target version: 0.37.6

Good news is: When I manually rename electron-v0.37-darwin-x64 to node-v0.37-darwin-x64 fsevents works with Electron, so it seems a matter of making that lookup work properly.

Both conditions seem like bugs in node-pre-gyp tbh. @springmeyer could you take a look please?

@bpasero you could also potentially pinch your nose and solve this with your own workaround by scripting the rename of the target dir

Just seeing this. Tied up in a few meetings right now but will digest this and try to help as soon as I can.

+1
I'm having lots of related issues using apm which just wraps npm:
https://github.com/atom/apm/issues/531
https://github.com/hedefalk/apm/commit/454b237ab1673279c4520cc80e921f5e45b814d5
Feels like there's a lot of confusion on node version vs electron version. Currently, I cannot use my own package under atom because it uses chokidar -> fsevents. Atom refuses to load it until I can rebuild for electron but I simply cannot figure out how to do it right now.

This helped me a lot: http://electron.atom.io/docs/tutorial/using-native-node-modules/
# Electron's version.
export npm_config_target=1.2.3
# The architecture of Electron, can be ia32 or x64.
export npm_config_arch=x64
# Download headers for Electron.
export npm_config_disturl=https://atom.io/download/atom-shell
# Tell node-pre-gyp that we are building for Electron.
export npm_config_runtime=electron
# Tell node-pre-gyp to build module from source code.
export npm_config_build_from_source=true
# Install all dependencies, and store cache to ~/.electron-gyp.
HOME=~/.electron-gyp npm install

I've spent hours sorting this out, and it's pretty simple once you get it.
In package.json :
  "optionalDependencies": {
    "fsevents": "^1.2.4"
  },

In webpack main process build, you need this to prevent webpack from trying to resolve dependencies in a way that doesn't make sense in an Electron runtime context.
You do this by declaring fsevents as external:
module.exports = {
  target: 'electron-main',
  externals: {
    'fsevents': "require('fsevents')",
  },

This will not only remove "Critical dependency: the request of a dependency is an expression" warnings you might get so far, but it will also ensure that fsevents is imported with a simple... require('fsevents') at run time.
Of course, fsevents must be natively compiled and embedded in Electron.
electron-rebuild -f simply does the trick, but I've found useful to launch it like this:
DEBUG=* electron-rebuild -f ... in order to figure out what's really going on.
Hope it helps someone !

+1
./node_modules/fsevents/node_modules/node-pre-gyp/lib/info.js
Module not found: Can't resolve 'aws-sdk' in '/tmp/demo/node_modules/fsevents/node_modules/node-pre-gyp/lib'


Key and Treemap Logic Changes

Fixed the items listed below

[x] 2. Large box label display/no box label display as shown on mockup. Results less than 1% are only shown on hover or click.(Ed: This is the popup?)

For Review, please have Lewis/Lillian/Jeff review the changes. Reach out them in slack and leave a note in the comments. Once someone reviews, make a comment in the ticket that this looks good and is approved. Another team member will then merge.
A good review will:
Ensure all bullets are done.
Only files/changes to files are related to the changes described.
Ensure the code runs on your machine locally and works as expected.
Ensure that the tests run on your machine locally
There are no unresolved conflicts/errors with tests for the merge request.

We think that this is done, we removed the irrelevant bullet for a separate issue.


Iox #283 Add overview.md and introduce new docu structure

Pre-Review Checklist for the PR Author

[x] Branch follows the naming format (iox-#123-this-is-a-branch)
[x] Commits messages are according to this guideline

[x] Commit messages have the issue ID (iox-#123 commit text)
[x] Commit messages are signed (git commit -s)
[x] Commit author matches Eclipse Contributor Agreement (and ECA is signed)

[x] Update the PR title

Follow the same conventions as for commit messages
Link to the relevant issue

[x] Relevant issues are linked
[x] Add sensible notes for the reviewer
[x] All checks have passed
[x] Assign PR to reviewer

Notes for Reviewer

Restructed *.md files according to post
Add doc/website/overview.md to introduce key players of iceoryx

Might be split up later into "Who is who" and "API Overview"

Rework icedelivery documentation

Checklist for the PR Reviewer

[ ] Commits are properly organized and messages are according to the guideline
[ ] Code according to our coding style and naming conventions
[ ] Unit tests have been written for new behavior
[ ] Public API changes are documented via doxygen
[ ] Copyright owner are updated in the changed files
[ ] PR title describes the changes

Post-review Checklist for the PR Author

[ ] All open points are addressed and tracked via issues

Post-review Checklist for the Eclipse Committer

[ ] All checkboxes in the PR checklist are checked or crossed out
[ ] Merge

References

Closes #283

Summary
Add and adapt documentation. Will undergo further changes and improvements with 1.0.
Mainly added an overview.md with the goal to get a user started quickly when using iceoryx 0.9.

Open points:

[ ] Build optional/expected benchmark out-of-tree

The table of the CMake switches for customizing the iceoryx_posh build in installation.md is out of sync, but I guess it will be updated in #433 by @dkroenke.

Some of my comments are definetly not a topic for 0.9 but should be discussed for 1.0

I will rework according to the comments that do not involve changing the examples extensively or even the API. API changes like expected of optionals and so on is definitely out of scope here and a topic for 1.0. (Requires discussion).
I am still certain that the basic principles presented here will still apply, the data types may change somewhat with further specialization and simplification but functional programming usage should remain an option.


Added the Login and Sign-Up functionality

Updated Sign-Up Screen and Login Screen for better visibility and to maintain a consistent theme across all pages. Fixed #207

@ParthNakum21 make an endpoint or button to test / debug login ui.

@ParthNakum21 make an endpoint or button to test / debug login ui. I gave level 3 to this issue because I wanted you to actually build login functionality with firebase.

I am working on that part.
Please let me know if you need any changes in the UI.

@ParthNakum21 not working just showing heading login / signup

@ParthNakum21 so I tell you what someone has already prepared the login functionality and his own design . You prepare the design provided in figma and then I'll merge your PR.

@ParthNakum21 so I tell you what someone has already prepared the login functionality and his own design . You prepare the design provided in figma and then I'll merge your PR.

Hello @Satyam1923, I have designed the login and signup page in a way that it maintains a consistent theme across all pages.
We had discussed this in #207 conversation.
I have committed the changes. Please review it now.

@ParthNakum21 so I tell you what someone has already prepared the login functionality and his own design . You prepare the design provided in figma and then I'll merge your PR.

Hello @Satyam1923, I have designed the login and signup page in a way that it maintains a consistent theme across all pages. We had discussed this in #207 conversation. I have committed the changes. Please review it now.

@Satyam1923, Please review it and let me know if you need any changes.

@ParthNakum21 then also make the figma design file and send me the link. So I can make changes in design.

@ParthNakum21 then also make the figma design file and send me the link. So I can make changes in design.

@Satyam1923, Please review the figma design.
Figma Link: https://www.figma.com/design/sHFX3Co5mbKeQwixHYoh5A/Untitled?node-id=0-1&t=bo2P7o60lUjHQq7z-1

@ParthNakum21 Don't you think current one look better than this.

@ParthNakum21 Don't you think current one look better than this.

No worries, I will design that.


PopupMenuButton cannot set the background directly

PopupMenuButton cannot set the background directly

Hey @gionchat,
Would be great if you share minimal code for reproducing the issue you were talking about!
or maybe if its new feature request then what should be the expected behaviour?
Thank you!


Persist watermark updated prematurely

In https://github.com/prometheus/prometheus/blob/master/storage/local/storage.go#L1008 , the call to series.chunksToPersist() already updates the persist watermark. However, in the following, the series file write may fail (in case of a rewrite it will be all or nothing, in case of appending it might even partially fail), in which case the persist watermark needed to be adjusted (or better set to the appropriate value after successful write of the new series file).
Also, consider how to recover from a partial append.

Regarding partial appends, we currently error when we see a file with wrong length (not a multiple of the expected chunk size), but we don't attempt to ever repair it.

That might be because in that case, we can't be sure what happened anyway. But I think we should do something when encountering an error appending to a file.
Whatever, I will investigate.


Update docs to 3.72

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

/cc @msugakov

/ok-to-test

@house-d This PR is FYI as you're the upstream release manager this time.
You'll be doing docs submodule updates as part of the release procedure.
Manual docs are here https://docs.engineering.redhat.com/display/StackRox/How+to+manage+an+Upstream+StackRox+release#HowtomanageanUpstreamStackRoxrelease-Updatingdocscontents(releaseprerequisite)
There's some automation nowadays but I don't know if it takes care about docs updates.

To my best belief, nongroovy tests have nothing to do with documentation therefore I think this should be merged.


fix idle timeouts for VST and HTTP/2

Scope & Purpose
The effective idle timeout was almost always bumped up to the full 300 seconds (i.e. this->WriteTimeout) instead of the configured value of --http.keep-alive-timeout.
This was supposed to be fixed for 3.7.3 already, but apparently did not work properly.
We should add additional tests by drivers (e.g. Java) to cover this case.

[x] :hankey: Bugfix
[ ] :pizza: New feature
[ ] :hammer: Refactoring
[ ] :book: CHANGELOG entry made
[x] :muscle: The behavior in this PR was manually tested
[ ] :computer: The behavior change can be verified via automatic tests

Backports:

[x] Backports required for: 3.7: https://github.com/arangodb/arangodb/pull/12913

Testing & Verification

[x] This change is a trivial rework / code cleanup without any test coverage.

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12480/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12496/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12509/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12513/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12543/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12550/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12560/

Obsolete.


Questions on lists

Collection of questions on list

inplace manipulation using most list methods. How to copy a list?

Code-Snippets

## List copies

a = 40
another_list = [6, 4, 1, 2, 5, a]
list2 = list(another_list) #.copy()
another_list.sort()

print(another_list)
print(list2)

## Nested list copies

# create a list
inner_list = [40, 50, 60]

outer_list = [6, 4, 1, 2, 5, inner_list]
copy_outer_list = list(outer_list) #.copy()
# copy_outer_list = outer_list.copy()

print(outer_list)
print(copy_outer_list)

inner_list[2] = 500
outer_list[1] = 100
print(outer_list)
print(copy_outer_list)

Maybe extend the modifying tricks section
numbers = [1, 2, 3, 4, 5]
numbers[1] = ['a','b','c']
print(numbers)

numbers = [1, 2, 3, 4, 5]
numbers[1:2] = ['a','b','c']
print(numbers)

numbers = [1, 2, 3, 4, 5]
numbers[1:3] = ['a','b','c']
print(numbers)

numbers = [1, 2, 3, 4, 5]
numbers[1:4] = ['a','b','c']
print(numbers)

list comprehension in the lists.ipynb

In the current order, list comprehensions are introduced before loops.