Multi tenancy support

Is your feature request related to a problem? Please describe.
It would be great if Brisa supports multi tenancy out of the box where a single system is used by multiple tenants or domains where each tenant will have their own configurations fetched from external services from app runtime config to i18n config. Not sure if this is supported already but the the docs has yet to have any info about this.
Describe the solution you'd like
While app runtime config can be fetched dynamically as it is not tightly coupled with Brisa, i18n is not as it requires to read the i18n config file src/i18n.ts where we need to statically declare all supported locales. It'd be great to make the i18n a middleware function where we can fetch and update the i18n config for each tenant on the fly.
Describe alternatives you've considered
None yet.

We are supporting domains in i18n:
export default {
  locales: ["en-US", "fr", "nl-NL"],
  defaultLocale: "en-US",
  domains: {
    "example.com": {
      defaultLocale: "en-US",
    },
    "example.nl": {
      defaultLocale: "nl-NL",
      protocol: "http", // by default is https
      dev: true, // by default is false
    },
  },
};

Is this what you mean or what do you think is missing? Thank you @motss
Ref: https://brisa.build/building-your-application/routing/internationalization#domain-routing

@aralroca thanks for pointing this approach. I'm aware of this static approach and what I am looking for is a dynamic approach. The use case is that locales can be updated by the users at any point of time for each tenant in a multi tenancy application. With the static approach it basically means that it is necessary to redeploy the entire application every time the tenant locales get changed, e.g. users update the locale for their own tenant and users do not have to inform us devs to redeploy our application. Hope this explains the use case.

I understand that it can be done even if it is not “out of the box”. It can be controlled with a middleware and the BRISA_LOCALE cookie, also, you can load the keys dynamically using overrideMessages. @motss I would like to know what suggestions you have in mind to make this process easier or if there is anything you can put up with? The idea of the route-map for 1.0 is to finish creating it together with the community, so it's a perfect time to suggest new APIs and things that you think would make your life easier. 😊


Make number attributes available for mRpt

addresses #942
connected to #853

although this is already ready-to-merge, any chance of fixing #853 until next ODD meeting?

With two approving reviews the PR can be merged

Oops! Sorry @bwbohl i missed your comment! Shall I revert?

i think it's fine


Cannot read property 'bool' of undefined

After installation I get this error

Also I only including the component using import AppIntro from 'react-native-app-intro';
I use react-native 0.49.3.
How can I fix this? 😭

..It looks like the issue might be from the version of react (for react-native 0.49.3...its likely 16.0.0-beta.5)..
..the error you displaying doesn't give much info but if the issue is what i'm guessing (likely the change in how PropTypes are now referenced)..then u have to modify the react-native-swiper /src/index.js
import PropTypes from 'prop-types';
and update all React.PropTypes to PropTypes
..you might get a createClass error after that..modify same file as above with below changes..
import createReactClass from 'create-react-class'
and replace React.createClass with createReactClass
..hope this helps..

this step work for me.
1 . add
import PropTypes from 'prop-types';
in
react-native-swiper /src/index.js

update
all React.PropTypes to PropTypes
in
react-native-swiper /src/index.js

add
import createReactClass from 'create-react-class'
in
react-native-swiper /src/index.js

4.update
React.createClass with createReactClass
in
react-native-swiper /src/index.js
5. add
import PropTypes from 'prop-types';
and remove
PropTypes from 'react';
in
react-native-app-intro /AppIntro.js

Quick fix yarn add https://github.com/merryjs/react-native-app-intro

This is all kind of hacky not suitable for stable production app, the owner should upgrade the lib...

This happens because this lib uses FuYaoDe's own fork of react-native-swiper instead of the actual (updated) library. I'm guessing because it was missing some functions.
Two solutions:

Update package.json switching dependency with the actual react-native-swiper
Update FuYaoDe's own fork to use prop-type package.

A temporary fix is going to node_modules/react-native-app-intro/node_modules/react-native-swiper/src/index.js and updating yourself to use prop-types.

@Jacse I went to https://www.npmjs.com/package/react-native-app-intro-v2, someone made the fix, this is more suitable than this kind of tricky hacks.
It's a one month issue, this is supposed to be fixed when you've a 1600+ stars software or you should mark it as not maintained anymore and give people access to fix it.

@ScreamZ I wholeheartedly agree, thanks for the link.

Hi again everyone. So I realised that the author is very unlikely to continue developing the component. For that reason I have spent the last two days making my own. It supports Android & iOS (even the iPhone X) and is pretty easy to setup. It does not support parallax yet, though.
You can take a look here
I would appreciate if anyone wants to test it out. You can install by doing:
yarn add https://github.com/Jacse/react-native-app-intro-slider.git


homebridge reboot continuously after set meross mss310

Describe Your Problem:
homebridge reboot continuously after set meross mss310 and activate the plug in. Also in the HomeKit App all devices i have installed with HomeBridge doesn't work. if i set wrong the ip of meross other devices works fine but not the meross smart plug.
Can you help me please? Am I doing something wrong?
Thanks for support
Logs:
[15/11/2020, 14:32:47] [Luce piante] calling getOnCharacteristicHandler for MSS310 at <IP_ADDRESS>...
[15/11/2020, 14:32:47] TypeError: Cannot read property 'togglex' of undefined
    at Meross.getOnCharacteristicHandler (/usr/local/lib/node_modules/homebridge-meross/index.js:297:41)
    at processTicksAndRejections (node:internal/process/task_queues:93:5)`

Homebridge Config:
{
    "bridge": {
        "name": "Homebridge A281",
        "username": "0E:B5:F0:9A:A2:81",
        "port": 51952,
        "pin": "784-28-894"
    },
    "accessories": [
        {
            "model": "MSS310",
            "name": "Luce piante",
            "deviceUrl": "<IP_ADDRESS>",
            "channel": 0,
            "messageId": "ba192b6ef6d1672757b10c87364d802d",
            "timestamp":<PHONE_NUMBER>,
            "sign": "780e655e5fe04f2c3c6276e8cf65cbbe",
            "accessory": "Meross"
        }
    ],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "name": "HarmonyHub",
            "hubIP": "<IP_ADDRESS>",
            "publishAllTVAsExternalAccessory": false,
            "TVAccessory": true,
            "configureAccesscontrol": false,
            "mainActivity": "Sky",
            "activitiesToPublishAsInputForTVMode": [
                "Sky",
                "Apple TV",
                "Netflix",
                "Infinity",
                "Plex",
                "TimVision"
            ],
            "playPauseBehavior": false,
            "remoteOverrideCommandsList": [
                {
                    "ActivityName": "Alza il volume",
                    "CommandsList": [
                        {
                            "CommandName": "VOLUME_DOWN",
                            "NewCommand": "PioneerAVReceiver;VolumeDown"
                        },
                        {
                            "CommandName": "VOLUME_UP",
                            "NewCommand": "PioneerAVReceiver;VolumeUp"
                        }
                    ]
                }
            ],
            "switchAccessories": false,
            "publishGeneralMuteSwitch": false,
            "publishGeneralVolumeSlider": false,
            "publishGeneralVolumeSwitches": false,
            "linkVolumeControlToTV": false,
            "publishSwitchActivitiesAsIndividualAccessories": false,
            "devicesToPublishAsAccessoriesSwitch": [
                "Pioneer AV Receiver VolumeUp",
                "Pioneer AV Receiver VolumeDown "
            ],
            "showCommandsAtStartup": false,
            "platform": "HarmonyHubWebSocket"
        },
        {
            "username"<EMAIL_ADDRESS>            "password": "virusss84!",
            "countryCode": "IT",
            "devices": [
                {
                    "ipAddress": "<IP_ADDRESS>",
                    "serialNumber": "VW3-EU-NHA0964A",
                    "enableAutoModeWhenActivating": true,
                    "enableOscillationWhenActivating": true,
                    "isNightModeEnabled": true,
                    "isJetFocusEnabled": true,
                    "isContinuousMonitoringEnabled": true,
                    "isTemperatureSensorEnabled": true,
                    "isHumiditySensorEnabled": true,
                    "isAirQualitySensorEnabled": true,
                    "isSingleSensorAccessoryModeEnabled": true,
                    "isSingleAccessoryModeEnabled": true,
                    "isFullRangeHumidity": true
                }
            ],
            "platform": "DysonPureCoolPlatform"
        }
    ]
}

Screenshots:

Environment:

Node.js Version: v14.15.0
NPM Version:  v6.14.8
Homebridge Version: 1.2.3
Homebridge Meross Plugin Version v3.2.0:
Homebridge Config UI X Plugin Version v4.33.0:
Operating System: Raspbian

@donavanbecker Just searched a little bit, I think the crash happened here response.payload.all.digest.togglex[${this.config.channel}].onoff;, which was included in this commit made on Jan 13 2020.

@Cavech84 can you test the latest beta and see if it works now?

yes, now it doesn't crash, thanks. But the plug not working... this is the consolle message when i try to change its status: Set failed: false. I have make a new configuration but nothing change. Is it normal that messageID,timestamp and sign changed every time when i try to get this parameters with HTTP Catcher?


Rewrite annotation tests with service

Description:
$title.
This issue created to address review suggestions for #28447.
Need to enable testConstantPropagationOnAnnotation also.

Fix https://github.com/ballerina-platform/ballerina-lang/pull/28447/files#r577428131 as well.


Add guidances that props/targets should not modify NUGet specific targets/props

Fixes https://github.com/NuGet/docs.microsoft.com-nuget/issues/2805
This ideally has its own page, but unfortunately our docs are short on the conceptual side, so I'm working with what I can.
I have created this isuse that talks about the lack of concepts fro pack/restore.  https://github.com/NuGet/docs.microsoft.com-nuget/issues/2804

Going to close this in favor of https://github.com/NuGet/docs.microsoft.com-nuget/pull/2807, which has a more comprehensive refactoring.


Understanding request parameter 'state'

Hi,
I notice this library adds 'state' request parameter to /oauth2/authorize request but I don't understand how exactly this prevents csrf.  How does it work with state token is generated on the client?
Cheers,
Paul

Hi @shnplr, Please refer to this issue.  https://github.com/aws/amazon-cognito-auth-js/issues/43
About how 'state' preventing csrf, you can see here: https://tools.ietf.org/html/draft-ietf-oauth-v2-30#section-10.12
Actually we will release a change about supporting developer set state parameter soon!
When hitting the login or authorize endpoint just include as a query parameter "STATE". Post authentication this value is returned to the redirect_uri(this value can be dynamic). So the state value is carried from unauthenticated to authenticated. This is a pretty common use case.

Hi,
Thanks for your reply.
I can see the 'state' is added to the URL in CognitoAuth.getFQDNSignIn(). After redirect how do I know the value matches the value sent in the original request?
The function cacheTokensScopes() comment says: "This is used to save the session tokens, scope and state to local storage" - but I don't see where it saves 'state' into local storage so it can be checked later.
I look forward to reading about the change for supporting developer set state parameter. A separate section on the main page about security implementation with this library would be nice!

Hi @shnplr, when we release the change about supporting developer set state parameter, after signed in successfully, the sign-in redirect URL will contain the state parameter. There you can see the value matches the value you set before.
The function cacheTokensScopes() comment has a typo there, it is only used to save the session tokens and scopes to local storage. I will correct this in next commit!
Sure, we will add a separate section about security implementation if necessary. I will discuss this with my teammate too. Thanks!

Hi @shnplr, we have released supporting developer set state parameter! Please check the version v1.1.2.

Hello
Can you confirm how can the state be used to prevent CSRF ? ( when using  Token mode)
For me, since the state is not stored in the local storage as Id token etc, we can not be sure that the we will always have a value  (in the Success callback) to compare with. Any advice would be very appreciate it. Thx

Hi @blepoutr, you will always get state value in the Success callback if you have set the state parameter. The SDK will pass state value to the callback url.

Hello
Thx for your answer.
Actually, the state is empty when I am already authenticated with a valid Idtoken etc ...
Indeed, in this case the Session is created from the cache and I don't have any State in the signInUserSession.
I guess that this is due to
this.signInUserSession = this.getCachedSession();
So it seems to me that either the State should be stored in cached session, either the state should be defaulted in CognitoAuthSession  with CognitoAuth.state.
What do yo think ?
Thx

Hi @blepoutr, exactly, currently our cachedSession doesn't contain the state parameter. So in your case, you cannot get state.
What you mentioned is a good point. We need to discuss more to see if we want to store it in cached session. Thanks!


fix Wrong result for partition item tosql

What problem does this PR solve?
ccr test: https://github.com/selectdb/ccr-syncer/pull/349
Problem Summary:
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.
Please clearly describe your PR:

What problem was fixed (it's best to include specific error reporting information). How it was fixed.
Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
What features were added. Why was this function added?
Which code was refactored and why was this part of the code refactored?
Which functions were optimized and what is the difference before and after the optimization?

run buildall

run buildall


Add appsettings example

I had a couple of issues using this sink from appsettings, namely that the region endpoint can't be specified because it's a series of abstract class implementations (Serilog is clever enough to cast from strings to Enums, and handle some built-in types like ints/bools), but not to map to the RegionEndpoint classes.
It does work with the ServiceUrl specified instead (see separate PR for an issue I found with this), so thought it would be useful to single it out along with the endpoint gotcha.

Nice one, also I didn't even notice that I forgot to mention Net5 😅


[$1000] Bug: Not seeing expand button after reaching third row in ios reported by @thesahindia

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

Action Performed:

Open app in iOS
Navigate to a chat
Fill first two rows and add few more characters to reach the third row

Expected Result:
Expand button should be shown
Actual Result:
Expand button doesn't show up, unless you press enter to reach the third row or type few characters in the third row
Workaround:
unknown
Platform:

Where is this issue occurring?

iOS

Version Number: 1.2.15-2
Reproducible in staging?: y
Reproducible in production?: y
https://user-images.githubusercontent.com/43996225/195874466-588e767f-417a-4b30-9878-e079b75a5bcd.MP4
https://user-images.githubusercontent.com/43996225/195874500-975c922a-efdf-40ec-abf0-26e3338569a9.mov
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Expensify/Expensify Issue URL:
Issue reported by: @thesahindia
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1665694070058889
View all open jobs on GitHub

Reproduced, can't find any other issues for this same bug.

So, this does seem to be a "bug" here: https://github.com/Expensify/App/blob/main/src/components/Composer/index.js#L374
It's about as trivial a bug as I can think of, since the expand button shows up a few extra keystroke later anyway. I'll mark it external since it's clearly a display only bug.

Posted job.
https://www.upwork.com/ab/applicants/1582029232576475136/job-details
https://www.upwork.com/jobs/~01ed68566e162a7e9b

#Proposal
##Problem
On iOS function onContentSizeChange returns incorrect height when we use paddingHorizontal. I believe it's the problem of React Native.
Pls check the evidence:
https://user-images.githubusercontent.com/113963320/196440389-7ae3ec93-87b7-4c5d-b2c5-6b29a3fad449.mp4
##Solution
in https://github.com/Expensify/App/blob/main/src/components/Composer/index.ios.js
we'll override paddingHorizontal:0 in iOS and wrap RNTextInput with View within style.ph8 to archive paddingHorizontal:8 as original. I also need to remove style in propsToPass, if not our style will be overrided
        this.state = {
-           propStyles: StyleSheet.flatten(this.props.style),
+           propStyles: StyleSheet.flatten([...this.props.style, styles.ph0]),
        };

-        const propsToPass = _.omit(this.props, 'selection');
+        const propsToPass = _.omit(this.props, 'selection','style');

        return (
+           <View style={styles.ph2}>
             <RNTextInput
                autoComplete="off"
                placeholderTextColor={themeColors.placeholderText}
                ref={el => this.textInput = el}
                maxHeight={this.props.isComposerFullSize ? '100%' : CONST.COMPOSER_MAX_HEIGHT}
                onContentSizeChange={e => ComposerUtils.updateNumberOfLines(this.props, e)}
                rejectResponderTermination={false}
                textAlignVertical="center"
                style={this.state.propStyles}
                /* eslint-disable-next-line react/jsx-props-no-spreading */
                {...propsToPass}
                editable={!this.props.isDisabled}
            />
+        </View>

https://user-images.githubusercontent.com/113963320/196441769-d94f48d4-cada-40a1-ae52-a1793b55ba12.mp4

Looks like a proposal has been added for review @parasharrajat

@tienifr's proposal sounds legit. But they mentioned that this is an issue with RN. Should we try to fix it upstream on RN? @lschurr

I think we should create a PR for it both in our RN fork and upstream.

Ok, @tienifr Let's try to find a solution to fix it upstream on RN.

ok, sure

If this issue exists on Native iOS, then we can apply the workaround. Otherwise, a fix in RN is preferred.

@parasharrajat yes, It just happens on Native iOS. What do you think about my solution above?
https://user-images.githubusercontent.com/113963320/196891413-eee254e2-91f2-44c9-9691-089a0fb41af0.mp4

The video does not show the native iOS app. It is still RN. I meant to say to try it on Native iOS app.

Hi @parasharrajat - are we waiting for a new proposal on this one?

Yes, as per https://github.com/Expensify/App/issues/11844#issuecomment-1282906897, I am waiting for a fix on RN.

Price doubled.

Price doubled to $1000 - https://www.upwork.com/jobs/~01ed68566e162a7e9b

Proposal
Problem
there is certainly some problem with onContentSizeChange , these are some issue that I faced during testing this :

https://github.com/facebook/react-native/issues/22638 , onContentSizeChange will not fire after the first line (2nd ..)
https://github.com/facebook/react-native/issues/15326 , the padding is included in the contentSize

those issue are present from a long time without a fix https://github.com/facebook/react-native/issues/22638#issuecomment-479058908 , and I don't think anyone will spend time to fix on RN
Solution
Alternatively we can use onLayout instead and get height on layout changes , if you accept this proposal then we either have to apply this change for android too or create separate updateNumberOfLines for iOS
Note : same changes apply to android if we choose to switch on android too
https://github.com/Expensify/App/blob/210903a959089e0512665029a5d143bb94e1da46/src/components/Composer/index.ios.js#L106
-                onContentSizeChange={e => ComposerUtils.updateNumberOfLines(this.props, e)}
+                onLayout={e => ComposerUtils.updateNumberOfLines(this.props, e)}

Changes to updateNumberOfLines
https://github.com/Expensify/App/blob/210903a959089e0512665029a5d143bb94e1da46/src/libs/ComposerUtils/index.native.js#L27
-      const inputHeight = lodashGet(e, 'nativeEvent.contentSize.height', null);
+      const inputHeight = lodashGet(e, 'nativeEvent.layout.height', null);

Tests
IOS
https://user-images.githubusercontent.com/36869046/202035767-ca7d93a1-62fd-4c0a-bd28-cca270ec6b9d.mp4
Android
Android.webm

@parasharrajat - Do you have an update on this one?

Oh, I missed this issue. Thanks for the ping. Taking a look.

Sorry for another ping - do you have an update @parasharrajat?

Thanks for the ping. Checking now...

@parasharrajat any update ?

Didn't get the time to complete it yesterday. But going through the docs and etc... You will have it in a few minutes.

Ok, I checked. It seems pretty straightforward as the proposal https://github.com/Expensify/App/issues/11844#issuecomment-1282429283.
But we earlier decided to solve this on RN.

and I don't think anyone will spend time to fix on RN

That's why we are happy to compensate to fix an issue for the community.
Anyways, let me open a new discussion and see if we want to go with either of the solutions.

The discussion is leading towards a solution that fixes this issue in RN core. Also, anyone is able to prove that this is issue with iOS platform not with RN, then we may rethink to solve it here.

So this should remain on hold?

Not on Hold, but active for proposals.

Reviewing the issue based on the weekly bug update chore:
@puneetlath  this is one of the oldest issues in the /App repo. To help us clear out the large backlog of bugs, can you:

Decide whether any proposals currently meet our guidelines and can be approved as-is
For any that can't, please take this issue internal and treat it as one of your highest priorities
If you have any questions, don't hesitate to start a discussion in #bug-zero

We've chatted about this one here and here. Let's close it and fix it upstream in RN. 👍
To Rajat's point, this still stands. Bring it up in a Slack thread if that's the case!

anyone is able to prove that this is issue with iOS platform not with RN, then we may rethink to solve it here

@kbecciv https://github.com/Expensify/App/issues/15639 you just created is duplicated with this one.
Also related to https://github.com/Expensify/App/issues/14369


Add Mac/UNIX support

Currently, the conio.h header is used to get single characters from the console without requiring a newline. As conio.h is a non-standard header included with Windows, the whole program is incompatible with non-Windows operating systems.
Solution: Find a portable equivalent for the getch() command.

@Stenodyon, if I remember correctly, you forked the interpreter for MindMeld and added a Linux-compatible version of getch(). Would it be alright with you if I used your implementation of getch() in this project? I would give you attribution for the code that I end up using, of course.

Sure! To be honest, I found most of the code on StackOverflow and cobbled it together, so you don't have to give attribution but that'd be fine by me.

Cool! At the very least, I'll leave a note in the comments of the source code.

Pushed commit adding Linux-compatible getch(). Closing issue, will make two more. One to test the Linux compatibility, one for Mac support.


Report only returns download url no option to request only xml/csv

For the Report creation function you only can get a download url, instead it would be better if you can get back a direct object formatted witch given format. Like a param ReturnType => csv/xml/json/tsv and with a extra param ReturnLink = true it will return a download link to a zip file. PS the json formatted return would be a awsome feature to have in PHP.

@WouterVeen at the service level for performance and flexibility this is by design. Note, the .NET, Java, and Python SDKs abstract this detail and allow you to access the report data directly (although in the background a report download URL is used). If you would like to see a similar feature via the PHP library please feel free to submit a request here. Thanks!


Fix "Unhandled Promise Rejection" in smoke tests

For #14771
I don't know why using require fixes this issue, as far as I can remember import and require should have the same behaviour, with import also allowing access to types...

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[x] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

Codecov Report

Merging #14824 (c283bbe) into main (e1cc8b2) will increase coverage by 0%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            main   #14824    +/-   ##
=======================================
  Coverage     64%      65%
=======================================
  Files        547      550     +3
  Lines      25616    25939   +323
  Branches    3619     3676    +57
=======================================
+ Hits       16622    16887   +265
- Misses      8314     8359    +45
- Partials     680      693    +13

Impacted Files
Coverage Δ

src/client/linters/mypy.ts

src/client/common/utils/multiStepInput.ts

src/client/common/serviceRegistry.ts

.../application/diagnostics/commands/launchBrowser.ts

src/client/debugger/extension/adapter/activator.ts

...s/discovery/locators/services/interpreterFilter.ts

src/client/providers/itemInfoSource.ts

src/client/languageServices/jediProxyFactory.ts

src/client/typeFormatters/onEnterFormatter.ts

src/client/linters/linterAvailability.ts

... and 1055 more


TODOs

Must

better comments not correctly installed (2.1.0)
VSCode TLA+ 1.6.0 installed
No graphviz on Windows (problem when brwoser-based codespace is relocated to the user's desktop)
Quickly switch commits:

git tags or better slog
git co ':/v01b01:'
Locally preview next commit

Should

[x] Community Modules (Fold)
Refinement proof AsyncTerminationDetection > EWD998 (inspired by https://github.com/tlaplus/Examples/blob/master/specifications/ewd840/EWD840_proof.tla)
Patched Better-comments with TLA+ support:

https://github.com/aaron-bond/better-comments/pull/281
https://github.com/alygin/better-comments/releases

Nice to have

[x] Apalache outlook
[x] Randomization and inductive invariants https://lamport.azurewebsites.net/tla/inductive-invariant.pdf
[ ] TLC ALIAS
PlusPy execution

https://github.com/tlaplus/CommunityModules/issues/41
https://github.com/lemmy/AsyncGameOfLife
https://github.com/tlaplus/Examples/tree/mku-ewd998/specifications/ewd998
https://github.com/tlaplus/Examples/commits/mku-ewd998

TLA+ stats: https://github.com/tlaplus/tlaplus/issues/601

https://github.com/lemmy/ewd840/blob/mku-simulate-new/README.md#results

Env/Terminal:

https://code.visualstudio.com/docs/supporting/troubleshoot-terminal-launch
https://code.visualstudio.com/docs/editor/integrated-terminal
https://github.com/microsoft/vscode-python/issues/944

https://quickstrom.github.io/ltl-visualizer/
https://marketplace.visualstudio.com/items?itemName=vsls-contrib.codetour
https://www.directpoll.com

URL shorteners
https://aka.ms/tlaewd998 -> https://github.com/lemmy/ewd998
Description
The goal of this workshop/tutorial is to show developers of concurrent and distributed systems how to model algorithms with TLA+. Inspired by Safra's EWD998, we will design and verify a termination detection algorithm. The focus is on applying TLA+ rather than the TLA+ language itself. In other words, the workshop will follow Lamport's video course style and introduce TLA+ as we go. At the end of the workshop, attendees will have written a specification of EWD998, checked safety and liveness properties, stated fairness constraints, and encountered refinement.
This is a hands-on, interactive workshop for programmers who wish to get familiar with TLA+.  The format of the workshop will be similar to https://youtu.be/wjsI0lTSjIo, enriched with hands-on exercises. Familiarity with logic is not a prerequisite (if you've been using Coq, Isabelle, Lean, ..., this workshop is likely not for you).

TLA+ lang features not (yet) discussed

Records (stephan slide 20-22)
SUBSET & UNION (stephan slide 40)
IF-THEN-ELSE
RECURSIVE operators
RECURSIVE function definitions (stephan slide 43)
CHOOSE operator (Hilbert's epsilon) (stephan slide 42ff)
[]<><>_v
Sequences (stephan slide 39)
Explicit Refinement Mapping (via EWD998Chan) (stephan slide 25++)
Refinement Proof
Super advanced: \EE, \AA, cdot, -+->, ...

Modelling concepts

ATD => STD
message duplication, loss, out-of-order

Tools

PlusCal
TLA+ debugger
Trace expression evaluation
Animations (prophecy)
Statistics (Via EWD840?)

AlwaysNext ==
* *
[]ENABLED Next
* *
* []ENABLED Next / vars' = vars
* []ENABLED [Next]_vars
* *
* []ENABLED Next /\ var' # vars
* []ENABLED <>_vars
/\ ~ terminationDetected

[](~ENABLED Next => terminationDetected)

\* *
\* []ENABLED Next \/ vars' = vars
\* []ENABLED [Next]_vars
\* *
\* []ENABLED Next /\ var' # vars
\* []ENABLED <<Next>>_vars

\* * Let's go back to (interesting) non-properties.  As we know,
 \* * a node can only wakeup, iff it has messages pending.
\* [][~ terminated => ENABLED DetectTermination]_vars
\* <>(~ ENABLED Next)
\* []((~ ENABLED Next) => FALSE)
\* [][\A n,m \in Node: ~ active[n] => SendMsg(n,m)]_vars
\* []ENABLED [\E i \in Node: Wakeup(i)]_vars

How does this property relate to TLC's  "-deadlock"  parameter?
  \* \/ UNCHANGED vars

Live ==
TRUE
* [][DetectTermination]vars
* [][DetectTermination]<<>>
* []ENABLED <>_<<>>
* <>terminated
* [](terminated => <>terminationDetected)
* terminated ~> terminationDetected
Spec ==
Init /\ [][Next]_vars
* /\ WF_vars(Next)
/\ WF_vars(DetectTermination)
* /\ \A i \in Node : WF_vars(Wakeup(i))

keep being suspicious

Action properties [][Terminate]_vars
** This doesn't hold because Terminate actions need not occurr.

What is the vars subscript in [][A]_vars?
** <<>> syntatic sugar a function whose domain = 1..N with N \in Nat. 1-indexed array like in Fortran. How many elements are in a 1-indexed array of size N?
** Why a sequence and not a set?  => We need order here!

Keep adding :  / \E i,j \in Node: (SendMsg(i,j) / Wakeup(i) / Terminate(i))
** Tada, this looks awful lot like Next

Spec == Init /\ [][Next]_vars
** Do you remember  terminated => terminationDetected  and that it only asserted
for initial states?
Spec ==
Init /\ [][Next]_vars

Live==<>terminated
** need fairness even for <>terminated (which is violated)
** State 2: Stuttering

Fairness
** <>[]ENABLED <>_vars => []<><>_vars

WF_vars(Next)

WF_vars(DetectTermination)

\A i \in Node : WF_vars(Wakeup(i))

[](terminated => <>terminationDetected)  and  terminated ~> terminationDetected

Distributivity of fairness?
Strong fairness?

* TODO Translate the informal invariant to TLA+.
SSum(cntr, from, to) ==
LET sum[ i \in from..to ] ==
IF i = from THEN cntr[i]
ELSE sum[i-1] + cntr[i]
IN sum[to]
R(low) == {i \in 0..N: low <= i /\ i < N}
R2(up) == {i \in 0..N: 0 <= i /\ i <= up}
Inv ==
/\ P0:: B = Sum(counter, 0, N-1)
/\  / P1:: /\ \A i \in R(token.pos+1) ((token.pos+1)..N-1): ~ active[i]
/\ IF token.pos = N-1
THEN token.q = 0
ELSE token.q = Sum(counter, (token.pos+1), N-1)
/ P2:: Sum(counter, 0, token.pos) + token.q > 0
/ P3:: \E i \in R2(token.pos)(0..token.pos) : color[i] = "black"
/ P4:: token.color = "black"
MyNat == 0..3
MyInt == -2..2
IInv ==
/\ active \in [Node -> BOOLEAN]
/\ pending \in [Node -> MyNat]
/\ color \in [Node -> Color]
/\ counter \in [Node -> MyInt]
/\ token \in [ pos: Node, q: MyInt, color: Color ]

N = 5
(main)$ apalache-mc check --inv=InvA --config=MCEWD998.cfg APEWD998
# Tool home: /home/mkuppe/ewd998/tools/apalache
# Package:   /home/mkuppe/ewd998/tools/apalache/mod-distribution/target/apalache-pkg-0.15.6-full.jar
# JVM args:  -Xmx4096m -DTLA-Library=/home/mkuppe/ewd998/tools/apalache/src/tla
#
# APALACHE version 0.15.6 build 1679f94
#
# WARNING: This tool is in the experimental stage.
#          Please report bugs at: [https://github.com/informalsystems/apalache/issues]
#
# Usage statistics is ON. Thank you!
# If you have changed your mind, disable the statistics with config --enable-stats=false.

Checker options: filename=APEWD998, init=, next=, inv=InvA        I@14:47:11.428
Tuning:                                                           I@14:47:11.909
PASS #0: SanyParser                                               I@14:47:11.910
Parsing file /home/mkuppe/ewd998/APEWD998.tla
Parsing file /home/mkuppe/ewd998/EWD998.tla
Parsing file /tmp/Integers.tla
Parsing file /tmp/Naturals.tla
Parsing file /home/mkuppe/ewd998/AsyncTerminationDetection.tla
Substitution of LEADS_TO needs care. The current implementation may fail to work. W@14:47:12.466
Substitution of ENABLED needs care. The current implementation may fail to work. W@14:47:12.470
Substitution of ENABLED needs care. The current implementation may fail to work. W@14:47:12.480
Substitution of LEADS_TO needs care. The current implementation may fail to work. W@14:47:12.536
Substitution of LEADS_TO needs care. The current implementation may fail to work. W@14:47:12.537
Substitution of ENABLED needs care. The current implementation may fail to work. W@14:47:12.561
Substitution of ENABLED needs care. The current implementation may fail to work. W@14:47:12.561
Substitution of ENABLED needs care. The current implementation may fail to work. W@14:47:12.582
Substitution of ENABLED needs care. The current implementation may fail to work. W@14:47:12.582
PASS #1: TypeCheckerSnowcat                                       I@14:47:12.993
 > Running Snowcat .::.                                           I@14:47:12.993
 > Your types are great!                                          I@14:47:13.494
 > All expressions are typed                                      I@14:47:13.494
PASS #2: ConfigurationPass                                        I@14:47:13.599
  > MCEWD998.cfg: Loading TLC configuration                       I@14:47:13.602
Fairness constraints are ignored by Apalache: WF_vars()(System()) W@14:47:13.653
  > MCEWD998.cfg: Using SPECIFICATION Spec                        I@14:47:13.654
  > Using the init predicate Init from the TLC config             I@14:47:13.654
  > Using the next predicate Next from the TLC config             I@14:47:13.654
  > MCEWD998.cfg: found INVARIANTS: TypeOK, Inv                   I@14:47:13.654
  > Overriding with command line arguments: --inv InvA            W@14:47:13.654
  > MCEWD998.cfg: PROPERTY ATDSpec is ignored. Only INVARIANTS are supported. W@14:47:13.655
  > Set the initialization predicate to Init                      I@14:47:13.656
  > Set the transition predicate to Next                          I@14:47:13.656
  > Set an invariant to InvA                                      I@14:47:13.657
  > Set a temporal property to ATDSpec                            I@14:47:13.657
  > Replaced CONSTANT N with 5                                    I@14:47:13.660
PASS #3: DesugarerPass                                            I@14:47:13.747
  > Desugaring...                                                 I@14:47:13.747
PASS #4: UnrollPass                                               I@14:47:13.842
  > Unroller                                                      I@14:47:13.871
PASS #5: PrimingPass                                              I@14:47:13.936
  > Introducing InitPrimed for Init'                              I@14:47:13.940
PASS #6: CoverAnalysisPass                                        I@14:47:13.996
PASS #7: InlinePass                                               I@14:47:13.996
  > InlinerOfUserOper                                             I@14:47:13.997
  > LetInExpander                                                 I@14:47:14.024
  > InlinerOfUserOper                                             I@14:47:14.032
Leaving only relevant operators: ATDSpec, CInitPrimed, Init, InitPrimed, InvA, Next I@14:47:14.036
PASS #8: VCGen                                                    I@14:47:14.096
  > Producing verification conditions from the invariant InvA     I@14:47:14.096
  > VCGen produced 2 verification condition(s)                    I@14:47:14.104
PASS #9: PreprocessingPass                                        I@14:47:14.164
  > Before preprocessing: unique renaming                         I@14:47:14.164
 > Applying standard transformations:                             I@14:47:14.171
  > PrimePropagation                                              I@14:47:14.171
  > Desugarer                                                     I@14:47:14.234
  > UniqueRenamer                                                 I@14:47:14.301
  > Normalizer                                                    I@14:47:14.374
  > Keramelizer                                                   I@14:47:14.443
  > After preprocessing: UniqueRenamer                            I@14:47:14.518
PASS #10: TransitionFinderPass                                    I@14:47:14.587
  > Found 1 initializing transitions                              I@14:47:14.606
  > Found 5 transitions                                           I@14:47:14.626
  > No constant initializer                                       I@14:47:14.626
  > Applying unique renaming                                      I@14:47:14.627
PASS #11: OptimizationPass                                        I@14:47:14.667
 > Applying optimizations:                                        I@14:47:14.671
  > ConstSimplifier                                               I@14:47:14.672
  > ExprOptimizer                                                 I@14:47:14.681
  > ConstSimplifier                                               I@14:47:14.688
PASS #12: AnalysisPass                                            I@14:47:14.732
 > Marking skolemizable existentials and sets to be expanded...   I@14:47:14.734
  > SkolemizationMarker                                           I@14:47:14.734
  > ExpansionMarker                                               I@14:47:14.735
 > Running analyzers...                                           I@14:47:14.741
  > Introduced expression grades                                  I@14:47:14.784
  > Introduced 4 formula hints                                    I@14:47:14.785
PASS #13: PostTypeCheckerSnowcat                                  I@14:47:14.785
 > Running Snowcat .::.                                           I@14:47:14.785
 > Your types are great!                                          I@14:47:15.140
 > All expressions are typed                                      I@14:47:15.141
PASS #14: BoundedChecker                                          I@14:47:15.191
State 0: Checking 2 state invariants                              I@14:47:15.523
Step 0: picking a transition out of 1 transition(s)               I@14:47:15.731
State 1: Checking 1 state invariants                              I@14:47:15.746
Step 1: Transition #1 is disabled                                 I@14:47:15.857
State 1: Checking 1 state invariants                              I@14:47:15.869
Step 1: Transition #3 is disabled                                 I@14:47:15.974
State 1: Checking 2 state invariants                              I@14:47:15.991
Step 1: picking a transition out of 3 transition(s)               I@14:47:16.153
State 2: Checking 1 state invariants                              I@14:47:16.189
State 2: Checking 1 state invariants                              I@14:47:16.297
State 2: Checking 1 state invariants                              I@14:47:16.403
State 2: Checking 2 state invariants                              I@14:47:16.514
State 2: Checking 2 state invariants                              I@14:47:16.685
Step 2: picking a transition out of 5 transition(s)               I@14:47:17.091
State 3: Checking 1 state invariants                              I@14:47:17.130
State 3: Checking 1 state invariants                              I@14:47:17.207
State 3: Checking 1 state invariants                              I@14:47:17.323
State 3: Checking 2 state invariants                              I@14:47:17.428
State 3: Checking 2 state invariants                              I@14:47:18.413
Step 3: picking a transition out of 5 transition(s)               I@14:47:25.998
State 4: Checking 1 state invariants                              I@14:47:26.046
State 4: Checking 1 state invariants                              I@14:47:26.159
State 4: Checking 1 state invariants                              I@14:47:26.384
State 4: Checking 2 state invariants                              I@14:47:26.550
State 4: Checking 2 state invariants                              I@14:48:37.613
Step 4: picking a transition out of 5 transition(s)               I@15:06:37.928
State 5: Checking 1 state invariants                              I@15:06:37.988
State 5: Checking 1 state invariants                              I@15:06:38.088
State 5: Checking 1 state invariants                              I@15:06:38.925
State 5: Checking 2 state invariants                              I@15:06:39.445
State 5: Checking 2 state invariants                              I@17:16:11.600
^CPremature termination requested. Killing apalache-mc (pid 9054)
(main)$ date
Thu 10 Jun 2021 09:03:44 PM PDT


Linux installation not working

OSX installation works but Debian doesn't, see npm debug log
npm-debug.log

The debug log literally says it is an error with npm itself and not tally arbiter

thank you - I agree it was a npm thing where neither early nor late versions are working. In the end npm 8.19.4 and node 16.20.0 installed TallyArbiter without error notice.


PR for updating cluster-management/setup/update-strategies/index.md. See issue #428

Use a script in maintenance window for reboot update. If etcd is running, use locksmith reboot and retry every 20 minutes starting 5:10 a.m. every 20 minutes until 6:50 a.m. to avoid missing update window. If etcd is not running, simply reboot after a random delay.

@crawford - I have incorporated all the changes and am running the proposed update-window configuration on my system. I will leave for a few days to see how it works and generated a new PR. Your help is much appreciated!

I think I have committed all recommended changes to the doc. The the setup has been running  as scheduled and the systems have gone through one update.

@xueshanf Could you squash the commits? No need for the review history in the final merge.
@crawford Is this good to go?

@marineam - created a new PR#446, commits history squashed. Thanks!

Fixed in https://github.com/coreos/docs/pull/446


Update that brings go-ethereum with live tracer support

Describe your changes and provide context
This only brings the dependency (will need to wait for a merge + tag of the branch before merging this PR) and the required changes to adapt DBImpl to support the new interface.
Relates to:

https://github.com/sei-protocol/go-ethereum/pull/15
https://github.com/sei-protocol/sei-chain/pull/1344

This makes the necessary changes in sei-chain to bump go-ethereum to the upcoming version with enhanced EVM tracing.
Testing performed to validate your change
Run unit tests. evmrpc/tracers_test.go:20 test TestTraceTransaction fails, the gasLimit seems not populated correctly now. I need to investigate further as I don't quite understand actually how it's passing before.
I wanted to open the PR sooner than later, I'll fix the test tomorrow.

Test that was failing around tracer has been fixed. I now get a failure with TestMint but I checked quickly the code, I don't see how bumping go-ethereum dependency would have affected that test.
--- FAIL: TestMint (6.02s)
    mint.go:35:
                Error Trace:    /Users/maoueh/work/sf/sei/chain/testutil/processblock/verify/mint.go:35
                                                        /Users/maoueh/work/sf/sei/chain/tests/template_test.go:25
                                                        /Users/maoueh/work/sf/sei/chain/tests/mint_test.go:38
                Error:          Not equal:
                                expected: 0x7a120
                                actual  : 0xf4240
                Test:           TestMint

Codecov Report
Attention: Patch coverage is 25.53191% with 35 lines in your changes are missing coverage. Please review.

Project coverage is 61.64%. Comparing base (eb56128) to head (83f7afe).
Report is 214 commits behind head on seiv2.

Additional details and impacted files

@@            Coverage Diff             @@
##            seiv2    #1375      +/-   ##
==========================================
- Coverage   62.87%   61.64%   -1.23%
==========================================
  Files         350      355       +5
  Lines       23965    24745     +780
==========================================
+ Hits        15068    15255     +187
- Misses       8029     8606     +577
- Partials      868      884      +16

Files
Coverage Δ

evmrpc/simulate.go
70.08% <100.00%> (ø)

app/eth_replay.go
0.00% <0.00%> (ø)

x/evm/state/log.go
81.25% <25.00%> (-18.75%)
:arrow_down:

x/evm/state/state.go
94.91% <40.00%> (-2.34%)
:arrow_down:

x/evm/state/statedb.go
46.42% <0.00%> (-1.72%)
:arrow_down:

x/evm/state/nonce.go
63.63% <20.00%> (-36.37%)
:arrow_down:

x/evm/state/code.go
65.00% <12.50%> (-35.00%)
:arrow_down:

x/evm/state/balance.go
58.53% <26.31%> (-10.70%)
:arrow_down:

... and 30 files with indirect coverage changes


Dutch language update

I have corrected some Dutch language

Thanks, I’m gonna assume you have tested this and just merge it :)


Add intlc dependency

Description
Please include a summary of the change. For large or complex changes please include enough information to introduce your change and explain motivation for it.
Changes proposed in this pull request:

/azp run


Issue with docker build

Any idea what this means? trying to build this on my Synology device
SKIP: tests/test_shutdown_stress_tipc
SKIP: tests/test_sub_forward_tipc
PASS: tests/test_term_endpoint_tipc
SKIP: tests/test_address_tipc
PASS: tests/test_abstract_ipc
PASS: tests/test_security_curve
PASS: tests/test_socks
./config/test-driver: line 107: 21190 Alarm clock             "$@" > $log_file 2>&1
FAIL: tests/test_many_sockets
Testsuite summary for zeromq 4.3.2
TOTAL: 100
PASS:  92
SKIP:  7
XFAIL: 0
FAIL:  1
XPASS: 0
ERROR: 0
============================================================================
See ./test-suite.log
Please report to<EMAIL_ADDRESS>make[3]: *** [Makefile:7041: test-suite.log] Error 1
make[3]: Leaving directory '/home/libzmq'
make[2]: *** [Makefile:7149: check-TESTS] Error 2
make[2]: Leaving directory '/home/libzmq'
make[1]: *** [Makefile:8174: check-am] Error 2
make[1]: Leaving directory '/home/libzmq'
make: *** [Makefile:6926: check-recursive] Error 1
The command '/bin/sh -c DIR=/home/libzmq &&     mkdir -p ${DIR} &&     cd ${DIR} &&     curl -sLO https://github.com/zeromq/libzmq/archive/v${LIBZMQ_VERSION}.tar.gz &&     echo ${LIBZMQ_SHA256SUM} | sha256sum --check &&     tar -xz --strip-components=1 -f v${LIBZMQ_VERSION}.tar.gz &&     ./autogen.sh &&     ./configure --prefix="${PREFIX}" &&     make &&     make check &&     make install &&     echo rm -rf ${DIR}' returned a non-zero code: 2

This looks promising https://github.com/zeromq/libzmq/issues/1129
Try it and let me know if it helps.

tried the
RUN ulimit -n 10000
and also
RUN apt-get install -y --no-install-recommends libzmq5-dev (I removed the repo commands as they don't appear valid anymore)
no luck unfortunately - same issue.

I commented out the libzmq build section and also removed --with-libzmq and i was able to get the container to build and everything seems to work.
Do you know what I have broken by removing this? should I worry?

Probably not. One of my todo items was to strip out the majority of that stuff so it only built the minimum required. We are using a very small subset of the FFMPEG capabilities.
I have recently been trying to use the Emby FFMPEG binary that has quite a few improvements over this one. I believe the Emby docker will run on your NAS, so you could probably also rip their FFMPEG out of the container for use in the ac4 conversion in the hdhr container. I might try to update this soon if I continue to have good luck with this method.

Thanks - did they already add AC-4 support to their FFMPEG fork?
So far so good though - it seems to be working fine for the 4 channels that have switched to ATSC3 in my area.


Error on Amazon Linux for JWT Authentication

Hello,
While running new sf authentication command in JWT on Amazon Linux facing the error. Details are given below:
Operating System: Amazon Linux 2
CPE OS Name: cpe:2.3:o:amazon:amazon_linux:2
Kernel: Linux 4.14.109-99.92.amzn2.x86_64
Architecture: x86-64
Error Details :*
We encountered a JSON web token error, which is likely not an issue with Salesforce CLI. Here’s the error: Command failed with response:
(secret-tool:31942): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
secret-tool: Cannot autolaunch D-Bus without X11 $DISPLAY

{
"architecture": "linux-x64",
"cliVersion"<EMAIL_ADDRESS>"nodeVersion": "node-v16.20.2",
"osVersion": "Linux 4.14.109-99.92.amzn2.x86_64",
"rootPath": "/root/.nvm/versions/node/v16.20.2/lib/node_modules/@salesforce/cli",
"shell": "bash",
"pluginVersions": [
"@oclif/plugin-autocomplete 2.3.9 (core)",
"@oclif/plugin-commands 2.2.28 (core)",
"@oclif/plugin-help 5.2.20 (core)",
"@oclif/plugin-not-found 2.4.3 (core)",
"@oclif/plugin-plugins 3.9.1 (core)",
"@oclif/plugin-search 0.0.23 (core)",
"@oclif/plugin-update 3.2.4 (core)",
"@oclif/plugin-version 2.0.1 (core)",
"@oclif/plugin-warn-if-update-available 2.1.1 (core)",
"@oclif/plugin-which 2.2.34 (core)",
"@salesforce/cli 2.13.9 (core)",
"apex 2.3.19 (core)",
"auth 2.8.20 (core)",
"data 2.5.16 (core)",
"deploy-retrieve 1.19.0 (core)",
"info 2.6.49 (core)",
"limits 2.3.38 (core)",
"login 1.2.35 (core)",
"marketplace 0.3.0 (core)",
"org 2.10.12 (core)",
"schema 2.3.29 (core)",
"settings 1.4.33 (core)",
"sobject 0.2.11 (core)",
"source 2.10.40 (core)",
"telemetry 2.3.6 (core)",
"templates 55.5.14 (core)",
"trust 2.6.18 (core)",
"user 2.3.36 (core)"
]
}

@thunderpycode I've googled that error and doesn't seem to be caused by node.
Also remember that node 16 is no longer supported: https://github.com/forcedotcom/cli/issues/1985

Running sf 14.6 with node 16
sf version --verbose --json
{
  "architecture": "linux-x64",
  "cliVersion"<EMAIL_ADDRESS>  "nodeVersion": "node-v16.20.2",
  "osVersion": "Linux 4.14.109-99.92.amzn2.x86_64",
  "rootPath": "/root/.local/share/sf/client/2.14.6-1f2724e",
  "shell": "bash",
  "pluginVersions": [
    "@oclif/plugin-autocomplete 2.3.10 (core)",
    "@oclif/plugin-commands 3.0.3 (core)",
    "@oclif/plugin-help 6.0.3 (core)",
    "@oclif/plugin-not-found 3.0.2 (core)",
    "@oclif/plugin-plugins 3.9.2 (core)",
    "@oclif/plugin-search 1.0.3 (core)",
    "@oclif/plugin-update 4.1.2 (core)",
    "@oclif/plugin-version 2.0.3 (core)",
    "@oclif/plugin-warn-if-update-available 3.0.1 (core)",
    "@oclif/plugin-which 3.0.5 (core)",
    "@salesforce/cli 2.14.6 (core)",
    "apex 2.3.20 (core)",
    "auth 2.8.22 (core)",
    "data 2.5.19 (core)",
    "deploy-retrieve 1.19.2 (core)",
    "info 2.6.49 (core)",
    "limits 2.3.39 (core)",
    "login 1.2.37 (core)",
    "marketplace 0.3.0 (core)",
    "org 2.11.4 (core)",
    "schema 2.3.30 (core)",
    "settings 1.4.35 (core)",
    "sobject 0.2.13 (core)",
    "source 2.10.43 (core)",
    "telemetry 2.3.6 (core)",
    "templates 55.5.14 (core)",
    "trust 2.6.20 (core)",
    "user 2.3.37 (core)"
  ]
}

On Running : sf org list, getting the error as:

(secret-tool:2624): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
secret-tool: Cannot autolaunch D-Bus without X11 $DISPLAY
Try this:
Determine why this command failed to set an encryption key for user root: [/usr/bin/secret-tool store --label='salesforce.com' user local domainsfdx].

Running sf 14.6 with node 18

Running node on 18 stand alone: with node -v , error is:

node: /lib64/libm.so.6: version GLIBC_2.27' not found (required by node)         node: /lib64/libc.so.6: version GLIBC_2.28' not found (required by node)
2. _On running sf with node 18, following error is coming:_
      ```
 /root/.local/share/sf/client/2.14.6-1f2724e/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by
           /root/.local/share/sf/client/2.14.6-1f2724e/bin/node)
      /root/.local/share/sf/client/2.14.6-1f2724e/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by
           /root/.local/share/sf/client/2.14.6-1f2724e/bin/node)

(secret-tool:2624): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
secret-tool: Cannot autolaunch D-Bus without X11 $DISPLAY
Try this:
Determine why this command failed to set an encryption key for user root: [/usr/bin/secret-tool store --label='salesforce.com' user local domainsfdx].

@thunderpycode oh I think it's because the CLI tries to use libsecret to manage credentials. Can you try setting the SF_USE_GENERIC_UNIX_KEYCHAIN to true? that will make the CLI use a generic keychain:
https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_dev_cli_env_variables.htm#:~:text=SF_USE_GENERIC_UNIX_KEYCHAIN,a CI environment.

node: /lib64/libm.so.6: version GLIBC_2.27' not found (required by node) node: /lib64/libc.so.6: version GLIBC_2.28' not found (required by node)

yeah,  node 18 only runs on newer kernels, see: https://github.com/forcedotcom/cli/issues/1788

(secret-tool:2624): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
secret-tool: Cannot autolaunch D-Bus without X11 $DISPLAY
Try this:
Determine why this command failed to set an encryption key for user root: [/usr/bin/secret-tool store --label='salesforce.com' user local domainsfdx].

@thunderpycode oh I think it's because the CLI tries to use libsecret to manage credentials. Can you try setting the SF_USE_GENERIC_UNIX_KEYCHAIN to true? that will make the CLI use a generic keychain:
https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_dev_cli_env_variables.htm#:~:text=SF_USE_GENERIC_UNIX_KEYCHAIN,a CI environment.

node: /lib64/libm.so.6: version GLIBC_2.27' not found (required by node) node: /lib64/libc.so.6: version GLIBC_2.28' not found (required by node)

yeah,  node 18 only runs on newer kernels, see: https://github.com/forcedotcom/cli/issues/1788

Hi @cristiand391 thanks, it's resolved in a local instance but while running Jenkins we are having an error like "unable to convert undefined or null objects". Also the above mentioned variable is also set at the env level inside Jenkins. Please help in this if possible

unable to convert undefined or null objects

I'm pretty sure you are hitting this bug: https://github.com/forcedotcom/sfdx-core/pull/969
the fix is available in the current RC (sf v2.15.9), install RC instructions:
https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_update_cli.htm#sfdx_setup_install_cli_rc
or you can wait a few hours until it gets promoted to latest stable today.

unable to convert undefined or null objects

this error was fixed in sf v2.15.9, see: https://github.com/forcedotcom/cli/tree/main/releasenotes/#2159-nov-1-2023-stable

unable to convert undefined or null objects

this error was fixed in sf v2.15.9, see: https://github.com/forcedotcom/cli/tree/main/releasenotes/#2159-nov-1-2023-stable

Hi @cristiand391 thanks for the help, that rc version actually helped in Jenkins CI/CD.


Fix scrollUntilVisible in WidgetTester

Fixes #143921.
The single moveBy event may be consumed when onTap is present.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] I followed the breaking change policy and added Data Driven Fixes where supported.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Maybe we need to introduce this as a new method or guard it behind a parameter to not break all the existing code?


Add Gear Box to the first field of Advanced Search

Problem Description:
The first line of advanced search is displayed as:
Have multiple field or Have a single field or Have name Name
where a gear box is NOT present at the end of Name. However, once you add a name in the field and select Search Lux, the Advanced Search defaults to:
Have All of

Name: [Name]

where it includes the gear box after the name field. In both instances a search is being done, but in only one instance is the gear box present. This needs to be updated to allow gear options to be selected on the very first Name field presented.
Expected Behavior/Solution:
Add the gear box next to the very first Name field presented in Advanced Search. Which will allow users to set gear option preferences before searching in LUX.
Requirements:

The first name field will have the gear icon and all the gear options available.
This gear feature will be available to all tabs (Objects, Events, Works, Places, People & Groups, Events, and Concepts)

Needed for promotion:
If an item on the list is not needed, it should be crossed off but not removed.

[x] Wireframe/Mockup - Amy
[ ] Committee discussions - Sarah
[x] Feasibility/Team discussion - Sarah
[ ] Backend requirements - TBD
[ ] Frontend requirements- TBD
[ ] ~Are new regression tests required for QA - Amy~
[x] Questions
List of questions for discussions. Answers should be documented within the issue.

UAT/LUX Examples:

https://lux.collections.yale.edu/view/results/objects?q= (Objects)

Dependencies/Blocks:

Blocked By: Issues that are blocking the completion of the current issue.
Blocking: Issues being blocked by the completion of the current issue.

Related Github Issues:

Issues that contain similar work but are not blocking or being blocked by the current issue.

Related links:

Bugherd: https://www.bugherd.com/projects/284041/tasks/2439

Wireframe/Mockup:
Current:

Updated: *This will appear for all tabs

Closed Gear

Opened Gear

@roamye @prowns The screenshot of what is expected is not feasible. It is only after a user has started entering a name or has selected the name field that the gear icon should be visible.

@roamye - can you update screenshot to show that?

@prowns @kamerynB - updated.
1 Q - by a user selecting the field, do you mean when they select as below:

or do you mean when they select the field from the single field options?
If it is the first one, then we can leave the first mockup and make a note it should appear once a user selects the field to write the name in. But if it is not then I can delete the first mockup.

The following screenshots are what I was thinking. The options dropdown can not be in the field selection row. That is the view that allows users to select Have multiple fields or Have a single field or Have Name.

Gotcha, I deleted the original wireframe and kept the two ones I recently added.
Thanks for the clarification. I also updated the issue to reflect it should appear after a user enters a minimum of one character into the first name field.
@kamerynB

Approved by UAT 9/27

Looks good in PROD. Closing


Remove Auto generated Agro code

Code in ArgoGeneratedCocde.cs has been generated from the Argo swagger, but the /log endpoint produces malformed Json, this has lead to the file being changed manually, not an ideal situation.
The code need implementing from scratch to include only the endpoints used and so then be customized to get around any issues

The generated code is being used by the Argo plugin for simple API calls; it does not support streaming APIs such as streaming logs.  For complex data structures, it is recommended to use HttpClient directly.

moved to the 0.3 milestone, as its not on the work schedule ATM


Clean-up, type-hints and documentation for three_dimensions.py

Overview: What does this pull request change?

Added type-hints and documentation for three dimensional Mobjects, and removed a deprecated parameter on Surface.set_fill_by_value().

Motivation and Explanation: Why and how do your changes improve the library?

Just some clean-up for improved documentation and type-hints.
Links to added or changed documentation pages

https://manimce--3109.org.readthedocs.build/en/3109/reference/manim.mobject.three_d.three_dimensions.html
Further Information and Comments

Reviewer Checklist

[ ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

#3086


run in vscode

As requested, issue a PR on development branch.

some issues already be addressed, I close this and re-issue one only cover unicode filename instead.


Tours: Use template strings

I've tested these changes on a side server, just saying because last time it didn't went well..

Is this better?

Idk if that error was because of !!targetUser

Thanks!


Not an issue. More like an idea about gradients.

But first... performance in Firefox (the latest version) dropped somehow. I had to turn to Chrome where performance is fine.
Idea is about gradient fills, both for use with fill and stroke. Cool gradients are important for good design yet they can be sometimes tedious to replicate from original design in Photoshop.

Saving gradient fills presets within SnowB would be first step to solve that.
adding color picker would speed up creation of new gradient fills
And adding option to import Photoshop *.grd gradients would be de lux option.

I'm going to take advantage of this issue and add another idea. It would be great if we could define the percentage of the gradient color position. Something like that:


panmove and panstart only work with swipe

I tried writing a simple app with a pan recognizer, but panstart and panmove would not work unless I also added a swipe recognizer and associated it with the pan recognizer. I can't copy the code exactly but it was more or less:
//does not work
var mc = new Hammer.Manager(document.body);
mc.add(new Hammer.Pan());
mc.on('panstart panmove', function() { console.log('working'); });
//works
var mc = new Hammer.Manager(document.body);
mc.add(new Hammer.Pan());
mc.add(new Hammer.Swipe()).recognizeWith(mc.get('pan'));
mc.on('panstart panmove', function() { console.log('working'); });

Also possibly addressed my merging #824


Remove 'OK' from HTTP response when no 'body' is present.

Fixes #2132.

PG?

Not needed but will launch if you like.

@rabbah, there is some discussion around not returning an HTTP code of 200 when the response is empty.

I reject that as non-nonsensical but willing to debate it if someone wants to take the opposing view.
Per https://github.com/openwhisk/openwhisk/issues/2132#issuecomment-293562946, the implementation follows the defaults and I updated the missing default in the docs for body.

pg1/1411 approved.


Lures url

Hello,
I am testing Evilginx2 on my localhost. My config domain is phishing-domain.com
But here is my problem: If i create a new lure for as example okta it says okta.phishing-domain.com
I just want only phishing-domain.com, instagram works fine but okta and many other phishlets the url starts with root domain name such as okta. I dont know why?
Kind regards,

You have to create one subdomain for each phishlet, because your phishing-domain.com identifies your main domain for all other phishlets, I think it is not correct to assign main domain to any phishlet

On localhost it does not matter i think. But instagram phishlets it is phishing-domain.com and for many other phishlets it is automaticly for example okta.phishing-domain.com

Got it


v0.9.4 only print 10 bugs in the running log,"...too many issues to display (limit=10 exceeded)" but inferTraceBugs only print brief log. Can infer didn't limit the bug number, we want all detail running logs as before

present, log "

app/mall/SplashFragment.java:315: error: NULL_DEREFERENCE
object bitmap last assigned on line 299 could be null and is dereferenced at line 315

app/mall/SplashFragment.java:246: error: NULL_DEREFERENCE
object bitmap last assigned on line 240 could be null and is dereferenced at line 246"

Full report with same output as before should be in infer-out/bugs.txt - if you are using it on CI, then you can cat it after running infer and see same results on stdout. Would that work for you?

Is the issue that there is no longer a full text output available that includes the source excerpts around each error?
We introduced the limit because we found it was often too spammy to list all the errors on the terminal. Maybe bugs.txt should include the source excerpts as well to make it more like the terminal output.

To akotulski, infer-out/bugs.txt didn't have source excerpts around each error, it is very simple.  To jvillard, can you add it back to infer-out/bugs.txt if you guys think it is too often spammy. I use it in CI and all my developers like detail codes around the error, they said it is more useful to judge if the report issue needs to fixed at the first glance.

@carozuoP ok, I'll work on adding this feature to bugs.txt. Thanks for the feedback!
PS: If you haven't already, can you please consider adding your company to our list of users? This helps us prioritise open-source users.

thank jvillard so much， my company name is JD(beijing jingdong century trade .ltd), which can be found in NASDAQ

@carozuoP Thanks! Would it be ok to add the logo of your company to our list of users?


[5994] - don't run create degree if no degrees

Context
this missing students ticket produces some errors when importing as it's trying to create two non-existent non-uk degrees upon importing the CSV.
Changes proposed in this pull request
adds a guard clause in the Degrees::CreateFromCSVRow

 Missing Students


Tests: unittest: add call to teardown

The call to the teardown function in unittests was missing
Note that it was present in the case of kernel-testing.
Signed-off-by: Andries Kruithof<EMAIL_ADDRESS>

DNM until I figured out the reason for the buildkite failures...

The tests fail intermittently, also without the changes in this PR, and are therefor not related to the changes made in this PR


[stable/jenkins] Cannot use ClusterIP on Master

Version of Helm and Kubernetes:
$ helm version
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:04:45Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"12+", GitVersion:"v1.12.6-gke.10", GitCommit:"aaf0906400b5fc1d858ce0566a571e4f3ed06b9f", GitTreeState:"clean", BuildDate:"2019-03-30T19:30:48Z", GoVersion:"go1.10.8b4", Compiler:"gc", Platform:"linux/amd64"}

Which chart:
stable/jenkins
What happened:
Given values.yml of
Master:
  Image: jenkins/jenkins
  ImageTag: lts-jdk11
  ServiceType: ClusterIP
  JCasC:
    enabled: true
  Sidecars:
    configAutoloadEnabled: true
  InstallPlugins:
    - kubernetes:1.14.9
    - workflow-aggregator:2.6
    - blueocean:1.14.0
    - git:3.9.3
    - github:1.29.4
    - github-branch-source:2.4.5
    - github-oauth:0.31
    - configuration-as-code:1.10
    - configuration-as-code-support:1.10
    - google-cloudbuild:0.2.2
    - google-oauth-plugin:0.7
    - google-storage-plugin:1.2
  EnableRawHtmlMarkupFormatter: true
  HealthProbes: true
  ingress:
    enabled: true
    apiVersion: extensions/v1beta1
    hostName: # redacted
    path: /
    annotations:
      kubernetes.io/tls-acme: "true"
      kubernetes.io/ingress.class: nginx
      kubernetes.io/ingress.global-static-ip-name: jenkins-static-ip
      certmanager.k8s.io/cluster-issuer: letsencrypt-prod
      certmanager.k8s.io/acme-challenge-type: http01
    tls:
      - hosts:
          - # redacted
        secretName: jenkins-tls
rbac:
  install: true
NetworkPolicy:
  enabled: true

helm upgrade -f values.yml jenkins stable/jenkins will fail with the error
UPGRADE FAILED
ROLLING BACK
Error: Service "jenkins" is invalid: spec.ports[0].nodePort: Forbidden: may not be used when `type` is 'ClusterIP'
Error: UPGRADE FAILED: Service "jenkins" is invalid: spec.ports[0].nodePort: Forbidden: may not be used when `type` is 'ClusterIP'

What you expected to happen:
The upgrade would apply, change my ServiceType to ClusterIP and allow my ingress controller to work
How to reproduce it (as minimally and precisely as possible):

Remove the ServiceType: ClusterIP, and install the chart
Restore the ServiceType: ClusterIP, and attempt to upgrade the chart

Anything else we need to know:
I can successfully install using the LoadBalancer format, but this causes problems using an nginx ingress controller. I've been reading and it seems I'm to use a ClusterIP instead, leading to this issue.

Also, for context, I did a --dry-run of the upgrade (also trying with --reuse-values and --reset-values, neither of which helped) and it does output a manifest that looks correct:
# Source: jenkins/templates/jenkins-master-svc.yaml
apiVersion: v1
kind: Service
metadata:
  name: jenkins
  labels:
    app: jenkins
    heritage: "Tiller"
    release: "jenkins"
    chart: "jenkins-0.37.0"
    component: "jenkins-jenkins-master"
spec:
  ports:
    - port: 8080
      name: http
      targetPort: 8080

  selector:
    component: "jenkins-jenkins-master"
  type: ClusterIP

Spent some time over the weekend debugging this and it may not be an issue with the chart. The generated yaml is perfectly valid, and if I delete the service and helm upgrade again from there everything applies and works correctly. It seems like either Helm or Kubernetes itself is retaining some values somewhere and not correctly removing the nodePort configuration when changing the service to a ClusterIP

@berwyn  I did the same, I removed the service, and I ran "helm upgrade" and the upgrade works, however, when I tried to login , I cannot 😔 even though i am using the same username and password after checking the secret :
printf $(kubectl get secret --namespace cicd cicd-jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo

I'm also experiencing the same issue. Unable to switch the jenkins-master service type to ClusterIp. Please advise.


Add heading option

@slovenianGooner - thanks very much for this PR - cleans up the repeater really nicely when it's used.  Apologies for missing this the past two weeks - will push out a new release now


New Game SCP:SL

Module Request
SCP Secret Laboratory
Game Information:
SCP: Secret Laboratory is a multiplayer horror game, based on SCP - Containment Breach by Undertow Games (in 2012). To create this game, Unity engine was used to provide higher stability and more details. Still being in the beta phase, the game can contain a number of bugs and errors which are usually spotted by a large team of testers and fixed quickly after.
It is a completely free horror game based on SCP Foundation Creepypasta series. The Foundation focuses on protecting the world from any entity, object or phenomenon which exceeds the all-known idea of normal.
The underground facility suffers from multiple breaches from various SCP objects which escape their containment chambers. During this events chain, players are given roles to play:
Class-D Personnel - Prisoners kept for the purpose of being lab rats. Their mission is to escape the facility without getting any attention from others.
Nine-Tailed Fox - Team designated to neutralize the danger and rescue Scientists.
Scientist - Breach attendant that tries to escape the facility alive.
SCP Object - anomaly trying to kill as many people as possible. Currently, only few SCP objects can be found in-game, but progressively their number will grow in oncoming updates.
Chaos Insurgency - Foundation traitors, trying to help Class D to escape in order to obtain helpful information.
The randomly generated facility and role division make every game special and full of sensations! You never know where you are heading or what awaits you behind the next door, no matter what role you are playing. The winning team is the one that finished all of its objectives.
There are many ways of fighting against enemies, from using firearms to detonating the whole facility with a hydrogen bomb.
In the game, we can encounter such anomalies like:
SCP-173 - Living concrete sculpture that can move only when not observed, killing people by snapping opponents' necks.
SCP-106 - Humanoid able to walk past matter, sending its prey to its Pocket Dimension.
SCP-049 - Plague doctor trying to "cure" everyone he meets.
SCP-914 - Object improving machinery.
SCP-096 - "Shy Guy" who screams and goes on a rampage upon looking at him.
SCP-939 - A monster, which can only see if you make sound.
SCP-079 - Sentient AI, which tries to stay on during the breach.
Game Title: SCP:SL
How to obtain: https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/
Suppoted OSs: Win 7 SP 1, 8.1 or 10; 64 Bit
Supports RCON/Console input?
I am pretty sure.
I confirm:

[ ] that I have searched for an existing module request for this application. X
[ ] that the server is an official server distributed by the games publishers/developers. X
[ ] that the server is available to the general public. X
[ ] that the server can be run headless (without a GUI). X

Closed as duplicate of #154 - Please search before posting.


Error label tag id="name-erorr"

Hello friends
I have a problem I have this:
<input data-role = "input" asp-for = "Email" placeholder = "@ Html.DisplayNameFor (r => r.Email)" class = "required" />

but when rendering the HTML in the console it generates this:

<input data-role = "input" placeholder = "Mail" required = "" class = "error" type = "email" data-val = "true" data-val-email = "The Mail field is not a valid e-mail address." data-val-required = "The Mail field is required." id = "Email" name = "Email" value = "" data-role-input = "true" aria-invalid = "true">
 This field is required.

 <button class = "button input-clear-button" tabindex = "- 1" type = "button">   </button>

Somehow meter is adding a label tag that is handling the error in my form
the bad thing about this is that it puts it inside the input and I don't like how it looks visually

metro does not add label, it's someone else


Pin interrupt not handled when two pin ints fires in quick succession

I'm seeing an issue where one pin interrupt is not handled when there is a second pin interrupt firing within 12µs after the first. I have attached a logic_analyzer file that shows the two pin interrupts and the handler of the first pin interrupt.
Interrupt_crash.zip
Explanation of the logic signals: The pin interrupts are active LOW. I've added a pin toggling to the handler that sets the pin LOW when the handler is called (will send a k_alert_send), the pin toggles back to HIGH when k_alert_recv for the same signal is called.

Could you please attach your project configuration?

@jarz-nordic: Do you know who could look at this?

@kl-cruz : may you please take a look?

@kl-cruz: Any progress?

I missed it in notifications! Please give me a while

@kl-cruz: Any progress?

I need some sample code. I can't reproduce it...

Apologies, but we have had to prioritise other issues lately. I have created a ticket for this in our internal Jira as well, and I will argue we prioritise giving you example code for our next sprint. I can at least confirm that we are still seeing this issue on a 52832.

I have been trying to recreate this problem with a set of DKs, connecting two GPIOs, so that a pin toggle on one side would be seen as an interrupt on the other DK. By inserting some code in between toggling pin 15 and pin 16 I am able to change the timing between them. I can see, by using a logic analyzer that it cycles between 0.88µs and 19.68µs, but I can't reproduce the bug.
In the actual code there are a lot more going on, threads being scheduled, SPI traffic running etc, so it might be that this example is way to simple and that is why we can't reproduce it. It's not a big concern for us anymore as we have implemented watchdogs to fix the behaviour, but I've included the code I used for testing, if that can help you in the right direction.
interrupt_bug.zip

@nashif I took a look. I even spent quite a lot of time on this issue trying to replicate the bug but I didn't succeed. I tried with a similar setup as @alexsven, in a loop with increasing interval from ~0.64 µs to ~20.42 µs with the step of one cycle of the 64 MHz clock, i.e. 15.625 ns. And both callbacks were always called. In certain circumstances the order in which they were called was  different (as events from both pins generate the same interrupt and sometimes they can be noticed during one interrupt handler execution), but I haven't noticed a missing callback. So, when it comes to gpio callbacks execution, everything seems to be fine.
Maybe the issue is related to something else in this more complicated setup where it has been seen?

Closing this as currently no one can replicate such behavior with some sample code.
It can be re-opened once such code snippet appears.


Pyright Cant find Node JS

Error M : Please install NodeJs for the server to work.
i have already installed in my linux, and can check node's version via terminal. but still i got a error messeage like above and doesnt work Pyright on SublimeText3
how can i solve this?
os : pop os linux
node version  : 14.10.1
npm : 6.14.8

For SublimeText (and thus the server) be able to find Node executable, you need to make ST aware of the PATH where Node is.
On Linux (and Mac) you do that by augmenting or creating ~/.profile file and either modifying PATH there with something like:
PATH="/path/where/node/is:$PATH"

Remember to re-login or restart the computer after changing

For SublimeText (and thus the package) be able to find Node executable, you need to make ST aware of the PATH where Node is.
On Linux (and Mac) you do that by augmenting or creating ~/.profile file and either modifying PATH there with something like:
PATH="/path/where/node/is:$PATH"

or insert a relevant initialization script there if you are using something like nvm to manage node installations.
Remember to re-login or restart the computer after changing

thank you for your kindly answering. my node file(i installed via apt install nodejs) is in below directory. and i wrote it in profile, then save and reboot. but still not workable.
Nodejs
PATH="/usr/bin/node:$PATH"
could you give me more advice for that?

You have to write the directory path where node is located, not the whole path to the binary. So:
PATH="/usr/bin/:$PATH"

But /usr/bin is most likely already in $PATH because it's a standard location.

The additional question: Was this package working before for you and just broke recently or you have just installed it? I'm asking because there was a change yesterday that could have broken it.

And also, what is the output of
node --version

in your terminal?

The additional question: Was this package working for you before and just broke recently, or have you just installed it? I'm asking because there was a change yesterday that could have broken it.

nope, im a newly installed it 2 or 3 days ago, and today im working on it by re-installing nodejs. but the last time was also being infinite looping to find server with same problem i asked today.

And also, what is the output of
node --version

in your terminal?

v14.10.1

You have to write the directory path where node is located, not the whole path to the binary. So:
PATH="/usr/bin/:$PATH"

Or maybe event better to put the path second so the utilities in /usr/bin don't override the ones in PATH:
PATH="$PATH:/usr/bin/"

i tried both, but cant have any chance to use your's haha. thank you

Please open the ST console by clicking on View > Show Console, and then paste the following in the console:
import shutil; shutil.which("node")

it should print /usr/bin/node, yes?

When i try:

import shutil; shutil.which("node")
(Nothing is shown, i checked node file(actually exist in /usr/bin) via "which node" in terminal) but isn't shown at sublime. that's strange, if it should be founded node's route in sublime)

import os; os.environ["PATH"]
'/app/utils/bin:/app/sublime_merge/bin:/app/bin:/usr/bin'
(The Result)

thank you for keep helping my problem.

So node lives in /usr/bin, and /usr/bin is in your PATH, and ST sees /usr/bin in os.environ["PATH"]. but shutil.which cannot find node for some reason. :thinking:

shutil.which also checks file permissions and requires that the file is executable. Maybe also try this in ST console:
import os; import stat; st = os.stat('/usr/bin/node'); oct_perm = oct(st.st_mode); print(oct_perm)

well, i think that is not pyright's problem, im thinking there is some problem between node and sublime.
import os; import stat; st = os.stat('/usr/bin/node'); oct_perm = oct(st.st_mode); print(oct_perm)
Traceback (most recent call last):
File "", line 1, in
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/node'
after fixing it, will update it. Thank you guys so much!

I finally solved the problem. Really thanks for 2 Developers!
All problems are brought from "Snap store's" Sublime Text!
-- SOLUTION(LINUX) --

Install Node
https://github.com/nodejs/help/wiki/Installation
Visit Sublime Official instead of downloading Sublime from Snap Store!
Install LSP and Pyright.
Done.

Hi, got the same problem now, but Sublime is able to locate Node,
>>> import os; import stat; st = os.stat('/usr/bin/node'); oct_perm = oct(st.st_mode); print(oct_perm)
0o100755
>>> import shutil; shutil.which("node")
'/usr/bin/node'

755 means I have read and execute permissions. Not sure whats causing it. Removed Sublime and the whole config and did a plain install. But it does not work (Latest Arch Linux)

Got it, nodejs is not enought, NPM has to be installed as well.
Maybe we should change the error message?

Got it, nodejs is not enought, NPM has to be installed as well.
Maybe we should change the error message?

You would want to file an issue on https://github.com/sublimelsp/lsp_utils

The next lsp_utils version will show an error dialog when node fails to resolve with some extra information in the console.


Implement ByteBufferReadable for HdfsFileInputStream

hdfs c api prefer to use direct read when opening hdfs file. Code
However, Alluxio's HdfsDataInputStream don't implement interface ByteBufferReadable, so a lot of exception logs are seen when applications (like apache Impala) use hdfs c api to open hdfs files.
Exceptions logs are like below:

UnsupportedOperationException: Byte-buffer read unsupported by input stream

This pull request fix this by implement ByteBufferReadable. In our tests,  it also benefits impala performance (probably because less exception handling and logs).

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5627/
Test PASSed.

Thanks @gengxin for the improvement.  Do you know if this API is available in HDFS Client API since which version? I vaguely recall the reason not having this method is to make Alluxio client (and under storage) compile with  Hadoop 1.x, which is no more a constraint since 2.0. But might be good to double check.

@gengxin Can we target this to master branch first, and then cherry-pick to other release branches?

Do you know if this API is available in HDFS Client API since which version?

@apc999 Thanks for the reminding. ByteBufferReadable interface is supported from hadoop 2.0.2-alpha, so this change will not build on hadoop 1.x version. I also tried to build this change on master branch for the following hadoop versions, all succeeded:
Apache
-Phadoop-2 -Dhadoop.version=2.2.0
-Phadoop-3 -Dhadoop.version=3.0.0
Cloudera
-Phadoop-2 -Dhadoop.version=2.0.0-cdh4.7.0
Hortonworks
-Phadoop-2 -Dhadoop.version=<IP_ADDRESS>.0.5.0-67

which is no more a constraint since 2.0.

Seems alluxio 2.0 still support hadoop 1.x, could I submit this change to master branch?

@gengxin Can we target this to master branch first, and then cherry-pick to other release branches?

Sure, I will do it after the compatibility issue with hadoop 1.x is fixed. :)

@gengxin thanks for the update. if I merge your PR now, it will break the build for Alluxio with Hadoop-1 profile. @calvinjia , is it time to split multiple hadoop modules now for hadoop 1, hadoop 2 and hadoop 3 on client side? I can see multiple benefits actually by having multiple versions

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/9435/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder-jdk11/39/
Test FAILed.

Can one of the admins verify this patch?

@apc999 Came across this PR, do we still want to work on this?

@apc999 Came across this PR, do we still want to work on this?
@jiacheliu3
already implemented  in #13406 . I will close this PR as this is duplicated.


Add Pasta curves

As mentioned in @Pratyush's ZKSummit talk, ZCash announced new curves for Halo 2 and wouldn't mind having them added to this library. I'll try to tackle this myself, but might later need help from someone more familiar with the space.
https://github.com/zcash/halo2/issues/68

@daira beat me to it :) https://github.com/arkworks-rs/curves/pull/21


Accessing mitmproxy over the Internet (HTTP Digest Authentication?)

I use mitmproxy to run userscripts on my phone (Android) and tablet (iOS). When I'm on my own Wi-Fi, I've simply configured proxy settings right on the clients, and it works like a charm.
However, I also want to be able to access the proxy when I'm not home, but I absolutely don't want it open to the Internet, for obvious reasons. My current solution is to connect to mitmproxy through a VPN tunnel, but that has its problems:

OpenVPN can't push proxy settings to Android clients, so I have to route all traffic from my phone at the network layer; hence, I have to run mitmproxy in transparent mode. This means mitmproxy can't filter traffic properly in general, so some apps are blocked (due to certificate pinning, I think).
Setup becomes much more complex overall (VPN server, routing, Android VPN toggle tile etc).
Consumes more battery on the device.
I have to toggle VPN on and off all the time.

Instead, I would like to be able to set example.com:8080 as HTTP proxy in the Android/iOS settings, even when I'm not home. Granted I'd have to do it for every Wi-Fi where I want access to my proxy (and I'd still have to use VPN when not on Wi-Fi), but that would nevertheless be a pretty big upgrade over my current setup.
As previously mentioned, this would of course only be viable if I could protect the proxy with strong authentication. But as far as I can tell, only HTTP Basic Authentication is supported. Correct me if I'm wrong, but that's so insecure that I might as well not have any authentication at all, right?
If I'm just missing some vital piece of information, please feel free to point me in the right direction. Otherwise, maybe it would be possible to implement HTTP Digest Authentication support? Or would there be any other way of securely accessing mitmproxy over the Internet?

Sounds like a reasonable feature request - pull requests are welcome!

@SimonAlling have you tried using ngrok ?
with ngrok you can create public URLs for exposing your local server
and you can Password-protect your tunnel as easy as, for example:
ngrok http -auth="username:password" 8080

@SimonAlling have you tried using ngrok ?
with ngrok you can create public URLs for exposing your local server
and you can Password-protect your tunnel as easy as, for example:
ngrok http -auth="username:password" 8080

But that's still Basic Authentication, as far as I can tell, i.e. not secure?

You can make your tunnels secure with the -auth switch. This enforces HTTP Basic Auth on all requests with the username and password you specify as an argument.

Implementing an MD5 hash would be a great idea. Would like to work on it!

Another idea I got recently is to setup mitmproxy behind another proxy that does support HTTP Digest Access Authentication. I have experimented with Squid, which seems promising, but there are several question marks left before one could talk about an actual solution.

When you Access the Proxy over Internet with https, then Basic Auth is Not really a Problem.
Only when you use http, then every sniffer can catch your credential.
So use a good https servercertificate, then you are also good with https Connection and Basic Auth Header

Currently, my approach is to run VPN and mitmproxy in the same network within Docker containers. In the exported VPN connection configuration, I set up HTTP and HTTPS proxies, ensuring that the VPN's root CA is consistent with that of mitmproxy. If they are inconsistent, multiple root CAs may need to be installed. This method currently only works for iOS devices because the mobileconfig of iOS supports VPN HTTP proxy configuration. For Android, I haven't thought of a good solution yet; I feel that Android could use traffic forwarding (there is a certificate issue here).


Advanced routing: Alias

Describe the problem
We  have a requirement for routing that I believe would require some sort of aliasing, or perhaps a routedirectory, that could use multiple / within it.
Currently we have routes like this:
/[customerId] -> should show the list of articleIds-page
/[customerId]/[articleId} should show the same list of articleIds, but with selected articleId expanded.
/customerId]/articleId/meta: should show the metapage for that articleId.
/[cusomterId]/meta should show the metapage for that customer.
Describe the proposed solution
if I could have a routefolder that could contain [customerId=customerId]/[[articleId=articleId] that would solve the problem for me, but / is not allowed in a filepath. Perhaps a different character could be used here, such as \.
An alias property could possibly also solve this:
// ./src/routes/[customerId=customerId]/[articleId=articleId]
export const alias = ({url, params}) => {
  const {articleId, ...restParams} = params
  return {
   params: restParams,
    url: url.replace("/" + articleId, '')
  }
}

which would then again match to the [customerId=customerId]-resolver.
To clearify a bit, what we would like is for our /[customerId]-page to also be active for the url /[customerId]/[articleId].
Alternatives considered
Expanding the selected articleId on the article-list-page with a search-param would solve it, and looks cleaner in my opinion. It is a bit wierd to have two full routes (as in pathname) that resolves to the same page, but as for the current situation, we are migrating a legacy-system over, and therefore we want to keep the same urls.
Using a rewrite in the reverse-proxy would not solve this on its own, but could work if combined with a search-param. That wouls solve this for our case. I am just wondering if this is something that sveltekit should be able to do on its own.
Importance
nice to have
Additional Information
No response

Could you clarify why you need aliasing for your use case?  If this could be solved with rewrites then this would be a duplicate of #5703

In my proposal, a sort of aliasing would help, as it could make a nested route be handled by a parent page-handler, as if the extra path-element was given as a search-param or similar.

What I mean is, I don't understand the use case presented. What's up with / not working etc? Maybe it would help to write out examples of how the urls should look like after the params are filled in, and what's missing to make it work.

Had to read that a few times but I think I got it.
Instead of an alias I'd suggest creating a svelte component that you import in both page files. It's more verbose about what routes actually exist

If you got it, could you elaborate? Because I still don't get it 😄

I think he is talking about this scenario:
The pages /[customerId] and /[customerId]/[articleId] should show the exact same html
/customer-1
article 1 ↓
article 2 ↓
article 3 ↓

The only difference is that on /[customerId]/[articleId] the requested article is expanded
/customer-1/article-2
article 1 ↓
article 2 ↑
  some content
article 3 ↓

So he suggests instead of creating both files/routes src/routes/[customerId]/+page.svelte and src/routes/[customerId]/[articleId]/+page.svelte you should be able to define an alias for a page.
In my opinion you should create a component like ArticleList and use it in both pages.

Thanks for clearing it up. Since there are existing ways to achieve this (I would prefer the two pages + reusable component pattern) I'm going to close this. The alternative would be to add more API which means more ways of doing the same thing and more maintenance overhead. Thanks everyone!


Create Workload Identity Federation that can create other workload identity federations

Establish an initial workload identity federation token between Azure and a specific GitHub repository using a high-privilege user.

Enable workloads in the repository to access Microsoft Entra for creating additional workload identity federation tokens.

New created federated workload identity tokens can be assigned to other repositories, reducing the need for high-privilege access. This enhances security by limiting the usage of high-privilege credentials and providing scalable identity management.
Closes #154
Microsoft Reviewers: Open in CodeFlow

This is a work-in-progress. Policy prevents merging luckily. I get both the policy and rest of the code later. :)

@microsoft-github-policy-service agree

@veikkoeeva please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

@dkershaw10 They make sense, but at least next week I am not able to do much about this sample. Maybe we are not in a hurry, and then it becomes possible to remove the TODO comment and refactor that part.
The case here is such that I have thought it will be a human who deploys the creator and it will have priviledges to deploy things to mangement groups, subcriptions and so on. This way it would be possible for it to create e.g. a resource group to Azure, create a FIC that is allowed to operate for that resource group. This isn't shown at the moment. I have not documented the required privileges this human needs to deploy the initial FIC and repository.