fix(android): fix bg image on welcome screen

The type of this PR is: Bugfix

This PR resolves CX-1293
Description

The main issue was that the image was given the "screenHeight", but that value did not include the safe area top inset, and since we need to have it, to draw the image from top to bottom, we need to add it.
I went ahead and changed the hook we use a bit. I simplified it to combine the hook from RN and the hook from safe-area-context to give us screen dimensions and insets respectively. I then also added fullWidth and fullHeight to help with these situations like above.
Also for two class components that we used the context, I just replaced it with the direct Dimensions.get call, since the context is removed.
I ended up improving some old tests that were testing using toJson to now use extractText or whatever made sense. One test I removed as it didn't seem to offer much, BidFlow. And lastly, some ImageCarousel tests are now being skipped.
PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a CHANGELOG.yml entry or my changes do not require one.

Updated, should be ready to go.

Nice work, thanks for cleaning up the hooks and the tests!  Feel free to merge when ready!


ini file can't be found when launched from another directory.

At some point, I pulled out SDL_GetBasePath() as the directory root for finding files. I don't recall the reasons why, so I probably just thought it was unnecessary. However! Turns out this is important after all, if someone is in another directory and tries to invoke box16, box16 is now expecting the ROM, ini file, and other tidbits to be located in the directory that the command line is on, not the directory of the executable.
Since box16 is trying to maintain 100% compatibility with the official x16 emulator, it's important that this be addressed to restore the original locating behavior.

Crossing fingers that I got this right this time.

This appears to be fixed.


[tool_crash] Invalid argument(s): Cannot find executable for C:\Users\User\Desktop\Flutter v1.9\Flutter\bin\cache\dart-sdk\bin\pub.bat.

Command
flutter packages get

Steps to Reproduce

...
...
...

Logs
ArgumentError: Invalid argument(s): Cannot find executable for C:\Users\User\Desktop\Flutter v1.9\Flutter\bin\cache\dart-sdk\bin\pub.bat.
#0      _getExecutable (package:process/src/interface/local_process_manager.dart:127:5)
#1      LocalProcessManager.start (package:process/src/interface/local_process_manager.dart:43:30)
#2      _DefaultProcessUtils.start (package:flutter_tools/src/base/process.dart:413:27)
#3      _DefaultProcessUtils.stream (package:flutter_tools/src/base/process.dart:431:35)
#4      _DefaultPub.batch (package:flutter_tools/src/dart/pub.dart:259:33)
#5      _DefaultPub.get (package:flutter_tools/src/dart/pub.dart:176:15)
#6      PackagesGetCommand._runPubGet (package:flutter_tools/src/commands/packages.dart:93:17)
#7      PackagesGetCommand.runCommand (package:flutter_tools/src/commands/packages.dart:123:11)
#8      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:620:18)
#9      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:74:64)
#10     _rootRunUnary (dart:async/zone.dart:1134:38)
#11     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#12     _FutureListener.handleValue (dart:async/future_impl.dart:140:18)
#13     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#14     Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#15     Future._completeWithValue (dart:async/future_impl.dart:526:5)
#16     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:556:7)
#17     _rootRun (dart:async/zone.dart:1126:13)
#18     _CustomZone.run (dart:async/zone.dart:1023:19)
#19     _CustomZone.runGuarded (dart:async/zone.dart:925:7)

[✓] Flutter (Channel dev, v1.13.0, on Microsoft Windows [Version 10.0.18362.535], locale en-US)
  • Flutter version 1.13.0 at C:\Users\User\Desktop\Flutter v1.9\Flutter
  • Framework revision 09126abb22 (9 days ago), 2019-12-03 17:43:00 -0800
  • Engine revision<PHONE_NUMBER>
  • Dart version 2.7.0 (build 2.7.0-dev.2.1 a4d799c402)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
  • Android SDK at C:\Users\User\Desktop\Android Studio
  • Android NDK location not configured (optional; useful for native profiling support)
  • Platform android-29, build-tools 29.0.2
  • ANDROID_HOME = C:\Users\User\Desktop\Android Studio
  • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
  • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
  • All Android licenses accepted.

[✓] Android Studio (version 3.5)
  • Android Studio at C:\Program Files\Android\Android Studio
  • Flutter plugin version 41.0.2
  • Dart plugin version 191.8593
  • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[✓] Connected device (1 available)
  • Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)

• No issues found!

Flutter Application Metadata
Version: 1.0.1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Plugins
cloud_firestorefirebase_authfirebase_auth_webfirebase_corefirebase_core_webfirebase_databasegoogle_maps_flutterlocation

HI @AsadAslamm
for what I can see the issue is related to a FlutterFire plugin,
please open the issue in the dedicated github.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
thank you

Thankyou! @iapicca
Since the update my every app, even the ones working fine before ,is showing this error.


Support gRPC CallOptions.withExecutor()

Armeria gRPC client currently doesn't respect the Executor a user specified with CallOptions.withExecutor(). We should support this option, as well as any other options we currently doesn't support correctly.

I will give this a try.


core[patch]: Fix regression requiring input_variables in few chat prompt templates

Fix regression that requires users passing input_variables=[].

Regression introduced by my own changes to this PR: https://github.com/langchain-ai/langchain/pull/22851

it looks like this fix has caused introduced an issue. I was running langchain-core 2.20.0 and just upgraded to 2.21.0 today and while running an agent it is returning
   agent = create_tool_calling_agent(LLM, tools, prompt)
    agent_executor = AgentExecutor(
    agent=agent,
    tools=tools,
    verbose=True,
    handle_parsing_errors=True,
    return_intermediate_steps=False,
    include_run_info=True,
    memory=memory)

is not returning "'FieldInfo' object has no attribute 'required'"


[DOC] Improve Ant Design useTable sorting

Describe the thing to improve
In the sorting process, first of all, the column's "key" property is used as the column name, if not exist, the "dataIndex" property is used. we should state this clearly in the docs.
Code: https://github.com/pankod/refine/blob/e6909125ea133b94340ce1411b5e8dab56f112e5/packages/antd/src/definitions/table/index.ts#L59
Doc: https://refine.dev/docs/ui-frameworks/antd/hooks/table/useTable/#sorting

#1672


Add package for graphql client

package name: @threefold/graphql_client
package to move: https://github.com/MohamedElmdary/tfgrid-gql

Verified, development_313
Package was added, docs updated and build ran successfully.


init(.pkg): update nigiri commit to dump round times branch

Update the nigiri base repository to the version agreed upon with AG

gugu gaga


[5081] Add autocomplete to lead school admin index page

Context
As a quick fix we want to add the autocomplete to the lead school index page in System Admin. This will enable the support team to find lead schools more easily.
There will be a future piece of work to build an autocomplete for all schools and consolidate the schools/lead schools lists into one index page.
Currently I have not built the no-js equivalent as we hope to replace this with something nicer soon.
Changes proposed in this pull request

Add system_admin_schools_autocomplete/script.js. I have added this new file as it works slightly differently to the existing schools_autocomplete/script.js, in that it redirects to the lead school show page when an option is selected (there is probably a better way of doing this!)
Update index page to add new autocomplete

Guidance to review

Log in as an admin
Navigate to the system-admin/lead-schools
Observe autocomplete
Use autocomplete to find a school by name, URN or postcode
Select a school
Observe you are taken to the show page for that school
Double check that there aren't any non-lead schools in the list
Double check that the existing autocompletes on system-admin/users/{user_id}/lead-schools/new and /trainees/{slug}/lead-schools/edit still work (and any others I might have missed)

Important business

[ ] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?
[ ] Do we need to send any updates to DQT as part of the work in this PR?
[ ] Does this PR need an ADR?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

 Support: add autocomplete to search for Lead schools


Add time-history plots for stats

Description

Adds the time-history plots for the following stats:

Min/Max and RMS of OOPS (Analysis)
Wall-clock time of OOPS and UFS weather model (ufs_model)

Anticipated changes to regression tests:

[ ] Is baseline change expected ?

Subcomponents involved:

[ ] apply_incr.fd (NOAA-PSL/land-apply_jedi_incr)
[ ] ufs_model.fd (ufs-community/ufs-weather-model)
[x] none

Linked PR's and Issues:

Resolves Issue #150
Testing (for CM's):

RDHPCS

[x] Hera
[x] Orion
[ ] Hercules

CI

[ ] Completed

WE2E

[ ] Completed

PW-Clouds

[ ] AWS
[ ] AZURE
[ ] GCP

Min/Max, RMS: https://drive.google.com/file/d/1KJ63IacDZQjGSs3uElJgkRR4X9un4bdn/view?usp=sharing
Wall-clock time: https://drive.google.com/file/d/1LZ19_K2Tj-g8FAHR0IDikbujCxCgOkog/view?usp=sharing


API key vs certificate

Adds wording to clarify when to use a certificate vs when to use the generated API key.
Closes #56
Staged:

http://docs-nginx.minio.training:31080/kes-docs/identity/tutorials/getting-started/#quickstart

LGTM, but I wonder if we should take the opportunity to drop the certificate generation entirely for the client and go to the API-key only pathway - it's one less cert of certificates to deal with.


Fix for CI ODBC build

The remaining build failures are bogus and due to apt-get errors (no idea why do they happen so often on GitHub Actions images compared to anywhere else), so I'm going to merge this as is.


Recreate style element if #vein does not exist

Recreate style element if #vein does not exist in cases where it has manually been removed after veinjs triggered the first time.

Question - is it really necessary to create another

Sorry, I am not quite sure what you mean 'this.element'? I find that the only way to enforce veinjs rule priority when manipulating, is to delete and re-apply it. Also, it is not really creating 'another' tag ... It is creating the #vein tag if it doesn't exist (for example if it has been deleted).

Why is if(this.element) failing in the first place? Isn't it because you
have removed the element from DOM, but it still exists in the memory? What
if you reinsert that this.element to DOM rather than blindly re-creating
it?
Have you given it a try?
On 16 January 2015 at 16:37, Karl Ward<EMAIL_ADDRESS>wrote:

Sorry, I am not quite sure what you mean 'this.element'? I find that the
only way to enforce veinjs rule priority when manipulating, is to delete
and re-apply it. Also, it is not really creating 'another' tag ... It is
creating the #vein tag if it doesn't exist (for example if it has been
deleted).
—
Reply to this email directly or view it on GitHub
https://github.com/israelidanny/veinjs/pull/26#issuecomment-70261857.

Yes I have tried to first remove the <style type="text/css" id="vein"></style>, and then add it again, but then veinjs just fails silently. This is logical, because you are storing a reference to the initially created style element, and although it gets removed from dom, the reference remains. I am not 100% acquainted with veinjs, but to me I am not quite sure why you are checking for the reference in the first place. To me, it would make more sense to only check if the vein style element exists in head:
if(!document.getElementById('vein')) { ...


Using WhiteNoise in development

Description
This pull request introduce WhiteNoise to development mode when it's enabled.
Rationale
Meets #2303

Thanks for this! 🎉


Prevent only mousewheel scrolling from being handled

I've done a couple of projects with Scrollify and I like it very much so far, but another one I'm working on cannot be made into fullpage sections with snapping. I'm wondering if there's any way to disable Scrollify handling mousescroll without disabling the plugin itself? It would help me a great deal to keep the code I've written with smooth scroll methods, pagination and i18n implemented and just make the mouse scroll work normally. Is there any "hack" that would achieve that without breaking the rest of the plugin, at least?

If you're happy to edit the plugin itself the this can be achieved fairly easily. You can remove the mousewheel event listeners.


fix: add type declarations for serialize-error

This adds manual type declarations for serialize-error which should make it work in most projects.
See-also: CPREL-985

Yep there are already tests for this package but they were passing so there was no need to change them 👍 I'm mostly moving to manual types for consistency with this one and because it reduces the amount of code we maintain


More metrics for raft log gc

What problem does this PR solve?
Issue Number: close #11374
Problem Summary:
Currently we have a lack of metrics to observe the status of raft log gc tasks
What is changed and how it works?
Proposal: xxx
What's Changed:
Add more metrics for raft log gc.
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test

Release note
None.

@BusyJay Screenshot of Grafana panels

/merge


Some improvements and bug fixes

Consider it as a request for comments, not real PR that should be merged.
There is some points:

There is go modules, why do we still use vendor? All packages are cached by default by Google, you can also use own cache proxy at your organization to make builds reproducible.
We use Genesys Web Services, and it support only Cookie-based auth, so I have to bypass own HTTP client with own cookie jar.
You have bug here: https://github.com/sigmavirus24/gobayeux/blob/master/client.go#L31

func NewClient(serverAddress string, logger logrus.FieldLogger) (*Client, error) {
	bc, err := NewBayeuxClient(nil, serverAddress, logger)
	if err != nil {
		return nil, err
	}
	if logger == nil {
		logger := logrus.New()
		logger.SetLevel(logrus.PanicLevel) // You cannot call logger.SetLevel because logrus.FieldLogger interface HAS NOT this method
	}

Fix:
if logger == nil {
	l := logrus.New()
	l.SetLevel(logrus.PanicLevel)
	logger = l
}

Your current high-level Client is not configurable at all, so added opts pattern approach.
I don't know why you made Data field as binary representation as default. It's optional, Genesys sends just own JSON structures here. My patch:

	// Data contains the event information and optionally could contain
	// a binary representation of the data
	// See also https://docs.cometd.org/current/reference/#_data and
	// https://docs.cometd.org/current/reference/#_concepts_binary_data
	//
	// There is the MessageData type can be used for binary data
	Data json.RawMessage `json:"data,omitempty"`

I don't know how Saleforce backend works, but in case of Genesys meta-message about success come last, not first. So instead of doing like that:

	response, err := b.parseResponse(resp)
	if err != nil {
		logger.WithError(err).Debug("error parsing response")
		return response, err
	}

	if !response[0].Successful {
		return response, errors.New("connect request was not successful")
	}

I am doing like this:
	response, err := b.parseResponse(resp)
	if err != nil {
		logger.WithError(err).Debug("error parsing response")
		return response, err
	}

	for _, m := range response {
		if m.Channel == MetaConnect && !m.Successful {
			return response, errors.New("connect request was not successful")
		}
	}

func NewClient(serverAddress string, logger logrus.FieldLogger) (*Client, error) {
	bc, err := NewBayeuxClient(nil, serverAddress, logger)
	if err != nil {
		return nil, err
	}
	if logger == nil {
		logger := logrus.New()
		logger.SetLevel(logrus.PanicLevel)
	}```

oh, here I gave the incorrect explanation of bug, the problem is that you create the new variable with the same name but `*Client` will still have nil `logger` from outer scope. It should be definitely fixed.

Would be nice to here you opinion about other points. We could make v2 version to make it compatible with previous version, but anyway I do not see any tags currently.

@sigmavirus24 btw what is the point of explicit setting cookies? I mean this (there are more examples):
https://github.com/sigmavirus24/gobayeux/blob/master/bayeux_client.go#L282-L291
Golang HTTP client automatically sets them out of the box:
https://github.com/golang/go/blob/master/src/net/http/client.go#L180-L184

Would be nice to hear you opinion about other points. We could make v2 version to make it compatible with previous version, but anyway I do not see any tags currently.

I'll get to it. This is mostly a for-fun/learning more about Go project for me than a serious open source effort.

btw what is the point of explicit setting cookies?

So CometD is kind of free-form. That means you might hit a certain endpoint, but there are other endpoints you might hit as part of it. So for a /meta/handshake some clients will append /meta/handshake to the "base" URL. And some server implementations return a cookie that then gets scoped to https://example.com/cometd/meta/handshake so it's common among cometd/bayeux clients to set those cookies for the domain rather than have default cookie jar logic apply as it could cause problems with server implementations expecting to see that cookie on all subsequent requests.
It's annoying and unspecified behaviour but as we know with HTTP, just because it's in the RFC doesn't mean it isn't ridiculously widespread and commonplace. I know based on other clients I've used/modified/written, for example, that Salesforce relies on clients to do this and so that was a motivating reason behind including that logic here. Node JS clients (primarily Faye) do this for all implementations with no negative effects it seems

@sigmavirus24 I got the idea behind this cookie logic and personally faced with such behavior in other cases, but your code just repeats default behavior, doesn't it?
Your code:
for _, cookie := range b.client.Jar.Cookies(b.serverAddress) {
		req.AddCookie(cookie)
	}

	resp, err := b.client.Do(req)
	if err != nil {
		return nil, err
	}

	b.client.Jar.SetCookies(b.serverAddress, resp.Cookies())
	return resp, nil

Go's code:
if c.Jar != nil {
		for _, cookie := range c.Jar.Cookies(req.URL) {
			req.AddCookie(cookie)
		}
	}
	resp, didTimeout, err = send(req, c.transport(), deadline)
	if err != nil {
		return nil, didTimeout, err
	}
	if c.Jar != nil {
		if rc := resp.Cookies(); len(rc) > 0 {
			c.Jar.SetCookies(req.URL, rc)
		}
	}

AFAIK your serversAddress is exactly their req.URL. Maybe I still doesn't understand something.
Also check my fork, I add README badges, fixed actions, typos in comments, etc. Of course I will replace L11R/gobayeux to sigmavirus24/gobayeux if you will consider to merge my changes completely.

So I squashed my small incremental commits into 1 and prepared the v1.0.0 release:
https://pkg.go.dev/github.com/L11R/gobayeux
Would be happy to upstream it.

I got the idea behind this cookie logic and personally faced with such behavior in other cases, but your code just repeats default behavior, doesn't it?

It doesn't. The path attribute on the Cookie will prevent it from working appropriately. Right now we don't support appending the request path (e.g., /meta/conect, /meta/handshake) to the server address but that was functionality I was going to add. That changes the needs here

@sigmavirus24 by the way in case of Genesys it appends in other way:
There is a base URL: https://genesys.company.org/api/v2/notifications
And then it appends just /handshake or /connect, so it becomes:

https://genesys.company.org/api/v2/notifications/handshake
https://genesys.company.org/api/v2/notifications/connect

But it works perfectly even without that appending. I know that it appends only after researching it web frontend client.

I'm trying to make time to review this.  I'm inclined to accept it though since you've tested against a real service.  Could you make the namespace updates until then?

@sigmavirus24 sure, done!

I'm going to remove the MessageData and then create a v1.0.
I am confused about the IDStorer -> IDStore rename given I thought interfaces were supposed to be things like Closer, Reader, etc. but :shrug:

Done: https://github.com/sigmavirus24/gobayeux/releases/tag/v1.0.0

I am confused about the IDStorer -> IDStore rename given I thought interfaces were supposed to be things like Closer, Reader, etc. but :shrug:

Well, I dont think there is some strict naming convention, Reader and Closer are at least existing nouns. Storer is non-existent english word, so I had a little bit confused by it and changed it.
AFAIK it's totally fine to just name interfaces using any nouns.

https://www.merriam-webster.com/dictionary/storer

@sigmavirus24 oh, okay, English is not my native, but it still sounds like an artificial word for me :)

Yeah, it's not common. And we've published v1.0 so we can't change it now :smile:


Disallow loops with a body that allows only one iteration (no-unreachable-loop)

https://eslint.org/docs/rules/no-unreachable-loop
A loop that can never reach the second iteration is a possible error in the code.
for (let i = 0; i < arr.length; i++) {
    if (arr[i].name === myName) {
        doSomething(arr[i]);
        // break was supposed to be here
    }
    break;
}

In rare cases where only one iteration (or at most one iteration) is intended behavior, the code should be refactored to use if conditionals instead of while, do-while and for loops. It's considered a best practice to avoid using loop constructs for such cases.
Rule Details
This rule aims to detect and disallow loops that can have at most one iteration, by performing static code path analysis on loop bodies.
In particular, this rule will disallow a loop with a body that exits the loop in all code paths. If all code paths in the loop's body will end with either a break, return or a throw statement, the second iteration of such loop is certainly unreachable, regardless of the loop's condition.
This rule checks while, do-while, for, for-in and for-of loops. You can optionally disable checks for each of these constructs.
Examples of incorrect code for this rule:
/*eslint no-unreachable-loop: "error"*/

while (foo) {
    doSomething(foo);
    foo = foo.parent;
    break;
}

function verifyList(head) {
    let item = head;
    do {
        if (verify(item)) {
            return true;
        } else {
            return false;
        }
    } while (item);
}

function findSomething(arr) {
    for (var i = 0; i < arr.length; i++) {
        if (isSomething(arr[i])) {
            return arr[i];
        } else {
            throw new Error("Doesn't exist.");
        }
    }
}

for (key in obj) {
    if (key.startsWith("_")) {
        break;
    }
    firstKey = key;
    firstValue = obj[key];
    break;
}

for (foo of bar) {
    if (foo.id === id) {
        doSomething(foo);
    }
    break;
}

Examples of correct code for this rule:
/*eslint no-unreachable-loop: "error"*/

while (foo) {
    doSomething(foo);
    foo = foo.parent;
}

function verifyList(head) {
    let item = head;
    do {
        if (verify(item)) {
            item = item.next;
        } else {
            return false;
        }
    } while (item);

    return true;
}

function findSomething(arr) {
    for (var i = 0; i < arr.length; i++) {
        if (isSomething(arr[i])) {
            return arr[i];
        }
    }
    throw new Error("Doesn't exist.");
}

for (key in obj) {
    if (key.startsWith("_")) {
        continue;
    }
    firstKey = key;
    firstValue = obj[key];
    break;
}

for (foo of bar) {
    if (foo.id === id) {
        doSomething(foo);
        break;
    }
}

Please note that this rule is not designed to check loop conditions, and will not warn in cases such as the following examples.
Examples of additional correct code for this rule:
/*eslint no-unreachable-loop: "error"*/

do {
    doSomething();
} while (false)

for (let i = 0; i < 1; i++) {
    doSomething(i);
}

for (const a of [1]) {
    doSomething(a);
}

Only 1 ecosystem failure:
    while ((entry = queue.shift()) != null) {
      setImmediate(next, null, entry)
      return
    }

IMO, this is confusing code since there is never any actual looping.
So let's enable this rule. Shipping in standard v15.


Update log4j library to 2.17.1 version

Log4j 2.17.0 has a security issue: https://github.com/dependency-insights/maven/org.apache.logging.log4j%253Alog4j-api/2.17.0/security?query=org%3Aexasol

Apache Log4j2 versions 2.0-beta7 through 2.17.0 (excluding security fix releases 2.3.2 and 2.12.4) are vulnerable to an attack where an attacker with permission to modify the logging configuration file can construct a malicious configuration using a JDBC Appender with a data source referencing a JNDI URI which can execute remote code.

This attack scenario is not relevant for the Cloudwatch Adapter because it is running in a Lambda and the attacker does not have access to the config file.
Nevertheless we will update the dependency in #57


decode URI params

I had something with space included
/api/books/:book/:page

Was going to make a query agains the book but got no match since value.book include %20 (space) so i had to decodeURI. Something i think can be done automatically by sw-toolbox

Could you provide more insight as to what the actual, live URL paths look like on your site and the specific routing configuration you're using with sw-toolbox?
I have a feeling that the RegExp-based routing should be able to handle this without much of an issue, but I'm not surprised if the Express-style routing has trouble.

router.get('/tv/:channel', ({channel}){
  console.log(channel) // ABC%20news
  channel = decodeURI(channel)
})

and the url:
localhost:8080/tv/ABC news/

Thanks, now I understand what you mean.
At this point, I don't feel comfortable changing the way sw-toolbox passes named parameters to the route callback, given the potential for surprising folks who were relying on the old behavior, and because this is the first time it's been requested by a developer.
Explicitly handling URL decoding within your own code (or explicitly URL encoding strings that you're going to match against the named parameters), if you work with URLs that contain characters which require it, is the best approach given the situation.


drivers: power_domain: Introduce a gpio monitor driver

Power rails of some peripherals are controlled externally.
This is a case in embedded controllers, where the power of
some I2C devices are managed by the main application
processor.
To ensure that zephyr drivers access the devices where is
powered on, introduce a "monitoring" power domain. It works
by registering interrupt handler with gpio a pin, so that
when power state changes, it will notify relevant drivers.
Fixes: #51349

@JordanYates I think all comments have been addressed, is there anyting else?

I don't really like the solution, but I can't think of anything better and it doesn't affect anything outside this driver

@semihalf-jakiela-albert hey there's few CI failures, could you look into those?

I don't really like the solution, but I can't think of anything better and it doesn't affect anything outside this driver

@JordanYates ok, so what's next? :-)

@ceolin I added a disclaimer to power-domain-gpio-monitor.yaml. Could you please check if it is good?

For some unknown (to me) reason, this commit broke compilation of  intel_adsp_ace15_mtpm and intel_adsp_ace20_lnl
Reverting it locally fixes compilation of both.
 In https://github.com/zephyrproject-rtos/zephyr/issues/61961 the check was enabled and you hit a case where the priority was incoherent with the tree but was probably working because the respective init functions were not using any api in an uninitialized state, but in this case it's actually detecting that the order was correct before the ptach and it is not after. Unfortunately the workaround is again to massage the priority numbers -- notice that the one reported in the error is not the actual priority but rather the sequence number in the init (unfortunately I had to redo the backend for that check for compiler compatibility and I can't get the actual priority number anymore).
If it can help clarify what's going on you can run ./scripts/build/check_init_priorities.py -v before and after and see how it changed. Already have https://github.com/zephyrproject-rtos/zephyr/pull/64486 to address the script output being, admittedly, not very clear.
Let me know if I can help decoding that, hopefully I can integrate some feedback in https://github.com/zephyrproject-rtos/zephyr/pull/64486.

Thanks @fabiobaltieri for the additional details. I don't think this explain why another, unrelated and existing power domain was modified without even trying to compile it. Moreover some corresponding review comments seem to have been missed.
I submitted a partial revert of just that line in:

#64712

It may not be the ideal code but AFAIK it brings us to the previous state which compiles (!) and was just released to production.
This PR is long, closed and about something else, let's move the discussion to #64712


fix(oss-horiontal-scroll): fix the card layout size heigh

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 78.12%. Comparing base (f5d516c) to head (c41af51).
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1217      +/-   ##
==========================================
- Coverage   79.10%   78.12%   -0.98%
==========================================
  Files          40       40
  Lines         512      512
  Branches       84       84
==========================================
- Hits          405      400       -5
+ Misses        107      106       -1
- Partials        0        6       +6

Flag
Coverage Δ

unittests
78.12% <100.00%> (-0.98%)
:arrow_down:

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

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


How to pause MouseConstraint on-demand

I'm making a sandbox game where the user is NOT allowed to move objects via MouseConstraint during "play" mode. Is this possible? If so, how?

You can remove the mouse constraint during play mode and add it back in other modes

You can remove the mouse constraint during play mode and add it back in other modes

I thought of that, but the only way to remove objects is by feeding the World.remove() function an exact replica of the MouseConstraint, which can be obtained two ways: subtracting the world object before adding the MouseConstraint from the world after the constraint is added, or feeding Composite.get() the mouseConstraint type (but MouseConstraints do NOT supply an id.) I have tried the first method, but the code is very messy and I doubt it's possible to subtract object properties using a similar copy of the object.

I thought of that, but the only way to remove objects is by feeding the World.remove() function an exact replica of the MouseConstraint, which can be obtained two ways: subtracting the world object before adding the MouseConstraint from the world after the constraint is added, or feeding Composite.get() the mouseConstraint type (but MouseConstraints do NOT supply an id.) I have tried the first method, but the code is very messy and I doubt it's possible to subtract object properties using a similar copy of the object.

@AliaNeedsHelp you could do it like @bouraqadi mentioned but you will need to apply it to the mouseConstraint.constraint property instead I think.
The other option would be to set up a mouseConstraint.collisionFilter and toggle it as you need.

Also, is rendering always triggered after it's engine has finished updating?

Also, is rendering always triggered after it's engine has finished updating?

I'm thinking of using a custom mousConstraint which allows drag-n-drop

I'm thinking of using a custom mousConstraint which allows drag-n-drop

@AliaNeedsHelp if you're using the built in runner / renderer, that's right it renders after update. A custom constraint sounds like a good idea to get exactly what you need. Looks like you're on track so I'll close this.

@AliaNeedsHelp if you're using the built in runner / renderer, that's right it renders after update. A custom constraint sounds like a good idea to get exactly what you need. Looks like you're on track so I'll close this.


[ENH] Watermark add

Addressing #24, raised in the Dec 2019 Dev meeting.

Also address pysal/pysal#1145


Update owl4ce's dotfiles notes

Hi! I just changed my dotfiles notes since it changed now, I know that "very" small changes like this are not allowed (?) as it says on CONTRIBUTING.md. However, please consider to merge.
Thank you!
Congrats! Now owl4ce's dotfiles uses POSIX-compliant sh instead of bash.

Copyright Assignment

[x] This document is covered by the MIT License, and I agree to contribute this PR under the terms of the license.

Things to look out for
Make sure that if your notes field in any additions/updates you make to the YAML files in the _data directory contains any : characters that the entire field is quoted as shown below:
Valid:
foo: "bar: baz"

Invalid:
foo: bar: baz

I'm fine with small changes to existing entries. I'll look at Contributing.md and update it accordingly, thanks!


feature: multiple directive

It would be great to support multiple directives:

@hasRole
@hasPermission

Example:
type Article {
  id: ID!
  title: String!
  content: String! @hasPermission(resources: ["subscribed"])
}

type Query {
  listArticles: [Article]!
}

type Mutation {
  publishArticle(articleId: ID!): Article! @hasRole(role: "editor")
  unpublishArticle(articleId: ID!):Boolean @hasPermission(resources: ["publish","delete"])
}

Doing so, it should be open to integrating external Identity Management such as:

keycloak
Auth0 Authorization extension
any Identity Manager that implements the User -> Role -> Permission paradigm

Great idea! I wonder if it's currently possible to do this by registering the plugin twice?
Either way, I think this would be great feature to support, would you be interested in submitting a PR for this?

Yes @jonnydgreen, I'm working on it
Could you assign me this issue?

I wonder if it's currently possible to do this in the meantime by registering the plugin twice?

I will try it and add tests&docs if it works

Awesome, thanks and thanks!


[AV2-263] Feature/instant login

It's better to put the background image above the text & input & button. Now it looks a bit weird.

@shawnm0705 isn't it the background image is above them all now?

It is currently overing them. See the purple circle at bottom

It's better to put the background image above the text & input & button. Now it looks a bit weird.

@shawnm0705 isn't it the background image is above them all now?

It is currently overing them. See the purple circle at bottom


CI: add .cirrus.yml

Fix #94

default.yaml is still tested on macOS instances of GHA
Other yamls are tested on Linux instances of Cirrus. macOS instances of Cirrus cannot be used due to lack of support for nested VMs.

Unlike GHA, Cirrus allows restarting an individual failed test.

Cirrus doesn't seem to support running multiple macOS VMs simultaneously, so maybe worse than GHA
https://cirrus-ci.org/faq/#are-there-any-limits

Maybe we can use Cirrus with multiple nestable Linux VMs to test examples/*.yaml and a single macOS VM to test examples/default.yaml

$ uname -a
Darwin admins-Mac.local 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64

$ sysctl machdep.cpu.features
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH MMX FXSR SSE SSE2 SS HTT SSE3 PCLMULQDQ MON SSSE3 FMA CX16 SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES VMM PCID XSAVE OSXSAVE TSCTMR AVX1.0 RDRAND F16C

The macOS instances of Cirrus do not seem to support nested VM (VMX) 😞

Cirrus seems as flaky as GHA, so the only advantage I see is that it has "Re-run" button for individual tests.
@jandubois WDYT?

I do like being able to re-run individual tests, but that really is also just a bandaid for the flaky runners.
Maybe try running all the non-default integration tests with GHA on Ubuntu instead of macOS? I think the macOS runners are especially flaky.
I found some hint that Github was doing some infrastructure migration that should just be completed about now, that should improve macOS runners: https://github.com/actions/virtual-environments/issues/2707#issuecomment-782056996. That was about slow I/O performance, but it sounds like they were doing bigger changes and maybe they are not quite there yet.

Linux instances of GHA do not support nested virtualization AFAIK

Linux instances of GHA do not support nested virtualization AFAIK

Yes, you are right; my bad!
/me sighs

I’m merging this, but we can revert if this does not work as we expect


[Homepage] Create Top/Recently Visited components

Hey, I just made a Pull Request!
This PR has the objective of releasing a "Recently Visited" and "Top Visited" experience to open source. This home-page-visit-components-0 feature branch is where work is being centralized before promiting this PR from Draft.
Previous PRs targeting this branch were:

feature(home-plugin): Bootstrap Recently Visited and Top Visited components
feature(home-plugin): Creates the VisitListener component
feature(home-plugin): Create reference implementation (localStorage and storeApi)
doc(home-plugin): Adds documentation on  usage

A quick preview of the component in storybook:

From comments from previous PRs, bellow is a list of necessary points before promotion from Draft:

[x] Experiment with refactoring CoreStorageVisitsApi, LocalStorageVisitsApi and Visit (see comments).
[ ] Fix title bug

These are extra discussions that should not block this PR, listed here to keep track:

[ ] Extract the do not track functionality into a separete proposal (see comments)
[ ] Should the component be named PageVisitsApi instead of VisitsApi? (see discussion on pr)

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@camilaibs @freben I was able to fix the points you raised before. There is no VisitsApiFactory, the main implementation is VisitsStorageApi and the other uses WebStorage implementation of the StorageApi through VisitsStorageApi.


Load more functionality

I've been looking through issues thread and I could find mentions about a load more-button.
Does it exist? How can I define a max comment limit?
Thanks.

Currently there is no such functionality.


Bug Alt+Tab OverlayForm

Hiding Alt + Tab Options Window

Thanks for your change, it is merged now.


Crash when resolution changes if FPS is low

Describe the bug
There are still issues when incoming video is resized. The following will likely result in a crash:

Set t.maxfps 3 on receiver side.
Connect with video on sender side.
Change video resolution on sender side to a higher resolution if possible (e.g. set initial constraint to 360p, then to 1080p). Otherwise wait until the resolution changes happen naturally.
If no crash, disconnect on sender side and repeat steps 2 and 3.

Expected Behavior
No crashes when resolutions change.
Minimalistic code (recommended)
N/A
Specifications

OS: all
Version:

comms-sdk-unreal 1.1.0

No longer reproducible in release 1.1.1.


LoadFromIBMCloud is not multi process/thread safe

When running LoadFromIBMCloud at the same time from multiple processes, it finds the local cached file and missing and attempts to download in each process.  Then the files can overwrite each other.  We should change the code to download the file to a temp name , and then do an atomic rename to the the final file (if it does not already exist, by the time of the rename).

Fix in #527

This was fixed in #536.


Trying understanding Anti-Tampering of ConfuserEx

Hey!
Sorry to bother Your again.
I am trying to understand how Anti-Tampering works in ConfuserEx. It seems that it encrypts the CIL commands and decrypts them at runtime (key and calculation are inserted in the module static constructor). But i cannot fully understand how it encrypts the code.
Is there a chance You would be willing to shed a bit of light on this mystery for me?

https://github.com/yck1509/ConfuserEx/blob/3c9c29d9daf2f1259edf69054c5693d5d225a980/Confuser.Runtime/AntiTamper.Normal.cs#L8
Basically they use this.

Thanks @SlowLogicBoy !
Debugging a anti-tampering process gut me to this code here
From my understnading, ConfuserEx first adds some calculation of pointers/values to the Initializer of the module (static constructor) (see public void HandleInject at line 28)
When ConfuserEx is done with injecting the new code into the constructor, in public void HandleMD at line 98, ConfuserEx adds a listening event that does 2 things:

Create Sections
Encrypt the Sections

The questions that came to my mind are the follwoing:

What is happening in the Constructor method? (public void HandleInject at line 28)
How does the program get the dencrypted CIL commands at runtime?
Why/What for does the Anti-Tampering protection creates section? (void CreateSections(ModuleWriterBase writer) line 112)
What happens in void EncryptSection(ModuleWriterBase writer) at line 175, between lines 176 and 213 (see code below).

I understand that I am asking for too much detail, but any smallest hint would be very appriciated. Sadly my knowledge of CIL level work and dll architecture is very close to 0.
Code of method in question 4.
`Stream stream = writer.DestinationStream; //line 176
var reader = new BinaryReader(writer.DestinationStream);
stream.Position = 0x3C;
stream.Position = reader.ReadUInt32();
		stream.Position += 6;
		ushort sections = reader.ReadUInt16();
		stream.Position += 0xc;
		ushort optSize = reader.ReadUInt16();
		stream.Position += 2 + optSize;

		uint encLoc = 0, encSize = 0;
		int origSects = -1;
		if (writer is NativeModuleWriter && writer.Module is ModuleDefMD)
			origSects = ((ModuleDefMD)writer.Module).MetaData.PEImage.ImageSectionHeaders.Count;
		for (int i = 0; i < sections; i++) {
			uint nameHash;
			if (origSects > 0) {
				origSects--;
				stream.Write(new byte[8], 0, 8);
				nameHash = 0;
			}
			else
				nameHash = reader.ReadUInt32() * reader.ReadUInt32();
			stream.Position += 8;
			if (nameHash == name1 * name2) {
				encSize = reader.ReadUInt32();
				encLoc = reader.ReadUInt32();
			}
			else if (nameHash != 0) {
				uint sectSize = reader.ReadUInt32();
				uint sectLoc = reader.ReadUInt32();
				Hash(stream, reader, sectLoc, sectSize);
			}
			else
				stream.Position += 8;
			stream.Position += 16;
		}// line 213`


There is no social media icon in the footer section and improve overall layout of the footer section

There is no social media icon in the footer section and improve overall layout of the footer section

A similar issue is already assigned to someone else, closing the duplicate issue.


Increase sleep time in pkg/cache tests to avoid timing related flakes

Bump up the time allowed to from 10ms to 50ms; this is still short, but should save us this test failing ~once a day.

/lgtm

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

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
5c77b5146bf8f74a2eff187e6b8097e885c51ec6
link
/test istio-unit-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
5c77b5146bf8f74a2eff187e6b8097e885c51ec6
link
/test istio-unit-tests

prow/e2e-simpleTests.sh
5c77b5146bf8f74a2eff187e6b8097e885c51ec6
link
/test e2e-simple

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


stm32f412cx: lack of MCO2 bits definition

According to RM0402, all STM32F412 chips can configure MCO2 in RCC_CFGR register.
The stm32f412cx.h header doesn't have the definition of MCO2 bits. I guess it is done this way because all stm32f412cx chips are in UFQFPN48 package, which doesn't have PC9 pin (MCO2 pin).
The problem is that changing the MCO2 source clock(to a clock that is disabled) reduces power consumption.
Wouldn't it make sense to define the MCO2 bits for all STM32F412 bit despite the fact the PC9 pin is not present?

Is there any plan to take care of this issue?

ST Internal Reference: 170618

Fixed in commit a42876e39710b7022082f4a8be2bcf780da0b9ab

Thanks.


Implement Citation Generator

-[ ] ist all the images in the citation, and the researcher can edit if they want to specify the one looked at.

See #280 for detail on how to reference scans in citation


Netlify cms & FAQ

Added support for local editing of blog posts with netlify CMS
Updated FAQ's

Just tagging you @abodthedude25 to confirm the FAQ questions are good to go, then this can be merged


Set  SchemaContract.Document as required.

…e 500 in case SchemaContract.Document is null. That issue was fixed in the APIM and server will return proper response code.
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[x] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[ ] Check this box if any of the following appy to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

This PR is marked as a breaking change, you need to get an exception, please send an email to: azbreakchangereview and request an exception. Here's the breaking change wiki for more information: https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/37684/Breaking-Changes

Once you get the exception approved, add WaitForArmFeedback label please so we can review the PR.

@agapovm , please get breaking change review approval and this PR doesn't need ARM review.


Changes for adding Dedicated Host on VSI

Description
Enhancing the option for VSI with dedicated host feature. Module for dedicated host is already created and thus uses it for creating the VSI on a dedicated host if ID is provided.

/run pipeline

/run pipeline

/run pipeline

/run pipeline


Increase Code Coverage to at least 50%

Code coverage currently sits at 27% Increase Code Coverage to at least 50%.

Don't know if i can manage to double the code coverage, but i was busy increasing it already so mind if i do

@Jelmergu all yours.

@Jelmergu Just to let you be aware, we merged in an update that bumped phpunit from 8.x to 9.x. Might want to pull down the latest master.

Thanks, I will take a look at that. On my fork i am currently sitting at 57% lines covered in the controllers, so i don't think it will be long before the PR arrives


Project should be organized with sub modules

Manually copying changes between the DesignLabs_Unity & DesignLabs_Unity_Examples projects is error-prone and time consuming. I'm also concerned about the PeriodicTable project (and other sample app projects) drifting out of sync with our primary HUX project.
We should set up a HUX sub-module to ensure parity and reduce workload: https://github.com/blog/2104-working-with-submodules
Since we're starting to see regular usage / contributions we should do this sooner rather than later to get any potential disruption out of the way.

Valid concern and where I wanted to head with the structure anyway. Checking in new repository for our Unity Tools.  Changes should be made in that repo ( https://github.com/Microsoft/MRDesignLabs_Unity_Tools.git
) and propagated from there.  I've replaced the submodules in bot DesignLabs_Unity as well as DesignLabs_Unity_Examples.

Changes have been pushed please do a pull and make sure it all looks good on your end.


Remove CF-Connecting-IP for security purposes

An exploit was recently found, mainly in Ripple stacks (but also present in servers that utilize the CF-Connecting-IP header to find and set the user's IP), that allows players to essentially spoof their IP and location using CF-Connecting-IP. This was brought up (rather helpfully) by @RealistikDash. The main issue is that if the server allows the IP to be set using said header, the player can pretty much change it and then use it freely. Servers, including ones like gulag and Asahi that do not use Cloudflare or has a server switcher, it is vulnerable.
Just thought I'd PR this; entirely up to you if you wanna take the risk.

The only issue provided with this, atleast as far as I know, is that there is no alternative method for grabbing the users real IP for those who do use Cloudflare. While it is a risk that people can spoof the IP returned, I don't think some people would like to disable Cloudflare for this purpose

The server should rather check if the connecting IP is from cloudflare before using that header.

If we ignore the changes this commit makes, it already does I believe.

Well, if the exploit was detected, then it doesn't. It should check that the IP belongs to defined subnets available on https://www.cloudflare.com/it-it/ips/

Just make your servers only accept connections through cloudflare if using cloudflare smh.
You can make a config option to enable CF mode, where it would use CF header and drop all connections unless they come from:
https://api.cloudflare.com/#cloudflare-ips-properties

yea this was discussed in the commit where this was added and is also a duplicate of #109; seems like we can either check for cloudflare ips or just use the first ip in x-forwarded-for. gonna hold off until i research more into how other http server implementations use x-forwarded-for before making any action.
either way this is minor concern since gulag only tracks ips for logins at the moment and doesn't use them for any security checks. if people wanted to fake their country they could just use a vpn.

gonna hold off until i research more into how other http server implementations use x-forwarded-for before making any action.

The Express framework replaces req.ip with the appropriate value from the X-Forwarded-For header, replaces req.hostname with the value of X-Forwarded-Host, and req.protocol with X-Forwarded-Proto, all IF the framework trusts the client's socket address as a proxy as configured by the 'trust proxy' setting.
For example, with app.set('trust proxy', '<IP_ADDRESS>'), the framework will use those headers only if the connection is from localhost. It will use the nearest trusted level of the XFF list... soo the right-most value if there is only one hop. Such way it doesn't matter what the client connecting to i.e. nginx sets as X-Forwarded-For (which would be added to the left).
You could add the entire list of cloudflare's IPs to express, so if the connection from Cloudflare, it will recognize it in the rightmost place on the list and use the next address to the left of that to substitute into the request properties.
Other ways to configure it include setting a number of hops to trust, i.e. 2 if you have cloudflare -> nginx -> app and no other possible way around it. More information: https://expressjs.com/en/guide/behind-proxies.html

I think the best thing to do is implement similar proxy trust functionality, and have the end user provide a list of trusted address blocks in their config.
So for example with a typical setup of cloudflare -> nginx -> app, the list would contain <IP_ADDRESS> + cloudflare's addresses. If socket address is in list (i.e. <IP_ADDRESS>), check last (rightmost) value of XFF, if it's also in list (i.e. <IP_ADDRESS>), check the previous (left) one, repeat until find one that's not in list.
This'll allow full control for the sysadmin to set it up however they want with proper security.


feat(firestore-bigquery-export): dataset location

WIP

Codecov Report

Merging #462 into next will decrease coverage by 2.43%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             next     #462      +/-   ##
==========================================
- Coverage   41.58%   39.15%   -2.42%
==========================================
  Files          30       31       +1
  Lines        1128     1198      +70
  Branches      154      155       +1
==========================================
  Hits          469      469
- Misses        653      723      +70
  Partials        6        6

Impacted Files
Coverage Δ

...tore-bigquery-change-tracker/src/bigquery/index.ts
0.00% <0.00%> (ø)

...port/firestore-bigquery-change-tracker/src/logs.ts
0.00% <ø> (ø)

Nice!


[CELEBORN-193][FOLLOWUP] Reduce unnecessary binary files.

What changes were proposed in this pull request?
Why are the changes needed?
Does this PR introduce any user-facing change?
How was this patch tested?

I've tested on CentOS and things goes well.


Move config to sass and export to js / template where necessary

Problem / Motivation
The current approach to config generation is trying to solve two orthogonal problems:

allowing properties that need to be shared between sass / js / templates still to be managed in one place
eliminating magic numbers in the source

It was conceived to solve the first problem, but as it stands it needs also to be used to solve the second problem too. This is starting to cause the config file to grow, and it will soon become large, with the maintenance issues that brings; it also introduces an unnecessary layer of complexity when writing sass that does not contain any exportable values.
Proposed solution
As (currently) all the values seem to be present in sass, the sass layer should be the definitive source of truth for these values and the values exported from sass to js / templating as required.
Initial investigation by @thewilkybarkid shows this to be a viable approach.
Tasks
Using the initial investigation as a jumping off point:

[ ] move all config values to sass, keeping them modular
[ ] use gulp to export to js / tempates as required

Clarification needed and assumptions

This approach assumes that no values need to be shared between js and templates, but not sass. Should this arise, we'll need to decide on the best approach, but as things stand at the moment this seems unlikely

This does not prevent sharing values to other parts of the libero technology stack, but it does mean that they need to be defined in Libero Publisher's sass, and exported from there

Technical notes
The Gulp file is already quite complex and this adds to it further. Keep in mind the possibility of extracting the config export functionality into a library. This will keep the file simpler, and will make the technique available to the community more easily, independent of Libero Publisher.

Using it in Twig is blocked by https://github.com/libero/libero/issues/190.

Splitting exporting due to #190.


Increase timeout for http2 server

Hopefully this solves #10056...

I don't think this is the right fix. The failing tests in https://github.com/grpc/grpc/issues/10056 are all failing to even connect to the server. They shouldn't need more time just to establish connections.
I will be sending out a PR in a minute that updates the http2 Python server to fail when it encounters an error when attempting to listen to a port - right now, it just silently swallows such problems. This will at least let us know if the server is even working when failures like in https://github.com/grpc/grpc/issues/10056 occur. (I haven't looked into the docker networking, but since the http2 server is hard-coded to use ports 8080-8085, it's possible there are intermittent conflicts on these ports that are causing the flaky tests).

Whoops! didn't know you were also taking a look at this. The dangers of working remotely...
I'll close this.


PR for Review

Take a look

there are some merge conflicts on frontend/src/components/NavBar/NavBar.jsx
I got it working but if you wanna give it a shot heres a link to a branch based on yours after i cleared the merge conflict
https://github.com/jesusdoza/pantryPal/tree/navbarMergeConflict


use it in Windows

hi...
how can I use it in windows?

No, not easily.
This repo only contains tests to show that the algorithm works. You can't do anything useful with this repo without modifying the code. There isn't much point in running the tests because you will just get the same output I posted in the readme file.

Hi ! I understand this repository is no longer maintained but I was quite amazed by the demo and was wondering how hard it would be to rework it and make it work for any images. (I think currently it's a bit hardcoded, e.g the file "keypoints.py" ?)
Thanks !


Warning fixes

This PR does 3 things:

Drops the version of HTTPretty because their latest release has a syntax error in Py3
Subclass all scikit-bio warnings from SkbioWarning this allows us to filter only those warnings in the test. Ideally this will make real warnings more noticeable.
Fix a bunch of warnings throughout the codebase so things don't fall apart come 3.6 or new pandas/scipy release.

@gregcaporaso could you review? The HTTPretty part is blocking #1242

:+1: this is great!
Can you add a changelog mention about SkbioWarning? I think that's the only public-facing change. Also I'm seeing a couple RuntimeWarning from PCoA tests, is that something we want to silence too?

Just added the changelog to #1246.
As for the RuntimeWarning I left those out on purpose... they really should get fixed/updated. We surely can come up with a different example that doesn't flag our warning out of the box.

Thanks! Agree about changing tests to not raise the warning
On Friday, December 18, 2015, Evan Bolyen<EMAIL_ADDRESS>wrote:

Just added the changelog to #1246
https://github.com/biocore/scikit-bio/pull/1246.
As for the RuntimeWarning I left those out on purpose... they really
should get fixed/updated. We surely can come up with a different example
that doesn't flag our warning out of the box.
—
Reply to this email directly or view it on GitHub
https://github.com/biocore/scikit-bio/pull/1245#issuecomment-165645778.

--
Sent from my phone.


chore: Animations in Eigen and RN Gesture Handler [do not merge]

Description
Code for the Animations tuto done during the KS.
To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

#nochangelog
Need help with something? Have a look at our docs, or get in touch with us.

Warnings

:warning:

✅ No changelog changes

  Generated by :no_entry_sign: dangerJS against b661e235f94ced2e2005f92adef0f19084b7b29c


initial repo docs

Starting work on the Basics re-write.  Adding the parent repo files from the template.


Flow fails checking against imported interface, but not when declared locally

I have a generic interface Provider<T: Configuration> referenced as a constructor parameter for a generic class ProviderCollection<T: Configuration>. When Provider is declared in the same file as ProviderCollection, flow correctly checks a union type of subtypes of Configuration as the input to a method on ProviderCollection. When I import the Provider type from another module, flow throws errors about members of the union of Configuration types.
Gist: https://gist.github.com/billschaller/2942ba31edb134cc94715f137ce6ac20
CC: @gabelevi

I've repro'd this – an imported interface does not function. I see:

incorrectly setting a variable typed to the interface does not produce an error
incorrectly setting a property of the interface-typed object does not produce an error

This means flow is failing to do basic type-checking in our current projects – please prioritize!

All these import issues should be fixed after types-first


Rendering issue with notification width

Hi there! Thanks for the updates to this repo, I just started using your fork in a macOS project.
I noticed that, the first times a new notification is created, the width of the notification is incorrect for a frame or two. You can see it in your demo video around second 4, when you add Warning notifications.
EDIT
I think the issue is reusing window names in sprintf(windowName, "##TOAST%d", (int)i);, which confuses ImGui. It'd be better to assign a unique id to each new toast and update that with sprintf(windowName, "##TOAST%d", currentToast->getId());

Thanks, I'll look into it, this is part of the original code by @patrickcjk, so I might have missed that

EDIT I think the issue is reusing window names in sprintf(windowName, "##TOAST%d", (int)i);, which confuses ImGui. It'd be better to assign a unique id to each new toast and update that with sprintf(windowName, "##TOAST%d", currentToast->getId());

I've checked your assumption using ImGui::ShowStackToolWindow(), but unfortunately it seems like all window ids are unique. It might be an autoresize issue, I'll let you know, if I find some fix.


mlaskowski4 => ndelius-serenity-automation

Adding Michal Laskowski as collaborator to ndelius-serenity-automation. Note I needed to create a new file for the ndelius-serenity-automation repository.

Hi @Nic-Hodg is access to the repo okay for this collaborator?

Approved, please add them


Add some field to general.XML

Needed for some vibration sensors.

Wrong github https://github.com/dresden-elektronik/deconz-rest-plugin/pull/6838


Add link to gobblin IRC channel in readme

Add a badge to the readme which links to a newly created IRC channel.  If accepted, I will add all of you as admins on the channel.

@zliu41 Can you review this?


godoc should format interface types more like other types, displaying methods individually

In e.g. the documentation for the reflect package, concrete types like Value have their methods listed and documented individually, while interface types like Type do not, but force the reader to grovel through the actual source code of interface to find the methods declared on the type.  This is a great inconvenience to the reader, particularly because as a consequence the interface type's methods are not listed in the table of contents.
It seems particularly egregious in cases like reflect.Type where the concrete types that fulfil the interface are all unexported, and the user is unlikely to be creating more.  The fact that Type is an interface is of no real interest to the reader, and should not affect the format in which the documentation is presented.

duplicate of #5860

Drat, didn't see that, despite searching for it.  Maybe I was looking only for bugs tagged 'documentation', but I guess it really is a bug against godoc functionality rather than documentation...  Sorry!

Looks like we can close this (we prefer to avoid duplicate issues and this indeed looks like a dup of #5860). Please comment if I'm missing something and this should stay open. Thanks.


Schema::rename() arguments may be incorrect.

I believe the documentation may have the argument order swapped around.
Schema::rename($from, $to);
returns a PDOException::("SQLSTATE[42S01]: Base table or view already exists error. But, when calling it this way:
Schema::rename($to, $from); works as expected.
Laravel 5.7.*

The source shows Schema::rename($from, $to);
See Illuminate\Database\Schema\Builder

Please don't ignore the issue template.


Remove and reserve unused and deprecated fields of DocumentationReply. [phab:D2186]

Created by fromberger at 2018-02-15 04:26:51:
Apart from the text field (where we store comments), all the Printable valued
fields in this message are now unused.

schroederc accepted this revision at 2018-02-15 16:53:40

fromberger closed via commit 9a4214442269950d0df06950f456f886c03ee7b3 at 2018-02-15 16:56:54


Broken Link

https://docs.substrate.io/tutorials/connect-relay-and-parachains/acquire-a-testnet-slot/

moved to https://docs.substrate.io/tutorials/build-a-parachain/acquire-a-testnet-slot/


Improve Doc Formatting

The README is basically a brain dump of all of the features. This needs to be reworked so that it's easier to consume.

Thank you docs.page! Proton has nice new docs!
Need to add search.


Use scoped thread API in directory diff frontend

Just a code cleanup. As the minimum Rust version is now 1.63.0, we don't need
to manage the spawned thread manually. We can also remove the AtomicBool.

Much nicer, thanks for the PR! :)


Upgrade peerDependencies for React 0.14

Hi,
With React 0.14 being released now, it would be great to update this library so it can play well with it.
Thanks

Done! Published 0.3.0 with<EMAIL_ADDRESS>dependency.

Thanks @JedWatson !
Any chance React-Tappable can receive the same treatment ? ;)

@Tlvenn sure thing :)


Update CoCo artifacts to candidates for v0.7.0 release

/test

Missed one thing. Will push again in a second.

/test

/test-tdx

I'm working with @UnmeshDeodhar to debug the problem on snp.

So for s390x only the third test is failing? Is this a common case? Should we just try to retrigger? @stevenhorsman @BbolroC

So for s390x only the third test is failing? Is this a common case? Should we just try to retrigger? @stevenhorsman @BbolroC

That's odd as that is the most basic test. I'll rebuild it

SNP test is passing, but did not report: http://jenkins.katacontainers.io/job/confidential-containers-operator-main-ubuntu-20.04_snp-x86_64-containerd_kata-qemu-snp-PR/37/console

SNP test is passing, but did not report: http://jenkins.katacontainers.io/job/confidential-containers-operator-main-ubuntu-20.04_snp-x86_64-containerd_kata-qemu-snp-PR/37/console

Yeah the s390x rebuild pass 6mins ago, but seems to be struggling to report too.


Is it possible to Run command into AIM via ShortCut?

Hi @chuongmep
Is it possible to Run a command via AIM with a ShortCut?

you can do it

Hy @chuongmep
Ok, that's cool, but, no way to add ShortCut to a specific command loaded in AIM?

@pierrenavarra why you don't use add-in manager faceless feature, it run command nearest ?

why you don't use add-in manager faceless feature, it run command nearest ?

Euh...what do you mean?

why you don't use faceless in case need run a last command ?

Excellent!!!! In this mode, it runs last selected command done in ManualMode, is it?

@pierrenavarra correct

Please read wiki to know more info https://github.com/chuongmep/RevitAddInManager/wiki/How-To-Use-Add-In-Manager

Please read wiki to know more info https://github.com/chuongmep/RevitAddInManager/wiki/How-To-Use-Add-In-Manager

Excellent!! Many thx again


Can torchvision.ops.RoIAlign be used instead of RoIAlign（CUDA extensions）

I had some problems converting my model to onnx
Can torchvision.ops.RoIAlign be used instead of RoIAlign（CUDA extensions）

I guess it is okay after some modification. Note that torchvision.ops.RoIAlign only works for 2D images (4D tensors of shape NxCxHxW). So you should resize the feature sequence from shape NxCxT to NxCx1xT and also modify the RoI locations to fit the new shape.


Warning | validateDOMNesting For Helper Ref

Currently if a user wants to override the tag prop of react-block-ui they can but it doesn't account for warnings that may come up if per say we were to have a tag of

Example Code:
<BlockUI tag="tbody">
   hello
</BlockUI>

rendered HTML

   hello

Warning: validateDOMNesting(...):  cannot appear as a child of
.

Code Link
I would suggest the we move the span ref helper out of the component and return BlockUI as a fragment of both. Then we can just have the span grab the same element from helper.previousSibling to allow any tag to be overridden for the BlockUI tag prop.

Came here to report the same. This looks very ugly in the console.


[Actionable Message Designer] Copy JSON Button copy the JSON Card as a serialized object

Adaptive Card Team,
Wonderful work with the technology. Thanks a lot.
When using the new "Designer for Actionable Messages" at the new https://amdesigner.azurewebsites.net/, everything seems fine until you click on the COPY JSON button.
The text copies came as serialized string, requiring the output to be modified before it can be pasted in postman or in the other Adaptive Card related websites.
Thanks,
Daniel

Thanks for trying us out @fuchsdaniel ! @dclaux would you know if this question is better suited for the Actionable Messages forum rather than AC first?

Looks like this was an issue wiht the Actionable Messages Designer that should be fixed now. @fuchsdaniel please let us know/reactivate should you cntinue to the see issues in your workflow


Charging crusher should push allies on the way aside instead of stopping after colliding with them.

Right now charging crusher stops if encounters xenos or marines, but in cm13 crusher pushes allies aside, according to https://discord.com/channels/1168210010233376858/1261238058096001156/1265217338098061383, https://discord.com/channels/1168210010233376858/1261238058096001156/1265218350552973395, crusher pushes allies aside.
We should have crusher push allies aside in rmc14 too.
As of now it is really annoying to stop your offensive or (especially) escaping charge and die because lesser got in the way.

That would be for the Charger strain of Crusher, which is different.


replace python scripts with bash scripts to enable more universal images

What is the purpose of this pull request?: Replace readiness and peer-finder scripts with bash equivalents
What issue does this pull request address?: Fixes # More universal images can be used, no python dependencies
Notes for reviewers to consider: verified on GCE with dynamic pv storage and local host paths
Specific reviewers for pull request:

closing this PR in favor of moving the work to Openstack proper: https://github.com/openstack/openstack-helm


Added Boolean return for update/delete Eloquent methods

Last day I had an issue related to deleting a model. The code (simplified version for the sake of example) looked something like this:
$user = User::select('some_column')->first(); $user->delete(); // returns true
But surprisingly, I could still see the user in my database even though ->delete() had returned true to me! I figured this happened because I had not selected the primary key column in my select statement which makes sense. However, I wondered why the ->delete() method is returning a true if it couldn't delete it.
I took a look at the src/Illuminate/Database/Eloquent/Model::delete() method:
...
$this->performDeleteOnModel();

// Once the model has been deleted, we will fire off the deleted event so that
// the developers may hook into post-delete operations. We will then return
// a boolean true as the delete is presumably successful on the database.
$this->fireModelEvent('deleted', false);

return true;

As it's shown here, it doesn't actually care about what performDeleteOnModel() has returned.
This PR Contains code for such cases so that the delete (and soft delete) method would return true only if the query ran successfully.
While looking around I noticed the same thing applies to updates as well so the same changes have been applied to it.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.

@taylorotwell
Thank you for your response.
Yes, I believe that it's very confusing as it took several hours for me to figure out why my records were not saved into the database even though I have no exceptions in my code. I have explained the problem in the above comment.
The thing is: delete() and update() methods will return true even if the query has returned false. That's false behavior. As a developer, when I call a method of Eloquent and it returns true to me, I want to be 100 percent sure that the query has been executed. Why it would return true to me if it was unable to execute the query?
In my view, this is not a new feature, rather is something that I expected to see in the first place.
The current implementation of the delete and update methods are only sending the query and then returning true, not caring about the result of the query at all.

Can't you do $model->exists() to see if it was deleted and $model->isDirty() to see the model hasn't been updated? Because I can see an issue with your code where there aren't any changes that need saving and then your update() would result in a false even though nothing happening is expected.

@AndrewMast
Take a look at this piece of code
echo 'All of test records: ' . \App\Models\Test::all()->pluck('name');
$testInstance = \App\Models\Test::query()->where('name', 'Name1')->select(['name'])->first();
$isDeleted = $testInstance->delete();
echo "\nDeleted : " . $isDeleted;
echo "\nExists() : " . $testInstance->exists();
echo "\nAll of test records after Delete: " . \App\Models\Test::all()->pluck('name');

And this is the result of running it:
All of test records: ["Name1","Name2"]
Deleted : 1
Exists() : 1
All of test records after Delete: ["Name1","Name2"]

As you see, ->delete() has returned true but in fact, delete has not happened. This is what I claim to be confusing, Surely I can double check the delete method using exists() but why would delete() return true if it couldn't delete the record?
Is there something here that I can't see perhaps?


fix: improve send code button when sign up #110

Send code button will be gray-out with empty or invalid Email or phone

https://user-images.githubusercontent.com/55344330/122245225-200f0a80-cef8-11eb-9a3c-58a932657cbd.mp4
This is a demo video


Wrong handling of parameter for TOP clause fixed

I encountered this because the dialect resolver apparently couldn't figure out the dialect for SQL-Server 2016.

Have you seen HHH-11220?

I have, but still, this is a bug in the code ^^

Applied upstream.


Error in GQL Compile re Many-to-Many Detection

Describe the bug
When setting up a reflexive belongs-to connection, the order of the fields can trick the compiler into thinking that it's a many-to-many connection.
To Reproduce
If you create a model like so:
type Task @model @searchable @versioned {
  id: ID!
  blockedBy: Task @connection(name: "BlockedBy")
  blocks: [Task] @connection(name: "BlockedBy")

the compiler will work fine.
However, if you change the order of blocks and blockedBy the compiler will think that it's a many-to-many and throw an error.
This model, for example, will not compile:
type Task @model @searchable @versioned {
  id: ID!
  blocks: [Task] @connection(name: "BlockedBy")
  blockedBy: Task @connection(name: "BlockedBy")

Expected behavior
Distinguish between many-to-many connections and belongs-to connections properly regardless of field order.
Desktop (please complete the following information):

OS: MacOS 10.14.4
Amplify Version 1.1.4

Smartphone (please complete the following information):
n/a

Hi - we've addressed this issue in the GraphQL Transformer v2 now with more explicit relationships directives. Both of the following schemas work and compile as expected:
type Task @model @auth(rules: [{ allow: public }]) {
  blockedBy: Task @belongsTo
  blocks: [Task] @hasMany
}

type Task @model @auth(rules: [{ allow: public }]) {
  blocks: [Task] @hasMany
  blockedBy: Task @belongsTo
}


v0.8.3_01: Drag and pin icons are not functional

SUMMARY:
1) Drag and pin icons are not functional
2) OK button is missing on small pop up screen of “Find”
SEVERITY: Major
MODULE:

Bubble Chart
Mountain Chart

Platform:

Windows 7 / Chrome 45.0
Windows 7 / Firefox 42.0
MAC / Safari 8.0

RELEASE: v0.8.3
STEPS TO REPRODUCE:

Navigate URL: http://static.gapminderdev.org/vizabi/release/v0.8.3/preview/bubblechart.html
Bubble chart page will be loaded
Click “Full” button under RESPONSIVENESS
Click “Find”. A small pop up screen is appeared
Note that drag and pin icons are not functional
Also note that OK button is missing

ACTUAL RESULTS:
Drag and pin icons are not functional and OK button is missing on small pop up screen of “Find”
EXPECTED RESULTS:
All the icons should be functional and OK button should be available on small pop up screen of “Find”
SCREENSHOT:

Retest Result: Pass
Platform: Windows 7 / Chrome 48.0
Testing Environment: http://static.gapminderdev.org/vizabi/develop/preview/bubblechart.html


Clips feature

Major:
Add upload and feed clips features.
Update Instagram version and add newer device (for IG clips support).
Minor:
Update project dependencies.
Add more tests and add ability to proxy set (for developing).
Rename 'reels' classes to 'stories'.

I apologize for delay as I've been busy.
Letting you know I will review this this month!


fix: updated header import paths

added a fix for header import issue
updated version to 3.12.2

Please check the failing workflows @abhinav-from-contentstack

check_branch workflow can be ignored as this is a hotfix release.
sca-scan is failing due to some issue with snyk. I'll connect with SRE team.
@vkalta @vkaltasv


Validation should only report CidrBlock as missing from VPC object when IPAM properties haven't been supplied

Now that AWS has released IPAM, the CidrBlock property is no longer required on VPC objects if IPAM properties (Ipv4IpamPoolId and Ipv4NetmaskLength) are supplied instead. Validation should reflect this change.
Similar to this issue in cfn-lint.

Fixed via 9d73ae9f73f9b6ca884e1112c93857360b6f3270


Autogenerate possible values for enums in reference documentation

Summary
For example:

Closes https://github.com/astral-sh/uv/issues/5129.

Going to merge because I want to include in a release, but happy to address any feedback post-merge.


Ctrl+; keybinding (search solution explorer) doesn't trigger with F# files are in focus

Repro steps

Create a new F# project.

Click in the editor on an F# project.

Press Ctrl+; keybinding.

Expected behavior
Focus is brought into the Solution Explorer search bar.
Actual behavior
Nothing happens.  Doesn't appear broken on C# or XAML.

Known workarounds
None.
Related information
Latest F# nightly.

This is also an issue with Ctrl+Q (and Alt+Enter?). Was it not fixed in #2606?

Alt+', Ctrl+;, Ctrl+Q do not for me on latest nightly. Alt+Enter works, but I set the binding manually yesterday (and for Alt+' as well, it's stopped working).

Seems like something serious has regressed and we're swallowing common keybindings.  I have no idea what could be causing this, and lack context on anything which could have changed on the VS side of things.  @JoshVarty would you know more?

On <IP_ADDRESS>31702 I can repro for Ctrl+; and Ctrl+Q. (Both global commands)
Alt+Enter and Alt+' work for me. For these two ensure you've installed <IP_ADDRESS>31601 or later.
I'll investigate why global commands seem to be swallowed.

Interestingly not all global commands are affected. Ctr+' (Team.TeamExplorerSearch) and Ctr+, (Edit.GoToAll) work fine.
Also there has been a relevant issued opened at Roslyn here: https://github.com/Microsoft/visualfsharp/issues/2335

More info:
Chord: Ctr+Q
pguidCmdGroup : {d63db1f0-404e-4b21-9648-ca8d99245ec3}
commandId : 18
CommandName: VSStd11CmdID.GlobalSearch
Chord: Alt+'
pguidCmdGroup : {d63db1f0-404e-4b21-9648-ca8d99245ec3}
commandId : 20
CommandName VSStd11CmdID.SolutionExplorerSearch
Both commands are routed through here for both F# and C#. This suggests that there aren't any problems with Roslyn's AbstractOleCommandTarget.
Next I'll look at the editor chain of IOleCommandTargets to figure out where this command should end up and why it's not making it there.

Commenting out the export here
https://github.com/Microsoft/visualfsharp/blob/30cd23e6f70b7688c034e2c1ea5eef9eed9b2be4/vsintegration/src/FSharp.Editor/Commands/FsiCommandService.fs#L76
fixes Ctrl-Q and Ctrl-;

I believe the problem lies here: https://github.com/Microsoft/visualfsharp/blob/30cd23e6f70b7688c034e2c1ea5eef9eed9b2be4/vsintegration/src/FSharp.Editor/Commands/FsiCommandService.fs#L39-L44
I haven't written F# much but I believe this is always returning VSConstants.S_OK so the command is never routed back to the shell where it would be properly handled. Returning VSConstants.S_OK essentially says "I have handled the command".
I think you want something like:
if nCmdId = uint32 VSConstants.VSStd11CmdID.ExecuteSelectionInInteractive then
    Hooks.OnMLSend projectSystemPackage.Value FsiEditorSendAction.ExecuteSelection null null
    VSConstants.S_OK
elif nCmdId = uint32 VSConstants.VSStd11CmdID.ExecuteLineInInteractive then
    Hooks.OnMLSend projectSystemPackage.Value FsiEditorSendAction.ExecuteLine null null
    VSConstants.S_OK
OleConstants.OLECMDERR_E_NOTSUPPORTED

@majocha I believe that should fix these keybindings but probably breaks Alt+Enter and Alt+'

Yes, it's just indication of the problem. I think the logic in the ifs ladder is a bit wrong and it returns S_OK where it shouldn't, swallowing some commands.

Probably we should rewrite it all using Roslyn helpers...

It should be alright for now. I'm actually (in my normal work) redesigning commanding within the editor so Roslyn, F# etc. don't need to use this IOleCommandTarget at all. I'm hoping that should simplify things for all language services.

    interface IOleCommandTarget with
        member x.Exec (pguidCmdGroup, nCmdId, nCmdexecopt, pvaIn, pvaOut) =
            if pguidCmdGroup = VSConstants.VsStd11 && nCmdId = uint32 VSConstants.VSStd11CmdID.ExecuteSelectionInInteractive then
                do Hooks.OnMLSend projectSystemPackage.Value FsiEditorSendAction.ExecuteSelection null null
                VSConstants.S_OK
            elif pguidCmdGroup = VSConstants.VsStd11 && nCmdId = uint32 VSConstants.VSStd11CmdID.ExecuteLineInInteractive then
                do Hooks.OnMLSend projectSystemPackage.Value FsiEditorSendAction.ExecuteLine null null
                VSConstants.S_OK
            elif pguidCmdGroup = Guids.guidInteractive && nCmdId = uint32 Guids.cmdIDDebugSelection then
                do Hooks.OnMLSend projectSystemPackage.Value FsiEditorSendAction.DebugSelection null null
                VSConstants.S_OK
            elif not (isNull nextTarget) then
                nextTarget.Exec(&pguidCmdGroup, nCmdId, nCmdexecopt, pvaIn, pvaOut)
            else
                VSConstants.E_FAIL

should work...

Out of curiosity, do I need the do keyword on Hooks.OnMLSend projectSystemPackage.Value FsiEditorSendAction.ExecuteLine null null?
It seems work without it, but I don't know what it does.

No,, it's optional. I used it to indicate what doesn't return a value.

@majocha while you're looking at this stuff, do you mind taking a look at why the "Move up" and "Move down" context menu commands on folders (I think?) in the solution explorer. I imagine it's exactly the same bug that you're seeing here.
Great work by the way :)

@saul It's probably unrelated since the solution explorer handles commands independently from the editor. Solution folders have been a constant source of pain and introduce a class of problems of their own. :(

Yes, from debugging it seems FSharpFolderNode is never being queried for any FSharpProjectCmdSet commands.


[PoC] preload script

Proof of concept. Upon attaching to a new target, run preload scripts on each execution context before Runtime.runIfWaitingForDebugger.

Thanks! Incorporated in https://github.com/GoogleChromeLabs/chromium-bidi/pull/710.


Updating dependencies fails

Hi,
as the title implies updating dependencies fails for me. I'm not sure why, because I haven't done anything special in particular.
Message output:

$ docker/run devel update-deps
Updating dependencies in running container ...
Entering Yves container ...
Executing: docker-compose -f docker-compose-devel.yml -p spryker_devel exec yves /entrypoint.sh build-deps
WARNING: The NETRC variable is not set. Defaulting to a blank string.
rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: "C:/Users/benjamin.behrendt/AppData/Local/Programs/Git/entrypoint.sh": stat C:/Users/benjamin.behrendt/AppData/Local/Programs/Git/entrypoint.sh: no such file or directory"

Entering Yves container ...
Executing: docker-compose -f docker-compose-devel.yml -p spryker_devel exec zed /entrypoint.sh build-deps
WARNING: The NETRC variable is not set. Defaulting to a blank string.
rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: "C:/Users/benjamin.behrendt/AppData/Local/Programs/Git/entrypoint.sh": stat C:/Users/benjamin.behrendt/AppData/Local/Programs/Git/entrypoint.sh: no such file or directory

Any idea what might be wrong?
I already thought of installing composer and npm directly in the containers to have full control over the environment ...

Hi @Evil-Devil,
this error seems to be interesting. We are actually using Linux and MacOS and these are the only platforms we are currently developing on and testing against.
What you have quoted seems to be some error which occurs while entering the container via docker-compose. So please try to manually entering the container via either:

./docker/run devel enter yves or
docker-compose -f docker-compose-devel.yml -p spryker_devel exec yves  /bin/sh  or
docker exec -it $(docker ps -q -f name=yves -l) /bin/sh

If exec-ing into the container is not the actual problem, which the error message suggests, than we need to investigate, why docker thinks that /entrypoint.sh of the container is to be found outside within your host system under C:/Users/benjamin.behrendt/AppData/Local/Programs/Git. Do you have any idea, why the docker daemon takes this path into consideration? Is this some shared path between your host system and your docker VM?

None of the above works. To enter the container I need to use docker exec -ti sprykerdevel_yves_1 sh
According to my google searches it might be an issue with Gitbash and mingw in switching from root to local directory to resolve pathes. Pretty weird. For the moment I'll create the container image with dev-tools available and hopefully find out meanwhile how to solve this issue.


Add analytics sample

simple ping API to store generic events
simple view showing count of all events

//cc @jmadler

LGTM


examples: add redis example

Description: Adds an example on how to configure redis filter
Risk Level: Low
Testing: N/A
Docs Changes: N/A
Release Notes: N/A
Fixes #5276

@mattklein123 added link to docs also reordered them in alphabetical order. PTAL

Guys thank you for this example, but please break the magic and provide the world a functioning Redis cluster discovery service example with envoy, which works.
(i) One node only as in this example is not a cluster
https://github.com/envoyproxy/envoy/tree/master/examples/redis
docker-compose up --scale redis=2

Bind for <IP_ADDRESS>:6379 failed: port is already allocated