Missing ArtifactStateHelper extension causes NullPointerException errors and unnecessary syncs

Short version: None of the checked-in XML configurations for the plugin define an <ArtifactStateHelper> extension, which seems to prevent the plugin from using cached metadata when opening a project. Modifying the plugin to load LocalArtifactStateProtoConverter seems to fix the problem.
Backstory
After upgrading from version 2<IP_ADDRESS>.3 of the plugin to recent versions, I noticed that opening a Bazel project in IntelliJ results in a lot more Bazel activity than before. The same problem occurs for plugin versions 2<IP_ADDRESS>.0-api-version-211 and 2<IP_ADDRESS>.2-api-version-211, as published to the JetBrains Marketplace.
I upgraded the plugin alongside an upgrade of IntelliJ itself. I'm now using IntelliJ IDEA Ultimate 2021.1.3 with a Java-centric Bazel project.
I've done multiple rounds of opening the project in IntelliJ, waiting for all indexing/syncing to settle, closing the project, and opening it again. I also tried clearing IntelliJ caches and running bazel clean commands. The indexing/syncing process takes just as long each time, with Bazel spending most of the time on an incremental sync (and maybe two).
When I watch the IntelliJ application logs during that window, I see stack traces including NullPointerException errors like this:

Stack trace during project open
java.lang.NullPointerException: Null file
	at com.google.idea.blaze.java.sync.jdeps.AutoValue_JdepsState_JdepsData.<init>(AutoValue_JdepsState_JdepsData.java:32)
	at com.google.idea.blaze.java.sync.jdeps.JdepsState$JdepsData.create(JdepsState.java:50)
	at com.google.idea.blaze.java.sync.jdeps.JdepsState.lambda$fromNewProto$3(JdepsState.java:74)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
	at com.google.idea.blaze.java.sync.jdeps.JdepsState.fromNewProto(JdepsState.java:78)
	at com.google.idea.blaze.java.sync.jdeps.JdepsState.fromProto(JdepsState.java:84)
	at com.google.idea.blaze.java.sync.jdeps.JdepsState.access$100(JdepsState.java:39)
	at com.google.idea.blaze.java.sync.jdeps.JdepsState$Extractor.extract(JdepsState.java:171)
	at com.google.idea.blaze.java.sync.jdeps.JdepsState$Extractor.extract(JdepsState.java:167)
	at com.google.idea.blaze.base.model.SyncData.lambda$extract$0(SyncData.java:39)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
	at com.google.idea.blaze.base.model.SyncData.extract(SyncData.java:41)
	at com.google.idea.blaze.base.model.SyncState.fromProto(SyncState.java:61)
	at com.google.idea.blaze.base.model.BlazeProjectData.fromProto(BlazeProjectData.java:82)
	at com.google.idea.blaze.base.model.BlazeProjectData.loadFromDisk(BlazeProjectData.java:151)
	at com.google.idea.blaze.base.sync.data.BlazeProjectDataManagerImpl.loadProject(BlazeProjectDataManagerImpl.java:85)
	at com.google.idea.blaze.base.sync.data.BlazeProjectDataManagerImpl.loadProjectRoot(BlazeProjectDataManagerImpl.java:71)
	at com.google.idea.blaze.base.prefetch.PrefetchProjectInitializer.getBlazeProjectData(PrefetchProjectInitializer.java:101)
	at com.google.idea.blaze.base.prefetch.PrefetchProjectInitializer.lambda$prefetchProjectFiles$1(PrefetchProjectInitializer.java:81)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:160)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:143)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:829)

Root cause
Digging into the NullPointerException above, I discovered that the null value in question was supposed to be an ArtifactState object, derived from paths in the cache.dat.gz file for this IntelliJ project. Investigating further, I found that the plugin never enters this loop in ArtifactStateProtoConverter because no <ArtifactStateHelper> extensions are present.
It looks like the <ArtifactStateHelper> extension point was introduced in commit 1af8d0a996611d8e9b295c8b6cd7ca94dcffc630, first included in the v2020.07.13 tagged release. At the time, the only <ArtifactStateHelper> directive referenced a class that seems internal to Google. That caused problems for external users, which was reported in issue #2014 and fixed in commit 9f65fdd190a79bebb0550d8988ddaad4bc12396f, first included in the v2020.08.26 tagged release.
That first commit did include a LocalArtifactStateProtoConverter implementation of ArtifactStateProtoConverter, which is still present in the codebase. It doesn't appear that implementation was ever referenced in a checked-in <ArtifactStateHelper> directive, however.
Prospective fix
I made a local build of the plugin after modifying base/src/META-INF/blaze-base.xml as follows:
diff --git a/base/src/META-INF/blaze-base.xml b/base/src/META-INF/blaze-base.xml
index 7d2f7722..666fc205 100644
--- a/base/src/META-INF/blaze-base.xml
+++ b/base/src/META-INF/blaze-base.xml
@@ -542,6 +542,7 @@
     <VcsSyncListener implementation="com.google.idea.blaze.base.sync.libraries.ExternalLibraryManager$VcsListener"/>
     <SettingsUiContributor implementation="com.google.idea.blaze.base.settings.ui.BlazeUserSettingsConfigurable$UiContributor" order="first" id="base"/>
     <MacroTargetProvider implementation="com.google.idea.blaze.base.query.BlazeQueryMacroTargetProvider" order="last"/>
+    <ArtifactStateHelper implementation="com.google.idea.blaze.base.filecache.LocalArtifactStateProtoConverter"/>
     <BinaryPathRemapper implementation="com.google.idea.blaze.base.async.process.MacBinaryPathRemapper" order="last"/>
     <CustomFormatter implementation="com.google.idea.blaze.base.buildmodifier.BuildifierCustomFormatter"/>
   </extensions>

Opening my project now involves very little work from Bazel itself, with this process completing in about a second once more:
Syncing project: Sync Project (startup)...
Updating in-memory state...
Sync finished

Upon further research, I see this bug was also reported in issue #2097 from September 2020.

I suspect issue #2392 from February 2021 is a reflection of this bug too.

Thank you very much for investigating and suggesting this. I think we dropped the ball here and it makes total sense to me that we fix this as this impacts quite a few projects (almost everyone using protobuf). I'll discuss this with the team and hopefully we can get this out asap.
I wonder if there is any way to require at least one implementation for a given extension point at compile time to prevent issues like this in the future. Of course can do it at runtime, via throwing an exception, that's surely better than an opaque NPE, but this wouldn't help plugin users very much.
One idea to prevent this at compile time that I have would be to extend the intellij_plugin_library rule that we have .

Thanks for merging a fix, @AlexeyGy! Much appreciated 🙂
If you're looking to tidy up some other issues, I think these can all be closed now: #2095, #2097, #2220, #2392


Optimization fails when using original oemof.tabular

This script
https://github.com/modex-flexmex/oemo-flex/blob/features/runall-script/experiment_1/scripts/FlexMex1_10/FlexMex1_10_optimization.py
fails when run with the oemof-tabular installed via pip. It works when using this fork: https://github.com/jnnr/oemof-tabular/tree/dev

Need to collect to the full error message and open an issue on oemof-tabular.

Is this still an issue?

We know this and will document it in the oemoflex docs.


Removes option --lossy_8bit from zopflipng call.

Fixes issue #19.
Note that this was not really affecting optimage, as there is a check in place to validate the optimized image is pixel by pixel equivalent to the source.

Coverage decreased (-0.6%) to 98.089% when pulling 685c7fb0b933067cb64947e81f43dd2b2e65a429 on issue19 into 95a250a2e48b474476886236958e792f3df54a58 on master.


requesting a new QR code cost more than 2 minutes

Expected behavior
When wechat logs you out, and then asks you to login again by showing qrcode, it should within 2 minutes(watchdog timeout)
Actual behavior
It will cost me 15min to show qrcode
requesting a new QR code every 20 minutes by @dcsan

Please look into the log when you experience this issue next time, and let me know if there's a line like this:
02:18:17 WARN PuppetWebWatchdog monirotScan() refresh browser for no food of type scan after 10 mins
02:18:17 VERB PuppetWebBrowser refresh()

Thanks.

yes, it got the line.
02:23:46 WARN PuppetWebWatchdog monirotScan() refresh browser for no food of type scan after 10 mins

each qrcode internal is 16 minutes.

I had changed this interval from 10 to 4 minutes because you said normaly it's 2 minutes, so we refresh after 4 minutes if there's no new QRCode coming.

it should within 2 minutes

Please use the latest docker image to continue monitoring it, thanks.

2 minutes

I'm not sure why is should within 2 minutes...
I said 2 minutes, because I saw watchdog says 120s....

the same bot and same environment, log as follows:
03:20:47 WARN PuppetWebWatchdog monirotScan() refresh browser for no food of type scan after 10 mins

and qrcode internal is 15 minutes.

one related feature request here is to DISABLE requesting a new QRCode.
when some bots are running on a remote server, they will lose connection, and keep requesting new QRCodes for a long period, those personal Wechat accounts will get blocked.

@dcsan Thanks for pointing this out.
But what if someone uses his computer at the office to use web wechat, and then forget to turn the computer off, left it there, and have two weeks vacation?
Will his account be blocked? If so, I do not think that make sense.

so the behavior here of calling for a new QRcode is identical to normal browser usage?
however, we have experienced this with accounts getting blocked.
perhaps it could be that multiple bots were running on the same VPS/IP# or there is some other behavior that makes chromedriver different (eg the *nix user agent?)
FWIW the bot accounts were also used on mobile phones, as normal/real wechat accounts.

Yes, the behavior of Wechaty should be identical to a normal browser.
I think there must be some other behavior.(but not like the user agent & IP).
Maybe we should set up a place to collect the bot blocked events from our developers, so we can discuss it deeper. ;-p

@zixia  hi bro, just take a look at the source.  some information here maybe useful.
if it's isAssociationLogin, wxwebapp will display a confirm button instead of qrcode, in this case , chatie will no trigger onScan event.

请在手机点击确认登录

        登录
        切换帐号

source
click this button will trigger that  a confirm button display on mobile app, and click it to login.
associationLogin: function(e) {
              var a = t.defer()
                , n = i.API_webwxpushloginurl + "?uin=" + encodeURIComponent(e);
              return $.ajax({
                  url: n
                  , dataType: "json"
                })
                .done(function(e) {
                  0 == e.ret ? a.resolve(e) : a.reject(e)
                })
                .fail(function() {
                  a.reject()
                }), a.promise
            }

source
what is isAssociationLogin?
...
e.isAssociationLogin = parseInt(a.getCookie("login_frequency") || 0) >= 2
...

it seems if we are login one wechat account  on one computer/browser too frequency, this account will be identify as a isAssociationLogin account?
source

cool！ I guess this is the reason why the internal is 15min-20min

@JasLin Let's continue to track this issue at #636
This issue will be closed. Thanks!


Update circular.cpp

i improved circular linked list added efficient oop style

closing this pull request as the OP have created another PR(#89) with the proposed changes.


Add man page for oz-setup

This isn't ideal.
user@subgraph:~$ man oz-setup
No manual entry for oz-setup

Agreed, we should create that.


Implement significantly improved createdenominations algorithm

This works in the way creating PS denoms has traditionally worked with some twists, assuming enough funds, it will start with the smallest denom then create 11 of those, then go up to the next biggest denom create 11 and repeat. Previously, once the largest denom was reached, as many could be created were created and then any remaining funds were put into a change address and denominations were created in the same manner a block later/in another tx.
Now, in this new system, so long as we don't reach 500 outputs the process repeats in the same transaction, creating up to privatesenddenoms per denomination in a single transaction. Then, once there are privatesenddenoms of each denom, take that leftover/"change" and create as many of the largest denom you can with that amount, then as many of the next largest, down to the smallest.
This has the change of privatesenddenoms not being a hard cap anymore that won't be exceeded, but instead, the initial "checkpoint" so to speak.
It has a couple of other benefits as well, in the case of privatesenddenoms = 50, receiving a lot of small-ish txes results in you having max number of small denoms, which means you have funds in your wallet, but denoms won't be created from them which means you won't end up mixing all your funds. In this new system, ALL funds, up until the privatesend max_amount will get mixed.
In the old system, receiving lots of small transactions basically clogged your wallet up with tiny inputs, resulting in high fees and other problems (including potential privacy attacks, due to user more inputs than necessary). Under this system, that will still happen in the case of receiving LOTS of tiny transactions, but it will be to a much lesser degree. This is due to the fact that in the old system, 11 smallest denoms were created first, no matter what, under this system, assuming you have privatesenddenoms (50) of the smallest denom, then the wallet will only create as many smallest inputs as it needs to to mix all the funds. As an example, receiving 1.584 Dash in my test (at privatesenddenoms) resulted in only 4 new 0.001 denoms.
Also, I adjusted DoAutomaticDenominating to allow the creating of denoms on regtest in https://github.com/dashpay/dash/commit/75164e589cbc3b845a3a844144f1914365596369, that made my testing much easier

Will test/review thoroughly but just a quick note on the original concept: the idea was that you need some small denoms cause otherwise you'll end up paying huge fees if you try to pay with large denoms only, that's why all denoms were create in parallel. The new code should probably create small denoms too in most cases but I'm worried that it might create not enough of them in some cases.

It shouldn't do that, it creates denoms in the exact same way as previously, up until 50 denoms, which is enough small denoms for up to 10 transactions on average.
The only effective difference is that once you get a bunch of those denoms it minimizes their creation

Justification for 16:
I recently worked with someone who was mixing small amounts (using privatesenddenoms=50) and who's balance wasn't getting fully mixed. He had previously complained about too many small denoms, and so received that advise. That's a pretty major user facing problem, and is borderline a "bug" even thought this is more-so an improvement.
For that reason, I think it's pretty clear this should (eventually) be merged into 16


Types referencing class defined later

Describe the bug
When importing some Pyglet classes, Python interpreter throw a NameError: name 'some pyglet class' is not defined. This is because the some pyglet class is a type hint referencing a class defined later.
Example of code throwing this kind of error (from pyglet/image/__init__.py):
def create(width: int, height: int, pattern: ImagePattern | None=None):
    # rest of the code of this function

# ... some code here

class ImagePattern:
    # rest of the code of the ImagePattern class

In the above code, the ImagePattern is referenced in type hint for the pattern parameter but is defined later so the interpreter is throwing an error.
System Information:
Python version: 3.12.1
Pyglet version: 2.0.15
Operating System: Ubuntu (Linux)
GPU: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics]
CPU: Intel Core i7-1165G7
How To Reproduce
import pyglet

window = pyglet.window.Window()
test_button = pyglet.gui.PushButton(0, 0, None, None)

You get the following error:
NameError: name 'ImagePattern' is not defined

Your test code does not reproduce the issue.
However, we are currently in the process of adding type hints. See https://github.com/pyglet/pyglet/issues/1084
This issue is due to the forward references from what you are describing.
One way to resolve this, is to use the typing.TYPE_CHECKING which only runs for type checkers, not at run time.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
    from pyglet.image import ImagePattern

Your test code errored for me, so it didn't reproduce the issue.

Of course this code fails, that's the point.

This issue is due to the forward references from what you are describing.
One way to resolve this, is to use the typing.TYPE_CHECKING which only runs for type checkers, not at run time.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
    from pyglet.image import ImagePattern

Thanks for this work around. I also open a pull request fixing this (PR #1129).

I'm also unable to replicate the issue. Running your example code against 2.0.15 produces a NoneType error as expected, but no NameErrors. Are you sure you are on an un-modifed release of 2.0.15?
Checking out the 2.0.15 release from PyPi, it does not include the type hints that you are showing in your report:
ben@ncase ~ $ cat /home/ben/.local/lib/python3.12/site-packages/pyglet/__init__.py | grep "version ="
version = '2.0.15'
ben@ncase ~ $ cat /home/ben/.local/lib/python3.12/site-packages/pyglet/image/__init__.py | grep "def create(width" -A 20
def create(width, height, pattern=None):
    """Create an image optionally filled with the given pattern.
...
    """
    if not pattern:
        pattern = SolidColorImagePattern()
    return pattern.create_image(width, height)

As caffeinepills mentioned, a future release will include type hinting for most modules.

Indeed, I had remnants of an old Pyglet installation. The mistake must have come from here. After deleting my virtual environment, recreating it and then reinstalling Pyglet, the error is gone.
My bad, I'll also close my pull request.
Thanks for your help and good luck for the rest!

No worries. We plan to have the typing built in soon, it's just taking us some time. Next release it should have it.


Broken

I think they changed something in their API, so I cant use the importer anymore.

@flash1o Thanks for warning. I will take a look.

I think they changed something in their API, so I cant use the importer anymore.

Well, this is of course very little data) The error is that he is trying to go beyond the boundaries of the array, show what you have here

Open the script and put there such a Debug.log show what it gives. Put a stop point (if you know how). Everything works for me, but I have the code changed for myself, it's hard to determine) The more data you give, the faster the problem will be solved)

And I found a jamb in the code on the git, yes figma changed the link and now it's at the beginning

And before it was like this

My code looks like this, so there was no error -

@VladislavMm Thank you for spotting the problem and for the solution. I pushed it to the main branch. Next time dont be shy to make a PR with fix.


Feature Added in Alarm Manager Plugin for Flutter

Description:
This pull request aims at adding a function / method that returns the status of the alarm whether it is active or not by returning a boolean. Use the function isAlarmActive(int requestCode).

@googlebot I signed it!

@googlebot I signed it!


Allow Users to Consent to Metrics Data Collection Before Collecting Data

The only thing holding me back from using this editor is the creepy data collection which is not even made clear to the user. I would have no problem with it if Atom didn't send any usage statistics until the user consented to the data collection.

The data collection is mentioned in the Welcome screen that is shown on first run of Atom. We definitely agree that it could be made more clear.
Additionally, this is a duplicate of https://github.com/atom/atom/issues/4966. You may want to subscribe there for updates as we address people's concerns. Specifically, see the latest comment there for what our current plan is. We do not have an ETA for when this change will be made yet.
Thanks for your interest in Atom!

On #4966, the latest comment said that it is near the top of their list. However, it has been over a year since the issue was created. Is it actually near the top of their list? Or does GitHub not take the issue seriously?


typo: prototcol should be protocol

Thanks @Mosibi -- have you signed the CLA?

@otoolep just did, thanks for the notice.

Thanks @Mosibi


Hugo shortcodes

Hugo converts shortcodes to HTML tags with GO template: https://gohugo.io/content-management/shortcodes/
Related pages: https://gohugo.io/content-management/related/
Hugo learn attachement shortcodes: https://learn.netlify.app/en/shortcodes/attachments/

From color your world:

KBD
Abbr
Loop videos like gif


Hello World

Description
Program for hello world.
Domain
Frontend Dev HTML/CSS/JS
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Update config.ts

Fixes #4
The edits are pretty self-explanatory. Consider this as a mere suggestion waiting for criticism.
This part still sits slightly odd with me (although it's probably not a problem at all in practice, and I wouldn't know how to make it better):
The format of each message is as follows:
[neutral|happy|angry|sad|relaxed] {message}

The "issue" is simply that the word "message" (previously "conversation") is used with two different meanings to indicate either the whole thing or just the thing without the emotion notation. It also fails to clarify that the emotional state can change mid-message, as shown by examples.

This looks good, thank you!

Thank you!


[$500] Web -Set Password - Autofill suggestion shows up for password field at set password page @thesahindia

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

Action Performed:

Go to staging.new.expensify.com
Put new email address under log in
Click continue
Click Resent - Link
Go to you email
Copy the email into new browser and add staging before url
Focus on the field

Expected Result:
Autofill suggestion shouldn't be shown
Actual Result:
Autofill shows up
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers): any
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: @thesahindia
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1663245567576029
View all open jobs on GitHub

@Julesssss  , is it possible to disable the autofill suggestions on the set password page? If so, then it makes sense to me to fix this.

It should be possible, though some password managers actively ignore the prop that we can set to prevent password managers from showing.
Let's try to solve for Chrome and Safari password managers, with the understanding that 3rd party solutions are out out of scope here.

Still looking for proposals.

@puneetlath could we please double the bounty? Thanks!

Updated to $500!
External upwork job: https://www.upwork.com/jobs/~01c664c9b077916369
Internal upowrk job: https://www.upwork.com/ab/applicants/1582732633604943872/job-details

Hello!
Just add the autoComplete="off" in form element

Lol, yep that sounds simple enough 😄
Would you like to work on this PR @albrimpaqarizi? Your message doesn't quite seem like a proposal so I just wanted to check before assigning this to you.

@albrimpaqarizi , check https://github.com/Expensify/App/blob/main/contributingGuides/CONTRIBUTING.md for more details about submitting a proposal, if interested.

@mallenexpensify @Julesssss Time to double?

@johnmlee101 will this page become obsolete with #passwordless?

Yess it should 😄 let's put a HOLD on this at a minimum

Ok I'm going to close this out then since this page is about to go away. @thesahindia I sent you a hiring offer for the reporting bonus since it is a current bug.

Thanks @puneetlath but I am not sure if this is eligible since we aren't compensating unless the issue gets fixed.
Also just curious what's "#passwordless", are we planning to remove passwords?

Yes, we are planning to remove passwords. Which is effectively a fix for this bug, so I think it qualifies.

Cool thanks for clarifying. I have accepted the offer.
I think we can also close https://github.com/Expensify/App/issues/11403?


deal with comments and #if's in argument lists

closes #410

I think I'm okay with just not doing this. I ran into it a couple times at work with our new multitargeting but it is super rare. I think there were ~30 instances of it across all of the code in https://github.com/belav/csharpier-repos. It's kinda ugly as is, but also weird with the preceding comma. So let's just not add extra code to deal with the super rare thing when the new formatting is debatable.


Index Error

Hi, I am very new to coding in Python and this might be a naive problem but I keep getting this error when I try to run pks on my folder:

Any advice is appreciated. Thank you!

This happens if you run PKS from the command line without an input argument. Presumably you are running it like so:
$ python -i pks.py
However, you should be appending the path to the dataset that you want to look at, like so:
$ python -i pks.py path/to/folder_with_data
If that is not the case. Would you mind sharing the command that you are using to run the script?

Thank you for your response! This is the command I am using: % python -i pks.py /Users/areebaqureshi/Desktop/MscVisualization/P19-ChR2-Kilosort-Output
Actually now when I run this I get this error: File "/Users/areebaqureshi/Desktop/MscVisualization/KS3_2/pks_processing.py", line 1158, in _find_files_with_extension
for file_name in os.listdir(folder_path):
^^^^^^^^^^^^^^^^^^^^^^^
NotADirectoryError: [Errno 20] Not a directory: 'pks.py/'
Is having the 'temp_wh.dat' file necessary to run this the pks.py file?

It depends on which version of Kilosort you used. If you used the Matlab version (Kilosort 3.0) a temp.wh file is necessary. Possibly try navigating (in your terminal) to the "P19-ChR2-Kilosort-Output" folder and run the file pks.py from there using "." as the input folder. I also want to point you towards Phy2 (https://github.com/cortex-lab/phy) which is GUI based, so no Python experience necessary.


Batch diagram migration

Issue and tracking information
Allow users to migrate all diagrams in a model instead of migrating individual diagram one by one.
It may not be possible to do this in one click but I think it would be possible to do this in two menu actions.
Developer's time Estimated effort to fix (hours):
Developer's Actual time spent on fix (hours)
Issue reporter to provide a detailed description of the issue in the space below

I have tried to put a fix for this one and it seemed that the fix was working. However, I found out that the fix does not work due to Papyrus's automatic layout happening when the diagram is on focus the first time. Any changes to the diagram before the automatic layout will be lost. Unfortunately, I suggest using the current solution for the diagram migration.
@J17359 Let us know if you want me to work on any other issues, otherwise, I will be working on some other projects.

The current "Refactor-> Model Migration" action will create all composite structure diagrams that require diagram migration so users don't have to navigate to each assembly to create a diagram in order to import RSA diagram layout.
I will close this issue but feel free to let us know if you have any other suggestions on this matter.

The current "Refactor-> Model Migration" action will create all composite structure diagrams that require diagram migration so users don't have to navigate to each assembly to create a diagram in order to import RSA diagram layout.
I will close this issue but feel free to let us know if you have any other suggestions on this matter.

Thanks @ysroh. We'll go through our backlog and enter some more tickets into GitHub for you to work as you have time.


32 bit support

Is there any chance to have support for i686 architecture?

You know, I hadn't even considered it. But I can't see any obvious reason why that'd be unreasonable to expect. I'll give it a go during the weekend :-)

@migueldvb
i686 should now work, feel free to try it out for yourself by doing a build from the master branch.
spotifile: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=92c100b8cfe23b3ff74be57aa2621ae840aab7af, not stripped

Thank you, building spotifile on a 32bit computer works well. I get a warning from
autoreconf -sif
libtoolize: putting auxiliary files in '.'.
libtoolize: linking file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: linking file 'm4/libtool.m4'
libtoolize: linking file 'm4/ltoptions.m4'
libtoolize: linking file 'm4/ltsugar.m4'
libtoolize: linking file 'm4/ltversion.m4'
libtoolize: linking file 'm4/lt~obsolete.m4'
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /usr/bin/automake line 3936.
configure.ac:4: installing './compile'
configure.ac:3: installing './missing'

but compilation is OK and all tests pass.

No need to worry about that, it shows up on my system as well. But, I probably should fix it regardless... I'll create an issue.


 ViGEmBus Breaked the rules when i Install this. It found Full Disk Space Error, when the people didn't have full Disk Space. That's why ViGEmBus didn't listen to rules.

That's not how that works at all

What did I just read 😆 Who let kids on GitHub.


Maintain a user database to keep the progress of the user.

A database can be maintained where the user name, score, and the timestamp for each game can be stored.

on exit, the last N game scores can be shown.

currently, a File can be used to store the information.

Hey @setraj! Sounds great. Would you like to work on it?


add username field to authd result CORE-4162

@maxtaco r?
This adds a new field, Username, to AuthResult that authd will now return.

The commits 2d3397461d8b...d374ab5028ec introduce visual changes on linux. :mag_right: 1 changed

Changed: Chat_Input-Emoji_Open (before) (after)

The commits 2d3397461d8b...d374ab5028ec introduce visual changes on linux. :mag_right: 1 changed

Changed: Chat_Input-Emoji_Open (before) (after)

The commits 2f934d5a075d...b70fb18ea9ac introduce visual changes on linux. :mag_right: 1 changed

Changed: Chat_Input-Emoji_Open (before) (after)


feat(pagewizard): add onClearError prop

Closes #
Summary

add onClearError prop

Change List (commits, features, bugs, etc)

add new onClearError prop so that the parent components can clear the error
add Close button label to the i18n prop

Acceptance Test (how to verify the PR)

See new testcases

@davidicus can I get a review on this one?

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


BUG: Memory leak on receiver side in asyncio

What pyzmq version?
25.1.0
What libzmq version?
4.3.4
Python version (and how it was installed)
3.11.5
OS
Ubuntu 22.04
What happened?
Memory usage climbs quickly on the receiver to > 8GiB, at which point I kill it before it can crash my system. Memory usage is constant for the sending side.
Client (receiver):
import zmq.asyncio, gc, asyncio

async def client():
	ctx = zmq.asyncio.Context()
	sock = ctx.socket(zmq.PAIR)
	sock.setsockopt(zmq.RCVBUF, 1024*10)
	sock.setsockopt(zmq.RCVHWM, 1)
	sock.connect("ipc:///tmp/memtest")

	print("client ready")
	i = 0
	while True:
		data = await sock.recv(copy=True)
		print("client recv", i)
		del data
		gc.collect()
		i += 1

asyncio.run(client())

Server (sender):
import zmq.asyncio, asyncio

async def server():
	ctx = zmq.asyncio.Context()
	sock = ctx.socket(zmq.PAIR)
	sock.setsockopt(zmq.SNDBUF, 1024*10)
	sock.setsockopt(zmq.SNDHWM, 1)
	sock.bind("ipc:///tmp/memtest")

	# random data
	data = b'0'*1000000

	print("server ready")
	i = 0
	while True:
		await sock.send(data, copy=True)
		print("server send", i)
		i += 1

asyncio.run(server())

Code to reproduce bug
See above

Traceback, if applicable
None

More info
None

Confirming this is specific to asyncio and an always-busy socket. Trading zmq.asyncio.Context() for zmq.Context() in the receiver results in no memory growth beyond ~45MB. Similarly, if there's ever a pause between messages, references will be cleaned up.
The underlying issue is that in the example given, the event loop is never idle, so Future done_callbacks are never called (the job of the event loop), which cleanup references to the Future, which in turn contains a reference to the message.
Adding an asyncio.sleep(0) (e.g. every 1000 messages) gives the event loop a moment to do its usual cleanup. I'm surprised asyncio never calls the done_callbacks in the await, but that's a question for asyncio. pyzmq isn't in control of the disposal of Futures, that's the event loop's job.
Ultimately, this is a result of the optimization that pyzmq doesn't use coroutines, it directly uses Futures. When pyzmq is busy (i.e. there's always a message to recv), these Futures are immediately complete, meaning the event loop doesn't idle if a zmq socket is the only thing that's ever awaited and zmq never actually has to wait for a message. If there were any actually async calls, cleanup would occur, which is why asyncio.sleep(0) works.
This issue exists in general, but this particular reference can be avoided by not registering the done callback in the event (#1929). But if you actually have any other coroutines waiting to run, this busy coroutine will never yield to them as long as the socket has messages to receive.
You can see the same effect with pure asyncio:
import asyncio
from functools import partial

def printer(msg, _f):
    print(msg)

async def main():
    print("start")
    for i in range(10):
        digit = str(i % 10)
        data = digit.encode("ascii") * 1_000_000
        f = asyncio.Future()
        f.add_done_callback(partial(printer, f"done_callback {i}"))
        f.set_result(data)
        print(f"await {i}")
        # f is already done! this await doesn't yield to anything
        await f
    print("end")

asyncio.run(main())

which produces:
start
await 0
await 1
await 2
await 3
await 4
await 5
await 6
await 7
await 8
await 9
end
done_callback 0
done_callback 1
done_callback 2
done_callback 3
done_callback 4
done_callback 5
done_callback 6
done_callback 7
done_callback 8
done_callback 9

Okay that's very interesting, I didn't know that was how python futures behave.
In the python docs, it does say future's callbacks are scheduled with call_soon , so wouldn't get called when you await the result; so apparently the correct behavior. I opened this discussion on discuss.python.org to change it to match how tasks behave instead (where done callback is completed by the time await returns). Probably won't come to anything.

Yeah, I'm just surprised that the presence of await doesn't give call_soon any chance to fire. I thought you would have to avoid the await, like:
f = s.recv()
if f.done():
    result = f.result()
else:
    result = await f

to starve other tasks.
This isn't the first time starvation has been an issue, but the performance benefit is substantial, if I recall. It's a tricky trade-off. I've thought perhaps a flag on the sockets to have a more polite, cooperative per-call yield could be desirable, but folks are going to have to find it first, if it's opt-in.

The problem still exists in 26.2.0 recv_pyobj() in recerver will memory leak @minrk


Hi, I tried to use all the models to detect the face on a black and white video and results are very poor. Is there a way to improve the accuracy?

yes because referenced models expect input images in 3 channels (red-green-blue).
these reference models trained with colorful images. testing them with gray scale would have poor performance. this is expected.


gnomeExtensions.night-theme-switcher

Describe the bug
After installing the Gnome extension, it can't be activated. Neither through the GUI (Extensions app) nor by manually adding it via dconf to org/gnome/shell/enabled-extensions. The GUI shows this error message:
# Message manually typed and translated from german

GLib.FileError: File "/etc/profiles/per-user/stfnx/share/gnome-
 shell/extensions/nighttheme
[switcher@romainvigier.fr](mailto:switcher@romainvigier.fr)/schemas/gschemas.compiled" could not be
 opened: open() failed: No such file or directory

When clicking the button for the extension settings, a longer trace shows up:
GLib.FileError: Datei<EMAIL_ADDRESS>konnte nicht geöffnet werden: open() ist gescheitert: No such file or directory

Stack trace:
  getSettings@resource:///org/gnome/Shell/Extensions/js/misc/extensionUtils.js:228:31
  SchedulePage@/etc/profiles/per-user/stfnx/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/preferences/SchedulePage.js:22:41
  fillPreferencesWindow@/etc/profiles/per-user/stfnx/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/prefs.js:50:9
  _init@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:27:29
  ExtensionPrefsDialog@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:10:4
  OpenExtensionPrefsAsync@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:124:33
  async*_handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:373:35
  _wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:408:34
  run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:186:20
  main@resource:///org/gnome/Shell/Extensions/js/main.js:22:13
  run@resource:///org/gnome/gjs/modules/script/package.js:206:19
  start@resource:///org/gnome/gjs/modules/script/package.js:190:8
  @/nix/store/929fwsrap4bswradh8svr3zwpkwl3rzm-gnome-shell-44.2/share/gnome-shell/.org.gnome.Shell.Extensions-wrapped:7:17

Steps To Reproduce

Install the package gnomeExtensions.night-theme-switcher. I did it with home-manager like this:

home.packages = with pkgs.gnomeExtensions; [ night-theme-switcher ];

Expected behavior
I should be able to activate and use the extension.
Additional context

I installed some other extensions in the same way and I can enable them through GUI and dconf with no problems at all.
The file in error msg does not exist. There is only one file in the schemas dir called org.gnome.shell.extensions.nightthemeswitcher.gschema.xml

Notify maintainers
@piegamesde
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.47, NixOS, 23.05 (Stoat), 23.05.20230829.2ab91c8`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.5`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Looks like this was mentioned in #228504. Have you tried this ?

I want to try it but honestly I don't know how to implement this in my Flake... I'm new to Nix and don't yet fully understand Flakes.

Any update on this?


Quick action buttons with on/off status

Summary of the new feature/enhancement
i regularly need to perform certain windows actions like :

change network parameters to a certain setting (when i swap from using my computer from personal to professional use for example)
turn on/off the power save detection (when i launch a long task and i dont what it to be interrupted)
change multi screen parameter (from clone to extension for exemple)

And that is only a sample of the actions...
For each of theses actions, i need to go through a serie of windows configuration menus every time... back and forth...
I'd really like to have shortcuts to configuration actions. in the form of  simple buttons with a simple on/off status accessed in one click (or double click) from a shortcut on the desktop of from the taskbar.
Thanks!
Proposed technical implementation details (optional)

change multi screen parameter (from clone to extension for example)

Try pressing Win+P

var of issue #12, part of me goes this is asking for AHK

Any update?


Check availability of path.

In some cases (like editing the config.cson) path can to something line atom://config
Also make stat() async.
Fix #842
@rgbkrk can you give a look with async-thing? i've made changes in args() and everyting is ok.
if i made the same changes in getcwd(), tests start fail.
failing
run
it with no input
timeout: timed out after 500 msec waiting for File should execute
it with an input string
timeout: timed out after 500 msec waiting for File should execute
it notifies about writing to stderr
Expected 'module.js:341
 throw err;
 ^

 Error: Cannot find module 'C:\Users\na_gryzlov\AppData\Local\atom\app-1.5.4\throw.js'
 at Function.Module._resolveFilename (module.js:339:15)
 at Function.Module._load (module.js:290:25)
 at Function.Module.runMain (module.js:447:10)
 at startup (node.js:141:18)
 at node.js:933:3
 ' to match /kaboom/.
Error: Expected 'module.js:341
throw err;
^

Error: Cannot find module 'C:\Users\na_gryzlov\AppData\Local\atom\app-1.5.4\throw.js'
at Function.Module._resolveFilename (module.js:339:15)
at Function.Module._load (module.js:290:25)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:141:18)
at node.js:933:3
' to match /kaboom/.
at file:///D:/git/script/spec/runner-spec.coffee:66:38
it terminates stdin
timeout: timed out after 500 msec waiting for File should execute

This setup looks good.
Separately, coffeescript lets you do a try with no catch?

Separately, coffeescript lets you do a try with no catch?

yes. no errors.


PRINT TAB() should be relative to text viewport.

When you enable a text viewport with VDU28, print TAB() /VDU 31 should position the cursor relative to the origin of that viewport.
VDU 28,10,20,40,5
confines the text to a small window on the screen
VDU 31,0,0
should move the cursor to the top left of that window but gets you to the top left of the entire screen.

Plus it should ignore cursor positioning outside the text viewport


[double-take] Make detectors and notifiers optional

Description of the change
Each detector and notifier (gotify) now contains an enabled field
which must be set to true to add that detector to the config, otherwise
it will be omitted.
Benefits

There is no longer a requirement to use the compreface detector

Possible drawbacks

Exisiting configurations will need to add the enabled  key to the deepstack and facebox detectors in order for their configuration to be added to the config map.

Applicable issues

fixes #1314

Additional information

Checklist

[X] Chart version bumped in Chart.yaml according to semver.
[X] Title of the PR starts with chart name (e.g. [home-assistant])
[X] Variables are documented in the README.md (this can be done with using our helm-docs wrapper ./hack/gen-helm-docs.sh stable <chart>)

Thanks for the review! I have applied the suggested changes. Please let me know if there is anything else I can do 😃


C++/WinRT projections on API docs are not working as this page says they should

This page says:
> Below is the syntax block taken from the documentation topic for RoutedEventHandler (choose C++/WinRT from the Language drop-down in the upper-right corner of the webpage).
struct RoutedEventHandler : winrt::Windows::Foundation::IUnknown
{
    RoutedEventHandler(std::nullptr_t = nullptr) noexcept;
    template <typename L> RoutedEventHandler(L lambda);
    template <typename F> RoutedEventHandler(F* function);
    template <typename O, typename M> RoutedEventHandler(O* object, M method);
    void operator()(winrt::Windows::Foundation::IInspectable const& sender,
        winrt::Windows::UI::Xaml::RoutedEventArgs const& e) const;
};

But when I click that link, it instead shows just:
class RoutedEventHandler : MulticastDelegate

Is the language projection for C++/WinRT in the API documentation broken?

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

ID: 1a5d7765-efa0-3077-7c2c-5e9b8341a340
Version Independent ID: 4e73db08-5398-9416-d20e-0680ceb5e429
Content: Handle events by using delegates in C++/WinRT - UWP applications
Content Source: windows-apps-src/cpp-and-winrt-apis/handle-events.md
Product: uwp
Technology: platform
GitHub Login: @stevewhims
Microsoft Alias: stwhi

Here's another one that appears to be broken:
https://docs.microsoft.com/en-us/uwp/api/windows.foundation.iasyncoperationwithprogress-2?view=winrt-18362
It shows only:
template <typename TResult, typename TProgress>
__interface IAsyncOperationWithProgress : IAsyncInfo

Hi, @davidmatson, and thanks for filing this issue. Yes this looks like a regression in our build system that I hadn't spotted before. I'll follow up with the content engineers about it.
I'll track that work internally, so I'll go ahead and close this.
Thanks again!
-Steve


Write up WWDC question re: snapshot testing

Request submitted

We’re running webpage snapshot tests for our Server Side Swift Vapor service but none of the snapshots made with WKWebView’s load method render css or load images. It appears that baseURL does not work when run via an SPM target. Sandboxing issue? On macOS app targets this works by adding a network entitlement.
https://github.com/pointfreeco/swift-snapshot-testing/issues/345

There's clearly some absolute sandbox schenangians happening here. It seems WKWebView really doesn't like accessing file URLs especially files which are not within the same directory as the source file.
I tried using this method below where url is the HTML body saved to a local file where I get an explicit sandbox error.

webView.loadFileURL(url, allowingReadAccessTo: baseURL)

2020-06-23 21:11:56.982392+0100 xctest[68906:1718182] [Process] 0x102816420 - [pageProxyID=5, webPageID=6, PID=68910] WebPageProxy::Ignoring request to load this main resource because it is outside the sandbox

I have managed to get it so the HTML file without any modifications works when loaded into Chrome but just with the sandbox of the test runner it seems to be really getting stuck no matter what I try (even tried some private APIs for allowFileAccessFromFileURLs and allowUniversalAccessFromFileURLs but didn't make much progress...)
One thing we could do is inject the CSS in as an in-head


Remove PoC group meeting info

Signed-off-by: Steven Royer<EMAIL_ADDRESS>

not sure about this... the calendar already points that there is no meeting... why remove the calendar link ?

Because people keep trying to connect to this meeting that no longer exists, despite announcing it in multiple venues.  My hope is that for people looking at the subgroup page on the web page it will be more clear that this meeting does not exist...


"Initializing msw..." displays until Switchboard UI is opened

If openByDefault is set to false, then the screen displays Initializing msw... until the UI is opened.
See https://stackblitz.com/edit/vitejs-vite-r3y1ba?file=src%2Fmain.tsx for a reproduction

Good catch. Thanks!


added tests for VerboseIterable and VerboseIterator

I have created testst for VerboseIterable and VerboseIterator as requested in issue #111.

Many thanks for the PR, let me find a reviewer for it

@ggajos review this one,please

@celezar please fix qulice issues

@ggajos I have made the changes so there are no more qulice issues. I had some problem with running qulice test from Idea but was able to do so from CLI. I disabled some rules. VisibilityModifierCheck was necessary to disable on field expected.

@celezar all good, just few comments

@celezar any update here?

@ggajos i have asked for reassignment of this task

@celezar ok, so we can close this PR without merge right?

@ggajos i guess so but not sure what the procedure is. i have requested reassignment but it is still not assigned to someone else.

@celezar just close the pull request and that's it

@elenavolokhova please, review this task for compliance with our quality rules

@davvd Despite this PR was not merged, reviewer did his work well and should be rewarded. Still it can't be marked as perfect.
Quality is acceptable here.

@davvd Quality is acceptable.

@davvd Quality is acceptable.

@elenavolokhova thanks a lot, next time everybody should try to make it better

@ggajos I added 10 mins to @elenavolokhova (for QA review) in transaction 56843371... 19 mins sent to your balance (ID AP-1HW39538JE671424W), many thanks! It took 451 hours and 36 mins.... you're getting extra minutes here (c=4)... added +19 to your rating, now it is equal to +3071


Include the list of Azure AD Roles

Some of the role names differ or don't appear when using the Get-AzureADDirectoryRole PowerShell cmdlet.

"Global Administrator" is "Company Administrator"
"Password Admin" is "Heldesk Administrator"
"User Management Administrator" is "User Account Administrator"
"Skype for Business Administrator" and "Compliance Administrator" don't show up

There are a few other differences.  The documentation should clearly list all of the AD tenant level roles.

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

ID: 1b4e45a4-3d00-c650-c40f-3a10b457cf46
Version Independent ID: fefa373f-f380-8988-e58a-73e9255134bb
Content: About Office 365 admin roles
Content Source: Office365-Admin/add-users/about-admin-roles.md
Service: o365-administration
GitHub Login: @dianef77
Microsoft Alias: dianef

@sonika24 Could you handle this please?

@lesterw1 - we have already coordinated with the document author and got the confirmation that they
will add a note to this article that people who want to use PowerShell should read the Azure AD article and use those role names.
From my understanding the issue has been resolved. If the issue is not resolved please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@AndreaBarr - This issue can be closed. Thank you.


Integrating into an existing site?

Can anyone provide advice on how to integrate this package into an existing site. The issue I have is that it's designed to have it's own master layout, with it's own model (IMasterModel), which makes it near impossible to integrate into an existing site with it's own theme. I have the same issue with Dialogue, which appears to have borrowed it's theme code from Articulate.
To both Articulate and Dialogue to a site seems like I will have to duplicate a lot of the layout, content, css etc. Surely there must be a better way.

Yes, IMasterModel implements IPublishedContent, so your layouts can just use IPublishedContent on your layout. There's quite a few posts on the forum about this.

Not a very satisfactory setup though. That means that every other page loses the Umbraco helper and CurrentPage, unless they are instantiated everywhere, so on every view I end up with
var CurrentPage = Model.AsDynamic();
on every view.. that's all good and well until I come across another package that requires something different. I'm not blaming you, this is something umbraco should be able to handle better. I'm just trying to find a better way to integrate Articulate and Dialogue into a site that has other packages, and a theme.

Sorry I don't have much time to explain right now but what you want is perfectly possible. Also this is based on mvc architecture, not Umbraco. I will reply this week, but you can make your layout pages inherit from UmbracoTemplatePage and you should be fine

That html didn't come through, one sec....

'''
UmbracoTemplatePage
'''

Argh.. This doesn't work from mobile. It's UmbracoTemplatePage OfType IPublishedContent (as a generic)

Ah, got it, thank you. That's much better. Making progress now!


Files self loading without user intervention

Description
Files self loading without user intervention fearing an hacker trying to control my system.
OS: Windows 11
Steps To Reproduce
No response
Expected behavior
I shall launch the application on my request only
Files Version
Version : <IP_ADDRESS> OS Version: 10.0.22000.438
Windows Version
Windows 11 Famille Version 21H2
Relevant Assets/Logs
debug.log
debug_fulltrust.log

Have you enabled restarable apps on sign in from windows or run on startup in files?


Fix: logo was broken as the file was moved.

This solves an unforseen issue. Thanks for making a PR! Would you mind closing this PR and making a new one that merges to branch dev instead?
Sorry for not including this in a readme somewhere! We need to do that.
CC @oganexon

@t8 No need to close the PR 😉


undefined thumbnails generate 404s

if I don't define the data-thumb attribute, a fetch is still attempted on the undefined string value, resulting in a 404:
GET http://<my-site>/undefined 404 (Not Found)

in my use case, I am opening a gallery of images from a text link, so no thumbnail needed or wanted. but, to prevent the errors, I've needed to specify the attribute for every gallery item. I created a generic image that can be reused for all, but this is a lot of redundancy for something I don't think I need. Could one of the following be implemented instead?

(preferred) add a value check for data-thumb, and don't try to fetch when undefined
provide a global option to set a default value, so it doesn't need to be specified on every gallery item

everything else has been really smooth, thank you for providing this! it was simple to integrate, works well, and looks nice. also the css structure has made tweaking the caption and counter fonts easy to do.

Glad it's working well for you. This should be fixed now in 1.1.14.


docs(datepicker): custom datepicker header demo styling not working

Fixes some styles in the datepicker header example not working due to style encapsulation. Also takes the chance to make the text less bold.
For reference:

It does. Previously the styles were encapsulated to the demo component, but now they're moved to the custom header. I moved them into the literal, because we have the template in a literal as well, which makes the example a little more concise.


Implement PathFindingOperator

This issue serves as a way to track the progress on the PathFindingOperator
Working on in https://github.com/cwida/duckpgq-extension/tree/pathfindingoperator and https://github.com/cwida/duckdb-pgq/tree/pathfindingoperator (Make sure to be on the correct branch in both repositories)
The idea is to create a path-finding operator with two sinks. This acts similarly to the IEJoin. We insert that in this function, instead of the iterativelength() UDF. For this binding phase, we generate a logical query plan, so there cannot be a physical path-finding operator inserted quite yet. We need to create the two sinks here. One side is the src, and dst pairs (tasks) and the other side is the CSR. Importantly without the CREATE_CSR_EDGE() UDF because that will be done in one of the sinks of the new operator.
Can include optimizations such as https://github.com/cwida/duckpgq-extension/issues/23
Plan for now:

Get the CSR as the first sink to this new operator.
Get the (src,dst)-pairs as the second sink.
Implement the path-finding algorithm
Look into how to parallelize.

Potential optimizations:

Duplicate (src,dst)-pairs -> only execute it once, and later blow it up to get all the results again.
Same src many times -> collapses into one src, then fully explore the graph

An example query for what we have for now (initial idea):
SELECT *
FROM pairs AS p
WHERE p.src BETWEEN (select csr_id from (SELECT
            0 as csr_id,
            (SELECT count(a.id) FROM Student a),
            CAST (
                (SELECT sum(CREATE_CSR_VERTEX(0,
                    (SELECT count(a.id) FROM Student a),
                      sub.dense_id,
                      sub.cnt)
                )
                FROM (
                    SELECT a.rowid as dense_id, count(k.src) as cnt
                    FROM Student a
                    LEFT JOIN Knows k ON k.src = a.id
                    GROUP BY a.rowid) sub
            ) AS BIGINT),
            a.rowid,
            c.rowid,
            k.rowid    FROM Knows k
                        JOIN student a on a.id = k.src
                        JOIN student c on c.id = k.dst)) AND p.dst;

TODO: Figure out how to include the lower and upper bound into the query

In the current implementation, when doing the following query, it first computes all shortest paths and only then filters out the pairs:
-FROM GRAPH_TABLE (pg
    MATCH p = ANY SHORTEST (a:Person)-[k:Knows]->{2,3}(b:Person)
    WHERE (a.id, b.id) in (SELECT (src, dst) FROM pairs)
    COLUMNS (a.id AS id1, b.id AS id2, element_id(p))
    ) tmp
    ORDER BY tmp.id1, tmp.id2;

It should ideally first do the filter on the pairs, and only then do the shortest path function. This could be a potential optimization rule if we can detect this.


I'm using the docker machine (docker-machine version 0.8.0-rc1, build fffa6c9) to create 3 nodes, and basically going through the video demo. In the demo it is stated that if I start a single service with port mapping, I should be able to access the chosen port on an arbitrary node of the swarm. Which doesn't seem to be the case.
Steps to reproduce the issue:

docker-machine create --driver virtualbox node1
docker-machine create --driver virtualbox node2
docker-machine create --driver virtualbox node3
docker-machine ssh node1 docker swarm init
docker-machine ssh node2 docker swarm join $(docker-machine ip node1):2377
docker-machine ssh node3 docker swarm join $(docker-machine ip node1):2377
eval $(docker-machine env node1)
docker service create --name vote -p 8080:80 instavote/vote
curl -s -o /dev/null -I -w "%{http_code}\n" <IP_ADDRESS>{0..2}:8080

Describe the results you received:
Two out of three requests fail. Only the request to the node where the service actually runs returns 200.
200
000
000

Describe the results you expected:
All three requests' response code is 200.
200
200
200

/cc @mavenugo @mrjana

Hmm... is the ip_vs module loaded in boot2docker?

Oh, you probably need to accept the nodes into the cluster.
$ docker $(docker-machine config) node accept <node id> # for each node
``

@cpuguy83 Yes, it's enabled. And I actually did docker swarm join from each node as per my reproduction steps. docker node ls already showed membership as "accepted". Still doesn't work as expected.
But I did try to reproduce this with two actual VPS nodes, and it worked flawlessly there!
So this might actually be a boot2docker issue.

@Umkus Thanks for checking

@Umkus I ran into this issue while testing with virtualbox locally as well and got it to work by passing the swarm manager ip address via "--listen-addr" when init the manager. I think it will work if you run the following during setup.
docker swarm init --listen-addr $(docker-machine ip node1):2377

@Umkus @beenanner Yeah the most likely problem in both boot2docker and a plain vbox is that the primary host interface which acts as the default gateway is the NAT interface and if you did not provide an explicit --listen-addr  option to choose a second address which make it possible for these nodes to talk to each other using a host-only network, the gossip channel won't work. What you are seeing is a classic symptom of gossip channel not working and so you only get to know about the instances running in that node. So may be the answer is to fail swarm init if there are more than one interface in the host and --listen-addr is not given

Related to #23828


⚠ Node - us-2d538c95.yalaso.top has degraded performance

In 696fddb, Node - us-2d538c95.yalaso.top (http://us-2d538c95.yalaso.top/api/v1/ping) experienced degraded performance:

HTTP code: 200
Response time: 2657 ms

Resolved: Node - us-2d538c95.yalaso.top performance has improved in 2d6826e after 6 minutes.


Enable progress reports during config execution

Summary of the new feature / enhancement
As resources get executed, need progress returned as JSON for agents to display.  Consider how child processes can participate including resources.
Proposed technical implementation details (optional)
No response

To put more context to this.
The main work item to enable progress reporting (as well as streaming results from a resource in real-time without waiting until it completes the operation) is actually to switch resource execution from synchronous to async.
I did initial implementation of it using tokio runtime.


Prevent CocoaPods auto-upgrading PMK to 2.0

PromiseKit 2 is almost ready, let’s not have your users get auto-upgraded before you have verified that everything still works.
Everything should still work. This is just a sensible precaution.

Sounds like a good idea, thank you!


Clappr not working in Firefox

Clappr works in all devices using HLS but not in Windows Phone and In firefox, the web browser

@baragamer firefox is disabling flash by default and since we're still waiting for it to enable MSE by default (hopefully next month) we're not using hls.js on it. Said that, try enabling flash and the playback should work. Regarding windows phone, I don't have access to a device with it so let's wait for someone to ask for details and try to reproduce.

Just a heads up:

Firefox 42 will enable MSE by default
There is no whitelist anymore ; "we won't be adding new sites to the whitelist"

http://www.ghacks.net/2015/08/06/mozilla-to-enable-media-source-extensions-mse-for-all-websites-in-firefox-42/
https://bugzilla.mozilla.org/show_bug.cgi?id=778617

FYI Firefox 42 is schedule for tomorrow!

@baragamer are you trying to play on firefox for windows phone?


Calculate collateral amount

collateral amount (by LYR) need to be verified against the current price of coin/token.

Done by querying dealer server.


Update Scotian shelf data with 2018 numbers

Added Scotian shelf data to the whole with the compile script.  Everything looks good in the plots.


Advanced options mention of "auto complete"

URL to the relevant documentation
https://github.com/Qiskit/documentation/pull/180
Select all that apply

[ ] typo
[ ] code bug
[ ] out-of-date content
[ ] broken link
[X] other

Describe the fix.
Is this referring to type hints resulting in your IDE having auto-complete? It's a weird thing to say in docs. Better would be to link to the API reference.
Not everyone has auto-complete also, such as using Vim (without all the fancy extensions).

I believe this has been addressed - @Eric-Arellano ok to close?

It still shows up:
docs/run/advanced-runtime-options.mdx
28:The `Options` class supports auto-complete. Once you create an instance of the `Options` class, you can use auto-complete to see what options are available. If you choose one of the categories, you can use auto-complete again to see what options are available under that category.

It looks like it comes from the API docs. I'm not sure what it refers to? Note that there may be no problem! This only looked fishy to me.
❯ rg 'auto-complete' -l
translations/ja/run/advanced-runtime-options.mdx
scripts/lib/api/processHtml.test.ts
docs/api/qiskit-ibm-runtime/0.14/options.md
docs/api/qiskit-ibm-runtime/options.md
docs/api/qiskit-ibm-runtime/0.16/options.md
docs/api/qiskit-ibm-runtime/0.15/options.md
docs/run/advanced-runtime-options.mdx
docs/api/qiskit/release-notes/0.28.md

Ah sorry, I totally misread the issue -- @beckykd or @jyu00 any thoughts on whether this is a problem?

@Eric-Arellano apparently Jessie is keen to emphasise the autocomplete aspect, so closing this issue


Gains Trade Arbitrum QA

Review Info

Description
Info

Subgraph Reviewed
https://subgraphs.messari.io/subgraph?endpoint=https://api.thegraph.com/subgraphs/id/Qmf9rLtaDvZwYBnHuRSRkSjiNmycsQxW2trDk4ukeodoet&tab=protocol

Schema Version
1.2.1

Subgraph Version
1.0.0

Methodology Version
1.0.0

Evidence Spreadsheet
https://docs.google.com/spreadsheets/d/10dtaf7F0aAbI4NlbJpNGofK9xGJws1y3/edit?usp=sharing&ouid=104027705798814439445&rtpof=true&sd=true

Metrics to Review
Pool - gDAI vault

In the 'Pool' section for the gDAI vault, all of the daily data is equivalent to the cumulative data, which is inaccurate since it should be lower.

Refer to the sheet "Pool_snapshot" for details

Pool - Daily Active Users

Data is not in line with the data from the 'Protocol' sheet, considering that there is only one vault in the Arbitrum chain.

Pool - rewardTokenEmissionsAmount

Data is not mathematically in line with the data from "Pool_vault schema" sheet. It should be only 3,780.19.

Please refer to the attached worksheet for more details.

@dhruv-chauhan QA for Gains!

@bye43 good for re-review
polygon@ https://okgraph.xyz/?q=QmR6aUUaQaPXmkg8Uyqm4EFEnfBSHwwVNSdEZ5gKUankFw
arbitrum@ https://okgraph.xyz/?q=QmTpznweZxMD3pqUrqpk58vv89JBYGKUddsqJQR1qVcy5M

@ishraq8

most of the earlier issues were resolved. there are a couple of things that arose when I took a look

Funding rate looks very off. This is usually a very small number and I think the decimal point requires it to be divided. In GMX it was divided by a million based on the contract.

Did you want to update the schema to current version?

Good catch @ishraq8 ! funding rate value needs to be divided by 1e10, updated now.
Schema version is also up to date.
deployments, (pending versions)
polygon@ https://okgraph.xyz/?q=dhruv-chauhan%2Fgains-trade-polygon
arbitrum@ https://okgraph.xyz/?q=dhruv-chauhan%2Fgains-trade-arbitrum

@ishraq8 Do you mind giving this a quick look when you get the chance?

looks like the funding rate issue was resolved. Great work @dhruv-chauhan


'$' was striped when passing parameter from the command line

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
I'm passing value from command line but the value I get from lane is wrong.
Here's my lane:
lane :test do |c|
	value = c[:key]
	puts value
end

And run this:
fastlane test key:"abcd 1234$efgh"
Then output is only abcd 1234, not abcd 1234$efgh.
Complete output when running fastlane, including the stack trace and command used
» fastlane test key:"abcd 1234$efgh" --capture_output
[⠴] 🚀 NOTE: Gem.gunzip is deprecated; use Gem::Util.gunzip instead. It will be removed on or after 2018-12-01.
Gem.gunzip called from /usr/local/lib/ruby/gems/2.5.0/gems/unicode-display_width-1.3.0/lib/unicode/display_width/index.rb:5.
[✔] 🚀
[14:38:07]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
DEBUG [2018-09-21 14:38:08.04]: Checking if there are any plugins that should be loaded...
DEBUG [2018-09-21 14:38:08.17]: Using key: abcd 1234
INFO [2018-09-21 14:38:08.45]: gem 'credentials_manager' is already installed
INFO [2018-09-21 14:38:08.45]: Driving the lane 'test' 🚀
INFO [2018-09-21 14:38:08.45]: abcd 1234
INFO [2018-09-21 14:38:08.45]: Successfully generated documentation at path '/Users/admin/Project/xxx/fastlane/README.md'
INFO [2018-09-21 14:38:08.45]: fastlane.tools finished successfully 🎉

What I think is happening is this :
when you run fastlane test key:"abcd 1234$efgh" shell is evaluating $efgh and since a variable of name efgh does not exist in the shell it's empty.
To cross check that it is what's happening, I'd advise doing something like export efgh=omgurright". And then running the command, you should see abcd 1234omgurright
This is the quirk of the shell not of fastlane itself. You need to escape $ for the shell. I looked into the fastlane code and i don't think fastlane worries about $ too much.

@heartofagoof thanks for your reply, actually I'm passing value from python to fastlane:
subprocess.check_call('fastlane run import_certificate certificate_path:%s certificate_password:%s'%(json.dumps(cert_path), json.dumps(cert_password)), shell=True)

Everything goes fine until last week, a p12 file with '$' password failed to import. Now I know what to do, thanks again!


GPS Tracker TK102B has error to parsing

TK102B GPS Tracker Personal error
hi all i have proble about gps raw data TK102B
0x78, 0x78, 0x1F, 0x12, 0x0E, 0x0A, 0x0D, 0x0A, 0x14, 0x24, 0xCB, 0x00, 0xAC, 0x1D, 0xA8, 0x0B, 0x76, 0xFF, 0x16, 0x01, 0x30, 0xC0, 0x01, 0xFE, 0x0A, 0x06, 0x05, 0x00, 0x6A, 0xBC, 0x00, 0x6E, 0x3A, 0xC8, 0x0D, 0x0A, 0x78, 0x78, 0x1F, 0x12, 0x0E, 0x0A, 0x0D, 0x0A, 0x14, 0x24, 0xCB, 0x00, 0xAC, 0x1D, 0xA8, 0x0B, 0x76, 0xFF, 0x16, 0x01, 0x30, 0xC0, 0x01, 0xFE, 0x0A, 0x06, 0x05, 0x00, 0x6A, 0xBC, 0x00, 0x6F, 0x2B, 0x41, 0x0D, 0x0A
when i'm to parsing, there is error data on Latitude/Longitude
any body can help me?

it's done, thanks all


Add docstrings

When you're declaring a method using pybind, the define call can be given a string, which is the doc string of the method or the class. These doc strings can be viewed in editors like pycharm, or by inspecting the __doc__ of a class or function. This is generally a pretty handy way to document methods because it gives focused help. It also gives you the opportunity to define doctest examples. Those are just short snippets of example code that you can use the doctest module to run and verify that they work.
I've also found docstrings handy for autogenerating web documentation. E.g. stim's simple api reference page  is generated by iterating over the module looking for doc strings.

Thanks for the tip, agree that it would be good to add these

This is fixed in the PyMatching v0.4.0 release


404 error in doc

Describe the bug
Hello! I found a link pointing to a 404 status page: https://google.github.io/accompanist/api/insets-ui/insets-ui/com.google.accompanist.insets.ui/
To Reproduce
Steps to reproduce the behavior:

Go to this page: https://google.github.io/accompanist/insets/
Find the text "API docs" in the page
Click on the link under that text
See the 404 status of the destination page

Expected behavior
Link to API docs.
Screenshot

I hope my report is helpful.
Have a great day!

Thanks! I believe these should all be fixed with #784 getting merged in.

Docs with correct link should now be live, please let us know if you find more!


iCloud Calendar Credentials Not Accepted

I've created two separate secret app iCloud codes for the Cal icloud calendar sync feature and it fails to login. I checked by copying and pasting the code to ensure there were no spaces before and after, I also manually typed the codes in and tried my regular iCloud password. please view the photos for reference.

I'm also seeing this, here are the errors from docker:
@calcom/web:start: RangeError: Invalid key length
@calcom/web:start:     at Cipheriv.createCipherBase (node:internal/crypto/cipher:122:19)
@calcom/web:start:     at Cipheriv.createCipherWithIV (node:internal/crypto/cipher:141:3)
@calcom/web:start:     at new Cipheriv (node:internal/crypto/cipher:249:3)
@calcom/web:start:     at Object.createCipheriv (node:crypto:141:10)
@calcom/web:start:     at symmetricEncrypt (/calcom/apps/web/.next/server/chunks/13303.js:29:66)
@calcom/web:start:     at handler (/calcom/apps/web/.next/server/chunks/40625.js:39:95)
@calcom/web:start:     at async handler (/calcom/apps/web/.next/server/pages/api/integrations/[...args].js:645:13) {
@calcom/web:start:   code: 'ERR_CRYPTO_INVALID_KEYLEN'
@calcom/web:start: }

traced it via https://github.com/calcom/docker/issues/183 to not setting the encryption key correctly in the .env file


feat: improve hints

Added display of hints for table headers
Added display of hints for vide mode

However, I have concerns about this change. It will add the viewSpec.layoutDescription output to the view for all users, which may be unexpected for them.


[14.0.0] Not able to run in node environment

I get the following error:
TypeError: this._environment.runScript is not a function

switching to jsdom make it work again.
config:
{
    "verbose": true,
    "noStackTrace": true,
    "automock": false,
    "notify": true,
    "setupTestFrameworkScriptFile": "src/testInit.js",
    "testEnvironment": "node",
    "testPathDirs": [
      "src"
    ]
  }

It seems like not all your Jest dependencies were updated to 14.0. I recommend running rm -rf node_modules/jest-* and then reinstall.
On Wed, Jul 27, 2016 at 10:26 PM +0900, "marudor" <notifications<EMAIL_ADDRESS>wrote:
I get the following error:
TypeError: this._environment.runScript is not a function
switching to jsdom make it work again.
config:
{
"verbose": true,
"noStackTrace": true,
"automock": false,
"notify": true,
"setupTestFrameworkScriptFile": "src/testInit.js",
"testEnvironment": "node",
"testPathDirs": [
"src"
]
}

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/facebook/jest/issues/1323, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAA0KB-2TfrDNpiKBDTcZkTPrz4m3SaCks5qZ1xdgaJpZM4JWL1G.

Yep, all fine. Thanks


Install the VC++ redistributable as part of the Swift toolchain installer

Packages the VC++ redistributable and installs it as part of the toolchain install on Windows, since this is a dependency. Note that this will pop a UAC prompt because that installer is per-machine.
This is the Microsoft-recommended approach: run the vcredist installer to install it globally (which makes it serviceable by microsoft), and don't uninstall it when uninstalling the toolchain since other apps may depend on it.
This requires build script changes to take effect, but is backwards compatible with build scripts that don't specify the new properties.
I consciously departed from ALL_CAPS naming of properties because the MSBuild standard is PascalCase and the logic in installer.wixproj was looking really ugly otherwise.
How tested:
Built with and without build script changes, uninstalled the VC runtime, installed the Swift toolchain, and verified that the VC runtime was installed in Add/Remove programs:

All uppercase names are public properties, the pascal case variables are private.

Tested at https://github.com/apple/swift/pull/69182 - https://ci-external.swift.org/job/swift-PR-build-toolchain-windows/947/

We should backport this to 5.10

https://github.com/apple/swift-installer-scripts/pull/251


⚠ Bofrost.lu has degraded performance

In 276f32e, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1793 ms

Resolved: Bofrost.lu performance has improved in 83fece6 after 36 minutes.


Error creating the forge object during XYZGrid spawn (map is also skewed).

Problem
Running through the install instructions using latest Evennia 2.0.1 and a freshly cloned evennia-minimud repo, gives the following error on the evennia xyzgrid spawn step:
(.vienv3.11) $ evennia xyzgrid spawn
secret_settings.py file not found or failed to import.
This will (re)spawn the entire grid. If it was built before, it may spawn
new rooms or delete rooms that no longer matches the grid.
Do you want to continue? [Y]/N?
Beginner-Tutorial spawn ...
spawning/updating nodes for Z='townsburg' ...
  spawning room at xyz=(3, 1, 'townsburg') (typeclasses.rooms.XYGridRoom)
  spawning room at xyz=(6, 1, 'townsburg') (typeclasses.rooms.XYGridRoom)
  spawning room at xyz=(8, 1, 'townsburg') (typeclasses.rooms.XYGridRoom)
  spawning room at xyz=(11, 1, 'townsburg') (typeclasses.rooms.XYGridRoom)
  spawning room at xyz=(1, 2, 'townsburg') (typeclasses.rooms.XYGridRoom)
  spawning room at xyz=(6, 2, 'townsburg') (typeclasses.rooms.XYGridTrain)
  spawning room at xyz=(7, 2, 'townsburg') (typeclasses.rooms.XYGridRoom)
  spawning room at xyz=(8, 2, 'townsburg') (typeclasses.rooms.XYGridTrain)
  spawning room at xyz=(9, 2, 'townsburg') (typeclasses.rooms.XYZShopNTrain)
Traceback (most recent call last):
  File "/home/griatch/Devel/Home/evennia/evennia/evennia/contrib/grid/xyzgrid/xymap_legend.py", line 317, in spawn
    nodeobj = NodeTypeclass.objects.get_xyz(xyz=xyz)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/griatch/Devel/Home/evennia/evennia/evennia/contrib/grid/xyzgrid/xyzroom.py", line 111, in get_xyz
    raise self.model.DoesNotExist(inp)
evennia.contrib.grid.xyzgrid.xyzroom.XYZRoom.DoesNotExist: Query: xyz=(9,2,townsburg),

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/griatch/Devel/Home/evennia/.vienv3.11/bin/evennia", line 11, in <module>
    main()
  File "/home/griatch/Devel/Home/evennia/evennia/evennia/server/evennia_launcher.py", line 2422, in main
    if run_custom_commands(option, *unknown_args):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/griatch/Devel/Home/evennia/evennia/evennia/server/evennia_launcher.py", line 2026, in run_custom_commands
    command(*args)
  File "/home/griatch/Devel/Home/evennia/evennia/evennia/contrib/grid/xyzgrid/launchcmd.py", line 446, in xyzcommand
    _option_spawn(*suboptions)
  File "/home/griatch/Devel/Home/evennia/evennia/evennia/contrib/grid/xyzgrid/launchcmd.py", line 337, in _option_spawn
    grid.spawn(xyz=(x, y, z))
  File "/home/griatch/Devel/Home/evennia/evennia/evennia/contrib/grid/xyzgrid/xyzgrid.py", line 272, in spawn
    xymap.spawn_nodes(xy=(x, y))
  File "/home/griatch/Devel/Home/evennia/evennia/evennia/contrib/grid/xyzgrid/xymap.py", line 692, in spawn_nodes
    node.spawn()
  File "/home/griatch/Devel/Home/evennia/evennia/evennia/contrib/grid/xyzgrid/xymap_legend.py", line 330, in spawn
    raise RuntimeError(err)
RuntimeError: ["An error occurred while creating this 'A forge' object."]

Some more analysis
The MAP_STR ('townsburg') in world/starter_town.py looks like this:
MAP_STR = r"""
+

5   o-----G-----G---R---R---o
    |      \    |           |
4   R     B-R $-R   $-B B   R
    |        \  |   |/  |   |
3   G-----R---#-#---R---R---G
    |          \    |   |   |
2   R         $-R-$ B   B   R
    |            \          |
1   o---R-----R---G-----R---o

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+
"""

(I added the x-grid coordinates to make it easier to see, can be a good idea to add this overall).  From this it would seem  (9, 2, 'townsburg') is the $ symbol (a shop).
This map string seems to be out of sync with what xyzgrid expects. It's possible it happens to work by chance in some circumstances, but this is the expected coordinate grid, with the standard x-grid also printed out (the + is not the origo, it's just marking the edge of the mapping area, including the axes):
MAP_STR = r"""
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

4   o-----G-----G---R---R---o
    |      \    |           |
3   R     B-R $-R   $-B B   R
    |        \  |   |/  |   |
2   G-----R---#-#---R---R---G
    |          \    |   |   |
1   R         $-R-$ B   B   R
    |            \          |
0   o---R-----R---G-----R---o

+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
"""

Here (9, 2, 'townsburg') is an R (a road). I think this is what xyzgrid will actually see.
Without diving deeper into the code and tracing it, I'm not sure why (9,2) causes an issue; the custom (9.2) prototype override sets this to be a typeclass typeclasses.rooms.XYZShopNTrain which does exist. I'd think that should replace the road typeclass set by default on this node. Not sure if there are other side effect due to the map being skewed though. Maybe the error actually happens on another node but the error reports the wrong coordinate due the skewed map? :shrug:
Apart from the traceback happening, it's probably worth to correct the map since this is intended to act as something to build from ;)

The problem appears to be unrelated to the map string; the room is failing to be created due to this issue https://github.com/evennia/evennia/issues/3240

That other bug is resolved now, but the map string is nevertheless borked ;)

That other bug is resolved now, but the map string is nevertheless borked ;)

The map string still appears fine to me.
This is the string:
r"""
+

5   o-----G-----G---R---R---o
    |      \    |           |
4   R     B-R $-R   $-B B   R
    |        \  |   |/  |   |
3   G-----R---#-#---R---R---G
    |          \    |   |   |
2   R         $-R-$ B   B   R
    |            \          |
1   o---R-----R---G-----R---o

0

+
"""

For an easily identifiable example, 6,3 and 7,3 should be the two # rooms, according to the prototyping. Putting the x coordinate numbers along the y value of 3 gives this:
r"""
+

5   o-----G-----G---R---R---o
    |      \    |           |
4   R     B-R $-R   $-B B   R
    |        \  |   |/  |   |
3 0 1-2-3-4-5-6-7-8-9-0-1-2-3
    |          \    |   |   |
2   R         $-R-$ B   B   R
    |            \          |
1   o---R-----R---G-----R---o

0

+
"""

The 6 and 7 line up exactly with the # nodes, like they're supposed to.


New platform-autos/buttons

If you can find a way to put the SendableChooser in OI.java rather than Robot.java, feel free to do so.

I'm taking care of this manually.


[SPARK-36095][CORE] Grouping exception in core/rdd

What changes were proposed in this pull request?
This PR group exception messages in core/src/main/scala/org/apache/spark/rdd
Why are the changes needed?
It will largely help with standardization of error messages and its maintenance.
Does this PR introduce any user-facing change?
No. Error messages remain unchanged.
How was this patch tested?
No new tests - pass all original tests to make sure it doesn't break any existing behavior.

cc @beliefer @allisonwang-db

Can one of the admins verify this patch?

When we deal with core, I think we need new categories, as query compilation/execution doesn't apply here.
For simplicity, maybe we can just have one category: SparkCoreErrors.

ok to test

Test build #141635 has started for PR 33317 at commit aa9b1da.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46151/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46151/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/46151/

Test build #141635 has finished for PR 33317 at commit aa9b1da.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/141635/

Test build #141709 has started for PR 33317 at commit 2c81a55.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46222/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46222/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/46222/

Test build #141709 has finished for PR 33317 at commit 2c81a55.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/141709/

thanks, merging to master!


AttributeError: 'L2Socket' object has no attribute 'ins'

AttributeError: 'L2Socket' object has no attribute 'ins'
<!---
  Started a job, and checking logs of the pod

```
~ Started
~ Discovering Open Kubernetes Services...
|
| Read access to pod's service account token:
|   type: vulnerability
|   location: Local to Pod(kube-hunter-vp2xw)
|   description:
|     Accessing the pod service account token
|     gives an attacker the option to use the
|_    server API
|
| Access to pod's secrets:
|   type: vulnerability
|   location: Local to Pod(kube-hunter-vp2xw)
|   description:
|     Accessing the pod's secrets within a
|     compromised pod might disclose valuable data to a
|_    potential attacker
Exception ignored in: <function SuperSocket.__del__ at 0x7f47250e4e60>
Traceback (most recent call last):
  File "/kube-hunter/scapy/supersocket.py", line 127, in __del__
    self.close()
  File "/kube-hunter/scapy/arch/linux.py", line 481, in close
    set_promisc(self.ins, self.iface, 0)
AttributeError: 'L2Socket' object has no attribute 'ins'

----------

Vulnerabilities
+----------------------+-------------+----------------------+----------------------+----------------------+
| LOCATION             | CATEGORY    | VULNERABILITY        | DESCRIPTION          | EVIDENCE             |
+----------------------+-------------+----------------------+----------------------+----------------------+
| Local to Pod(kube-   | Access Risk | Read access to pod's |  Accessing the pod   | eyJhbGciOiJSUzI1NiIs |
| hunter-vp2xw)        |             | service account      | service account      | ImtpZCI6IiJ9.eyJpc3M |
|                      |             | token                | token gives an       | ...                  |
|                      |             |                      | attacker the option  |                      |
|                      |             |                      | to use the server    |                      |
|                      |             |                      | API                  |                      |
+----------------------+-------------+----------------------+----------------------+----------------------+
| Local to Pod(kube-   | Access Risk | Access to pod's      |  Accessing the pod's | ['/var/run/secrets/k |
| hunter-vp2xw)        |             | secrets              | secrets within a     | ubernetes.io/service |
|                      |             |                      | compromised pod      | ...                  |
|                      |             |                      | might disclose       |                      |
|                      |             |                      | valuable data to a   |                      |
|                      |             |                      | potential attacker   |                      |
+----------------------+-------------+----------------------+----------------------+----------------------+
```

Hi @junaid18183 !
Please supply some information about your setup: python version, pip freeze output, kube-hunter version/commit used.

@iYehuda  when you run kube-hunter with
                    securityContext:
                      capabilities:
                        drop:
                          - NET_RAW

I doubt it's the expected behavior :)

This is truly a permission error.
kube-hunter requires CAP_NET_RAW for doing some discovery operations.
We try to minimize its usage as mentioned in #138.


[APIM 3.0.0] "Setting up logging" doc hasn't been updated

Description:
The following documentation doesn't have the latest configurations
https://apim.docs.wso2.com/en/latest/Administer/ProductAdministration/Monitoring/Logging/setting-up-logging/#configure-log4j-appenders
Affected Product Version:
3.0.0

The document has been updated.Please feel free to re open the issue if you encounter any issues in the future.