Multiline indented string concatenation

When building large regex, it's not unusual to build it over multiple lines, with indentation, to make it more readable.
For example, dbDelta(), as well as various KSES and shortcode handling functions.
A small example might look something like this:
$regex = '/'
	. '('
	.     'foo'
	. '|'
	.     'bar'
	. ')'
	. '/';

The current behaviour of phpcbf is to remove the extra spaces after each ., which makes the regex unreadable.
Indenting with tabs before the . maintains the indenting, eg:
$regex = '/'
	. '('
	    . 'foo'
	. '|'
	    . 'bar'
	. ')'
	. '/';

But it's also a common pattern to have trailing comments on the regex, explaining what each line is doing:
$regex = '/'
	. '('       // Open the group
	.     'foo' // Foo
	. '|'       // Or
	.     'bar' // Bar
	. ')'       // Close the group
	. '/';

So the leading tab indenting will make it impossible to line these comments up.
Any suggestions for a way forward?

I'd actually suggest a completely non-PHPCS based solution, which IMHO is the better way to document large regexes like that, which is to use the PCRE native x modifier in combination with regex comments starting with # instead of using PHP concatenation and comments.
You can see an example of how this is used here: https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/52ff31fe4f686919fe367fc3153766cbb214c4d1/WordPress/Sniffs/WP/I18nSniff.php#L37-L56
Note: this does influence how you need to write the regex to match whitespace!
Let me know if you need help reworking the existing regexes in core.
Refs:

http://php.net/manual/en/regexp.reference.comments.php
http://php.net/manual/en/reference.pcre.pattern.modifiers.php

Agreed, that's a better way of doing things. I think we use it in a few places in core, already.

Actually, this option doesn't work for a couple of cases:

get_shortcode_regex() and _get_wptexturize_shortcode_regex() return regular expressions without the / delimiters, those are added by the calling functions, so it's not possible to change the regex format.
The x modifier doesn't allow whitespace within conditional subpatterns, which all of the regex use.

I suspect the best option is going to be to mark them as @codingStandardsIgnoreStart / @codingStandardsIgnoreEnd blocks.

@pento Want me to have a look ? Could you give me links to the exact files/lines for each of these ?

The x modifier doesn't allow whitespace within conditional subpatterns, which all of the regex use.

Do you mean "whitespace whitespace" (indentation and such) or whitespace as part of the pattern to match ? if the latter, I'm pretty sure you can use that, you just have to adjust the regex a little.

I suspect the best option is going to be to mark them as @codingStandardsIgnoreStart / @codingStandardsIgnoreEnd blocks.

As WP Core will be using PHPCS master for now and I presume, PHPCS 3.2.0 and up once it is out, you can use the newer more specific ignore annotations which will be introduced in PHPCS 3.2.0.
See: https://github.com/squizlabs/PHP_CodeSniffer/issues/604
// phpcs:disable Generic.Commenting.Todo, PSR1.Files.SideEffects -- Because reasons
... code ...
// phpcs:enable

For indentation - from the docs:

Whitespace characters may never appear within special character sequences in a pattern, for example within the sequence (?( which introduces a conditional subpattern.

For example, I converted get_html_split_regex(), like so:
function get_html_split_regex() {
	static $regex;

	if ( ! isset( $regex ) ) {
		$comments =
			'!          # Start of comment, after the <.
			(?:         # Unroll the loop: Consume everything until --> is found.
			    -(?!->) # Dash not followed by end of comment.
			    [^\-]*+ # Consume non-dashes.
			)*+         # Loop possessively.
			(?:-->)?    # End of comment. If not found, match all input.';

		$cdata =
			'!\[CDATA\[ # Start of comment, after the <.
			[^\]]*+     # Consume non-].
			(?:         # Unroll the loop: Consume everything until ]]> is found.
			    ](?!]>) # One ] not followed by end of comment.
			    [^\]]*+ # Consume non-].
			)*+         # Loop possessively.
			(?:]]>)?    # End of comment. If not found, match all input.';

		$escaped =
			"(?=          # Is the element escaped?
			   !--
			|
			   !\[CDATA\[
			)
			(?(?=!-)      # If yes, which type?
			    $comments
			|
			    $cdata
			)";

		$regex =
			"/(               # Capture the entire match.
			    <             # Find start of element.
			    (?            # Conditional expression follows.
			        $escaped  # Find end of escaped element.
			    |             # ... else ...
			        [^>]*>?   # Find end of normal element.
			    )
			)/x";
	}

	return $regex;
}

This caused a compilation failure:
preg_split(): Compilation failed: unrecognized character after (? or (?- at offset 99

As WP Core will be using PHPCS master for now and I presume, PHPCS 3.2.0 and up once it is out, you can use the newer more specific ignore annotations which will be introduced in PHPCS 3.2.0.

Oh, that's super useful! I didn't really want to remove all checks on the blocks of code. 🙂


Why require cert-manager?

None of our other helmcharts that have webhooks require certmanager. Could you explain more in the readme why this is required or make it optional?

Because this controller uses a webhook server for validating. We need a certificate to deploy webhook servers, and cert-manager is easy to manage certificates.
If you don't need validation, you can skip cert-manager, but I don't recommend it.

Right now this helmchart fails to install on clusters without cert-manger.

Yes, I don't recommend it.

Would you be open to a PR to your helm chart to allow the webhook to run without certmanager? Is certmanager required by the code anywhere, or just so the webhook has a certificate on it?

Is certmanager required by the code anywhere

No, but it will no longer be validated. Is it okay?

I created https://github.com/h3poteto/aws-global-accelerator-controller/pull/209 as a proposal for allowing running the webhook without SSL.

BTW, what happens if you disable webhook in helm chart?
https://github.com/h3poteto/charts/tree/master/stable/aws-global-accelerator-controller
Should I open a PR to use HTTP webhook?

@h3poteto I took a pass at it with https://github.com/h3poteto/charts/pull/117. I haven't done much helm chart configuration before, so if there are things I should adjust please let me know. I'll be able to test it tomorrow when I'm back at work.


Feature/cutom template path

PR #89: Allow custom gitlab.rb template using gitlab_config_template … does not allow using custom path. This will allow user to use custom path for the gitlab template.

It looks like the spacing in the task was messed up, which caused the test run failure.


Customized build target

Currently, the executable path is used as build target, but some build systems may not work that way.
From the documentation, it is not obvious that testExecutableFolder is also the prefix for the build target, splitting it into two config settings, adding a flag to use testSourceFolder instead, or adding some regex functionality would be great.
Ie. for tests/test_something.c bazel may expect something like bazel build tests:test_something (but bazel build tests/test_something will also work) and output bazel-bin/tests/test_something.
I am currently solving this by setting testBuildApplication to bash and testBuildArgs to a small script that replaces the bazel-bin/tests/ prefix with tests:, but that is far from optimal.
Please also add some more info to the Cannot find test result path error (ie if unitUnderTestFolder at L133 or testSourceFolder at L134 was the problem and what the actual path is).

Thanks for the feedback! I like your regex idea and I'll still be looking at other ways in which I could use regexes to simplify the extension settings.
Split testExecutableFolder into testBuildTargetRegex and testExecutableRegex. Should be available in the marketplace in extension version 0.0.6. For your usecase, set testBuildTargetRegex=tests:$1 and testExecutableRegex=bazel-bin/tests/$1 and it should do it. Please let me know if this gives you any more issues.
I was also thinking that error handling in general could be improved but I don't have much time these days.  I am planning to migrate to the new Testing API once it is finalized and that will change the way in which the extension does things, so I'll fix the error reporting together with that overhaul. Created #9 to keep this in mind.

Looks workable, thanks.
Unfortunately when I installed the new version, I also updated vscode and other addons, now no tests show up at all. So not really why sure what broke.
(Code 1.57.1, TestExplorerUI 2.20.4, Unity-Test-Adapter 0.0.6)

Looks workable, thanks.
Unfortunately when I installed the new version, I also updated vscode and other addons, now no tests show up at all. So not really why sure what broke.
(Code 1.57.1, TestExplorerUI 2.20.4, Unity-Test-Adapter 0.0.6)

Try to look at the settings testSourceFolder (relative to workspace root),  testSourceFileRegex and testCaseRegex. You need these 3 to be able to load up unit tests in the test view. If testSourceFolder and testSourceFileRegex match any file they should show up in the test UI even if the testCaseRegex doesn't match the test cases inside. That should help you pin down what's to blame.
You can give me some file & test name examples from your project and the settings you use and I may help you.
I am using the latest versions of vscode and TestExplorerUI and don't see any issues with them.

Looking into the change, I saw you also changed the testSourceFileRegex to match the full path (https://github.com/Florin-Popescu/vscode-unity-test-adapter/commit/a777a4198f72179107be97864fe63cc5eb5e3367#diff-90f5592a8a85ef6ea1f847351c4ec2ad2f646d34f426d1e9feb2ed7411f344ccR490), which broke my ^test_\w+\.c$ regex. Using test_\w+\.c$ works. (I have some reports in that folder containing the filename, so I needed $ matching. Thankfully ^ is not needed.)

Oh, sorry about that. Meant to use testSourceFileRegex to match the full path and remove testSourceFolder altogether but then decided that testSourceFolder would be useful for very big projects to not check against every single file in the workspace. This change also affects unitUnderTestFileRegex so update that too if you used it.
Anyways it may be useful so regexes could match/exclude subfolders too, instead of just the filenames, so I think it should be kept this way.


Fix service guide URLs across several packages

Update to latest URL scheme. Remove/fix URL in cases where the URL
doesn't exist or is incorrect. (sloppy copy/paste job?)

LTGM!

Infinity changes lgtm.


Fix EOF error

When I read a sitemapindex.xml file and in the sitemapindex.xml is a URL to an empty sitemap.xml (Content-Length = 0), I got an EOF error. I fixed this by return an error in fetch and continue the for loop in get(). I have updated the tests.

@mnlwldr
Thankls to sending pull-request. I confirmed the problem that was occurring.
I will check the contents of the pull-request within a few days.

@mnlwldr
I checked the content of the pull-request.
This change is unacceptable for the following reasons.

sitemapindex.xml with an empty sitemap.xml contains is a file problem.
If there is a problem with the contents of the single sitemap.xml file, Get will return an error. I think it should return an error for sitemapindex.xml as well.

However, even if sitemapindex.xml contains an empty sitemap.xml, users may want to get as much information as possible about the sitemap.
So we add a ForceGet in next version that collects as much data as possible even if the file is empty or returns 404 Not Found.

I plan to release the next version on 2021/08/09.

@mnlwldr
ForceGet function is added<EMAIL_ADDRESS>


Ipv6环境下，io.seata.common.util.NetUtil的toInetSocketAddress方法没办法正确解析ipv6格式的地址

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
当seataf服务部署在ipv6环境时，注册到注册中心上的seata服务地址是ipv6形式的，当服务导入seata依赖时，发现如图的这个工具类里对ip地址的解析有问题，会出现截取的host和port不正确

Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
 i.s.c.r.netty.NettyClientChannelManager  : 0101 can not connect to 2202:0:0:0:0:0:0:133:9908 cause:can not register RM,err:For input string: "0:0:0:0:0:0:133:9908"
io.seata.common.exception.FrameworkException: can not register RM,err:For input string: "0:0:0:0:0:0:133:9908"
....

Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

xxx
xxx
xxx

Minimal yet complete reproducer code (or URL to code):
Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version(e.g. java -version): 1.8.0_191-b12
Seata client/server version:  latest
Database version:
OS(e.g. uname -a):
Others:

@xiaoqiang-github-123 can you submit a PR to fix it？


Does this support sensors?

Does this support sensors?
I need to replace my aging smart things plugin which will not work after September 30 when the Groovie IDE is pulled.
Looking specifically for support of zwave and zigbee:
Motion, contact, temperature, and leak sensors.
Thank you in advance.

I just released a version that supports motion sensors.  I am working on other sensors now so soon.
Sent from my iPhone

On Sep 12, 2022, at 8:35 PM, sebastiangoldstein @.***> wrote:

Does this support sensors?
I need to replace my aging smart things plugin which will not work after September 30 when the Groovie IDE is pulled.
Looking specifically for support of zwave and zigbee:
Motion, contact, temperature, and leak sensors.
Thank you in advance.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.

Wonderful - Thank you for your awesome work!

Since v1.3.1, my motion sensors show triggered constantly.  I have both Smartthings Motion Sensors, and aeotec multisensor 6s.

Yeah, sorry about that.  Small bug.   Fixed in 1.3.2.

On Sep 19, 2022, at 11:47 PM, Acalade @.***> wrote:
Since v1.3.1, my motion sensors show triggered constantly. I have both Smartthings Motion Sensors, and aeotec multisensor 6s.
—
Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/25#issuecomment-1251800184, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG55EQM46KBK7MNAM4PXVTV7EXULANCNFSM6AAAAAAQK6QAEY.
You are receiving this because you commented.

Also looking forward to Open/Close sensors. Fantastic work! Thank you!

Thank you for the fast update.  I am also looking forward to Open/Close sensors. also hoping Temperature sensors are coming as well.

@iklein99 Any status on Contact Sensors (doors and windows). Really looking forward to transitioning over to your new plug- in but I have too many automations that are triggered off of contact sensors, so I'm waiting for the plug-in to support them. Thanks!

I'll get to that next.

Hi Klein,My ST doors and windows are showing as switches in HomeKit even though they’re configured at “contacts” in ST. See below 2 images. The first is taken from ST and the 2nd is from HomeKit. Also, only 2 of 7 contacts are coming over into HomeKit. The plugin misses the rest of them. The others that aren't coming over are shown in the 3rd image. Thanks again for your help. It’s really appreciated. Darrell SpencerSent from my iPhoneOn Oct 6, 2022, at 1:41 PM, iklein99 @.***> wrote:
I'll get to that next.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

Contact sensors have been added in version 1.4.3.  @firstspencer I don't know why your doors and windows look like switched before this release unless the devices are carrying a 'switch' category.  Try this version, and if the problem still occurs, then clear your logs in the Homebridge settings screen, turn debug on and restart.    Send me the logs you get and restart homebridge.  Send the logs to me at<EMAIL_ADDRESS>

Probably your sensor isn't reporting a category that is recognized by the plugin.  I'm working on a change right now to support multi service accessories and that should resolve this issue.

Great plugin!  Look forward to the contact sensors with ST Multipurpose.

I'm just finishing up my rework to support accessories with multiple services.  Will be released soon.

I ended up trying the beta and it's working pretty well with ST Multipurpose.  Any chance you can support smoke detectors?  The old Smartthings integration allowed for these.  And other types of contact sensors like "wireless tags".
Thanks!

Smoke detector support in release 1.4.11


[BUG] 4th level exhaustion doesn't cut hitpoint maximum in half & it is causing visual artifact

Describe the Bug
When 4th level of exhaustion is applied to an actor - its hit points are not halved. Also, it is causing a visual artifact shown in the image below. A PC on the image has their max hp already reduced by 9, and then they the 4th level of exhaustion was applied.
Context

Any errors in the console; access it by pressing F12
Ran [Find the Culprit] and it led to this module
Foundry version 11.315
System and version dnd 5e 3.1.2
Module version 6.0.3
Chrome, Forge

To Reproduce
Steps to reproduce the behavior:

Add a PC token to the scene
Reduce their hit points maximum from 17 hp, to 4 using the character sheet's option to do so. Use "temp max hp"
Save the change
Add Convenient effect of 4th level exhaustion
See as their health bar on the token moves out of bounds
See as their hp is not halved from 4 to 2.

Expected Behavior
When adding the effect - it will be half the current max of hit points. As the actor's current maximum is 4 - then it is 2. Also, it shouldn't display the health bar incorrectly

Exhaustion 4 still used system.attributes.hp.max which is not available anymore. We are now supposed to use system.attributes.hp.tempmax which has not been implemented yet it seems.
I have fixed it myself by replacing it with the new attribute key with effect value<EMAIL_ADDRESS>* 0.5 and mode is Override.

I fixed it by going in the modules folder and finding the module. Open this file: "\AppData\Local\FoundryVTT\Data\modules\dfreds-convenient-effects\scripts\effects\effect-definitions.js"
And change
key: 'system.attributes.hp.max',
mode: CONST.ACTIVE_EFFECT_MODES.MULTIPLY,
value: '0.5',
priority: 5,

Thank you @CptLucky27 ! Will this be reverted when the module updates?

I have replied but I think Github didn’t send. Sorry if 2 same messages
@CptLucky27 thank you for sharing fix! Will try. Will it revert after an update?

Not sure to be honest with you. But you can always check if it has been changed or not by going into that file.

Got it, thanks! Will try and see

@DFreds

Not sure but I changed in the file itself and now exhaustion 4 comes up with this (see the image). And it seems to be working for me.
Not sure if it helps but I follow Chris's Premades dependencies:
Midi-QOL: 11.4.34
DFred's Convenient Effects: 6.0.3
Warpgate: 1.19.2 (up to 1.closing)
Effect Macro: 11.2.1
Template Macro: 11.0.1
Sequencer: 3.1.4
Token Attacher: v4.5.15
Build-A-Bonus: 11.8.0 (up to 11.10.6)
Socketlib: 1.0.13
Dynamic Active Effects: 11.3.29
Automated Animations: 4.2.71
Times Up: 11.3.12

What version of dnd5e? It's definitely not working for me, and I have the same inputs.


Sort fails after rename

Describe the bug
Sort fails after rename
To Reproduce
Steps to reproduce the behavior:

Import & wrangle colours.xlsx Sheet 1
Rename City to city
Sort on city
See error

Expected behavior
Sort well.
Screenshots

Desktop (please complete the following information):

OS: MacOS
Browser: Chrome
Version: 68.0.3440.106

When you open the edit session again and sort it. then it works.
예상하실 수 있는 분이 많겠지만, 다시 편집 세션을 열어서 sort를 하면 잘됩니다!

Test failed in the integrated test. To be reopened soon.


Add process locking

This change addresses the potential risk of running multiple instances of Leapp simultaneously on a single system.
Considerations:

Insights Tasks (preupgrade and upgrade) currently allow multiple executions on the same system
The absence of a filter/tooltip in the Insights user interface makes it challenging to determine if a task is already running on a system.

A simple lock mechanism to prevent concurrent executions using a BSD lock has been implemented (see 1).
JIRA: https://issues.redhat.com/browse/OAMG-8402

(not a real review yet) Could you please rebase? The tests should be fixed by this

I am not really sure, right now if it would work for leapp but did you consider open the SQLite db exclusively?

I am not really sure, right now if it would work for leapp but did you consider opening the SQLite db exclusively?

Or rather a SQLite db, that will tell you that you can't use it 😁

I've looked over the PR now and have a few higher level questions... In the past, I've implemented locks using filesystem atomicity (the key filesystem operation here is link() which will fail if a file already exists).  That is robust and relatively (compared to fcntl and flock) intuitive but has one problem: there is an unavoidable race condition dealing with stale lockfiles.  I have usually forced the user to clean up stale lockfiles for this reason.
I see in this PR that although you are creating a lockfile and adding the PID to it (things which are needed for a filesystem-driven lockfile approach), you're using fcnt()l (one of the POSIX APIs) for locking.  However, you aren't using that to determine whether another instance of LEAPP is already running directly, you're just using that to protect the lockfile while determining whether the lockfile is currently allocated by another process, to record our ownership of it by writing our PID to it (these two needs are what link() addresses in the filesystem atomicity case), and to ensure that no one else takes the lock while we're evaluating if the lockfile is stale.
What I'm wondering is what problems we are trying to avoid by doing that instead of relying on the lock for the length of the process?  The traditional problem with fcntl() is that the lock is associated with the process rather than the specific file descriptor.  So you can't synchronize resources across threads of a single process (the lock is process-wide) and when the process closes any open filedescriptor for that inode, the lock is closed (even if it is a different filedescriptor than the lock was opened against).  Since we're only using the lock at the toplevel of the LEAPP cli, I don't think either of these apply?  We can simply open the filedescriptor in the context manager, successfully take the lock on it, then hold onto that file descriptor until the context manager exits.  That should eliminate the problem of having a stale lockfile as the contents of the file won't matter any longer.
Let me know if I'm missing something.
[*] The other problem with fcntl() locking is that it may or may not work on NFS depending on how all the nfs clients are configured (flock() is even worse in this regard).  My kind of think this is not a problem, though.  Is the lockfile ever going to be present on an NFS share or will that cause other problems to the upgrade?

@abadger Thanks for awesome comment!
DISCLAIMER: I am very new to this topic and it might soon become obvious

I see in this PR that although you are creating a lockfile and adding the PID to it (things which are needed for a filesystem-driven lockfile approach), you're using fcnt()l (one of the POSIX APIs) for locking. However, you aren't using that to determine whether another instance of LEAPP is already running directly, you're just using that to protect the lockfile while determining whether the lockfile is currently allocated by another process, to record our ownership of it by writing our PID to it (these two needs are what link() addresses in the filesystem atomicity case), and to ensure that no one else takes the lock while we're evaluating if the lockfile is stale.

My original idea I was aiming for was exactly something like you are describing using the link() call. Basically, just create a file, write PID inside and check if it exists. Instead of just using a plain python open(), I have tried to introduce atomicity. A quick google search suggested using filesystem locks and then I have basically emulated the approach of using link() (which I was not aware of) using flock(). Which resulted in the current implementation.
So correct me if I'm wrong. What you are suggesting to be a better approach is to acquire a filesystem lock, keep it for the whole duration of the process and release it when leapp ends. Am I correct? This would solve all the problems with stale lockfiles

Correct. Avoiding the stale lockfile problem is what we'd be able to
solve.  I think that the known problems with fcntl() and flock() won't
be triggered by the way we need to use the lock in LEAPP so we can use them
as the primary locking mechanism (correct me if I'm wrong about that,
though).
On Wed, Mar 20, 2024, 4:43 AM David Kubek @.***> wrote:

@abadger https://github.com/abadger Thanks for awesome comment!
DISCLAIMER: I am very new to this topic and it might soon become obvious
I see in this PR that although you are creating a lockfile and adding the
PID to it (things which are needed for a filesystem-driven lockfile
approach), you're using fcnt()l (one of the POSIX APIs) for locking.
However, you aren't using that to determine whether another instance of
LEAPP is already running directly, you're just using that to protect the
lockfile while determining whether the lockfile is currently allocated by
another process, to record our ownership of it by writing our PID to it
(these two needs are what link() addresses in the filesystem atomicity
case), and to ensure that no one else takes the lock while we're evaluating
if the lockfile is stale.
My original idea I was aiming for was exactly something like you are
describing using the link() call. Basically, just create a file, write
PID inside and check if it exists. Instead of just using a plain python
open(), I have tried to introduce atomicity. A quick google search
suggested using filesystem locks and then I have basically emulated the
approach of using link() (which I was not aware of) using flock(). Which
resulted in the current implementation.
So correct me if I'm wrong. What you are suggesting to be a better
approach is to acquire a filesystem lock, keep it for the whole duration of
the process and release it when leapp ends. Am I correct? This would solve
all the problems with stale lockfiles
—
Reply to this email directly, view it on GitHub
https://github.com/oamg/leapp/pull/851#issuecomment-2009377028, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AABTCWVR3NHL2UZIQAZAI5DYZFY7PAVCNFSM6AAAAABDUZNVRCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBZGM3TOMBSHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks everybody for awesome feedback! This last changes should fix all of the problems noted above.
Firstly, as per @abadger 's awesome suggestion, we will not rely on the PID in the lockfile, but instead on the BSD lock itself which we will keep for the duration of the execution. The lockfile has been moved to /var/run/leapp.pid (thanks @vinzenz !) and will store the PID purely for informational purposes (so we can inform user which process is blocking). This solves the issues around stale lockfiles. The issue raised by @fernflower should also be obsoleted by this.

/packit build


release V2.2.7

Codecov Report

Merging #596 (f010058) into V2.2.X (dbc345d) will increase coverage by 0.00%.
The diff coverage is 90.00%.

@@           Coverage Diff           @@
##           V2.2.X     #596   +/-   ##
=======================================
  Coverage   71.22%   71.23%
=======================================
  Files         290      290
  Lines       21026    21046   +20
=======================================
+ Hits        14976    14992   +16
- Misses       6050     6054    +4

Impacted Files
Coverage Δ

apps/backend/views.py
83.23% <ø> (ø)

...components/collections/agent_new/query_password.py
92.85% <50.00%> (-1.69%)
:arrow_down:

...nents/collections/agent_new/choose_access_point.py
96.01% <62.50%> (-1.46%)
:arrow_down:

apps/backend/agent/tools.py
92.16% <100.00%> (ø)

apps/backend/components/collections/job.py
90.90% <100.00%> (+0.47%)
:arrow_up:

.../backend/management/commands/copy_file_to_nginx.py
95.55% <100.00%> (+0.31%)
:arrow_up:

apps/node_man/constants.py
98.22% <100.00%> (+<0.01%)
:arrow_up:

Continue to review full report at Codecov.

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


lizard scanning gmock instead of source files

Due to how the tool plugin collects and passes package information, the lizard tool will always scan the gmock source directory, rather than the package source directory (since that's the first 'src_dir' key that the tool finds). See: https://github.com/sscpac/statick/blob/master/statick_tool/plugins/tool/lizard_tool_plugin.py.
Code at issue:
        """Run tool and gather output."""
        src_dir = "."
        if "src_dir" in package:
            src_dir = package["src_dir"]```

I was able to re-create the issue and I'm pretty sure I have a fix for this. I need to test it more.

@jhdcs, I posted my fix in #302. If you have time to review/test those changes I would appreciate it.

I've reviewed the PR, though since I don't have write access, GitHub thinks it "doesn't count".

Fixed in #302.


Recording is slow and jumpy

When you press the record button. Its slow and jumpy, that is the number at the bottom right corner randomly goes up. For example, you press record, it will take 5 seconds to go to 1/2. Then a random number of seconds later it will jump to something random like 12/13 or 18/19 etc etc. Just to get to 100 takes 5 minutes. Fix it

Hi.
Komefai or anyone please please help. We have this same issue also, for me & some friends it works flawlessly & ALL the time, but for other friends it only rarely works properly.
This problem of PS4 Macro Recording or Playing files sporadically is extremely annoying & hard to work out what's going on. The numbers just hang or does very slow counting & the ONLY way to fix it is to keep closing PS4 Macro & Remote Play & trying again & again & again until it finally works for some reason, very random.
Please help. The ONLY time it runs perfectly all the time when this happens is to use it in Windows Safe Mode & we're trying to figure out why. It's a big clue but still don't know why it only works perfect for them in Windows Safe Mode.
It's such a little simple awesome program, I want my friends also using it & not having to try something else. It works PERFECT all the time on my PC.
My friend has an IDENTICAL PC to mine, same exact motherboard, same CPU, same onboard audio, she even has Windows 10 Pro same build version! Powerful PC. ONLY difference is her video card is an Nvidia 6GB video card & mine is an Nvidia 8GB.
Knowing as a clue it only works perfect in Windows Safe Mode, can you guys please give us some suggestions as to what is causing PS4 Macro to behave like this?? What could be interfering with PS4 Macro like this?
Any help much appreciated. I'll give $20AUS to who can suggest the right thing for me to try & get it working.
Thanx heaps,
Ash.

Hey,
i had the same bug. I fixed it with disabling AutoInject in Settings.
Just create a file named settings.xml in the folder of the macro and paste this in:
<?xml version="1.0" encoding="utf-8"?>
<Settings>
  <AutoInject>false</AutoInject>
  <BypassInjection>false</BypassInjection>
  <EmulateController>false</EmulateController>
  <ShowConsole>true</ShowConsole>
</Settings>

Okay if someone as me encounter this problem: delete ps4macro completely (don't forget to save existing macros if they're in folder) and unpack zip again. I have some thoughts that files got corrupted or something


Talking to Rosie closes the hookshot door [POTENTIAL SOFTLOCK]

The door correctly starts open, but after talking to Rosie it closes. Talking to Rosie again does not open it; neither does going to El Machino and back, or exiting the game entirely and starting it again.

Fixed the hook cave door.
I also opened the front door, because we may need to enter from Yarrow shortcut


GH-37654: [MATLAB] Add Fields property to arrow.type.Type MATLAB class

Rationale for this change
In order to implement arrow.array.StructType, we need to add a property called Fields to arrow.type.Type. This property will be a N-by-1 arrow.type.Field array. Adding Fields will let users inspect the Types contained by a StructType object.
What changes are included in this PR?

Added Fields as a property to arrow.type.Type. Fields is a 1xN arrow.type.Field array, where N is the number of fields.

Added method field(idx) to arrow.type.Type. This method accepts a numeric index and returns the arrow.type.Field stored at the specified index.

Are these changes tested?

Yes, updated hFixedWidthType.m and tStringType.m to verify the behavior of the new property and method.
Currently, all of the concrete arrow.type.Types do not have any fields. This means the Fields property is always a 0x0 arrow.type.Field array. Once we implement StructType, we will be able to test having a nonempty Fields property.

Are there any user-facing changes?
Yes, users can now extract fields from an arrow.type.Type object.
Future Directions

#37724
#37653

Closes: #37654

+1


feat: add driver listen port option

feat: add driver listen port option.
It is needed in network environment strictly managed by firewall.
contacts<EMAIL_ADDRESS>@AhnLab-OSS

/azp run


Add required variable for flashing with no changes

This is not required. It should find the port automatically, and it can be different for everyone.


TryTLS example using Haskell's HaskellNet

HaskellNet(-SSL) is the only(?) available IMAP/POP/SMTP library for Haskell.

This pull request is ready to be merged.


New Runner model draft

Worked on the initial model after our meeting on Tuesday, as discussed on Discord.

Unfinished


Datasets links?

After reading your repo , I cant find the datasets links? The Datasets in the repo is self. Thanks a lot

https://drive.google.com/a/usc.edu/uc?id=1f4k8zhomFuZt820bN8gl3zbw8lyvcxg0&export=download


jMAVSim doesn't fly any more

with latest code, using LPE (not EKF2), jMavSim won't get off the ground.  I debugged this down to line 549 of pwm_out_sim.cpp, I found that changing this:
		_lockdown = aa.lockdown || aa.manual_lockdown;

to this:
		_lockdown = aa.manual_lockdown;

solves the problem.  The reason this is needed is because state_machine_helper.cpp line 196 when it is asked to enter HIL_STATE_ON sets lockdown to true.
	if (status->hil_state == vehicle_status_s::HIL_STATE_ON) {
		armed->lockdown = true;

Therefore no PWM output was being generated as a result...  should I submit this fix as a pull request?

Yep that is indeed a bug.

Fixed in 7bd851469796f16d51938c318f2b45dd0e2201e0.

thanks!


improvement increase the connection num of s3 client

Proposed changes
The default maxConnection of s3 client is 25.
It should be increased to improve the query performance.
In my test, a tpch 300 benchmark with data stored on object storage, the total time
can reduce from 430s -> 330s
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

LGTM

LGTM

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.05 seconds
stream load tsv:          509 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.3 seconds inserted 10000000 Rows, about 341K ops/s
storage size:<PHONE_NUMBER>2 Bytes


About reproduction accuracy

The SFD kitti test in the paper is easy 91.73 moderate 84.76 difficult 77.92, however my reproduction results are not good.
This is the result of my reproduction   easy 89.45 moderate 81.55 difficult 78.59, Can you tell me the reason why?

Hi, did you train SFD on train + val set before you submit the results to server? Although this way can get higher results, it is not easy to choose a suitable checkpoint. I suggest you train SFD only on train set, and choose a checkpoint with high recall on val set, then do inference on test set with that checkpoint. Additionally, turning up SCORE_THRESH (such as 0.5, 0,6) can also help. BTW, you can directly use the checkpoint we provide in README to inference the test set with 0.5 or 0.6 of SCORE_THRESH, it can achieve decent results on test set (about 84+% on moderate).

The recall has a big impact on the performance of SFD on the test set. To get more details about recall, you can print ret when you evaluate each checkpoint.

First of all, thank you for your reply, secondly I have another question, I would like to ask, when you submitted the kitti server, did you use only the model trained by the train set, or by train+val set
------------------ 原始邮件 ------------------
发件人:                                                                                "LittlePey/SFD"                                                                                @.>;
发送时间: 2022年8月14日(星期天) 中午12:05
@.>;
<EMAIL_ADDRESS>主题: Re: [LittlePey/SFD] About reproduction accuracy (Issue #17)
The recall has a big impact on the performance of SFD on the test set. To get more details about recall, you can print ret when you evaluate each checkpoint.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

We train it on train + val set. In this situation, it is not intuitive to choose a checkpoint with high recall. You may need to visualize the results on test set.

Thank you for your reply.
------------------ 原始邮件 ------------------
发件人:                                                                                "LittlePey/SFD"                                                                                @.>;
发送时间: 2022年8月15日(星期一) 下午2:37
@.>;
<EMAIL_ADDRESS>主题: Re: [LittlePey/SFD] About reproduction accuracy (Issue #17)
We train it on train + val set. In this situation, it is not intuitive to choose a checkpoint with high recall. You may need to visualize the results on test set.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

We train it on train + val set. In this situation, it is not intuitive to choose a checkpoint with high recall. You may need to visualize the results on test set.

Thank you for your reply. If I use train+val set to train, then I can only choose the best checkpoint by visualization. Can I understand it this way?


user.get_now_playing() returns True even if there's nothing playing!

I'm working on a little app that uses LastFM as an alternative to Spotify's API, so far everything is good excepting the fact that sometimes even if there's nothing playing on my device connected to LastFM it still returns the Track object, and sometimes it happens the other way, if there's something playing it returns None.
Here is my code that checks if there's anything playing on an interval of x seconds (defaults to 1):
   def get_current_track(self):
        user = self._client.get_user(self.username)
        playing = user.get_now_playing()
        if not playing:
            return Track()
        id = f"{playing.title}{playing.username}{playing.artist.get_mbid()}"
        return Track(id, playing.title, playing.artist.get_name(),
                     playing.info['image'][pylast.SIZE_LARGE] if playing.info['image'] else None, True)

In the code above I wait for a track to play:
    def wait_for_track_play(self):
        track = self.get_current_track()
        while not track.playing:
            time.sleep(self.update_time)
            track = self.get_current_track()

The wait_for_track_play loop doesn't start because the user.get_now_playing() function from pylast always returns True.
Is this an API caching problem or just the library itself?
I used the official Android App and  a couple of music players like GPM and Poweramp and on desktop using their website. Results are the same.

Update: I've tried using the pure API and looks like starting from the moment when a song stops playing it takes 1-2 minutes to appear as no longer playing in the API response, but still looks like it takes a longer time with pylast

Pylast's user.get_now_playing() calls https://www.last.fm/api/show/user.getRecentTracks, and returns the track with nowplaying="true"
For example, it calls something like:
https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=rj&api_key=YOUR_API_KEY&format=xml&limit=1
By "pure API", do you mean something like that API?
Are you saying you get the same result with that as with pylast, or different?
I've not checked the code, but I don't think there's any caching for this user.get_now_playing().

Pylast's user.get_now_playing() calls https://www.last.fm/api/show/user.getRecentTracks, and returns the track with nowplaying="true"
For example, it calls something like:
https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=rj&api_key=YOUR_API_KEY&format=xml&limit=1
By "pure API", do you mean something like that API?
Are you saying you get the same result with that as with pylast, or different?
I've not checked the code, but I don't think there's any caching for this user.get_now_playing().

By "Pure API" I meant using the url in the webbrowser. Anyway, I've tried with json and the xml format pylast uses and looks like there's no difference about it. Anyway, the problem comes from the API in the end. I've opened a thread on their forum maybe I'll get a response there:
https://support.last.fm/t/api-returns-nowplaying-true-even-after-the-song-stopped-playing/3919


[Runner] Do not sync settings with scheduler state, since it might ca…

…use issues with elevation
Summary of the Pull Request
What is this about:
What is included in the PR:
How does someone test / validate:
Quality Checklist

[x] Linked issue: #16961
[ ] Communication: I've discussed this with core contributors in the issue.
[ ] Tests: Added/updated and all pass
[ ] Installer: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Docs: Added/ updated
[ ] Binaries: Any new files are added to WXS / YML

[ ] No new binaries
[ ] YML for signing for new binaries
[ ] WXS for installer for new binaries

Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

@jaimecbernardo yes, that should fix it, since we didn't do any other related changes.


Fix typos and doc error

Description

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as before)

Checklist

[ ] Read the Contributing Guide
[ ] Perform a code self-review
[ ] Comment the code, particularly in hard-to-understand areas
[x] Add documentation
[ ] Add hook's story at Storybook
[ ] Cover changes with tests
[ ] Ensure the test suite passes (yarn test)
[ ] Provide 100% tests coverage
[ ] Make sure code lints (yarn lint). Fix it with yarn lint:fix in case of failure.
[ ] Make sure types are fine (yarn lint:types).

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix: find-hosts-host 'Cannot read property 'enabled' of undefined'

Encountered this error with fresh install and in-repo-engine with lazyloading enabled.
> ember serve

Could not start watchman
Visit https://ember-cli.com/user-guide/#watchman for more info.
Cannot read property 'enabled' of undefined

This error might be happening because I have another in-repo-addon.

Hmm, I thought we “upconverted” a Boolean value to the POJO before this was called?

I just edited my initial description regarding why I think it happens.

Repro can be found here https://github.com/knownasilya/ember-ghost/commit/40b131e035e6f414fdf61860de2f34b0686e20c7 (note the app doesn't start once the fix is applied, that is unrelated).

Yes, exactly


PLEASE ADD REVERSE PROXY, MORE MASS EXECUTEABLE PLUGINS AND XMR MINER

Hey! I love your Project but im missing some things like a Reverse Proxy or a XMR MINER.
I also looking for a way to mass execute more things like a .NET command XMR Miner install or Mass Ddos attacks.

PLEASE DONT TYPE YOUR TITLES IN CAPS

PLEASE DONT TYPE YOUR TITLES IN CAPS

Yeah sorry bro xD

@Crainyer "DOS" does work on multiple clients, its in the DOS GUI menu. as for mass executable tasks I will see what I can do, any specific commands you want to be mass executable that aren't already?


Add cyclenumbers to calendar view

Here is a query to get cycleNo for todays date:
SELECT julianday('now') - julianday(
(SELECT MIN(date)
FROM periods
WHERE period_id = (
SELECT period_id
FROM periods
ORDER BY date DESC
LIMIT 1
))
) AS days_since_start;

I'm working on this. Just have a bug to correct before pushing the code.

Two new functions in periodDatabaseHelper, getFirstLastPeriodDate and getOldestPeriodDate.
getFirstLastPeriodDate - Takes single date as input and returns the first perioddate for the period that is closest to input-date
getOldersPeridDate - Returns the first ever saved perioddate, this is used to making sure we are not having cycleNumbers on dates before this date.


fix(notification/rule): remove authID requirement

remove the authorization id requirement for creating rule.
related to https://github.com/influxdata/influxdb/pull/14675
replace with the user id.
Manually tested
remove the smtp notification rule

[ ] CHANGELOG.md updated with a link to the PR (not the Issue)
[x] Well-formatted commit messages
[x] Rebased/mergeable
[x] Tests pass
[x] http/swagger.yml updated (if modified Go structs or API)
[ ] Documentation updated or issue created (provide link to issue/pr)
[ ] Signed CLA (if not already signed)

I don't understand- I think we should just remove AuthorizationID and not add an OwnerID. @desa could you check this please?

ownerID is read only, frontend will never pass that in the post

At some point I think it would be great for us to start defining separate schemas in the swagger spec for request and response bodies—it would clarify issues like whether or not we are supposed to send the ownerID when creating notification rules.

@chnn agreed


h3: generate event for stream close

Oh also need to update https://docs.quic.tech/quiche/h3/index.html#detecting-end-of-stream

Thanks. I'll address your comments tomorrow

The latest changes are almost there but have an edge case that needs handling.
I also plan to rework unit tests slightly.


feat: authentication flow

Description
This PR introduces authentication to the frontend of NMS. The user will either be redirected to the initialize endpoint or login endpoint if they haven't logged in. Admin users have access to the users panel, which allows them to create, delete or update the password of existing user accounts.
For testing, please use the webconsole version that includes the authentication changes.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code.
[x] I have made corresponding changes to the documentation.
[x] I have added tests that validate the behaviour of the software.
[x] I validated that new and existing unit tests pass locally with my changes.
[x] Any dependent changes have been merged and published in downstream modules.

As soon as I initialize the admin user (or try to log in) I get redirected to the login page. This is by cloning your fork and going through the CONTRIBUTING.md guidelines.
I believe I'm properly logged in but something redirects me to the login page regardless.

Actually, it seems like the token does not get added to my cookies.

As soon as I initialize the admin user (or try to log in) I get redirected to the login page. This is by cloning your fork and going through the CONTRIBUTING.md guidelines.
I believe I'm properly logged in but something redirects me to the login page regardless.

Actually, it seems like the token does not get added to my cookies.

This is caused by the secure option when setting the cookie. It is set to True but the CONTRIBUTING.md and make file lead to an environment that does not use https.

This is caused by the secure option when setting the cookie. It is set to True but the CONTRIBUTING.md and make file lead to an environment that does not use https.

The code to add the token to the cookies is identical to the one in Notary, and I can't recreate this issue locally even in a fresh VM. @patriciareinoso had the same issue. If it's possible I would appreciate hopping on a quick call to debug.

This is caused by the secure option when setting the cookie. It is set to True but the CONTRIBUTING.md and make file lead to an environment that does not use https.

i usually have an ssh tunnel into the environment, and localhost is excepted from the Secure cookie. I've removed the secure option, we can reintroduce it when making the change to move to https.

If I log in as a not admin user and I try to reach :5000/users on the browser address even if the Users button does not exist. It says loading and keeps trying to reach the users endpoint (http://<IP_ADDRESS>:5000/config/v1/account). Could it be possible to block the user? show something like page does not exist ?

how about redirecting to "/" for now? I want to pay special attention to having a 404 page, and preferably would like to do that after converting everything to canonical react components.

If I log in as a not admin user and I try to reach :5000/users on the browser address even if the Users button does not exist. It says loading and keeps trying to reach the users endpoint (http://<IP_ADDRESS>:5000/config/v1/account). Could it be possible to block the user? show something like page does not exist ?

how about redirecting to "/" for now? I want to pay special attention to having a 404 page, and preferably would like to do that after converting everything to canonical react components.

sure, that works

After creating a network slice or a subscriber, I need to refresh the page to see it on the list. But this only happens with the first one. I think this was raised as an issue that was closed some time agou because it disappeared but now seems to be back. @gruyaume

as discussed, this will be tracked in a task (TELCO-1477) since it's not related to authentication.


Eject docker usages in NAS benchmarks

@JunweiSUN will do the documentation. #2647

change documentation PR to #2651


ghost record not cleanup properly causes error to find the correct launcher client

BUG REPORT:
/kind bug
What happened:
We noticed an issue that VMI stuck in Scheduled and the launcher pod was Error:
NAMESPACE  NAME          AGE    PHASE       IP     NODENAME
ns01       vm-08         12h    Scheduled            node01

NAMESPACE  NAME                        READY STATUS RESTARTS AGE
ns01      virt-launcher-vm-08-2pdj6      2/3   Error     0   12h

Looked into the stuck vmi, the pod went to Error because the compute container was terminated due to timeout failure of creating virt-launcher client connection when the entry already exists with differing UID

{"component":"virt-handler","kind":"","level":"error","msg":"Synchronizing the VirtualMachineInstance failed.","name":"vm-08","namespace":"ns01","pos":"vm.go:1359","reason":"unable to create virt-launcher client connection: can not add ghost record when entry already exists with differing UID","timestamp":"2021-12-08T09:23:02.504977Z","uid":"054e439b-4402-4a65-9dd1-70e4235762b3"}

Events:
  Type     Reason      Age                     From          Message
  ----     ------      ----                    ----          -------
  Warning  SyncFailed  4m30s (x4316 over 13h)  virt-handler  unable to create virt-launcher client connection: can not add ghost record when entry already exists with differing UID

{"component":"virt-launcher","level":"info","msg":"Marked as ready","pos":"virt-launcher.go:72","timestamp":"2021-12-08T09:23:02.187469Z"}
panic: timed out waiting for domain to be defined
goroutine 1 [running]:
main.waitForDomainUUID(0x45d964b800, 0xc0003376e0, 0xc0005a68a0, 0x1af0838, 0xc000452180, 0x0)
cmd/virt-launcher/virt-launcher.go:218 +0x517
main.main()
cmd/virt-launcher/virt-launcher.go:449 +0x1265

This is an issue that virt-handler was using a wrong virt-launcher client to build connection.

{"component":"virt-handler","kind":"VirtualMachineInstance","level":"error","msg":"Updating the VirtualMachineInstance status failed.","name":"vm-08","namespace":"ns01","pos":"vm.go:1366","reason":"Operation cannot be fulfilled on virtualmachineinstances.kubevirt.io "vm-08": StorageError: invalid object, Code: 4, Key: /registry/kubevirt.io/virtualmachineinstances/ns01/vm-08, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: UID in precondition: 8667609c-15c6-44dd-bdc1-704ee0bdf40f, UID in object meta: 054e439b-4402-4a65-9dd1-70e4235762b3","timestamp":"2021-12-08T09:22:54.560475Z","uid":"8667609c-15c6-44dd-bdc1-704ee0bdf40f"}

The error can not add ghost record when entry already exists with differing UID showed that the ghost record was not deleted properly. This issue was noticed when a pod was evicted from node which went NotReady for a period of time, and virt-handler did not properly handle VMI shutdown process and cleanup of local data.
What you expected to happen:
A rebooted VMI scheduled to the node where a prior vmi of the same name was terminated improperly can be Running
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version): 0.35
Kubernetes version (use kubectl version): 1.20
VM or VMI specifications:
Cloud provider or hardware configuration: bare metal
OS (e.g. from /etc/os-release): NAME="CentOS Linux"
 VERSION="8 (Core)"
  ID="centos"
  ID_LIKE="rhel fedora"
  VERSION_ID="8"
  PLATFORM_ID="platform:el8"
  PRETTY_NAME="CentOS Linux 8 (Core)"
  ANSI_COLOR="0;31"
  CPE_NAME="cpe:/o:centos:centos:8"
  HOME_URL="https://www.centos.org/"
  BUG_REPORT_URL="https://bugs.centos.org/"
  CENTOS_MANTISBT_PROJECT="CentOS-8"
  CENTOS_MANTISBT_PROJECT_VERSION="8"
  REDHAT_SUPPORT_PRODUCT="centos"

Kernel (e.g. uname -a):Linux gs-node.nvmetal.net 4.18.0-193.13.2.el8.1622008870.664c92a05.x86_64 #1 SMP Wed May 26 13:04:56 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Install tools:
Others:

Here is what I investigated this issue and some thoughts :
For each new created virt-launcher pod needs to provide a launcher-socket and register it into /var/run/kubevirt-private/ghost-records/<vmi id> path for caching. And every time virt-launcher restarted it will read all files in this path into its cache. The issue happens after virt-handler restarted.
However the virt-handler on  was not able to add such a ghost socket into cache for VMI vm-08 whose VMI id id 054e439b-4402-4a65-9dd1-70e4235762b3 , pod UID is 6edd9777-06bf-4e3e-b415-32db7f35b637 . Even though the pod and socket are created on host
[root@virt-handler-vxdzm]# ls -la /pods/6edd9777-06bf-4e3e-b415-32db7f35b637/volumes/kubernetes.io~empty-dir/sockets/launcher-sock
srwxr-xr-x 1 root qemu 0 Dec  8 09:23 /pods/6edd9777-06bf-4e3e-b415-32db7f35b637/volumes/kubernetes.io~empty-dir/sockets/launcher-sock

The only one ghost socket in cache, instead, belongs to another VMI whose VMI UID 8667609c-15c6-44dd-bdc1-704ee0bdf40f , pod UID is 5ef5c2c4-37d0-47b9-b025-d9b99dc1504d
[root@virt-handler-vxdzm]# ls /var/run/kubevirt-private/ghost-records/
8667609c-15c6-44dd-bdc1-704ee0bdf40f
[root@virt-handler-vxdzm]# cat /var/run/kubevirt-private/ghost-records/8667609c-15c6-44dd-bdc1-704ee0bdf40f
{"name":"ngn-igw-08","namespace":"ngn-igw","socketFile":"//pods/5ef5c2c4-37d0-47b9-b025-d9b99dc1504d/volumes/kubernetes.io~empty-dir/sockets/launcher-sock","uid":"8667609c-15c6-44dd-bdc1-704ee0bdf40f"}

This VMI UID 8667609c-15c6-44dd-bdc1-704ee0bdf40f was an old VMI of the same name (vm-08) that virt-launcher created before restarted. This virt-handler on this node was terminated at 2021-12-08 01:15:34, and restarted at 2021-12-08 01:20:46 , so all the old vmi was terminated by kubelet and removed from /var/lib/kubelet/pods path on this node.
    State:          Running
      Started:      Wed, 08 Dec 2021 01:20:46 -0800
    Last State:     Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Wed, 08 Dec 2021 01:13:28 -0800
      Finished:     Wed, 08 Dec 2021 01:15:34 -0800

After virt-handler restarted, it initialized the ghost record cache by reading files in /var/run/kubevirt-private/ghost-records/ However for unknown reason, virt-handler was not able to complete finishing cleanup ghost record, so the same socket was leftover.  It is /var/run/kubevirt-private/ghost-records/8667609c-15c6-44dd-bdc1-704ee0bdf40f . At this moment, the restarted virt-handler was not able to make a cleanup because it can not retrieve the launcher-client by this file.

{"component":"virt-handler","level":"error","msg":"Unable to mark vmi as unresponsive socket //pods/5ef5c2c4-37d0-47b9-b025-d9b99dc1504d/volumes/kubernetes.io~empty-dir/sockets/launcher-sock","pos":"cache.go:486","reason":"open /pods/5ef5c2c4-37d0-47b9-b025-d9b99dc1504d/volumes/kubernetes.io~empty-dir/sockets/launcher-unresponsive: no such file or directory","timestamp":"2021-12-09T16:20:04.556793Z"}
{"component":"virt-handler","kind":"Domain","level":"info","msg":"Domain is marked for deletion","name":"vm-08","namespace":"ns01","pos":"vm.go:2277","timestamp":"2021-12-09T16:20:04.556819Z","uid":"8667609c-15c6-44dd-bdc1-704ee0bdf40f"}

So, virt-handler has a key <namespace/vmi name> (in this case, it is ns01/vm-08) maps to two ghost records : 8667609c-15c6-44dd-bdc1-704ee0bdf40f and 054e439b-4402-4a65-9dd1-70e4235762b3, which caused error of proceed to find the correct launcher client. And compute container of the vm-08 pod has a timeout panic.

How would you reproduce this issue? Would it be these two steps on repeat:

reboot a node with active VMIs
recreate VMIs with the same name on the same node

interesting bug.
The ghost records exist in order to guarantee that a VMI's local data is cleaned up when virt-handler re-initializes even if the VMI is deleted from etcd.
What you're hitting is that the ghost record for a VMI is sticking around even after a new VMI with the exact same name has been created. Looking at the code, we don't handle this situation at all, and the result is the new VMI will never get processed.
Here's my suggestion as a fix.
When virt-handler is executing on a VMI, add a check to determine if an old ghost record exists for the a VMI with the same name but has a different UID. If that condition exists, run the equavalent of this code in order to process the cleanup of the old ghost record. https://github.com/kubevirt/kubevirt/blob/bf73abb9ac945bc0798b88235db8f487be0d5d82/pkg/virt-handler/vm.go#L1745
We're already doing this exact same thing to cleanup when we detect an old domain exists somehow, so extend that logic to handle when an old ghost record exists somehow.

/remove-lifecycle stale

Has this bug been fixed ？

This was observed in 0.35.  I think it's fixed in 0.40 by https://github.com/kubevirt/kubevirt/pull/5194.  This can be closed.
/close

This was observed in 0.35. I think it's fixed in 0.40 by #5194. This can be closed.
/close

I recently get similar error with kubevirt version 0.41.0, after I modify some spec of vm, such as size of memory, and restart the vm for spec changing, the vmi will stay with scheduled state, and it shows the same error, the ghost record was not cleaned properly, and new info clashes will old one.

clashes

I also repeated this error in version 0.41.0, but the virtual machine recovered itself after a period of time

/reopen
I closed the wrong bug.  https://github.com/kubevirt/kubevirt/issues/6685 is fixed by https://github.com/kubevirt/kubevirt/pull/5194 in release 0.40

/close


Add an easy way to update a mock from a request

Scenario:
I record a bunch of server requests and mock them
After a month a lot of server APIs changed
I want to record them again and replace the current mocked requests
Is it possible?

Need to think on how it's best to do it.
Currently you would just turn off or delete the current mock and run the request again and save the input.
Maybe I could set a flag where it will ignore the next request and let it run normally and then update the mock data from what it received.
In general I'd like to support an auto record feature in the near future.

In my mind it was:
If the mocked request is disabled you still try to match the captured
requests by it.
If it matches a disabled request - you show a greyed out M icon in the left
sidebar next to the request
if the user clicks on it you show an "Update Mock" button, instead of a
"Mock" button
If the user clicks on the "Update Mock" button - you copy the new response
data to the mocked request (or navigate to the edit screen with the new
response already updated)
--

Adam Klein http://il.linkedin.com/in/adamklein500
CTO @ 500Tech.com http://500tech.com/
AngularJS, ReactJS, NodeJS
Development, consulting, training and public speaking
(+972) 52 747 5633

On Wed, Dec 7, 2016 at 3:32 PM, Maayan Glikser<EMAIL_ADDRESS>wrote:

Need to think on how it's best to do it.
Currently you would just turn off or delete the current mock and run the
request again and save the input.
Maybe I could set a flag where it will ignore the next request and let
it run normally and then update the mock data from what it received.
In general I'd like to support an auto record feature in the near future.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/500tech/bdsm/issues/153#issuecomment-265447820, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA2SSkRrF5vsSND98P5etuJMoKgf3wjkks5rFrWJgaJpZM4LGZ03
.

Or simpler:
next to each captured request regardless of whether it's mocked or not - we
can have an update mock button, and the user can choose which mocked
request he overrides
--

Adam Klein http://il.linkedin.com/in/adamklein500
CTO @ 500Tech.com http://500tech.com/
AngularJS, ReactJS, NodeJS
Development, consulting, training and public speaking
(+972) 52 747 5633

On Wed, Dec 7, 2016 at 7:08 PM, Adam Klein<EMAIL_ADDRESS>wrote:

In my mind it was:
If the mocked request is disabled you still try to match the captured
requests by it.
If it matches a disabled request - you show a greyed out M icon in the
left sidebar next to the request
if the user clicks on it you show an "Update Mock" button, instead of a
"Mock" button
If the user clicks on the "Update Mock" button - you copy the new response
data to the mocked request (or navigate to the edit screen with the new
response already updated)
--

Adam Klein http://il.linkedin.com/in/adamklein500
CTO @ 500Tech.com http://500tech.com/
AngularJS, ReactJS, NodeJS
Development, consulting, training and public speaking
(+972) 52 747 5633 <+972%2052-747-5633>

On Wed, Dec 7, 2016 at 3:32 PM, Maayan Glikser<EMAIL_ADDRESS>wrote:

Need to think on how it's best to do it.
Currently you would just turn off or delete the current mock and run the
request again and save the input.
Maybe I could set a flag where it will ignore the next request and let
it run normally and then update the mock data from what it received.
In general I'd like to support an auto record feature in the near future.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/500tech/bdsm/issues/153#issuecomment-265447820, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA2SSkRrF5vsSND98P5etuJMoKgf3wjkks5rFrWJgaJpZM4LGZ03
.

I really like this idea, in general I would only show it on non mocked requests because otherwise I won't have the new response and I can't re run the request.

True
--

Adam Klein http://il.linkedin.com/in/adamklein500
CTO @ 500Tech.com http://500tech.com/
AngularJS, ReactJS, NodeJS
Development, consulting, training and public speaking
(+972) 52 747 5633

On Wed, Dec 7, 2016 at 7:14 PM, Maayan Glikser<EMAIL_ADDRESS>wrote:

I really like this idea, in general I would only show it on non mocked
requests because otherwise I won't have the new response and I can't re run
the request.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/500tech/bdsm/issues/153#issuecomment-265509527, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA2SSuy8RLIPpEI1oz_vrLCdNNAvGfn_ks5rFumGgaJpZM4LGZ03
.

Implemented in 2.0


fix(core): implement {} insterd of unknown for blank schema interface

Status

READY/
Description
fix #1207
If the definition schema is blank object and output.override.use TypeOver Interfaces is false, the generated definition is incorrect.
I fixed it to create {} when using interface.
Before
export interface DbNotificationID unknown

After
export interface DbNotificationID = {}

Related PRs
none
Todos

[ ] Tests
[x] Documentation
[x] Changelog Entry (unreleased)

Steps to Test or Reproduce

prepared openapi woth blank object

openapi: 3.0.3
info:
  description: test
  title: test
  version: test
paths:
  /ping:
    get:
      summary: test
      responses:
        '200':
          description: ok
components:
  schemas:
    DbNotificationID: {}

execute orval
check generated definition is valid

@soartec-lab this broke React Query in 6.25.0  I now get these TypeScript errors.
  Line 26:40:  Don't use `{}` as a type. `{}` actually means "any non-nullish value".
- If you want a type meaning "any object", you probably want `object` instead.
- If you want a type meaning "any value", you probably want `unknown` instead.
- ```

in 6.24.0 code was this

```js
export interface FilterConstraint {
	/** Filter match mode e.g. equals, notEquals, contains, notContains, gt, gte, lt, lte */
	matchMode?: string;
	/** Value to filter this column by */
	value?: unknown;
}

in 6.25.0 its this...
/**
 * Value to filter this column by
 */
export type FilterConstraintValue = {};

export interface FilterConstraint {
	/** Filter match mode e.g. equals, notEquals, contains, notContains, gt, gte, lt, lte */
	matchMode?: string;
	/** Value to filter this column by */
	value?: FilterConstraintValue;
}

Which is now broken.


Add back layout

This is  a bug | feature request.

Prerequisites

[ ] Are you running the latest version?
[ ] Are you reporting to the correct repository?
(enso is made of many specialized packages: https://github.com/laravel-enso)
[ ] Did you check the documentation?
[ ] Did you perform a cursory search?

Description

Steps to Reproduce

Expected behavior

Actual behavior

Look at the patch file on old repository for example of Enso version and convert for Nuxt.


+Windows version .exe starting and shutting down immediately, no messages or errors, automatic1111 installed

Its a bit wierd because its was able to run before i restart automatic1111

Problem solved by deleting this string from .bat :
set COMMANDLINE_ARGS --gradio-auth

Not working even with all flags disabled, it shuts down immediately


Feature/light

solve Problems with Lighting #44

Can't start light and egui examples
[0.287072 ERROR]()(no module): Error compiling the shader CompilationFailed("Compilation failed: \n\nprogram_source:18:5: warning: declaration does not declare anything\n    float constant;\n    ^~~~~~~~~~~~~~\nprogram_source:50:5: warning: declaration does not declare anything\n    float constant;\n    ^~~~~~~~~~~~~~\nprogram_source:109:39: error: expected unqualified-id\n    float attenuation = 1.0 / ((light.constant + (light.linear * _distance)) + (light.quadratic * (_distance * _distance)));\n                                      ^\nprogram_source:156:17: error: expected unqualified-id\n        param_3.constant = _224.point_lights[i_1].constant;\n                ^\n")
thread 'main' panicked at 'failed to create graphics pipeline: Implementation specific error occurred', /Users/elias/.cargo/registry/src/github.com-1ecc6299db9ec823/wgpu-core-0.7.0/src/device/mod.rs:2251:26
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The problem is in constant keyword, which seems reserved on metal, please rename it to something?

Can you please test new commit?

closes #52

I will merge it as is for now. There are some small things to be improved, but I plan a PR with documentation, so there will be lot of files changed.
It now works fine on Mac. Great work.


Various maintenance updates

rename UseCaseFilter type to UseCaseFilterType
Add contributing and code of conducts documents
Fix gosec warning

coverage: 93.679% (-0.002%) from 93.681%
when pulling 4690d88671349fc955ca905e3be7764e9ee18ef7 on feature/maintenance
into fb7dc01d0064492d36b7cc163935a8264d8f37c8 on dev.


fix: [] do not export const enums for headers

Solves #48

Can we enable isolatedModules in our tsconfig as recommended by the linked article?

If you are are writing a library, you should enable this option to ensure that you are not exporting const enum declarations and that all TypeScript developers can compile code that imports your library.

That way we can prevent the same issue in the future.


Fix build failures in DiskTestRunner due to merge conflicts

Description of the issue
#67 had build failures because it had unresolved merge conflicts with #68
Description of changes
DiskTestRunner implements test_runner.ITestRunner
License
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Tests
builds on dev desktop
dev-dsk-billyzh-1e-8753df49 % go test ./test/metric_value_benchmark -p 1 -timeout 30m -computeType=EC2 -v --tags=integration
=== RUN   TestMetricValueBenchmarkSuite
>>>> Starting MetricBenchmarkTestSuite
=== RUN   TestMetricValueBenchmarkSuite/TestAllInSuite
2023/01/11 19:37:40 Running Disk
2023/01/11 19:37:40 Starting agent using agent config file agent_configs/disk_config.json
2023/01/11 19:37:40 Copy File agent_configs/disk_config.json to /opt/aws/amazon-cloudwatch-agent/bin/config.json
2023/01/11 19:37:40 File agent_configs/disk_config.json abs path /home/billyzh/cwa-test-fork/test/metric_value_benchmark/agent_configs/disk_config.json
2023/01/11 19:37:40 File : agent_configs/disk_config.json copied to : /opt/aws/amazon-cloudwatch-agent/bin/config.json
2023/01/11 19:37:41 Agent has started

previously
dev-dsk-billyzh-1e-8753df49 % go test ./test/metric_value_benchmark -p 1 -timeout 30m -computeType=EC2 -v --tags=integration
# github.com/aws/amazon-cloudwatch-agent-test/test/metric_value_benchmark [github.com/aws/amazon-cloudwatch-agent-test/test/metric_value_benchmark.test]
test/metric_value_benchmark/disk_test.go:42:9: undefined: minimumAgentRuntime
test/metric_value_benchmark/disk_test.go:63:20: t.MetricFetcherFactory undefined (type *DiskTestRunner has no field or method MetricFetcherFactory)
test/metric_value_benchmark/metrics_value_benchmark_test.go:69:17: cannot use &DiskTestRunner{…} (value of type *DiskTestRunner) as type test_runner.ITestRunner in struct literal:
        *DiskTestRunner does not implement test_runner.ITestRunner (missing GetAgentConfigFileName method)
test/metric_value_benchmark/metrics_value_benchmark_test.go:69:33: cannot use test_runner.BaseTestRunner{…} (value of type test_runner.BaseTestRunner) as type BaseTestRunner in struct literal
FAIL    github.com/aws/amazon-cloudwatch-agent-test/test/metric_value_benchmark [build failed]
FAIL

closing because duplicate fix exists in #87


Add version: LuaLS.lua-language-server version 3.6.0

Pull request has been created with Komac v1.9.1 :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/116110&drop=dogfoodAlpha

@wingetbot waivers Add Validation-Executable-Error


Allow disabling zoom by mousewheel

Zooming by scrolling can be annoying when the cropper is included on a long page because it will override page scrolling. I would like to disable zooming by scrolling. Still I'd like to be able to zoom the image using $elem.cropper('zoom', 0.1), so setting zoom: false as option is not possible.

Maybe we can add an allowMouseWheelZoom option for this case. Thank you for your suggestion.

I had added mouseWheelZoom option in v0.8.0 for this.

According to the docs, the option is now zoomOnWheel


Don't set empty fields in output

Before introducing parsers concept extract() did not set empty fields in
output. So in case of re.findall() returning an empty list there was a
warning like:
WARNING:invoice2data.extract.invoice_template:regexp for field <foo> didn't match
and on <foo> in output dictionary / file.

That has unintentionally changed after commit 670f8729b7b6 ("Extend
fields syntax to support associative arrays & add 2 initial parsers
(#308)"). Output can now look like:
[
    {
        "issuer": "Company",
        "amount": 12.34,
        "date": "2023-01-01",
        "invoice_number": "01/2023",
        "test_field": [],
        "currency": "EUR",
        "desc": "Invoice from Company"
    }
]

Bring back old behaviour and don't set empty fields:
[
    {
        "issuer": "Company",
        "amount": 12.34,
        "date": "2023-01-01",
        "invoice_number": "01/2023",
        "currency": "EUR",
        "desc": "Invoice from Company"
    }
]

I've just noticed that my old https://github.com/invoice-x/invoice2data/pull/308 changed parsing behaviour.
I'm wondering if the old behaviour made more sense and should be brought back. Any opinion on this?

I am kinda neutral on this. Both methods has his up and downsides.
But I tend to lean towards returning to the old behavior.


Fix omega-edit-native for windows

Fix issue with windows generated .dll not being in the lib folder but the bin folder

@scholarsmate Is this good to merge? I need to release it and test the daffodil-vscode in my windows vm


Added "Isolated" mode for the sync_handling. Running the node in this…

… mode will make the node not care about peers when switching to KeepUp mode. This allows to set up a node with existing lmdb database and query data through the binary port.
This PR should have no downstream impact.

bors r+


Submissions can be completed without granting the license

Describe the bug
Submissions can be completed without granting the license, this has become apparent after the "Always enable Deposit button" PR in the frontend.
I'm listing this as a backend bug because

The backend just deposits submissions with /sections/license/granted=false without complaining, so it seems that this is a REST issue. It shouldn't be the frontend's responsibility to enforce that the license is granted.
The backend doesn't flag /sections/license/granted=false as an error when patching, so the frontend can't know it has to mark the checkbox as invalid

To Reproduce
Steps to reproduce the behavior:

Start a new submission on https://demo7.dspace.org/home
Leave all fields unfilled and click "Deposit"

You should see two notifications: "There are incomplete sections" & "Submission saved successfully"
The license checkbox will not be marked as invalid

Fill out all required fields, upload a file, but leave the license checkbox unchecked. The click "Deposit" again.

The submission will just complete

Expected behavior
When attempting to deposit a submission without granting the license, it should be rejected and the license checkbox should be marked as invalid.
Related work
Angular #1427

Thanks @ybnd : Agreed this needs resolution. Pulling this onto the 7.3 board and flagging as "high priority"

Hi @ybnd @tdonohue , we would be interested in solving the problem. We estimate 4/6 hours to find the cause, fix it and test it.


Something strange with globals

Strange globals collision.
print output should be constant 20, but in this test it depends on b variable value.
WRState* w;
WRContext* context;

void print( WRState* w, const WRValue* argv, const int argn, WRValue& retVal, void* usr )
{
	char buf[1024];
	for( int i=0; i<argn; ++i )
	{
		printf( "%s", argv[i].asString(buf, 1024) );
	}
}

void millis( WRState* w, const WRValue* argv, const int argn, WRValue& retVal, void* usr )
{
	wr_makeInt(&retVal,100000);
}

const char* wrenchCode = " \
b = 0.0; \
a = 10; \
function init(){ \
b = millis()/200.0; \
} \
function test(i,j){ \
print(i*a); \
} \
";

int main() {

  WRState* w = wr_newState(90); // create the state

	wr_registerFunction( w, "print", print );
  wr_registerFunction( w, "millis", millis );

	unsigned char* outBytes; // compiled code is alloc'ed
	int outLen;

  char* errorMsg;

	int err = wr_compile( wrenchCode, strlen(wrenchCode), &outBytes, &outLen, errorMsg);
	if ( err == 0 )
	{

    WRContext* context = wr_run( w, outBytes, outLen );
    wr_callFunction( w, context, "init",NULL,0);
    WRValue wrCoords[2];
    wr_makeInt(&wrCoords[0], 2);
    wr_makeInt(&wrCoords[1], 3);
    wr_callFunction( w, context, "test",wrCoords,2);
	}

  delete[] outBytes; // clean up
	wr_destroyState( w );

	return 0;

}

Ack.. ill look into this asap
On Fri, Jun 16, 2023, 3:10 PM Buterbrott @.***> wrote:

Strange globals collision.
print output should be constant 20, but in this test it depends on b
variable value.
`
WRState* w;
WRContext* context;
void print( WRState* w, const WRValue* argv, const int argn, WRValue&
retVal, void* usr )
{
char buf[1024];
for( int i=0; i<argn; ++i )
{
printf( "%s", argv[i].asString(buf, 1024) );
}
}
void millis( WRState* w, const WRValue* argv, const int argn, WRValue&
retVal, void* usr )
{
wr_makeInt(&retVal,100000);
}
const char* wrenchCode = "
b = 0.0;
a = 10;
function init(){
b = millis()/200.0;
}
function test(i,j){
print(i*a);
}
";
int main() {
WRState* w = wr_newState(90); // create the state
wr_registerFunction( w, "print", print );
wr_registerFunction( w, "millis", millis );
unsigned char* outBytes; // compiled code is alloc'ed
int outLen;
char* errorMsg;
int err = wr_compile( wrenchCode, strlen(wrenchCode), &outBytes, &outLen, errorMsg);
if ( err == 0 )
{
WRContext* context = wr_run( w, outBytes, outLen );
wr_callFunction( w, context, "init",NULL,0);
WRValue wrCoords[2];
wr_makeInt(&wrCoords[0], 2);
wr_makeInt(&wrCoords[1], 3);
wr_callFunction( w, context, "test",wrCoords,2);
}
delete[] outBytes; // clean up
wr_destroyState( w );
return 0;
}
`
—
Reply to this email directly, view it on GitHub
https://github.com/jingoro2112/wrench/issues/12, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALIKA6BCBURDPVMY2RL233XLSVRRANCNFSM6AAAAAAZJUGPK4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Swapped registers assignment in
CASE(GLBinaryMultiplication):
{
  register1 = globalSpace + *pc++;
  register0 = frameBase + *pc++;
  wr_MultiplyBinary[(register0->type<<2)|register1->type]( register0, register1, stackTop++ );
  CONTINUE;
}

to
register0 = frameBase + *pc++;
register1 = globalSpace + *pc++;

And my example was calculated correctly

Thank you so much for figuring this out! I had not been able to find the
time to look into it. Fix made and published.
On Sat, Jul 15, 2023 at 7:05 AM Buterbrott @.***> wrote:

Swapped registers assignment in
CASE(GLBinaryMultiplication):
{
register1 = globalSpace + *pc++;
register0 = frameBase + *pc++;
wr_MultiplyBinary[(register0->type<<2)|register1->type]( register0, register1, stackTop++ );
CONTINUE;
}
to
register0 = frameBase + *pc++;
register1 = globalSpace + *pc++;
And my example was calculated correctly
—
Reply to this email directly, view it on GitHub
https://github.com/jingoro2112/wrench/issues/12#issuecomment-1636736822,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALIKAYCHBEDORC4HTPMYYLXQJ2RDANCNFSM6AAAAAAZJUGPK4
.
You are receiving this because you commented.Message ID:
@.***>

Fixed courtesy of the original reporter for finding AND tracking down the poroblem.

I think the same problem in GL(LG)BinarySubtraction. And you can't just swap register lines in Division and Subtraction, because of operands order.
maybe it would be better something like this?
CASE(GLBinarySubtraction):
{
  register1 = frameBase + *pc++;
  register0 = globalSpace + *pc++;
  wr_SubtractBinary[(register0->type<<2)|register1->type]( register0, register1, stackTop++ );
  CONTINUE;
}

CASE(LGBinarySubtraction):
{
  register1 = globalSpace + *pc++;
  register0 = frameBase + *pc++;
  wr_SubtractBinary[(register0->type<<2)|register1->type]( register0, register1, stackTop++ );
  CONTINUE;
}

CASE(GLBinaryDivision):
{
  register1 = frameBase + *pc++;
  register0 = globalSpace + *pc++;
  wr_DivideBinary[(register0->type<<2)|register1->type]( register0, register1, stackTop++ );
  CONTINUE;
}

CASE(LGBinaryDivision):
{
  register1 = globalSpace + *pc++;
  register0 = frameBase + *pc++;
  wr_DivideBinary[(register0->type<<2)|register1->type]( register0, register1, stackTop++ );
  CONTINUE;
}


Create kubevirt NS via manifests

What this PR does / why we need it:
Add kubevirt namespace via manifests to avoid the need to create it manually.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

Create kubevirt namespace via manifests

ok I think we good now(at least as much as possible with our CI)


[Feature Request]: Enrichment Transform

What would you like to happen?
Implement a enrichment transform to enrich a PCollection by making a request to the external source.
Issue Priority
Priority: 2 (default / most feature requests should be filed as P2)
Issue Components

[X] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam YAML
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

[ ] Core Enrichment transform
[ ] BigTable handler for enrichment transform
[ ] Multi-language support

Design doc - https://s.apache.org/enrichment-transform


On migrate Error: ImportError: No module named 'django.urls'

I'm working on Django 1.8. I have installed the django-simple-history using pip in virtualenv. I have configured in installed apps as well as in Middleware.
After that I'm trying to migrate but it is throwing error:
(mdnenv)$ python manage.py migrarte

Traceback (most recent call last):
  File "./manage.py", line 4, in <module>
    from settings.base import DJANGO_SETTINGS_MODULE
  File "/home/shubham/mdn_project/mdn-core-engine-development/settings/__init__.py", line 1, in <module>
    from settings.base import *
  File "/home/shubham/mdn_project/mdn-core-engine-development/settings/base.py", line 184, in <module>
    from mdn_core_engine.logger import logger
  File "/home/shubham/mdn_project/mdn-core-engine-development/mdn_core_engine/__init__.py", line 2, in <module>
    from .celery import app as celery_app
  File "/home/shubham/mdn_project/mdn-core-engine-development/mdn_core_engine/celery.py", line 13, in <module>
    django.setup()
  File "/home/shubham/mdn_project/mdnenv/lib/python3.4/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/shubham/mdn_project/mdnenv/lib/python3.4/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/home/shubham/mdn_project/mdnenv/lib/python3.4/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/home/shubham/mdn_project/mdnenv/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/shubham/mdn_project/mdnenv/lib/python3.4/site-packages/simple_history/models.py", line 12, in <module>
    from django.urls import reverse
ImportError: No module named 'django.urls'

django-simple-history 2.0 doesn't support Django<1.11. The last version of django-simple-history to support Django 1.8 is django-simple-history==1.9.1. So run this command and it should work:
pip install django-simple-history==1.9.1

Thanks... It's working now...


ssd1306: Added new protocol - a flavor of existing SPI4

I added SPI4W protocol to the driver. It is a flavor of the SPI4 protocol with HW driven CS and no MISO (pin is reconfigured as GPIO and used for D/C). That's how my device is wired :smile: Hopefully others will like this option too as it saves a GPIO pin (or two, depends on the counting method :smile: ) if one does not mind wiring CS and D/C to the predefined pins.
There are two additional small changes:

Pass all SUPPORT macros to CFLAGS. This allows building the driver with only required protocols (probably just one),
"Pack" device descriptor struct. This shrinks it by 7 bytes without any code changes needed on the program side.

The changed driver has been tested by compiling and running both ssd1306 examples - example and fps - on my device.

I am disagree with this pull request. The protocols correspond to the different types of driver communication.
This is the default esp8266 spi configuration that is problematic here. But you can do the same when your program start without need change the library:
    while (ssd1306_init(&dev) != 0) {
        printf("%s: failed to init SSD1306 lcd\n", __func__);
        vTaskDelay(SECOND);
    }
    spi_init(SPI_BUS, SPI_MODE0, SPI_FREQ_DIV_8M, true, SPI_LITTLE_ENDIAN, false);
    gpio_set_iomux_function(12, IOMUX_GPIO12_FUNC_GPIO);

The good idea is too remove  the SPI initialisation from the driver. disable CS use for some value (e.g: 0xFF).

You are right. In the hindsight it is clear that the new protocol is an overkill as the workaround is quite simple.
What about the other changes though? The device descriptor carries quite a few never used bytes and at the moment the driver cannot be compiled without the SPI3 protocol.

Save Ram is ok ^^. We do not lose a lot of readability for screens and protocols selection.
I do not understand why we can not compile without the SPI3 protocols.
this line fix the problem ? :
+#if (SSD1306_SPI3_SUPPORT)
     uint8_t j;
+#endif

why we can not compile without the SPI3 protocols

component.mk does not define a C macro for the SPI3 in ssd1306_CFLAGS like it does for I2C and SPI4. This makes SSD1306_SPI3_SUPPORT undefined when config.h is looking for it, so it adds it as enabled. That's what the very first commit has addressed.

this line...

+#if (SSD1306_SPI3_SUPPORT)
     uint8_t j;
+#endif

This change was added to address the consequence of being able to exclude SPI3. When the latter is not compiled, that j sticks out and compiler is complaining about the unused variable.
The alternative, IMHO, was to make SPI3's case a block and move it down there where it is actually used, but that to me felt contrary to the overall style of this driver and I did not want to take it that far.

I decided to redo it piecemeal. After the protocol was taken out the remaining changes do not need to be joined at the hip.


Use file modified date for 304 checks ("changed" is creation date on Windows)

This fixes #37 for me on Windows, however I don't know if there are any other consequences of changing this. The field named changed states in its dartdoc that on Windows is returns the creation date. Based on this SO answer it seems like on other platforms it returns the time of the last metadata change (whereas modified is file contents change).
If there's a reason to use changed for non-Windows platforms this could be made conditional (or perhaps just the latest of the two dates used?) - let me know if I should do that.
I added a test that catches this on Windows (it fails without the change, passes with), though the bots here don't run on Windows so currently wouldn't catch a regression. It also requires a small delay (2s) to ensure the timestamp changed - though if you're happy to check only the status code, it might be possible to drop that.

@DanTup care to update the version and changelog?


Voting for resources should be limited to one per user

Currently, you can upvote or downvote a resource over and over again. It should be limited to one vote per user. If the user has upvoted a resource and then downvotes the same resource, the upvote should clear out and be replaced by the downvote (and vice versa).
For the moment, users can be tracked by their API credentials, so all of this should be determined by the API key provided.
Acceptance criteria:

The /upvote and /downvote endpoints should need authentication
Votes should be restricted to one per API key
Votes from a certain user should be able to be cleared out by sending an additional request to either of the vote endpoints. If it is the same vote endpoint, it should simply be cleared out. If it is the opposite vote endpoint, it should clear out the existing vote and update the vote.

Hello, I would like to contribute to this

@the-bose You kind of overshot Hacktoberfest. Do you still want to contribute to this? As you can see, it's a high priority and we'd like to get going on it

Hello,
I was working on this and stumbled upon an issue when modifying the test suite to reflect the changes that I made.
I am not sure how to debug it other than having two different get_api_key functions where one takes the test credentials and the other takes actual credentials.

@chynh You need to mock the API call to the backend by passing in fake_auth_from_oc to the test function. Should look like this:
python
def test_update_votes(module_client, module_db, fake_algolia_save, fake_auth_from_oc):

That might fail linting for being too long of a line, but other than that it should solve your problem

Thanks for the pointer!
Now test_update_votes is passing but test_apikey_commit_error is failing for some reason after the change...
______________________________________________________________________________________________________ test_apikey_commit_error _______________________________________________________________________________________________________

module_client = <FlaskClient <Flask 'app'>>, module_db = <SQLAlchemy engine=sqlite:///:memory:>, fake_auth_from_oc = None, fake_commit_error = None

    def test_apikey_commit_error(
            module_client, module_db, fake_auth_from_oc, fake_commit_error):
        client = module_client

        response = client.post('api/v1/apikey', json=dict(
<EMAIL_ADDRESS>            password="supersecurepassword"
        ))

>       assert (response.status_code == 500)
E       assert 200 == 500
E        +  where 200 = <Response streamed [200 OK]>.status_code

tests/unit/test_routes.py:462: AssertionError

What all did you change? Without knowing the full diff it's really hard to help you troubleshoot.
Might be worth pushing up your branch and then linking to it so I can see the diff on github

Here is the full diff:
https://github.com/OperationCode/resources_api/compare/master...chynh:limit-voting

@chynh I pulled down your branch and I saw the same problem with test_apikey_commit_error. I think it would be easier to troubleshoot once we merge #266 so why don't we come back to this after that.
And just a note, your current implementation publically leaks everyone's API key that has voted on a given resource. I like the idea of a many-to-many relation of Users to Resources where each user can have one vote. Maybe we could make Vote it's own model. Definitely something to think about. But having a JSON string of everyone's API key and their vote direction (especially publicly viewable) is not something I'm going to approve.

@aaron-suarez Got it. I'll wait until we merge #266
I realize that I definitely have overlooked the security aspect of my implementation. I'll go ahead and modify it so that we no longer expose users' API keys.


RFC4050 XML signature verification on iOS for asset definition files

~Only verify if there is an XML signature.~
~In the future, there should be a visual cue to the user if the XML is unsigned, but not important now.~

Use a web API for verification. For now.

Workaround with #873 for now.


bug: Cannot escape by composite key when my type 'jk' from input method like fctix

Check the following:

[X] I have checked the behavior after setting "vscode-neovim.neovimClean" in VSCode settings.
[X] I have read the vscode-neovim docs.
[X] I have searched existing issues.

Neovim version (nvim -v)
0.10
Operating system/version
Fedora 40
Describe the bug
When my typing my composite key to escape directly , it works. But when my type the keys from fcitx5 and press "Enter", it not work.

I have used the plug im-select.nvim, it work perfectly in my neovim terminal. But it not work in vscode because of this bug
Steps To Reproduce

install fcitx or other input method
set composite key like jj or jk or kj
into insert mod, type 'jk' can escape.
then switch on fcitx, type jk and Enter.
It seemed that the string 'jk' was showed on screen directly

Expected Behavior
when I type jk on fcitx and then type Enter, it can escape successfully

not supported


Alter |move| target on every target change

I should have done this from the start when Ascriptmaster proposed it
Fixes the issue with animations playing on fainted targets in doubles/triples. Has no impact on any other targeting behavior that I can tell, or have found.
Example on turn 3: http://replay.pokemonshowdown.com/vgc2016-363124841

I don't actually remember proposing this, but either way, :+1:


Switch to ssl for websocket, and support setting a token in the config file

this implements https://github.com/Ape/samsungctl/issues/93#issuecomment-436318284

Any love for this @Ape ?

Any love for this @Ape ?

ditto


Move code in common between nc-sciencemesh and oc-sciencemesh into a package

That will make it easier to maintain

Made a small start with this in https://packagist.org/packages/pondersource/sciencemesh
but it's immediately clear that this is going to require a bit of a refactor in both apps.
Not sure how to schedule this work, will think about it some more.


Split build method into multiple methods

Fixes #226

Pull Request Test Coverage Report for Build 763

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 74.667%

Totals

Change from base Build 750:
0.0%

Covered Lines:
1232

Relevant Lines:
1650

💛  - Coveralls


break(nix): disable nix channels

Channels are not reproducible and should be removed.
This change:

removes the nix-channel binary
sets an empty NIX_PATH
stop adding the /root/.nix-channels file

This will lead scripts depending on channels to break, exposing their dependency on channels.

sets an empty NIX_PATH

that unfortunately currently breaks things https://github.com/NixOS/nixpkgs/pull/323613

With the pull request closed, is this now merge-able? https://github.com/NixOS/nixpkgs/pull/323613

I believe it is! That PR was also backported, so we should be good with stable support.
One think we could consider in another PR is to set NIX_PATH and flake registry.json entries for config.srvos.flake and config.srvos.flake.inputs.nixpkgs where config.srvos.flake is set.