Automatically clear data breaks app on change app

Steps to reproduce:

Turn on Automatically clear data. Any settings. I've tried multiple configs, but I specifically had "Clear Tabs and Data" and "App Exit, Inactive for 1 hour".
Change app. Don't bother navigating to a web page. It's not necessary.
Change back. The app is not functional. Address bar is usable, but attempts to navigate the web fail. All buttons stop functioning; although, the UI continues to work, meaning buttons blink as they should when pressed, but no menus appear.

PS: I'm loving this app.

@rwdj sorry to hear it doesn't work for you.
I've tried to reproduce the problem but couldn't. Shall I wait for Auto Clear to happen (e.g. 1hour) between steps #2 and #3 or is just switching the app enough for the problem to manifest?
Also can you share what iOS version, device and DDG app version you are using?
Thank you!

I just turn the feature back on and it stopped happening. To my knowledge, I haven’t updated since, so I’m not sure what happened.
Since it’s no longer happening, I’ll tentatively close this issue. But I’ll keep an eye on it and reopen if it happens again and try to identify what changed.
Just in case it comes back up, here are the answers to your questions:
No waiting was needed. I could just flip to another app and back and it’d seize.
This was my info at TOI. It was in my original post, but I edited it out:
DuckDuckGo iOS Version: <IP_ADDRESS>
Device: iPhone 11 Pro
iOS: 14.2

It's happening again. Can't think of anything I've done different. If I disable Automatically Clear Data, it works fine.  If I close the app and reopen, everything is fine.

@bwaresiak I can't reopen the issue and am not sure if you got pinged, so here's a ping.
Merry Christmas!
I'll just disable auto clear for now.
I'm a developer too (not iOS developer) and have a MacBook that I'm not afraid to use to get any diagnostic data you want from me.

@rwdj thanks! Hope you had great Christmas. :)
Have few things in mind:
I. Are there any DDG-related crashlogs on your device?
II. When this happens, is there any indication of a deadlock? E.g.:

Open the app - see UI is stuck.
Background the app again.
Wait 10 seconds.
Reopen the app - if you see launch screen and it is starting "from scratch" that could mean we have a deadlock and watchdog just killed our app (as it couldn't process background event on time).

III. I did enable this option on my device but so far I haven't seen any problems. Can you share if you have any of these settings enabled:

Auth Lock.
Keyboard options for app launch / new tab.
Fireproofing (and if you have any websites fireproofed).
GPC.

Does this happen when you open our app by tapping its icon, or maybe when navigating from links (default browser/share) or from widget (new search/favorite)?

It's stopped happening again. Waiting to see when it happens when.
I. I’ve looked through crashlogs and didn’t see any entries for DuckDuckGo.
II. I’ll try that procedure next time it starts happening.
III.
Application Lock: default - no
Keyboard Options:
New Tab: default - yes
App Launch: default - no
Fireproofed Sites: 4
GPC: default - yes
Since I’ve made my report and it’s started/stopped/started working, I haven’t changed any settings except maybe adding bookmarks, but I doubt that’s it.
DDG is my default browser and I don’t use the widget. I tried opening a url in an email (both and without DDG open in background) and wasn’t able to trigger it. However, I’d like to point out part of my procedure was closing DDG, opening DDG, and then opening another app and switching back to DDG. That means no webpages were open at the time including webpages opened from other apps. That said, I'm having trouble reproducing it again.
Now that it’s working, I notice the locked-up state resembles what the app looks like when the active app isn’t DDG (by viewing from the background app. Possibly DDG wasn’t recognizing it became the focused/active app?

@rwdj I've been trying to reproduce this issue over the Christmas period but had no success so far.
For now my two ideas are:

Deadlock: in such case scenario I've wrote above (backgrounding the app) should make watchdog kill the app.
Background State overlay not being removed: maybe something is messing up UIWindow state and overlay is not properly removed.

I could try to hack something for the latter issue (trying to tweak windowLevel / hidden properties on the UIWindow), but first I'd like to first get confirmation from you whether it may be related to the deadlock idea or not.

@rwdj I've been trying to reproduce this issue over the Christmas period but had no success so far.
For now my two ideas are:

Deadlock: in such case scenario I've wrote above (backgrounding the app) should make watchdog kill the app.
Background State overlay not being removed: maybe something is messing up UIWindow state and overlay is not properly removed.

I could try to hack something for the latter issue (trying to tweak windowLevel / hidden properties on the UIWindow), but first I'd like to first get confirmation from you whether it may be related to the deadlock idea or not.

I still can't reproduce it anymore. Great for me! Not so great overall.
It sounds more like the overlay, because I don't think a killed app would act the way it did.
If watchdog killed the app, would the app be interactable? When locked-up, the app buttons and even the address bar were responsive; they just didn't do anything functional: broken buttons. They made GUI action indications (changing color) without actually doing the intended function. I was even able to type things into the url.
I presume that's not what a killed app does. It seemed more like it was an overlay.

I still can't reproduce it anymore. Great for me! Not so great overall.
It sounds more like the overlay, because I don't think a killed app would act the way it did.
If watchdog killed the app, would the app be interactable? When locked-up, the app buttons and even the address bar were responsive; they just didn't do anything functional: broken buttons. They made GUI action indications (changing color) without actually doing the intended function. I was even able to type things into the url.
I presume that's not what a killed app does. It seemed more like it was an overlay.

@rwdj thank you, that indeed looks like problem with the overlay. Glad to hear this seem to be a rare problem! Nonetheless, I'll try to tackle it this week.

@rwdj thank you, that indeed looks like problem with the overlay. Glad to hear this seem to be a rare problem! Nonetheless, I'll try to tackle it this week.

@rwdj I've made a PR #804 aimed at tackling this: get a signal if this happens (to understand impact) and then try to recover. Ideally we will like to fix this, but first we need to be able to tell if our tweaks are going to have any effect.

@rwdj I've made a PR #804 aimed at tackling this: get a signal if this happens (to understand impact) and then try to recover. Ideally we will like to fix this, but first we need to be able to tell if our tweaks are going to have any effect.

Well. Huh. Today, it's happening sporadically without any noticeable pattern. Sometimes it does. Sometimes it doesn't. This is very different from before where it would happen every time or not at all.

Well. Huh. Today, it's happening sporadically without any noticeable pattern. Sometimes it does. Sometimes it doesn't. This is very different from before where it would happen every time or not at all.

Scratch that. Reproducible. For now. I also took a video. But I don't think it'll help. I think you've also gotten a handle on it.

Scratch that. Reproducible. For now. I also took a video. But I don't think it'll help. I think you've also gotten a handle on it.

@rwdj I'm going to release new version early next week, let's see if that changes anything.

@rwdj I'm going to release new version early next week, let's see if that changes anything.

@rwdj Could you get 7.61.8 from AppStore and see if the issue happens, that it is recovering once you tap on any button?

I'll do that and let you know the next time it happens! In the meantime, I just re-enabled automatic clear data and it's stopped happening again. Last time it took nearly a week to start happening again.

I'll do that and let you know the next time it happens! In the meantime, I just re-enabled automatic clear data and it's stopped happening again. Last time it took nearly a week to start happening again.

I still haven't seen it happen again. I know I'd recognize it if it did by showing the overlay and I'd need to click a button to fix it, but it just haven't happened.

@rwdj Thank you for checking in :) If you manage to see it please let us know. In the meantime we've got some signal about it and I've got an idea for a permanent fix - will try to address it this week.

I know I've seen the temporary fix. Not sure when the last time was or if it's been properly fixed. At the very least, it's fixed from a user perspective.

Ah. Literally just saw it happen again. But like before: your temporary fix saves the day.


Weird text overflow

When the text inside the favicon overflow the background, it interact in an unexpected way with the border.

I think the text should be able to overflow, to allow more user freedom, but that's up to you.

Thank you. I think you are right. I will push a fix asap.


New Method in ConfigEvent

The configEvent class from aws-lambda-java-events has been updated one of the methods and needs to be updated in the Source code also.
isEventLeftScope -> getEventLeftScope

Noted. Ideally, please do a PR.


Add grid streaming support for notebooks

This PR adds grid streaming support for notebooks.
Previous grid rendering behavior: wait for entire query result to be returned before converting rows to data types (mimeType and html) and then displaying data.
Changes for streaming:

Added listeners for onResultSet and onResultSetUpdate
Start updating the table before converting rows to mimeType and html
Moved data conversion logic from sqlSessionManager to DataResourceDataProvider
Added gridDataConversionComplete to notebook model to make sure that all rows have been converted (in case user tries to save the notebook before conversion is complete)

Pull Request Test Coverage Report for Build 244823899

42 of 155 (27.1%)  changed or added relevant lines in 10 files are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.02%) to 39.026%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/contrib/notebook/browser/cellViews/outputArea.component.ts
0
1
0.0%

src/sql/workbench/services/query/common/queryManagement.ts
0
1
0.0%

src/sql/workbench/contrib/notebook/browser/models/notebookInput.ts
2
6
33.33%

src/sql/workbench/services/notebook/browser/models/notebookModel.ts
0
4
0.0%

src/sql/workbench/services/notebook/browser/models/cell.ts
2
8
25.0%

src/sql/workbench/contrib/notebook/browser/cellViews/output.component.ts
3
10
30.0%

src/sql/workbench/services/notebook/browser/sql/sqlSessionManager.ts
0
22
0.0%

src/sql/workbench/contrib/notebook/browser/outputs/gridOutput.component.ts
33
101
32.67%

Files with Coverage Reduction
New Missed Lines
%

src/sql/platform/common/pathUtilities.ts
3
35.14%

src/sql/workbench/contrib/notebook/browser/outputs/gridOutput.component.ts
3
27.83%

Totals

Change from base Build 242035417:
-0.02%

Covered Lines:
19037

Relevant Lines:
44529

💛  - Coveralls

I tested this, and let's work with PM to define what's important re: messages/table ordering.


Liform action throws a 500

The exception I get is this:
Could not find a transformer for any of these types (datetime, form)

500 Internal Server Error - TransformerException

Here's a stack trace:
in vendor/limenius/liform/src/Limenius/Liform/Resolver.php at line 54   -
            ];
        }
        throw new TransformerException(
            sprintf(
                'Could not find a transformer for any of these types (%s)',
                implode(', ', $types)
at Resolver ->resolve (object(Form))

in vendor/limenius/liform/src/Limenius/Liform/Transformer/CompoundTransformer.php at line 19   +
at CompoundTransformer ->transform (object(Form), array(), null)

in vendor/limenius/liform/src/Limenius/Liform/Liform.php at line 32   +
at Liform ->transform (object(Form))

in src/AppBundle/Controller/RecipeController.php at line 123   +
at RecipeController ->liformAction (object(Request))

at call_user_func_array (array(object(RecipeController), 'liformAction'), array(object(Request)))

in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php at line 153   +
at HttpKernel ->handleRaw (object(Request), '1')

in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php at line 68   +
at HttpKernel ->handle (object(Request), '1', true)

in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php at line 169   +
at Kernel ->handle (object(Request))

in web/app_dev.php at line 30   +
at require ('/Users/kix/Documents/Code/symfony-react-sandbox/web/app_dev.php')

in vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/config/router_dev.php at line 40   +

Also, the LiformBundle dep should be bumped due to changes in https://github.com/Limenius/LiformBundle/commit/237908e9d4c92bd1ff450c23c0721914b57a48c6

OK, figured it out, this is due to a stale dep as well, must be 0.8.1 because of this: https://github.com/Limenius/Liform/commit/185e6d4c72e334d0d9029da1a81cb3a1a6ded469

Thanks for noticing this. Indeed there was a problem with the tags. I have now updated composer.json and .lock files to require a new v0.8.3 tag


Added russian pack

just to update later: include motorway sign and maybe update noParking.
Discuss if needed...

I am late, but the signs stopped working due to non-english names. There is pack №2 reuploaded, but №3 is not yet (sigh). It means on your side link-names must be changed.


Adding instructions regarding how to check for an unsupported CPU

@jkeiser Obviously, as you described elsewhere, we could do even better, but I don't dislike this approach since it also points people to the runtime dispatch ("name()") making them realize that there is magic happening that they can dig into.

@jkeiser Adding more documentation on this issue is a good idea. I did so.
Waiting for test results to merge.

Oh, I see. Hmm, one might be able to implement simd8 as a mask register and expand to ff simd registers when code is written that requires that. Not performant but still probably pretty good.


'registry.npmjs.org' role/delegation change

This is my signing event contribution.
CC @sigstore/tuf-root-signing-codeowners, please have a look
and merge into the signing event branch.

Right, so situation is:

we were hoping to avoid artifact updates because the hash choice then changes (from both sha512,sha256 to just sha256)
this makes an artifact change on the delegation but that leads to the artifact update in top level targets as well...

I suppose our choices are

just merge this and take the artifact update
manually remove the artifact changes  from the top level targets here -- I don't like it but it should work. npmjs delegation will still have the artifact change but actual sigstore clients won't care about that

would have been great to test all this out in staging

I'll open a similar PR on staging, and sign it too.

this makes an artifact change on the delegation

that was me misunderstanding what's being done (more explanations would be useful).
In reality there is not artifact change. The bot commits here were done in frederiks own fork (where the bot was likely confused since the main branch had old artifacts)

This PR is now ready for review. As per #1330 it introduces the new key for the registry.npmjs.org delegation. No version bump is required as that is already performed in the sign/migration branch.


Set up the doc better and add the missing secrets template

This is primarily a getting-started doc rehash. This corrects several issues with consistency, reorders things a bit, and offers the simplest option with where to go for more information.
In the last PR, the new secrets file option was missed, so that is corrected here.

Squashed commits

Fixed rebase quirk.

LGTM


Copying Objects to Other Folders Results in Incorrect Permissions

As an admin, copy a dashboard from Folder A owned by User A to Folder B owned by User B, defaulting to Permissions=Destination results in the new object being owned by the user with admin privs, with no access to the destination user at all.

Wait for 7.6 as it is very different when it comes to cascading or inheriting permissions


[DO NOT MERGE] Detailed verification logging

This should not be merged.

Closing as this is for information purposes only.


Update Default Tags to match ARM behaviour

If you're using Azure Resource Manager, the Default Tags have subtly different names - as https://docs.microsoft.com/en-us/rest/api/network/create-or-update-a-network-security-rule shows, the canonical names are VirtualNetwork, AzureLoadBalancer and Internet. Due to ARM apparently being case insensitive, it will accept INTERNET as documented in this page, but not VIRTUAL_NETWORK or AZURE_LOADBALANCER due to the underscores.
This caused me to run into a mystifying error when I tried to create an NSG using these default tags, and I'm not the first to be confused by this as you can see from https://github.com/Azure/azure-powershell/issues/391#issuecomment-188118549
Since the top of this page recommends using ARM, the page should at the very least mention the Default Tag names required by ARM. (Arguably, it should put them first, and mention parenthetically that if you're working in the world of Classic, the older SHOUTING_CAPS_WITH_UNDERSCORES names should be used instead. But I wanted to propose as minimal a change as possible.)

@idg10,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@jimdial Hi Jim Please review these proposed changes. Thanks.

@idg10 Thanks for catching, will merge. #sign-off I plan to make broader changes to this article soon.


[fix][broker][branch-3.2]  PersistentSubscription duplicate implementation interface Subscri…

…ption

Fixes #22354

Main Issue: #xyz

PIP: #xyz

Motivation

Modifications

Verifying this change

[x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

[x] Dependencies (add or upgrade a dependency)
[x] The public API
[x] The schema
[x] The default values of configurations
[x] The threading model
[x] The binary protocol
[x] The REST endpoints
[x] The admin CLI options
[x] The metrics
[x] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

I see the master branch also have the same issue, could you also push a fix for the master branch?

I see the master branch also have the same issue, could you also push a fix for the master branch?

of course，I'll create a new pr for that.

I see the master branch also have the same issue, could you also push a fix for the master branch?

of course，I'll create a new pr for that.

new pr：https://github.com/apache/pulsar/pull/22359

since https://github.com/apache/pulsar/pull/22359 created, do we still need this PR? Just cherry-pick https://github.com/apache/pulsar/pull/22359 to 3.2 after it get merged.

I don't think that we should make such changes to branch-3.2 . This "duplication" isn't a problem at all.


Is this a typo in Repository Description?

The description of this repository is "Example of how to use Remove Views in Vue.js", but I think you meant to write "Remote" not "Remove".

I did. Thanks.


fix: tell builder and build-dry about go.sum for go caching

Fixes: #2863

A contaminated cache with the default settings would poison all binaries,
and contamination would not be limited to only that workflow run IIUC.
You could disable the cache that is on by default in setup-go and use a
unique cache key (see
https://github.com/actions/cache#creating-a-cache-key) to limit the blast
radius but still get reuse across the various jobs depending on how you
configure it.
On Mon, Oct 16, 2023 at 5:00 PM laurentsimon @.***>
wrote:

Thanks for the PR / issue @bobcallaway https://github.com/bobcallaway .
Do I understand correctly that if the cache becomes contaminated, it would
contaminate all the (arch-specific) binaries instead of one? And the
contamination would be only for this workflow run, not other runs?
—
Reply to this email directly, view it on GitHub
https://github.com/slsa-framework/slsa-github-generator/pull/2864#issuecomment-1765266539,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAVWTJLGCYIJRHXYY3XOYOLX7WN5RAVCNFSM6AAAAAA6CGHEUCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRVGI3DMNJTHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

As @laurentsimon is alluding to, I think our main concern would be how caching affects the build and if the cache could be poisoned from the user's job. I assume the cache is for the whole repo and is reused across jobs? I kind of feel like reusable workflows should be operating from their own cache but could be wrong.
@bobcallaway What is the impact to you and rekor? Does not using cache greatly affect your build times?
It's also worth noting we have this same issue for other builders like the Node.js builder.

If you’re using setup-go, caching is on by default in v4+; if you don’t
want that, you should disable it IMO. I think we should talk to GitHub
about the scope of caches (org vs project vs workflow) to design it
properly.
Given that rekor will need to generate 13 variants of two binaries, caching
go modules seems like a meaningful optimization.
On Mon, Oct 16, 2023 at 7:18 PM Ian Lewis @.***> wrote:

As @laurentsimon https://github.com/laurentsimon is alluding to, I
think our main concern would be how caching affects the build and if the
cache could be poisoned from the user's job. I assume the cache is for the
whole repo and is reused across jobs? I kind of feel like reusable
workflows should be operating from their own cache but could be wrong.
@bobcallaway https://github.com/bobcallaway What is the impact to you
and rekor? Does not using cache greatly affect your build times?
It's also worth noting we have this same issue for other builders like the
Node.js builder.
—
Reply to this email directly, view it on GitHub
https://github.com/slsa-framework/slsa-github-generator/pull/2864#issuecomment-1765413452,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAVWTJIERPG4O6HA4XTL4XDX7W6EVAVCNFSM6AAAAAA6CGHEUCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRVGQYTGNBVGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

So maybe that's an option we can enable in the workflow to let teams opt-in, like we do for go-version and go-version-file?

I think we should talk to GitHub
about the scope of caches (org vs project vs workflow) to design it
properly.

+1


Add Id to navigator red frame  , and fadeout on load

Hi  , starting to work with the navigator
2 issues:
1 - How do I add an id to the navigator to make the red frame more bolder? because its not clear enough
2- using      navigatorAutoFade:  true,
is there simple way that the fade will be on load . and only if the mouse on the canvas  the auto fade will start as now ?
thanks

For number 1 you can change the border styling with CSS:
.openseadragon .displayregion {
  border: 4px solid #900 !important;
}

...or you can do it with JavaScript like so:
viewer.navigator.displayRegion.style.border = '4px solid #900';

For number 2, you want the navigator to not be visible until the user mouses over the canvas? I don't think we have a feature like that, so you'd probably have to modify the OSD code to support it. That said, you might try this at startup:
viewer.navigator.setOpacity(0);


Non-Authenticated API access

Hi!
API Endpoint or Feature
We have the Guest account, and it can be enabled to create and use API. It'll be good to have an ability to use the API without authentication.
Use-Case
Some programs (like Hugo static site generator) don't have an ability to use authentication headers, so they can't use the API.
Thanks.

Hi @commagray,
I saw Hugo added header support for requests:
https://gohugo.io/news/0.84.0-relnotes/#http-headers-in-getjsongetcsv
Otherwise, Do you still have a use-case for the requested feature here?

Since there's been no follow-up and no evidence of existing requirement/need for this I'll close this off.


runtime error 4040 - clour provider was temrinated unexpectedly.

Occasionally when executing element access methods via a webdriver object, I get this error message:

I have not found out the specific situaitons but I can overcome the problem with sufficient wait time included.
To me it looks like there is some internal wait missing?

Ha, tried something: switched to the xls VBA Add in. Same place - same error code - different error message:

This message seems much more logical also keeping in mind that I can overcoem the error with a wait.

Yeah the twinBASIC is still in beta and has historically had some issues with error reporting - I will check the details out and get back to you.
On the actual error - are you using a non-zero ImplicitMaxWait?

For impilicitmaxwait I use standard setting from the ini-file - no own value set

It defaults to 0 (Selenium WebDriver default). Try something longer like driver.ImplicitMaxWait = 1000.

Ah, I guess that is an possibility I did not consider sufficiently in the past. Thanks!

Yeah twinBASIC is still in beta and has historically had some issues with error reporting - I will check the details out and get back to you.

Thanks again. This might be the reason and I thinkt there are really issues. :-)
I think the example above is not the only one.  Several error messages with the DLL are ... quite surprising meaning wrong.

I made a tB issue report for this - we will just have to be patient...


Default Properties to Koala

What

added event attributes and sending default properties with each event to koala.

I'll hold off on the other stuff and only add the fabric custom event that way our work won't mix 👍🏾


expose input_shape and add config tests

[x] expose input_shape as a command line argument
[x] add tests to check that arguments are correctly passed to models
[ ] add verification that input_shape is reasonable

Closes #9, #27

Hi @KristinaUlicna - this branch add support for different input shapes, take a look and see if it works for you!


Two small typos

Two small typos fixed

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


Currency mask input

Hello there, thanks for this great project!
I was wondering if you're planning to implement a mask for currency prices?
Thanks for your help!

@jdnichollsc Hi! You can create a mask generator function that do that, like:
export const getCurrencyMaskGenerator = ({
	prefix = '',
	thousandSeparator = '',
	centsSeparator = '',
}: {
	prefix?: string;
	thousandSeparator?: string;
	centsSeparator?: string;
}): MaskGenerator => {
	const getRawValue = (value: string): string => {
		const valNoPrefix = value?.startsWith(prefix)
			? value?.substring(prefix.length)
			: value;

		const valNoCents = centsSeparator
			? valNoPrefix?.replaceAll(centsSeparator, '')
			: valNoPrefix;

		const valDigits = thousandSeparator
			? valNoCents?.replaceAll(thousandSeparator, '')
			: valNoCents;

		return valDigits ?? '';
	};

	return {
		rules: DEFAULT_MASK_RULES,
		generateMask: (value) => {
			const rawVal = getRawValue(value);
			const len = rawVal.length;
			const lenCents = centsSeparator ? 2 : 0;
			const lenNoCents = Math.max(len - lenCents, 0);

			const mask =
				prefix +
				'9'.repeat(lenNoCents % 3) +
				(lenNoCents % 3 > 0 && lenNoCents >= 3 ? thousandSeparator : '') +
				(lenNoCents >= 3
					? Array(Math.trunc(lenNoCents / 3))
							.fill('999')
							.join(thousandSeparator)
					: '') +
				centsSeparator +
				'9'.repeat(lenCents);

			return mask;
		},
		transform: (value) => {
			const valDigits = getRawValue(value);
			const rawVal = valDigits?.replace(/^0+/, '');
			const len = rawVal.length;
			const prefixToUse = value?.startsWith(prefix) ? prefix : '';

			if (centsSeparator && len < 3) {
				return (
					prefixToUse + '0' + centsSeparator + '0'.repeat(2 - len) + rawVal
				);
			} else if (valDigits?.length !== rawVal?.length) {
				const initial: {
					current: string;
					parts: string[];
				} = { current: '', parts: [] };

				const { parts: thousandsParts } = rawVal
					.substring(0, len - 2)
					.split('')
					.reverse()
					.reduce(({ current, parts }, char, idx, arr) => {
						const newCurrent = char + current;

						if (idx === arr?.length - 1 || (idx + 1) % 3 === 0) {
							return {
								current: '',
								parts: [newCurrent, ...parts],
							};
						}

						return {
							current: newCurrent,
							parts,
						};
					}, initial);

				const valNoCents = thousandsParts.join(thousandSeparator);

				const newValue =
					prefixToUse + valNoCents + centsSeparator + rawVal.substring(len - 2);

				return newValue;
			}

			return value;
		},
	};
};

There were some issues in specific cases in the caret position, when you delete some chars, or add in the middle.
I fixed those issues and released a new version (1.1.12). I also took the opportunity to add the function above as an utility and you can import it from the package, instead of duplicating it.
You can use it as:
import { MaskedInput, getCurrencyMaskGenerator } from 'react-hook-mask';

const maskGenerator = getCurrencyMaskGenerator({
	prefix: 'US$ ',
	thousandSeparator: ' ',
	centsSeparator: '.',
});

const CurrencyMask = () => {
	const [value, setValue] = React.useState('');

	return (

			<MaskedInput
				type="tel"
				maskGenerator={maskGenerator}
				value={value}
				onChange={setValue}
			/>

				{'Value (no mask): '}
				{value}

	);
};

You can define different currencies (like 'US$ ', 'RS$ ', '€ '), using the prefix, or leave it empty/undefined, if you want only the numeric value.
You can use different separators for thousands, like ' ', '.', or leave it empty/undefined, if you don't want separators.
You can use different symbols for the cents (decimal) separators, like '.', ',', or leave it empty/undefined, if the currency has no cents (like yen and won).
In the example above, for an input of 123456789, you would see US$ 1 234 567.89 in the input.
I haven't added how to use it yet in the README because I didn't do extensive tests with it, but from what I saw, it should work fine. You can give a feedback here if it worked for you.
You can see the released version at https://www.npmjs.com/package/react-hook-mask?activeTab=versions
I will close this issue, but if you find an issue you can reply here or open a new one.

@lucasbasquerotto Hello mate, thanks for your amazing support!
I'm creating a custom hook but I'm testing some issues with the cursor while user is typing before the decimals:
import { useCallback } from 'react';
import type { MaskGenerator } from 'react-hook-mask';
import { useRefMask, DEFAULT_MASK_RULES } from 'react-hook-mask';

import { getCurrencyMaskGenerator } from './utils/mask.util';

const dateMaskGenerator: MaskGenerator = {
  rules: DEFAULT_MASK_RULES,
  generateMask: () => '99/99/9999',
};

export type InputType = 'currency';

export const getMaskGenerator = (type: InputType): MaskGenerator => {
  switch (type) {
    case 'currency':
      return getCurrencyMaskGenerator({
        prefix: '$ ',
        thousandSeparator: ',',
        centsSeparator: '.',
      });
    default:
      return null;
  }
}

export interface UseMaskedInputProps {
  type: InputType;
  ref?: React.ForwardedRef<HTMLInputElement>;
}

export const useMaskedInput = ({ type, ref: outerRef }: UseMaskedInputProps) => {
  const getCursorPosition = useCallback(
    (el: HTMLInputElement | undefined) => {
	const cursorPosition = el?.selectionStart ?? 0;
    console.log('GET CURSOR POSITION', cursorPosition)
	return cursorPosition;
    },
    [],
  );

  const setCursorPosition = useCallback(
  (cursorPosition: number, el: HTMLInputElement | undefined) => {
      console.log('SET CURSOR POSITION', cursorPosition)
      if (el) {
        el.selectionStart = cursorPosition;
        el.selectionEnd = cursorPosition;
      }
    },
    [],
  );

  const onChange = (data) => {
    console.log('On change', data)
  };

  const { displayValue, ref, setDisplayValue } = useRefMask({
    maskGenerator: getMaskGenerator(type),
    getCursorPosition,
    setCursorPosition,
    onChange,
    keepMask: true,
    ref: outerRef,
  });

  return { value: displayValue, onChange: setDisplayValue, ref };
}

I'm still testing if I need to change the logic from setCursorPosition, thanks for your help!

Oh I was trying to pass the value prop to the useRefMask hook and I got thousands of warnings from console, e.g:
react-dom.development.js:86 Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.

what do you think? :thinking:

There were some issues in specific cases in the caret position, when you delete some chars, or add in the middle.

Please try typing the number 1234567.00 and let me know if that works for you <3

Hi, @jdnichollsc
Icouldn't simulate the error Maximum update depth exceeded, but if I have to guess, it might be because the mask generator is created again in every render. I advise to memoise it:
// in the hook
const maskGenerator = React.useMemo(() => getMaskGenerator(type), [type]);

Then I used it as
const CurrencyMaskedInputTest = () => {
	const { value, onChange, ref } = useMaskedInput({ type: 'currency' });

	return (

			<input
				ref={ref}
				value={value}
				onChange={(e) => onChange(e?.target?.value)}
			/>

Value:

{value}

	);
};

Regarding the issue of the cursor position, I was able to simulate typing 1234567.00, starting at the left of the cents separator.
I will see if the fix won't take much time, otherwise it could take a bit longer for me to fix and release a new version. I will take a look tough.

@lucasbasquerotto hey mate, I tried updating the below configuration :
const setCursorPosition = useCallback(
  (cursorPosition: number, el: HTMLInputElement | undefined) => {
    if (el) {
      if (type === 'currency') {
        const decimalPos = el.value.indexOf('.');
        if (cursorPosition < decimalPos) {
          el.setSelectionRange(decimalPos, decimalPos);
          return;
        }
      }
      el.selectionStart = cursorPosition;
      el.selectionEnd = cursorPosition;
    }
  },
  [type],
);

const maskGenerator = useMemo(() => getMaskGenerator(type), [type]);

const formattedValue = useMemo(() => {
  if (type === 'currency' && typeof value === 'number') {
    return USDFormatter.format(value);
  } else if (type === 'date' && isDate(value)) {
    return DateFormatter.format(value);
  }
  return value + '';
} , [type, value]);

const { displayValue, ref, setDisplayValue } = useRefMask({
  value: formattedValue,
  maskGenerator,
  getCursorPosition,
  setCursorPosition,
  onChange,
  keepMask: true,
  ref: outerRef,
});

But I'm still getting a lot of logs and a wrong behavior while deleting numbers, please try my implementation here https://stackblitz.com/edit/react-ts-mdrwdn?file=App.tsx,useMaskedInput.ts,index.tsx
Let me know how can I help!

@jdnichollsc I strongly advise to not format the value that will be passed to the hook, because the value will be formatted already, and a double formatting could cause issues, like losing part of the value, as you can see in the stackblitz, or possibly infinite loops that could cause Maximum update depth exceeded errors (for example, if after this package changed the value, and is expecting this value, you format that value and pass it, and this package may end up formatting again, which could cause a loop if the chain of formats does not converge in a specific value).
In the code above, couldn't you use:
const formattedValue = useMemo(() => {
    return value ? ('' + value) : '';
}, [value]);

?

@jdnichollsc I released a new version (1.1.15) with a fix regarding the cursor position.
You can see a currency mask component demo at https://lucasbasquerotto.github.io/react-masked-input


Example for typescript version of react-query custom fetcher.

I spend quite some time figuring out the custom fetcher for react-query.
Docs
https://graphql-code-generator.com/docs/plugins/typescript-react-query#using-custom-fetcher
type MyFetcher<TData, TVariables> = (operation: string, variables?: TVariables): (() => Promise<TData>)

If it save somebody else the trouble, here's an example
export const fetchData = <TData, TVariables>(query: string, variables?: TVariables): (() => Promise<TData>) => {
  return async () => {
    const res = await fetch('https://graphql.organiced.app/v1/graphql', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        query,
        variables,
      }),
    });

    const json = await res.json();

    if (json.errors) {
      const { message } = json.errors[0] || 'Error..';
      throw new Error(message);
    }

    return json.data;
  };
};

I've added a PR which adds the example to the docs.
https://github.com/dotansimha/graphql-code-generator/pull/5249

Thanks @mthines , keeping open until we'll add this to the docs.

Thanks @mthines , it should be live now :)


Account API deletion behaviour mismatch

Some candidates reported in their implementations for the interview that delete account returns 204 when using an id that doesn't exist, when according to documentation it should return 404

closing as duplicate

closing as duplicate


Return type ignored

/**
 * SSH to server.
 *
 * @param   string      $url
 * @param   int|void    $port
 * @return  int
 */
function ssh($url, $port = 2222)
{
    return "something";
}

ssh("http://url.net"); // not using return value
$ret = ssh("http://url.net"); // using return value

If I call the above function without using the return value nothing happens, but it throws a fatal error if I did!
Can you please explain to me this behavior?
Note: I tested the snippet on PHP7 and I got the same thing.

I found the answer on the doc.
Thanks :)

Np! Also happy to hear this extension works in PHP7 - I hadn't tested that. Super cool!


Make our GitHub homepage a better appetizer

The current https://github.com/javaslang/javaslang homepage is quite dry, newcomers won't be sold instantly by the idea - every link clicked halves the audience.
The best examples from the tests and http://www.javaslang.io/javaslang-docs should be included in the home page (also see https://github.com/functionaljava/functionaljava and https://github.com/slamdata/matryoshka for good examples) in a short but concise manner (maybe even comparing it to Java and stating it publicly that we're following Scala) ... maybe even include some benchmarks and everything that would address the concerns of most people.
Also, the project's description needs to be compacted as well (i.e. object-oriented programming with the elegance and ro… http://javaslang.io)

I thought the same several times. We will give the page a fresh look and release it together with 2.1.0. I will make it available under a different url before in order to get some feedback.

@danieldietrich keep in mind that if you need some consultations about the graphical side of things, Filip will be there to help :)

@pivovarit thank you, I will contact him!

See also #1163


Feature/introduce menu screen

Closes #212.
Added MenuScreen that responsible for view of the list of menu items. Most of functionality of LcdMenu moved to MenuScreen. As each menu screen holds cursor and view pointers there is no problem with multiple back action.
The number of field optimized compared to previous version of menu.

As a side effect now you can check what screen is currently active and perform action only if it's your screen.
In example RTOS.ino menu is redrawn only if temperature screen is active, if not, it just updates values.
Looks like master version always redraw menu even if you are on main menu.

@ShishkinDmitriy Nicely done 💪
There's a lot of documentation with migration guides to be done, so the release date might even be next year. The changes so far are enormous 😀 (in a good way ❤)


fix:do not show promo text while promo is null

If promo is null, as there is no possibility to edit it, there is no point in showing it on edit user page
Close #272
Editing user while Promo is null :

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (bedd4da) 56.63% compared to head (19f5154) 56.63%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #273   +/-   ##
=======================================
  Coverage   56.63%   56.63%
=======================================
  Files         160      160
  Lines        3494     3494
=======================================
  Hits         1979     1979
  Misses       1515     1515

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feat: add proxy support to the CLI

This feature is expected to allow the CLI and SDK to work in environments where proxy is enabled.
The standalone node-fetch library does not support proxies, so I have added an external library proxy-agent.
Without proxy support, errors may occur at the following locations during initiation.
The addition of the feature fixes this bug.
// /packages/cli/src/utils/addDependencies.ts
const response = await fetch(`https://registry.npmjs.org/${packageName}`);

I removed the SDK changes and made the changes to the CLI only.
Please check back when you have time.


On SCTP_NOTIFY_ASSOC_DOWN, the receive callback (recv_callback) gets called with zero information

How to reproduce:

Server creates the socket with a receive callback, and event types SCTP_REMOTE_ERROR, SCTP_SHUTDOWN_EVENT, SCTP_PARTIAL_DELIVERY_EVENT,  SCTP_SENDER_DRY_EVENT.
Server binds, waits for data.
Client sends a message, disconnects.
Server's receive callback is called.

Observed:
In the call to the receive callback, the data is NULL (and therefore any info about the notification), and the address is memset to all 0s.
Expected:
The receive callback gets usable data that it can act upon, like notification data and peer address.
Notes:

The calling line is here: sctputil.c.

Does the server get the message sent by the client before the receive callback with NULL fires? I'm expecting to see a NULL as the last thing happening (like a recv() would return 0).

Yes, the message is fully received, no problems there. If this is expected behavior, I can certainly handle it, but I wasn't sure if the code I was looking at does what it does intentionally.

You need an indication that you will not receive anything further. In the socket API, the recv() call returns 0. We model this by also providing 0 in the length and the NULL pointer for the data. That is expected and allows you to do cleanup if needed.

Thanks for the info. Will close because works as designed.


[HOLD for payment 2023-04-07] Update Style Guide WRT React Hooks usage

Task

Our style guide needs to be updated so that we can start using React hooks and deprecate class components. There are a lot of references to class components in general.
We also need to include the eslint plugin related to React hooks so that it will warn us when they are used incorrectly ("rules of hooks") or with missing dependencies ("exhaustive deps").

No C+ payment on this one

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.2.92-2 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/16323

If no regressions arise, payment will be issued on 2023-04-07. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

There is no payment needed here.


Create Template Overloading in C++

please consider my code for HackOctober fest 2022

Great work 👍
Please give this repo a star and follow me for follow back 😊


Missing Declaration File

When using the 'react-tabs-scrollable' npm package in my next 13 project, I encountered the following TypeScript error:
Error TS7016 - Missing Declaration File: TypeScript couldn't find a declaration file for 'react-tabs-scrollable.' It implicitly assigned it the 'any' type. Types are available at 'c:/Users/{user_folder}/{project_folder}/node_modules/react-tabs-scrollable/dist/index.d.ts,' but TypeScript couldn't resolve them according to the package.json "exports."
Additional Information:
Package Version: 2.0.6
TypeScript Version: 5.2.2
Next.js Version: 13.5.4
Node.js Version: 18.16.1
Operating System: win10
We may need an update to 'react-tabs-scrollable' package.json or typings to resolve these TypeScript issues.

Hello, this needs invastigation on my side.
I will see if i can patch an update soon!

Can you please fix this issue? It will be nice to have it typescript compatible.

I've published a new patch fixing this issue.


Support --target argument in cargo rustdoc

We don't support --target in cargo rustdoc. Seems like an omission to me? We support it in cargo rustc. Discovered in https://github.com/rust-lang/cargo/pull/5543#issuecomment-392525154.

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+

:pushpin: Commit a118cdb has been approved by alexcrichton

:hourglass: Testing commit a118cdb1edfed9f7dbefa59900d82a175ec6b77f with merge c51ed7b9f3595e6f9e742c778830ef279314443c...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing c51ed7b9f3595e6f9e742c778830ef279314443c to master...


How to setInputType(NCHW) for KerasModel?

Issue Description
We are using Kera model in Apache Tika as
KerasModelBuilder builder = new KerasModel().modelBuilder()
             .modelHdf5Filename(modelWeightsPath)
            .enforceTrainingConfig(false);
builder.inputShape(new int[]{imgHeight, imgWidth, 3});
KerasModel model = builder.buildModel();

The model weights are here: https://github.com/USCDataScience/tika-dockers/releases/download/v0.2/inception_v3_keras_2.h5
It was working fine earlier but after the recent upgrade to 1.0.0-beta7, we get an error.
(extracted from debugger on Pycharm)
org.deeplearning4j.exception.DL4JInvalidInputException:   Cannot do forward pass in Convolution layer (layer name = conv2d_1, layer index = 1):   input array channels does not match CNN layer configuration (data format = NHWC, data input channels = 299, [minibatch, height, width, channels]=[1, 3, 299, 299];    expected input channels = 3) (layer name: conv2d_1, layer index: 1, layer type: ConvolutionLayer)   Note: Convolution layers can be configured for either NCHW (channels first) or NHWC (channels last) format for input images and activations.   Layers can be configured using .dataFormat(CNN2DFormat.NCHW/NHWC) when constructing the layer, or for the entire net using .setInputType(InputType.convolutional(height,  width, depth, CNN2DForman.NCHW/NHWC)). ImageRecordReader and NativeImageLoader can also be configured to load image data in either NCHW or NHWC format which must match the network
Could you please help us fix this error?
There should be some way to explicitly set
.setInputType(InputType.convolutional(... CNN2DForman.NCHW));
But we are unable to find it or get it work.
Version Information
Please indicate relevant versions, including, if relevant:

Deeplearning4j version: 1.0.0-beta7
Platform information : OSX 10.15.5
CUDA version, N/A
NVIDIA driver version, N/A

Additional Information
Where applicable, please also provide:

Full log or exception stack trace: See this Jira issue
pom.xml file or similar: https://github.com/apache/tika/blob/233a72d45de515a7ecb5988802559690cd91f57a/tika-dl/pom.xml

There should be some way to explicitly set
.setInputType(InputType.convolutional(... CNN2DForman.NCHW));

Originally we we supported only NCHW and tried to convert Keras models to that format. However, it resulted in many edge cases and layers upon layers of workarounds.
For this reason we have decided to cut the workarounds, and instead import models the way the are originally defined.
But this in turn means that you can not configure how the model is supposed to be imported.
There are two things you can do here:

Convert the Keras Model to a DL4J Model in beta6.  If you say that you were fine with the way things worked in prior versions, you can convert the model file to a DL4J model in beta6 and then just load it in beta7. Converting a Keras model to a DL4J model is as simple as importing that model and then saving it.
Update the way you are preparing the input.  The recommended way of handling this situation is to update the way you are loading your input such that it conforms to what the model expects.  If using an ImageRecordReader it can be configured to do that for you, if not, you can do what it does yourself: array = array.permute(0,2,3,1);  (see:
https://github.com/eclipse/deeplearning4j/blob/master/datavec/datavec-data/datavec-data-image/src/main/java/org/datavec/image/recordreader/BaseImageRecordReader.java#L249-L251)

It appears something like the second option was tried in that Jira thread, but as there aren't many details about what exactly the problem was there, it is hard to give you anything more than this answer.

@thammegowda  I'm doing a pass on import issues and wanted to double check on this. Did your team find a work around?

@treo thanks for the suggestions.
@agibsonccc  thanks for checking this again. we haven't found a workaround.
As suggested above, (1) Conversion of the model using beta6, then upgrading to beta7 is just too much work for Apache Tika end (hosting new model weights, updating the URLs, etc; I am not actively work on Tika or DL4J).
and (2), I had already tried transposing the input from NCHW -> NHWC, but the JVM crashed with some unintelligible and low-level error

@thammegowda  thanks. I'm trying to address this now. Let me look at the test cases and see what I can do.

Should be fixed now with snapshots. Look for this in the next release.


Co-register in-vivo and phantom B1+ and SNR maps for visualisation purposes

Both phantom and in-vivo B1+ and SNR maps would be easier to compare visually if they were co-registered. In the figure below we see an example of in-vivo SNR maps that are not co-registered, making visual comparison across subjects less elegant.

Here are the co-registration results for the phantom data (see https://github.com/spinal-cord-7t/coil-qc-code/commit/1b86cedf28392e02fb10a1b31a4393aafc8a52d8):
co-registered TFL vs not co-registered

co-registered DREAM vs not co-registered

co-registered SNR vs. not co-registered

Before I invest time in coregistering the spinal cord ROI that was created in the TFL to the DREAM and SNR scans and computing average signals in that ROI instead of a straight line, I'd like for us to approve/agree on this strategy.
@jcohenadad Do you like the co-registered visualization better than the non-coregistered? I myself am not convinced. I don't like the dead space around the coregistered images.

I also don't like the dead space around the coreg images. I suggest cropping to a space that is visible across all scans. Which also makes sense because the purpose of these figures is to compare across acquisitions (and if one site shows regions that are not covered by another site, it defeats the purpose of the comparison)

Of course, why didn't I think of that!

Progress report:
Co-registered phantom visualization is now looking good. I've decided to use the phantom "spinal cord" mask to measure B1+ and SNR signals and plot them alongside the tiled images (as opposed to plotting signal along a vertical line like before). As you can see in the image below, the tiled images now have the spinal cord ROI superimposed.
Problem: for some reason the TFL spinal cord mask does not show up. @jcohenadad do you mind helping me debug this? See https://github.com/spinal-cord-7t/coil-qc-code/commit/090d99f705d66e634016c1247e9c5e0d5627e011

Progress report:
Co-registered phantom visualization is now looking good. I've decided to use the phantom "spinal cord" mask to measure B1+ and SNR signals and plot them alongside the tiled images (as opposed to plotting signal along a vertical line like before). As you can see in the image below, the tiled images now have the spinal cord ROI superimposed.
Problem: for some reason the TFL spinal cord mask does not show up. @jcohenadad do you mind helping me debug this? See 090d99f

mask display issue fixed here: https://github.com/spinal-cord-7t/coil-qc-code/commit/c663840592f42fcfb2185f79c1fe8a147fa4ed59

Progress report:
Here are the co-registered in-vivo maps:

It may not look like it from these cropped images, but the co-registration is pretty bad. I'm using the following:
sct_register_multimodal -i sub-{site}{subject_id}_{file_name}.nii.gz -iseg sub-{site}{subject_id}_{file_name}_seg.nii.gz -d ../../sub-{site_ref}{subject_id}/fmap/sub-{site_ref}{subject_id}_{file_name}.nii.gz -dseg ../../sub-{site_ref}{subject_id}/fmap/sub-{site_ref}{subject_id}_{file_name}_seg.nii.gz -param step=1,type=seg,algo=centermassrot,metric=MeanSquares
I have a spinal cord segmentation mask for each image type (TFL B1+ map, DREAM B1+ map, and SNR map) that is generated elsewhere in the code. Using that segmentation, I applied the parameter options that seemed to be recommended in sct_register_multimodal -h for this type of use case. @jcohenadad are there different options that you think would work better?
Latest commit:https://github.com/spinal-cord-7t/coil-qc-code/commit/f3287f9b9fe35c6443b8d0192e4e15d53d1f1c46

It may not look like it from these cropped images, but the co-registration is pretty bad.

Yes, I can see that from the vertebral levels.
In this case I would recommend to use a label-based registration using the disc labels (automatically generated). I can help with that.


Update black with click dependencies

Signed-off-by: Petr "Stone" Hracek<EMAIL_ADDRESS>

[test]

[test]

[test]

[test]

The Sanity tests are passing. This does not affect tests. Merging it.


✨[Feature] Add JSDoc for all JS files

Is your feature request related to a problem? Please describe.
JSDoc is a markup language used to annotate JavaScript source code files. It has become a standard for code documentation and used widely in the industry.
Describe the solution you would like
Add JSDoc at the beginning of each file.
You may use this site as a doc for JSDoc ->
https://jsdoc.app/about-getting-started.html

This should be easy if we use it only as file overviews.

We'll also add JSDOc for all module functions. Any function that is not a module should be excluded. A sample JSDoc for a module will look like -
/**
 * Assign the project to an employee.
 * @param {Object} employee - The employee who is responsible for the project.
 * @param {string} employee.name - The name of the employee.
 * @param {string} employee.department - The employee's department.
 * @param {number} priority - A positive number representing the priority
 */
function assign(employee, priority) {
    // ...
};


parrot 4th ability

Hello, So i want to report that i've gotten zombie slayer lvl 9 and collected all rewards and on the site im staying with zombie slayer lvl 7 and 1mil xp. I will appreciate if it's possible to get fixed. I will provide some media.  my ign : Dinip12

@4atom0 that should be fixed in #338


Baker/Cashier tax

Employee that works as a baker and cashier's tax is been deducted twice

### [Patch 003]
Edited tax_cal.py
Fixed spelling mistake in gen_payslips.py


Azure SignalR autoscale

Is your feature request related to a problem? Please describe.
I am trying to identify a solution for Azure SignalR auto-scaling
Describe the solution you'd like
SignalR service currently only supports 1000 concurrent connections per service instance per unit. If the number of concurrent SignalR connections exceed 1000, the service instances unit will have to be increased manually, and reduced manually as the users decrease.
Looking for the suitable solution to auto-scale (scale up and scale down) the SignalR service instances based on the demand.
Please give suggestions or ideas about this. Thanks.

Here is a guidance about how to scale an Azure SignalR Service instance. Is this what you need?

I am looking for auto-scale up and down based on the user connections.

Currently, scale-in/out will cause client connections drop, so we won't give auto-scale.
But we are working on smooth scale in/out, when it done, we will provide auto-scale.

Currently, scale-in/out will cause client connections drop, so we won't give auto-scale.
But we are working on smooth scale in/out, when it done, we will provide auto-scale.

Ok

We are also very interested in auto-scaling Azure SigR and understand the issue you face.  With that said, is it actively being worked on and/or on any sort of roadmap?

We are also very interested in auto-scaling Azure SigR and understand the issue you face.  With that said, is it actively being worked on and/or on any sort of roadmap?

@mmulhearn @shankarmohannamakkal We've already worked on it and overcome some critical issues. I can't give the ETA of auto-scaling but we can provide a smoother (no connection drops) scaling experience first.

@zackliu when is that expected to release?

If you want to try the new scaling experience, please create new resources in EastUS or WestUS2 and have a try. It's still in preview in limited regions and haven't been announced.
In the new scaling experience, the scaling is very fast even from unit 1 -> 100. Connections won't drop immediately during scaling. We can guarantee that we won't drop connections when you're in high server load. So if your service is reaching limit and scale up, the experience should be better. But if you're in very low server load, you may meet connection drops. The experience may change in future. We will try our best to avoid any connection drops.
Welcome any feedbacks on the new scaling experience.

@zackliu Tried creating a new SignalR resource in EastUS. Is there an option for switch on the auto-scaling or by default this auto-scale will work?

@shankarmohannamakkal No, there's no auto scaling now. What we have currently is a new scaling experience, which is smoother and faster. The auto scaling must base on a smoother scaling experience. Thus, we're testing the new scaling experience and add auto scaling feature once it's mature.

Any updates on this?  How is the preview going? any plans for GA?

@hora7ce It's internal testing. We're integrating with Azure Autoscale and you can have a consistent autoscale experience among Azure. For the public preview date, I will keep updating here once I can give that.

By the way, for the new scaling experience I mentioned before, we've enabled in all regions. For all the newly created resource, scaling is seamless. Which means no connection drop during scaling.

By the way, for the new scaling experience I mentioned before, we've enabled in all regions. For all the newly created resource, scaling is seamless. Which means no connection drop during scaling.

Is re-creating our existing SignalR service the only way to get the smoother experience? If so we will need to plan a maintenance window for that. An upgrade script would be a better solution. Any idea on that?

@hora7ce It's internal testing. We're integrating with Azure Autoscale and you can have a consistent autoscale experience among Azure. For the public preview date, I will keep updating here once I can give that.

@hora7ce any updates on this? When is this expected to be in private or public preview?

Q1 2022 is the estimated time for public preview.

Hi, I wrote this solution https://dev.to/wilsonyesidriveracasas/auto-scaling-azure-signalr-units-4e94

@zackliu I just noticed this article about the auto scaling setting, which is great news! However it mentions it's only available on the "Premium" pricing tier that is currently in public preview, but I can't find anything in the portal about switching to that tier, I only still see "Free" and "Standard".
https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-howto-scale-autoscale
Was the doc released prematurely?

@MarcusU , The free tier is limited, but there is a way to configure autoscaling in standard tier. https://dev.to/wilsonyesidriveracasas/auto-scaling-azure-signalr-units-4e94

Premium tier is not public released yet. We're preparing for that. It's expected to be public in March.

Azure SignalR is supporting autoscale in Premium Tier.
Please refer to docs: https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-howto-scale-autoscale


[BUG] cursive with crossterm or termion backends redraws the screen every time

Describe the bug
With default ncurses backend, cursive applications feel smooth and does not blink in e.g. Alacritty.
But with other backends (crossterm and termion), it seems like it just redraws the entire screen each time something is updated.
Also in scenario where ncurses backend write only 11 KB to the tty, but with the pure-Rust backends I see 174 KB of data. This may become problematic if TUI applications are accessed over SSH with bad network.
To Reproduce

Build some cursive application with multiple backends.

Example application
```
extern  crate cursive_table_view;
use std::cmp::Ordering;
use cursive::{
align::HAlign,
traits::{Nameable, Resizable},
views::{TextView, LinearLayout, TextArea},
Cursive, With,
};
use cursive_table_view::{TableView, TableViewItem};
#[derive(Copy, Clone, PartialEq, Eq, Hash)]
enum MyColumn {
Name,
Count,
Rate,
}
#[derive(Clone, Debug)]
struct Foo {
name: String,
count: usize,
rate: usize,
}
impl TableViewItem for Foo {
fn to_column(&self, column: MyColumn) -> String {
match column {
MyColumn::Name => self.name.to_string(),
MyColumn::Count => format!("{}", self.count),
MyColumn::Rate => format!("{}", self.rate),
}
}
fn cmp(&self, other: &Self, column: MyColumn) -> Ordering
where
    Self: Sized,
{
    match column {
        MyColumn::Name => self.name.cmp(&other.name),
        MyColumn::Count => self.count.cmp(&other.count),
        MyColumn::Rate => self.rate.cmp(&other.rate),
    }
}

}
fn main() {
let mut siv = cursive::default();
// Configure the actual table
let table = TableView::<Foo, MyColumn>::new()
    .column(MyColumn::Name, "Name", |c| c.width(20))
    .column(MyColumn::Count, "Count", |c| c.align(HAlign::Center))
    .column(MyColumn::Rate, "Rate", |c| {
        c.ordering(Ordering::Greater).align(HAlign::Right).width(20)
    })
    .default_column(MyColumn::Name)
    .with(|table| {
        table.insert_item(Foo {
            count: 3,
            name: "QQQ".to_owned(),
            rate: 4,
        });
        table.insert_item(Foo {
            count: 2,
            name: "WWW".to_owned(),
            rate: 40,
        });
        table.insert_item(Foo {
            count: 0,
            name: "EEE".to_owned(),
            rate: 0,
        });
    })
    .on_submit(|siv: &mut Cursive, _row: usize, index: usize| {
        siv.call_on_name("q", |t: &mut TableView<Foo, MyColumn>| {
            if let Some(i) = t.borrow_item_mut(index) {
                i.count += 1;
            }
        });
    });

let linear_layout = LinearLayout::vertical()
    .child(TextView::new("Top of the page"))
    .child(TextArea::new().fixed_height(8).full_width())
    .child(table.with_name("q").full_height().full_width());

siv.add_fullscreen_layer(linear_layout.full_screen());

siv.run();

}
</details>

2. Run those multiple versions on Linux (e.g. in Alacritty + tmux)
3. Compare how the feel

**Expected behavior**

Applications differ only by their filesize and dynamic dependencies, maybe some tricky feature support.

**Environment**
* Linux Debian, Xorg
* Backend used: ncurses, crossterm, termion
* Current locale: C.UTF-8
* Cursive version: 0.18.0

**Other notes**

If this cannot be fixed easily, then it should be documented in ["Backends" wiki article](https://github.com/gyscos/cursive/wiki/Backends).
This blinking and tty bandwidth usage may be overseen by deploying developer, who might think that by switching to crossterm/termion one just gains easy deployment without any apparent loss in functionality.

Hi - indeed, right now we re-draw the screen on any change or event.
ncurses includes some internal caching to only re-draw the changes, which the other backends don't do at the moment.
However, there exists a third-party backend wrapper that brings this feature: https://github.com/agavrilov/cursive_buffered_backend
Eventually I plan on bringing this in cursive itself, but for now this wrapper may help your performance issue.

@gyscos Would a PR to integrate this into the Termion Backend help?

The buffered backend would benefit both the termion and crossterm backends, and really could be integrated around the Printer level.
The Printer itself may benefit from a bit of re-structuring too (as discussed a bit in #652), so I might include some buffering like that when I get there.


PG_PROXY_URL not honored. Should be replaced with ELECTRIC_PROXY_URL

It looks like PG_PROXY_URL is not used at all. It looks like internally electric is actually expecting ELECTRIC_PROXY_URL
Were the docs just not updated or should it be set to Electric Proxy URL?

Hey, @jljorgenson18
Thanks for the report. Yes, this is a documentation error, the correct env var is ELECTRIC_PROXY_URL

Fixed in https://github.com/electric-sql/electric/pull/747.


Create a security checklist for deploying a cluster

While there are many checklists available, this could be a recommended checklist for ensuring security in Kubernetes clusters.
Potential checklist sections:
Cluster level

[ ] AuthN & AuthZ
[ ] Network security
[ ] Pod security
[ ] Secrets
[ ] Container & Image scanning
[ ] Enabling seccomp

Application/workload:

[ ] Ingress/Network config
[ ] RBAC

/sig security docs

Thanks Savitha! I think I would be glad to write the part about PodSecurity, I took a look at it recently (here) and found it very convenient to use! I could also try to handle the "Enabling seccomp" part also but don't want to take all the good stuff 😄!
I think we could discuss this at the next security documentation meeting, but for this checklist, do you envision something complete in and of itself or a short descriptions and references to the documentation?

I think we could discuss this at the next security documentation meeting, but for this checklist, do you envision something complete in and of itself or a short descriptions and references to the documentation?

Thanks @mtardy :) I am thinking that we will have a one liner and also a link to documentation if available. WDYT?

Yes I agree! I don't think it would be a good idea to repeat what is already well presented in the documentation, but a central page to refer to all the good security features of Kubernetes with a one liner to introduce them and why they are important would be great!

I'm happy to pick up Network Security and Secrets. Also, I agree on taking the approach of making this more summary based and linking to relevant detailed guides.

I can do the Container & Image scanning part. Also agreeing on the summary based approach.

What about confidential Kubernetes? I could link some interesting stuff to some open source projects, I was involved in.

What about confidential Kubernetes? I could link some interesting stuff to some open source projects, I was involved in.

@p4ck3t0 is confidential Kubernetes a part of the Kubernetes ecosystem or core concepts? We want to limit this checklist to that and avoid third party recommendations in order to keep it vendor neutral.

@p4ck3t0 is confidential Kubernetes a part of the Kubernetes ecosystem or core concepts? We want to limit this checklist to that and avoid third party recommendations in order to keep it vendor neutral.

No it's not a core concept, I will focus on Container & Image scanning.

No it's not a core concept, I will focus on Container & Image scanning.

@p4ck3t0 would you like to create a blog post for this topic? It sounds like a beneficial topic.

@p4ck3t0 would you like to create a blog post for confidential Kubernetes? It sounds like a beneficial topic.

@savitharaghunathan sure I want to write a short blog post about it. I just need to see if I could do both, Confidential Kubernetes blogpost and Container & Image scanning checklist.

Based of the conversation in Slack, also happy to pick up pod placement :)

Based of the conversation in Slack, also happy to pick up pod placement :)

Added a new task item and assigned it to you. Thanks, @Skybound1 :)

@Skybound1 - I'd love to pair on the Network Security section if you're up for it!

/remove-lifecycle rotten

@mtardy, https://github.com/kubernetes/website/pull/34873 added some sound advice - you might want to add that to the checklist too.

do you think we should make another warning directly on the checklist?

I'm fine either way. I'm not sure how you frame a common misunderstanding as a checklist item, but if there's a way then I'm all for it.

I noticed some security advice in https://github.com/kubernetes/website/pull/35511 and thought I'd mention it here.

We created a checklist.
/close
(folks can reopen if they don't agree this is resolved)

I like the idea of making another issue to track further improvements.

(folks can reopen if they don't agree this is resolved)

You are correct I should be more confident 😄


Add showInCalendar property

Adds showInCalendar property to tasks to make questionnaire app more general (and to remove hardcoded ESM check)

@mpgxvii can you also add this to the protocol specification?


Wireless DirectInput

Hello, I have an Android wireless gamepad that does not use a USB dongle, I only connected it with bluetooth, my computer recognizes all the buttons, however the program does not recognize the mapping of the Axes and Dpads

Hi, I am not sure why this can happen and I do not own a device like that.
I think the possible causes are:

The DirectInput wrapper, that I am using now (slimDX), was released in January 2012. It may be lacking of some features, that I need, so I am planning to move to a newer wrapper (SharpDX) released in May 2017.
It is not even a DirectInput device, and I should use Raw Input to get the data from it. Luckily the planned new wrapper supports Raw Input as well.

I am planning to make these changes soon.
If you know why your device is not working, please share it with me.

I do not know the reason for this error, but https://github.com/joao678/XOutput-XBCD that project recognizes all the buttons, including the d-pads and the axes, but the project seems to be abandoned

Thank you for your response, I will check that repository and try to find the cause.

This project may be abandoned, because the GUI changes are not that huge, and the only feature he was trying to do was not working (stated here). The only change he did was showing the emulated device, so a unusable duplicate will be shown in the device list.
Other than that change, his repository is based on the https://github.com/Stents-/XOutput, that has the same code as I do for discovering devices (SlimDX and same system calls). Could you try, if you can see your device with this https://github.com/Stents-/XOutput/releases/tag/v0.11?
Soon I will release a version with the more up to date discovery, I hope that will work for you.

Hi, recently I test my gamepad with this https://github.com/Stents-/XOutput/releases/tag/v0.11 project and my gamepad works too, I hope that your project add compability with my device soon, greetings and good luck 👍

I uploaded the 3.0 version now. There is an option to use all recognizable DirectInput devices (even mice or other devices). I hope that can solve your issue.

OMG THANKS! The 3.0 version recognize my DirectInput device, I can configure all my buttons, incluiding my d-pads and Axes, thank you very much!

I am glad that it works for you. You are welcome.


IDN_ORG_USER_INVITE_ASSIGNMENT_TRIG in oracle db script is incorrect

Describe the issue:
$subject in [1] should be corrected as IDN_ORG_USER_INVITE_ASSIGNMENT_SEQ.
[1] https://github.com/wso2/carbon-identity-framework/blob/e1b6a6c40d4f850340d3dc95d60dbff489358402/features/identity-core/org.wso2.carbon.identity.core.server.feature/resources/dbscripts/oracle.sql#L2030C24-L2030C54
How to reproduce:
N/A
Expected behavior:
N/A
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS 7.0.0
Database: Oracle

Already fixed with: https://github.com/wso2/carbon-identity-framework/pull/5600


Short solution needed: "How to get image size" (php-gd)

Please help us write most modern and shortest code solution for this issue:
How to get image size (technology: php-gd)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments explain solution.
Link to this issue in comments of pull request.

How to get image size


mount directory instead of file to detect file change

Issue:
https://github.com/istio/istio/issues/14853
Fix:
(by consulting k8s storage team)
if reference a file in the hostpath, that file itself gets bind mounted into the container,
so if you change the contents, you will see the update; when rm/recreate the file, you won't see it
in order to see file updates, you need to mount the parent directory and not the file directly

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: quanjielin
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
If they are not already assigned, you can assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@quanjielin: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
29133352e1045270d167870fd3c4107b596926ab
link
/test e2e-mixer-no_auth-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test e2e-mixer-no_auth-master

@quanjielin: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
29133352e1045270d167870fd3c4107b596926ab
link
/test e2e-mixer-no_auth-master

prow/integ-mixer-k8s-presubmit-tests.sh
29133352e1045270d167870fd3c4107b596926ab
link
/test integ-mixer-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@quanjielin: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
29133352e1045270d167870fd3c4107b596926ab
link
/test e2e-mixer-no_auth-master

prow/integ-mixer-k8s-presubmit-tests.sh
29133352e1045270d167870fd3c4107b596926ab
link
/test integ-mixer-k8s-presubmit-tests-master

prow/integ-pilot-k8s-presubmit-tests.sh
29133352e1045270d167870fd3c4107b596926ab
link
/test integ-pilot-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@quanjielin: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
29133352e1045270d167870fd3c4107b596926ab
link
/test e2e-mixer-no_auth-master

prow/integ-mixer-k8s-presubmit-tests.sh
29133352e1045270d167870fd3c4107b596926ab
link
/test integ-mixer-k8s-presubmit-tests-master

prow/integ-pilot-k8s-presubmit-tests.sh
29133352e1045270d167870fd3c4107b596926ab
link
/test integ-pilot-k8s-presubmit-tests-master

prow/istio-pilot-multicluster-e2e.sh
29133352e1045270d167870fd3c4107b596926ab
link
/test istio-pilot-multicluster-e2e-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Looks good to me. did you get a chance to test this manually?

yes, verified(after server restart, uds file is updated in sidecar container, and client/server flow continue to work).

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: howardjohn, quanjielin
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [howardjohn]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


adds option to add external information sources like model callbacks

Run this together with:

UI PR
Proxy PR
Gateway PR
Submodule PR

You can add a model callback using the Python SDK in this branch as follows:
from refinery import Client

user_name = "your-mail" # this is the email you log in with
password = "your-pw"
project_id = "your-clickbait-sample-project-id" # can be found in the URL of the web application

client = Client(user_name, password, project_id, uri="http://localhost:4455")

from sklearn.linear_model import LogisticRegression
clf = LogisticRegression()

from refinery.adapter.sklearn import build_classification_dataset
data = build_classification_dataset(client, "headline", "__clickbait", "distilbert-base-uncased", num_train=50)
clf.fit(data["train"]["inputs"], data["train"]["labels"])

from refinery.callbacks.sklearn import SklearnCallback
callback = SklearnCallback(
    client,
    clf,
    "clickbait",
)

callback.run(data["train"]["inputs"], data["train"]["index"])
callback.run(data["test"]["inputs"], data["test"]["index"])


Typo causes invalid manifest

current version renders:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    k8s-app: node-exporter
  name: node-exporter
  namespace: monitoring
spec:
  endpoints:
  - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    interval: 30s
    port: https
    relabelings:
    - action: replace
      regex: (.*)
      replacment: $1 # <--- should be 'replacement'

maybe here: https://github.com/coreos/kube-prometheus/commit/44dab893447ee73342932b22adb369cadb2c91dc#r35213716
and here: https://github.com/coreos/kube-prometheus/commit/aa7df507e98312f638c6a2aa7429906bc63949a6#r35213743
?

@pschulten good catch, you are welcome to do the fix as well if you want to? No worries if not, I will then take care of it. :) Thanks!

@LiliC thanks, could you please, I'm currently stressed out by 1000 other things...


Dm remind

[x] Completed PR - Has all features or fixes that it was meant to and isn't half done
[x] Follows the style guide - Style guide found here
[x] All changes have been tested

Added
Dm remind option

Could we do some of the other requested features for reminders? _r clear to clear all reminders, _r list to list all reminders. I don't think it's worth removing specific ones as someone shouldn't have many and it makes it more complex on both ends. Also can we add a mention to the initial "reminder set"

@WalshyDev are we currently storing user reminders within the program anywhere?

I don't think so... Flare2 OP

lol. so do you want me to make a system for that or wait till flare 2 for that and merge this now?

Err... I think they could still be cleared.

that would still require me storing unless i wanted to mess around with cassandra and that type of stuff

When the future tasks initially load, you can put them into a Set rather than just queueing them. That way you can access the object, also make sure to remove from the map when the time is up.

Do we want to store all future actions like that or just reminders?

We may as well store all, allows for future changes.

@WalshyDev while your here request a review from @binaryoverload please

@binaryoverload re-review.


Transaction validation rejects post-Blossom transactions

Version
zebrad main branch as of 2020-11-24.
Description
When I sync zebrad using checkpoint_sync = true, the TransactionVerifier fails almost immediately with the following errors:

InternalDowncastError("downcast to redjubjub::Error failed, original error: ScriptInvalid")
RedJubjub(InvalidSignature)
Ed25519(InvalidSignature)

Suspected Causes
The sighash function call hard-codes the Sapling network upgrade for each block:
                    let sighash = tx.sighash(
                        NetworkUpgrade::Sapling, // TODO: pass this in
                        HashType::ALL,           // TODO: check these
                        None,                    // TODO: check these
                    );

https://github.com/ZcashFoundation/zebra/blob/main/zebra-consensus/src/transaction.rs#L150
Transaction verifier creation hard-codes the Sapling network upgrade:
        let branch = NetworkUpgrade::Sapling.branch_id().unwrap();
        let script_verifier = script::Verifier::new(state_service.clone(), branch);
        let transaction_verifier = transaction::Verifier::new(script_verifier);

https://github.com/ZcashFoundation/zebra/blob/main/zebra-consensus/src/block.rs#L86
These hard-coded Sapling values mean that full block verification will fail past Sapling. (But the cached state tests will work, because they start at Sapling.)
I've checked for other hard-coded network upgrades across Zebra, and they all seem to be correct.
Suggested Solution
To fix these bugs, we need to call NetworkUpgrade::current(network, height) for each block, and use that network upgrade's consensus branch ID. This means that the APIs and data structures for the transaction verifier and script verifier are incorrect, because:

the transaction verifier needs to be created for a specific Network, and remember that network
we need to pass each block height to the transaction verifier
the script verifier should accept a consensus branch ID as part of each request

TODO

[ ] Revert the temporary workaround PR #1370
[ ] Redesign the transaction and script verifier APIs
[ ] Test the fixed code on post-Sapling and post-Blossom blocks

Test hint:
Some testnet blocks might only spend UTXOs from a single previous block - look for a testnet block with only 2 transactions, and only 1 transaction input. Then test with that block and its dependent block.
Full Logs
Nov 24 19:22:40.807  INFO sync: zebrad::components::sync: starting sync, obtaining new tips
Nov 24 19:22:40.808  INFO sync:obtain_tips:state: zebra_state::util: created block locator tip_height=Height(1019249) min_locator_height=1019150 locators=[Height(1019249), Height(1019248), Height(1019247), Height(1019245), Height(1019241), Height(1019233), Height(1019217), Height(1019185), Height(1019150)]
Nov 24 19:22:46.525  WARN sync: zebrad::components::sync: error downloading and verifying block e=Block(Transaction(InternalDowncastError("downcast to redjubjub::Error failed, original error: ScriptInvalid")))
Nov 24 19:22:46.525  INFO sync: zebrad::components::sync: waiting to restart sync timeout=45s
Nov 24 19:23:31.525  INFO sync: zebrad::components::sync: starting sync, obtaining new tips
Nov 24 19:23:31.526  INFO sync:obtain_tips:state: zebra_state::util: created block locator tip_height=Height(1019249) min_locator_height=1019150 locators=[Height(1019249), Height(1019248), Height(1019247), Height(1019245), Height(1019241), Height(1019233), Height(1019217), Height(1019185), Height(1019150)]
Nov 24 19:23:38.414  WARN sync: zebrad::components::sync: error downloading and verifying block e=Block(Transaction(Ed25519(InvalidSignature)))
Nov 24 19:23:38.414  INFO sync: zebrad::components::sync: waiting to restart sync timeout=45s
Nov 24 19:24:23.414  INFO sync: zebrad::components::sync: starting sync, obtaining new tips
Nov 24 19:24:23.415  INFO sync:obtain_tips:state: zebra_state::util: created block locator tip_height=Height(1019249) min_locator_height=1019150 locators=[Height(1019249), Height(1019248), Height(1019247), Height(1019245), Height(1019241), Height(1019233), Height(1019217), Height(1019185), Height(1019150)]
Nov 24 19:24:33.336  WARN sync: zebrad::components::sync: error downloading and verifying block e=Block(Transaction(RedJubjub(InvalidSignature)))
Nov 24 19:24:33.336  INFO sync: zebrad::components::sync: waiting to restart sync timeout=45s
Nov 24 19:25:18.336  INFO sync: zebrad::components::sync: starting sync, obtaining new tips
Nov 24 19:25:18.337  INFO sync:obtain_tips:state: zebra_state::util: created block locator tip_height=Height(1019249) min_locator_height=1019150 locators=[Height(1019249), Height(1019248), Height(1019247), Height(1019245), Height(1019241), Height(1019233), Height(1019217), Height(1019185), Height(1019150)]
Nov 24 19:25:24.804  WARN sync: zebrad::components::sync: error downloading and verifying block e=Block(Transaction(RedJubjub(InvalidSignature)))

There are at least two errors here:

the consensus branch ID is hardcoded
the errors are being cast improperly

We didn't write any tests in the PR that closed this issue, so I opened #1378 for the tests.


Refactor out UDL file in favor of proc macros

Problem
The current app! macro implements the functions defined in the udl file. This is clunky because we always have to define each function even if we're not compiling support for said functions. The macro itself is also primitive and unhygienic and prevents the user from exposing additional custom functions over the ffi.
Details
To solve this we can switch to use macros like #[uniffi::export] to expose functions directly from the rust code. We can expose our own macros that wrap these functions like export_circom!.
Acceptance criteria
This issue only includes switching the existing code from static udl file to macros. This includes updating the build system so that the ios/android build commands handle generating the swift/kotlin bindings.
The mopro.udl file should be removed along with the committed bindings.
Next steps (optional)
After this issue is complete halo2 integration should be easier/more robust and we can allow the user to define their own functions that are exposed over ffi.

Related to #201 where there was an early work on supporting proc_marco in Mopro.


fix(cluster-check): update node busyness score

What does this PR do?
Expose to "cluster-agent" HistogramBuckets and Events check stats.
The cluster-checks instances and Node busyness score will reflect better the real check resources (CPU/Memory) usage.
It should help the cluster-agent to define a better cluster-checks dispatching.
Motivation
Currently if a cluster-check only emit Histogram or Events, the cluster-check instance is seen by the cluster-agent as
not consuming any resource (busyness score). It makes the cluster-check dispatching wrong.
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
Deploy the Cluster-Agent with Cluster-Check-Runner enable.
Deploy an application that expose an Openmetrics check returning only histogram data. For that you can use the the "metrics" filter parameter to only select histogram metrics.
The cluster-agent metrics datadog.cluster_agent.cluster_checks.busyness should not be 0.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Would it be possible to retrieve the memory/cpu usage for the busyness score ?

Would it be possible to retrieve the memory/cpu usage for the busyness score ?

@AliDatadog it is very difficult to do it for now, due to the nature of the check python check or core-check. they are all running in the same process. so difficult to split resource consumption by check instance.


Recieved an error when installing styler

Following is what's reported.
I just typed the command sudo luarocks install styler

Error: LuaRocks 2.4.1 bug (please report at https://github.com/keplerproject/luarocks/issues).
/usr/local/share/lua/5.3/luarocks/fs/lua.lua:508: attempt to call a nil value (method 'files')
stack traceback:
/usr/local/share/lua/5.3/luarocks/fs/lua.lua:508: in function 'luarocks.fs.unzip'
/usr/local/share/lua/5.3/luarocks/manif.lua:153: in function 'luarocks.manif.load_manifest'
/usr/local/share/lua/5.3/luarocks/search.lua:181: in function 'luarocks.search.manifest_search'
/usr/local/share/lua/5.3/luarocks/search.lua:215: in function 'luarocks.search.search_repos'
/usr/local/share/lua/5.3/luarocks/search.lua:307: in function 'luarocks.search.find_suitable_rock'
/usr/local/share/lua/5.3/luarocks/install.lua:179: in function 'luarocks.install.command'
(...tail calls...)
[C]: in function 'xpcall'
/usr/local/share/lua/5.3/luarocks/command_line.lua:180: in function 'luarocks.command_line.run_command'
/usr/local/lib/luarocks/rocks/luarocks/2.4.1-1/bin/luarocks:33: in main chunk
[C]: in ?

Do you have luazip installed? What does luarocks show luazip print?

This is a bug in luazip, I've sent a PR fixing it: rjpcomputing/luazip#6. In the meantime removing luazip by running luarocks remove luazip should help.


Switch category of extensions to AI

Waiting for "code.quarkus.io" to have an AI category (Ping @ia3andy).

@cescoffier I think this is the place to add it: https://github.com/quarkusio/quarkus/blob/main/devtools/bom-descriptor-json/src/main/resources/catalog-overrides.json

related https://github.com/quarkusio/quarkus/pull/41425

Switch to "ai" instead of "AI"

Is there something blocking this?

Nothing blocking.


private fields in talib crate kwargs structs / missing "new" method

Hi Yvictor,
Great idea for a project!
Could you please add "new" methods to build the kwarg structs? i wanted to use the talib crate but it won't compile because I can't build the required kwargs struct from another crate
example of the problem:
can't construct the SarKwargs struct:

no "new" method to build the struct:

Benefit to fix: others could use the rust crate and help maintain it

With builder pattern support in version 0.1.2


Sunstone cut texts on sidebar menu

Description
When large text is showed on the sidebar menu the text is cut.

To Reproduce
Change language (i.e. Portuguese) open Networks and security groups will be cut.
Expected behavior
The text not to be cut.
Details

Affected Component: Sunstone
Hypervisor: N/A
Version: 6.0.1

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

PRs to merge

one: OpenNebula/one-ee/pull/1090
doc: OpenNebula/docs/pull/1774


Is there plan to make closure serializable?

What version of Go are you using (go version)?
1.10
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
mac osx, amd64
Recently I found rdd(resilient distributed dataset) to be a genius idea to handle big data problems in a unified programing way, so I invested how spark is implemented, one of the core features it depends on is that the host language needs to be able to serialize/unserialize closures:
Scala represents each closure as a Java object, and these objects can be serialized and loaded on another node to pass the closure across the network.
Python has this feature so there is a spark clone in python: dpark
I've contacted the author of gopark, he confirms that one of the biggest trouble to implement something like rdd is in serializing closures...

This proposal needs to be more specific. There's a lot involved in serializing closures as the scala papers talk about in detail.
Can you work out a concept or design with the community? This was rejected before in the stdlib, see https://github.com/golang/go/issues/5514.

How would Go deal with free variables?
Are free variables immutable?
Is the closure / func idempotent? Associative and Commutative?
How should Go express such facts?

To answer the question: no, there are no current plans to make closures serializable.
This is not an actionable issue, so I'm going to close it.  This would be best discussed on golang-nuts.


Add new events and contexts for auction results on iOS

Introducing: event tracking schema for the bulk of native auction results features headed to iOS. Information bubble taps are not included here; I'll follow up with those later as they are not critical or a blocker.

looking great 🎉

:rocket: PR was released in v1.62.0 :rocket: