android: Update target SDK version

Per [1] and [2], update our target SDK version before the November
deadline.
Fortunately, there appear to be no changes listed that affect us. [3]
[1] https://developer.android.com/distribute/best-practices/develop/target-sdk
[2] https://android-developers.googleblog.com/2019/02/expanding-target-api-level-requirements.html
[3] https://developer.android.com/about/versions/pie/android-9.0-changes-28

Note that I'm not as sure about this commit as I was ten minutes ago: on the Google Play Console there's a list of currently-greylisted APIs we're using. None of them seem to be on the (very short) Pie blacklist, but they should probably still tracked down and verified harmless before a full release.

Thanks! The other cross-reference here is #3563 .
As we discussed in person, I think the next thing we want to do to validate this, following the investigations you've done of each of the areas where things have changed (and in parallel with the last steps like those greylisted APIs), is to get it out to our beta users. That will help surface any unknown unknowns.
Let's send out a beta tomorrow, I think; would do it now except it's getting late in the day (and I'd like to tie up a few unrelated loose ends before the day's over.)
In the commit message, it'd be helpful to mention #3563. Perhaps leave it open until we've completed the validation we want to do, though.

Going to merge and send this to beta! :crossed_fingers:
Let's use #3563 for continuing the discussion of those graylisted APIs and anything else that comes up.


Support 128bit trace IDs

Currently Jaeger clients generate 64bit trace IDs by default. Organizations with large traffic volume may run into ID collision and need 128bit trace IDs (also required by w3c trace context #855). Jaeger backend and some clients already support 128bit IDs. This issue is to track support across all clients.
Requirements

By default the clients must still generate 64bit IDs, to maintain compatibility with existing code in production, especially in the applications that have not yet upgraded to the newer clients.
128bit IDs for new traces must be opt-in via tracer configuration.
However, if a client receives 128bit trace IDs, it should propagate it further as is, without truncating to 64bit. The risk of receiving side not being able to parse it is an organizational challenge (below).

Work tracker

[x] Go client
[x] Java client (https://github.com/jaegertracing/jaeger-client-java/issues/495)
[x] Python client (https://github.com/jaegertracing/jaeger-client-python/issues/228)
[ ] Javascript/Node.js client (https://github.com/jaegertracing/jaeger-client-node/issues/295)
[x] C# client
[x] C++ client
[ ] Update clients feature matrix in the documentation

Org Upgrade Process
The proposal for organizations wishing to upgrade to 128bit IDs is to follow this process:

make sure that all applications / services are upgraded to use Jaeger clients that can read 128bit IDs, but on trace creation still generate 64bit.
once all applications are upgraded, start rolling out a configuration change that instructs Jaeger clients to generate 128bit IDs for new traces.

Don't forget C++, although this is already done.

Does C++ implementation meet the requirements above?

Ya this "feature" ended up delaying the initial release of the C++ client because it would generate 128 bit by default. After debugging that, I added the option to generate 128 bit trace IDs, but set it off by default. The propagation inherently works because I didn't add any other logic to support 64 bit trace IDs (no truncating, etc.).
Must use option flags to use high bits: https://github.com/jaegertracing/jaeger-client-cpp/blob/master/src/jaegertracing/Tracer.cpp#L77-L79.

C# Version will create new 64 bit trace ids stating v0.1.1 and accept 64 and 128 bit trace ids. v0.2.0 will add configurability. We will have a look at how C++ solved it and check if that’s a solution we also want to use.

Just added configurability in https://github.com/jaegertracing/jaeger-client-csharp/pull/94 by proposing the following changes to the API:

Added environment variable JAEGER_TRACEID_128BIT
Added WithTraceId128Bit method to Configuration
Added WithTraceId128Bit method to Tracer.Builder
Adde UseTraceId128Bit property to Tracer

Go and C++ have done it through their options context and do not offer it through Configuration (either code or environment) yet. It would be great to discuss if we like to have this in configuration and if, what env-var to use.

I guess we should think about the objective here. Many tracing systems today do 128bit+ IDs by default. I would like Jaeger, in the future, to also default to 128bit, and make the 64it configuration a legacy thing. Given that, should it really be controlled via Configuration class, rather than more verbose/explicit tracer builder?

I guess I don't mind either way. The issue with the Go/C++ client is that the default is 64 bits and any change to those options might be considered a breaking API change. C# had no option until now, so it should probably hide the option a little better, but defaulting to 64 bit is a requirement until all clients have this support. My crossdock tests broke when I tried to default to 128 bits in C++ because the Python/Java clients did not preserve the trace ID from C++ and effectively dropped the first 64 bits.

but defaulting to 64 bit is a requirement

Actually, when we create brand new clients it does not have to be. But we we have users already then yes.

Just added configurability in jaegertracing/jaeger-client-csharp#94 by proposing the following changes to the API:

Added environment variable JAEGER_TRACEID_128BIT
Added WithTraceId128Bit method to Configuration
Added WithTraceId128Bit method to Tracer.Builder
Adde UseTraceId128Bit property to Tracer

Go and C++ have done it through their options context and do not offer it through Configuration (either code or environment) yet. It would be great to discuss if we like to have this in configuration and if, what env-var to use.

Hey I am using "JAEGER_TRACEID_128BIT" environment variable to enable 128bit trace id support but while I deploy application image in windows container it works fine but when I deploy the same image in kubernetes it never generates 128bit traceid for the same image and with same variables passed.
Below is my JAEGER client configuration of c# :
services.AddOpenTracing();

            // Adds the JAEGER Tracer.
            services.AddSingleton<ITracer>(serviceProvider =>
            {
                Tracer tracer = null;
                Jaeger.Configuration jaegerConfig = null;
                var hostingEnv = serviceProvider.GetRequiredService<IHostingEnvironment>();

                // Add project name as service name as a default to JAEGER client if not passed from outside as a parameter.
                serviceName = serviceName ?? hostingEnv.ApplicationName;
                try
                {
                    jaegerConfig = hostingEnv.IsDevelopment()
                        ? new Jaeger.Configuration(serviceName, loggerFactory)
                        : Jaeger.Configuration.FromEnv(loggerFactory);
                }
                catch (Exception)
                {
                    jaegerConfig = new Jaeger.Configuration(serviceName, loggerFactory);
                }

                // Get tracer instance with configurations.
                tracer = (Tracer)jaegerConfig
                    .WithSampler(Jaeger.Configuration.SamplerConfiguration.FromEnv(loggerFactory)) // This will fetch all the configurations for Sampler from environment variables.
                    .WithReporter(Jaeger.Configuration.ReporterConfiguration.FromEnv(loggerFactory)) // This will fetch all the configurations for Reporter from environment variables.
                    .GetTracer();

                // Allows code that can't use DI to also access the tracer.
                GlobalTracer.Register(tracer);

                return tracer;
            });

And below are the variables used to deploy image in both environments windows container and kubernetes -
docker run --rm --link jaeger_local --env JAEGER_SERVICE_NAME="facility.default" --env JAEGER_AGENT_HOST=jaeger_local --env JAEGER_AGENT_PORT=6831 --env JAEGER_SAMPLER_TYPE=const --env JAEGER_SAMPLER_PARAM="1" --env JAEGER_TRACEID_128BIT=true --env JAEGER_REPORTER_LOG_SPANS=true -p 1561:80 facility

@Tanejaankush looks like this might be related to the C# client? Could you please open an issue against that repo? https://github.com/jaegertracing/jaeger-client-csharp

@Tanejaankush looks like this might be related to the C# client? Could you please open an issue against that repo? https://github.com/jaegertracing/jaeger-client-csharp

Okay raised https://github.com/jaegertracing/jaeger-client-csharp/issues/143


Typo in calculate_mes bandwidth

Within the calculate_mes function in the run_cross_sectional.m file, the current bandwidth for the kernel density estimator appears to be based on the Silverman "rule-of-thumb bandwidth estimator":
    r0_n = 4 / (3 * length(r0_m));
    r0_s = min([std(r0_m) (iqr(r0_m) / 1.349)]);
    h = r0_s * (r0_n ^ (-0.2));

However, I believe that the exponent is incorrect. I believe the formula for h should actually be:
    h = r0_s * (r0_n ^ (0.2));

See https://link.springer.com/chapter/10.1007/978-3-030-16272-6_3#Sec11 Section 5.5.
In addition I believe that you may want to scale r0_s by the conditonal market volatility, as everything else within the kernel density estimate is scaled. That is I believe this line:
    r0_s = min([std(r0_m) (iqr(r0_m) / 1.349)]);

Should actually be:
    r0_s = min([std(r0_m ./ s_m) (iqr(r0_m ./ s_m) / 1.349)]);

When using actual P&L, if you don't scale r0_s by s_m, the value of h will be proportional to the standard deviation of the P&L. Practically, this will mean that for the value of f will be approximately .5 as (c ./ s_m) - u) divided by some very large number will converge to approximately 0, since (c ./ s_m) - u) should always be on the scale of approximately -10 to 10.

Hi @modigzd, the issue should be fixed with the new release as of today. Thank you very much for your contribution, do not hesitate to contact me if you spot other issues!
Tommaso


Initial implementation.

This a bare-bones (no metric gathering support) but functional implementation.
Tested in https://github.com/stackrox/stackrox/pull/10750
On that PR, (judging from the logs of a few jobs) deploying the pre-fetcher added 7-18 seconds, and waiting for pulls to complete 1-4 seconds to the job runtime, but likely provided a moderate net speed-up, since non-prefetched stackrox image pulls was on the order of 20-40 seconds.

@rukletsov would you be able to review this while @janisz is out?


Quora extraction does not stop

Environment:
Chrome 54.0.2840.71 (64-bit)
Mac OSX El Capitan
Trying to extract my content from Quora profile, while being logged in properly and on my profile page, I found the process did not after 2-3 hours. Noticed in the browser window that the same batch of URLs were popping up continuously. Laptop's fan got all active very frequently, need not be a problem in itself. Had to kill the plugin by un-installing it and closing browser window.

Thanks for the report! I've had a couple users reporting similar issues with Quora. If you don't mind letting me know your Quora username, I can try to reproduce it. I should at least be able to get your download for you if I can't.

No issues at all Erik, my profile link is https://www.quora.com/profile/Mahesh-Ramakrishnan
Do let me know if you need any other detail.

I was able to download the data -- it took about 15 minutes. Depending on your bandwidth and device, it can take longer, but you may also have encountered a bug that I'm not able to reproduce.
In any case, let me know if you'd like me to send you a copy -- if so, just send me a ping to eloquence AT gmail DOT com and I'll send it to you. If you'd like to publish the data under an open license (like the data at https://freeyourstuff.cc/browse ) I can help with that as well.

Extraction logic has largely been rewritten for the new answer UI, so closing for the time being.


Breaking usage issue in README

This line in the README is wrong in a couple of ways:
app.get(/\/api-docs\/+.*/, ...swaggerUi.serve)

First, restify no longer supports RegExp objects for the path parameter, although its documentation does not make that clear.
Second, the above line is meant to handle requests that the Swagger page makes for some static files at http://yourhost/api-docs/*. However, the requests actually go out to http://yourhost/*, so the files are not found and the page does not load correctly.

More info and fixes:
https://github.com/bvanderlaan/swagger-ui-restify/issues/5#issuecomment-621386049
https://github.com/bvanderlaan/swagger-ui-restify/issues/3#issuecomment-621388734

Updated usage fix:
let docPath = '/api-docs';
app.get(docPath + '/*', ...swaggerUi.serve);
app.get(docPath, swaggerUi.setup(swaggerDocument, {baseURL: docPath}));


EASY-1727 LDAP connectie wordt niet hernieuwd nadat die gesloten is

fixes EASY-1727
When applied it will

create LDAP-connection every time anew when needed; originally LDAP-connection was created only once when starting the service.

Where should the reviewer @DANS-KNAW/easy start?
How should this be manually tested?
related pull requests on github

repo
PR

easy-
PR#

Look good to me. Merging.


fix 15438 maintain white space in display name

Details
Maintain whitespace when showing display name
Fixed Issues

$ https://github.com/Expensify/App/issues/15438
PROPOSAL: https://github.com/Expensify/App/issues/15438#issuecomment-1445001066
Tests

Open the app
Navigate to Settings > Profile
Click on Display Name
In the First Name field enter a string separated by a bunch of spaces (eg : Daraksha                  Test.)
Save
Verify the display name is correct within white spaces on setting page, profile page, LHN, report header, report item header, participant local time, IOU message, new chat page, new group page, send money page, request money page, detail page

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Open the app
Navigate to Settings > Profile
Click on Display Name
In the First Name field enter a string separated by a bunch of spaces (eg : Daraksha                  Test.)
Save
Verify the display name is correct within white spaces on setting page, profile page, LHN, report header, report item header, participant local time, IOU message, new chat page, new group page, send money page, request money page, detail page

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
1. setting page

profile page

LHN

report header

report item header

participant local time

IOU message

new chat page

new group page

send money page

request money page

detail page

Last Mesage in LHN

Subtitle in header of workspace pages

Workspace name in LHN

Workspace name in detail workspace chat

Workspace name in settings of workspace chat detail

Mobile Web - Chrome

setting page

profile page

LHN

report header

report item header

participant local time

IOU message

new chat page

new group page

send money page

request money page

detail page

Last Mesag

e in LHN

Subtitle in header of workspace pages

Workspace name in LHN

Workspace name in the subtitle of report

Workspace name in detail workspace chat

Workspace name in settings of workspace chat detail

Mobile Web - Safari

setting page

profile page

LHN

report header

report item header

participant local time

IOU message

new chat page

new group page

send money page

request money page

detail page

Last Mesage in LHN

Subtitle in header of workspace pages

Subtitle in header of workspace pages

Workspace name in LHN

Workspace name in the subtitle of report

Workspace name in detail workspace chat

Workspace name in settings of workspace chat detail

Desktop
1. setting page

profile page

LHN

report header

report item header

participant local time

IOU message

new chat page

new group page

send money page

request money page

detail page

Last Mesage in LHN

Subtitle in header of workspace pages

Workspace name in LHN

Workspace name in detail workspace chat

Workspace name in settings of workspace chat detail

iOS

setting page

profile page

LHN

report header

report item header

participant local time

IOU message

new chat page

new group page

send money page

request money page

detail page

Last Mesage in LHN

Subtitle in header of workspace pages

Workspace name in LHN

Workspace name in the subtitle of report

Workspace name in detail workspace chat

Workspace name in settings of workspace chat detail

Android

setting page

profile page

LHN

report header

report item header

participant local time

IOU message

new chat page

new group page

send money page

request money page

detail page

Last Mesage in LHN

Subtitle in header of workspace pages

Workspace name in LHN

Workspace name in the subtitle of report

Workspace name in detail workspace chat

Workspace name in settings of workspace chat detail

In Workspace Name space is missing in Header

@Santhosh-Sellavel I just updated, please help to check again

@Santhosh-Sellavel  I just updated the workspace name in all pages, please help to check again

Workspace Setting

2. LHN

Detail workspace chat

Settings in workspace chat detail

Workspace names are now appearing on two lines if they are extremely long

It truncates on main

Hi @alex-mechler Thanks for pointing this out. We have to use white-space: pre on TextInput with numberOfLines prop is 1. I just updated it in all places, please help to check again

The workspace name is missing extra spaces in the LHN and header

This issue really crazy one, we could easily miss a few places if we are not careful.  Will continue testing this tomorrow meanwhile please look into the above issue @tienifr, thanks!
cc: @alex-mechler

Hi @alex-mechler I don't see it in the latest version of branch fix/15438-maintain-white-space-in-display-name Could you help to check whether you update the new code?
cc @Santhosh-Sellavel

@alex-mechler I just fixed it, please check again
In Web

In Mobile

Conflicts @tienifr

Bug: Missed on New room flow

In the Archived room banner workspace name is not handled correctly

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@Santhosh-Sellavel  I just fixed that

Spent some time poking around, didn't see any spots that were immediately missed. @Santhosh-Sellavel Please ping me when this is ready for my review!

Weird I still don't see the space

All Issue still not addressed on chat search results
https://user-images.githubusercontent.com/85645967/226200049-fb7f25f6-2613-4c94-bf0e-2fcd1251d98c.mov

@Santhosh-Sellavel
I just fixed the workspace name in the search result

We are rendering the workspace name in the Archived room banner as HTML. So I suggest adding white-space: pre to the strong tag. like [the lastest commit],(https://github.com/Expensify/App/pull/15646/commits/46245192880279ec22f58a2a9361b054dfe1daf2)
If we don't want to apply the white-space attribute to all strong tags, we also can create a new tag with white-space: pre and fontWeight: bold and use it in the  Archived room banner. Both solutions work well

Over to you @alex-mechler!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/alex-mechler in version: 1.2.88-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This PR is causing a regression please see -> https://github.com/Expensify/App/issues/16376

Revert PR https://github.com/Expensify/App/pull/16395

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.2.88-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.2.88-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Support more than one XMPP account

As Pàdé gains features, more will use it, and some will have more than one XMPP account. Ex.: one for work, and a personal account.

Thanks for raising this issue. I have thought hard and long about this. I have my personal views about this as the implementations in Jitsi and Conversations are as complicated as using SMS with a mobile phone that has 2 SIM cards.
XMPP federation by design should allow a user to access both work related and personal chat-rooms/contacts with a single account. However there may be business rules that may mandate the separation of contacts and enforcing of different communication regulations.
The traditional way was to use an XMPP gateway server-side and once upon a time, Kraken was the most popular Openfire plugin because its multiple tentacles enabled bridging into AIM, Yahoo, GTalk and multiple XMPP accounts.
I am in favor of doing it server-side with simpler version of Kraken that does only XMPP accounts instead of a client-side implementation in the style of JItsi or Conversations. It will be simpler to add a plugin to Converse to manage the XMPP gateway protocol known as XEP 0100
However, there is simpler solution if the requirement is just to have work and personal accounts. This is the approach adopted by WhatsApp. The creation of the WhatsApp Business application which is basically a clone of WhatsApp with some new unique business related features. As Pade was designed to clone-able with the intent to re-brand for different use cases, I can easily add Pàdé for Business to the Chrome Web Store.

Pàdé at work cloned and available from chrome web store as from version 0.6.0.  Both applications have been re-branded with new icons.

Converse@Home

Converse@Work

I see what you mean by UX challenges in XMPP clients. I have 4 XMPP accounts myself. And it's tricky when contacts get mixed up. So I an intrigued with the idea of starting two instances of Pàdé
Is multiple instances of a Chrome Extension supported?
Will that fragment our work / community here?
https://chrome.google.com/webstore/detail/pade-openfire-meetings/fohfnhgabmicpkjcpjpjongpijcffaba?hl=en
In the future, when we support other browsers, one could get yet more XMPP accounts supported. 2 via Firefox, 2 via Chromium, etc. ;-)
Thanks!

Is multiple instances of a Chrome Extension supported?

No. Not that I am aware of. It will be Pade packaged as Pade@Home and Pade@Work in the chrome web store.
Long term solution for multiple accounts will be to use an XMPP gateway as explained earlier on.

Pade@Work (formerly known as Pade) now available from chrome web store
Pade@Home is also available from chrome web store

Both URLs are identical

Both URLs are identical

Thanks, Just corrected it :-)


[icons] adding architecture to support icon variants

• added classnames/arch to use one SVG image to show different variants of the image
• supported variants =  solid, outline, badged-solid, badged-outline, alerted-solid, alerted-outline
• refactored Clarity Icons to use post-BS Clarity naming conventions; seemed to work fine
• created a basic demo to test variants
• demo will not be added to website until we've added variants for existing icons

Tested in:
✔ Chrome
Signed-off-by: Scott Mathis<EMAIL_ADDRESS>

👍
Now we need to make sure every icon we have supports this, but that API is fantastic.


Added navbar links and resolved conflicts

Fixed #39

@Krish-Panchani thank you for your contribution 😇


Template 10 Crashing when PC runs under 125% Magnification

I have posted this bug before , but Jerry closed it because he probably could not produce the same error.  Can someone else plse check and give feedback.  I managed to figure out that this error is only happening under magnification of system settings.
In the first image you will simply see the dropdown items listed without a vertical scrollbar (100% magnification setting on PC)

I will now change the magnification on the system to 125%

Dropdown will now change to one that has a vertical scrollbar - clicking on the down button of the vertical scrollbar will produce the error.

Click here to produce error

Click here to produce error.

Hey Pinox - does the same behavior happen if you just use a CommandBar instead of the Header control?

I think @darenm may be onto something. There is nothing custom about the secondary menu in the PageHeader. I think what you may have discovered is an artifact of the CommanBar, which the PageHeader is sub-classing. Please confirm.

Hi Guys, the error above happens in the standard "hamburger" template of template 10.
The template code is as follows
controls:PageHeader.SecondaryCommands

</controls:PageHeader.SecondaryCommands>
Changing the above code to a commandbar I still get the error
<CommandBar.SecondaryCommands>

</CommandBar.SecondaryCommands>
Therefor in both pageheader and commandbar i see the same error on the MainPage.xaml

I checked Microsoft People UWP app and the same error occurs.

So it appears you have found an issue with the Windows platform as opposed to Template10 - I strongly suggest you report your findings using the windows feedback tool.


Stoichiometry - min and max not represented in complex viewer

Stoichiometry has a min and max but only a single value is displayed on the complex viewer.

Note: Complex Portal shows min value and no max value.

this is still a live issue?

We are fine with only min value being displayed. We can't display both, we know that. There are very few cases with an actual range.


[hotfix] Disable e2e execution in PRs

What is the purpose of the change
Because azure is overloaded, disable e2e test execution for PRs.
Brief change log

skip e2e execution if the branch name starts with ci_.

Verifying this change
This PR should not execute any e2e tests.

Thx. I will merge once I see it's working as expected.

It works. Merging: https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=1851&view=results


Cloud backup outreach and adoption by wallets

Was meaning to create an Epic but mistakenly created a ticket (closing this ticket for that reason)


wip: Some T.attached_class experiements

Motivation

Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_NNjKiwdlFZjwQ3
→ https://go/builds/bui_NNjKbh7JNj4zyL


Add initial instructors based on the readme

There are a few things left to be decided tomorrow.

@bast @blankdots @blindij @wikfeldt @annefou can you confirm these schedule placements?  They come from https://github.com/coderefinery/2020-05-25-online#schedule-planning but we should reconfirm.

@rkdarst I confirm (social coding). I will also be helping 25 and 26 May. And 2-3-4 June.

I will merge this now and then compare both README and the HTML with what we wrote on the chat and send an adjustment PR.


pyknowhere - support dump and load index file

/kind feature

/lgtm

It needs to be noted somewhere that reading/writing errors are not exposed

@alexanderguzhva The load and dump API changes will only appear in pyknowhere, and will not participate in the compilation of knowhere c++. How to accurately expose error messages to Python is still rough in the current version, and seems to need to be redesigned.
By the way, I have squashed all commits into one, and LGTM label has been removed. Please give another one~

/lgtm

@alwayslove2013 issue link plz

related issue: #154

/approve


borderColor not working in RN CLI

Please provide all the information requested. Issues that do not follow this format are likely to stall.
Description
i wanna apply a borderColor to component View
I 've tried borderColor: "#D5DDE5" ,  border: "1px solid #D5DDE5"
but it's not work
How do i  solve to this
React Native version:
Run react-native info in your terminal and copy the results here.
 "dependencies": {
    "@react-native-community/checkbox": "^0.5.8",
    "react": "17.0.1",
    "react-native": "0.64.1",
    "react-native-apple-header": "^0.1.1",
    "react-native-bottom-search-bar": "^0.1.3",
    "react-native-bouncy-checkbox": "^2.1.1",
    "react-native-channel-plugin": "^0.6.1",
    "react-native-render-html": "^5.1.0"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/runtime": "^7.12.5",
    "@react-native-community/eslint-config": "^2.0.0",
    "babel-jest": "^26.6.3",
    "eslint": "7.14.0",
    "jest": "^26.6.3",
    "metro-react-native-babel-preset": "^0.64.0",
    "react-test-renderer": "17.0.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

yarn start
yarn ios

Expected Results
Describe what you expected to happen.

i will show up border grey as seen above
Snack, code example, screenshot, or link to a repository:

import React, { useEffect, Component, useState } from 'react';
import {
  SafeAreaView,
  ScrollView,
  StatusBar,
  StyleSheet,
  Text,
  useColorScheme,
  View,
  useWindowDimensions,
  Button,
} from 'react-native';

import {
  Colors,
  DebugInstructions,
  Header,
  LearnMoreLinks,
  ReloadInstructions,
} from 'react-native/Libraries/NewAppScreen';

import CheckBox from '@react-native-community/checkbox';

import { ChannelIO } from 'react-native-channel-plugin';

import HTML from "react-native-render-html";

import BouncyCheckbox from "react-native-bouncy-checkbox";

let settings = {
  "pluginKey": 'dd889e7b-cd32-42da-8d73-642575fa6961',
  "channelButtonOption": {
    "xMargin": 16,
    "yMargin": 16,
    "position": 'right',  // 'left', 'right'
  }
}

ChannelIO.boot(settings).then((result) => {
  console.log(result)
})

ChannelIO.showChannelButton();

const App = () => {
  const [serviceCheckBox, setServiceCheckBox] = useState(false)
  const [privacyCheckBox, setPrivacyCheckBox] = useState(false)
  const [marketingCheckBox, setMarketingCheckBox] = useState(false)

  const [serviceEnable, setServiceEnable] = useState(true)
  const [privacyEnable, setPrivacyEnable] = useState(true)
  const [marketingEnable, setMarketingEnable] = useState(true)

  const isDarkMode = useColorScheme() === 'dark';

  const backgroundStyle = {
    backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
  };
  const contentWidth = useWindowDimensions().width;
  return (
    <SafeAreaView style={{ flex: 1 }}>
      <View style={{ flex: 1, padding: 20 }}>

        <Text style={{ fontWeight: "bold", fontSize: 24, marginBottom: 24 }}>이용약관을 동의해 주세요</Text>

        <ScrollView style={{ flex: 1 }} nestedScrollEnabled={true} >
          <Text style={{ fontSize: 16, marginBottom: 12 }}>서비스 이용 약관</Text>

          <View style={{ height: 240, padding: 12, borderRadius: 10, backgroundColor: '#fff', border: "1px solid #D5DDE5", marginBottom: 24 }}>
            <ScrollView style={{ borderColor: '#fff' }} nestedScrollEnabled={true}
            onScroll = {
              (e) => {
                let paddingToBottom = 1;
                paddingToBottom += e.nativeEvent.layoutMeasurement.height;

                if (e.nativeEvent.contentOffset.y + paddingToBottom >= e.nativeEvent.contentSize.height) {
                  setServiceEnable(false)
                }
              }
            }
            scrollEventThrottle={0}
            >

Hi @salgilbarana,
Please check https://reactnative.dev/docs/view-style-props. I believe you've mistaken this with web but in native you can use:
borderColor: ..
borderWidth:

Example expo: https://snack.expo.io/NBQV6yh6F

omg thank you so much
I got it my mistaken
im sorry bother u


Add minor fixes and a small feature

Fix missing files being triggered by empty files
Fix missing files also being skipped files
Add unique string option to prevent incorrect spec version execution

reasonably minor fixes

LGTM.


Accessing camper profile page in development environment is hidden

Describe the issue
While changing the RTL layout, I tried to access profile but was getting 404 page, luckily Naomi guided me and told me that it's a custom error page. This is abstract and hard to know for developers new to codebase, which may block people who may have the intention to help out.
To Reproduce
Steps to reproduce the behavior:

Run Gitpod environment
Open the menu in nav bar
Click Profile
See 404 error
Click Preview custom error

Expected behavior
To skip the 404 error and open the profile without issues
Additional context
If it isn't possible to make navigation to profile direct, should we add a new section in how to contribute?

Is this not clear enough?
https://contribute.freecodecamp.org/#/how-to-setup-freecodecamp-locally?id=sign-in-with-a-local-user

Nope 😃, because the signing in is automatic, so when I sign in this section that talks about signing in becomes redundant, and I skipped it.
We can change it to something like Accessing camper profile.

'Viewing user profile' seems the most descriptive.

Your local setup automatically populates a local user in the database. Clicking the Sign In button will automatically authenticate you into the local application.

->

Click the Sign In button to sign in as the user you created in step 3.

and

However, accessing the user portfolio page is a little tricky. In development, Gatsby takes over serving the client-side pages and hence you will get a 404 page for the user portfolio when working locally.

->

Navigate to http://localhost:8000/developmentuser to view the profile page. In development, you also have to click on "Preview custom 404 page" to see the profile.

The existing docs are a bit vague and explain a bit too much, imo.

the section that talks about signing in becomes redundant, so I skipped it.

Skipping docs is a way to err like a human, which is the issue here. Feel free to update the docs.
Coming to updating the 404 page to show a relevant button — is easier said than done.
This is expected behavior - has been discussed before and is because Gatsby's dev-mode server hijacks the page, and you can't bypass it (while working locally). Period.

Yep. I don't think the docs need to go into that, though.  They're long enough already.

Maybe add - DO NOT SKIP DOCS. They are important !! With three exclamation marks will do? Jokes apart - I do not see how to update the verbiage in the section. In my personal opinion, it is good enough.

this is my 4th time reading docs, it can't be expected for someone who searching for "how to change the sub-forum" and "how to access the profile page", to look for them in section that talks about setting freecodecamp locally while working in Gitpod

Skimming should be expected.

I disagree as a maintainer. The docs are there for a reason. We can't handhold every use case.
That said, I have tagged this help wanted for a reason. If you have a recommended approach to how it could have saved you a pitfall. You are welcome to update the docs.

And to be honest, I think a better option is to break this into two sections. one that talks of what expected of a language lead who may not have knowledge of our code base, and other for developers who know the code base and may stumble into weird scenarios like the profile page, and gastby cashing

In my personal opinion, it is good enough.

I think it can be improved with the above changes.  Also the gif is ancient so probably should just be removed.

I think it can be improved with the above changes.

Did you mean this verbiage can be improved? I do not see a simpler explanation.
However, accessing the user portfolio page is a little tricky. In development, Gatsby takes over serving the client-side pages and hence you will get a 404 page for the user portfolio when working locally.

Simply clicking the "Preview Custom 404 Page" button will forward you to the correct page.

In case you wandered into the conversation, Muhammed and I are talking about different areas of the docs.
The doc that was skipped was what I have pointed to. Of course, it is in a different location than a translator would expect, which can be improved.


[WIP] (#1038) Add scope filter command

TODO:

[ ] Add custom file handling in case of attach and service
[ ] Add integration test to verify that changes are applied, check different users than the root
[ ] Add default behavior when the file is not passed:
Do not configure the service
Configure all the processes
[ ] Handling the error/status to the Edge
[x] Stdin support

Question:

In case of setting custom yml configuration should service be still using the following path /etc/scope/<service_name>/scope.yml or point to a new yml file location

overwrite the file

Next steps:
Interactive process: docker exec -it local/remote login/command run Ensure that our library is loaded

Progress for interactive commands and loading the libscope
For single cmd run
docker exec --user foo -e LD_PRELOAD=/usr/local/lib/libscope.so -it ubuntu_test top

The libscope.so is loaded in top

The disadvantage is that the command must be prepared on the host side.
For interactive login shell
docker exec -it --user foo ubuntu_test bash -l

Steps required to do it:

Create the script in /etc/profile.d/scope.sh

export LD_PRELOAD=/usr/local/lib/libscope.so

All commands executed in the shell result in preloading the libscope.so excluding the shell itself.
Tested on Ubuntu and Alpine.
Credits to @iapaddler for investigation.

Progress for namespace

explore namespace API to see if we can run scope filter in the context of the container.
TBC

Scope attach in different namespace progress:

[ ] Attach to docker process Ubuntu
[ ] Attach to docker process Alpine
[ ] Passing configuration file from the host
[ ] Passing configuration parameter from host
[ ] Add information about namespace switch in log
[ ] Attach to LXC container

Scope attach in different namespace progress:

[ ] Attach to LXC container

While attaching functionality to the Docker container works fine - the LXC container is not eager to cooperate.
Several observations are mentioned below:

with the current implementation, the attach fails on the namespace side in:
https://github.com/criblio/appscope/blob/431fb7a3fd4ef07c04efbce9b0231ce12031d8a0/src/scope_static.c#L1100-L1104
returning the EOVERFLOW
the loader in lxc namespace context has access to the  dev/shm path
I see that files created from CLI in the context of namespace (/root/.scope/) have different owner than a root

drwxr-xr-x  3 nobody nogroup    5 Jul 27 11:29 .scope

In the case of Docker container, the same directory and its content are owned by root.

This can come from a different approach in user and gid mappings
In Docker:

proc/<proc_running_in_docker_namespace_pid_from_host_perspective>/uid_map
         0          0<PHONE_NUMBER>

proc/<proc_running_in_docker_namespace_pid_from_host_perspective>/gid_map
         0          0<PHONE_NUMBER>

In Lxc:
proc/<proc_running_in_lxc_namespace_pid_from_host_perspective>/uid_map
         0    1000000<PHONE_NUMBER>

proc/<proc_running_in_lxc_namespace_pid_from_host_perspective>/gid_map
         0    1000000<PHONE_NUMBER>

Scope attach in different namespace progress:

LXC seems to work - it required a GID and UID translation during switching namespace to avoid file permissions issue mentioned in the previous comment
I have observed timing-related? the issue that sometimes during attach I fail during:
https://github.com/criblio/appscope/blob/431fb7a3fd4ef07c04efbce9b0231ce12031d8a0/src/scope_static.c#L1071-L1074
Setting SCOPE_EXEC_PATH in cli solves the issue
I am not sure if it is worth mentioning somewhere that the --cap-add CAP_SYS_PTRACE must be added in the case of Docker container even if we perform attach as a root from the host

Here is the current overview of the solution:
graph TD
  subgraph Host related operation
    A[scope start] -->|Perform operations on host| B(ldscope --configure filter_file)
    B -->|Iterate over allowed list from filter file| C(ldscope --service)
  end
  subgraph Container related operation
    C -->|Iterate over containers| D(ldscope --configure fillter_file --pid containerPID)
    D -->|Iterate over allowed list from filter file| E(ldscope --service --pid containerPID)
  end
  subgraph Host related operation
    E -->|Iterate over allowed list from filter file| F(ldscope --attach --piD allowProcessList_PID)
  end

Following operations are done in ldscope since they are performed in the hots context and container context:

configure:

copy filter file to /tmp/scope_filter.yml
copy libscope.so to /tmp/libscope.so
setup /etc/profile/scope.sh with LD_PRELOAD=/tmp/libscope.so

attach - attach to the running process
service - setup specific service

Testing, Review, Validation
unit tests pass
integration tests pass
Manual Tests
allow -> procname -> proc started
allow -> procname -> new proc
allow -> procname -> container with proc started
allow -> procname -> container with new proc
allow -> arg -> proc started
allow -> arg -> container with proc started
allow -> arg -> container with new proc
allow -> config -> event dest is a file
allow -> config -> event dest is localhost:9109
deny -> procname -> proc started
deny -> procname -> new proc
deny -> arg -> proc started
deny -> arg -> new proc


Features/new migrations/monica zwissler

I created a new branch with the changes after my feedback from my previous PR.
I have updated the numbers of the file names as agreed on, changed anywhere that had .int to .integer, added code for uuid, added .notNullable() to each field, and removed redundant .primary() where the table was automatically incrementing.
Following this schema: https://app.dbdesigner.net/designer/schema/0-schema-w-json-family-promise-labs-35
Migration files created for the following tables:

genders
races
ethnicities
recipients
service_entry_providers

So it looks like both sets of files (named and renamed) ended up being included in the commits. I think you have to git add the original file name too, so it knows it doesn't exist anymore?


Fix redirect new user

Currently redirects new user to AddStuff, should redirect to open cards or your cards


fixbug: ChartAndVersion did not handle chart version correct in some case

Fixes #95

You can use regex
https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string

You can use regex https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string

there have some charts that dose not fullly meet the semver2, for example:
https://artifacthub.io/packages/helm/cert-manager/cert-manager
 helm install my-release --namespace cert-manager --version v1.10.0 jetstack/cert-manager
the version is v1.10.0 , I did not find a way to handle it with regex.

Yes, I would also suggest using a regex, it would be more reliable than custom parsing logic.

Adding v? to a version string would allow for optional "v" prefix

Let me have a try, and I will update my code later.

Adding v? to a regex string would allow for optional "v" prefix

I use regex of this   https://semver.org/   and add v prefix.
See: https://regex101.com/r/vkijKf/1/
^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$


Camel email-component - oauth2 support

Supporting oauth2 authentication on camel email-component.

Part of 3.8.1


Format selection: Can I specify different filters for "normal" and "vertical" videos?

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Question
I'm using yt-dlp 2022.05.18 on Arch Linux.
I'd like to download a youtube playlist that has some vertical videos in between. I also like to restrict the disk space used, so I'd like to use -f "bestvideo[height<=720]+bestaudio/best" for normal, but -f "bestvideo[width<=720]+bestaudio/best" for vertical videos. Kind of shorter_edge<=720.
Most of the vertical videos in that playlist appear to be 720x1280, and I'd like to avoid having them downloaded in only 406x720.
I've looked at the README (especially the FORMAT SELECTION section), but I have to admit that I'm confused about all those options. Can this shorter_edge<=720 be achieved somehow with the currently available options?
Verbose log
n/a

Not quite, but -f "(bv[height<=720][width>720]/bv[width<=720])+ba/b" should do what you want

Related: https://github.com/ytdl-org/youtube-dl/issues/30737

There is no built-in mechanism to filter by "shorter side", but -f "(bv[height<=720][width>720]/bv[width<=720])+ba/b" should do what you want

Yes, it worked. thank you very much. Maybe this is worth to be added to the examples.

The examples need a rewrite anyway. A lot of it was written with someone coming from youtube-dl in mind, and so emphasizes the different way of doing selection for yt-dlp, rather than being newbie friendly. I am working on completely rewriting the format selection code. I'll rewrite the examples when that is done - and will keep this in mind when I do (or maybe I can add an aspect_ratio selector instead as suggested in https://github.com/ytdl-org/youtube-dl/issues/30737)


Provide useful information, when $HOME ist not writeable

steps
We where trying to move our sbt build into a "dockerized" environment using a standard apline java image with only bash added:
#!/bin/bash

wget https://dl.bintray.com/sbt/native-packages/sbt/0.13.13/sbt-0.13.13.tgz
tar -xzf sbt-0.13.13.tgz --strip-components=1

cat << EOF > Dockerfile
FROM java:8-jdk-alpine
RUN apk add --no-cache bash
EOF

docker build -t alpine_bash .

docker run --interactive --tty \
        --rm --volume `pwd`:/opt/sbt_sample \
        --user 1234 \
        alpine_bash /opt/sbt_sample/bin/sbt

problem
This happened when sbt was trying to create the sbt lock file but failed because $HOME was not writeable.
The exception did mention what actually failed:
java.io.IOException: No such file or directory
	at java.io.UnixFileSystem.createFileExclusively(Native Method)
	at java.io.File.createNewFile(File.java:1012)
	at xsbt.boot.Locks$.apply0(Locks.scala:34)
	at xsbt.boot.Locks$.apply(Locks.scala:28)
	at xsbt.boot.Launch.locked(Launch.scala:238)
	at xsbt.boot.Launch.app(Launch.scala:147)
	at xsbt.boot.Launch.app(Launch.scala:145)
	at xsbt.boot.Launch$.run(Launch.scala:102)
	at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
	at xsbt.boot.Launch$.launch(Launch.scala:117)
	at xsbt.boot.Launch$.apply(Launch.scala:18)
	at xsbt.boot.Boot$.runImpl(Boot.scala:41)
	at xsbt.boot.Boot$.main(Boot.scala:17)
	at xsbt.boot.Boot.main(Boot.scala)
Error during sbt execution: java.io.IOException: No such file or directory

expectation
Checking pre-conditions as $HOME/SBT_HOME is writeable and present a useful error message.
notes

Duplicate of #2498, imo.


feat: forge inspect storage for deployed contracts

Component
Forge
Describe the feature you would like
currently, forge inspect only works for local code. however, it would be useful to access some of the functionality (especially storage layout) for deployed contracts that have been verified on etherscan.
for example, i'd like to be able to call forge inspect --prety 0x... storage to get the storage layout of a deployed contract.
Additional context
No response

While not exactly the same as it won't give the storage layout JSON, you can use cast storage <address> to get this info in a table format

This is exactly what I was looking for, thanks. I'll close issue now.

I tried this on a contract I deployed locally via Anvil and received the following error:
raman@Ramandeeps-MBP erc20 % cast storage 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512
[⠊] Compiling...
No files changed, compilation skipped
No matching artifacts found, fetching source code from Etherscan...
Error:
You must provide an Etherscan API key if you're fetching a remote contract's storage.

Even after providing the Etherscan API key which I don't believe is necessary when checking the storage layout of a locally deployed contract:
raman@Ramandeeps-MBP erc20 % cast storage --chain 31337 --rpc-url="http://localhost:8545" --etherscan-api-key $ETHERSCAN_API_KEY 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512
[⠊] Compiling...
No files changed, compilation skipped
No matching artifacts found, fetching source code from Etherscan...
Error:
**Chain anvil-hardhat not supported**

Chain anvil-hardhat not supported is there any way around this?

@RamanSB I'm having same issue. Have you find a solution?

@RamanSB  @0xCK03 this is the issue from your logs: No matching artifacts found, fetching source code from Etherscan...
You need contract code to infer storage slots, so either you are on the same project folder that contains your local contract, or cast will try to fetch its source from etherscan.


feat: manager adds model and model version grpc api

Signed-off-by: Gaius<EMAIL_ADDRESS>
Description

Manager adds model and model version grpc api.

Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@97c79f6). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 5211fb2 differs from pull request most recent head 4ce5a8f. Consider uploading reports for the commit 4ce5a8f to get more accurate results

@@           Coverage Diff           @@
##             main    #1569   +/-   ##
=======================================
  Coverage        ?   44.68%
=======================================
  Files           ?      116
  Lines           ?    10548
  Branches        ?        0
=======================================
  Hits            ?     4713
  Misses          ?     5351
  Partials        ?      484

Flag
Coverage Δ

unittests
44.68% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


Two way binding

@pc035860 is it possible to change for example the $progress variable externaly to scroll for example to a curtain point automatically?

@nextlevelshit  Sorry for the late response.
No, the feature you asked isn't something this module tend to achieve now.
You'll have to implement a scroll service yourself.


Run in GPU mode?

I followed the steps and installed everything you've listed, but I'm not able to run it in GPU mode (which will be much faster, right?). It said this when I tried to run it:
qlua: main.lua:40: module 'cutorch' not found:
no field package.preload['cutorch']
no file '/Users/boleidi/.luarocks/share/lua/5.1/cutorch.lua'
no file '/Users/boleidi/.luarocks/share/lua/5.1/cutorch/init.lua'
no file '/Users/boleidi/torch/install/share/lua/5.1/cutorch.lua'
no file '/Users/boleidi/torch/install/share/lua/5.1/cutorch/init.lua'
no file './cutorch.lua'
no file '/Users/boleidi/torch/install/share/luajit-2.1.0-alpha/cutorch.lua'
no file '/usr/local/share/lua/5.1/cutorch.lua'
no file '/usr/local/share/lua/5.1/cutorch/init.lua'
no file '/Users/boleidi/.luarocks/lib/lua/5.1/cutorch.so'
no file '/Users/boleidi/torch/install/lib/lua/5.1/cutorch.so'
no file './cutorch.so'
no file '/usr/local/lib/lua/5.1/cutorch.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
[C]: at 0x01025bd1d0
[C]: in function 'require'
main.lua:40: in main chunk
It did run in cpu mode.
Here's my graphic card model: NVIDIA GeForce GT 750M 2048 MB
And I just installed CUDA 7.5
Could you help figure out where the problem is?

Did you install 'cutorch'?

Installing cutorch should fix this:
luarocks install cutorch


Add count to SearchResult

Add count to SearchResult so that it is clear what the total number of hits are, even when paginating

Added the suggestions 👍


How to prevent first click on poster?

Hi! I need append advert banner by first click on «Big Play Button».
player.querySelector('.player-poster').onclick( function(e){
    e.stopPropagation();
    /* but it's fire after start playing */
});

I won't create plugin just for simple one event. What i can do?
Thank you!

Okay... Now i'm using "сapturing" propagation.
var player_onplay = function () {
    // prevent poster event
    e.stopPropagation();
    // force buffering
    player.play();
    player.pause();
    // remove this event
    player.removeEventListener('click', player_onplay, true);
}
element.addEventListener('click', player_onplay, true);

If someone have crossbrowser way, please welcome.

Maybe it's easier to replace the Poster plugin with this implementation


Observation start, end not assigned using consutructor

Passing observation_start and observation_end in the constructor does not set the respective attributes, but it should.

Resolved with commit c60f233


Optimized creation of bitmap by range

SUMMARY
Optimized creation of bitmap by range via factory method Util.bitmapOf(). There is a trade-off between performance and  code is  duplication, but it can be ignored as piece of duplicated code is already duplicated several times in class RoaringBitmap.

Benchmark
(offset)
(bytes)
Mode
Cnt
Score
Error
Units

optimized
0
10
avgt
5
31.364
±0.964
ns/op

optimized
0
100000
avgt
5
45.240
±3.783
ns/op

optimized
0
10000000
avgt
5
1663.824
±22.388
ns/op

optimized
100000
10
avgt
5
31.179
±0.358
ns/op

optimized
100000
100000
avgt
5
59.337
±9.726
ns/op

optimized
100000
10000000
avgt
5
1764.398
±329.763
ns/op

original
0
10
avgt
5
40.100
±1.431
ns/op

original
0
100000
avgt
5
65.978
±9.748
ns/op

original
0
10000000
avgt
5
3338.978
±379.935
ns/op

original
100000
10
avgt
5
40.919
±3.560
ns/op

original
100000
100000
avgt
5
84.212
±1.339
ns/op

original
100000
10000000
avgt
5
3295.778
±68.212
ns/op

Some tests added to verify correctness and improve code coverage.
Automated Checks

[x] I have run ./gradlew test and made sure that my PR does not break any unit test.
[x] I have run ./gradlew checkstyleMain or the equivalent and corrected the formatting warnings reported.

Can you explain why it is faster? Didn't you just inline the original code...
     RoaringBitmap bitmap = new RoaringBitmap();
     bitmap.add(min, max);

???
I am concerned that the benchmark might be misleading.

The main difference is that unnecessary copying of arrays in method RoaringArray#insertNewKeyValueAt(int, char, Container) is avoided using method RoaringBitmap#append(char, Container) instead of. Above that resizing of RoaringArray is avoided also as it is precisely allocated beforehand.
Can you be more specific about misleading benchmark?

Thanks for the analysis. It makes sense.
Can you provide the same optimization to the buffer package? (E.g., producing a MutableRoaringBitmap).

Version for buffered bitmap added.

Merging.


Fix “Cannot read property 'Component' of undefined” Issue

Update the webpack configuration to correctly build the library so it is properly exposed for all module systems.
@svenanders we should get this merged and redeploy the package asap. This was a big oversight on my part, sorry about that 😢 . We needed to use the output.library and output.libraryTarget setting to correctly build and expose the library. See this section in the docs for more information.
Resolves #110

You can use this bin to quickly test. If you open the console tab, you should see the error:
Uncaught TypeError: Cannot read property 'Component' of undefined

Alright, thanks, will merge ASAP!
tir. 24. okt. 2017 kl. 00:01 skrev Greg Venech<EMAIL_ADDRESS>
You can use this bin
https://www.webpackbin.com/bins/-KxAEFDc09gO2oRomMkw to quickly test.
If you open the console tab, you should see the error:
Uncaught TypeError: Cannot read property 'Component' of undefined
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/svenanders/react-breadcrumbs/pull/111#issuecomment-338809880,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABfQpxE39Ec9dmMf9mDMcWu1_WYk7ye7ks5svQzIgaJpZM4QDh_O
.

--
Mvh, Sven Anders Robbestad
http://www.robbestad.com
http://twitter.com/#!/svenardocom


Fix SVG Spam

The PR was fine as is but I made a change to keep the API of svg_to_png consistent. It currently returns nothing on success and raises an exception on failure. We could change it to return True/False but having it return nothing on failure would be a break.


Copy button on mobile hides content

Description
When viewing any machine src on mobile, the Copy to Clipboard button covers content in the code block, making it difficult to see the first few lines of the machine src.

Padding width is probably too wide on that  tag as well!

Sorry I didn't comment here before opening the PR, I was too concerned finally diving a little bit into Tailwind. If you like the idea I am happy and otherwise I can/will just adapt it. 😉

@bemayr Commented on the PR - thanks for the code!


v0.1.1

@JuliaRegistrator register()

Error while trying to register: Version 0.1.0 already exists

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/846
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if Julia TagBot is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.1 -m "<description of version>" 8151bbcd7e10e3755120c0bd074b76b5715b8fcc
git push origin v0.1.1


Remove .unwrap() from cairo struct implementation.

Depends on this PR on cairo-rs.

 remove unwrap

We should wait until the PR from cairo-rs is merged so that the pinned version on Cargo.toml can be updated accordingly to avoid problems with CI down the line.

Fixed.


[Feat]: forgot password

Description
Implement a backend endpoint that allows users to initiate a password reset process by providing their registered email. The endpoint should generate a secure token and send it to the user's email for further verification.
Acceptance Criteria

Develop an endpoint that accepts the user’s email and initiates the forgot password process.
Generate a secure token linked to the user’s account.
Send the token to the user’s registered email address.
Ensure that the endpoint handles errors such as non-existent email addresses and rate limits on requests.

Purpose
To enable users who have forgotten their passwords to initiate a secure reset process.
Requirements

Implement secure token generation and email sending logic.
Include proper error handling for various failure scenarios.
Ensure the endpoint is tested for security and functionality.

Expected Outcome
Users can securely initiate the password reset process by receiving a token via email.
###Linked Issue:
This ticket is linked to the isue

@Amodu, @Adewale66 please review

Your migration file is on 43. What about 41 and 42?

Your migration file is on 43. What about 41?

There are other PRs using 41 and 42

Please adjust it because if this pr gets merged first it'll cause a migration error when the other ones get merged, the pipeline won't throw any migration error for them since it's running from scratch

@Am0du please, I've resolved the conflict

Migration file conflict @Ofektom

@Am0du I have resolved conflict again and the body has been adjusted to the required


Station interaction behaviour

Description
Since the stations are placed closer together, this is inconsistent and buggy behaviour when try to interact with them when standing near multiple stations.
Sometimes, standing next to a station and trying to press 'e' to interact with it will interact with another station that is further away instead. Other times it just won't interact at all and I have to move around a bit and spam 'e' until it works
Expected Behaviour
The player should only be able to interact with the closest station, and should be able to interact when in range.
Additional Context
It might be due to overlapping interaction ranges since the stations are close together. Maybe placing them more spaced out will help?

Suspected two contributing factors, the player hit box and the way closest interactable is updated. Further investigating

Fixed player hitbox but still seeing unexpected behaviour. Investigation suggests a larger architecture problem, following up with original Team for their thoughts


sensu-go-agent: 6.7.5 -> 6.8.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/sensu/sensu-go/releases.
meta.description for sensu-go-agent is: "Open source monitoring tool for ephemeral infrastructure & distributed applications"
meta.homepage for sensu-go-agent is: "https://sensu.io"
meta.changelog for sensu-go-agent is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.8.0 with grep in /nix/store/hkwnybahf5v82hdyrn50mlby5rs0gf4z-sensu-go-agent-6.8.0
found 6.8.0 in filename of file in /nix/store/hkwnybahf5v82hdyrn50mlby5rs0gf4z-sensu-go-agent-6.8.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
sensu-go-agent
sensu-go-backend
sensu-go-cli

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hkwnybahf5v82hdyrn50mlby5rs0gf4z-sensu-go-agent-6.8.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A sensu-go-agent https://github.com/r-ryantm/nixpkgs/archive/8269c0247d4d5536e022cc7fd290219f456d299d.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hkwnybahf5v82hdyrn50mlby5rs0gf4z-sensu-go-agent-6.8.0
ls -la /nix/store/hkwnybahf5v82hdyrn50mlby5rs0gf4z-sensu-go-agent-6.8.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

sensu-go-agent
sensu-go-backend
sensu-go-cli

Maintainer pings
cc @thefloweringash for testing.

@ofborg eval

Result of nixpkgs-review pr 188895 run on x86_64-linux 1

3 packages built:

sensu-go-agent
sensu-go-backend
sensu-go-cli


Covid vaccination certificate issue

Is your suggestion to fix an issue with documentation or to improve it?
" even after my second dose of covishield vaccine on 31 march 2021, i am getting only first dose provisional vaccination certificate, please help me to get the final certificate"
provide link to the documentation page if any including reference to the line/para
A clear and concise description of what you want to happen.
Additional context

@Shahina60  I think it is not advisable to share certificate details publicly.

@Shahina60 I think it is not advisable to share certificate details publicly.

is there any way to update details without providing much details ??


Vanilla flow bug - order addresses are empty

Preconditions:

module version 1.4.6
Handle customer data: no
Split billing and shipping addresses: no
Checkout flow: embedded
Enable Auto-capture: no

After placing an order, order billing and shipping addresses are empty. Reason - but somewhere in \Dibs\EasyCheckout\Model\Checkout::placeOrder:
// When embedded flow is used we let nets handle customer data, if redirect flow is used then we handle it.
// when the solution is hosted, the checkout url is not matching our checkout url!
$weHandleConsumerData = false;
if ($this->getHelper()->getCheckoutUrl() !== $dibsPayment->getCheckoutUrl()) {
    $weHandleConsumerData = true;
}

In my case this renders to:
$weHandleConsumerData = false;
if ("/easycheckout" !== "/checkout") {
    $weHandleConsumerData = true;
}

So it ignores order address in Easy, and uses Magento quote billing/shipping addresses :(

Hi All,
If Handle customer data is set to No the customer is expected to enter the same address.
Sincerely,
Surjan


(chore) new hint text for job description

before:

after:

 Implement new title for 'job description'


Icon size

Giving all icon svgs a 0 0 24 24 viewbox (divisible by our base spacing unit, 6px).
TODO:

[x] Tidy the svgs (hopefully possible with a tool, otherwise it'll be fairly tedious)
[x] ~Fix failing jobs on CI~ https://github.com/wellcometrust/wellcomecollection.org/pull/4346/commits/c401ac8386e49757fb59cf1261f1f00e8c776614

@wellcometrust/experience-devs ready for review. Sorry for the huge number of file changes – not sure there was much that could be done to split it into smaller chunks.


Automatically disable wiki and project features

I don't personally use the wiki or project features in repositories so it would be useful for them to be automatically disabled on creation.

Not a bad idea, we’d look for the “repository/new” page and make an API call after it.
@sindresorhus do you know whether it’s still not possible to have them disabled natively? I think they implemented this for organizations, with a repository named .github

Almost done: (Needs more work like to use postForm etc.)
https://github.com/yakov116/refined-github/commit/24086419244e798311a12a3cbe59508592ae2f2d
@fregante should we add a checkbox like we do by auto merge after tests pass? (forgot what the feature is called)

@sindresorhus do you know whether it’s still not possible to have them disabled natively? I think they implemented this for organizations, with a repository named .github

Not as far as I know.

should we add a checkbox

Not a bad idea, but instead of breaking and posting the form, this feature should only remember that a repository was just created, but then it should run on the next page, so we don’t have to handle (and potentially break) the creations form.
You can add sessionStorage on submit; then detect it in isRepoRoot and make the api call

so we don’t have to handle (and potentially break) the creations form.

Agree that was my next issue


CNCF conformance tests for CAPV clusters

Towards https://github.com/giantswarm/roadmap/issues/319
User Story

As a GS developer, I would like CNCF conformance tests to run on every change to the CAPV cluster templates so that I am sure the cluster is CNCF conformant and save time on manual testing.
As a customer I want GS to run CNCF conformance tests in an automated way so that I am sure that the clusters I create with GS tooling are CNCF conformant

Acceptance Criteria

[ ] Given I am a GS developer when I do a Pull-Request with a change in the CAPV resources then I should get a result on the conformance tests

Dependencies

[x] https://github.com/giantswarm/roadmap/issues/456
[x] https://github.com/giantswarm/roadmap/issues/456

Tasks

created generic isssue for all capi provider https://github.com/giantswarm/roadmap/issues/1486


Incomplete Package Content for @openzeppelin/defender-base-client:1.54.0 on NPM

I've recently attempted to install the @openzeppelin/defender-base-client package from NPM, but I've encountered an issue.  Post-installation, the node_modules/@openzeppelin/defender-base-client directory only contains the package. json file, and the expected library files in the lib folder are missing.
This seems to indicate that the package published on NPM may be incomplete.  Could you please check if the package was published correctly?  Or is there a different procedure to follow for a complete installation?
Your assistance in resolving this matter would be greatly appreciated, as I am keen to utilize this package for my project.
Thank you for your time and effort.
Best regards,

Hi @597800451 , thanks for bringing this to our attention. We published a new package and deprecated 1.54.0 if you could upgrade to 1.54.1 it should work as expected. Also i'm wondering if you have already tried using defender-sdk-*-client packages just wanted to let you know this will be our new client packages for defender 2.0 and also supports majpority of the defender 1.0 features.

Hi, thank you for the quick response and the update. I will try upgrading to version 1.54.1 as you suggested. Also, I appreciate the information about the defender-sdk-*-client packages for Defender 2.0, and I will consider using them in my project. Thanks again for your assistance!


Foreign importing hooks

How would one approach this?
For example, use-on-click-outside or use-event-listener?

I don't have much experience using FFI for hooks, but I put together a small example to give one idea of how you could go about it here: https://github.com/ptrfrncsmrph/demo-foreign-import-hooks/blob/main/src/Foreign/Hooks.purs
Usage would look like: https://github.com/ptrfrncsmrph/demo-foreign-import-hooks/blob/eb7523b16957df1465d79c81bb87b3178a8ff0da/src/App.purs#L14-L35
In PureScript I don't think we have a giant sum type representing all the possible event types in this WindowEventMap (at least that I'm aware of) so you'd probably just want to have a smaller sum type of the events you want to handle
In my example I've got the mouseEvent argument required in useOnClickOutside, though it's optional in TS. You could use a Maybe or to get the same convenience of allowing caller to omit it, you could probably do something with https://github.com/joneshf/purescript-option#how-to-make-a-function-with-required-and-optional-values (though I haven't used that library).

I'm not sure if it's good practice to leave the internal hooks opaque in something like
newtype UseEventListener hooks = UseEventListener hooks

instead of typing them out like in https://github.com/megamaddu/purescript-react-basic-hooks/blob/4904b69821579f2c1fc3cac9f730892380216661/src/React/Basic/Hooks/Aff.purs#L58-L63
I'd imagine you'd want to leave them as just opaque hooks because you don't own the implementation 🤷.


Format panel content table with wrong values

Hello,
In the section Format panel content, the table with the example values for the component inside the panel should be:
x -> cmp_panel.ContentX
y -> cmp_panel.ContentY
width - > cmp_panel.ContentWidth
height -> cmp_panel.ContentHeight
and no all cmp_panel.X as it shows.
Best!
Daniel

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

ID: f1346323-c9a3-5c4e-d4d2-32080de5b27f
Version Independent ID: f1346323-c9a3-5c4e-d4d2-32080de5b27f
Content: Panel control reference (experimental) - Power Platform
Content Source: power-platform/guidance/creator-kit/panel.md
Service: power-platform
Sub-service: guidance
GitHub Login: @denisem-msft
Microsoft Alias: demora

Thanks for your comment, @danielvi1787. This issue has been assigned to the doc author for review.

This has been fixed and will be published soon. Thank you for your feedback.


Issue #2 Addressed

enabled double jumping...and triple and quadruple jumping…and infinite jumping. This satisfies requirements for user story #2.

Nice change, since flying is enabled by pressing tab, it could be neat to modify this into a "leap" of sorts, that gives more horizontal push instead of vertical. Overall though nice changed and nice documentation.


Add option to modify the user

Currently, the PUID and GUID is set hardcoded to 1000:1000:
ENV DOCKER_ENABLE_SECURITY=false \
    VERSION_TAG=$VERSION_TAG \
    JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75" \
    HOME=/home/stirlingpdfuser \
    PUID=1000 \
    PGID=1000 \
    UMASK=022

Please add an option to make them editable. I'm not a Docker expert, but wouldn't this actually be enough?:
ENV DOCKER_ENABLE_SECURITY=false \
    VERSION_TAG=$VERSION_TAG \
    JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75" \
    HOME=/home/stirlingpdfuser \
    PUID=${PUID:-1000} \
    PGID=${GUID:-1000} \
    UMASK=022

I believe user provided env variables already override these without code change
Can you confirm?

Okay so I can confirm this partially. When changing the PUID and GUID env variable like:
    environment:
        - PUID=3000
        - GUID=3000

the server seems to start correctly and run flawlessly. It can also access the folders (with the folder's ownership set to 3000:3000). However, when I call whoami using:
docker exec -it stirling whoami

it says: root :/
Overriding the user like:
    user: "3000:3000"

will result in the server throwing errors on startup.

Yeah right now due to volume mapping permission issues the app itself runs as user but docker runs as root
let me check on the user: 3000:3000 part


Window control buttons on the left?

Hello, this extension is great, especially for former (well, not sure yet ;-) Unity user.
But is there any option how to move window control buttons (close etc) to left side? I am able to do it for all non maximized windows with Gnome tweak tool, but with Pixel Saver they appear on the right between language input selector and rest of toolbar icons when maximized.

Nevermind, today they are on the left even with maximized window. Perhaps it needed simply relogin.

It gets the config from gconf at startup.


How to avoid duplicates?

How can I avoid duplicates on prepend?
		`# Adds %M2_HOME%\bin to the PATH
		windows_env {'addmavenpath':
			ensure      => present,
			mergemode   => prepend,
			variable    => 'PATH',
			value       => '%M2_HOME%\bin',
		}	 `

C:\Users\Administrator>echo %PATH% C:\PROGRA~1\apache-maven-3x\bin;C:\PROGRA~1\Java\jdk1.8.0_40\bin;C:\PROGRA~1\apache-maven-3x\bin;C:\PROGRA~1\apache-maven-3x\bin;C:\PROGRA~1\apache-maven-3x\bin;C:\PROGRA~1\ap ache-maven-3x\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Pupp et Labs\Puppet\bin;C:\Program Files (x86)\Dell\Enterprise Manager\msagui

Its duplicating it it on each run

Hmm, seems like it's comparing unexpanded to expanded variables... Can you provide windows_env and ruby version? I'll take a look tomorrow.

Looks to be Ruby 1.8.7 and windows_env 2.2.0
P.S.  You aren't out of MN are you?

Side note.  I am not actually sure now it is an issue.  It's happening only on one server, and I can't reproduce it.  I'll keep trying.

yep.  dont worry about this.  Issue isnt on your side.  something else was duplicating the paths.


Identify

Hi,
Is there any  plan to integrate mixpanel.identify
https://mixpanel.com/docs/getting-started/learn-the-basics
I am trying to track an event related to another user, so I want to identify them in my code with something like this
mixpanel.track 'ReferralClicked'
  objectId: req.body.objectId

Thanks,
Bob

Can I set distinct_id on a people.set call?  When I do, it seems to create no users in Mixpanel.  Is there no way to create a user, specifying the distinct_id for that user, with this library?

I just found in the docs that I should be setting the $distinct_id property, not distinct_id, on people.set calls.  It would be great if the README included this property in the user-creation example.  There is really no circumstance I can think of using this Node library where you wouldn't want to specify your own.  Otherwise, how would you know what value to use on subsequent tracking calls?  You wouldn't be able to figure out the ID mixpanel created, since you have no user context.

@mividtim Saying you need to set $distinct_id is misleading (or possibly the library has changed since you wrote that). You actually need to pass the distinct_id value as the first parameter of people.set, and other properties in the second parameter. So don't do:
mixpanel.people.set({
  $distinct_id: userId,
  name: name
});

Do this instead:
mixpanel.people.set(
  userId,
  { name: name }
);

I wish the documentation was more clear about the differences between this package and mixpanel-browser. The only place it's really clear is in the code itself:
https://github.com/mixpanel/mixpanel-node/blob/master/lib/mixpanel-node.js#L352

Interesting.  I haven't tested this code in a while, but it's not throwing errors and marketing isn't complaining.  It did work with setting $distinct_id right in the properties at the time I wrote that comment, and may still work now.  I got the special property name from your documentation here:
https://mixpanel.com/help/questions/articles/special-or-reserved-properties
That's how it's documented, and it seems to work.

Well, it didn't work for me. Maybe it would work to set $distinct_id in the properties as long as the properties were the second argument. (Unless you're using mixpanel-browser, in which case it's the first argument, as shown in most of the docs; but then you generally don't need to set $distinct_id in people.set or mixpanel.track because you can set it once with mixpanel.identify.)
I'd seen that documentation page, but it doesn't show the order of arguments for people.set (or even mention people.set), just the special property names for people records in general.
(I'm not affiliated with Mixpanel, in case that wasn't clear; just a user trying to clear up some confusion.)

If someone still interested, is possible to identify anonymous users on backend library. You can use track method and send an event with $identify as eventName
mixpanel.track('$identify',{
    $identified_id: <Use your user.id>,
    $anon_id: <Use the device_id from frontend library eg: $device:1231-12312-132>,
})

This will act as a regular mixpanel.identify method available on frontend library.


Singleton pattern everywhere limits extensiblabilty.

Almost every major part of Godot uses a singleton. Singletons are convenient but they cause lots of problems when trying to extend the platform.
A quick examples is you are limited to only one window at a time because the Os and VisualServer classes are singletons. While most games only need one window there are many applications outside of games that may need multiple windows.
Is there any way we can move away from this pattern to more of an injection pattern? I'd be willing to assist in this effort.

While most games only need one window there are many applications outside of games that may need multiple windows.

lol wat

@girng VR, multi-window in editor, interactive multi-displays, to say a few, but the issue misses the point imo

Theres no need to change any godots internal design.
This feature can be simply archieved by adding simple switch to ViewPort node - show_as_popup true/false
If set to true, it could create simple popup window and display this ViewPort surface within separate window.
If set to false while popup window exists, - destroy window (close), and thats it.
But we have now more important things to focus on, like fixing 3.0 bugs and implementing GL2 support.