Possibly redundant blanked out URLs and zeroed out capacities

Hello!
Some prefs are in two parts: the first disables the tech, and the second blanks the then no longer used URL or zeroes out the capacity limit.
This seems redundant and I believe I remember you started clearing those out.
Preferences 0503, 0505 and 1003 are three examples I came up with, but I can search for more if you want me to.
/* 0503: disable Normandy/Shield [FF60+]
 * Shield is an telemetry system (including Heartbeat) that can also push and test "recipes"
 * [1] https://wiki.mozilla.org/Firefox/Shield
 * [2] https://github.com/mozilla/normandy ***/
user_pref("app.normandy.enabled", false);
user_pref("app.normandy.api_url", "");

/* 0505: disable System Add-on updates ***/
user_pref("extensions.systemAddon.update.enabled", false); // [FF62+]
user_pref("extensions.systemAddon.update.url", ""); // [FF44+]

/* 1003: disable memory cache
 * [NOTE] Not recommended due to performance issues ***/
   // user_pref("browser.cache.memory.enable", false);
   // user_pref("browser.cache.memory.capacity", 0); // [HIDDEN PREF]

Please correct me if I'm wrong, I'm simply looking to help keep the user.js as tidy as possible. :)
As Pants would say: Class, discuss!

P.S.: I would gladly make the PR for this issue, should you give your approval! :)

I can search for more if you want me to

By all means, let's have a look at them. Always a good idea to revise content

... seems redundant and I believe I remember you started clearing those out

Redundancy vs defense in depth. I'm not sure what I have removed in the past, but each one was (99% sure) done on it's own merits. If you're referring to the snappening I did several months ago, that was a different reason, albeit the same goal: less clutter, less items to flip: and yes, a metric shit ton of (Safe Browsing, Reporting) URLs were cleaned out, but so were the other master prefs: so not the same.

Just making a point here that removing a secondary pref doesn't make the user.js any less work: i.e it still contains the itemized number with content
Looking at the above:

0503 in depth against normandy is never a bad thing considering how often it gets changes
0505 at the time, it was unclear how this was going to work, and it is even broken in some configs, and there were/are plans to change it - hence the defense in depth.
1003 not sure why capacity is there: I've never tested this, as I'm fine with memory cache

1003 not sure why capacity is there: I've never tested this, as I'm fine with memory cache

This can be used to stop etag fingerprinting. To prevent etag fingerprinting this way you have to disable disk and memory caching.

Disable cache at all time
Problem: Caching advantages are discarded
Info: Not only disk-cache, but also memory-cache must be disabled

source: ETag Fingerprinting

This can be used to stop etag fingerprinting

Yes. Disabling both disk and memory cache. The point is that the other pref already disables memory cache (or it should, I have not tested) - i.e Aeriem was talking about redundancy

@Thorin-Oakenpants: Thanks for the reply! I understand some of these are needed, that's why I wanted your opinion on the matter first. :)
I'll get started and submit a PR when I'm done, this way we'll review where we can do some cleanup and where in-depth defense is better.
A quick response to your thoughts on 1003: you removed the capacity pref from 1001 (disk cache), saying it was redundant (#732), which is why I thought we should apply the same treatment to 1003. :)

I can only find one reference on DXR to browser.cache.memory.capacity (I only searched for memory.capacity: pays to search for shorter strings)

https://dxr.mozilla.org/mozilla-central/source/netwerk/test/unit/test_bug650995.js - which doesn't really tell me anything exciting

Bug 650995 from FF7 (yup, seven) doesn't really tell me anything either, except that
 // -1 = determine dynamically, 0 = none, n = memory capacity in kilobytes

So the only question that remains, I think, it to test it. How do you test a memory cache? about:cache seems useless, it only tells me that despite using memory cache, and having numerous tabs open and Firefox being open for hours, that I have zero memory cache
memory
  Number of entries: 	0
  Maximum storage size: 	32768 KiB
  Storage in use: 	0 KiB
  Storage disk location: 	none, only stored in memory

That's a bit useless. What about about:memory? Or maybe I need to turn of etag stoppa. IDK. Why does everything always come down to me testing things? Why doesn't OP provide empirical proof that the pref is redundant? IDK sigh

I'm not sure why you want to test it, Pants. Don't we already know that disabling both disk and memory cache stops etag tracking? Is there something I'm missing?

Testing if the second pref is actually redundant

In a new FF70 profile, I disabled disk cache, cleared everything (ctrl-shift-del) for all time, and restarted. Opened network inspector, and loaded a small test page. Then I reloaded the test page (it's a bookmark: no hard-reloading)
On the reload, it reported everything cached (in memory, since disk was empty)

So far so good. Then I cleared everything, changed browser.cache.memory.enable to false and closed and re-opened the browser. Opened the network inspector, loaded the test page, re-loaded the test page.
On the reload, it re-requested the items (because they are no longer in cache)

On a whim I repeated the test with browser.cache.memory.capacity = 0 (i.e .enabled was at default) and this is not a substitute for .enabled AFAICT. That entry is 0 bytes, and refers to the URL of the test page.

Anyway, don't care about the capacity pref on it's own, only if it's redundant. And I'm now 99% sure that it is

The question now is, do we remove browser.cache.memory.capacity, or add this extra info line for those who want to limit the capacity rather kill it off
// -1=determine dynamically (default), 0=none, n=memory capacity in kilobytes

@earthlng Would there be an edge case for limiting capacity (in terms of privacy etc)?

^^ Nothing that I can think of.
FYI: commit where you added browser.cache.memory.capacity was https://github.com/ghacksuserjs/ghacks-user.js/commit/7d89436f27f3a35a43912203b7993ad98b444206

ahh OK .. thats https://github.com/ghacksuserjs/ghacks-user.js/issues/169 then

OK, so I'm thinking this should go. It's not related to tracking, FPing, security, privacy. @earthlng , just thumbs up if you agree, and I'll commit the PR and close this

The current PR also removes the UITour url pref. Is that the one you want to merge?
IDK if we need to remove the memory.capacity pref because people who want to disable the memory cache may want to make sure that the cache is actually disabled by doubling down in case mozilla ever fucks up the code behind one of these 2 prefs.

 Nah, I just meant to remove this capacity pref.
UI tour is probably not going to change. It's there so remote code can't hook into it

OK, that's cool. I'm happy either way with this one. It's inactive and doesn't add/remove any extra work IMO. I'll add the extra line though.

@bitpixl, since you @ me:
For what it's worth, as far as I know disabling in-memory cache does nothing to stop ETag tracking, because content grabbed from the in-memory cache does not trigger network requests.
Unlike this user.js, I don't recommend disabling in-memory cache. It's simply not helpful. The most that sites can gather about you (via fingerprinting) if you leave it enabled is that you used the Forward or Backward navigation actions, or some of the other uncommon actions where the in-memory cache is ever used by the browser.
In-memory cache can indeed make you look more unique to adversaries in some scenarios, if they analyze your browsing habits in depth, but disabling it is just as likely to make you look more unique in different sorts of scenarios that don't even necessarily require such in-depth analysis to be exploitable.

Unlike this user.js, I don't recommend disabling in-memory cache

Huh? This user.js doesn't "recommend" disabling memory cache: It mentions it in the header section comment, but doesn't actually do it: which should imply that users use the other suggested methods, such as TC

To be honest, I had to re-check that section after posting that comment, but yeah the implication that disabling it helps against fingerprinting is still there, and while it can help, it can also hurt.

It reads...
 ETAG [1] and other [2][3] cache tracking/fingerprinting techniques can be averted by
      disabling *BOTH* disk (1001) and memory (1003) cache.

and then below...
/* 1003: disable memory cache
 * [NOTE] Not recommended due to performance issues ***/

I think we're over-thinking this: which is not always a bad thing :)
The note is because it does impact perf, as a general rule. It would probably be more severe the more tabs/content open and the lower the machine specs, I guess. So that's fine.
So how would we reword the header section? What exactly are the tracking/FPing downsides to disabling memory cache - is it the forward/back button thing? And compare that to the upside of disabling it - i.e all the potential tracking/FPing?

What exactly are the tracking/FPing downsides to disabling memory cache - is it the forward/back button thing? And compare that to the upside of disabling it - i.e all the potential tracking/FPing?

Disabled or enabled, it can be exploited via behavioral analysis, by establishing patterns by linking speculated situations of in-memory cache usage (or no usage if disabled). That's all. There are no other upsides/downsides de-anonimizing-wise and tracking-wise as far I know.
And yes, the browser uses it mostly for its Forward and Backward navigation actions, plus a few other even more uncommon situations (like reloading the page by clicking the address bar and hitting Enter).
If this were my project, I guess I would just remove its mention in the header section, and expand the entry below to something like:
/* 1003: disable memory cache
 * [NOTE] Not recommended due to performance issues. Benefits of disabling it are arguable at best ***/

@claustromaniac, I just wanted to be thorough with my sources. So disabling the in-memory cache does not nothing against ETag tracking. Does this mean disabling diskcache alone is enough to stop ETag tracking? From reading this link you provided on your ETag Stoppa addon page, I 'assumed' (dangerous, I know... but alot of this stuff is over my head and I think highly of you) both of the caching needed to be disabled to prevent the ETag tracking. So, what does this mean? Do I need ETag Stoppa or is disabling diskcache sufficient?

Does this mean disabling diskcache alone is enough to stop ETag tracking?

Yes, at least in Firefox.

From reading this link you provided on your ETag Stoppa addon page, I 'assumed' (dangerous, I know... but alot of this stuff is over my head and I think highly of you) both of the caching needed to be disabled to prevent the ETag tracking. So, what does this mean? Do I need ETag Stoppa or is disabling diskcache sufficient?

My guess is that whoever made that site either:

does not know how the in-memory cache really works (can't say I blame them, most people don't seem to either, in fact I used to assume it was similar to the disk cache myself not that long ago), or...
is simply playing it safe by making a generalization that is harmless in a worst-case scenario. E.g. if they omitted that statement and the memory cache turned out to be a real ETag tracking vector in, say, Vivaldi, they would be leaving important information out.

Also, I don't fully agree with their use of the terminology. For instance, I don't consider this ETag exploit a passive technique, and I don't consider it fingerprinting either, but who knows, maybe that's just me.

I don't think there is any better choice here. People do forced reloads, people clear cache on close, or use extensions to periodically clear cache. That's what this js does. Additionally FPI isolates cache. PB mode clears it's cache: and I read recently that 24% of FF users use PB mode (I would assume thatr means not all the time: just that they open PB mode windows).
I don;t want to say that Benefits of disabling it are arguable at best because I think that is misleading. It can definitely stop tracking. I think I can tweak the header section by changing a few words
e.g "another solution" -> "a better solution" etc

I don;t want to say that Benefits of disabling it are arguable at best because I think that is misleading. It can definitely stop tracking.

Do you have any proof? I've never found any PoCs showing any way to exploit in-memory cache, and I've read MDN's documentation extensively. But most of all, I've tested numerous things, including network monitoring with external tools (some of them wrote by myself) and I'm not just assuming anything when I say that content loaded from the in-memory cache does not trigger network requests, and the in-memory cache is seldom used by Firefox.
I know a lot of people has said that in-memory cache has risks, but my guess (my only guess, because the rest are not guesses) is that those folks were just assuming the in-memory cache worked similarly to the disk cache (and they were/are wrong).
But what do I know.

^^ I was thinking of Etags: that's definitely tracking

hows this
     ETAG [1] and other [2][3] cache tracking/fingerprinting techniques can be averted by
     disabling *BOTH* disk (1001) and memory (1003) cache. But there are better solutions.
     ETAGs can be neutralized by modifying response headers [4]. A hardened configuration
     with Temporary Containers isolates every tab [5]. Alternatively, you can *LIMIT* exposure
     by clearing cache on close (2803). or on a regular basis manually or with an extension.

I was thinking of Etags: that's definitely tracking (edit: if used that way)
ETag tracking requires conditional requests to take place. How can you exploit memory cache for that when content fetched from the in-memory cache does, again, not trigger network requests?

Sorry: I'm confused over in-memory?

It's the semantically correct name, but I'm no language cop, so I'm trying to correct you or anyone else on that. Most people just refer to it as "memory cache", and everyone knows (or not?!) what is meant by that, so that's OK.

Ahh OK. But I don't think I can really say "tracking/fingerprinting techniques can be averted by disabling disk and memory cache" and then later on say "disabling memory cache is arguable".
I'll just assume here, that no one is silly enough to disable memory but allow disk!!
I think with the header edit: it's now painfully clear that with the memory prefs inactive, we telling people that we don't think this is the best way to go. Is the section re-write good to go?

I don't think I can really say "tracking/fingerprinting techniques can be averted by disabling disk and memory cache" and then later on say "disabling memory cache is arguable".

And why should you? I'm don't want to tell you what to do, but when I said I would add something like that to that note, I also said I would stop mentioning the memory cache in the header. Because I see no reason to. Because I'm not aware of any way it can be used for tracking, because of that thing I've been repeating many times, and disabling it is not significantly less risky fingerprinting-wise than leaving it enabled.

I don;t use TC, and that wording isn't quite right. It isolates every page? every domain? still not right.

You can set it up to isolate per domain (and not sub-domains), or per sub-domain, and there are many other ways to use it. It's very flexible.

I doubted myself for a moment (I do that all the time, believe it or not), and I found out I'm not entirely right, but not entirely wrong either. It's even more complex than I thought.
I'm going to share with you my findings when I can. Should I open a new issue?

I have to admit I'm just not quite getting your point about the first sentence in the section header - that thing as you so put it. And I want to make sure I'm not doing something based on a misconception
Yeah, let's close this and start a new conversation. I'll use the new issue as my tracker for improving the section 1000 info


In the several time the application automatically session out.

It's not a issue after 1 hour session is automatically stop.


artifact_normalization.md needs review

The section artifact normalization needs review: Many sections of this chapter are not related to normalization.

Blob uploaders are not specified clearly:
How exactly is an uploader defined?
Example how to do this is missing
Does not belong to normalization


I get into trouble that the cluster split-brain

The cluster is running successfully,and the wsrep_cluster_size=3。
I  delete the pod  mariadb-1 or mariadb-2, after the pods restart,the cluster is right.
But I delete the pod mariadb-0 , the cluster is split-brain,

What's the happened？
Is it related to  “safe_to_bootstrap”？

sloved。
Don’t deploy mariadb-ready
It's my wrong


Option for GPIO for RPi 1/2/.../zero

Feature Description
Since I used a RPi 1B for the installation of Phoniebox an I had a lot of trouble to get the gpio-service getting up and running. I would request an option to set GPIOs depending on the hardware and/or needs
What functionality would you like to see in your phoniebox?

During the installation you can choose your raspberry and the appropriate GPIOs will be activated
In the WebUI you can see the GPIOs active
There is an option in the WebUI to change and/or activate GPIOs an users demands

How do you envision the feature to work from a users perspective?
a chapter in the Options
Further information that might help
N/A

Hi, i can't find the gpio-buttons.py
Where is placed in the last update? I can't find it on "code" also.
greetings
Frederic

Hi, i can't find the gpio-buttons.py
Where is placed in the last update? I can't find it on "code" also.
greetings
Frederic

From which version did you do your update?
as far as I see the 2.2 changed a lot - so you will find that settings in
/settings/gpio_settings.ini
and in /scripts/playout_controls.sh
you will find the script itself.

From which version did you do your update?
as far as I see the 2.2 changed a lot - so you will find that settings in
/settings/gpio_settings.ini
and in /scripts/playout_controls.sh
you will find the script itself.


fix for NUTCH-1480 contributed by r0ann3l

With this patch now we can have many instances of the same IndexWriter class, but with different configurations. Also, we can copy, rename or remove fields of documents for every index writer individually. Besides, the parameters needed by the index writers will be into separated XML files, so them will be not into nutch-site.xml anymore.

This PR includes more changes than the original ticket and breaks BC with custom indexers. @r0ann3l could you squash all the changes into a single commit? that would help in the review process since this PR has a lot of changes.

I like this idea. I work in a project that needs to save documents in solr for searching and in elasticsearch for statistics. This solve the problem.

Thanks @lewismc and @jorgelbg for your reviews. All your comments have been fixed.

Tested this on Solr 6 and works well... any comments folks?

Looks good! I've tried to use indexer-dummy with this PR applied - it took long to configure the index-writers.xml properly, so we should definitely add "stub" sections for all index writers which are (still) based on configuration properties. All index writers should work out-of-the-box!

Thanks @sebastian-nagel  for your review. Sections for all indexer-* plugins were added, so they work out-of-the-box as you required in your comments. Also, it is not mandatory to specify fields for the actions (the schema is relaxed).
I included a new change, to avoid duplicate values in a field when someone tries to copy to the same field, like:
<copy>
	<field source="title" dest="title"/>
</copy>

In addition, I added a new class (IndexWriterParams) to facilitate the process of obtaining and parsing values from the index-writers.xml file. Now, an instance of IndexWriterParams is passed to each IndexWriter instead of HashMap.

Hi @r0ann3l, thanks! I've continued testing, and was able to feed two Solr indexes in parallel. Great! Afaics, all requested changes have been made (also that of @lewismc).
To make the configuration work out of the box, I would suggest 3 changes:

use only field names defined in the default schema.xml
`ERROR: [doc=http://nutch.apache.org/] unknown field 'search'
default Solr core name should be "nutch" as described in the tutorial

I've tried to fix these issues in "a fork of NUTCH-1480". Feel free to cherry pick it from there.
I've also tried to make indexer-dummy work. Without success, the file is created but then overwritten:

there are two instances of IndexWriters active, each having a separate instance of DummyIndexWriter.

the instance created from IndexerOutputFormat.getRecordWriter(IndexerOutputFormat.java:39) writes into the file
but later on the instance created from IndexWriters.open(IndexWriters.java:187) opens the file anew, at the end there is an empty file. Because it's two instances there is no possibility to check whether the file writer is already instantiated.

I see two potential solutions:

the IndexWriter interface method open(job, name) was defined with file indexers in mind (cf. NUTCH-1541/CSVIndexWriter), an index writer can then decide to do nothing when called with name "commit".
do not call the commit() method explicitly (ev. also remove it from the interface: it does not safely work in distributed mode because it's not run in the reducers (see the comment in RabbitIndexWriter).

I tend to the second solution. It would also solve the problem of having two IndexWriters instances active. What do you think?

Hi @sebastian, thank you very much for your comments!!! I agree with your suggestions and I included the changes you propose from your fork.
About indexer-dummy, I also tried to make it work, but it was not possible. In theory, you can build as many instances of IndexWriters as you want, that you will always get the same instance, because it gotten from cache. So, the first issue I found was the ObjectCache uses the Configuration object itself as the key, and this object is not the same in each call. This causes that there are two instances of IndexWriters writing to same file, as you say. So, I replaced the key of ObjectCache with the UUID of the Configuration object.
Now, we have only one instance of IndexWriters, but there is another problem: when you try to commit the writers in IndexingJob.index(IndexingJob.java151) it is already closed from IndexerOutputFormat.getRecordWriter(IndexerOutputFormat.java:44). Therefore, I moved the commit() call from IndexingJob to IndexerOutputFormat, just before the close() method is called.
I also, moved the indexers description from IndexingJob to IndexerOutputFormat, to avoid to build IndexWriters instance twice.
Thanks

Hi @r0ann3l,
did you verify that the change using NutchConfiguration.getUUID(conf) changes the behavior. Cf. NUTCH-2407 which let me doubt it as it's a only random UUID for each Configuration object.
Using the UUID in the ObjectCache makes the unit tests fail (TestGenerator): in fact the ObjectCache now returns the same object even if the configuration is different. We need actually really implement a hash value for Configuration objects.

Hi @sebastian-nagel,
I changed the use of ObjectCache.class to an internal CACHE object, to avoid changing the behavior of other functionalities. In this case it is not necessary to have a different instance of IndexWriters.class for each Configuration.class. This is beacuse the index writer's configuration is handled in other individual file.
Also, I fixed an issue in TestElasticIndexWriter.class (associated with the use of IndexWriterParams.class), which causes the unit test fail.

Thanks, @r0ann3l! +1 - I've tested the solution in local and pseudo-distributed mode and was able to index into Solr (a single index). If there are no objections I'll commit/merge soon.


Publish Asciidoctor Arquillian extension

#310 added an Arquillian extension that allows to inject Asciidoctor instances, the ClasspathResources and a TemporaryFolder into the test case.
@abelsromero indicated that he'd like to reuse it in the Asciidoctor Maven plugin.
Therefore the Arquillian extension should be published.
I tried to do sth like that but failed due to apparently lacking knowledge about gradle and the nebula publishing plugin.
There are at least two ways to publish the Arquillian extension:

Make an own publication asciidoctorj-arquillian-extension with an own pom.xml
Add the Arquillian extension as an additional artifact to the asciidoctorj module with the classifier tests.
What I dislike about this is that it is afaict difficult to define the dependencies of this artifact, i.e. arquillian-container-impl-base etc. so that they are pulled when depending on the asciidoctorj tests artifact.

When adding a second publication to asciidoctorj-core I end up with this error:
* What went wrong:
A problem occurred configuring project ':asciidoctorj-diagram'.
> Publishing is not yet able to resolve a dependency on a project with multiple different publications.

So apparently the Maven Publishing plugin does not fully work with multi module builds:
https://issues.gradle.org/browse/GRADLE-2966

Added #319 that adds a new module that publishes the arquillian extension classes from the asciidoctorj-core module.

I feel less alone now that someone else is experiencing the problems I was running into when setting up publishing with the Gradle build. I love Gradle, super powerful, but the publishing plugins are extremely poorly done, worse than Maven plugins :/
Perhaps you remember my tweets on this topic: https://twitter.com/mojavelinux/statuses/539145426817933312

I never got around to writing up the problem, but I can summarize it rather simply. I should need to put in 50 hacks to make publishing work. It's way too brittle at the moment. The plugin needs to be much more intelligent and aware of what's going on and just do the right thing.

Remember Indiana Jones stepping through the room where one false footstep meant death?

Kind of like that.

:laughing:


Torrent overview: add user-defined column count, optional piece progress

The column count in the overview panel is now customizable from the advanced settings. Also, the piece progress bar can be toggled on or off from the advanced settings as well.

🎉 #1000 🎉


Group plugin: make Allocation a top-level property

Previously, the AllocationMethod was a hidden property determined by the Flavor.
This made it more complicated to detect configuration changes in instances for
the purposes of updates, and would create a hurdle for any future efforts at
supporting composition of Flavors.
To support the schema change in the default Group plugin configuration, the
Flavor SPI is modified to maintain necessary access to a Group's
AllocationMethod.
The punchline of this change is in group/integration_test.go:
-	// TODO(wfarner): Update this test when addressing the TODO in Spec.InstanceHash().
+	require.Equal(t, "Performs a rolling update on 3 instances", desc)
-	require.Equal(t, "Noop", desc)

The test case now validates that a Flavor configuration change results in a rolling update.
Closes #237
Signed-off-by: Bill Farner<EMAIL_ADDRESS>

Current coverage is 73.15% (diff: 72.58%)

Merging #239 into master will decrease coverage by 0.26%

@@             master       #239   diff @@
==========================================
  Files            17         17
  Lines          1057       1069    +12
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            776        782     +6
- Misses          212        215     +3
- Partials         69         72     +3

Powered by Codecov. Last update 8c2ad94...1834b3c


[Bug] some skeleton lines are not cleared if set scale

Initial checklist

[X] Is this really a problem?
[X] I have searched the Github Issues for similar issues, but did not find anything.

Affected packages and versions
v0.1.0
Steps to reproduce

Expected behavior

Actual behavior

Runtime
No response
OS
No response
Build and bundle tools
No response

@weird94 这是在非缓存的场景下？

can't reproduce


Make sure CDTDatastore skips documents with empty ids during replication

There was a bug in CouchDB that would allow empty doc ids to be generated, since this is no longer valid, CDTDatastore should skip empty document ids during replication if encountered.

Closing as this library is now EOL and this issue won't be fixed here.
The issue has been tagged EOL in case any forks want to import it.


Lost my funds

Hi, I'm trying to setup a stake pool and have send the pledge amount to my stakepool account. But it seems like the rest of my funds disappeared with it.
https://shelleyexplorer.cardano.org/en/address/addr1s38t9jn0ek9e37xem9mk4y3czswemlkgq4dff52xjhd04zvdeah2x0uj2e0pxu0y3tych3g58qal0asmnqwfgu2443xcdkfv7q7qxdca9mqh2a/

@wstrik, please create a support ticket:
https://iohk.zendesk.com/hc/en-us/requests/new

@wstrik Daedalus does not display the "account" balance. Only UTXO are detected and summed up to be presented as your wallet's balance. Thus, your funds are not lost - they are just not a part of your wallet's UTXO anymore since you have moved all your funds to the stakepool account.


_address.call.gas(_gas)() adds 2300 to the value of _gas if the call fails.

LogNumber(_gas);
if (!_address.call.gas(_gas)()) {
  LogNumber(_gas);
}

Pretty concise title. If you emit an event both before and after doing the above address call, you'll see the second event has a value of 2300 more. It only appears to happen if the call fails. In my example, it fails with out of gas (which may or may not be relevant -- I haven't tested that.)  If it matters, _gas is a parameter to a function public which is called directly from web3.
Expected Behavior
Since there is no explicit assignment to _gas, its value should remain unchanged.
Current Behavior
As described above. 2300 is added. This bug did not exist in previous versions of ganache.
Your Environment
Ganache CLI v6.1.0 (ganache-core: 2.1.0)
Other Notes
I'm the most thorough tester in these parts.

Hi @beether sorry it took us so long to get back to you on this one.
Is this still an issue for you? If so, is the issue reproducing on geth and parity? If the issue doesn't reproduce on geth & parity then this is very likely a bug in ethereumjs/ethereumjs-vm. If it does reproduce in geth & parity then it's either expected behavior (seems unlikely) or a bug in ethereum/solidity.
As a result of the above I'm going to close this issue, however please respond back here if you think I've done this in error and I'll take another look.


Condense footer

Closes #1484
New footer, as discussed with @magorlick:

Closing in favor of #1533


Dart roll blocked on building gen_snapshot for windows targeting android

Starting in https://github.com/flutter/engine/pull/49866
Guessing it's due to https://dart.googlesource.com/sdk.git/+/5230995e3a9905315dc5b97bd77f9a606e4f06a5
cc @alexmarkov

Possible fix: https://dart-review.googlesource.com/c/sdk/+/347065.
@zanderso Is there any way to test it using Flutter CI before landing it in Dart SDK?

I think we'd have to ask @whesse if the failing configuration is one that's supported by the monorepo builders.

Fix landed in Dart SDK.


Move dialog modal to modals and rename the component

The dialog should be grouped with the other modals. Also rename the component id and title from dialogue to dialog. Dialog is more commonly used as a computer term, it's cleaner and easier to spell. It may or may not be a case of British vs American English, but I think we should just prefer the simple way.

:tada: This issue has been resolved in version 4.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Custom Data payloads using AVS

I've gone through the Alexa Voice Service docs and apis here but can't seem to find mention of how to send a custom data payload as part of the response to AVS. I have an iPad using the AVS service and have this module implemented. Are you aware if this is possible using alexa-app? The end goal is to be able to setup UI state on the iPad.

What does this look like in the response JSON?

@dblock Not sure I understand completely. I get a directive sent down from AVS. Something like this.
{
"directive": {
"header": {
"namespace": "SpeechRecognizer",
"name": "StopCapture",
"messageId": "{{STRING}}",
"dialogRequestId": "{{STRING}}"
},
"payload": {
}
}
}

Does this.response.response.payload = ... work?

This is sent from AVS but as far as the interface to AVS (via this module), I don't see a way.

I don't think there's any way to affect the AVS response via the skill interface.  The directives received back from SpeechRecognizer are how to handle interaction with the user (play audio file, play another audio file, start listening again, etc)
Can you point to anything in the AVS documentation that would seem to indicate that a skill can somehow affect the AVS responses, other than by sending a Card or a Speech ?

@ericblade No, I cannot. Which is what led to my question. Just seems odd that you cannot pass down any custom data to your AVS client via a custom skill. I'm creating a bot experience with voice complete with a UI on an iPad so being able to setup UI state is desirable. If not, I'll just have to run a separate service to our node server that manages the skill.

Yea, it doesn't seem like using the available APIs that there's a real good path to being able to implement building new device experiences.  Now, I haven't really looked too in depth into V2 of the API, so there may be ways to do things like this, but I was thinking (keep in mind, I only know the V1 API right now), how would someone implement another device, if you can't realistically parse the command before Alexa responds to it?

@Shagans982 I suspect we will probably see some things along the lines of this for supporting Echo Show.  In the meantime, I have implemented a cloud service that devices connect to, which my skill can use to send and retrieve information.


The ripple animation on Icon is not showing

Hi. The ripple animation on burger Icon is not showing even when I am using it on Marshmallow. Am I missing anything or its just in the demo.

It has been deprecated and removed a couple of versions back, so it just default to normal pressed state drawable provided by AndroidSDK


Can't import the same plugin in 2 dependent packages

Description
We have a package defining a build tool plugin that we would like to add to the targets of all our packages (for example, to run SwiftLint on build)
Expected behavior
We can add the build tool plugin to all our packages
Actual behavior
An error is received when trying to open/build a package depends on a package using the plugin:
error: 'packagea': product 'Sample' required by package 'packagea' target 'PackageA' not found in package 'SPMPlugins'.

Steps to reproduce

Download the attached sample
cd PackageA && swift build works correctly
cd PackageB && swift build fails with error error: 'packagea': product 'Sample' required by package 'packagea' target 'PackageA' not found in package 'SPMPlugins'.

Swift Package Manager version/commit hash
Tested with both Xcode 13.4 and 14.0b3
Swift & OS version (output of swift --version && uname -a)
swift-driver version: 1.60 Apple Swift version 5.7 (swiftlang-<IP_ADDRESS>.1 clang-14<IP_ADDRESS>)
Target: arm64-apple-macosx12.0
Darwin Danieles-MacBook-Pro.local 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:37 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T6000 arm64

cc @neonichu @abertelrud

Yah, looks like this is the same as https://github.com/apple/swift-package-manager/pull/5649

@tomerd @neonichu I still have the same issue in Xcode 14 beta 5, is it expected that the change is not included yet?


Fix #15641

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15651/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15651/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15651/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15651/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15651/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15651/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15651/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15651/merge#BCU1XR#0

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15651/merge/testResults/webgpuplaywright/index.html

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15651/merge/testResults/webgl2playwright/index.html


issue #201 snowflake table ddl improvement

@dmaresma sorry for the long feedback, was out for some time, can you pull changes from master and rebuild parstab? conflict in the PR

@dmaresma I pushed required changes to your branch


Idea: Set BackGround Colors :) - Support for dark theme

Ex: a Dark Calendar and a White Calendar and Setting all the text values
Basically a Dark and White Mode

voting +1, would be cool to support dark theme

I use the following code for my own project to implement support for the dark theme by using Theme colors. Maybe this can be used for inspiration in the actual implementation. Note that with material2 (useMaterial2: false in ThemeData, also the default value) the outlineVariant is always white, but with material3 enabled it correctly turns to gray in dark mode. Perhaps a better theme color field can be found.
Example implementation (click me)
Edited from: example/lib/widgets/month_view_widget.dart

class MonthViewWidget extends StatelessWidget {
  final GlobalKey<MonthViewState>? state;
  final double? width;

  const MonthViewWidget({
    Key? key,
    this.state,
    this.width,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final cls = Theme.of(context).colorScheme;
    return MonthView<Event>(
      key: state,
      width: width,
      borderColor: cls.outlineVariant,
      headerBuilder: (date) => MonthPageHeader(
        date: date,
        backgroundColor: cls.primaryContainer,
        iconColor: cls.onPrimaryContainer,
      ),
      weekDayBuilder: (dayIndex) => WeekDayTile(
        dayIndex: dayIndex,
        backgroundColor: cls.surface,
        // WeekDayTile doesn't have a borderColor parameter
      ),
      cellBuilder: (date, events, isToday, isInMonth) => FilledCell(
        date: date,
        events: events,
        shouldHighlight: isToday,
        titleColor: isInMonth ? cls.onSurface : cls.onSurfaceVariant,
        backgroundColor: isInMonth ? cls.surface : cls.surfaceVariant,
      ),
    );
  }
}


ISSUE: Keymaster breaks when trying to add a code that's less than 4, or more than 8.

My Z-wave lock has a minimum and maximum requirement when setting a code.  4-8 digits is the limit.  I accidentally set the code to something that was out of that range and it broke the Keymaster integration.  I had to completely remove the Keymaster integration and repair my lock to get it to work again.

OS: HassOS
Type of system that HA is running on: Proxmox
Home Assistant version: 6.0
Hassio
Component version: 0.0.56
Z-Wave integration name: Z-Wave JS
Lock make and model: Kwikset Smartcode 916

Steps to recreate:  Get a functioning install of Keymaster.  Set the code to something less than 4 or more than 8.  The "PIN Status" will read "Adding" for all eternity.  When disabling the "Enabled" boolean, it will read "Deleting" for all eternity.  You cant set or delete codes at any code slot.
I have to be more careful when setting codes.  Other than this minor issue, I love this integration and it has helped me tremendously.

Hmm is there anything in the logs that indicates what is happening? Under the hood, we are just calling the integrations set code and clear code services, so I'm not sure why this would happen.
We could probably add a guard against anything less than 4 and greater than 10 because that's what the standard specifies as valid lengths for PINs but we can't do much beyond that because it's not readily available to Z-Wave JS what valid PIN lengths are for a given lock. My lock has a configuration parameter to set the number of digits, but another lock I looked at does not.

If the PIN is too long or too short zwavejs should be throwing an error, afaik it should be in the HA log too, but yes a check would be good so we aren't throwing invalid codes at it for eternity.


md.h does not include the config file, resulting in a pointless macro test

https://github.com/ARMmbed/mbedtls/blob/01ba45b1392a/include/mbedtls/md.h#L121-L143
Found by clang -Weverything: the second macro test is never true, resulting in the compiler warning that the documentation states the function is deprecated, but the function does not have the deprecated attribute.

Hi @aaronmdjones The second macro test (#if defined(MBEDTLS_DEPRECATED_WARNING)) should be defined in config.h.
From this definition documentation:
/**
 * \def MBEDTLS_DEPRECATED_WARNING
 *
 * Mark deprecated functions so that they generate a warning if used.
 * Functions deprecated in one version will usually be removed in the next
 * version. You can enable this to help you prepare the transition to a new
 * major version by making sure your code is not using these functions.
 *
 * This only works with GCC and Clang. With other compilers, you may want to
 * use MBEDTLS_DEPRECATED_REMOVED
 *
 * Uncomment to get warnings on using deprecated functions.
 */

@RonEld Yes, and as the title of the issue indicates, md.h does not include the config file.

@aaronmdjones Thank you for your point which I missed.

ARM Internal Ref: IOTSSL-1537

@aaronmdjones  Thanks for reporting this. I believe this is fixed by #1055 which is now merged into the development branch and therefore will be included in the next release.


add .mpv.part/other .part suffixes and treat them as their original filetype

These are partial files that are playable while youtube-dl is downloading
They will probably count as a stream, which is typically accurate, it's ffmpeg encoding a m3u8 stream into a file, and me watching a few minutes behind

These are partial files that are playable while youtube-dl is downloading
They will probably count as a stream, which is typically accurate, it's ffmpeg encoding a m3u8 stream into a file, and me watching a few minutes behind

added in e8423f6e72571976322c277146e8e5505350ca61


Overrides and Variants

Improved function overrides.

When using Override() the handler receives the original function (or next in the override chain) as the last parameter

Override('PlayerPuppet', 'SetWarningMessage', function(_, message, wrappedMethod)
    wrappedMethod('[Overridden] ' .. message)
end)

The wrapped function can be called multiple times

Override('PlayerPuppet', 'GetGunshotRange', function(_, originalRangeFunc)
    return originalRangeFunc() + originalRangeFunc()
end)

If any of the overrides fail then the entire override chain also fails
Observers can be called before and after the target function using ObserveBefore() and ObserveAfter()

ObserveBefore('PlayerPuppet', 'GetGunshotRange', function()
    print('PlayerPuppet::GetGunshotRange::Before')
end)
ObserveAfter('PlayerPuppet', 'GetGunshotRange', function()
    print('PlayerPuppet::GetGunshotRange::After')
end)

Observe() is an alias for ObserveBefore()
All observers are guaranteed to be called even if overrides and other observers fail
It's possible to observe and override static class methods

Override('RPGManager', 'GetFloatItemQuality', function(value)
    print('RPGManager.GetFloatItemQuality(' .. value .. ')')
    return gamedataQuality.Legendary
end)

Full name should be used when overriding a scripted static method

Observe('PlayerPuppet', 'IsSwimming;PlayerPuppet', function(player)
    print('PlayerPuppet.IsSwimming(player)')
end)

Improved Variant type support.

Use FromVariant(variant) to extract the value
Use ToVariant(value) to pack the value when the type is unambiguous

ToVariant(Vector4.new(1, 2, 3))
ToVariant(gamedataQuality.Epic)
ToVariant("Nam libero tempore")
ToVariant(16570246047455160070ULL)
ToVariant(true)
ToVariant(TweakDBID("Items.money"))
ToVariant(CName("deflect"))
ToVariant(LocKey(12345))
ToVariant(CRUID(1337))

Use ToVariant(value, type) when the type is ambiguous or you wanna force the type

ToVariant(1, "Int32") -- Same numeric value can be a signed integer
ToVariant(1, "Uint32") -- or unsigned integer
ToVariant(1, "Float") -- or float
ToVariant(nil, "handle:PlayerPuppet") -- Null requires a concrete type

The type of the array is resolved from the first element when possible

ToVariant({ "a", "b", "c" }) -- Auto resolved as "array:String"
ToVariant({ 1, 2, 3 }, "array:Uint32") -- Ambiguous type

Improved ISerializable types support. They are now correctly wrapped in ref<> when created.

Thanks, this is awesome!


How much graphics memory is required to run the above test?

How much graphics memory is required to run the above test? Mine is 12GB, but it shows OOM. Can I deploy it locally on 12GB graphics memory?
Looking forward to your answer!
Thank you!

How much graphics memory is required to run the above test? Mine is 12GB, but it shows OOM. Can I deploy it locally on 12GB graphics memory? Looking forward to your answer! Thank you!

https://github.com/PixArt-alpha/PixArt-sigma/issues/19 , follow this issue.

18GB minimum with https://github.com/PixArt-alpha/PixArt-sigma#3-pixart-demo.
8GB with https://github.com/PixArt-alpha/PixArt-sigma/blob/master/asset/docs/pixart.md

至少 18GB https://github.com/PixArt-alpha/PixArt-sigma#3-pixart-demo。 8GB，https://github.com/PixArt-alpha/PixArt-sigma/blob/master/asset/docs/pixart.md

thanks！

18GB minimum with https://github.com/PixArt-alpha/PixArt-sigma#3-pixart-demo. 8GB with https://github.com/PixArt-alpha/PixArt-sigma/blob/master/asset/docs/pixart.md

How much graphics memory is needed for the above interface.py?

Around 24GB

Around 24GB

thank you !


Feature: cargo env simplified

This is a proposal of a more clean wrapper around Cargo.toml.
Right now the macro only supports version and author. If all things supported (package name, description) are taken into place, this would be cool.
Macro proposal: a wrapper around clap_app
clap_cargo_app!(
    // package name, version, authors, descriptions are taken into place, if applicable
    (@arg ...)
)

Great idea! I think this would require each of those be implemented as separate macros, but you're right, I'd also like a single macro to pull in everything. Let me mull over the implementation over the holidays and I'll post back here.
The only thing I don't really want to do is have a clap_app! and clap_cargo_app! macro. I'd like to either combine these into the clap_app! macro, or do something like a app_with_defaults! macro.
i.e.
let app = app_from_crate!()
    // continue builder like normal

The above being the same as
let app = App::new(crate_name!())
    .version(crate_version!())
    .author(crate_authors!())
    .about(crate_description!())
    // other builders like normal.

ToDo

[ ] Add crate_description!
[ ] Add crate_name!
[ ] Add app_from_crate!

Big thanks to @nabijaczleweli for implementing this 👍

I aim to please

I aim to please


Timeout when configuring org

I am trying to configure an organizations github.com/testarmada to use my cla-assitant configuration that already works in 3 other organizations on github with the same user.
The user is an owner of the org but when I try to configure it the pop up dialog just shows a spinning wheel and it never finished.
When I close the dialog the org is either not configure or it is configured but the webhooks config seem not complete since the status shows that.

Unfortunately I could not find anything in the log entries. Could you send me the console output from your browser, please?

I let it run for a while again and now have it configured but with the webhooks having an issue. Can I somehow kick of the config to be refreshed/updated? Or what could be the issues for this otherwise .. some user permissions or so?

The issue could be in permissions, but if you see this organization in the dropdown list, then all needed permissions should be provided to CLA Assistant.
Can you check whether there is a webhook in settings of your organization? (settings -> webhooks)
Can you also check your profile settings, please: settings->Applications->Authorized OAuth Apps->CLA assistant
And can you also check one more place - whether CLA Assistant has access to your org: org settings->Third-Party access

None of these were there. I am going to try recreating the config from CLA assistant

I think I found the problem .. the org in which it is not working has Third Party access set to restricted ... but I cant take that off without loosing that config I think. How can I add CLA assistant now?

If you go to your profile settings->Applications->Authorized OAuth Apps->CLA assistant you can grant there CLA Assistant access to the org again.

Perfect. That did the trick. Thanks!


build: add maven wrapper & update docs

This PR
We are adding the maven wrapper to simplify project setup for contributing.
How to test
run ./mvnw -version

Does it make sense to also adopt the build files to use the maven wrapper?

Does it make sense to also adopt the build files to use the maven wrapper?

hmm, this will require an upgrade to github action and add the same to other providers in this repository. I think having wrapper for flagd for now is sufficient for ease of use.


minimal instructions/docstring for Trie

I've tried to look for information on the required input parameters for Trie(bosyl, profile, main_data, custom_data) but realized that it's not contained anywhere in a single place. Could you provide minimal description for each, and some indication of recommended values for some common use-cases.
My understanding is that I can reduce overhead by loading Trie only once in my application, and then handling tokenization as I need throughout the app. As opposed to just using Text.

duplicate of #73


Incompatible install in (summarize your environment)

@kali:~/wifiphisher$ pip install scapy
/usr/share/python-wheels/pkg_resources-0.0.0-py3-none-any.whl/pkg_resources/py2_warn.py:21: UserWarning: Setuptools will stop working on Python 2
************************************************************
You are running Setuptools on Python 2, which is no longer
supported and
>>> SETUPTOOLS WILL STOP WORKING <<<
in a subsequent release (no sooner than 2020-04-20).
Please ensure you are installing
Setuptools using pip 9.x or later or pin to `setuptools<45`
in your environment.
If you have done those things and are still encountering
this message, please follow up at
https://bit.ly/setuptools-py2-warning.
************************************************************
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support

Please see the Python 2 sunset docs for guidance.
A quick google search for kali linux setuptools reveals wifiphisher/wifiphisher#1240. I recommend making sure you're using Python 3 and not Python 2.


Assertion errors

Hello,
I have an issue that I'm not sure how to fix, it's probably me doing something wrong but I didn't find any other way of getting in contact. I use your Wrapper to convert my Postman Collections into Test Cases and run them with the release pipeline as specified in the wiki. The thing is that these Test Cases always seem to be passing when actually in Postman the Tests scripts do not pass.
For example:
I add pm.response.to.have.status(201) to my 'Tests' tab in Postman request and it returns 404 but the Test Case is still marked as passed. I have tried with different assertions like tests["Status code is 200"] = responseCode.code === 200 but I never seem to be able to make the Test Case fail (in Azure, in Postman it works as expected).
The question would be if I need to add some updates to the Wrapper to also check for the Tests scripts or if these assertions should be done in a different way.
Thank you very much.

Hi,
Sorry for the slow response.
I dont have access to a setup right now where I can test it, but I expect you would need to update the parsing of the output from PostMan, which is in PostmanWrapper.ParseOutputFile. Right now it relies on Failures collection from the deserialized object from PostMan. Likely that error is not captured in that collection, but exists elsewhere in the deserialized object, meaning you have to Assert for that type of failure as well.

Sorry for the late reply, I was on holidays last week. Thanks for the answer, I will try it this week.

Sorry for the late reply, I was on holidays last week. Thanks for the answer I will try it this week.

After some time I was able to come back to this.
The only way I have found to make a request fail in the "Tests" tab of Postman after a request is to use pm.response.to.have.status(201). The bad thing of this solution is that it stops the execution of any other request that comes after it, but it's the patch I have been using.
The solution that you pointed, to check the ouput.json file, does not work because in that file I see the content inside of the json and the assertions do appear in the tests section, but the result of their execution is not anywhere. The assertions I have tested and do not make any output are:

tests["Status code is 201"] = responseCode.code === 201;
pm.expect(pm.response.code).to.eql(200);
pm.test("Some tests", () => {...};)
I attach what the output.json looks like after the execution of different requests with assertions like the stated before in the after tests.

Just to clarify, because it may be a bit confusing, this is where I put this assertions:

Thank you!


Add first three octets of IP address for farmers

The channel requested that the globe display make a return. This can be done using the data published at the /api/online/json endpoint but to do geolocation the IP address of the farmer will be needed. To protect the privacy of farmers the last octet can be randomized or set to 0. If someone can add this part of the farmer IP addresses to the JSON in the next release of the server I can branch the globe display project, use the /api/online/json endpoint as a data source, and send a pull-request for the modification.

Your IP address is going to be visible on the p2p network to everyone as it is necessary for it to work. Anyone who crawls the network will be able to see it and you should use vpn services if this is an issue.

That's fine with me, if you want to put the whole IP address in there that works too.

Closing. This will be implemented in the Test Group C client, but not here.


Deprecate resolveFilter stuff

This PR makes Mill stop relying on the resolveFilter parameter of CoursierSupport#resolveDependencies.
This parameter manually filters the artifacts provided by coursier, but not the ones originating from "local dependencies" (Mill's hack to use freshly built workers and plugins during tests), where it seems such a filtering was done in the build (by customizing testDepPaths). "Local dependencies" cannot be kept as-is in https://github.com/com-lihaoyi/mill/pull/4145 (where such dependencies aren't necessarily root dependencies anymore, making it harder to handle them in a different fashion). Hence the need to stop using resolveFilter.
Rather than filtering artifacts after dependency resolution, this PR marks unwanted dependencies of workers as compile-time only. That way, they're not pulled by dependency resolution, and we don't need to manually filter artifacts.

The CI errors seem unrelated to these changes (I can't reproduce them locally)

Yes we've been seeing flakiness in ci, i'll rerun them


Changing size removes trails

After selecting a country, and drawing a trail, I tried changing size, but then the chart goes back to no selected bubbles. Something wrong with the model and state, probably

Thanks, we saw it too. @arthurcamara1 did you do anything with it? If no I will start

ok, i give up. @arthurcamara1 can take it over
I created a watch expression myVizabi._tool.components[0].model.entities.select and tried to find out if it would change any time. I traced it step by step through the code after i change one of the hooks or shift the bubble size slider. But the program seems to endlessly circulate between q.js, lodash.js events.js and don't get anywhere. None of this code i met on the way was comprehensible to me.
Same result i got when i investigated call stack from the point "change:entities:select": and upwards.
One thing is clear. If i disable modifying model.size.max like this
        slideHandler: function () {
           // this.model.size.max = +d3.event.target.value;
        }

then select stays intact. This shows that the mystery must be with the action of modifying a field in the state. But the chain of events behind modifying a simple field is not debuggable.

Maybe calling array "select" is a bad idea and they use "select" for something else?

Personally i don't like that we are using this programming pattern. If i say this.model.someValue = 1 i expect that a simple property would be assigned a value of 1. But in our case a huge amount of unexpected crazy stuff happens which i have no idea of.
Instead i suggest using a pattern that is adopted in d3:
// getting the value. returns 1
this.model.someValue()

// setting the value. returns model
this.model.someValue(1)

Thanks for investigating Angie, I'll use what you found out and figure out
the issue :)
On Monday, April 13, 2015, Angie the Fairytale<EMAIL_ADDRESS>wrote:

Assigned #91 https://github.com/Gapminder/vizabi/issues/91 to
@arthurcamara1 https://github.com/arthurcamara1.
—
Reply to this email directly or view it on GitHub
https://github.com/Gapminder/vizabi/issues/91#event-280013575.

--
Arthur Camara
Software Engineer
Gapminder Foundation
www.gapminder.org

The problems are here:
https://github.com/Gapminder/vizabi/blob/aaeb28e2c09fa63e4fa49e3c8bf8a10bee54e5f8/src/components/_examples/bubble-chart/bubble-chart.js#L299
and here:
https://github.com/Gapminder/vizabi/blob/aaeb28e2c09fa63e4fa49e3c8bf8a10bee54e5f8/src/components/_examples/bubble-chart/bubble-chart.js#L258
About your comment about the pattern, I don't agree that assignments are not supposed to trigger events. I believe this can be expected from a framework that binds things to variables. Like I mentioned to you, AngularJS follows a similar pattern, and transforming everything into functions would not solve it and would break one of the most useful things in our pattern:
this.marker.size = 2; // triggers change:marker:size , change:marker and change
this.marker = 4; //now triggers change:marker, and change
this.marker = { size: 2, color: "#ffffff" }; // now size is back to the game and also color!

Moreover, functions could make those dynamic creations collide with methods, reserved function names, and so on.
But I'll think of a middle solution there. I do get your point that there needs to exist some sort of clarity between what gets to trigger events and what doesn't. Thanks for your input :+1:

Great @arthurcamara1!
i restructured the functions and events in a bubble chars, now the issue is solved


freifunk-common: neigh.sh - show hostnames

if nameservice-plugin is configured, we read
in all locally known hostnames and show them
in the output:
root@stuttgarter-core:~# neigh.sh
Local          Remote         vTime  LQ       NLQ      Cost Host
<IP_ADDRESS> <IP_ADDRESS> 138851 1.000000 1.000000 1024 stuttgarter-rhnk.olsr
<IP_ADDRESS> <IP_ADDRESS> 135717 1.000000 1.000000 1024 stuttgarter-emma.olsr
<IP_ADDRESS> <IP_ADDRESS> 138309 1.000000 1.000000 1024 stuttgarter-sued.olsr
<IP_ADDRESS> <IP_ADDRESS> 136001 1.000000 1.000000 1024 stuttgarter-west.olsr
<IP_ADDRESS> <IP_ADDRESS> 134818 1.000000 1.000000 1024 stuttgarter-nord.olsr
<IP_ADDRESS> <IP_ADDRESS> 137187 1.000000 1.000000 1024 stuttgarter-ost.olsr
<IP_ADDRESS> <IP_ADDRESS> 139984 1.000000 1.000000 1024 stuttgarter-hof2.olsr
<IP_ADDRESS> <IP_ADDRESS> 138294 1.000000 1.000000 1024 stuttgarter-stra2.olsr
Local               Remote              vTime  LQ       NLQ      Cost Host
2001:bf7:820:901::1 2001:bf7:820:950::1 139703 1.000000 1.000000 1024 stuttgarter-rhnk.olsr
2001:bf7:820:901::1 2001:bf7:820:960::1 139541 1.000000 1.000000 1024 stuttgarter-emma.olsr
2001:bf7:820:901::1 2001:bf7:820:990::1 140415 1.000000 1.000000 1024 stuttgarter-hof2.olsr
2001:bf7:820:901::1 fde6:24f1:a388::1   141338 1.000000 1.000000 1024
the filenames for the olsrd hosts-file is taken from uci
and falls back to sane defaults.
Signed-off-by: Bastian Bittorf<EMAIL_ADDRESS>

Thanks, merged.
But advice for future PRs: there was no need to create a new pull request.
You had the changes in a feature branch, so a few commands would have been enough:
git checkout tune_neigh.sh
git rebase -i HEAD~4   ### to squash the 4 commits into 1 and to edit the commit message
git push -f     ## to forcefully overwrite the previous 4 commits in the tune_neigh.sh branch.

That would have updated the pull request and replaced the previous commits. Github PRs are pretty flexible ;-)
https://github.com/openwrt/luci/blob/master/CONTRIBUTING.md#advice-on-pull-requests


Retrain

How do i want to educate these codes on a different dataset?

Please refer this documentation for more information.


[util] only use 256 bit seeds

PR #19079 integrates module secure_prng into the project. This PRNG will be used to generate netlist constants and scrambling keys.
At the moment, this PRNG will issue a warning if the provided seed is less than 256 bits.
Per discussion in the comments, we should change this warning into an error message.
Before that, we need to modify dvsim and the nightly regressions flow to always work with 256 bit seeds, so that no one's work flow gets broken.

Did we change to 256bit seeds already or is this change still pending?
CC @vogelpi

The change is still pending. I will work on it  this week.
It requires some changes on the dvsim to not disturb anyone's workflow.

#20036 will close this issue once merged


[$250] Workflow - Tapping add approval workflow or tapping back shows diff. behavior in mweb&android

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

Version Number: 9.0.43-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Launch both mweb and Android
Tap profile icon -- workspaces -- new workspace
Tap more features -- enable workflow
Tap workflow -- enable add approvals
Tap add approval workflow
Tap app back button

Expected Result:
While tapping add approval workflow or on tapping app back button "No members to display " page must not be shown
Actual Result:
In Android, tapping add approval workflow " No members to display " shown briefly but in mweb while tapping back button No members to display " page is shown
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/116d6380-9b59-46f2-907f-f5f120126219
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021841560364430821283
Upwork Job ID:<PHONE_NUMBER>430821283
Last Price Increase: 2024-10-02

Issue OwnerCurrent Issue Owner: @s77rt

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

Proposal
Please re-state the problem that we are trying to solve in this issue.
In Android, tapping add approval workflow " No members to display " shown briefly but in mweb while tapping back button No members to display " page is shown
What is the root cause of that problem?

For mweb, the approval flow is cleared before we complete navigating back to the previous screen then the empty screen appears briefly

https://github.com/Expensify/App/blob/f325244648646bff8fcba62e60979a530f14d2d3/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx#L149-L156

For Android, we merge the approval workflow data to Onyx here and then navigate to the approval screen but the data is merged after we navigate to the approval screen. So the empty screen appears briefly based on this condition here

https://github.com/Expensify/App/blob/19a137d26fee56f913eaec7c9b896915ddb002a9/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx#L103-L109
What changes do you think we should make in order to solve the problem?

For mweb bug, we should navigate back first and wrap the logic to clear approval workflow in InteractionManager.runAfterInteractions or use Modal.close

const goBack = useCallback(() => {
    Navigation.goBack();
    InteractionManager.runAfterInteractions(() => {
        if (!isInitialCreationFlow) {
            return;
        }
        Workflow.clearApprovalWorkflow();
    });
}, [isInitialCreationFlow]);

https://github.com/Expensify/App/blob/f325244648646bff8fcba62e60979a530f14d2d3/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx#L149-L156

For Android bug, we should navigate to the approval screen after the data is merged to Onyx completely.

https://github.com/Expensify/App/blob/19a137d26fee56f913eaec7c9b896915ddb002a9/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx#L103-L109
To do that we can use set method here which is faster because I see that we always pass full approval workflow data to this function.
https://github.com/Expensify/App/blob/19a137d26fee56f913eaec7c9b896915ddb002a9/src/libs/actions/Workflow.ts#L337
Or we can return the Onyx.merge promise in this function then move the navigate logic to .then of the promise returned by setApprovalWorkflow function.
https://github.com/Expensify/App/blob/19a137d26fee56f913eaec7c9b896915ddb002a9/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx#L103-L109
What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
An empty state view is shown when opening/closing the approval workflow page.
What is the root cause of that problem?
When we open the page, we will set the approval data first and then navigate to the page.
https://github.com/Expensify/App/blob/e61ee7fbe60acc12879b9d5cc6ef92c4a0b98caa/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx#L103-L108
However, the onyx data is not immediately available which is noticeable in slower devices like Android.
And when we close the page, we clear the approval data.
https://github.com/Expensify/App/blob/e61ee7fbe60acc12879b9d5cc6ef92c4a0b98caa/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx#L149-L154
What changes do you think we should make in order to solve the problem?

For the first problem, we can use Navigation.setNavigationActionToMicrotaskQueue to delay the navigation.
https://github.com/Expensify/App/blob/e61ee7fbe60acc12879b9d5cc6ef92c4a0b98caa/src/libs/Navigation/setNavigationActionToMicrotaskQueue.ts#L1-L5
Navigation.setNavigationActionToMicrotaskQueue(() => Navigation.navigate(ROUTES.WORKSPACE_WORKFLOWS_APPROVALS_EXPENSES_FROM.getRoute(route.params.policyID)));

For the second problem, we can delay the clearing of data using InteractionManager, just like we did here.
https://github.com/Expensify/App/blob/e61ee7fbe60acc12879b9d5cc6ef92c4a0b98caa/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx#L63-L67

@cretadn22, @nkdengineer, @Nodebrute and @bernhardoj  Thank you for the proposals. The RCA makes sense in general but the not found view should only be shown if the approvalWorkflow data is available and we have no members.

@abzokhattab Thanks for the proposal. The RCA makes sense. I find your solution the easiest to implement even though it will cause blank space to appear on animation instead of the not found view but I don't think thats something that we should optimize for. Overall looks good to me.
🎀 👀 🎀 C+ reviewed
Link to proposal

@abzokhattab Actually I found that the solution is not enough. We get a weird view after selecting some users and going back
https://github.com/user-attachments/assets/f1e724ae-33bc-49e1-b035-d724a9d58692

@s77rt The selected proposal is not enough because we still need to fix the approval workflow will be cleared briefly before we go back to the workflow page.

Since we need another "complementary" solution, I'm giving this another review:

@cretadn22 Proposal is not complete (only handles the mWeb cause)
@nkdengineer Let's avoid delays i.e. InteractionManager.runAfterInteractions
@Nodebrute Looks good to me
@bernhardoj both setNavigationActionToMicrotaskQueue and InteractionManager.runAfterInteractions add delays and should be avoided

@abzokhattab The new changes making this more complex and it feels like band-aid solution

@Nodebrute's proposal looks good to me
cc @stitesExpensify

To do that we can use set method here which is faster because I see that we always pass full approval workflow data to this function.

@s77rt For the selected proposal, with the main or alternative we also need to use set method in setApprovalWorkflow function which is the key to fixing the Android native bug and I'm the first one who suggested this. For the mweb bug,  I think moving clearApprovalWorkflow or delaying the call of this function is fine because we don't call any API.

@nkdengineer I believe the key in @Nodebrute's proposal is to not call Workflow.clearApprovalWorkflow on going back. Using Onyx.set is not mandatory.

@s77rt Using Using Onyx.set in setApprovalWorkflow is mandatory to fix the Android bug.

@nkdengineer

Using Onyx.set in setApprovalWorkflow is mandatory to fix the Android native bug.

Not sure that's the case based on my testings. Can you double check?

@stitesExpensify I think we can go ahead and assign @Nodebrute (proposal)

The PR that introduced the bug has been identified: https://github.com/Expensify/App/pull/46484
The offending PR has been commented on: https://github.com/Expensify/App/pull/46484#discussion_r1803498236
A discussion in #expensify-bugs has been started: Not needed
Determine if we should create a regression test for this bug: No

Payment summary:

Contributor: @Nodebrute $250 via NewDot
Contributor+: @s77rt $250

Paid out in Upwork. @s77rt request when you're ready.

Reopening for @s77rt and @garrettmknight to complete the regression checklist.

@tgolen Completed here https://github.com/Expensify/App/issues/50094#issuecomment-2417422875

Thanks @s77rt, and apologies that I missed it. @garrettmknight can you please be sure to copy those answers into the actual checklist and then complete it out?
@s77rt Can you give a little more context behind the regression? Would you say it was caused by one of these?

Initial design was incorrect or incomplete
Bug introduced during implementation
Bug caused by some unrelated change
Other (please specify)

I would say it's a bug that is introduced during implementation but it could also be that the design was incorrect if it was specific about the area where the bug occurred (I don't have access to the doc to confirm).


Feature/v3v2 api

@hmunfru @jframos

depend of https://github.com/telefonicaid/fiware-commons/pull/5

LGTM


Add bash kernel to Jupyter notebook

[ ] check that it works on Mac and Windows
[ ] try with pipX to install volume viewer package
[ ] put example command to test the installation

All this issues where solved on #15


client dose not get a response using http acl

Environment

OS: windows10
Erlang/OTP:
EMQ: R2.3
Client: Mqtt.js

Description
When I use http acl, the client which has no auth to pub, dosent get a response
I use a http auth and acl server,the auth works right. When the username or passwd is wrong, the client get a exception.But when the client publish a topic that isnot allowed,  the client get no response.

There are some wrong with the js client......


flood_integration_test is flakey

typical failure:
[ RUN      ] IpVersions/Http2FloodMitigationTest.RequestMetadata/IPv6BareHttp2WithDeferredProcessing
test/integration/http2_flood_integration_test.cc:1496: Failure
Expected equality of these values:
  "503"
    Which is: 0x27c25b
  response->headers().getStatusValue()
    Which is: "502"

https://dev.azure.com/cncf/envoy/_build/results?buildId=130766&view=logs&j=8c169225-0ae8-53bd-947f-07cb81846cb5&t=6b0ace90-28b2-51d9-2951-b1fd35e67dec&l=961

i just increased the shards on this test so not sure if that is related - but this seemed like it might be different and ive seen elsewhere


One should only be allowed to vote once, but can update afterwards

For obvious reasons :-)
We need to track the voter for a given proposal. The best way for this is a Double enum key, sth like
pub enum VotingHistory {
    Voting(Address, u32)
}

That we set to true upon voting, so that if the key does NOT exist one can vote for the first time.
If the key exists, one can only change their vote: If it's false and the user changes to true, we reduce against and move the votes to in_favor - and vice versa.
If someone votes true while already true or false when already false we error with VoteAlreadyCast

That's a good one. I'll update the ticket.

Would voting power change over time?
If yes, What if the voting power when some voted was 100 and by the time they updated their vote their voting power became 200. Would it be possible for me to get the old voting power so I can subtract the proper amount?

No, the voting power is constant for a given proposal; that's the idea of checkpoints. voting_power is always the balance BEFORE the proposal was created.


composer install 404 issue

Getting this issue while running composer command:
composer require anandsiddharth/laravel-paytm-wallet
Error
[Composer\Downloader\TransportException]                                                                                The "https://packagist.org/p/anandsiddharth/laravel-paytm-wallet%24dd70fdd0534421543ecb322edded80c19d0c24275a2b83ebaa4d5c339807a463.json" file could not be downloaded (HTTP/1.1 404 Not Found)

This issue is not specific to this package. You might have connectivity issue.
Try clearing composer cache

composer clearcache
and then run
composer require anandsiddharth/laravel-paytm-wallet

Thanks a lot :)


Breaking Change: Remove preview_cidr resource reliance, move transit_gateway_id outside of nested map

Attempting to unblock dependency chain for IPAM / PLS / tgw resources by removing the preview resource. IPAM is now unblocked.
TGW is unblocked but requires moving transit_gateway_id out of nested map and into its own variable. changes documented in UPGRADE_3.0.md
Note: upgrade guides should always reference prior upgrade guides with permalink

$ go test -run TestExamplesTransitGateway -timeout 60m
...
TestExamplesTransitGateway 2022-09-19T13:55:29-04:00 logger.go:66: Destroy complete! Resources: 41 destroyed.
TestExamplesTransitGateway 2022-09-19T13:55:29-04:00 logger.go:66:
PASS
ok      github.com/aws-ia/terraform-aws-vpc     367.819s

$ go test -run TestExamplesPublicPrivateCWLogs -timeout 60m
...
TestExamplesPublicPrivateCWLogs 2022-09-19T14:16:35-04:00 logger.go:66: Destroy complete! Resources: 27 destroyed.
TestExamplesPublicPrivateCWLogs 2022-09-19T14:16:35-04:00 logger.go:66:
PASS
ok      github.com/aws-ia/terraform-aws-vpc     267.568s

$ go test -run TestExamplesIPAM -timeout 60m
...
TestExamplesIPAM 2022-09-19T15:52:52-04:00 logger.go:66: Destroy complete! Resources: 15 destroyed.
TestExamplesIPAM 2022-09-19T15:52:52-04:00 logger.go:66:
PASS
ok      github.com/aws-ia/terraform-aws-vpc     1765.568s


recommended settings for 1 Gbps connection

Hi
I've been reading up on https://github.com/rakshasa/rtorrent/wiki/Performance-Tuning and sample config there is used with 74/20 Mbps connection, 4 GB RAM and 1 local disk device and it doesn't take into account the customization made with rtinst.
Now I have a server with 1 Gbps connection, 32 GB RAM and 2 HDD's in RAID 0 so I was wondering is there some recommendations in regards of tweaking the config for best performance.
Here's my current config:
# This is the rtorrent configuration file installed by rtinst script - https://github.com/arakasi72/rtinst
# This file is installed to ~/.rtorrent.rc
# Enable/modify the options as needed, uncomment the options you wish to enable.
# This configuration will work with most systems, but optimal settings are dependant on specific server setup

### Set Directories
method.insert = cfg.basedir,     private|const|string, (cat,"/home/user/rtorrent/")
method.insert = cfg.watch,       private|const|string, (cat,(cfg.basedir),"watch/")

method.insert = cfg.logs,       private|const|string, (cat,(cfg.basedir),"log/")
method.insert = cfg.logfile,    private|const|string, (cat,(cfg.logs),"rtorrent-",(system.time),".log")

session.path.set = (cat,(cfg.basedir),".session")
directory.default.set = (cat,(cfg.basedir),"download")

schedule = watch_directory,5,5,((load.start,(cat,(cfg.watch),"*.torrent")))

#system.umask.set = 0000

### BitTorrent
# Global upload and download rate in KiB, `0` for unlimited
throttle.global_down.max_rate.set = 0
throttle.global_up.max_rate.set = 0

# Maximum number of simultaneous downloads and uploads slots
throttle.max_downloads.global.set = 300
throttle.max_uploads.global.set = 150

# Maximum and minimum number of peers to connect to per torrent while downloading
throttle.min_peers.normal.set = 30
throttle.max_peers.normal.set = 150

# Same as above but for seeding completed torrents (seeds per torrent)
throttle.min_peers.seed.set = -1
throttle.max_peers.seed.set = -1

### Networking
network.port_range.set = 51001-51250
network.port_random.set = yes
dht.mode.set = on
protocol.pex.set = no
trackers.use_udp.set = true

# network.scgi.open_port = localhost:5000
network.scgi.open_port = <IP_ADDRESS>:5000
network.http.ssl_verify_peer.set = 0
protocol.encryption.set = allow_incoming,enable_retry,prefer_plaintext

network.max_open_files.set = 4096
network.max_open_sockets.set = 1536
network.http.max_open.set = 48
network.send_buffer.size.set = 4M
network.receive_buffer.size.set = 4M

### Memory Settings
pieces.hash.on_completion.set = no
pieces.preload.type.set = 1
pieces.memory.max.set = 3500M

### Logging:
#   Levels = critical error warn notice info debug
#   Groups = connection_* dht_* peer_* rpc_* storage_* thread_* tracker_* torrent_*
#print = (cat,"Logging to ",(cfg.logfile))
#log.open_file = "log", (cfg.logfile)
#log.add_output = "info", "log"
#log.add_output = "tracker_debug", "log"

### The following line initialises rutorrent plugins without needing to open the web interface
execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php user &}

schedule2 = dht_node, 30, 0, "dht.add_node=router.bittorrent.com:6881"
#EOF

You'll find a lot of answers to similar questions on the internet. Furthermore, it's better to ask over at akshasa/rtorrent where the devs can answer.

Why is here more important to have 0 issues open instead of actually helping?
On 'the internet'? Really? I thought I did ask 'the internet' and I asked the guy who put it together (silly me).
But if you went as far as reading my issue, you'd see that akshasa/rtorrent 'doesn't take into account the customization made with rtinst'.

I can understand that the policy of not giving support beyond rtinst is harsh, but there are several reasons for that.
First, arakasi72 is busy at work and I'm busy at my studies. Second, you question is one of the most common asked on the internet, which means that there are plenty of great answers to it. Third, your question depends on several factors. For instance, do you look for best performance when downloading or best performance for seeding? You have to customize your config according to your need if you really want the best performance. Resuling in that you will probably be better off by doing your own research on this by comparing the answers elsewhere rather than follow what we can recommend given the information.

I can understand that the policy of not giving support beyond rtinst is harsh, but there are several reasons for that.
First, arakasi72 is busy at work and I'm busy at my studies. Second, your question is one of the most common asked rTorrent related on the internet, which means that there are plenty of great answers to it. Third, your question depends on several factors. For instance, do you look for the best performance when downloading or best performance for seeding? You have to customize your config according to your need if you really want the best performance. Resulting in that you will probably be better off by doing your own research on this by comparing the answers elsewhere rather than follow what we can recommend given the information.


Performance and Textures

I noticed the following while dynamically loading some GLTF models:

Models loaded: 14
Total primitives in the Scene: 78. Each consists of simple shapes, in some cases an assortment of flat planes, in other cases various boxes. Each Primitive (in the Unity scene sense) uses a single 2-4MB texture
Memory profiler:

Meshes: 151 / 27.6MB
Textures: 573 / 1.30 GB

This seems horrifically wrong to me, and it indeed appears to be borne out by tragic performance and high loading times even for these very simple models. In particular, note that there are somehow 573 textures for 78 different Primitives (each of which uses a single texture) Is this an issue with UnityGLTF itself, or is there some flag I can provide or something in my models that is causing that? Is there any other information I can provide to help debug this?

Sorry for the delayed response @KermMartian . I have looked into this a bit. Here are my findings:
Why is a 5.75 MB glb file taking up 71.8 MB of scene memory?
45.9 mb = texture data
8.6 mb = mesh data
17.3 mb = Unity objects (Transform, GameObject, MeshRenderer, Material, MeshFilter)
Texture:
First of all, we are turning all textures into rgba32 which is making them fully sized uncompressed from a JPEG. We are also enabling mipmaps by default. Disabling mipmaps saves about 10 MB (down to 34.4 MB), so I'll make that a flag.
Next I disabled all texture copying for samplers and stopped copying textures to the CPU by default. This saved another 22.9 MB (down to 11.5 MB).
I finally tried to play around with moving it to different GPU compression formats, which should utilize even less memory, but had no success so far.
Mesh:
Mesh size is double what it should be because we are currently doing read/write (which means its not a GPU only copy). In the models you provided we are using 8.6 MB of space instead of 4.3 MB, which is the size of the binary portion. We can add a flag here that will enable none CPU copies of mesh data. We already have a toggle for this (KeepCPUCopyOfMesh on GLTFSceneImporter). Disabling this flag did not actually change the numbers though, so it will require further investigation.
Unity Objects:
Not much we can do here. There are 15377 objects that are generated from your hierarchy. We currently are matching the node structure of the file, so we need to generate that number of objects.
I also recommend using deep profiling and look at scene memory. The overall viewer gives an incorrect impression. For standalone with nothing in the scene I was getting:
2097 textures at 22.5 MB
23 mesh at 341 KB

This is great; thank you so much! I'll take your advice about looking at scene memory. In addition, how can I access the flag to disable texture copying for samplers, and is there anything I can do to support your adding of the flag to disable mipmaps and repair the flag to disable CPU copies of mesh data?

@blgrossMS Hope all is well, and I apologize for the bump. I wanted to check back to see where I can find the flag you mentioned, and if there's anything I can do to help with those other two missing/broken flags. Thanks!

To reduce GameObject count, in GLTFSceneImporter.ConstructMesh, I do this inside the loop:
               // Only create the Primitive GameObject if multiple Primitives are used
               //var primitiveObj = new GameObject("Primitive");
                GameObject primitiveObj;
                if (mesh.Primitives.Count == 1)
                {
                    primitiveObj = parent.gameObject;
                }
                else
                {
                    primitiveObj = new GameObject("Primitive");
                }

For texture memory, in GLTFSceneImporter, change the RGBA32 to DXT1 to have the textures compressed on the GPU.
Even better for Textures is using DDS texture files.  This takes a bit more modification of the code.  I did it for our project and removes the frame drop when loading textures.
private static bool IsDDS(byte[] bytes)
        {
            return bytes[4] == 124;

        }
        private static Texture2D LoadTextureDXT(byte[] ddsBytes, TextureFormat textureFormat)
        {
            if (textureFormat != TextureFormat.DXT1 && textureFormat != TextureFormat.DXT5)
                throw new Exception("Invalid TextureFormat. Only DXT1 and DXT5 formats are supported by this method.");

            if (!IsDDS(ddsBytes))
                throw new Exception("Invalid DDS DXTn texture. Unable to read");  //this header byte should be 124 for DDS image files

            int height = ddsBytes[13] * 256 + ddsBytes[12];
            int width = ddsBytes[17] * 256 + ddsBytes[16];

            int DDS_HEADER_SIZE = 128;
            byte[] dxtBytes = new byte[ddsBytes.Length - DDS_HEADER_SIZE];
            Buffer.BlockCopy(ddsBytes, DDS_HEADER_SIZE, dxtBytes, 0, ddsBytes.Length - DDS_HEADER_SIZE);

            Texture2D texture = new Texture2D(width, height, textureFormat, true);
            texture.LoadRawTextureData(dxtBytes);
            texture.Apply();

            return (texture);
        }

Where ever the terrible LoadImage is used, do this
                        byte[] buffer = memoryStream.ToArray();
                        if (IsDDS(buffer))
                        {
                            texture = LoadTextureDXT(buffer, TextureFormat.DXT1);
                        }
                        if (texture == null)
                        {
                            texture = new Texture2D(0, 0, TextureFormat.DXT1, true, isLinear);
                            texture.LoadImage(buffer, markGpuOnly);
                        }

I feel this should be somewhere in the document, as Read/Write and Texture sizes tips are really helpful in building an application which needs multiple GLTF to be loaded in 1 place. Found this thread after a long time. Thanks all!

@hybridherbst should we include the DDS/DXT part?


add lines to 'Reassign Modules' so it will be easier...

When changing module category assignments it is very hard to see what drop down menu i should change. So if you could add some kind of lines so it will be easier to see which module that belongs to which drop down menu. I have attached a picture on how it could look like.

Hi,
Doesn't the latest version of the theme has it?
I'll double-check and if not fix it.

Yes, it needs improvement. Going to patch it right now..

Very nice @qooob


Fix frr ospfd template on redistribute config section

Just fix this issue : https://github.com/opnsense/plugins/issues/1400

I tried, but the template system works oddly, I do not understand how to do it :disappointed: ...

To revision number, up 19.1 to 19.2 or 19.1.1 ?

Just remove the first space before redistribute.
Regarding Makefile just make PLUGIN_REVISION a 2 in https://github.com/opnsense/plugins/blob/master/net/frr/Makefile

:warning: This fix is important, when the routing fails, the firewall may become unreachable after the update ...

You can edit the file until release in /usr/local/opnsense/... Then service configd restart.

Merged, thanks!

Can you check c4923b3a18449c for me ?

Ok, let me try ;)

It's works ;)

Splendid, thanks ❤
Note this is for 19.7, 19.1.10 will not receive the fix anymore since builds have already been finished a few days ago and there will be no more 19.1 updates beyond the one to be able to upgrade to 19.7.

No problem, I've freez upgrade to my gateways, I wait 19.7


Ensure the headers are not modified in HTTPResponse

Fix for issue #26 which was caused by the passed in headers dict getting modified for the response.  Then the calling program reused the headers in subsequent calls.  Thanks to @dhalbert and @anecdata for assistance on Discord.

Functionally, it shouldn't matter, but should we be consistent between request and response in the use of case for headers?

The HTTP Standard states that header names are case-insensitive - https://www.rfc-editor.org/rfc/rfc9110.html#section-5.1-3 .
The issue #27 manifested itself as a case issue.  But I think that was a side effect related to the overwriting of the passed in object.

agree with @spovlot as well that changing the dictionary values are the root cause of the issue noted and the fix from this change. case consistency could be discussed and / or changed in the future still independent from this fix.


Upgrade to ESLint 6

This is more a whole-project stuff, but here I'm gonna list dependencies which need to update to ESLint6 to guarantee compatiblity and related links.
Note that ESLint currently works out-of-the-box even with older dependencies, but it fires off a warning.

[x] @typescript-eslint/eslint-plugin and @typescript-eslint/parser will support ESLint 6 in a couple of weeks #23
[x] @vue/eslint-plugin-vue will support ESLint 6 in next release https://github.com/vuejs/eslint-plugin-vue/issues/920
[x] eslint-config-prettier already supports ESLint 6
[x] eslint-loader seems to already support ESLint 6, but I cannot be sure because Github is having some severe server failure right now

ESLint 6 is now supported


Feature: Provide helper to build http2-settings header (for h2c)

As of now, it is only possible to encode full frames with the current API:
# inside connection
frame = {type: :settings, ...}
encode([frame])....

Which is fine for most uses. However, the h2c spec allows for encoding client setting in the HTTP2-settings frame. This is not the full frame, but only the payload part. This is a few layers down in the framer.
I'd propose to have a public API for returning only the encoded payload of frames (maybe harder), or to add a method to the connection/client to return the payload for the HTTP2-settings header. This is my current workaround:
# HTTP2 Client extension
def http2_settings
  payload = @local_settings.select { |k, v| v != HTTP2::SPEC_DEFAULT_CONNECTION_SETTINGS[k] }
  frame = { :type => :settings, :stream => 0, payload: Array(payload) }
  encode(frame).map do |f|
    noheader_frame = f[9..-1] # remove header from http-2 frame
    Base64.urlsafe_encode64(noheader_frame)
  end.join
end

Silly question.. why? As in, the only place I can see this being useful is in the H2C negotiation with the settings case, otherwise you're always emitting frames.

Yes, for that use case only. It is a not-so-important helper method, but helps in building clients that can upgrade to h2c. FWIW there's an example of an upgrade server, but one has to test it with nghttp. Somewhat low hanging fruit.


Auto Auth Impl

also added User Entity and Role Entity classes

Please do not merge,
getting Build error


⚠ Bofrost.at has degraded performance

In 28dc7b9, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2246 ms

Resolved: Bofrost.at performance has improved in 6f556ff after 19 minutes.


Attempt to call a nil value when require from init.vim

Hello,
for of all - thank you for this plugin. I love to improve speed of my neovim. Currently I have load time of 500ms with 72 plugins and want to improve it.
In my neovim I use both init.vim and init.lua because I am still refactoring it. So after installing it via packer in first line:
...
local use = packer.use

-- Packer can manage itself
use 'wbthomason/packer.nvim'

-- Needed to load first
use {'lewis6991/impatient.nvim', rocks = 'mpack'}
...

it correctly installed impatient.nvim and mpack. First I wanted to require it via packer by adding config = "require('impatient')" but it didn't work.
Now in my init.vim I added first line as
lua require('impatient')

but it throws such an errors and doesn't work:
Error detected while processing BufEnter Autocommands for "*":
E5108: Error executing lua .../site/pack/packer/start/impatient.nvim/lua/impatient.lua:113: attempt to call a nil value
... (then after going to any file from startify):
E5108: Error executing lua [string ":lua"]:1: loop or previous error loading module 'nvim-tree'

Then also telescope.nvim and nvim-tree doesn't work at all.
I'm using the newest version of Neovim v0.6.0-dev+200-gb35de6c52.
Any suggestions on how can I fix it?

Fixed after :LuaCacheClear! Load time improved from 532.249ms to 423.334ms. Thanks 😄


test: test prompter

Issue #, if available:
Description of changes:
unit testing for wizard prompter
Why is this change necessary:
How was this change tested:
test cases
Any additional information or context required to review the change:
Checklist:

[ ] Updated the README if applicable
[ ] Updated or added new unit tests
[ ] Updated or added new integration tests
[ ] Updated or added new end-to-end tests
[ ] If your code makes a remote network call, it was tested with a proxy
[ ] You confirm that the change is backwards compatible

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closing: Updated and merged in changes in this PR (https://github.com/aws-greengrass/aws-greengrass-gdk-cli/pull/248)


[Issue]: Test issue

What happened?
This is a test issue
https://github.com/gov-cy/dsf-ui-testing/issues/new?assignees=&labels=bug&projects=&template=test-issue-template.yml&title=[Issue]%3A+
asdasdasd

Expected outcome?
This is the expected outcome
Scenario
9
URLs
https://github.com/gov-cy/dsf-ui-testing/issues/new?assignees=&labels=bug&projects=&template=test-issue-template.yml&title=[Issue]%3A+
Test user
MLSI9
What browsers are you seeing the problem on?
Chrome
Relevant log output
No response
Enter any other notes if needed.
Potsi poda

@kypky see this related to issue #3


Add ALE support

Most of this is pretty straightforward. Just adding a standalone python script that can perform the lint, and the glue file that tells ALE how to use it.
I did some refactoring in autoload/OmniSharp.vim because ALE passes the buffer number as an argument. I don't know if that means that ALE might be called on buffers that aren't the current buffer...but I assumed that might be the case and changed some of the utility functions (like OmniSharp#FindSolution()) to optionally take a buffer number instead of always assuming the current buffer.

Actually, I'm running into some escaping issues on windows. Belay that merge...

The missing let in ale_linters/cs/omnisharp.vim is the only problem I'm having - after that I'm getting async linting in both Windows gVim and WSL vim (translated).

Fantastic, thanks!


Contributions showing up twice and not at all on user's profile

https://opencollective.com/taase-vaoga
Te Awhi Rito shows up twice. But the Event contribution doesn't show up at all under 'all contributions' and you can't see them until you click "events"

Then it shows duplicate cards of the event contribution.

Duplicate of https://github.com/opencollective/opencollective/issues/4672. Proposed some ideas in https://github.com/opencollective/opencollective/issues/4672#issuecomment-920725640


Line 8411 of default/savedsearches.conf in v4.0.1 is missing a line-continuation marker

Line 8411 of default/savedsearches.conf in v4.0.1 is missing a line-continuation marker ( \ ) which causes it to be flagged as an issue/error when running a "btool check".
https://github.com/gjanders/SplunkAdmins/blob/db8de8c1abd9fe2ac55b54f6a410cb39b647fcef/default/savedsearches.conf#L8411

Thanks! I thought appinspect might find these small errors...
I've updated the testing branch and will try to get that released today

Released 4.0.2, let me know if you find any more errors!


New colored icon and improved logo

Proposed Changes
I'm proposing a new colored version of the icon and logo to improve the design and to add support for Home Assistant "Running" and "Stopped" (greyed out) add-on state.
Related Issues
GH-24

I still have the project files, so if there is anything to change I can do that quickly.

Thanks, looks good, though the black text in the logo doesn't go well with dark mode, not sure what's the best approach for that.

Thanks, looks good, though the black text in the logo doesn't go well with dark mode, not sure what's the best approach for that.

Maybe I can try with light grey

Opening it with Windows Photos in light and dark mode doesn't look that bad

Thanks looks good to me