Broken jsx element with not static type with ts 3.2.1

TypeScript Version:  3.2.1

Search Terms:
jsx
Code
import * as React from 'react';

function render(url?: string): React.ReactNode {
    const Tag = url? 'a' : 'button';
    return <Tag>test</Tag>;
}

Expected behavior:
Everything is ok. TypeScript 3.1.6 compiles it properly.
Actual behavior:
error: JSX element type 'Tag' does not have any construct or call signatures. [2604]

Related: #28631

It's because we started strongly checking tag calls such as these, and the 'a`` tag's properties and 'button'` tag's properties are heavily dissimilar - they're all optional, so a call like this can still succeed at runtime, but in the typesystem at present the two signatures are irreconcilable. Needs a full fix of #7294 to work well.

Me too! We have switched back to TS 3.1.6 because of code like below stopped compiling:
class LinkCommandBarButton extends BaseComponent<ILinkCommandBarButtonProps> {
  public render(): JSX.Element {
    const { defaultRender: DefaultRender = CommandBarButton, link, supText, ...buttonProps } = this.props;

    const onRenderText = supText ? (props: IButtonProps) => <>{props.text}<sup>{supText}</sup></> : undefined;

    return (
      <Link to={link}>
        <DefaultRender {...buttonProps} onRenderText={onRenderText} />
      </Link>
    );
  }
};

Please consider this now broken example:
import React, {
  ReactType,
  StatelessComponent,
} from "react"
import classNames from "classnames"

interface Props {
  className?: string
}

export function createStyledComponent<P extends { className: string }>(
  Component: ReactType<P>,
  className: string
): StatelessComponent<Props> {
  return props => (
    <Component className={classNames(className, props.className)}>
      {props.children}
    </Component>
  )
}

ERROR in [at-loader] ./app/assets/javascripts/utilities/component-factory.tsx:19:6
    TS2604: JSX element type 'Component' does not have any construct or call signatures.

Is this something that should be addressed in @types/react?

Nothing that can be done on the @types/react side, or rather, what can be done is already done -- ReactType<P> will work correctly with React.createElement.

Note that your P extends { className: string } will actually reject all DOM elements because their className includes undefined which is not assignable to string.

@weswigham can we get a fresh read on this?

The OP's example should have been fixed by #29011 (and testing shows it is). @rhys-vdw's example here also works. @azizhk's example probably typechecks better than he wants, because we correctly reject the spread of a React.InputHTMLAttributes<HTMLTextAreaElement> as A's arguments, because a "input" element won't be happy getting a "textarea"'s onChange handler.

Hi, I just upgraded to
"@types/react": "^16.8.7",
"@types/react-dom": "^16.8.2",
"typescript": "^3.3.3333",

I can use this for string components now const A = condition ? "input" : "textarea",
But I cannot use this for components which have generics
class OptionGroupCheckBox<OptionType> extends React.PureComponent<OptionGroupProps<OptionType>> {
  // methods
}

class OptionGroupRadio<OptionType> extends React.PureComponent<OptionGroupProps<OptionType>> {
  // methods
}

const OptionGroup = condition ? OptionGroupCheckBox : OptionGroupRadio;
const vdom = (
  <OptionGroup
    // OptionGroupProps<OptionType>
  />
)


Allow bridging already-staked tokens on new staking contract

Closes: #1883
Depends on #1902
Background
We'll be leveraging the tBTC deposit pause to deploy a new staking contract with a few features that weren't possible in the v1 release of the Keep core contracts. In particular, this staking contract will support “top-ups” (see #1893), meaning the ability to delegate additional tokens to an existing delegation relationship (i.e., an existing operator/beneficiary/authorizer triplet). This introduces a key complication, however: tokens already delegated through the current staking contract must remain locked in that contract for 60 days, the length of the undelegation period. This means that existing token owners who have used the old staking contract must wait 60 days to port those balances over to the new contract.
Proposal
The core goal is for the Keep team to make an amount of KEEP tokens available to temporarily stake on behalf of a token owner, provided that they have those same tokens currently locked up in the old staking contract. Undelegation of all tokens in the new staking contract would be blocked until the temporarily-staked tokens provided by the Keep team are repaid by the token owner.
The expected mode of usage for users who have already staked on the old contract is to:

Copy stake.
Undelegate from the old staking contract.
Operate as normal on the new staking contract.
Once the old staking contract's undelegated balance is available for recovery, recover it and use the recovered tokens to repay the StakingPortBacker contract.

Implemenation
A number of KEEP tokens equivalent to the currently-staked token amount will be locked in a special StakingPortBacker contract.
The implementation is very similar to what's been proposed in #1883 except the four major differences:

copyStake and repay mechanism (by receiveApproval) are defined on StakingPortBacker
Until the delegation is paid back, the owner of the new delegation is the StakingPortBacker. Once the delegation is paid back, the ownership of the delegation is transferred to the owner of the original staking relationship. If the delegation has not been paid back on time, the owner of StakingPortBacker may decide to force-undelegate from the new staking contract.
The owner of StakingPortBacker needs to explicitly mark which delegations are allowed to be copied. The reason for explicitly listing which relationships are allowed to use the supply is to avoid a situation when someone stakes on the old contract later, after deploying the new staking contract version, just to drain the supply from StakingPortBacker contract. Explicitly specifying which relationships are allowed (by calling addAllowedOperator) lets the contract owner to snapshot the staking state before transferring the tokens to provide additional liquidity for this snapshot.
Top-ups are not allowed until the delegation is paid back. I assume it to be an additional incentivize to pay back sooner than later. I have also gone through the grants and it does not seem to be a very severe limitation given what's currently staked and how stakeaheads were used.

The last two commits contain a fix for properly identifying the source of staked tokens. We can have a situation when someone staked to operator A from a TokenGrant using one staking contract and later staked to another staking contract using liquid tokens and the same operator A. In this scenario, we need to make sure grant ID is captured only by the first staking contract, and the second staking contract identifies the stake as coming from staker's liquid tokens.

For each of the possible ways of staking (liquid tokens, grants and managed grants) I tested scenarios covering i.a.:

delegation to the old token staking,
copying stake to the new token staking,
undelegation+revoke+withdraw from the old token staking
repayment of the StakingPortBacker
undelegation+revoke from the new token staking contract in two ways: when the new stake was repaid and the new stake wasn't repaid
tokens flow tracking for the scenarios listed above

I prepared test env in the following way:

Deployed contracts from v1.2.1.
Deployed new contracts from bridge branch: TokenStaking, TokenStakingEscrow and StakingPortBacker configuring them with previously deployed KeepToken, TokenGrant and TokenStaking.

The testing scripts were uploaded here.
During system tests we should focus on mixing the scenarios even more with all the pieces combined: escrow, tops-ups, redelegations, bridging old/new token staking...


NameError: name 'config' is not defined

when I ran
ros2 launch llm_bringup [chatgpt_with_turtle_robot.launch.py
it showed that "it is no longer supported in openai>=1.0.0, you can run 'openai migrate' to automatically upgrade your codebase to use 1.0.0 interface"
in this case, I ran openai migrate, but after I did this, it showed
"[chatgpt-2]   File "/home/fay/ros2_ws/build/llm_model/llm_model/chatgpt.py", line 49, in
[chatgpt-2]     client = OpenAI(api_key=config.openai_api_key)
[chatgpt-2] NameError: name 'config' is not defined"
why this happened and how can I resolve it? Thank you.

swap the order of this code and make sure it's under the definition.


fix(sec): upgrade gopkg.in/yaml.v3 to 3.0.0

What happened？
There are 1 security vulnerabilities found in gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776

CVE-2022-28948

What did I do？
Upgrade gopkg.in/yaml.v3 from v3.0.0-20200615113413-eeeca48fe776 to 3.0.0 for vulnerability fix
What did you expect to happen？
Ideally, no insecure libs should be used.
How can we automate the detection of these types of issues?
By using the GitHub Actions configurations provided by murphysec, we can conduct automatic code security checks in our CI pipeline.
The specification of the pull request
PR Specification from OSCS

@chncaption Thanks for your contribution.


Incorrectly formats glimmer array syntax

This
{{#with action.params.[0] as |param|}}
  {{param.label}}
{{/with}}

gets formatted as
{{#with action.params.0 as |param|}}

    {{param.label}}

{{/with}}

which is wrong and triggers a parse error. See Prettier Playground.
Any idea how to work around this?

Ok, the workaround for now seems to be:
{{#with (get action.params "0") as |param|}}
  {{param.label}}
{{/with}}

This extension is deprecated, so please use Prettier directly!


PhotoManager.getAssetPathList doesn't return ApplicationDocumentsDirectory

I'm trying to integrate flutter_camera and saving the photo to the device. Using the path_provider package, I can save the photo to the Application Documents directory (the only directory recommended to save app content).  However, this directory is not included when I call PhotoManager.getAssetPathList.  I've checked that the ApplicationDocuments path contains photos. Is there some way to ensure that it gets included when calling getAssetPathList()?

It looks like an iOS system.
The iOS system is a complete API for saving photos.
The images captured in the iOS section of this library are based on photokit encapsulation

It looks like an iOS system.
The iOS system is a complete API for saving photos.
The images captured in the iOS section of this library are based on photokit encapsulation

Well, being Flutter, the API needs to be standard for both iOS and Android.  Is there no way to achieve what I'm trying to do? Save a photo to the Application Documents directory, then list that directory with a call to PhotoManager.getAssetPathList()? If it's not possible then I understand, but I'm just looking for a definitive answer before moving on.

Ok thanks... I've just found image_picker_saver, which lets me save images to the system album. So, problem solved. Thanks for your help and good work

My use case: PhotoManager.getAssetPathList always return empty list in some Android devices, some are working (all permission granted)


query builder in laravel 5.1 is confusing

mysql config:
mysql=>[
'prefix' => 'hm_',
];
then, I build a sql ,like this:
DB::table('users as u')->get();
the sql will be  :
select * from hm_users as hm_u
Oh, I don't want to the alias name be added the prefix.....
What can I do for this?
Thanks.

Where is the 'dog' in 'dog_users' coming from?

I'm sorry. dog_ prefix is my project. I copy the  toSql()  result, but forget change the prefix to the sample's prefix.

I know. This is a solution. For:
Laravel 4 :
DB::table('users as u')
->join('roles as r', DB::raw('r.id'), '=', DB::raw('u.role_id'))
->select(DB::raw('u.id'), DB::raw('u.name'), DB::raw('r.name'))
->get();
Lravel 5 , can write this :
DB::table('usrs as u')
->join('roles as r', 'r.id', '=', 'u.role_id')
->select('u.id', 'u.name', 'r.name')
->get();
We don't need to use DB::raw().
Thanks.


problem in demoapplication, the application closes after establishing the connection and trying to get the resultset

Hello, I have a problem in demoapplication, the application closes after establishing the connection and trying to get the resultset. below the error tracktrace;

2020-02-07 10:31:02.671 30388-30417/com.boardiesitsolutions.demoapplication E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da 2020-02-07 10:31:02.671 30388-30417/com.boardiesitsolutions.demoapplication E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da 2020-02-07 10:31:02.718 30388-30417/com.boardiesitsolutions.demoapplication E/eglCodecCommon: GoldfishAddressSpaceHostMemoryAllocator: ioctl_ping failed for device_type=5, ret=-1 2020-02-07 10:31:14.051 30388-30420/com.boardiesitsolutions.demoapplication E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #3 Process: com.boardiesitsolutions.demoapplication, PID: 30388 java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:354) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383) at java.util.concurrent.FutureTask.setException(FutureTask.java:252) at java.util.concurrent.FutureTask.run(FutureTask.java:271) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:764) Caused by: java.lang.IndexOutOfBoundsException at com.BoardiesITSolutions.AndroidMySQLConnector.MySQLIO.shiftCurrentBytePosition(MySQLIO.java:205) at com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.processPacketData(COM_QueryResponse.java:88) at com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.(COM_QueryResponse.java:23) at com.BoardiesITSolutions.AndroidMySQLConnector.Statement$2.socketDataSent(Statement.java:241) at com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:53) at com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:11) at android.os.AsyncTask$2.call(AsyncTask.java:333) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)  at java.lang.Thread.run(Thread.java:764)

Hi,
Can you give an me a coffee snippet to replicate the item and let me know
your MySQL version and Android version and I'll be able to take a look.
Thanks
Chris
On Tue, 11 Feb 2020, 06:23 Larreineta<EMAIL_ADDRESS>wrote:

Hello, I have a problem in demoapplication, the application closes after
establishing the connection and trying to get the resultset. below the
error tracktrace;
2020-02-07 10:31:02.671
30388-30417/com.boardiesitsolutions.demoapplication E/eglCodecCommon:
glUtilsParamSize: unknow param 0x000082da 2020-02-07 10:31:02.671
30388-30417/com.boardiesitsolutions.demoapplication E/eglCodecCommon:
glUtilsParamSize: unknow param 0x000082da 2020-02-07 10:31:02.718
30388-30417/com.boardiesitsolutions.demoapplication E/eglCodecCommon:
GoldfishAddressSpaceHostMemoryAllocator: ioctl_ping failed for
device_type=5, ret=-1 2020-02-07 10:31:14.051
30388-30420/com.boardiesitsolutions.demoapplication E/AndroidRuntime: FATAL
EXCEPTION: AsyncTask #3
https://github.com/BoardiesITSolutions/Android-MySQL-Connector/issues/3
Process: com.boardiesitsolutions.demoapplication, PID: 30388
java.lang.RuntimeException: An error occurred while executing
doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:354) at
java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383) at
java.util.concurrent.FutureTask.setException(FutureTask.java:252) at
java.util.concurrent.FutureTask.run(FutureTask.java:271) at
android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764) Caused by:
java.lang.IndexOutOfBoundsException at
com.BoardiesITSolutions.AndroidMySQLConnector.MySQLIO.shiftCurrentBytePosition(MySQLIO.java:205)
at
com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.processPacketData(COM_QueryResponse.java:88)
at
com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.(COM_QueryResponse.java:23)
at
com.BoardiesITSolutions.AndroidMySQLConnector.Statement$2.socketDataSent(Statement.java:241)
at
com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:53)
at
com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:11)
at android.os.AsyncTask$2.call(AsyncTask.java:333) at
java.util.concurrent.FutureTask.run(FutureTask.java:266) at
android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BoardiesITSolutions/Android-MySQL-Connector/issues/13?email_source=notifications&email_token=ABCS2M5CKEKGBYYGQJDHFKDRCI74VA5CNFSM4KS3AYTKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IMOWVMA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCS2M26RSWCOIVW2J3PSJLRCI74VANCNFSM4KS3AYTA
.

Morning,
Thank you very much for your prompt response.
I'm using MariaDB 10.4.9, but I have uninstalled Android studio, I will reinstall it now. What version of android do you recommend?  I will still run the demo again to give you more information.
I take this opportunity to congratulate you on the splendid project you are carrying out by creating this connector. Congratulations.
pd: Sorry for my English.

Morning again,
I'm emulating him with api 28.

Hi,
Thanks that's really nice to hear.
Sorry didn't realise you were using the demo app so it should work OK, I wonder if there is some incompatibility currently between MariaDB 10 and the connector.
I'll have a look and let you know, I likely won't be able to check it out until this evening after work though unfortunately.
Thanks
Chris

Okay, thank you very much for your attention.

good again,
I'm trying out a Hostinger server and it gives me the following exception;
com.BoardiesITSolutions.AndroidMySQLConnector.Exceptions.UnsupportedMySQLServerException: Server Language 0xE0 MySQL Server Version 5.5.0

Hi,
I've taken a look at the MariaDB issue you mentioned it does look like there's some incompatibility for some reason which I'm looking into.
Thanks
Chris

Hi,
I've released 0.32_MySQL8 which fixes the issue you had with MariaDB 10.4.
Any issues then please let me know.

Thank you very much for your effort, you are very efficient,😁
I have already received the email with the new version. Tomorrow I will try.
I am very grateful !!

Good morning,
Now DEMOapplication works perfectly in the Android studio VD, but when I create a debug.apk and run it on a Galaxy S8+ with android 9, it doesn't establish the connection, it saves the connection data but doesn't show the message "Connected to database successfully". Then it closes the application when trying to get a line result or add some lines. And it's the same with a tablet with Android 8.1.
Thank you very much in advance.

good again,
I'm trying out a Hostinger server and it gives me the following exception;
com.BoardiesITSolutions.AndroidMySQLConnector.Exceptions.UnsupportedMySQLServerException: Server Language 0xE0 MySQL Server Version 5.5.0

In another parallel test, which I'm doing on a Hostinger server, I keep getting the same error and I'm using utf8_unicode_ci.

That's strange. Instead of using the debug have you tried connecting your
device to Android studio and run it directly from Android studio instead of
side losing an APK.
Not sure that would make a difference if but could you send me the logcat.
Thanks
Chris
On Wed, 12 Feb 2020, 05:39 Larreineta<EMAIL_ADDRESS>wrote:

Good morning,
Now DEMOapplication works perfectly in the Android studio VD, but when I
create a debug.apk and run it on a Galaxy S8+ with android 9, it doesn't
establish the connection, it saves the connection data but doesn't show the
message "Connected to database successfully". Then it closes the
application when trying to get a line result or add some lines. And it's
the same with a tablet with Android 8.1.
Thank you very much in advance.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/BoardiesITSolutions/Android-MySQL-Connector/issues/13?email_source=notifications&email_token=ABCS2M4FRJDXZM4T4XMZ74DRCODSJA5CNFSM4KS3AYTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELPP34Q#issuecomment-585039346,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCS2M2XCWKLCKXVHDLQ633RCODSJANCNFSM4KS3AYTA
.

Well, I just did, and it gives me a hostname problem.
I'll talk to my partner to get the IP for access. from my computer if I can access it with the server address in the log.
I'll add the log;
"2020-02-12 09:33:55.077 6103-6134/com.boardiesitsolutions.demoapplication E/SocketSender: java.net.UnknownHostException: Unable to resolve host "Ins-celica.pine.local": No address associated with hostname"
On the other hand, do you have any idea about the language problem on another server (Hostinger)?
Sorry for all the molets generated.

Hi,
I've released 0.33_MySQL8 which should hopefully fix the server language problem you were having. I've not been able to test as it seems to pretty difficult to find MySQL 5.5.0 now, that is a very old version.
Older versions tend to use an older version of TLS which I can't support (due to Java removing it for security reasons). It might be worthwhile running the following query on your server:
SHOW GLOBAL VARIABLES LIKE 'tls_version';
It should list TLS 1.1, 1.2 or 1.3, if it only has  TLS 1.0 then the connector won't work on this version of MySQL and there won't be anything I can do about that unfortunately.
Thanks
Chris

Thank you very much for all the effort you've made.  the hostinger server version is:
MySQL server version: 5.5.5-10.2.30-MariaDB
So it's complicated...
Thank you very much for your attention !!

No problem. Are you still having the issue with the hostinger is it the
same issue saying it's unsupported.
If so Would it be possible for you create me a login to a test DB and I can
try connecting and see what's going on?
Thanks
Chris
On Fri, 14 Feb 2020, 07:46 Larreineta<EMAIL_ADDRESS>wrote:

Thank you very much for all the effort you've made. the hostinger server
version is:
MySQL server version: 5.5.5-10.2.30-MariaDB
So it's complicated...
Thank you very much for your attention !!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/BoardiesITSolutions/Android-MySQL-Connector/issues/13?email_source=notifications&email_token=ABCS2M5SPYESEPWS7KUDZVLRCZD5PA5CNFSM4KS3AYTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELX4IHY#issuecomment-586138655,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCS2MZBOHO7EOWOPKCFT4LRCZD5PANCNFSM4KS3AYTA
.

Morning Chris,
I just sent you an email to the account "<EMAIL_ADDRESS>with the connection data.
Thank you very much!

Thank you. Got the login details.
I'll have a look tonight after work and let you know.
Thanks
Chris
On Fri, 14 Feb 2020, 08:44 Larreineta<EMAIL_ADDRESS>wrote:

Morning Chris,
I just sent you an email to the account "<EMAIL_ADDRESS>with the connection data.
Thank you very much!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/BoardiesITSolutions/Android-MySQL-Connector/issues/13?email_source=notifications&email_token=ABCS2M2CHBF2AQQ3L2733XTRCZKVNA5CNFSM4KS3AYTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELYAZZQ#issuecomment-586157286,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCS2M5XGQN6AXB2F6E2UR3RCZKVNANCNFSM4KS3AYTA
.

Hi,
Thanks for the credentials to your DB. I think I screwed up the previous release unfortunately so it lost my change for the server language to fix what Hostinger use. Sorry about that.
I've created release 0.34_MySQL8 which appears to work OK with your DB now.
Let me know how you get on.
Thanks
Chris

Thanks a lot!

Morning, Chris,
I've already tried it and it works well, thank you very much.
The only thing, that the result gives "java.lang.ArrayIndexOutOfBoundsException: length=4380; index=4380" when I exceed 500 records.

log:
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=4380; index=4380
at com.BoardiesITSolutions.AndroidMySQLConnector.MySQLIO.getLenEncodedInt(MySQLIO.java:242)
at com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.processPacketData(COM_QueryResponse.java:100)
at com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.(COM_QueryResponse.java:23)
at com.BoardiesITSolutions.AndroidMySQLConnector.Statement$2.socketDataSent(Statement.java:241)
at com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:53)
at com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:11)

Hey,
That's good news, we're getting somewhere :).
I'll take a look tonight as to why 500+ records causes a problem and let you know.
Thanks

Hey,
I've identified an issue, which seems to be similar to your's but just want to double check I haven't found something else on top of your issue.

When I've tested myself, I have around 2000 records in a DB and it returns them OK the first time, then its a bit hit and miss on the second time, sometimes it works and then fails on the 3rd time and sometimes fails on the 2nd time getting the same data. So that's a bit odd, is that what you are seeing as well?
Thanks
Chris

Hello,
It has failed me at the first, but tomorrow I will test to give you a more specific answer.
thank you very much for your efforts.

Hmmm, that's strange, maybe there's two separate issues going on. It seems like the issue I found is some sort of timing issue.
It might be useful to know what kind of table it is, e.g. number of columns, type of data in each column etc.
Thanks
Chris

First I tried a table with about 20 fields. but seeing the problem, I reduced it to only two fields, an integer id and a String. But it also failed me.

That's the same i'm using an is field as an int and field string.
What device are you testing on, is it the emulator, if so can you let me
know how much ram it has. If you're testing on a device if you can let me
know the name and model I should be able to find the spec and replicate it
as much as I can in an emulator.
Just wondering whether you're specific problem is device memory related.
Thanks
Chris
On Mon, 17 Feb 2020, 18:39 Larreineta<EMAIL_ADDRESS>wrote:

First I tried a table with about 20 fields. but seeing the problem, I
reduced it to only two fields, an integer id and a String. But it also
failed me.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/BoardiesITSolutions/Android-MySQL-Connector/issues/13?email_source=notifications&email_token=ABCS2M3NR4CCH3L3CPOBBCLRDLKULA5CNFSM4KS3AYTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEL7K4SY#issuecomment-587116107,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCS2MYEYH5B67BPNJSW5KLRDLKULANCNFSM4KS3AYTA
.

Morning, Chris,
I have been emulating with the Pixel 2 api28 model with 1.5GB memory. I have tried with a new 4GB Ram device and it also gives me error.
Then on my mobile phone, a Samsung Galaxy S8+, and it also gives me error.
The maximum number of records I've ever had is 600.

Hmm OK. Leave it with me and I'll see what I can figure out. I have a feeling it might not be a quick fix unfortunately like the other little issues you found but I'll keep you updated.
Thanks
Chris

OK! Don't worry, you've done too much!!, take it easy. Thank you!!

Hi. Just to let you know I haven't forgotten, I'm still looking into it.
Its proving to be a bit tricky to track down unfortunately. Sometimes it works fine without any issues, sometimes it'll crash because the response data I got from MySQL is 2 bytes shorter than I expected, and sometimes it'll crash because the response data I got from MySQL is 100 bytes shorter than I expected, so its a tad intermittent.
Thanks
Chris

okay! Quiet, thank you very much for your work!

Hi, I think I've finally got there.
I've pushed tag 0.36_MySQL8. Looks to be working OK now, I've tested with 3000 records in the DB and they all got returned without any issues, so fingers crossed :).
Sorry for the delay in getting this resolved.
Let me know how you get on.
Thanks
Chris

Hi,
I have error after SELECT and no results in table:
 Caused by: java.lang.IndexOutOfBoundsException         at com.BoardiesITSolutions.AndroidMySQLConnector.MySQLIO.shiftCurrentBytePosition(MySQLIO.java:317)         at com.BoardiesITSolutions.AndroidMySQLConnector.MySQLIO.getLenEncodedInt(MySQLIO.java:388)         at com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.processPacketData(COM_QueryResponse.java:177)         at com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.<init>(COM_QueryResponse.java:28)         at com.BoardiesITSolutions.AndroidMySQLConnector.Statement$2.socketDataSent(Statement.java:227)         at com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:56)         at com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:12)

Hi. What tag version are you using as this been fixed in 0.36_MySQL8. If your having trouble with this particular version can you raise this as a new version and let me know your MySQL version.

My MySQL version is 10.4.7-MariaDB and i using latest version 0.36_MySQL8.
If SELECT statement expect one or more results - everything is ok, but if result is empty then i have exception as above.

Ah OK, that's strange, can you raise this as a new issue though please as this isn't related to this particular issue.

Hi Larreineta,
Just to let you know that 0.37_MySQL8 has been pushed which fixes the issue above with the empty resultset.
Thanks
Chris

thanks!
I had not been given the case of a result without records. But now I won't have that problem, jeje otherwise it works very well. Thank you very much for your effort!!

No problem, glad your other problem is sorted now too.
Thanks
Chris


minor style issues on class eosio::block_timestamp page

minor style issues on class eosio::block_timestamp page. From file :libraries/eosiolib/core/eosio/time.hpp

@dixia can you pls add more details, what has to be fixed here?

doc page in question: https://developers.eos.io/manuals/eosio.cdt/v1.6/classeosio_1_1block__timestamp/#class-eosioblock_timestamp

there is a " and and ". should able to find if you search that on the page

pages where this occurs:
https://developers.eos.io/manuals/eosio.cdt/latest/classeosio_1_1block__timestamp#detailed-description
https://developers.eos.io/manuals/eosio.cdt/v1.6/namespaceeosio_1_1__datastream__detail#detailed-description
https://developers.eos.io/manuals/eosio.cdt/v1.5/classeosio_1_1block__timestamp#detailed-description
https://developers.eos.io/manuals/eosio.cdt/v1.4/classeosio_1_1block__timestamp/#detailed-description


Rework device binding code to be more consise

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 41 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3601

Relevant Lines:
3601

💛  - Coveralls


Disconnect events ignored if received before connection succeeds on iOS

When using this library to reconnect to a peripheral in the background when it next comes into range we call bleManager.connectToDevice and expect that the promise will eventually either resolve with a connected device, or fail with an error.
On iOS we occasionally see the OS raise a disconnect event before it connects to the device when right on the edge of bluetooth signal range . Example snippet from bluetoothd logs:

BleModule.swift#safeConnectToDevice only starts to monitor the disconnection observable after it is satisfied that a device has connected. This results in the disconnect event being silently ignored - the JS client does not receive an error and is unaware that it needs to retry the bleManager.connectToDevice call.
We have field tested a successful workaround by modifying  BleModule.swift#safeConnectToDevice to start monitoring disconnections before it calls connect() and bail out with BleError.cancelled() if we receive a disconnect before the connection attempt finishes. I'll open a PR and link it to this issue, but we're not particularly familiar with reactive Swift and there may be a cleaner way to solve the problem.
Ultimately this feels like an iOS bug but we can't argue with the observed behaviour and supporting this scenario shouldn't do any harm if the "feature" changes in future versions of the OS - it'll just become a no-op.

You spotted that operating system, after connect(), called:
func centralManager(CBCentralManager, didDisconnectPeripheral: CBPeripheral, error: Error?)
instead of:
func centralManager(CBCentralManager, didConnect: CBPeripheral)
or
func centralManager(CBCentralManager, didFailToConnect: CBPeripheral, error: Error?)
?
iOS documentation actually guarantees that above functions should be called... If that's not the case, then definitely it's an iOS bug.


[Enhancement] export metrics of be via bvar

Search before asking

[X] I had searched in the issues and found no similar issues.

Description
Bvar is much more efficient than metric in be, so we can use bvar instead.

We export one metric via bvar and show it in grafana to test if the idea work.

We export all metrics via bvar
We can do this file by file.

We add a config to close original metrics.

Solution
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I will work on it.


Event workitem.updated - add details for changedFields setting

As stated here: https://docs.microsoft.com/en-us/azure/devops/service-hooks/events?view=azure-devops#work-item-updated , we can use the changedFields setting to Filter events to include only work items with the specified field**(s)** changed.
Note the (s). I guess this means we can specify MORE than one field but the GUI will let you select one field only. If more than one field can be specified, how can we do so? Using a string array? Seperating fields by a comma or a semicolon? Please, add details about the changedFields setting in general!
Thanks, regards

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

ID: 6033d681-9093-547c-20fd-b31183c2bb33
Version Independent ID: 0d92e3f0-7fb4-57e5-d913-f305a055a819
Content: Service hooks event reference
Content Source: docs/service-hooks/events.md
Product: devops
Technology: devops-collab
GitHub Login: @elbatk
Microsoft Alias: elbatk

Hi @fume, thank you for the feedback.
@thomps23 Can you check this issue?

any news on this? thanks

Hi, please this is important to us. We need to understand if we MUST create many subscriptions - one for each field we want to monitor - or if we can (even programmatically, that's fine) create just one subscription with MANY fields whatched.
thanks, regards

Hi @fume, Unfortunately the answer is that you can only have one field changed clause per Service Hook subscription.  Allowing multiple selections for each filter type has been considered in the past, and I'd welcome you to submit a feature request here: https://visualstudio.microsoft.com/vs/support/#talktous
Please let me know if you have any further questions, thanks very much.

Hi @chcomley , got it, thanks. But please, can you specify this in the docs? All the plurals in the JSON property and in the description are misleading.
thanks, regards

Yes, @fume, I've created a user story on my backlog to address this. Thanks again!


Rotated chart with hidden subchart still able to interact with

C3 version: 0.6.8
D3 version: 5.7.0
Browser: Chrome
OS: Windows

I have a rotated bar graph with long x-tick values. I appears there is a hidden subchart that user can still interact with and zoom in with, even though no subchart or zoom is enabled. See my codepen below:
https://codepen.io/u119102/pen/NOpBmK?editors=1010
If you hover mouse over the middle of the word "January", mouse pointer "+" will show up, pull it down and the graph will zoom in (similar to a subchart functionality)
This does seem trivial in web-page view, but in mobile view, it's in the left side of the page where user tends to scroll with their finger, it can be quite irritating, especially since you cannot zoom all the way back out, without seeing the subchart.

Please let me know if any other information need or it has already been solved.
Thanks.

We have the same issue as well, seems really bad

Also experiencing this on v0.6.8

Temporary work around that I used to avoid this on a non-interactive chart was:
g.c3-brush {   display: none; }


Mention pluginRepository in the README

Fixes https://github.com/BSI-Business-Systems-Integration-AG/eclipse-settings-maven-plugin/issues/9

LGTM 👍


Show path to buildtest configuration file

[x] Issue#1099 Completed
[x] A bug fixed detected in branch devel

Hi @shahzebsiddiqui, this PR is now ready for review. Thank you for your feedback!

@Xiangs18 thanks for your contribution. This looks really good. I am merging this in


localeSubpaths not resetting to default lang via url - expected?

Describe the bug
My NextI18Next constructor options are:
{localeSubpaths: true,
defaultLanguage: 'en',
otherLanguages: ['de']}
As expected, when I go to http://localhost:3000/de I see my page using de strings.
Then, I edit the address in the browser address bar to http://localhost:3000  .. I was expecting it to show en strings... Does it automatically go to de because of the i18next cookie?
If so, how can I go 'back' to en strings? It seems I can go back by doing http://localhost:3000/en .. and now I am back to english by default.. Or, do I have to make a UI switcher to switch back to english?
I was thinking typing http://localhost:3000 would automatically put me back to defualtLanguage (en) mode.. but I guess it remembers to forward to /de... Is that intended? I guess we do that so user A always sees the same language, without having to manually add /de ?
Occurs in next-i18next version
0.31.0

Yes, this is intended. Please see #60 and #73.


Add India in list of country badges

I'd love to see my country India in one of those badges, if you plan to add it, I'm more than happy to send PR for the same! :smiley:

Yes, I definitely want to keep adding more countries and other features that people using the code want to add. How could I forget 1/6th of the Earth's total population :smiley: ? I won't have time to work on it until the weekend, but if you submit a PR in the mean time I would be happy to merge it in. Thanks!

I'm working on to add Indian flag, but as you've mentioned in README that SCSS transpilation is handled via Webstorm, is there any alternate way I can push changes to CSS file (apart from manually editing it)? as I don't own WebStorm IDE.

I have fixed this in #5 and there is now a gulpfile to run. The instructions are in the readme. Happy coding!

This has been published to Bower starting in v0.2.0. Thanks for your help!


Setup Deployment Routine

Proposed Features
When the satellite comes out of its pod various things need to happen! The following is a rough timeline of what the flight software needs to do from a cold start.

Design Notes
This is an extremely important subroutine for the flight software. It's a tricky one too because it needs to allocate time for a handling and deployment delay without creating a situation where those delays occur every time the satellite reboots (potentially creating a terrible boot loop where the satellite is stuck in an inert state forever).
Furthermore, it is a known issue in V1.X PROVES Kits that there is a fundamental design flaw with the burn wire circuit (used to deploy the antennas) where overuse of them can cause the circuit to "burn through" and cause a brown out (the whole satellite losing power) due to a trigger of the overcurrent protection circuit. If we underuse the burn wire though, the fishing line won't be cut and the antennas will not actually deploy.
 We've updated it slightly to allow for multiple attempts and try to use NVM (Non-Volatile Memory) flags to maintain a count of attempts and brownouts across resets.
Example Circuit Python Implementation
Within the pysquared.py class the following flags are setup in NVM (Non-Volatile Memory):
class Satellite:
    """
    NVM (Non-Volatile Memory) Register Definitions
    """

    # General NVM counters
    c_boot = multiBitFlag(register=_BOOTCNT, lowest_bit=0, num_bits=8)
    c_vbusrst = multiBitFlag(register=_VBUSRST, lowest_bit=0, num_bits=8)
    c_state_err = multiBitFlag(register=_STATECNT, lowest_bit=0, num_bits=8)
    c_distance = multiBitFlag(register=_DIST, lowest_bit=0, num_bits=8)
    c_ichrg = multiBitFlag(register=_ICHRG, lowest_bit=0, num_bits=8)

    # Define NVM flags
    f_softboot = bitFlag(register=_FLAG, bit=0)
    f_solar = bitFlag(register=_FLAG, bit=1)
    f_burnarm = bitFlag(register=_FLAG, bit=2)
    f_brownout = bitFlag(register=_FLAG, bit=3)
    f_triedburn = bitFlag(register=_FLAG, bit=4)
    f_shtdwn = bitFlag(register=_FLAG, bit=5)
    f_burned = bitFlag(register=_FLAG, bit=6)
    f_fsk = bitFlag(register=_FLAG, bit=7)

Of particular note are the f_burnarm, f_brownout, f_triedburn, and f_burned flags. These are set in NVM to protect against a loss of information in case of a brownout during burn wire operation.
In main.py the satellite first enters a brief radio listening period before attempting the burn wire. This is to provide "trap door" access to sending a command to the satellite that interrupts the code in case of a looping critical failure during the burn wire routine. The satellite then proceeds as such:
    while c.burned is False and tries < 3:
        debug_print("Burn attempt try: " + str(tries+1))
        if tries == 0:
            debug_print("Loitering for " + str(loiter_time) + " seconds")
            try:
                c.neopixel[0] = (0,0,0)

                purple = (200, 8, 200)
                led_off = (0,0,0)

                for step in range(0,loiter_time):

                    c.neopixel[0] = purple
                    time.sleep(0.5)
                    c.neopixel[0] = led_off
                    time.sleep(0.5)
                    debug_print(f"Entering full flight software in... {loiter_time-step} seconds")
            except Exception as e:
                debug_print("Error in Loiter Sequence: " + ''.join(traceback.format_exception(e)))
        try:
            dutycycle=dutycycle+0.02
            done=c.smart_burn('1',dutycycle)
            tries+=1
        except:
            debug_print("couldnt burn on try " + str(tries+1))
        if done is True:
            debug_print("attempt passed without error!")
            if c.burned is False and tries>=2:
                debug_print("Ran Out of Smart Burn Attempts. Will Attempt automated burn...")
                wait=0
                while(wait<5):
                    wait+=1
                    time.sleep(1)
                c.burn('1',0.28,1000,2)
            else:
                pass
        else:
            debug_print("burn failed miserably!")
            break

The smart_burn() function is one of the lengthier ones on the satellite and is provided here for reference:
    def smart_burn(self,burn_num,dutycycle=0.1):
        """
        Operate burn wire circuits. Wont do anything unless the a nichrome burn wire
        has been installed.

        IMPORTANT: See "Burn Wire Info & Usage" of https://pycubed.org/resources
        before attempting to use this function!

        burn_num:  (string) which burn wire circuit to operate, must be either '1' or '2'
        dutycycle: (float) duty cycle percent, must be 0.0 to 100
        freq:      (float) frequency in Hz of the PWM pulse, default is 1000 Hz
        duration:  (float) duration in seconds the burn wire should be on
        """

        freq = 1000

        distance1=0
        distance2=0
        #self.dist=self.distance()

        try:
            # convert duty cycle % into 16-bit fractional up time
            dtycycl=int((dutycycle/100)*(0xFFFF))
            self.debug_print('----- SMART BURN WIRE CONFIGURATION -----')
            self.debug_print('\tFrequency of: {}Hz\n\tDuty cycle of: {}% (int:{})'.format(freq,(100*dtycycl/0xFFFF),dtycycl))
            # create our PWM object for the respective pin
            # not active since duty_cycle is set to 0 (for now)
            if '1' in burn_num:
                burnwire = pwmio.PWMOut(board.BURN_ENABLE, frequency=freq, duty_cycle=0)
            else:
                return False

            try:
                distance1=self.distance()
                self.debug_print(str(distance1))
                if distance1 > self.dist+2 and distance1 > 4 or self.f_triedburn == True:
                    self.burned = True
                    self.f_brownout = True
                    raise TypeError("Wire seems to have burned and satellite browned out")
                else:
                    self.dist=int(distance1)
                    self.burnarm=True
                if self.burnarm:
                    self.burnarm=False
                    self.f_triedburn = True

                    # Configure the relay control pin & open relay
                    self.RGB=(0,165,0)

                    self._relayA.drive_mode=digitalio.DriveMode.PUSH_PULL
                    self.RGB=(255,165,0)
                    self._relayA.value = 1

                    # Pause to ensure relay is open
                    time.sleep(0.5)

                    #Start the Burn
                    burnwire.duty_cycle=dtycycl

                    #Burn Timer
                    start_time = time.monotonic()

                    #Monitor the burn
                    while not self.burned:
                        distance2=self.distance()
                        self.debug_print(str(distance2))
                        if distance2 > distance1+1 or distance2 > 10:
                            self._relayA.value = 0
                            burnwire.duty_cycle = 0
                            self.burned=True
                            self.f_triedburn = False
                        else:
                            distance1=distance2
                            time_elapsed = time.monotonic() - start_time
                            print("Time Elapsed: " + str(time_elapsed))
                            if time_elapsed > 4:
                                self._relayA.value = 0
                                burnwire.duty_cycle = 0
                                self.burned=False
                                self.RGB=(0,0,255)
                                time.sleep(10)
                                self.f_triedburn = False
                                break

                    time.sleep(5)
                    distance2=self.distance()
                else:
                    pass
                if distance2 > distance1+2 or distance2 > 10:
                    self.burned=True
                    self.f_triedburn = False
            except Exception as e:
                self.debug_print("Error in Burn Sequence: " + ''.join(traceback.format_exception(e)))
                self.debug_print("Error: " + str(e))
                if "no attribute 'LiDAR'" in str(e):
                    self.debug_print("Burning without LiDAR")
                    time.sleep(120) #Set to 120 for flight
                    self.burnarm=False
                    self.burned=True
                    self.f_triedburn=True
                    self.burn("1",dutycycle,freq,4)
                    time.sleep(5)

            # Clean up
            self._relayA.value = 0
            burnwire.duty_cycle = 0
            self.RGB=(0,0,0)
            #burnwire.deinit()
            self._relayA.drive_mode=digitalio.DriveMode.OPEN_DRAIN
            return True
        except Exception as e:
            self.debug_print("Error with Burn Wire: " + ''.join(traceback.format_exception(e)))
            return False
        finally:
            self._relayA.value = 0
            burnwire.duty_cycle=0
            self.RGB=(0,0,0)
            burnwire.deinit()
            self._relayA.drive_mode=digitalio.DriveMode.OPEN_DRAIN

Development Plan
We probably need to try and get this implemented first in PicoSDK and then translate these functions over to F'.

We will probably set this development up as a component in #41


Neo4J: install an AWS certificate

When navigate to https://<IP_ADDRESS>:7473/browser we get the attached response as we need to install an AWS certificate to that endpoint.

This isn't a nesta DAPS or AWS issue, this is a EURITO DAPS issue. Moving to EURITO DAPS:
https://github.com/EURITO/eurito_daps/issues/27


ERR_CONNECTION_REFUSED

While loading the site with chrome desktop works just fine (since recently)
These throw a ERR_CONNECTION_REFUSED

Edge 84
chrome android 84
Firefox 79

@lidel and/or @olizilla, might you be able to triage when you're available? Thank you!

Hi @VandeurenGlenn -- a quick check of everyone on the core team running relevant browsers suggests we're not able to replicate this. Mind trying the usual restart/cache-clearing/etc? Or potentially could be a local network or router issue on your end?

Chrome may have cached something, and the other two desktop browsers haven't had a chance to yet. @VandeurenGlenn can you try loading the site using your mobile data with Chrome Android 84 (using private browsing if possible, that'll eliminate any caching issues).

@johnnymatthews Did that already, and tried again, but it works when on mobile data.
@jessicaschilling I'll restart the routers, when on cable it works, on wifi it doesn't.

I was wrong, must have been lucky.

I'll restart the routers, when on cable it works, on wifi it doesn't.

The connection works when you're wired but doesn't when you're using wifi? If this is the case you're likely having issues with your wireless router.

I made a friend check, different ISP etc, they have the same problem, I'm currently the only one who can access with chrome desktop and mobile.
Strange thing is without 8888 chrome desk&mob don't work either
When I change to 8888 it works on chrome desktop & mobile, the rest don't load.
https://docs.ipfs.io opens like a charm on every browser

It's ISP related I think, he just said he changed from ISP to the same I have and also tested on mobile data and that one works.
So I asked somebody else with another ISP and she can access the site.

Issue moved to ipfs/infra #504 via ZenHub

Moving this issue over to infra, as it's more germane there than in the website repo itself. Thanks @VandeurenGlenn for all the sleuthing!


Add base AD PVs such as SDK, Firmware, Serial Number

Can you drop the first two commits from this branch and force-push to have just the third?

I dropped the two prior commits, and pushed the 3-rd commit.

There are now 6 commits...

@kgofron git revert adds a commit, leaving a record that some previous commit has been un-done. Someone a merge commit ended in here too.
@tacaswell wants the original two commits dropped from history.
# Reset back to before the `git revert` commits were added.
git reset --hard 56fa1b3
git rebase -i HEAD~4 # Interactively delete your first two commits.
git push kgofron add_base_pv --force-with-lease

'--force-with-lease' does not work:

ophyd/ophyd/areadetector$ git push kaz add_base_pv --force-with-lease
To https://github.com/kgofron/ophyd
! [rejected]        add_base_pv -> add_base_pv (stale info)
error: failed to push some refs to 'https://github.com/kgofron/ophyd'

Used '--force'
ophyd/ophyd/areadetector$ git push kaz add_base_pv --force
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 24 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 549 bytes | 549.00 KiB/s, done.
Total 5 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
To https://github.com/kgofron/ophyd

b31a657...54de626 add_base_pv -> add_base_pv (forced update)

=======================
You could 'cherry-pick yourself'. https://git-scm.com/docs/git-cherry-pick

@kgofron I suspect you did the merge on GH and so you need to either pull that merge commit you created on the remote first or else do plain --force. It is good to be fluent with the collaborative features of git. You can find very old public PRs of others helping me learn this, and I am happy to pay it forward.


Remove mobx dependency and tree-list

Keeping it open because we'd like to update examples after we publish a release.


IoTHub Dps API - rights property in response doesn't include the values "enrollmentRead/registrationWrite/registrationRead" when set "enrollmentRead/registrationWrite/registrationRead" as "true" in http request

After tested, I found rights property in response doesn't include the values "enrollmentRead/registrationWrite/registrationRead" when set "enrollmentRead/registrationWrite/registrationRead" as "true" in http request. I assume api should return them since they are set as true in http request body.
Http request to create iot dps policy:
PUT https://management.azure.com/subscriptions/xx-xx-xx-xx/resourceGroups/acctestRG-iotdps-test01/providers/Microsoft.Devices/provisioningServices/acctestIoTDPS-test01

{
	"etag": "xxxx",
	"location": "eastus2",
	"properties": {
		"state": "Active",
		"provisioningState": "Succeeded",
		"iotHubs": [],
		"allocationPolicy": "Hashed",
		"serviceOperationsHostName": "acctestIoTDPS-test01.xxxx.net",
		"deviceProvisioningHostName": "xxxx.xxxx.net",
		"idScope": "0ne00151A0D",
		"authorizationPolicies": [
			{
				"keyName": "provisioningserviceowner",
				"primaryKey": "xxxxxxx",
				"secondaryKey": "xxxxxxx",
				"rights": "ServiceConfig, DeviceConnect, EnrollmentWrite"
			},
			{
				"keyName": "acctest01",
				"rights": "EnrollmentRead, EnrollmentWrite, RegistrationStatusRead, RegistrationStatusWrite"
			}
		]
	},
	"sku": {
		"name": "S1",
		"tier": "Standard",
		"capacity": 1
	},
	"tags": {}
}

Http request to get iothub dps policy:

Is there any update on this? Would be cool if I could read the actual values from the API.


[A11Y FEATURE]: The page  should not be empty

A11y Feature Request
Describe the new a11y feature

Web pages have titles that describe their topic or purpose. Titles go in the <title> tag inside the <head>, and are displayed on the top bar of the browser as well as announced by assistive technologies (AT).
The new feature would be to show an error/warning if the title is missing or empty. This will match the WCAG Level A accessibility criterion 2.4.2.
Acceptance criteria

[ ] The <title> tag must be present in the <head>.
[ ] The <title> tag must have descriptive content.

Possible solution
Detecting and showing an error if the <title> tag is missing is going to be complicated... but, we can cover part of the criteria: an empty title. We can use the :empty pseudo-class applied to the title to show a message if the <title> has no content (which means that the title is not descriptive.)
Here is a simple approach that will display an error (should it be a warning instead?) when a page has an empty title:
/* Make the head visible to show the title. This could have side effects but,
in theory, all the elements in the head are non-visible. So we should be ok :P */
head {
  display: block;
}

/* Special case, remove the border and add display: block for it to be visible. */
head title:empty {
  @include vectorMessage(error, "XXXXX", 458, "the title tag should not", "be empty as per criterion 2.4.2.");
  display: block;
  border: 0;
}

I tested it on MacOS with Chrome, Firefox, and Safari, and they all show the error message if the <title> is empty.
Why is this a11y feature important?

A missing or empty title would be an accessibility issue because it makes it more difficult for some users to orient themselves and navigate through the pages (see WCAG techniques for more information)

I don't think the first acceptance criteria is possible to match only with CSS (it would be if browsers supported :has() relational pseudo-class... but they don't 😢).
Maybe we could add a rule for that. No browser will match it at the moment, but it could work (one can hope) in the future. Something like this:
head:not(:has(title)) {
  @include vectorMessage(error, "XXXXX", 450, "a title tag must be present", "in the page head.");
  display: block;
  border: 0;
}

Good idea @alvaromontoro! I'm happy to go ahead with this feature!
For the criterion where the <title> isn't present, I'm happy with your suggested approach as long as it doesn't impact browsers that don't support it. I'd also suggest in the Checka11y.css docs, we'd label it as "partial feature support" or something.
Thank you for suggesting!

Thank you, @jackdomleo7! Please assign the task to me :)

Exciting CSS news: https://twitter.com/jensimmons/status/1473051429115940868
This selector may end up working sooner than expected (at least on Safari):
head:not(:has(title)) {
  @include vectorMessage(error, "XXXXX", 450, "a title tag must be present", "in the page head.");
  display: block;
  border: 0;
}

That's interesting!!


fix chez command not found.

According to BUILDING, we should replace ''chez-scheme'' with ''scheme''.

@izuo, hmm... the problem with that is that other schemes like to install a scheme executable... @ecraven are you fine with this change?

@izuo, hmm... the problem with that is that other schemes like to install a scheme executable... @ecraven are you fine with this change?

Yes, MIT/GNU Scheme also installs /usr/bin/scheme, so if you only have
mit installed, and run run-chez, you'll run into problems (the MIT/GNU
Scheme geiser uses /usr/bin/mit-scheme, so that will work).
I probably should have at least documented the reasons for doing it this
way better :-/
Thanks for the PR, I'd say go ahead :)
Peter

merged! thanks a lot.


mavlink: streams check tx buffer before send

In the PX4 mavlink module we check the serial TX buffer (FIONSPACE) in the send helpers, but unfortunately this happens after each stream has already gathered all data to transmit and copied it into the mavlink message. Worse there's no error returned to the stream, so it's oblivious to the failure.
To prevent throwing away good data this PR adds the TX buffer check earlier in the update of each stream, checking just before send() is called.

Thinking about this a bit more, one issue is that many streams don't actually update in send() because the data isn't ready (eg global position estimate). I'll add a mechanism to check that first.


feat: Configure desired way of S3 bucket addressing

TODO: Say why you made your changes.
TODO: Say what changes you made.
TODO: Say how you tested your changes.
TODO: Attach screenshots if you changed the UI.
Fixes #TODO

Any updates on the progress of the PR? @Elentary
I have also configured a compatible  S3-compatible object storage  as artifacts in Argo Workflow. However, it is not compatible with path style.  And Argo Workflow does not support configuring addressType by default, which forced me to hack this part of the code in the Argo project. It is not elegant.
I hope your PR can be merged into the main branch as soon as possible. If you need it, I am also willing to participate.


Improve error handling in gdown

Properly handle disconnections when downloading from gdrive. If possible - resume download.
Downloading...
From: https://drive.google.com/uc?id=1tRY9wO_RYA_1JIPvNkuib7v7G1kGf7gQ
To: ..../jamendo-dataset/raw_30s_audio-06.tar
1.59GB [00:49, 37.8MB/s]('Connection broken: IncompleteRead(467461 bytes read, 56827 more expected)', IncompleteRead(467461 bytes read, 56827 more expected))
Traceback (most recent call last):
  File "scripts/download/download_gdrive.py", line 121, in <module>
    download(args.dataset, args.type, args.outputdir, args.unpack, args.remove)
  File "scripts/download/download_gdrive.py", line 61, in download
    if compute_sha256(output) != sha256_tars[filename]:
  File "scripts/download/download_gdrive.py", line 16, in compute_sha256
    with open(filename, 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '..../jamendo-dataset/raw_30s_audio-06.tar'
1.59GB [00:54, 29.4MB/s]

This issue still persists. Is someone working on this?

Disabled Google Drive downloads in 5e80e0c0009decd279dd7cf67d1d2711a69c0c74. Use mtg or mtg-fast mirrors for downloads.


trying to silence third-party errors with [declarations] seems to re-raise ignored errors instead

I try to use flow in my project and suppress errors from dependencies.
My project uses react-native-firebase, when I run flow I get 3 errors inside node_modules/react-native-firebase.
I wanted to silence them and have extended the .flowconfig with
[declarations]
.*/node_modules/react-native-firebase/.*

But now I get new errors, which are normally silenced, for example:
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ node_modules/react-native-firebase/dist/modules/firestore/DocumentReference.js.flow:54:53

Cannot call CollectionReference with parentPath bound to collectionPath because null [1] is incompatible with Path [2].

     node_modules/react-native-firebase/dist/modules/firestore/DocumentReference.js.flow
     51│   get parent(): CollectionReference {
     52│     const parentPath = this._documentPath.parent();
     53│     // $FlowExpectedError: parentPath can never be null
     54│     return new CollectionReference(this._firestore, parentPath);
     55│   }
     56│
     57│   get path(): string {

     node_modules/react-native-firebase/dist/modules/firestore/CollectionReference.js.flow
 [2] 29│   constructor(firestore: Firestore, collectionPath: Path) {

     node_modules/react-native-firebase/dist/modules/firestore/Path.js.flow
 [1] 36│   parent(): Path | null {

The 3 original errors are also still reported.
I am running flow 0.78.0

@vjpr [untyped] has a different purpose, it will ignore all the types of the matching modules and replace them with any

@TrySound I got the same error in #7388 and I was using the default $FlowFixMe

I'm having the same problem. The desired behavior is to use any type information provided in {{node_modules}} when possible, but to never report errors that occur within the {{node_modules}. I only want to see errors that occur in my project's source.
The documentation reads like {{[declarations]}} should do exactly what I want, but it seems to do the opposite. Is there any way to write the configuration now to get the behavior that I want? It seems to me like this should be the default behavior. We should be encouraging projects to publish their flow type annotations in their npm packages, and by default leverage this information to improve typing in a project. But this should not result in seeing error output for a project in external dependencies that can't be fixed.

something's broken, trying to figure out what happened. indeed, errors within [declarations] should not be reported, and the annotations should be taken at face value.

I think it's only a problem inside cycles.

Any update on this issue?

Also seeing this problem on latest Flow, 0.94

Still reproducing on 0.104.0.
@mroch - could you explain what you mean by "inside cycles"? I'm wondering if knowing what this means would help me work around the issue.

Is it correct to infer this feature doesn't carry any unit test to make sure it doesn't break?

Id love to get this addressed!

The re-raising of ignored errors is due to https://github.com/facebook/flow/pull/4916/files#diff-c600001e37d25814dbc857496fecd26dR351-R359
Notice the intent was to either remove all errors, or scan for error & lint suppressions. But due to the semicolon (and indeed due to the lack of begin/end in the else branch, scan_for_lint_suppressions actually still runs. I believe, in fact, both should run. I'm trying to add some new failing tests now and see if I can get it in a workable position, but I'm not sure Context.remove_all_errors cx really does what we want it to.

If you need a repro, I posted one here a while ago.

@STRML - Much respect for your work, thank you for being active with regards to this issue.

I think this can be closed. I tried it locally and seems to be fixed on master.

Now that v110 of flow-bin is out, this can definitely be closed.
(As you can see from the spam above. Sorry about that.)

I am seeing this bug for:
npm run flow --version
5.8.0

In my use-case, I have *.js and *.js.flow files in the same directory (same example as documented). But if I remove the types from the *.js file, it still shows the error even though my *.js.flow file is correct.
The benefit to keeping all of my typing in the *.js.flow file is I can keep vanilla js for better portability.


Support creating bookmarks when converting docx to pdf (changed vbs w…

…ord file)

What does creating bookmarks imply? Can there be a regression? It might be better to override the conversion script if you wanted this behavior in such a case.


Custom training loop

Changes include:

New custom training loop (MLJFlux.train!)
Changes in collate
Change MLJFlux.fit! signature everywhere.
Adapting tests to these changes.

Fixes: #89

@ablaom Should the head of this PR be dev or master branch?

Codecov Report

Merging #95 (7580af9) into master (7e88534) will increase coverage by 2.36%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #95      +/-   ##
==========================================
+ Coverage   91.81%   94.17%   +2.36%
==========================================
  Files           7        7
  Lines         232      223       -9
==========================================
- Hits          213      210       -3
+ Misses         19       13       -6

Impacted Files
Coverage Δ

src/MLJFlux.jl
100.00% <ø> (ø)

src/classifier.jl
100.00% <ø> (ø)

src/image.jl
100.00% <ø> (ø)

src/regressor.jl
100.00% <ø> (ø)

src/core.jl
91.17% <100.00%> (+3.11%)
:arrow_up:

src/entity_embedding.jl
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7e88534...16d98ad. Read the comment docs.

@ayush-1506 Again many thanks