Automatically reactivate (reconnect) inactive SFTP clients

Problem description
smart_open currently caches SSH clients, (see _SSH and usages in same file).
After opening a connection (_connect()), after it's been unused for some time, the client will time out, e.g.:
`SSHException: SSH session not active`
~/REDACTED/.venv/lib/python3.7/site-packages/smart_open/ssh.py in open(path, mode, host, user, password, port, transport_params)
    144
    145     conn = _connect(host, user, port, password, transport_params)
--> 146     sftp_client = conn.get_transport().open_sftp_client()
    147     fobj = sftp_client.open(path, mode)
    148     fobj.name = path

~/REDACTED/.venv/lib/python3.7/site-packages/paramiko/transport.py in open_sftp_client(self)
   1095             this transport
   1096         """
-> 1097         return SFTPClient.from_transport(self)
   1098
   1099     def send_ignore(self, byte_count=None):

~/REDACTED/.venv/lib/python3.7/site-packages/paramiko/sftp_client.py in from_transport(cls, t, window_size, max_packet_size)
    163         """
    164         chan = t.open_session(
--> 165             window_size=window_size, max_packet_size=max_packet_size
    166         )
    167         if chan is None:

~/REDACTED/.venv/lib/python3.7/site-packages/paramiko/transport.py in open_session(self, window_size, max_packet_size, timeout)
    877             window_size=window_size,
    878             max_packet_size=max_packet_size,
--> 879             timeout=timeout,
    880         )
    881

~/REDACTED/.venv/lib/python3.7/site-packages/paramiko/transport.py in open_channel(self, kind, dest_addr, src_addr, window_size, max_packet_size, timeout)
    967         """
    968         if not self.active:
--> 969             raise SSHException("SSH session not active")
    970         timeout = 3600 if timeout is None else timeout
    971         self.lock.acquire()

SSHException: SSH session not active

It seems to me this exception can be caught when open_sftp_client() in order to automatically reattempt a reconnect.
Should be straightforward to catch this specific exception and attempt a reconnect, e.g. something like:
def connect_and_open():
    conn = _connect(host, user, port, password, transport_params)
    return conn.get_transport().open_sftp_client()

try:
    sftp_client = connect_and_open()
except: SSHException ex:
    if 'SSH session not active' not in ex.message:
        raise

   _SSH.pop((host, user), None)  # invalidate cache
   sftp_client = connect_and_open()  # try to reconnect, once (and re-cache)

(though in practice, would probably want to some light refactoring to manage the cache cohesively, rather than in multiple places)
Steps/code to reproduce the problem
open() an SFTP endpoint, wait until the client times out, then try to open() it again, such that the same client is returned from the _SSH cache (keyed by hostname and user).
Versions
Darwin-20.6.0-x86_64-i386-64bit
Python 3.7.6 (default, Nov 24 2021, 00:59:23)
[Clang 13.0.0 (clang-13<IP_ADDRESS>)]
smart_open 5.2.1

Checklist
Before you create the issue, please make sure you have:

[X] Described the problem clearly
[X] Provided a minimal reproducible example, including any required data
[X] Provided the version numbers of the relevant software

If you're open to accepting a PR, I'd be willing to create a PR based on the example above.

Yes, thank you, please go ahead.


GC: Get root information from alias map

All aliased data stores are considered root. When aliasing is enabled by default and we don't have back-compat concerns, the rootiness of a data store should be retrieved via the alias map - If the data store id is in the alias map, it is a root, else its not.
When GC runs, it needs to find all root data stores to start running its algorithm of generating the reference graph. It should only look at the alias map to get this info.
Another advantage of doing this is that the logic of defining what is referenced and what is not becomes consistent - If a reference to a data store exists in a DDS, it is referenced. The alias map although not a DDS, acts like it because it is persisted and loaded.
For older docs which may still have the root info in the data store's attributes blob, we can explicitly add them to the alias map to keep the logic confined to one place.

For older docs which may still have the root info in the data store's attributes blob, we can explicitly add them to the alias map to keep the logic confined to one place.

@andre4i FYI. You may already have something like planned to handle old documents w.r.t. aliasing.

Tracked by AB#388


Reverse a queue

Is your feature request related to a problem? Please describe.
Reverse a queue using stack
Describe the solution you'd like
Reverse a queue using stack , This a classic problem in data structures
Do you want to work on it
I would like to implement this in c++
please assign me this issue as part of GSSOC 21

Please assign it to me . @nakul-19 @raksha009 @plazzy99 @tarun26091999 @rish-singhal

I would like to contribute a code in Java to solve this problem as a GSSoC''21 participant.

I would like to work on this issue in Python.please assign #1818 issue to me

I would  like  to work on this  reverse  a  queue  in c++


Add validation to module settings before they are saved

Changes include

Validate all module settings before a flow is saved. This to catch any issues for existing flows
Validate module settings when the module settings are saved
Validation is only performed if a module is enabled

@Alex-developer   Do you want this PR reviewed before merging it?

@EricClaeys Its fine thanks. I have left it here whilst I am still testing it I'll merge when done testing


Rename "DecomposeHangul"?

Possible renaming schemes:

Rename DecomposeHangul to Decompose.Hangul
Move decomposeCharHangul to Decompose and rename DecomposeHangul to just Hangul

The second option sounds better because decomposeCharHangul is not just for decompostion, a comment in it says:
-- General utilities used by decomposition as well as composition

The second option sounds better because decomposeCharHangul is not just for decompostion, a comment in it says:
-- General utilities used by decomposition as well as composition


Add support for better-sqlite3

This adds support for the better3-sqlite driver which has been supported by Knex for while now

minimal changes to a query in sqlite dialect (this seems related to how better-sqlite3 handles parameter binding)
runs the same tests for sqlite3 and better-sqlite3 driver

Sure thing! FWIW I'm not sure if this library is maintained still. I've been out of this project for a while, and am not a member of the knex org (so can't archive this repo). The SQL queries don't really change necessarily, but just be aware that it might be worth running this off of a fork 👍🏻

we use np for releases fyi it's great and simple https://github.com/sindresorhus/np

I usually rely on a GH action for releases 🙂

Should be up as 3.1.0 👍🏻

Cool!! It's what's currently powering Directus although I migrated over to an in-house @directus/schema fork instead due to our desired move to ESM which wasn't shared by this org


Clean up O&M costs

Current implementation of O&M costs is hacky, so we want to do a systematic refactoring of the O&M cost code. Notes from 10/22/2020 meeting:

Consider replacing SSC variable names like om_capacity1 with more meaningful names like om_capacity_battery to make it easier for SDK users to understand variable names. This is partially done in https://github.com/NREL/SAM/pull/529, but om_opt_fuel_1_, om_production1 remain.

Consolidate variable assignments into one place (common.cpp?) rather than in each financial model (singleowner.cpp, etc.) so that these variables are available to all technology and financial models as needed.

Treat "normal" O&M costs, fuel cell O&M costs, biopower feedstock costs, and CSP fuel costs in a consistent way.

Make sure O&M costs are shown correctly in the cash flow for all financial models, and in send-to-Excel with Equations spreadsheets. Also consider renaming cash flow variables from names like cf_om_capacity1_expense to cf_om_battery_capacity_expense. This is done in https://github.com/NREL/SAM/pull/936 and https://github.com/NREL/SAM/pull/927.

Update versions.lk to handle any variable name changes.

Building on the bullet points, an excerpt from cmod_cashloan:

om_fixed1,2, om_production1,2, om_capacity1,2
Also, note that production arrays from technology models have both nyears (analysis period) and nyears+1 lengths. This is confusing to debug and leads to several memory exceptions. Maybe we should standardize on nyears + 1 for financial startup costs and for technology startup consumption (e.g. fuelcell_discharged).
common.cpp or common_financial.cpp seem reasonable - common.cpp may be preferable since o and m can be used for dispatching in technology models.

@sjanzou Since we sometimes need to run multiple technology models, we previously decided that annual arrays coming out of technology models should be nyears, and financial models should be responsible for pre-pending year 0. See discussion here: https://github.com/NREL/ssc/issues/601
And implementation for the battery here: https://github.com/NREL/ssc/pull/641

@sjanzou Since we sometimes need to run multiple technology models, we previously decided that annual arrays coming out of technology models should be nyears, and financial models should be responsible for pre-pending year 0. See discussion here: NREL/ssc#601
And implementation for the battery here: NREL/ssc#641

But the fuel cell has nyears+1 coming out of the technology model. Do we need a separate compute module to re-align before calling the financial models? We need to handle the exceptions consistently somewhere...

Feedback from @williamhobbs on whether fuel cell fuel cell annual arrays require Year 0 (length of nyears+1): "I can't think of a reason that a fuel cell would have an extra year in the analysis period, so I'm fine with modifying it to have the same convention as other technologies."

@sjanzou Since we sometimes need to run multiple technology models, we previously decided that annual arrays coming out of technology models should be nyears, and financial models should be responsible for pre-pending year 0. See discussion here: NREL/ssc#601
And implementation for the battery here: NREL/ssc#641

FYI - The prepending is currently done in both technology and financial compute modules


Better build process

Right now the package is a bit heavy and pulls in a buncch of files we likely don't need. See this warning when we run vsce publish:
This extension consists of 986 files, out of which 400 are JavaScript files. For performance reasons, you should bundle your extension: https://aka.ms/vscode-bundle-extension . You should also exclude unnecessary files by adding them to your .vscodeignore: https://aka.ms/vscode-vscodeignore

We should look at pulling in a simple build process to trim this down.

Hi @tkadlec can you please guide me where are you seeing this error. So that I can understand better


Obsolete alias: selectrum-should-sort-p' -> selectrum-should-sort'

I believe we should bump the dependency requirement on Selectrum in the package header to make sure that a recent enough version of Selectrum is installed which has this improved variable name.
Would you also mind updating the changelog?

I believe we should bump the dependency requirement on Selectrum in the package header to make sure that a recent enough version of Selectrum is installed which has this improved variable name.
Would you also mind updating the changelog?

Done and done, sorry.


Question about generating an executable with multiple source files

Suppose an executable depends on multiple source files, and one of the source files contains CUDA APIs. Can you please show the command to generate an executable using cocl_py ?   People may prefer not to include source files using "#include ".
Thanks

Yeah, I mean, you just use a standard linker, ie g++. The
test/endtoend/multi is an example, but lacks a build script for some
reason. A example of linker commands though is at
https://github.com/hughperkins/coriander/blob/master/test/endtoend/sharedlibrary/build.sh,
though this example is a bit of a poor role model, since it's actually
creating a shared library from one file, and then linking the second file
with this shared library. In fact, to link multiple files, simply pass all
the .o files into a single g++ command.
On Sun, Jul 26, 2020, 19:57 jinz2014<EMAIL_ADDRESS>wrote:

Suppose an executable depends on multiple source files, and one of the
source files contains CUDA APIs. Can you please show the command to
generate an executable using cocl_py ? People may prefer not to include
source files using "#include ".
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hughperkins/coriander/issues/94, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA6FKHLOYSPDU7WXCRUEETR5S7EZANCNFSM4PIHCKKQ
.


coinbase0 USD showing even when individual crypto reporting

Hello, after I put in the API keys, the coin amounts work flawlessly, with each coin showing the bought amount. However, the header "Coinbase" with the wallet in USD does not work, showing "Coinbase0 USD". Both keys are in the config, as the individual coins work. Maybe the API updated?
I hope you can fix it :)

Same problem here. The coin balance works fine but the total Coinbase value shows only "0"

Hi,
is there any way to solve this error?

This can be fixed rather easily. It has something to do with the balance being set to 0 after the dom is updated.
Change the following:
const module = this;                 const config = this.config;                 const icons = this.icons;                 this.balance = 0; //ADD THIS                 this.cryptoData.forEach((accts) => {
socketNotificationReceived: function(notification, payload) {                 switch(notification) {                         case "ACCOUNTS":                                 this.cryptoData = payload;                                 this.currency = payload[0].native_balance.currency;                                 this.updateDom();                                 this.balance = 0; //REMOVE THIS                                 break;                 }         },

},

	start: function() {
		this.icons = {
			"BTC": "bitcoin",
			"ETH": "ethereum"
		};
		this.balance = 0;
		this.currency = "";
		this.cryptoData = [];
	},

	getHeader: function() {
		return this.data.header + "" + this.balance + " " + this.currency + "";
	},

	getDom: function() {
		const elem = document.createElement("div");
		elem.id = "accountWrapper";

		const module = this;
		const config = this.config;
		const icons = this.icons; this.balance = 0;

		this.cryptoData.forEach((accts) => {
			module.balance += parseInt(accts.native_balance.amount);

			// check if currency is in config
			if(config.wallet.indexOf(accts.currency) > -1) {
				// add div ROW for currency
				const rowElement = document.createElement("div");
				rowElement.className = "row";
				rowElement.id = accts.currency + "Counter";

				// Create column for icon if icons have been activated
				if (config.icons) {
					const columnIconElement = document.createElement("div");
					columnIconElement.className = "column icon";

					if(icons.hasOwnProperty(accts.currency))
						columnIconElement.innerHTML = "";
					else
						columnIconElement.innerHTML = "" + accts.currency.toUpperCase() + "";

					rowElement.appendChild(columnIconElement);
				}

				if (config.label) {
					const columnCurrencyElement = document.createElement("div");
					columnCurrencyElement.className = "column";
					columnCurrencyElement.innerHTML = "" + accts.currency + "";
					rowElement.appendChild(columnCurrencyElement);
				}

				const columnAmountElement = document.createElement("div");
				columnAmountElement.className = "column";
				columnAmountElement.innerHTML = "" + accts.balance.amount + "";

				rowElement.appendChild(columnAmountElement);
				elem.appendChild(rowElement);
			}

		});

		return elem;
	},

	notificationReceived: function(notification) {
		switch(notification) {
			case "DOM_OBJECTS_CREATED":
				setInterval(() => {
					this.sendSocketNotification("GET_ACCOUNTS", {apiKey: this.config.apiKey, apiSecret: this.config.apiSecret, wallet: this.config.wallet});
				}, 5000);

				break;
			}
	},

	socketNotificationReceived: function(notification, payload) {
		switch(notification) {
			case "ACCOUNTS":
				this.cryptoData = payload;
				this.currency = payload[0].native_balance.currency;
				this.updateDom();
				//this.balance = 0;

				break;
		}
	},
});

This is the code that works in my particular case. Thanks The GreatCodeHolio for helping us out!

In my case, to solve this issue I removed the lines:
https://github.com/mlbonniec/MMM-Coinbase/blob/0a5f8b41bae0fb6f3421eb7c4a44c427e53a0e4d/MMM-Coinbase.js#L34
https://github.com/mlbonniec/MMM-Coinbase/blob/0a5f8b41bae0fb6f3421eb7c4a44c427e53a0e4d/MMM-Coinbase.js#L39
and added:
this.balance = parseFloat(payload[0].native_balance.amount) + parseFloat(payload[1].native_balance.amount);
in my case having only 2 cryptos my array index go from 0 to 1, but if you have more you have to go from 0 to how much cryptos you have


Performance degradation caused by WAIT task change to Async

Describe the bug
After upgrading our Conductor to version 3.16.0 (from version 3.11.3), we have encountered a significant performance degradation across our system. The degradation is evident in increased CPU usage, memory consumption, and network traffic.
Upon investigation, we have identified that the root cause of this performance degradation is the recent change that made the "WAIT" task asynchronous, which was introduced in version 3.14.0.
When we reverted this change, the performance of our system returned to normal levels.
Details
Conductor version: 3.16.0
Persistence implementation: Redis
Queue implementation: Orkes Queue
Lock: Redis
Expected behavior
The performance of the system should remain stable after the Conductor upgrade without significant degradation.
Screenshots

Suggested Solution
Revert the change that made the "WAIT" task asynchronous to restore optimal system performance.

@BatyaPinski we are investigating, earlier the WAIT task relied on the sweeper to complete, which means the guarantees for  WAIT task to be completed were at-least 30 seconds (or the frequency at which decider runs).  This meant you could not wait for say 30 seconds or less and scaling a system with a LOT of WAIT tasks was tightly coupled to the performance of the sweeper.
Making WAIT solves that issue and allows you to have WAITs that are as little as few seconds.


Getting "Unknown class RangeSlider in Interface Builder file."

After creating a new Universal Single View Xamarin.iOS  app project on Visual Studio 2015, I installed RangeSliderControl using the nuget package.
I was able to drag the control from the toolbox to the storyboard and configure all settings.
When I try to run the project, I get this message: "Unknown class RangeSlider in Interface Builder file". The component does not show on the emulator when running the app.
Is there any extra step to use it via interface builder?
Thanks.

@rvlira should work without any additional effort. I'll check.
Thank you!

@rvlira problem is in Xamarin iOS linker behavior.
Just add var t = typeof(RangeSliderControl); somewhere in your AppDelegate.cs to prevent RangeSliderControl from being excluded from the build.


Parse Custom Policy JSON To Permissions Cloud Effective Actions Table

Similar to: https://bigorange.cloud/actions/
Code: https://github.com/rowanu/boc-effective
Sample Input:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:get*",
            "Resource": "*"
        }
    ]
}

ACTION | BASED ON | ACCESS LEVEL
-- | -- | --
s3:GetAccelerateConfiguration | s3:Get* | Read
s3:GetAccessPoint | s3:Get* | Read
s3:GetAccessPointConfigurationForObjectLambda | s3:Get* | Read
s3:GetAccessPointForObjectLambda | s3:Get* | Read
s3:GetAccessPointPolicy | s3:Get* | Read
s3:GetAccessPointPolicyForObjectLambda | s3:Get* | Read
s3:GetAccessPointPolicyStatus | s3:Get* | Read
s3:GetAccessPointPolicyStatusForObjectLambda | s3:Get* | Read
s3:GetAccountPublicAccessBlock | s3:Get* | Read
s3:GetAnalyticsConfiguration | s3:Get* | Read
s3:GetBucketAcl | s3:Get* | Read
s3:GetBucketCORS | s3:Get* | Read
s3:GetBucketLocation | s3:Get* | Read
s3:GetBucketLogging | s3:Get* | Read
s3:GetBucketNotification | s3:Get* | Read
s3:GetBucketObjectLockConfiguration | s3:Get* | Read
s3:GetBucketOwnershipControls | s3:Get* | Read
s3:GetBucketPolicy | s3:Get* | Read
s3:GetBucketPolicyStatus | s3:Get* | Read
s3:GetBucketPublicAccessBlock | s3:Get* | Read
s3:GetBucketRequestPayment | s3:Get* | Read
s3:GetBucketTagging | s3:Get* | Read
s3:GetBucketVersioning | s3:Get* | Read
s3:GetBucketWebsite | s3:Get* | Read
s3:GetEncryptionConfiguration | s3:Get* | Read
s3:GetIntelligentTieringConfiguration | s3:Get* | Read
s3:GetInventoryConfiguration | s3:Get* | Read
s3:GetJobTagging | s3:Get* | Read
s3:GetLifecycleConfiguration | s3:Get* | Read
s3:GetMetricsConfiguration | s3:Get* | Read
s3:GetMultiRegionAccessPoint | s3:Get* | Read
s3:GetMultiRegionAccessPointPolicy | s3:Get* | Read
s3:GetMultiRegionAccessPointPolicyStatus | s3:Get* | Read
s3:GetObject | s3:Get* | Read
s3:GetObjectAcl | s3:Get* | Read
s3:GetObjectLegalHold | s3:Get* | Read
s3:GetObjectRetention | s3:Get* | Read
s3:GetObjectTagging | s3:Get* | Read
s3:GetObjectTorrent | s3:Get* | Read
s3:GetObjectVersion | s3:Get* | Read
s3:GetObjectVersionAcl | s3:Get* | Read
s3:GetObjectVersionForReplication | s3:Get* | Read
s3:GetObjectVersionTagging | s3:Get* | Read
s3:GetObjectVersionTorrent | s3:Get* | Read
s3:GetReplicationConfiguration | s3:Get* | Read
s3:GetStorageLensConfiguration | s3:Get* | Read
s3:GetStorageLensConfigurationTagging | s3:Get* | Read
s3:GetStorageLensDashboard | s3:Get* | Read

I may need to understand the implementation you have but seems you pre-populate managed policy to the table here. Any inputs?
https://raw.githubusercontent.com/iann0036/iam-dataset/main/managed_policies.json

Great suggestion!
Put this in today: https://permissions.cloud/policyevaluator
Thanks @rowanu for trailblazing <3

Thanks Ian! 🙏


Confirm Initialization Sequence

Current implementors of services and entities expect a specific implementation sequence.  Confirm the following sequence exists.

Services are initialized sequentially in order of appearance in the configuration file.  Load any builtins after configured implementations.
Confirm election occurs in parallel to service initialization
Confirm that the server is available for client connection only after the server has initialized all services and the server has gone into active state.

Also confirm and document clear sequence in relation to restart of the server process.

Not relevant.


Remove target Staging_build_linux framework_tests_misc

I deleted the target mentioned in the issue listed below. This is my first time contributing to open source please explain if I did anything wrong in the process or wrong with the changes.
Best
List which issues are fixed by this PR. You must list at least one issue.
Resolves #126278
Pre-launch Checklist

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

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

Thanks for the contribution! This looks ok to me. I will leave final approval for @yusuf-goog or @godofredoc who have more experience with our ci system. One policy I am not sure of is if we delete the ci then delete the code or do both in the same PR.

Thanks for the contribution! This looks ok to me. I will leave final approval for @yusuf-goog or @godofredoc who have more experience with our ci system. One policy I am not sure of is if we delete the ci then delete the code or do both in the same PR.

We should obly delete the target from CI, whereas the code (test) is still being executed by other target, like Linux framework_tests_misc.

FYI I clicked "Update branch" as it seems like this PR got stuck due to being several weeks old


feature compaction for mow table

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


Add Google and Bing site verification for better search engine indexing

Description
This PR adds IDs for Google and Bing search engines to verify site ownership. Claiming ownership improves SEO and site indexing/crawling.
Related issue or PR
N/A
Type of change

[ ] Documentation (new or updated documentation)
[x] Improvement (an improvement to the existing state)
[ ] New feature (nonbreaking change that adds functionality)
[ ] Bug fix (nonbreaking change that fixes an issue)

How has this been tested?

[x] Ran bundle exec jekyll serve to deploy this docs site locally on my machine. Ensured the site deployed as expected. After the site is deployed, I can verify the site through Google Search Console and Bing Webmaster Tools.

Checklist

[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have conducted tests that prove my fix is effective or that my feature works.
[x] Any dependent changes have been merged and published in downstream modules.

Verified site ownership in Google Search Console and Bing Webmaster Tools, and added the sitemap for this docs site.


Using non-latest version of the zksolc is not working with the ECSA for verify signatures - @matterlabs/hardhat-zksync-zksolc

This is my current implementation to recover a signature using a nonce and external signature provided for gasless / public operations, this is working perfectly on "@matterlabs/hardhat-zksync-solc": "^0.4.2" but for the rest of the previous versions is not working at all.
The main issue that I have now is that We want to use this with a Paymaster, like both things at the same time to do specific and custom stuff, but the paymaster brokes the build in the latest zksolc version. So, sadly I'm in the middle of two walls lol.

if I use the latest version, zkSolc works with the ECDSA stuff but the paymaster doesn't work for the erc20 and nft gating things.

If I downgrade the versions the ECDSA stuff doesn't work but the paymaster works perfectly.

ECDSA function that We use to recover an Address and do a verification later:
function recoverAddress(uint256 nonce, bytes memory signature) private view returns (address) {
    bytes32 message = keccak256(abi.encodePacked(msg.sender, nonce));
    bytes32 hash = ECDSA.toEthSignedMessageHash(message);
    address signer = ECDSA.recover(hash, signature);
    return signer;
  }

Hi @ogarciarevett could you also share the exact versions of everything including zksolc?

Hi @ogarciarevett could you also share the exact versions of everything including zksolc?

@ogarciarevett pls share any (and all) information you can :)

Full hardhat.config.js
What exactly "paymaster doesn't work" means
What exactly "ECDSA" signature doesn't work means
Any compilation config you are setting somewhere other than hardhat config?

Would be great if you could set up a minimum reproducible repo so we can debug it as well.
Many thanks

Hi @ogarciarevett could you also share the exact versions of everything including zksolc?

The 0.4.2 in the package version that I used in the signature check
and the 0.4.0 in the paymaster
I'll share the full hardhat file for the paymaster project
const config: HardhatUserConfig = {
  solidity: {
    version: '0.8.17',
    settings: {
      optimizer: {
        enabled: true,
        runs: 200,
      },
    },
  },
  defaultNetwork: 'hardhat',
  zksolc: {
    version: 'latest',
    settings: {
      optimizer: {
        mode: '3', // optional. 3 by default, z to optimize bytecode size
      },
    },
  },
  networks: {
    hardhat: {
      zksync: false,
      blockGasLimit: 3_00_000_000,
    },
    mainnet: {
      url: `https://mainnet.infura.io/v3/${INFURA_API_KEY}`,
      zksync: false,
    },
    goerli: {
      url: `https://goerli.infura.io/v3/${INFURA_API_KEY}`, // The Ethereum Web3 RPC URL (optional).
      zksync: false,
    },
    zkSync: {
      url: 'https://mainnet.era.zksync.io',
      ethNetwork: 'mainnet',
      zksync: true,
      accounts: [DEPLOYER_PRIVATE_KEY || PRIVATE_KEY],
      verifyURL: 'https://zksync2-mainnet-explorer.zksync.io/contract_verification',
    },
    zkSyncTestnet: {
      url: 'https://zksync2-testnet.zksync.dev',
      ethNetwork: 'goerli',
      zksync: true,
      accounts: [DEPLOYER_PRIVATE_KEY || PRIVATE_KEY],
      verifyURL: 'https://zksync2-testnet-explorer.zksync.dev/contract_verification',
    }
  }
};

The ECDSA doesn't work because in the moment that recover a nonce and signture from this functions, returns a different address in the old versions of the zksolc package
function recoverAddress(uint256 nonce, bytes memory signature) private view returns (address) {
    bytes32 message = keccak256(abi.encodePacked(msg.sender, nonce));
    bytes32 hash = ECDSA.toEthSignedMessageHash(message);
    address signer = ECDSA.recover(hash, signature);
    return signer;
  }

Hey @ogarciarevett, unfortunately, this information isn't very helpful to us, and we need a minimal reproducible example as a repo we can run.

Additionally, please include error messages for all errors you're having.
Thanks!

I found a simple work around working with a different repo, one for the paymaster and another one for the contracts that needs the signatures in the latest version of the zkSolc


ng serve fatal error: call_and_retry_last allocation failed - javascript heap out of memory

I am facing the below issue while using serve.prod.aot
ng serve fatal error: call_and_retry_last allocation failed - javascript heap out of memory
Tried increasing the size limit by using https://github.com/endel/increase-memory-limit
but it is still failing to build. Do i need to change anywhere in the seed ?
[16:26:37] Starting 'build.bundles.app.aot'...
<--- Last few GCs --->
526478 ms: Mark-sweep 1326.1 (1407.1) -> 1326.1 (1411.1) MB, 2159.6 / 0.0 ms [allocation failure] [GC in old space requested].
528473 ms: Mark-sweep 1326.1 (1411.1) -> 1326.1 (1419.1) MB, 1995.0 / 0.0 ms [allocation failure] [GC in old space requested].
530656 ms: Mark-sweep 1326.1 (1419.1) -> 1335.8 (1407.1) MB, 2182.1 / 0.0 ms [last resort gc].
532789 ms: Mark-sweep 1335.8 (1407.1) -> 1345.6 (1407.1) MB, 2133.2 / 0.0 ms [last resort gc].
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 000002F6D733FA99
2: print [000002F6D7304241 :~4352] [pc=00000092EC477F47] (this=0000030EF18C1B59 <an AST_Dot with map 000002E1D34A0881>,stream=000003
e_parens=000002F6D7304241 )
3: arguments adaptor frame: 1->2
4: /* anonymous /(aka / anonymous */) [000002F6D7304241 :~4968] [pc=00000092EC47B227] (this=000002F6D7...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

i have tried the following
ngc.cmd to:
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" --max_old_space_size=8192<EMAIL_ADDRESS>%*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node --max_old_space_size=8192<EMAIL_ADDRESS>%*
)

I see that the issue is not resolved in the CLI as well. What we can do is wait for progress there, I haven't faced this myself.
Here are related problems I found using the search https://github.com/mgechev/angular-seed/issues/701 https://github.com/mgechev/angular-seed/issues/259

You might face issue if you have a very large application. Our application is having almost 60+ screens having lengthy forms and huge functionality.
Added the below line to package.json
It is working. Thanks
"aot": "node --max-old-space-size=8192 ./node_modules/gulp/bin/gulp.js serve.prod.aot"

Where to add this in package.json file ?

Yes, In package.json you need to change it.

Here is how it should look in package.json windows7 using gulp and systemjs.
"node --max-old-space-size=1536 ./node_modules/gulp/bin/gulp.js build.prod.aot --color --env-config prod --build-type prod"

"aot": "node --max-old-space-size=8192 ./node_modules/@angular/cli/bin/ng build --prod --aot"
Adding this line in Package .json and Try running with "npm run aot". It worked for me.


LMDB partitions and thread safety enhancement

This PR aims to address the issues faced on multi-thread issues, such as #54.
We enhance CaffeProcessor:sync() and CaffeOnSpark:features() with appropriate synchronized blocks.

+1


Collapse item when click on header

About this issue

Briefly describe the issue
Hi thank you for your library i have question
now i have sticky header A and below list of item and below these list i have text called "collapse expand" i want to collapse this list of items when click on " collapse expand " text with animation how i can do it

Details

[ 5.0.1] Used library version
[ 1.2.0-alpha03] Used support library version

Retrieve the ExpandableExtension from the adapteR:
fastItemAdapter.getExpandableExtension()

https://github.com/mikepenz/FastAdapter/blob/e0644e631d8c83adc27df5600d6c53a5e04d4f49/app/src/main/java/com/mikepenz/fastadapter/app/IconGridActivity.kt#L34
And then use it's methods to expand / collapse according to your needs
https://github.com/mikepenz/FastAdapter/blob/e0644e631d8c83adc27df5600d6c53a5e04d4f49/app/src/main/java/com/mikepenz/fastadapter/app/IconGridActivity.kt#L82

I hope this helped and resolved your question :)


BUG - Application Modeler: Page Map does not open in BAS

Description
In the Business Application Studio, when trying to open the Page Map, the following error is thrown.
EntryNotFound (FileSystemError): ftfs:/home/user/***/fiori-elements-v4-cap-advanced/app/travel_processor/src/app.json

An empty page is rendered.

Root Cause Analysis
Problem
{describe the problem}
Fix
{describe the fix}
Why was it missed
{Some explanation why this issue might have been missed during normal development/testing cycle}
How can we avoid this
{if we don’t want to see this type of issues anymore what we should do to prevent}

@cfg74 @Klaus-Keller @zdravko-georgiev would you please have a look.

Hi @BenReim,
could you please attach your app or provide a link to your repository so that we can investigate?

@BenReim, in addition to share the project that is causing issues, you could also check the 'OUPUT' tab -> 'SAP Fiori tools- Application Modeler' and post it here, like:

Hi @zdravko-georgiev in the meantime, I can't reproduce the issue anymore, thus closing the issue. I think it might have been some dependency issue, as I had upgrade some versions. But everything works for me now.
@Klaus-Keller Thanks for the hint, i will include info from the 'Output' tab if I report issues in future here!


Toast notification on minimum order get spammed at every addded items

Expected Behaviour
When trying to complete an order whose total is less than the accepted minimum, an error message should appear
Actual behaviour
The error message appears 3 times in a row every time you add a product (or reload the page) until the minimum necessary is reached (as you can see in the image below)
Reproduce steps

By going to the restaurant settings, set a delivery minimum for a certain area
enter the post code of the area in question, create an order from the menu by adding products until the minimum required is reached

Version
v.3.0.4-beta.24.2

@sampoyigi is this the guilty file? https://github.com/tastyigniter/ti-ext-local/blob/master/cartconditions/Delivery.php

Maybe the warning should be called only on checkout click event? And not after every action performed on cart?

Fixed here tastyigniter/flame@b79423d1ba7c93535773a294f0a985b45c39bd71


Release notes

This resumes work from #117 , thanks @jorisvandenbossche for setting up most it.

Thanks for finishing this! (and sorry for my slow response on the other PR ..)
I tested it out locally, and it work fine / looks good.


Problem installing version 1.0.4

Hi,
There is problem installing the latest version 1.0.4:
$ pip install flask-arangodb --user
Collecting flask-arangodb
  Using cached https://files.pythonhosted.org/packages/39/16/d3dba3a132f146c709bc33dd5d9e62ae864a4c6871aa48011e02c08de6a2/Flask-Arangodb-1.0.4.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-5zPr4f/flask-arangodb/setup.py", line 5, in <module>
        with open('./version.py') as fp:
    IOError: [Errno 2] No such file or directory: './version.py'

There is no ./version.py file in the tar.gz
Br
CJ

I’m sorry, but this library is no longer maintained. You might wish to use https://github.com/tariqdaouda/pyArango instead.


Upgrades several packages

This upgrades several packages.
It also updates the TypeScript to version 5. Therfore suppressImplicitAnyIndexErrors was removed from the config.

Superseeded by #222


Question: scalability for storage pool of bdc

[Enter feedback here]
Hi, I read the doc for storage pool of bdc. How will the scalability of bdc works, will the storage pod autoscale when the storage load is increasing?

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

ID: 4f20d459-1b5d-17bb-5f51-070fac887789
Version Independent ID: 8b0f5608-8f47-637f-c1ad-b908df7e4063
Content: What is the storage pool? - SQL Server big data clusters
Content Source: docs/big-data-cluster/concept-storage-pool.md
Product: sql
Technology: big-data-cluster
GitHub Login: @MikeRayMSFT
Microsoft Alias: mikeray

@jingli0118 -- thank you for your question.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@MikeRayMSFT -- please look into this issue.

Hi I see you updated the docs in pv resize and scale replica.
https://docs.microsoft.com/en-us/sql/big-data-cluster/concept-data-persistence?view=sql-server-ver15
Can you help to explain this a little bit? Does this mean the update size will not be used or just a number showing difference in configuration which does not influence using updated size.

BDC metadata will not be updated and you will see inconsistencies regarding volume sizes in the configuration cluster metadata

Thank you very much!

@jingli0118 - thanks for the submission. I'm working on getting you the information you need.

This means that the extra space will be usable. The metadata with the Big Data Cluster will continue to show the PV size available at deployment however.


Fails to parse<PHONE_NUMBER>02010001

This is part of the canonical bitcoin test suite,  and this module now fails since the latest patch.

Error: R value excessively padded

ping @fanatid,  might need to revert your changes to encode

@dcousens decode wasn't changed
bip66.decode(new Buffer('300602010002010001', 'hex'))
Error: DER sequence length is invalid


20210105pullrequest

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[EAGLE-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

pull request

pull request

pull request done

pull request done


Moved shaded artifact to a different module

Using a separate artifact for shading the client lib.
Removed Slf4j from shaded artifact

Any updates?

Any updates?

@nodece Take a look at https://github.com/apache/pulsar/pull/22525. Once it's merged it should fix the shaded dependencies issue


Is there are pickmarkerhandler in iOS (swift)?

Hi I'm Newbie in tangram.
At First, Sorry about my English capability.
I'm trying to implement tangram in swift.
But I met problem.
I implemented 'markerpoint' in map. And then  When I tried to select marker,
Nothing handled.
 func mapView(_ mapView: TGMapViewController, didSelectMarker markerPickResult: TGMarkerPickResult?, atScreenPosition position: CGPoint) {         print(markerPickResult?.coordinates as Any)         print(markerPickResult?.identifier as Any)         print("marker select good!!!!")     }
I think this method call 'selectmarker'
I set breakpoint here, but nothing happened.
So 'RecognizeSingleTapGesture' with this method,
mapview has pickLabel, pickfeature.
but not pickmarker !
I set delegate, recognizedelegate too.
what can i do?
Thank you for reading my problem.

Hi @seubseub , can you share the styling code for this marker? Make sure that the property interactive is set, see the documentation for this parameter.

@karimnaaji  Thank you for replying.   I use only point, polyline. but nothing show up. Thank you

Does anything is being shown at all?

@karimnaaji map, marker and polyline show well. sorry. but marker doesn't interactive.

As I saw code, "pickMarkerAt" handler in tangram-es/core/src/tangram.cpp 401line. But, When I use TangramMap.framework, In TGMapViewController.h, Just 'pickFeatureAt' , 'pickLabelAt' Not
'pickMarketAt'.

I solved by adding "pickMarkerAt" method to ios/src/TGMapViewController.h. And 'make iOS'  to get new framework. Thank you for replying answer @karimnaaji

Thanks @seubseub ! Your PR is now merged in, closing this.

Great!


MAID-2584: use connection info relay channel

This PR changes Service::connect() interface: now connect() accepts connection info relay channel which is both Stream and Sink.
Compatibility API doesn't change much, except prepare_connection_info() returns PubConnectionInfo instead of private one.

Thanks for the pull request, and welcome! The MaidSafe team is excited to review your changes, and you should hear from @canndrew (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see CONTRIBUTOR.md for more information.


fix: bee data auto-refresh

resolves #426

🐝 PR preview in Swarm
Preview URL: https://bah5acgzadid2lmxdtmlu6uerj53sqylz6bpcbzcanlvdutyxawpaaiu4dvvq.bzz.link
Swarm Hash: 1a07a5b2e39b174f50914f77286179f05e20e4406aea3a4f17059e00229c1d6b
Commit Hash: baa893265fcf5b991fb9eb20865fa12f141c3c9a
Commit Message: fix: bee data auto-refresh


The Ocelot Service discovery USES Service Fabric

The Ocelot Service discovery USES Service Fabric, and I have a question: if the Service Fabric master node address I provided to Ocelot fails, the entire gateway will be unable to find the Service. Can I provide multiple Service Fabric node addresses when the Service discovery is made? This enables one node to continue to discover services through other nodes.

@anlem12 at the moment you cannot do this, Ocelot uses the naming service, doesn’t service fabric keep this up?

https://ocelot.readthedocs.io/en/latest/features/servicefabric.html
I mean, there is a failure of Host in ServiceDiscoveryProvider, could you please fill in a few more Host addresses for round hunting
"Host": "localhost",
`
"ServiceDiscoveryProvider": {
"Host": "localhost",
"Port": 19081,
"Type": "ServiceFabric"
}
`

@anlem12 this could certainly be a new feature! @davidni is this needed? I don't know service fabric that well?

@anlem12 @TomPallister this seems unnecessary. Service Fabric's Reverse Proxy on localhost:19081 is expected to be always available as long as the node is up. If it ever goes down (for whatever reason), you're better off treating the entire node as unhealthy and removing the node from your backend pool, and stop routing incoming traffic to it. Trying to complete your gateway requests through another node's Reverse Proxy would now cause undesirable load on two nodes of your cluster, and would create unnecessary network traffic between your nodes.
Regarding removing the unhealthy node from your backend pool, one way to accomplish this if you're running on Azure is to configure Azure Load Balancer health probes to probe an internal HTTP endpoint on your service. Have that endpoint return non-2xx in case an unhealthy condition (such as Reverse Proxy is down) is detected.

@davidni thanks for this advice, you obviously know Service Fabric very well :)
I will close this ticket then as I don't think it is needed.

@davidni what if we have a website that we want to expose through ocelot from  inside sf that requires SSL to connect to ?  We then get this in firefox when trying to access the website how ocelot acesses it :
Websites prove their identity via certificates. Firefox does not trust this site because it uses a
certificate that is not valid for localhost:19081. The certificate is only valid for the following names:
example.net, www.example.net

Inside Ocelot we get  :
2019-07-29 11:53:41|WARN|requestId: 0HLOK316C6NCJ:00000001, previousRequestId: no previous
request id, message: Error making http request, exception: System.Net.Http.HttpRequestException:
The SSL connection could not be established, see inner exception. --->
System.Security.Authentication.AuthenticationException: The remote certificate is invalid according
 to the validation procedure.

Do you have an idea on how could we do this with ocelot ? (we already tried "SkipSslValidation": true but the behavior is the same : SSL validation error )


what happens if a cycle is not strictly monotonic

Hello!
I am wrong to understand that navani assumes a cycle is strictly monotonic because of this:
    df = pd.DataFrame({'Capacity': capacity, 'Voltage':voltage})
    unique_v = df.astype(float).groupby('Voltage').mean().index
    unique_v_cap = df.astype(float).groupby('Voltage').mean()['Capacity']

Otherwise, if there are turning points, the data gets a bit scrambled. Or is it relying on groupby doing a lot of heavy lifting to still find the correct peaks despite the scrambling?
Thanks

Hi @be-smith, thanks for confirming my guess.
I am not a battery chemistry person, but from what Alice and Jiho tell me, turning points in Voltage are not uncommon per cycle. Not only that, but the data I'm dealing with can have big turning points (as below) as well as small localised turning points. Maybe document these limitations, especially because your pipeline will not break or complain if this assumption is not satisfied. Maybe do both. At least Alice said she used the software before and didn't realise it assumes no turning points.
Here is an example where using groupby is really scrambling things up

I won't be able to use Navani for my purposes, since if I am looking for an automated general approach where I don't knew where the turning points are when I start. But good luck with the repo it looks good 😃 .

Yeah this is a limitation with how it currently works, I will note it in the documentation. For your case you should be able to find turning points in the data that large quite easily and simply split the data before and after those turning points and apply the dQ/dV function to each section. You could also just filter out the first 0.3 mAh of the data, I doubt there is much in the dQ/dV there that is relevant/interpretable, and with the turning points in the data no matter the approach you will have dQ/dV as undefined due to dividing by zero.
I used groupby to ensure there is only a single capacity value for each voltage value - so that a spline can be fitted to the data for differentiation.

Do you mainly target the digital noise with groupby? Because it is great for that.  Your example data seems pretty clean (not noisy).
I do unfortunately have turning points that are on a scale comparable with the digital noise, that is my current pickle.


Add array Find method, docs, tests

Unsure of which example type to use for overloading, so added second example in "src/arrays/find.d.ts".
prob can just use the simplest case, but let me know.

Ref: #40

Also, don't worry about adding typings .d.ts. They get automatically regenerated (ie clean:typings and build:typings) every time the version is bumped.

Props for taking this one on. The thisArg argument is a real pain.

My bad, having a second example in the JSDoc is good. It just won't be visible unless I get a chance later to patch DocDown so it'll output more than one example.


Update banner_warn.css

Fix the ui

I don't have a running instance of this; by any chance could you produce before/after screenshots on desktop and mobile widths?

Before:

After:

Thanks 🎉


Corrupt database after upgrading from 2.0 to 2.2 (server issue?)

OrientDB 2.2.13 on Windows
We upgradet the OrientDB version from 2.0 to 2.2.13
On one of our systems we got a problem with the database.
Running this simple request in Studio:
SELECT * FROM Maintenance WHERE targetType='SERVICE' and toTime >= 1
Causes an exception:
2016-12-08 13:04:31,609 [Thread-18] ERROR com.ceesoft.ceeview.datastore.maintenance.MaintenanceStore - Data Store exception
com.orientechnologies.orient.core.exception.OCommandExecutionException: Error on execution of command: sql.SELECT * FROM Maintenance WHERE targetType='SERVICE' and toTime >= 1
DB name="ceeview"
DB name="ceeview"
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.throwSerializedException(OChannelBinaryAsynchClient.java:437)
at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:388)
at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:270)
at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:162)
at com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:2167)
at com.orientechnologies.orient.client.remote.OStorageRemote$27.execute(OStorageRemote.java:1160)
at com.orientechnologies.orient.client.remote.OStorageRemote$2.execute(OStorageRemote.java:196)
at com.orientechnologies.orient.client.remote.OStorageRemote.baseNetworkOperation(OStorageRemote.java:235)
at com.orientechnologies.orient.client.remote.OStorageRemote.networkOperationRetry(OStorageRemote.java:193)
at com.orientechnologies.orient.client.remote.OStorageRemote.networkOperation(OStorageRemote.java:204)
at com.orientechnologies.orient.client.remote.OStorageRemote.command(OStorageRemote.java:1136)
at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:69)
at com.tinkerpop.blueprints.impls.orient.OrientGraphCommand.execute(OrientGraphCommand.java:49)
orientdb.log and Studio had the following error message:
2016-12-08 13:46:47:720 SEVER Internal server error:
java.lang.ArrayIndexOutOfBoundsException: -47 [ONetworkProtocolHttpDb]
Running the same query in the console worked just fine so I suspect it is a server issue.
Regards,
/Roar

This is the database with issues:
ceeview.zip

hi @RoarN,
The database seems to have been created with 1.x vesion and is written with a serializer that has been deprecated in 2.2, you should export and import the database to be able to migrate.
Regards

How can you tell that it is created with 1.x?
Any way, everything else seems to work just fine (so far) except the query
SELECT * FROM Maintenance WHERE targetType='SERVICE' and toTime >= 1
SELECT * FROM Maintenance
without the where statement works just fin as well.

hi @RoarN,
I got the database and was create with a serializer that wes deprecated in 2.0, so the database come probably from an earlier version, we still have the deprecated serializer on 2.2 but we do not guarantee that it work on the disc anymore, so it can happen that some data is read correctly and some no, the solution is export import.
Bye

I got 2 comments regarding this answer.

My main concern is that it is impossible to tell that this is the situation, neither the database nor the client API actually states that the database was too old and incompatible with the current version.
Instead we get hanging connections, silent failures or random errors on queries to the database. This has happened a lot since we started to use OrientDB (1.0) and is not a good way to build trust with the users, both yours and ours.

Even if we actually were able to detect incompatible database versions this solution would be impractical. Today we have 7-8 installations, but within a year or two we expect to have 50+. To manually export/import all the databases would be a nightmare even if we had access to all the customer sites. If the implementation changes so that the versions are incompatible the database server should automatically handle the conversion.

I will try to export/import and see if that solves the issue with this database. But as I said, it would be nice to actually get an error message right away that states that the version is incompatible with the database.

hi @RoarN,
We got your feedback, i made the database throw a meaningful error as soon as you open it, so far this is the first feedback with this compatibility issue, most of our user made this migration in 2.0 and 2.1.
Since 2.x we are more conservative on the way are managed database internal structures, and we are trying to avoid all manual migration implementing smooth migration systems.
Regards

Hi,
Good news :)
A meaningful error mesages is a good start, and if you manage to handle migration internally on later upgrades that would be great.
Thanks,
/Roar

Hi @RoarN,
Going to close this, i think i answered to your question


refactor(GlobalHeader): pricing dropdown updates

Overview

DISC-643:
Change "Pro pricing" in the top navigation to be "Pricing". This includes the dropdown and the link that also says "Pro Pricing" for users in India.
DISC-644:
Add "For Business" to the pricing dropdown. Acceptance criteria:

Link should be placed last, after “individuals” and “students”
Section should link to: https://www.codecademy.com/business#section-pricing-table
Tracking = topnav_pricing_business
Change existing "For Business" next to "Pricing" to be "Business Solutions" to avoid confusion (in footer as well)

PR Checklist

[ ] Related to designs:
[x] Related to JIRA ticket: DISC-463 and DISC-644
[x] I have run this code to verify it works
[ ] This PR includes unit tests for the code change
[ ] The alpha package of this PR is passing end-to-end tests in all relevant Codecademy repositories

PR Links and Envs

Repository
PR Link
PR Env

Monolith
Monolith PR
Monolith Env

Portal
Portal Link
Portal Env

Another Repo
Another Link
Another Env

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.132-alpha.24f246.0@codecademy/gamut-labs@31.14.2-alpha.24f246.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6297af4639d98a00b38332f2--gamut-preview.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://6297c7f926aa3402c6c656e6--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.133-alpha.ce28ed.0@codecademy/gamut-labs@31.15.1-alpha.ce28ed.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6297de55b143fd277ce663eb--gamut-preview.netlify.appDeploy Logs


Add page type configuration in page details page

I want to merge this change because... it adds:

page type selection on page creation
page attribute values selection based on the selected page type

PR intended to be tested with API branch:
Screenshots

Pull Request Checklist

[x] All visible strings are translated with proper context.
[x] All data-formatting is locale-aware (dates, numbers, and so on).
[x] Translated strings are extracted.
[x] Number of API calls is optimized.
[x] The changes are tested.
[x] Data-test are added for new elements.
[x] Type definitions are up to date.
[ ] Changes are mentioned in the changelog.

Test environment config

API_URI=https://master.staging.saleor.rocks/graphql/

Task linked: SALEOR-1180 Add ability to assign page type on a page details page

Task linked: SALEOR-1183 Handle getting and saving attribute values on a page details view

Task linked: SALEOR-1460 Update attribute mutations permissions


31 audio component

Fixes #31
Creator

[x] Build relevant tests if any apply
[x] Ensure there are no new warnings
[x] Upload an animated GIF showcasing the solution (if it applies)
[x] Set a relevant reviewer

Reviewer

[ ] Run test and make sure all tests pass
[ ] Review function and form on iOS
[ ] Review function and form on Android
[ ] Review function and form on Web
[ ] Review new test logic

Exciting! I'm not sure how to review this yet. The base acceptance criteria in #31 looks to be fulfilled, but I could see this player needing to work a lot differently in its final state. A few thoughts:

Audio probably needs to be a global state. As in, there's only one audio source playing ever
But, there might be multiple instances of player controls: example in their app there's a minimized player view and a full-screen player view
Global handling of player queues (ie...tapping on a song somewhere in the app tells the audio player to play that song)

For these reasons, I could see wanting to store audio player state in redux: What audio file should be playing, whether the player state is paused or playing, etc.
I had a similar scenario in another project, and the way we solved it (not saying this is correct here, just throwing out ideas):
We had a global AudioRuntime component that was rendered out at the root of the app. It didn't render any UI, but it just read from redux state and played sounds based on redux state.
We had different types of player ui components that would interact with the redux state, that essentially controlled the audio playing in the root-level AudioRuntime component. Such as a MiniPlayer that was fixed to the bottom of the screen, as well as full-screen audio-player controls.
Tapping on a song somewhere in the app fired a redux action that just added that song to the redux state.

@conrad-vanl you can review in storybook ^_^. Also I agree we should have some form of control so that songs can't play on top of each other but I'm not sure if that is part of the scope of the component. Once we start building the actual player we can build the "only play one sound at a time" logic to redux. Keeping this component away from business logic could be useful down the road if for any reason we want to be able to play sounds on top of each other.

I'm going to refine it a bit more based on the conversation we had :D

:shipit: This branch has been deployed to:
exp://exp.host/@conrad-vanl/apollos-31-audio-component
Download the Expo app and scan this QR code to get started!

:shipit: This branch has been deployed to:
exp://exp.host/@conrad-vanl/apollos-31-audio-component
Download the Expo app and scan this QR code to get started!


autocmd ColorScheme call highlightDevIcons()

When the colorscheme was loaded, hi clear was executed, removing the icon's highlights.
Is this the right way to go?


native: reduce overfetching pt 1

This starts TLON-2543, a follow-up will address thread fetching on return. This PR switches out many instances where we used useCurrentChats which is a very expensive query for much less expensive queries. Additionally this does some work to make sure that we don't fetch screens that are out of view in the stack.
One thing we may want to consider here is every screen having isFocused in a context so that any queries running could respect it with enabled: isFocused.
PR Checklist

[ ] Includes changes to desk files
[ ] Describes how you tested the PR locally (test ship vs livenet)
[ ] If a new feature, includes automated tests
[ ] Comments added anywhere logic may be confusing without context

working on the merge conflicts


Interpreter cleaning (#521)

Use serde serialization for environment, rather than adding new custom structs

rename print function

unnecessary *

replace String with Id

remove comment

tiny fix

replace unimplemented control statements with !todo()

last fix related to removing string for id

Closing spurious PR.


I still get WebkitNoResponseError

This is a followup of #68.
Also after upgrade of capybara-webkit (0.7.1) and capybara (1.1.1) the specs still fail when running more than one spec with js: true.
rspec spec/requests/delivery_notes_spec.rb spec/requests/organizations_spec.rb spec/requests/people_spec.rb spec/requests/projects_spec.rb spec/requests/schedules_spec.rb spec/requests/work_breakdown_structures_spec.rb
Run filtered including {:focus=>true}

DeliveryNotes
  GET /projects/12345/work_breakdown_structures/12345/destroy
 >> Visit
 >> 1
 >> 36
 >> http://<IP_ADDRESS>:62396/users/sign_in
 << ok
 << 0
 <<
 >> Find
 >> 1
 >> 489
 >> .//*[self::input | self::textarea][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'radio' or ./@type = 'checkbox' or ./@type = 'hidden' or ./@type = 'file')][((./@id = 'Email' or ./@name = 'Email') or ./@id = //label[normalize-space(string(.)) = 'Email']/@for)] | .//label[normalize-space(string(.)) = 'Email']//.//*[self::input | self::textarea][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'radio' or ./@type = 'checkbox' or ./@type = 'hidden' or ./@type = 'file')]
 << ok
 << 1
 << 1
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 3
 >> set
 >> 1
 >> 1
 >> 19
 >><EMAIL_ADDRESS> << ok
 << 0
 <<
 >> Find
 >> 1
 >> 501
 >> .//*[self::input | self::textarea][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'radio' or ./@type = 'checkbox' or ./@type = 'hidden' or ./@type = 'file')][((./@id = 'Password' or ./@name = 'Password') or ./@id = //label[normalize-space(string(.)) = 'Password']/@for)] | .//label[normalize-space(string(.)) = 'Password']//.//*[self::input | self::textarea][not(./@type = 'submit' or ./@type = 'image' or ./@type = 'radio' or ./@type = 'checkbox' or ./@type = 'hidden' or ./@type = 'file')]
 << ok
 << 1
 << 2
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 2
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 2
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 2
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 3
 >> set
 >> 1
 >> 2
 >> 7
 >> Geheim!
 << ok
 << 0
 <<
 >> Find
 >> 1
 >> 369
 >> .//input[./@type = 'submit' or ./@type = 'image' or ./@type = 'button'][((./@id = 'Sign in' or ./@value = 'Sign in') or ./@title = 'Sign in')] | .//input[./@type = 'image'][./@alt = 'Sign in'] | .//button[(((./@id = 'Sign in' or ./@value = 'Sign in') or normalize-space(string(.)) = 'Sign in') or ./@title = 'Sign in')] | .//input[./@type = 'image'][./@alt = 'Sign in']
 << ok
 << 1
 << 3
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 3
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 3
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 3
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 5
 >> click
 >> 1
 >> 3
 << ok
 << 0
 <<
 >> Visit
 >> 1
 >> 71
 >> http://<IP_ADDRESS>:62396/projects/4e8ab5513e81a7640e000007/delivery_notes
 << ok
 << 0
 <<
 >> Find
 >> 1
 >> 21
 >> .//*[@id = 'content']
 << ok
 << 1
 << 1
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 201
 >> .//a[./@href = '/projects/4e8ab5513e81a7640e000007/delivery_notes/4e8ab5513e81a7640e00000c'][(((./@id = 'Show' or normalize-space(string(.)) = 'Show') or ./@title = 'Show') or .//img[./@alt = 'Show'])]
 << ok
 << 1
 << 2
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 228
 >> .//a[./@href = '/projects/4e8ab5513e81a7640e000007/delivery_notes/4e8ab5513e81a7640e00000c'][(((./@id = 'Show' or contains(normalize-space(string(.)), 'Show')) or contains(./@title, 'Show')) or .//img[contains(./@alt, 'Show')])]
 << ok
 << 1
 << 3
 >> Evaluate
 >> 1
 >> 49
 >> window.original_confirm_function = window.confirm
 << ok
 << 2
 << {}
 >> Evaluate
 >> 1
 >> 47
 >> window.confirm = function(msg) { return true; }
 << ok
 << 2
 << {}
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 134
 >> .//a[./@href][(((./@id = 'Destroy' or normalize-space(string(.)) = 'Destroy') or ./@title = 'Destroy') or .//img[./@alt = 'Destroy'])]
 << ok
 << 1
 << 4
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 4
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 4
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 4
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 5
 >> click
 >> 1
 >> 4
 << ok
 << 0
 <<
 >> Evaluate
 >> 1
 >> 49
 >> window.confirm = window.original_confirm_function
 << ok
 << 4
 << null
 >> Find
 >> 1
 >> 21
 >> .//*[@id = 'content']
 << ok
 << 1
 << 1
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 7
 >> visible
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 98
 >> ./descendant-or-self::*[contains(normalize-space(.), 'Delivery note was successfully destroyed.')]
 << ok
 << 3
 << 2,3
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 201
 >> .//a[./@href = '/projects/4e8ab5513e81a7640e000007/delivery_notes/4e8ab5513e81a7640e00000c'][(((./@id = 'Show' or normalize-space(string(.)) = 'Show') or ./@title = 'Show') or .//img[./@alt = 'Show'])]
 << ok
 << 0
 <<
 >> Node
 >> 2
 >> 10
 >> isAttached
 >> 1
 >> 1
 << ok
 << 4
 << true
 >> Node
 >> 3
 >> 10
 >> findWithin
 >> 1
 >> 1
 >> 228
 >> .//a[./@href = '/projects/4e8ab5513e81a7640e000007/delivery_notes/4e8ab5513e81a7640e00000c'][(((./@id = 'Show' or contains(normalize-space(string(.)), 'Show')) or contains(./@title, 'Show')) or .//img[contains(./@alt, 'Show')])]
 << ok
 << 0
 <<
 >> Reset
 >> 0
 << ok
 << 0
 <<
    destroy delivery note

Projects
  POST /projects/12345/destroy
 >> Visit
 >> 1
 >> 36
 >> http://<IP_ADDRESS>:62396/users/sign_in
 <<
 >> Reset
 >> 0
    destroy (FAILED - 1)

Failures:

  1) Projects POST /projects/12345/destroy destroy
     Failure/Error: login_as user
     Capybara::Driver::Webkit::WebkitNoResponseError:
       No response received from the server.
     # ./spec/support/auth_methods.rb:14:in `login_as'
     # ./spec/requests/projects_spec.rb:7:in `block (2 levels) in <top (required)>'

Finished in 19.31 seconds
2 examples, 1 failure

Failed examples:

rspec ./spec/requests/projects_spec.rb:169 # Projects POST /projects/12345/destroy destroy

This is the code of the specs:
  describe "POST /projects/12345/destroy" do
    it "destroy", js: true, focus: true do
      own_p1 = Fabricate(:project, :name => "Mein Projekt 1", :owner => user.organization)

      visit projects_path

      within("#content") do
        page.should have_content "Mein Projekt 1"

        handle_js_confirm do
          click_link "Destroy"
        end
      end

      within("#content") do
        page.should have_content "Project was successfully destroyed."
        page.should_not have_content "Mein Projekt 1"
      end
    end
  end

  describe "GET /projects/12345/work_breakdown_structures/12345/destroy" do
    let!(:delivery_note) {Fabricate(:delivery_note, project: project)}

    it "destroy delivery note", js: true, focus: true do
      visit project_delivery_notes_path(project)

      within("#content") do
        page.should have_link "Show", href: project_delivery_note_path(project, delivery_note)

        handle_js_confirm do
          click_link "Destroy"
        end
      end

      within("#content") do
        page.should have_content "Delivery note was successfully destroyed."

        page.should_not have_link "Show", href: project_delivery_note_path(project, delivery_note)
      end
    end
  end

# Confirms an JavaScript Alert box
# Source: https://github.com/thoughtbot/capybara-webkit/issues/84
def handle_js_confirm(accept=true)
  page.evaluate_script "window.original_confirm_function = window.confirm"
  page.evaluate_script "window.confirm = function(msg) { return #{!!accept}; }"
  yield
ensure
  page.evaluate_script "window.confirm = window.original_confirm_function"
end

I've had the same problem. The solution for me was put the visit call at first line inside of it block (before Factory calls). For example it could be something like that:
describe "POST /projects/12345/destroy" do
  it "destroy", js: true, focus: true do
    visit index_path
    own_p1 = Fabricate(:project, :name => "Mein Projekt 1", :owner => user.organization)
    visit projects_path


Researching Recommender System approaches

First task is to outline what are the possible approaches given the input data format.
Second task is to outline the pros/cons of the approaches and propose some for implementation.
Complete by Wed Feb 20

https://docs.google.com/document/d/1qbucHQRuLRIiW9Aee9aCnYEC5KaAw2nDk9adtyAA9sI/edit?usp=sharing


PostLogin method not executed using actingAs

Maybe I'm wrong but when using actingAs method is Laravel tests I assume to act the same way as a login used. The problem is that the method postLogin is not executed so is not exactly the same.
For example in my app after login I register some session variables (suppose only one with name applocalmodel)
This test does not work
       $user = factory(User::class)->create();
       $this->actingAs($user)
            ->visit('/home')
            ->see('Disseny de Normes');

because the session variable is used in /home page
I have to manually establish the session values with:
       $user = factory(User::class)->create();
       $this->actingAs($user)
            ->withSession(['applocalemodel' => 'ca'])
            ->visit('/home')
            ->see('Disseny de Normes');

Anyway if this is the way Laravel is expected to behave anyone could suggest my any way of executing postLogin method in tests?

The reason your first test is not working is because the actingAs() method sets the user on the session, but it wont start the session, to do so you have to use $this->sessionStart() or $this->withSession().
This can be used when you want to test without performing http request for login.
For example :
public function testSomething(){
       $user = factory(User::class)->create();
       $this->asLoginUser($user) // <- note this function
              ->visit('/home')
              ->see('Disseny de Normes');
}

protected function asLoginUser(User $user){
       return $this->actingAs($user)
                   ->withSession(['applocalemodel' => 'ca']);
}

But if you want to perform login with http request then
we can just change the asLoginUser() and make an example of use of postLogin() :
protected function asLoginUser(User $user){
      $this->startSession();

      $this->call('POST', 'auth/login', [
             'email' =><EMAIL_ADDRESS>             'passowrd' =>'pass',
             'remember' => 0,
             '_token' => csrf_token() // <- dont foget the csrf token check
      ]);

      //asserts that the user was logged
      $this->assertSessionHas('applocalemodel', 'ca');
      $this->assertRedirectedTo('/home');

       return $this;
}

Thanks @dan-har for the explanation


Add --layer to $ fio info and $ fio load

Closes #299
Closes #316
@sgillies Ready for review.
This PR adds --layer to $ fio info to let users specify which layer they want to run a report on, and --layer to $ fio load so users can specify which layer they want to load data into.
info example
$ fio info --layer routes tests/data/test_gpx.gpx --name
/Users/wursterk/code/Fiona/fiona/fio/info.py:83: RuntimeWarning: Layer does not support counting Setting 'count' to 'null'
  warnings.warn(msg, RuntimeWarning)
routes

load example
$ fio cat tests/data/coutwildrnp.shp \
    | fio load OUT.gdb -f FileGDB --src-crs EPSG:4326 --sequence --layer new
$ fio ls OUT.gdb
["new"]

This also addresses an issue where $ fio info crashed when len(collection) crashed so now we catch the exception, issue a RuntimeWarning, and set count=None.
$ ogrinfo's report sets the feature count to 0, but None/null seems more appropriate and more likely to alert users that they may need to convert their data to a different format.
Previously:
fio info tests/data/test_gpx.gpx
ERROR:fio:Exception caught during processing
Traceback (most recent call last):
  File "/Users/wursterk/code/Fiona/fiona/fio/info.py", line 61, in info
    info.update(bounds=src.bounds, count=len(src))
  File "/Users/wursterk/code/Fiona/fiona/collection.py", line 375, in __len__
    raise TypeError("Layer does not support counting")
TypeError: Layer does not support counting
Aborted!

/ cc @micahcochran @smnorris

Coverage increased (+0.2%) to 74.196% when pulling a6f526e7cd4b1377aa629dba03d0ff5b7d792ede on no-brick-info into fba2c216c63884f166823397c5cf6b0f52a3fee4 on master.

Coverage increased (+0.06%) to 74.096% when pulling 3941ec4a4daab711997d59798af78cccf7e97d40 on no-brick-info into fba2c216c63884f166823397c5cf6b0f52a3fee4 on master.

Coverage increased (+0.3%) to 74.374% when pulling d04d8b11149741c4fb83b355a7a28b715cf696ee on no-brick-info into fba2c216c63884f166823397c5cf6b0f52a3fee4 on master.

Coverage increased (+0.3%) to 74.374% when pulling 5ece34c9fd1fe6b544ccbfbfc25127e3a6affe41 on no-brick-info into fba2c216c63884f166823397c5cf6b0f52a3fee4 on master.

It looks like exactly what I was asking for. Thanks @geowurster .
I haven't had a chance to try it out.

@geowurster I'm struggling on cleaning up Rasterio's GDAL/AWS environment now, will :eyes: this closely tomorrow.

@sgillies No rush.  Didn't mean to distract.

Coverage increased (+0.3%) to 74.33% when pulling c60ab3f819413c429f4a98c1a3ca15720706fff3 on no-brick-info into fba2c216c63884f166823397c5cf6b0f52a3fee4 on master.

Thanks @geowurster this is great.
Any suggestions on a way to use fio cat with multi-layer sources? It looks like a --layer option can't really be added to that one.
Sorry if this is the wrong venue for user questions.


Update french translation

Q
A

Bug fix?
no

New feature?
no

BC breaks?
no

Deprecations?
no

Related tickets
nonce

License
MIT

Hi !
The French translation was not up to date.
I re-ordered entries based on the English translation and added the missing translations.

Thanks!


Buffering Request Body Stream

First of all, I do not know where I should be asking his question. If this is not the right project, please let me know. I have a middleware like this that writes the request body out.
app.Use(next => async context =>
{
    var request = context.Request;
    var buffer = new MemoryStream();
    await request.Body.CopyToAsync(buffer);
    request.Body = buffer;
    string body = System.Text.Encoding.UTF8.GetString(buffer.ToArray());
    buffer.Position = 0;

    await next.Invoke(context);
});

This works correctly for the first request. For the subsequent request, request.Body continues to be a MemoryStream and the request body of the second message is not being copied into buffer, since request.body is not the network stream.
If I change the code like this, it works.
app.Use(next => async context =>
{
    var request = context.Request;
    var buffer = new MemoryStream();
    var originalStream = request.Body;
    await request.Body.CopyToAsync(buffer);
    request.Body = buffer;
    string body = System.Text.Encoding.UTF8.GetString(buffer.ToArray());
    buffer.Position = 0;

    await next.Invoke(context);

    request.Body = originalStream;
});

But why do I need to restore the request body stream so that it works correctly for the next request? It seems very weird, at least to me.

This is a bug in kestrel: https://github.com/aspnet/KestrelHttpServer/issues/940


chore(docs): add repository documentation

I've used the same configuration as my repo, I let you review and edit what you want :)

seems fine to me to build on


Fix ignored return code in ps_simple_handler()

Fix for https://github.com/pagespeed/ngx_pagespeed/issues/1465

Fix looks good to me.


MSID: 102743 Version: 1 DOI: 10.1101/2<IP_ADDRESS>8629

MSID: 102743
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>8629
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=102743
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>8629

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/102743v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>8629
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/102743/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

querying authors about WoS


Networking wasm split

[x] Move connecting logic
[x] Hide all proxy logic behind wasm flag
[x] Get alternative builds compiling properly
[x] Implement lightning-net-tokio for non wasm code

This is ready for review though Im going to keep working on the github actions for it.

should delete this file
https://github.com/MutinyWallet/mutiny-node/blob/master/.cargo/config

should delete this file
https://github.com/MutinyWallet/mutiny-node/blob/master/.cargo/config

It causes problems with my IDE otherwise. I think we still need some default target runtime target and since mutiny-wasm is also here, I think we should keep it set to wasm.

Otherwise looks good to me! Awesome work!

Good catches.
just test and just clippy should work for you now, without any need to delete the cargo config file.


Missing Orchestrator:Release Command Glossary

It's not in here regarding the parameters like other commands.
https://sfpowerscripts.dxatscale.io/commands/command-glossary

Thanks @eric80shen . Fixed in the doc site.


Publish

Docs Build status updates of commit cfa1824:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

rd/media/profiles/carlos-mattos.jpg
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Use SHA256 instead of SHA1 for hashing of password

Since SHA1 is deprecated and should be avoided at all cost, it's more secure to use a different hashing method such as SHA256

Thank you @mrpapercut


🐛 [firebase_core][CLI] A clean flutter (2.8) project won't initialise firebase correctly on physical device (iOS) and throws Could not locate configuration file: 'GoogleService-Info.plist'.

Bug report
Describe the bug
A clean flutter (2.8) project won't initialise firebase correctly on physical device (iOS), but yes on simulator.
Steps to reproduce
Steps to reproduce the behavior:

flutter create firebasetest
flutter pub add firebase_core
flutterfire configure (configure firebase with cli)
Add following snippet to main file:

WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );

Expected behavior
Firebase should work out of the box in a clean flutter install with new Dart initialization.

Additional context
Error when running project with flutter run
Click to see error
Running "flutter pub get" in firebase_test...
Launching lib/main.dart on Guido’s iPhone in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: 5B7F2K8QVV
Running pod install...
Running Xcode build...
Xcode build done.                                           46.4s
Installing and launching...
(lldb) 2021-12-19 15:27:58.410129+0100 Runner[4500:812084] Warning: Unable to create restoration in progress marker file
8.9.0 - [Firebase/Core][I-COR000012] Could not locate configuration file: 'GoogleService-Info.plist'.
Debug service listening on ws://<IP_ADDRESS>:55554/7f1RDtjnw_o=/ws
Syncing files to device Guido’s iPhone...
8.9.0 - [Firebase/Core][I-COR000005] No app has been configured yet.
8.9.0 - [Firebase/Core][I-COR000005] No app has been configured yet.
8.9.0 - [Firebase/Core][I-COR000008] The project's Bundle ID is inconsistent with either the Bundle ID in 'GoogleService-Info.plist', or the Bundle ID in the options if you are using a customized options. To ensure that everything can be configured correctly, you may need to make the Bundle IDs consistent. To continue with this plist file, you may change your app's bundle identifier to 'com.example.firebasetest'. Or you can download a new configuration file that matches your bundle identifier from https://console.firebase.google.com/ and replace the current one.
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
[VERBOSE-2:profiler_metrics_ios.mm(203)] Error retrieving thread information: (os/kern) invalid argument
[VERBOSE-2:profiler_metrics_ios.mm(203)] Error retrieving thread information: (os/kern) invalid argument

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.8.0, on macOS 12.0.1 21A559 darwin-x64, locale en-ES)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Android Studio (version 3.6)
[✓] IntelliJ IDEA Ultimate Edition (version 2021.2.3)
[✓] Connected device (1 available)
    ! Error: Guido’s iPhone is busy: Preparing the watch for development via Guido’s iPhone. Xcode will continue when Guido’s iPhone is finished. (code -10)

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.15.0
Flutter SDK 2.8.0
firebase_test 1.0.0+1

dependencies:
- cupertino_icons 1.0.4
- firebase_core 1.10.6 [firebase_core_platform_interface firebase_core_web flutter meta]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]

dev dependencies:
- flutter_lints 1.0.4 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]

transitive dependencies:
- async 2.8.2 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.2.0
- charcode 1.3.1
- clock 1.1.0
- collection 1.15.0
- fake_async 1.2.0 [clock collection]
- firebase_core_platform_interface 4.2.3 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.5.3 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- js 0.6.3
- lints 1.0.1
- matcher 0.12.11 [stack_trace]
- meta 1.7.0
- path 1.8.0
- plugin_platform_interface 2.0.2 [meta]
- sky_engine 0.0.99
- source_span 1.8.1 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.0 [charcode source_span]
- term_glyph 1.2.0
- test_api 0.4.3 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.0 [collection]
- vector_math 2.1.1

Thought my apple watch was interfering on build process but even powering it off and not showing flutter doctor device error (! Error: Guido’s iPhone is busy: Preparing the watch for development via Guido’s iPhone. Xcode will continue when Guido’s iPhone is finished. (code -10)) firebase core still does not work in a real device.

There was an error on ios bundle id but even solving that I still get this error:
Launching lib/main.dart on Guido’s iPhone in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: 5B7F2K8QVV
Running pod install...                                           1,582ms
Running Xcode build...
Xcode build done.                                           10.9s
Installing and launching...
(lldb) 2021-12-19 17:45:55.032453+0100 Runner[578:34899] Warning: Unable to create restoration in progress marker file
8.9.0 - [Firebase/Core][I-COR000012] Could not locate configuration file: 'GoogleService-Info.plist'.
8.9.0 - [Firebase/Core][I-COR000005] No app has been configured yet.
8.9.0 - [Firebase/Core][I-COR000005] No app has been configured yet.
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
Installing and launching...                                        20.2s
Syncing files to device Guido’s iPhone...                           65ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

💪 Running with sound null safety 💪

An Observatory debugger and profiler on Guido’s iPhone is available at: http://<IP_ADDRESS>:51712/G-hU7maUJHE=/
The Flutter DevTools debugger and profiler on Guido’s iPhone is available at: http://<IP_ADDRESS>:9100?uri=http://<IP_ADDRESS>:51712/G-hU7maUJHE=/

A clean flutter (2.8) project won't initialise firebase correctly on physical device (iOS)

And in release mode

Release mode does not show any logs as the ones before but firebase doesn't seems to work either because I added cloud messaging and no notifications are received. What I mean is, error logs in release mode not showing does not seem to translate to firebase working.

I can confirmed that it still requires Manuel installation with flutter 2.8.1 & latest version of cli

This is kind of annoying when the whole purpose of dart initialization is to avoid copying files for each platform and adding build time scripts for flavor usage.

I am able to replicate this using the steps mentioned in the issue description using flutterfire_cli tool. Using previous method, there isn't any issue.
Get this error upon trying to run on iOS device: [Firebase/Core][I-COR000012] Could not locate configuration file: 'GoogleService-Info.plist'.
@hazzo Since this issue occurs using the CLI tool, I think you'll also need to report the same in dedicated repo: https://github.com/invertase/flutterfire_cli/issues
/cc @Salakar

Could you show me where it's throwing this error - I only see information logs here which is to be expected since there is no plist file, which is fine

Hmmm I added Cloud Messaging and I don't receive any notifications at all and APN error is given. Also this logs don't show on a simulator so I'm not sure if it's really working on a physical device.

Hmmm I added Cloud Messaging and I don't receive any notifications at all and APN error is given. Also this logs don't show on a simulator so I'm not sure if it's really working on a physical device.

Messaging issue is unrelated, there's a fix for it here #7610 that will be shipped soon.

So maybe you can guide me on a way to test that firebase core is working and guarantee that it's initialised even Info.plist google service file is not found.

So maybe you can guide me on a way to test that firebase core is working and guarantee that it's initialised even Info.plist google service file is not found.

Your original code didn't throw a Dart exception right? So it has initialised, e.g. can print out the default app after to make sure it's there now.
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  print(Firebase.app());
  print(Firebase.app().name);
  print(Firebase.app().options);

This are the logs shown (I replaced sensitive data with ###). This means it's working? So FCM not working it's just another issue?
flutter: FirebaseApp([DEFAULT])
flutter: [DEFAULT]
flutter: {apiKey: #####################, appId: ###############, messagingSenderId: ########, projectId: #######, authDomain: null, databaseURL: null, storageBucket: #######.appspot.com, measurementId: null, trackingId: null, deepLinkURLScheme: null, androidClientId: null, iosClientId: ##############.apps.googleusercontent.com, iosBundleId: com.#####.###, appGroupId: null}

This are the logs shown (I replaced sensitive data with ###). This means it's working? So FCM not working it's just another issue?

Yep, correct, it's working and FCM is another issue

Okey thanks for your help. Maybe avoiding to log this kind of messages could avoid to misleading interpretations and future open issues. Also any ideas when FCM fix will be rolled out?
@darshankawar I'll close this issue since the log given does not reflect the actual state of firebase initialisation.

Dart initialisation is kind of buggy I found another issue: 7752

Dart initialisation is kind of buggy I found another issue: 7752


Have md-agent use pqa to fill in parameters when applicable

Would be neat feature if we can get paperqa to fill in parameters for openMM setup. Right now, we manually have to type all parameters in our prompt for MRKL to run simulations.

linking this to the paper-qa issue/PR. we may require some prompting, etc to make this work the way you describe, but in theory, adding pqa as a tool should close this issue


Some tests not skipped in incremental mode.

Summary
Some tests run each time in incremental mode. I expect the tests to be skipped on the second run.
The tests like:
test.each`
  x    | y    | expected
  ${1} | ${1} | ${2}
  ${1} | ${2} | ${3}
  ${2} | ${2} | ${4}
`("add($x, $y) = $expected", ({ x, y, expected }) => {
  expect(add(x, y)).toBe(expected);
});

When such a test exists, stryker shows Tests: 1 files changed (+2 -0) even though I haven't changed any tests.
The cause seems to be that each test has the same start position. This code removes tests with the same start position.

Actual behavior:
Some tests run the second time.
I'm using google translate, so I'm sorry if there are strange parts in the sentences.
Stryker config
{
  "$schema"<EMAIL_ADDRESS>  "_comment": "This config was generated using 'stryker init'. Please take a look at: https://stryker-mutator.io/docs/stryker-js/configuration/ for more information.",
  "packageManager": "yarn",
  "reporters": ["html", "clear-text", "progress"],
  "testRunner": "jest",
  "testRunner_comment": "More information about the jest plugin can be found here: https://stryker-mutator.io/docs/stryker-js/jest-runner",
  "coverageAnalysis": "perTest"
}

Stryker environment
+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>
+--<EMAIL_ADDRESS>
Test runner environment
$ jest

Your Environment

software
version(s)

node
v18.12.1

npm
9.2.0

Operating System
Ubuntu(WSL2)

Add stryker.log
stryker.log (second run in reproduction steps)

Hi @mkizka, thanks for opening this issue with detailed reproduction steps!
This is a bug, but not in the line of code you're referring to the problem is here. I forgot to account for more than 1 test starting on the same line when they are the last test in the file 🤦♀.
A current workaround is to add a final test under the tests with the same start position:
const { add } = require("../add");

test.each`
  x    | y    | expected
  ${1} | ${1} | ${2}
  ${1} | ${2} | ${3}
  ${2} | ${2} | ${4}
`("add($x, $y) = $expected", ({ x, y, expected }) => {
  expect(add(x, y)).toBe(expected);
});

+ test('one final test', () => {});

Thank you for your answer and quick fix!

Sure thing ☺. I had some time, so you reported it just at the right moment 🤗
I also fixed the bug and released the fix in version 6.3.1


Step 4.2 does not work

PS C:\WINDOWS\system32> logman update RUP -p {eb7428f5-ab1f-4322-a4cc-1f1a9b2c5e98} 0x7FFFFFFF 0x7 -ets
Argument 'p' requires additional parameters.
Argument 'encodedCommand' is unknown.
Argument 'ZQBiADcANAAyADgAZgA1AC0AYQBiADEAZgAtADQAMwAyADIALQBhADQAYwBjAC0AMQBmADEAYQA5AGIAMgBjADUAZQA5ADgA' is unknown.
Argument '0x7FFFFFFF' is unknown.
Argument '0x7' is unknown.
Argument 'inputFormat' is unknown.
Argument 'xml' is unknown.
Argument 'outputFormat' is unknown.
Argument 'text' is unknown.
Windows 10 Pro, Build 17728.1000

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

ID: 8cf64759-29ac-804a-3bc3-68f73022fdbb
Version Independent ID: 65be78e8-f5d1-99ac-5aab-36975ee6122a
Content: Troubleshoot user profiles with events
Content Source: WindowsServerDocs/storage/folder-redirection/troubleshoot-user-profiles-events.md
Product: windows-server-threshold
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

This might be because the command was run in PowerShell, when it should be run in the Command Prompt.

Did not work for me either. The command worked, but it did not log any events. I just got the header in trace file.
Microsoft Windows 10 Enterprise, 10.0.18362 Build 18362

@Martin-Stangl same issue for me as well - nothing gets logged in the etl file. If I'm parsing the file afterwards (eg. PerfView) I get exactly 0 events.

same here, tested in powershell (as mentioned in docs) W10Pro 1909 (18363.900)
i then added performance-monitor to mmc as snapin and found the RUP-entry, properties show, that there is no provider included (think the logman update should add this)
i could add it in this snap-in if i would know what to add ^^
searching in registry for {eb7428f5-ab1f-4322-a4cc-1f1a9b2c5e98} reveals "Error Warning Verbose" (some type of tracing-profile it seems)

#please-close


Connect-DbaInstance - changing format of $SqlCredential.UserName

While working on https://github.com/sqlcollaborative/dbatools/discussions/7490#discussioncomment-990420 I wondered why we change "DOMAIN\user" to "user@DOMAIN".
I just copied that from the old code path to the new code path. The old path says:
https://github.com/sqlcollaborative/dbatools/blob/b52e18d5f25d932b1d785589a6ffa0b4fd402541/functions/Connect-DbaInstance.ps1#L1391-L1418
Because in my tests, it works even if we use "DOMAIN\user".
Does anybody know?

I'm having a hard time remember the specifics, but it may be that it helped with LDAP or SQL on Linux.

Ldap and Azure SQL.

So true, some parts of Azure SQL required it too and I like things uniform.

This conversion does not impact PowerShell Core, btw. Here is the code w/o any transformations, still failing.

Weirdly, non-core SMO does not return any TrueLogin

Ugh, so close
$conn = New-Object -TypeName System.Data.SqlClient.SqlConnection "Initial Catalog=tempdb;Server=sql2012"
$cred.Password.MakeReadOnly()
$sqlcred = New-Object System.Data.SqlClient.SqlCredential $cred.username, $cred.password
$conn.Credential = $sqlcred
$conn.Open()

This is only for SQL Logins not for integrated security:
https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlcredential
https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlconnection.credential

Doh! That makes sense

Ahh, turns out this is a limitation of .NET and impersonation is not supported until a super high SMO version ( 161.42121.15-msdata) that it will be pretty hard to get to since I have limited understanding of SMo and how to keep the library smaller the way sqlserver does
https://github.com/microsoft/sqlmanagementobjects/issues/6

So that is the root cause for #7514.

Yep, we'll have to catch an attempt to use another cred + Core and stop function, letting them know it wont be supported for  a whiel

That SMO version is pretty old, from August of last year. The latest release of SMO is 161.46367.54.

As my initial question (Why do we change "DOMAIN\user" to "user@DOMAIN"?) was answered ("LDAP and Azure SQL"), I will close this.
Please put all the information about using windows logins with PowerShell Core here, as this is the related issue: #7514.