Init values in sub state from variable in global state

Let's assume, we have a state.global.authUser.email under global state and I want to show email in UserProfilePage which is generated by generators.
In UserProfilePage/reducer.js,
const initialState = fromJS({
  email: '' **// How can I init it from state.global.authUser.email**
});

UserProfilePage/index.js
  render() {
    return (
      <div className="container">
        <input type="text" className="form-control" onChange={this.props.onChangeEmail} value={this.props.email}/>
     </div>

You wouldn't do that from the reducer, you'd do that by using the selector you have configured to get that state in the mapStateToProps function. Data in the state should only ever live in one reducer.
I.e. in your UserProfilePage component do:
export default connect((state) => {
  return {
    userEmail: selectUserEmail(state),
  };
})(UserProfilePage);

(excuse any typos, I'm on mobile)


[Fix] Remove dupe code inside reimbursement account page

cc @luacmartins
Details
This PR removes a duplicate code inside the ReimbursementAccountPage, more context here , We intentionally changed the order of rendering in this PR https://github.com/Expensify/App/pull/20406. However, this PR https://github.com/Expensify/App/pull/19638 reintroduced the old code, which make it duplicate.
Fixed Issues
$ GH_LINK
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests

Open the app and login with a phone number user
Open the settings -> contact methods and If not already added, add secondary email account
Make secondary email as default
Go to any workspace and connect a bank account manually, filling details till step 3
Again change default contact to phone number
Go to the previously opened workspace and click on connect bank account
Verify that an error is shown asking to change contact method to an email

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

Offline tests
N/A
QA Steps

Open the app and login with a phone number user
Open the settings -> contact methods and If not already added, add secondary email account
Make secondary email as default
Go to any workspace and connect a bank account manually, filling details till step 3
Again change default contact to phone number
Go to the previously opened workspace and click on connect bank account
Verify that an error is shown asking to change contact method to an email

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/36869046/867d79c5-c8d0-4442-8446-4e00c39bd4bb

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

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

🚀 Deployed to staging by https://github.com/luacmartins in version: 1.3.38-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.38-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

FYI for NewDot payment - @allroundexperts completed the review of this PR as a one-off so there's no associated GH issue. Because of that they were never paid for their review, so they are going to request payment for this one. It's an internal review so it would just be the $1k standard payment.

Reviewed the details for @allroundexperts. $1,000 approved for payment based on the BZ summary above.


High CPU in combination with openjdk11 and log4j2

Whats your runtime?

Dozer version: 6.5.0
OS version: Windows server 2016
JDK version: AdoptOpenJDK11.0.8
Log4j2 version 2.14.0

Whats the problem?
We are using log4j2 in combination with dozer mapper in our project. In OpenJDK11 there is an issue that causes high cpu while stackwalking. Several issues have been reported in combination with log4j2.
We are encountering high cpu in production at this moment. In stackdumps we almost always see dozer stackwalking (see stacktrace). This seems to be caused by creating loggers in 'MappingProcessor' and 'LogMsgFactory', each time the dozer .map() function is called.
I did a test and changed the loggers to static in the two mentioned classes. This improved performance a lot for us. When mapping 10000 small objects (with a few strings in them), runtimes went down from ~6s to ~3s.
Is there a reason the loggers are not created static and can this be changed for performance?
at<EMAIL_ADDRESS>Method) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at org.apache.logging.log4j.util.StackLocator.lambda$getCallerClass$6(StackLocator.java:58) 	at org.apache.logging.log4j.util.StackLocator$$Lambda$199/0x0000000800751c40.apply(Unknown Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Method) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at<EMAIL_ADDRESS>Source) 	at org.apache.logging.log4j.util.StackLocator.getCallerClass(StackLocator.java:57) 	at org.apache.logging.log4j.util.StackLocatorUtil.getCallerClass(StackLocatorUtil.java:67) 	at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:45) 	at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48) 	at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:30) 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:270) 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281) 	at com.github.dozermapper.core.util.LogMsgFactory.<init>(LogMsgFactory.java:32) 	at com.github.dozermapper.core.MappingProcessor.<init>(MappingProcessor.java:97) 	at com.github.dozermapper.core.DozerBeanMapper.getMappingProcessor(DozerBeanMapper.java:141) 	at com.github.dozermapper.core.DozerBeanMapper.map(DozerBeanMapper.java:129)

@bgoorden ; if you want to open a PR to fix, am happy to review/merge.

Thank you for the response @garethahealy. I created a pull request for this issue: https://github.com/DozerMapper/dozer/pull/823

Sorry to comment 3 years later... I noticed a similar overconsumption but on the class GetterSetterPropertyDescriptor : https://github.com/DozerMapper/dozer/blob/8efd82f65da118abfa4a5c953bd8dc1bda3bb112/core/src/main/java/com/github/dozermapper/core/propertydescriptor/GetterSetterPropertyDescriptor.java#L45
Shouldn't all cases be corrected?


Better type inference for choice()?

Is it possible for choice(pa, pb, pc) to infer a parser of TA | TB | TC as a result?
export function choice<TToken,TOptions,TValue> (
  ...ps: Parser<TToken,TOptions,TValue>[]
): Parser<TToken,TOptions,TValue>;

Currently it requires a type hint - cast at least on of arguments to more common type.
First idea - change it like following:
export function choice<TToken,TOptions,TValue,TParsers extends Parser<TToken,TOptions,TValue>[]> (
  ...ps: TParsers
): Parser<TToken,TOptions,TValue>;

This doesn't work. I want to infer types from arguments, but now arguments are typed based on generic types.
Second idea:
export function choice<
  TToken,
  TOptions,
  TParser extends Parser<TToken,TOptions,TValue1>,
  TValue1 = TParser extends Parser<TToken,TOptions,infer T> ? T : never
> (
  ...ps: TParser[]
): Parser<TToken,TOptions,TValue1>;

This fails on a call without arguments (and I skipped testing it for more than 1 argument).
Maybe it would be possible to fix, but then I come to realization that it is not clear how this should be written for the Matcher overload.
My next thought:
I have an array of functions. I can get return type of a function with ReturnType<> utility if needed. Then I would need some contraption to turn an array into a unity type.
If there is a solution - it might even work for Matcher overload. And the case of an empty array would be a step in reduction.
Will get back to this.

With some help, I got it working:
export function choice<
  TToken,
  TOptions,
  TParsers extends Parser<TToken,TOptions,TValue>[],
  TValue = TParsers extends Parser<TToken,TOptions,infer T>[] ? T : never
> (
  ...ps: TParsers
): Parser<TToken,TOptions,TValue>;

(I was close)
And Matcher overload also seems to just work.

Hmm.
export function choice<
  TToken,
  TOptions,
  TParsers extends Parser<TToken,TOptions,unknown>[],
  TValue = TParsers[number] extends Parser<TToken,TOptions,infer T> ? T : never
> (
  ...ps: TParsers
): Parser<TToken,TOptions,TValue>;

Type tests are passing for any number of arguments.
But some previously working examples are now failing.
Overload 2 of 2, '(...ps: Parser<unknown, unknown, unknown>[]): Parser<unknown, unknown, unknown>', gave the following error.
  Argument of type 'Parser<Token, unknown, number>' is not assignable to parameter of type 'Parser<unknown, unknown, unknown>'.

Types are lost somewhere in certain practical scenarios.
This gets into esoteric category again - can't ship it like this.


No video playback on Windows 7 X64

I'm submitting a ...

[x] bug report
[ ] feature request
[ ] support request

General information
No image or sound on video playback. It's possible to navigate through lists on Netflix Addon, but, Kodi when something is played, not show image or audio.
Prerequisites

[x] Are you running the latest version?
Yes, It's 0.12.9

Description
[Description of the bug or feature]
After start some video, we get a "play icon" on top of screen, showing the movie is played, but can't show image or sound (kodi sounds is off too.)
Steps to Reproduce

Open Netflix addom
Enter in some list (E.g My List)
Start some video
The play icon will be show on top of screen
Nothing is show

Installation

[ ] I installed the plugin via zip from the Releases page
[x] I´m using the Netflix Repo
[ ] I´m using a different source (Please tell which)

Operating System

[ ] Linux (x86/x64)
[ ] OSX (x86/x64)
[x] Windows (x86/x64)
[ ] Linux (ARM)
[ ] Android

Additional informatin on the environment
Windows 7 Ultimate X64
Debug log
https://pastebin.com/8c2fDw9n
Other information
Plugin was working fine untill 04/24/2018. In 04/25/2018 it's stopping workin in a full working Kodi install. Did a clean install of Kodi 18, because I believe that was a problem with my kodi install.
Screenshots
Navigating in My List

Selecting some to play

The movie is playing (the play icon on top os screen), but no image or sound.

Should be reported in kodi forum (windows section). But pls. enable Debug logging in the log you provide there. For me it seems to be a window driver issue / but without Debug log activated hard to say.

@joaosagrath Do you still experience this issue? If you do, please feel free to reopen.


Team Ekatra - Challenge 4 (Resubmission)

Resubmitting the .md file https://github.com/ekatraone/.github/blob/main/Ekatra-Challenge-4.md

Rejecting this PR as it is deleting another submission.

I just fork the repository and submitted the PR. I didn't delete any


jsdom doesn't fetch img resources

Hi guys,
I have following code trying to visit a site through url using jsdom.env:
jsdom.env({
  proxy: "XXX",
  userAgent: "XXX",
  url: "XXX",
  features:  {
          FetchExternalResources   : ['script', 'link', 'frame', 'iframe', 'img'],
          ProcessExternalResources : ['script'],
          SkipExternalResources : false
  },
  done: ........
});

It works for javascript resources. But not works for images. There're no such requests for the images from the network traffic. Is this intended?

Image loading is only enabled if the canvas module is enabled. It's a bit unexpected I guess.

Thanks. @Sebmaster


How to properly use this package? Setup errors

This package looks promising. Thanks for the good work. However, I'm trying to use implement the example on the readme before I implement (on this project: swing-client) and I'm running into errors. Here's my template code:
<virtual-list
  :data-key="'id'"
  :data-source="items"
  :draggable="'#drag'"
  style="height: 500px"
  @ondragstart="logDragStart"
>
  <template #item="{ record, index, dataKey }">
    drag me
    {{ (record.text, dataKey, index) }}
  </template>
</virtual-list>


Dialog can be Drag

Hi I was wondering if there is a property to set the Drag of the Dialog so that when the user can move Dialog via the mouse?
thanks a lot!

Not currently.
https://github.com/callemall/material-ui#note
https://github.com/callemall/material-ui/blob/master/CONTRIBUTING.md#asking-questions


Update service.md

Removed one 'means' from incorrect repeat.

Signed CLA
On Mon, Jun 10, 2019 at 9:10 PM Kubernetes Prow Robot <
<EMAIL_ADDRESS>wrote:

Thanks for your pull request. Before we can look at your pull request,
you'll need to sign a Contributor License Agreement (CLA).
📝 Please follow instructions at
https://git.k8s.io/community/CLA.md#the-contributor-license-agreement
https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to
sign the CLA.
It may take a couple minutes for the CLA signature to be fully registered;
after that, please reply here with a new comment and we'll verify. Thanks.

If you've already signed a CLA, it's possible we don't have your
GitHub username or you're using a different email address. Check your
existing CLA data and verify that your email is set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.
If you signed the CLA as a corporation, please sign in with your
organization's credentials at
https://identity.linuxfoundation.org/projects/cncf to be authorized.
If you have done the above and are still having issues with the CLA
being reported as unsigned, please log a ticket with the Linux Foundation
Helpdesk: https://support.linuxfoundation.org/
Should you encounter any issues with the Linux Foundation Helpdesk,
send a message to the backup e-mail support address at:
<EMAIL_ADDRESS>
Instructions for interacting with me using PR comments are available here
https://git.k8s.io/community/contributors/guide/pull-requests.md. If
you have questions or suggestions related to my behavior, please file an
issue against the kubernetes/test-infra
https://github.com/kubernetes/test-infra/issues/new?title=Prow issue:
repository. I understand the commands that are listed here
https://go.k8s.io/bot-commands.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/website/pull/14804?email_source=notifications&email_token=AANGBG45ZYHDHIQGTPNNW3LPZYZCNA5CNFSM4HWSSF42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXJTA4Y#issuecomment-500379763,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANGBGZ5OVGQLZMQ6Z4PTTDPZYZCNANCNFSM4HWSSF4Q
.

/assign @bradamant3

Thanks @cdivitotawela !
/lgtm

/approve


feat: support github actions secrets

Usage:
new GithubCustomResource(stack, "ActionsSecret", {
  onCreate: {
    endpoint: "actions",
    method: "createOrUpdateRepoSecret",
    parameters: {
      owner: "pepperize",
      repo: "cdk-github",
      secret_name: "any-name",
      value: ActionsSecret.fromSecretsManager(secret, "any-field"),
    },
    outputPaths: [],
    physicalResourceId: custom_resources.PhysicalResourceId.of("any-id"),
  },
  authOptions: AuthOptions.appAuth(authSecret),
});

Fixes #7

I've left two small remarks, but its fine that it was already merged :)

👍 Thanks. Would you like to patch them?

Done :) See #268


[SDP-1179] Make sendPaymentsReadyToPay atomic by synchronizing the database transactions

What
Make sendPaymentsReadyToPay atomic by synchronizing the database transactions
Why
the atomicity was not done correctly.
Checklist
PR Structure

[x] This PR has a reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR title and description are clear enough for anyone to review it.
[x] This PR does not mix refactoring changes with feature changes (split into two PRs otherwise).

Thoroughness

[x] This PR adds tests for the new functionality or fixes.
[x] This PR contains the link to the Jira ticket it addresses.

Configs and Secrets

[x] No new CONFIG variables are required -OR- the new required ones were added to the helmchart's values.yaml file.
[x] No new CONFIG variables are required -OR- the new required ones were added to the deployments (pr-preview, dev, demo, prd).
[x] No new SECRETS variables are required -OR- the new required ones were mentioned in the helmchart's values.yaml file.
[x] No new SECRETS variables are required -OR- the new required ones were added to the deployments (pr-preview secrets, dev secrets, demo secrets, prd secrets).

Release

[x] This is not a breaking change.
[x] This is ready for production.. If your PR is not ready for production, please consider opening additional complementary PRs using this one as the base. Only merge this into develop or main after it's ready for production!

Deployment

[x] Does the deployment work after merging?

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr297.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr297.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr297.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr297.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr297.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr297.previews.kube001.services.stellar-ops.com


Black screen for local camera stream on iphone mobile safar 14

Hi am using library for almost 1 year.Yesterday the problem started with iphone devices . On investigation i came to know the apple release mobile safari 14 and right after that local video stream from iphone is not working and it shows black screen. I have tested and looks like there is access issue for camera. I also noticed that if i click on video icon in safari address bar twice video work perfectly after that...
To replicate problem go to
https://rtcmulticonnection.herokuapp.com/demos/video-conferencing.html
With iphone ios 14
Any idea what is actually causing that and whats the fix

We are experiencing the same problem, I have reported it here #961

I have the same problem.

me too

the problem is in getRMCMediaElement function.
comment out
mediaElement.srcObject = stream;
this line and it will work. the reason might be is that you cant create more than 1 media element with local stream

I found that setting the autoCreateMediaElement property to false on the connection object also works


Updating documentation based on beta feedback.

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@joshua-harrison-2011 - Looks good to me. Let me know when you want this merged.

@mike2184  As soon as is convenient would be great.  Thanks!


feat: inversionCount in js

Assigned Issue Number?
#195
Language Opted?
JavaScript
Number of files added or updated?
2
Name of these files?
Data_Structures => Array => Inversion_Count => inversion_count.js
Checklist

[x] I was assigned for this otherwise my PR will be rejected.
[X] I've read the contribution guidelines.
[X] I've referred the correct issue number.
[X] I've filled up this entire template correctly.

:star2: this repository and support.

@edinapap i have merged your PR.
I have seen your code it's time complexity is high.
Could you improve it's time complexity and raise another PR


Update UI

resolves #61

Codecov Report

Merging #68 (94464c4) into master (28720b9) will decrease coverage by 1.06%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master      #68      +/-   ##
============================================
- Coverage     71.68%   70.62%   -1.07%
  Complexity      427      427
============================================
  Files            72       72
  Lines          1328     1348      +20
  Branches        147      147
============================================
  Hits            952      952
- Misses          332      352      +20
  Partials         44       44

Impacted Files
Coverage Δ

src/main/java/seedu/address/ui/StudentCard.java
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 28720b9...94464c4. Read the comment docs.

LGTM


Bumping tar from 6.1.0 to 6.1.8

Bumping tar from 6.1.0 to 6.1.8
Bumpin other minor and paths
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1993401
Signed-off-by: liranmauda<EMAIL_ADDRESS>

This needs to be backported to 5.9


don't rely on barriers to preserve identities

Informations

Qiskit Ignis version: master
Python version: 3.6
Operating system: Mac

What is the current behavior?
In previous versions of Qiskit, inserting barriers between identity gates was a way of forcing a delay, for example in a T1 experiment:
         ┌───┐ ░ ┌────┐ ░ ┌────┐ ░ ┌────┐ ░ ┌────┐ ░ ┌────┐ ░  ░ ┌─┐
q0_0: |0>┤ X ├─░─┤ Id ├─░─┤ Id ├─░─┤ Id ├─░─┤ Id ├─░─┤ Id ├─░──░─┤M├
         └───┘ ░ └────┘ ░ └────┘ ░ └────┘ ░ └────┘ ░ └────┘ ░  ░ └╥┘
 c0_0: 0 ═════════════════════════════════════════════════════════╩═

However this is actually not what a barrier is supposed to do. A barrier is to enforce some timing between gates, or to prevent optimizations across the barrier. It is perfectly legitimate to remove the id gates in the above picture. In fact, this is what the transpiler does now.
I think the correct way to do this experiment is to actually set up an even simpler circuit:

and then turn of optimizations during compilation. For example one could do:
execute(circuit, backend, optimization_level=0)

this will preserve the identities, even though no barriers even exist.
Ignis should update its circuits to not rely on this old behavior (e.g. the pad_id_gates function). The notebooks should be updated to circumvent optimizations.

I fixed the T1/T2 notebook here: Qiskit/qiskit-ignis#197
Are there other parts of ignis that behave like this?

RB kind of, there are barriers to prevent compiling across cliffords. But there it's a bit subtle because you may also want to enforce timings.

"It is perfectly legitimate to remove the id gates in the above picture" .. I assume you mean barrier?

Regarding RB, the only case that I see interesting is when the randomly selected gate is the identity one. @dcmckayibm do you see more interesting cases? @ajavadia I've been trying to find information about the different optimization levels, without success. Specifically I want to understand the effect of the optimization level when translating a non-basis gate to a sequence of basis gates. This is in order to understand what will happen to RB if we set the optimization level to 0.

I used execute(circuit, backend, optimization_level=0) to preserve identities for a T2 experiment since barriers don't do that anymore. However, the effect of preserved identities is still not seen in the results. Can you please help to make sure a number of identity gates work as expected?

I used execute(circuit, backend, optimization_level=0) to preserve identities for a T2 experiment since barriers don't do that anymore. However, the effect of preserved identities is still not seen in the results. Can you please help to make sure a number of identity gates work as expected?

Which terra version? Maybe @ajavadia can comment.

It should work. Can you split execute to transpile, assemble_circuits, and run. Then you can print the output of transpile. I think you'll see that the sequence of id gates is still there.

I used execute(circuit, backend, optimization_level=0) to preserve identities for a T2 experiment since barriers don't do that anymore. However, the effect of preserved identities is still not seen in the results. Can you please help to make sure a number of identity gates work as expected?

Which terra version? Maybe @ajavadia can comment.

The terra version I am using is 0.8.0

It should work. Can you split execute to transpile, assemble_circuits, and run. Then you can print the output of transpile. I think you'll see that the sequence of id gates is still there.

I used print(ramsey_algorithm.qasm()) and I saw the sequence of id gates the way I am expecting them but the results are still not reflecting any change with the existence or the change of the number of identity gates.

Which backend do you run?

Which backend do you run?

backend = qk.IBMQ.get_backend(device, hub = 'ibm-q')
and the device could be ibmq_16_melbourne or ibmx4

Can you share the code? Also what happens if you replace the backend by a simulator backend.

Can you share the code? Also what happens if you replace the backend by a simulator backend.

When I run the code using the simulator, I get the same results that I get when running on the 2 devices (ibmq_16_melbourne and ibmx4). Let me see if I can share the code.
Thank you.

Ok, the information that this happens also with the simulator is helpful. Now, what happens if you try to estimate T2 using https://github.com/Qiskit/qiskit-tutorials/blob/master/qiskit/ignis/relaxation_and_decoherence.ipynb instead of your code - do you see the effect of a different number of id gates?

Ok, the information that this happens also with the simulator is helpful. Now, what happens if you try to estimate T2 using https://github.com/Qiskit/qiskit-tutorials/blob/master/qiskit/ignis/relaxation_and_decoherence.ipynb instead of your code - do you see the effect of a different number of id gates?

I tried to run a T1 experiment example code by ibmq:
1- with identity gates and barriers between them
2- with identity gates and barriers between them and optimization_level set to 0
3- without any identity gates
In the three cases, the results were the same.

Can you share the code? Also what happens if you replace the backend by a simulator backend.
Here is the code I am using:
`
import qiskit as qk
import pickle as pk
import time
import matplotlib.pyplot as plt
import numpy as np

'''
DEVICE SELECTION AND VARIABLE SETTINGS
'''
#device = 'ibmq_qasm_simulator'
device = 'ibmq_16_melbourne'
#device = 'ibmqx4'
backend = qk.IBMQ.get_backend(device, hub = 'ibm-q')
num_qubits = 3
q_idx = 0
#Max number of identity gates is 500
step_id = 10
batches = 5
num_osc = 3
circuits_per_batch = 10
results = []
for batch in range(batches):
print('batch' + str(batch + 1))
list_circuits = []
circuit_num = 0
for i in range(batchcircuits_per_batchstep_id, ((batch + 1)circuits_per_batchstep_id), step_id):
'''
DEFINE REGISTERS AND CIRCUITS
'''
qr = qk.QuantumRegister(num_qubits)
cr = qk.ClassicalRegister(num_qubits)
initialization = qk.QuantumCircuit(qr, cr) # initalize qubit initialization circuit
algorithm = qk.QuantumCircuit(qr, cr) # initialize primary algorithm circuit
readout = qk.QuantumCircuit(qr, cr) # initialize qubit readout circuit
    '''
    SPECIFY CIRCUIT
    '''
    # single qubit initialization circuit
    initialization.barrier(qr)
    initialization.h(qr[q_idx]) # create superposition state
    # single qubit Ramsey experiment
    algorithm.barrier(qr)
    for n in range(i):
        #algorithm.barrier(qr)
        algorithm.iden(qr[q_idx])
       #Here is the problem
    algorithm.barrier(qr)
    algorithm.u1(2*np.pi*num_osc*((circuit_num + (batch*circuits_per_batch))/((batches*circuits_per_batch)-1)),qr[q_idx])
    # single qubit readout
    readout.barrier(qr)
    readout.h(qr[q_idx]) # rotate out of superposition state
    readout.measure(qr[q_idx], cr[q_idx]) # readout qubit state
    # full circuit
    ramsey_algorithm = initialization + algorithm + readout

    list_circuits.append(ramsey_algorithm)
    circuit_num = circuit_num + 1

'''
EXECUTE JOB ON ONE BATCH
'''
lapse = 0
interval = 30
shots = 3000
ramsey_experiments = qk.execute(list_circuits, backend, shots=shots, optimization_level=0)
ramsey_results = ramsey_experiments.result()

'''
Get results
'''
counts = []
for i in range(len(list_circuits)):
    counts.append(ramsey_results.get_counts(list_circuits[i])) #results for one batch
    results.append(ramsey_results.get_counts(list_circuits[i])) #results for all batches
print(counts)

'''
Plot the results for all batches
'''
zero_prob = []
for i in range(circuits_per_batch * batches):
zero_prob.append(results[i]['000'] / shots)
plt.plot(range(0,batchescircuits_per_batchstep_id,step_id) , zero_prob)
plt.suptitle("Ramsey Experiment | q" + str(q_idx))
plt.title(device)
plt.xlabel("Number of identity gates")
plt.ylabel("Probability of zero state")
plt.savefig('Ramsey_' + device + '_q' + str(q_idx) + '.png')
plt.show()`

Can you share the code? Also what happens if you replace the backend by a simulator backend.

`
import qiskit as qk
import pickle as pk
import time
import matplotlib.pyplot as plt
import numpy as np
'''
DEVICE SELECTION AND VARIABLE SETTINGS
'''
#device = 'ibmq_qasm_simulator'
device = 'ibmq_16_melbourne'
#device = 'ibmqx4'
backend = qk.IBMQ.get_backend(device, hub = 'ibm-q')
num_qubits = 3
q_idx = 0
#Max number of identity gates is 500
step_id = 10
batches = 5
num_osc = 3
circuits_per_batch = 10
results = []
for batch in range(batches):
print('batch' + str(batch + 1))
list_circuits = []
circuit_num = 0
for i in range(batchcircuits_per_batchstep_id, ((batch + 1)circuits_per_batchstep_id), step_id):
'''
DEFINE REGISTERS AND CIRCUITS
'''
qr = qk.QuantumRegister(num_qubits)
cr = qk.ClassicalRegister(num_qubits)
initialization = qk.QuantumCircuit(qr, cr) # initalize qubit initialization circuit
algorithm = qk.QuantumCircuit(qr, cr) # initialize primary algorithm circuit
readout = qk.QuantumCircuit(qr, cr) # initialize qubit readout circuit
    '''
    SPECIFY CIRCUIT
    '''
    # single qubit initialization circuit
    initialization.barrier(qr)
    initialization.h(qr[q_idx]) # create superposition state
    # single qubit Ramsey experiment
    algorithm.barrier(qr)
    for n in range(i):
        #algorithm.barrier(qr)
        algorithm.iden(qr[q_idx])
        #Here is the problem
    algorithm.barrier(qr)
    algorithm.u1(2*np.pi*num_osc*((circuit_num + (batch*circuits_per_batch))/((batches*circuits_per_batch)-1)),qr[q_idx])
    # single qubit readout
    readout.barrier(qr)
    readout.h(qr[q_idx]) # rotate out of superposition state
    readout.measure(qr[q_idx], cr[q_idx]) # readout qubit state
    # full circuit
    ramsey_algorithm = initialization + algorithm + readout

    list_circuits.append(ramsey_algorithm)
    circuit_num = circuit_num + 1

'''
EXECUTE JOB ON ONE BATCH
'''
lapse = 0
interval = 30
shots = 3000
ramsey_experiments = qk.execute(list_circuits, backend, shots=shots, optimization_level=0)
ramsey_results = ramsey_experiments.result()

'''
Get results
'''
counts = []
for i in range(len(list_circuits)):
    counts.append(ramsey_results.get_counts(list_circuits[i])) #results for one batch
    results.append(ramsey_results.get_counts(list_circuits[i])) #results for all batches
print(counts)

'''
Plot the results for all batches
'''
zero_prob = []
for i in range(circuits_per_batch * batches):
zero_prob.append(results[i]['000'] / shots)
plt.plot(range(0,batchescircuits_per_batchstep_id,step_id) , zero_prob)
plt.suptitle("Ramsey Experiment | q" + str(q_idx))
plt.title(device)
plt.xlabel("Number of identity gates")
plt.ylabel("Probability of zero state")
plt.savefig('Ramsey_' + device + '_q' + str(q_idx) + '.png')
plt.show()`

I checked in a little more detail and now remember that this was behavior in 0.8.0 that we've since changed. You can check if the identities remain by running (e.g on the t1 circuits)
circs2 = qiskit.compiler.transpile(t1_circs, backend=backend, optimization_level=0)
print(circs2[0])
and see if the id gates remain. In 0.8.0 the identities are removed if backend is a real device (but not a simulator). In 0.8.1 the identities remain.
If you do not want to update to 0.8.1 you can run
circs2 = qiskit.compiler.transpile(t1_circs, backend=backend_sim, basis_gates=['u1','u2','u3','id'], optimization_level=0)
qobj = qiskit.compiler.assemble(circs2, shots=shots)
job = backend_real.run(qobj)
where backend_sim is the qasm simulator backend and backend_real is one of the real devices.

I checked in a little more detail and now remember that this was behavior in 0.8.0 that we've since changed. You can check if the identities remain by running (e.g on the t1 circuits)
circs2 = qiskit.compiler.transpile(t1_circs, backend=backend, optimization_level=0)
print(circs2[0])
and see if the id gates remain. In 0.8.0 the identities are removed if backend is a real device (but not a simulator). In 0.8.1 the identities remain.
If you do not want to update to 0.8.1 you can run
circs2 = qiskit.compiler.transpile(t1_circs, backend=backend_sim, basis_gates=['u1','u2','u3','id'], optimization_level=0)
qobj = qiskit.compiler.assemble(circs2, shots=shots)
job = backend_real.run(qobj)
where backend_sim is the qasm simulator backend and backend_real is one of the real devices.

I used the code you suggested for the 0.8.0 version, and it worked! Thank you so much!

@dcmckayibm
Hi! My fellow researcher is working on the same experiment and is experiencing this problem: when he runs on ibmqx4 and calls this line: "ramsey_results = ramsey_experiment.result()", the resulting error appears:
JobError: 'Invalid job state. The job should be DONE but it is JobStatus.ERROR'
and in the results page on the website, the status of the experiment is 'ERROR_RUNNING_JOB'
Note: his code works on the simulator.

@dcmckayibm
Hi! My fellow researcher is working on the same experiment and is experiencing this problem: when he runs on ibmqx4 and calls this line: "ramsey_results = ramsey_experiment.result()", the resulting error appears:
JobError: 'Invalid job state. The job should be DONE but it is JobStatus.ERROR'
and in the results page on the website, the status of the experiment is 'ERROR_RUNNING_JOB'
Note: his code works on the simulator.

This isn't really the forum for backend errors, unless you think it's something with the ignis code itself. Can you try posting on qiskit slack?

This issue is fixed by #2663


💵  Add trakteer funding

Codecov Report

Merging #6 (be6f513) into master (e0f1f01) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #6   +/-   ##
=======================================
  Coverage   93.93%   93.93%
=======================================
  Files           1        1
  Lines          33       33
=======================================
  Hits           31       31
  Misses          1        1
  Partials        1        1

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 e0f1f01...be6f513. Read the comment docs.


Document design patterns for expression pattern & localization pattern

caro has a class 'expression pattern'.  This currently has very little axiomatisation.  Here are details of a design pattern to use for subclasses of expression pattern, and the related term: localization pattern.  These should be moved into a standard design pattern doc.  Also need to decide if any axiomatisation from this needs to live on the caro 'expression pattern' class.
'cell expresses'
domain: cell
range: gene/transgene
x cell_expresses y
iff:
cell(x)
gene/transgene(y)
exists some 'transcription, DNA templated (GO_0006351)' t
t (occurs_in x) and (has_input y)
expression pattern of gene y in organism o:
The mereological sum of all cells in o that cell_expresses y
'expression pattern of y'
def: "The mereological sum of all cells in a single organism in which expression of some specified gene or transgene occurs." []
subClassOf:
'expression pattern'
has_part some (cell that cell_expresses some y)
has_part only (cell that cell_expresses some y)
overlaps some 'localization pattern of x'  # See definition below
ubuiquitously_expresses y  # puts 'y' one simple step away from its pattern, making it easily queryable.
GCI: (cell that cell_expresses some y) EquivalentTo (cell that 'part of' some 'expression pattern of y')
'localization pattern of y':
def: "The mereological sum of all the products of gene Y in a single organism.
subClassOf: overlaps some 'expression pattern of y'
subClassOf: has_part some (product_of y)
Relationship to relations already in RO:
x expresses y
expands_to: x overlaps some (cell that cell_expresses some y)
x ubiquitously_expresses y:
expands_to: x has_part some (cell that cell_expresses some y) and has_part only (cell that cell_expresses) some y)
Left to decide:  relation that applies between 'localization pattern of y' and y.

Most of this is work to be done in RO. At least partly implemented there.  Need to make sure relations get imported to CARO.


fix typo

fix typo

This change is

/lgtm

@chenhuan12 thank you for the update! To apply it, we will need you to provide a signature to the CLA

@chenhuan12 Please rebase your branch so that it picks up 99fbc2b. That will fix the deploy/netlify failure. Thanks.

@chenhuan12
please rebase your patch. Thanks

cc @zhangxiaoyu-zidif


PHPLIB-276 Change stream outline

https://jira.mongodb.org/browse/PHPLIB-276

I implemented the resume functionality using $resumeCallable. I haven't finished the ChangeStreamFunctionalTest so I'll work on that now.

Confirming the following from the Change Stream Test Plan:

ChangeStream will automatically resume one time on a resumable error (including not master) with the initial pipeline and options, except for the addition/update of a resumeToken.
ChangeStream will not attempt to resume on a server error

This may require logic to ensure that the exception is either a connection error, "not master" in its message, or indicates that the cursor is not found (code 43). See: mongoc-change-stream.c for how libmongoc does that.
As far as resuming only one time, I believe that is already covered since resume() is not called within a try/catch.

I added the "not master" check and the cursor not found (code 43) check. I'm not quite sure how to handle connection errors. Also, how can I test for "not master" and connection errors? Should I just construct a new ChangeStreamCommand and execute it on the secondary server to test for the "not master" error?

Also, how can I test for "not master" and connection errors? Should I just construct a new ChangeStreamCommand and execute it on the secondary server to test for the "not master" error?

Manually selecting a server with a secondary read preference wouldn't do the trick, as change streams can be executed on secondaries. I believe "not master" only comes up when the client communicates with a server as if it is a primary but discovers at the time of the command that it is no longer (i.e. primary is in the process of stepping down but hasn't closed its connections yet). This jives with a line in the spec paragraph talking about the error. Since primary's do close connections on step down, you'd be right to think this is a very narrow window and edge case.
We also needed to test "not master" for retryable writes, and did so using a fail point as described in Replica Set Failover Test. If you haven't heard of fail points before, they are essentially triggers that we can set on the server (via a configureFailPoint) command. Retryable writes utilizes two: forcing a write commit to fail and forcing the primary's step down process to hang and not immediately close connections. In the C driver's test suite, I believe @ajdavis avoided using this fail point by simply mocking the entire server-side of the communication (libmongoc as a server mocking framework, while PHP does not).
If you'd like to take a shot at creating a functional test, you can. It would need to skip unless it's connected to a replica set. Additionally, stepping down requires multiple client objects and additional care to make sure the test doesn't leave the replica set in a bad state (e.g. still waiting for a new primary to be elected). If not, I'm satisfied with the "not master" string check you have. We don't run a replica set on Travis CI, so this test would end up skipped for some time until we can improve the test environment.

As for connection exceptions, you might be able to get away with constructing a client with a very low socketTimeoutMS option (just for that test case), such that the initial connection handshake and aggregate command for the change stream returns but the getMore on the tailable cursor times out. I believe the default wait time (without maxAwaitTimeMS in effect) is one second. You'd know better than I, but aggregate may return the initial tailable cursor immediately. If that's so, then a 500ms socket timeout would cause the driver to drop the connection while awaiting a getMore response (during a call to next()).

I added logic and a test for connection exceptions using a low socketTimeoutMS, but the test behaves one of two ways. Sometimes, the connection will drop during the aggregate execution. The rest of the time, the connection will drop during the getMore and the changestream will resume properly. Based on some tests I ran, the first case occurs slightly less than half the time. Is there a reason for this inconsistent behavior?


Bump json_annotation dependency

@robbecker-wf, this is blocking some work I'm doing downstream since I need bug fixes in the most recent version of json_serializable, which necessitates me updating my transitive deps on json_annotation as well.
PTAL.

@Pacane thanks!  Any idea when 5.1.0 will be published?


parquet files problem

I have some problems about parquet files when I run preprocessing codes are as follows:
(TimeVAE) aohuijie@ae0805e8ceb1:~/timeVAE/processing$ python preprocessors.py
Traceback (most recent call last):
File "preprocessors.py", line 403, in
data = pd.read_parquet("History_series_0028C91B.002795_filled.parquet")
File "/home/aohuijie/miniconda3/envs/TimeVAE/lib/python3.8/site-packages/pandas/io/parquet.py", line 509, in read_parquet
return impl.read(
File "/home/aohuijie/miniconda3/envs/TimeVAE/lib/python3.8/site-packages/pandas/io/parquet.py", line 220, in read
path_or_handle, handles, kwargs["filesystem"] = _get_path_or_handle(
File "/home/aohuijie/miniconda3/envs/TimeVAE/lib/python3.8/site-packages/pandas/io/parquet.py", line 110, in _get_path_or_handle
handles = get_handle(
File "/home/aohuijie/miniconda3/envs/TimeVAE/lib/python3.8/site-packages/pandas/io/common.py", line 868, in get_handle
handle = open(handle, ioargs.mode)
FileNotFoundError: [Errno 2] No such file or directory: 'History_series_0028C91B.002795_filled.parquet'

AttributeError                            Traceback (most recent call last)
Cell In[12], line 1
----> 1 data = pd.read_parquet(cfg.TEST_FORECAST_FILE, columns=['queueid', 'date','callvolume'])
2 data['date'] = pd.to_datetime(data['date'])
3 data.rename(columns={ 'queueid': 'seriesid', 'date': 'ts', 'callvolume': 'v',}, inplace=True)
AttributeError: module 'config.config' has no attribute 'TEST_FORECAST_FILE'
Can you tell me what problems blocking me ?

I am sorry about the very late reply to your query. I somehow missed your query altogether.
The error looks like the parquet file you were trying to read in this line could not be found: data = pd.read_parquet("History_series_0028C91B.002795_filled.parquet").
Do you have the file in the correct location?


Ideal memory requirement for NameRes on Translator

Some numbers on this issue:

We have NameRes Solr set up with both a memory request and memory limit of 58Gi on both RENCI (Dev) and ITRB (CI, Test, Prod)
Solr itself reports approx 2.30GB/58.00GB of JVM Memory used and 13.83GB/58.00GB of physical memory in normal use, but peaking at 26.61GB when running the babel-validation test suite.
Kubernetes shows memory usage of 7.11Gi (WSS), 7.00 GiB (RSS) and 15.88 GiB (Cache), even when running the babel-validation test suite.

We are getting CPU-limited, so I'm going to try to increase our CPU limit first, and then see if we need to increase our memory limit.

This time we peaked at 2.57 CPUs, which means we had very slight (2%) of CPU throttling. Memory usage peaked at 6.83 GiB (WSS). However, we still had four requests time out. I should try to increase CPUs to e.g. 5 and see if that fixes it; otherwise, there might be some kind of Solr config we need to tweak.

See https://github.com/helxplatform/translator-devops/pull/983 for some work on this.


Add link while pressing ctrl + click for procedure or function definitions for jumping between package declaration and body

When editing Oracle packages, or just sql, if you press ctrl + click over a table name, it links you to the table detail. It would be very nice having this same behaviour for jumping between declaration and package body when making ctrl + click in function and procedure names.

If you are in declaration and press over function name, the idea is that the cursor jumps to de body to the line where the function implementation is defined. And the opposite behaviour, from the body to the declaration package header.

Also having a direct link for jumping between declaration and package body within the line number, or next to it, would be very nice (second image).

+1

Cmon guys? this is a basic feature of any third-rate IDE. 5 years have passed


Load directory service guide typo

It is like a typo in signal name what is used to trigger load directory Kapacitor service. Where's no signal "NOHUP" exist, "SIGHUP" should be used instead.
"The load directory service enables file-based definitions of Kapacitor tasks, templates, and topic handlers that are loaded on startup or when a NOHUP signal is sent to the process."
need to be changed to
"The load directory service enables file-based definitions of Kapacitor tasks, templates, and topic handlers that are loaded on startup or when a SIGHUP signal is sent to the process."
URL for relevant page?
https://docs.influxdata.com/kapacitor/v1.5/guides/load_directory/
What products and version are you using?
Kapacitor Enterprise 1.5.2
Where did you look before opening the issue?
https://en.wikipedia.org/wiki/Signal_(IPC)
https://en.wikipedia.org/wiki/SIGHUP

Updated in master -- change will appear in next publishing today. Thanks, @MaksimPuzyrkov !!


Feature/msgpack encode [JIRA: RIAK-2183]

This branch incorporates modifications to riak_object:to_binary and riak_object:from_binary to allow optional msgpack encoding/decoding of the riak object contents.
New versions of these functions take an extra riak_object:encoding() argument, which specifies either native erlang term_to_binary encoding (via atom 'erlang'), or msgpack encoding (via atom 'msgpack').  Called without an encoding argument, these functions will use erlang encoding, as before.
This change is a prerequisite for range-scan filtering in eleveldb, which expects the riak object contents to be encoded into msgpack format

create jira issue

Glad to see this pull request as a maintainer of msgpack-erlang! I also took a look at end-to-end/timeseries branch, but found no dependency definition in rebar.config. Where's it? I think we need a line like
  {msgpack, "0.3.*",
    {git, "git://github.com/msgpack/msgpack-erlang.git", {tag, "0.3.4"}}}

In riak_kv/rebar.config.

@kuenishi the dependency on msgpack-erlang is mentioned in eleveldb/rebar.config. But you are right, we need it here, too.

@hmmr cool, +1.


style changes

make website wider (https://sinzlab.org)
the header text needs to change to a crisper font, looks blurry
header bar need nicer color
horizontal line between team members

wider should already be "fixed" by my last contrib


Allow git amend message only

Allows Git Commit (Amend) and Commit Staged (Amend) when there are no file changes, so only the message will be updated.
This has the same behavior as currently running Commit Staged (Amend) with no staged files, but some file changes.
This PR fixes #89923.

Very elegant! 🍻  Thanks!


Remove stale bot

I personally feel that this bot causes more unintended closures (and thus work reopening) than it saves me.
I think it would be better if I focus on actually going through issues a bit more, and we get rid of the bot.
Thoughts?

I think you can turn down the aggression of the bot?

I think I realized that most of our issues are actually not stale really. Just suggestions for future features, so I kinda dont want to get rid of them?

YES


guessit 2.0 -> but uses 3.0

Issue description
Flexget refused to work after upgrade. I noticed the problem was guessit. Having a look at the .nix files I noticed that https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/guessit/2.0.nix was actually updated to use guessit 3.0.
However guessit 3.0 uses different stuff and flexget breaks when using guessit 3.0.
For me, I can't really understand why a file named guessit/2.0.nix uses guessit 3.0.
Steps to reproduce
Try to install and run flexget from nixos unstable or nixos unstable small.
Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.

system: "x86_64-linux"
host os: Linux 4.14.53, NixOS, 18.09.git.fec309a (Jellyfish)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 2.0.4
channels(hyper): ""
channels(root): "nixos-18.09pre145435.fec309aee46"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Can you please check whether #43276 fixes your problem?

That's because of an accidental version update. I'm merging #43276 because it's a step in the right direction and closing this.

yep, that works fine now. Thx @dotlambda


Scene Understanding: objects are rotated around the origin in editor playmode with remoting

Describe the bug
When using Scene Understanding through holoremoting, the returned spatial data objects are rotated around the scene origin (0, 0, 0) relative to where they should be with a seemingly arbitrary offset.
To reproduce
Enable Spatial Awareness System.
Add a Windows Scene Understanding Observer.
Observe as the returned meshes/planes are offset from real world surfaces.
Screenshots

Your setup

Unity  2021.1.28f1
MRTK 2.7.3
Mixed Reality OpenXR plugin 1.1.2
Scene Understanding 0.6.0 package

Target platform

Unity Editor with remoting

Hi @mihaits, thanks for reporting this issue. We have yet to officially support Scene Understanding via Remoting due to a recently resolved limitation in one of our dependencies. We will add SU via remoting support in the coming release. cc: @keveleigh


[dv] add two-way data and masks to push_pull_agent

This PR adds bidirectional data transfer to the push_pull_agent, in
addition to cherry-picking the data masking implemented by @weicaiyang in #4161.
These features are controlled by the cfg.in_bidirectional_mode and
cfg.has_mask knobs, respectively.
Minor modifications are also made to the otp_ctrl and entropy_src
testbench modules to update the interface connection names.
Note that #4146 (kmac tb) will have to be updated as well to get the right signal naming,
this will be done once this PR goes in.
Signed-off-by: Udi Jonnalagadda<EMAIL_ADDRESS>

@sriyerg @weicaiyang the latest force push removes the mask fields from this agent, and allows both request/response data to have individually parameterizable widths.

latest force push adds a new assertion as suggested by @weicaiyang and fixes some alignment problems.

@udinator @sriyerg
Can we merge this one, so that I can update #4215 to use the new signal name and parameter?

@weicaiyang agreed.
@sriyerg if you have some time could you give this a quick last look?


Change to Animation.List module

I think it is unlikely that folks will have a list of animation states like List (State msg) in practice. I can imagine having a list of values that contain animation state though, so I propose changing that module to have the following API:
module Animation.List exposing (Config, subscriptions, update)

subscription : (a -> State msg) -> List a -> (Msg -> msg) -> Sub msg

update : Config a msg -> Msg -> List a -> ( List a, Cmd msg )

type alias Config a msg =
  { get : a -> State msg
  , set : State msg -> a -> a
  }

So whoever uses this module will own some list of values like List Widget where a widget may be defined like this:
type alias Widget =
  { title : String
  , animationState : State Never
  }

type alias Model =
  { widgets : List Widget
  , ...
  }

animationListConfig =
  { get = .animationState
  , set = \newState widget -> { widget | animationState = newState }
  }

Another option is to just not have either Animation.List or Animation.Dict for the first release, and instead get people to write programs and see what happens in practice. What is hard? What is easy? Me and Richard are both working on how to get everyone to stop thinking in terms of "components" so APIs like this may ultimately lead folks in the wrong direction. It is kind of hazy right now.

Interesting, that definitely follows a better usecase for list than a straight list of animation states.
In thinking about this, you're right,  there is the natural tendency to want to store Animation.State wherever it wants to be in your model, as opposed to a separate data structure, which definitely goes along with the idea of removing Animation.Dict and Animation.List completely.
Ok, so lets consider what Animation.Dict and Animation.List actually buy you and see if we can do it better.

They allow you to easily hook up the subscription.
They allow you to tick/update a collection of animations in one call.
They allow you to apply animations using standard machinery like List.map and Dict.update

Subscriptions
The subscription just needs to check if any animation is running.  This can be handled by making Animation.subscription into the following.
subscription : List (Animation.State msg) -> (Animation.Msg -> msg) -> Sub msg

Then the user just passes all their states to the subscription, wherever they are in their model.  Easy Peasy.
Tick/Update
Ok, on to point 2.  Animation.update needs to be applied to each animation state.  The complicated part of this is that Animation.update returns (Animation.State Msg, Cmd Msg), so it's not just a map.
BUT Animation.update doesn't have to return a tuple.  It could return just the new animation state and the Cmds could be returned via a different function like getCmds.
What does this look like if we just do it normally with a reasonable complex set of animation states.  (the model I'm using is from the flower menu).  We do a tiny judo move to get cmds after the update is performed.  That may not even be necessary.
    Animate time ->
        let
            newModel =
                { model
                    | menu = Animation.update time model.menu
                    , submenus =
                        List.map
                            (\sub ->
                                { sub | style = Animation.update time sub.style }
                            ) model.submenus
                    , message =
                        Animation.update time model.message
                }
        in
            ( newModel
            , Animation.getCmds <| newModel.menu :: newModel.message :: newModel.submenus
            )

Applying New Animations
This turns out to be pretty natural because you're now storing things where you want them in your model.  Frequently we want to animate more than one element at a time.  Lets try that.  This is again referencing the flower menu.
    Open ->
        ( { model
            | menu = Animation.interrupt [ rotate (turn 0) ] model.menu
            , submenus =
                List.indexedMap
                    (\i sub ->
                        { sub | style =
                            Animation.interrupt
                                [ Animation.wait (toFloat i * 2.5e-2 * second)
                                , Animation.to
                                    [ Animation.translateY (px 100)
                                    ]
                                ]
                                sub.style
                        }
                    )
                    model.submenus
          }
        , Cmd.none
        )

Way forward
I think this looks pretty good!  Very common elm patterns, which is really nice.
And actually I don't even think it is more verbose than what I was working with in Animation.Dict.  Animation.update is slightly longer, but I believe the "applying new animations" area is actually shorter and more powerful.  You also don't have to deal with the Maybes associated with Dict lookups.

I don't like the "simplification" of subscriptions that you did. Your version requires an allocation of a whole new list, and I think it's non-crazy to have this alternate:
module Animation.List exposing (Config, subscriptions, update)

subscription : Config a msg -> List a -> (Msg -> msg) -> Sub msg

update : Config a msg -> Msg -> List a -> ( List a, Cmd msg )

type alias Config a msg =
  { get : a -> State msg
  , set : State msg -> a -> a
  }

Now both subscription and update take the same Config argument to extract the animation state. If you have 100 items, this means you can skip 100 allocations, and maybe not even traverse the entire list if you find something early.
I think it is a very bad idea to split update into multiple functions. Stick with the tuple. There are other plans to make that easier to use, and we shouldn't try to do different things in every library. Just stick with The Elm Architecture patterns for now, and put the tuple extraction in a let above the record update.
Recommendation
I'd do an initial release without this module. As I built examples of creating cool animations that people often want in practice, I'd add this when it became helpful. This has many benefits:

The first release has less stuff. You can focus more and get it done faster.
You have more concrete experience when the time comes to create Animation.List. The core library will also be more solid by that time.
Now you have two blog posts. First, check out this cool animation library! Second, hey, now it is way easier to use based on these real examples.

Waiting is a good strategy for producing higher quality APIs ;)
Far Future / Never
Now after all that has happened, I think you can use the same basic technique seen here in a Dict library, but I don't think that should happen until there is a very compelling use case.
In general, I'm not sure I'd want patterns like this to become common in Elm, so even adding Animation.List seems like a risky experiment to me.

Note: I edited my comment a bunch. It's better now!

If you want the update function to not produce commands, I think it makes sense to have a version of the API that does not produce commands at all. That seems like a kind of specialist feature, so maybe one way to simplify things is to have Animation and Animation.Fancy where the basic one just does not have send at all and all the types can lose the msg type.
That way folks get a nicer introduction to animating with your library, and they can upgrade to Animation.Fancy if they need to.
In any case, happy to talk through this if you want! I don't seem to be getting notifications on this thread, so send me an email instead.

Oh, or you could have two kinds of update:
update : Msg -> State Never -> State Never

fancyUpdate : Msg -> State msg -> ( State msg, Cmd msg )

Lots of options to try to make the core API simpler!


[Snyk] Upgrade @trustwallet/wallet-core from 3.0.1 to 3.1.10

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade @trustwallet/wallet-core from 3.0.1 to 3.1.10.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 18 versions ahead of your current version.
The recommended version was released 21 days ago, on 2023-01-27.

Release notes

Package name: @trustwallet/wallet-core

3.1.10 - 2023-01-27What's Changed
New features

📖 EIP4337: deployment address calculation by @ rsrbk
📖 Eip155-Eip712: add eip-155 + eip712 support to sign message by @ Milerius
⛓ Sui: Add SUI Implementation by @ Milerius

Improvements

⚒ Fix: fix serialization for aptos tx (pancake swap) by @ Milerius
⚒ Fix: Fix array with mismatched bound warnings in sha2.c by @ safocl

New Contributors

@ safocl made their first contribution in #2884

Full Changelog: 3.1.9...3.1.10

3.1.9 - 2023-01-19What's Changed
Breaking Change
ThorSwap EVM transactions are now using EIP-1559 tx mode by default. Use the gas parameters accordingly.
New features

⛓ TON: TON support by @ stspbu
⛓ WAX: Add WAX chain by @ miloserdow and @ Milerius
🖊 EIP1014: eip1014 support by @ Milerius

Improvements

⚡ ThorSwap: fee optimization for EVM chains by @ Milerius

Misc

✏ Misc: Rename Elrond to MultiversX (configuration change) by @ andreibancioiu
🔒 Misc: add SECURITY.MD by @ Milerius
🍎 Swift: Update Package.swift by @ Milerius

New Contributors

@ stspbu made their first contribution in #2813

Full Changelog: 3.1.8...3.1.9

3.1.8 - 2023-01-11What's Changed
New features

⛓ Immutable X: Complete Implementation by @ Milerius
⛓ Agoric: Add Agoric support by @ AyushBherwani1998
⛓ Native Injective: Add Native Injective support by @ AyushBherwani1998
⚡ ThorSwap: Add full Atom support by @ Milerius
⚡ ThorSwap: Add full Avax support by @ Milerius

Misc

💻 Docker Build: Update dockerfile by @ jlcordeiro
✏ Code smell: Change several classes to structs by @ phuang
✏ Code Improvements: Add extra hrp and coin check to lockScriptForAddress() by @ catenocrypt
🔖 Misc: update CODEOWNERS by @ Milerius

New Contributors

@ jlcordeiro made their first contribution in #2809

Full Changelog: 3.1.7...3.1.8

3.1.7 - 2022-12-16What's Changed
New features

⚡ ThorSwap: full DOGE/BCH/LTC support by @ Milerius

Misc

🧪 CI: Read GITHUB_USER without WC_ prefix by @ hewigovens
🧹 Refactoring: Unify Entry::deriveAddress() methods by @ catenocrypt
✏ Script: New ‘newevmchain’ script, subset of ‘newcoin’ by @ catenocrypt

Full Changelog: 3.1.6...3.1.7

3.1.6 - 2022-12-09

3.1.5 - 2022-11-29

3.1.4 - 2022-11-25

3.1.3 - 2022-11-22

3.1.1 - 2022-11-21

3.1.0 - 2022-11-14

3.0.9 - 2022-11-04

3.0.8 - 2022-10-19

3.0.7 - 2022-10-13

3.0.6 - 2022-10-10

3.0.5 - 2022-10-03

3.0.4 - 2022-09-20

3.0.3 - 2022-09-15

3.0.2 - 2022-09-01

3.0.1 - 2022-08-04

    from @trustwallet/wallet-core GitHub release notes

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

We'd be happy to look into this for you
kindly file a support ticket below
https://forms.gle/7KbQyuY5NoxyrhNz5


Focus Ring & Responsiveness

I'd imagine these fixes are simple, but I'm having trouble resolving them.

On desktop, when interacting with model-viewer, a blue border appears (focus ring). On other sites that use model-viewer, I noticed that they don't have this which is what I am trying to achieve. Is there a way to disable this but also comply with user accessibility so when the keyboard is being used, it will appear only then?

I read that model-viewer is responsive out of the box. I am able to set width, height but it is not responsive. How can I achieve the same UI as shows on modelviewer.dev?

Thank you.

I was able to sort out the responsiveness, it was an error on my end.
I still can't manage to get rid of the focus ring on the mouse but still useable on keyboard. I looked at focus-visible documents and added the script then added the CSS - still nothing as the focus ring is always appearing.

Both issue resolved. It was an error on my end.

Hi @reubenkib , how did you solve?


When I try to download the pretrained model, it takes me to a login page, where I need to register. The registration is not possible, all the in

When I try to download the pretrained model, it takes me to a login page, where I need to register. The registration is not possible as all the instructions are in Mandarin . It would be super awesome on part of you guys to upload the pretrained models on an international cloud sharing site so that everyone could benefit from that.

I have uploaded them to Dubox, a free cloud software worldwide.
Already preprocessed datasets (BIWI, IAS, KGBD)
Dubox Sharelink：https://pan.baidu.com/s/1oOvY2pHM7DFQWcwfVwu6Lw
Password：kle5
All three trained models
Dubox Sharelink：https://pan.baidu.com/s/1367Gy-Bk9ojOrXveqCcm0Q
Password：r1jp

When I try to download the pretrained model, it takes me to a login page, where I need to register. The registration is not possible as all the instructions are in Mandarin . It would be super awesome on part of you guys to upload the pretrained models on an international cloud sharing site so that everyone could benefit from that.

I have uploaded them to Dubox, a free cloud software worldwide.
Already preprocessed datasets (BIWI, IAS, KGBD)
Dubox Sharelink：https://pan.baidu.com/s/1oOvY2pHM7DFQWcwfVwu6Lw
Password：kle5
All three trained models
Dubox Sharelink：https://pan.baidu.com/s/1367Gy-Bk9ojOrXveqCcm0Q
Password：r1jp


Package request: openblack

Project description
openblack is an open source reimplementation of Black & White (2001) written in modern C++ and modern rendering engines (OpenGL, Vulkan).
You still need to have the original game assets in order to use this. See further below for an explanation on how to extract them.
Metadata

homepage URL: https://github.com/openblack/openblack
source URL: https://github.com/openblack/openblack
license: GPL-3.0
platforms: linux, darwin, windows

Add a :+1: reaction to issues you find important.

I tried packaging this but then I ran into a roadblock. I'm not sure how upstream manages to compile this with their CI, but I've changed multiple versions of GCC and Clang and it just doesn't want to work:
openblack> /build/source/apps/l3dtool/tiny_gltf.h:7569:45: error: no matching conversion for functional-style cast from 'const bool' to 'detail::json' (aka 'basic_json<>')
openblack>     detail::JsonAddMember(o, "doubleSided", detail::json(material.doubleSided));

Feel free to take the (partial) derivation though.


Remaining style issues

@kipukun

torrent list is too narrow IMO, the title column should be longer
search bar overlaps profile thingy in modpanel
mod bar buttons need styling
"save changes" button is in line below mod bar
modpanel table contents are not centered vertically
button text in modpanel cut off (torrents, users and comments table)

view pg: download & magnet button are not prominent enough (in comparison to other buttons)
view page does not show old uploader name (if present in db)

サンキュー


Switch from hard-coded delays to variable in metallb_setup role

Introduces mlb_wait_retries and mlb_wait_delay with sane defaults.
This is needed in slower environments, and results in a faster turn-around than adjusting the individual static values by PR.

TestDallas:  ocp-4.15-vanilla

retest

retest

Oh yikes, spoke too soon, we require commits to this repo to be signed https://github.com/redhatci/ansible-collection-redhatci-ocp/blob/main/docs/dev.md#sign-commits let me know if you have any issue and can help with it.

retest


NIFI-4963: Removed Hive 3 NAR from assembly, activate via profile

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

[x] Is your initial contribution a single, squashed commit?

For code changes:

[x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

Reviewing...

Verified the Hive 3 NAR isn't present in the assembly after normal build. Ran contrib-check and all tests pass. +1, merging.


Different layouts fight when assigned to different virtual desktops

Windows build number: 10.0.17763.737
PowerToys version: 0.12.0
PowerToy module for which you are reporting the bug (if applicable): FancyZones

Steps to reproduce

Create custom layout 1
Assign custom layout 1 to virtual desktop 1
Create layout 2
Assign custom layout 2 to virtual desktop 2
open a number of windows on each virtual desktop and assign them a position
switch between the virtual desktops using Window + right/left

Expected behavior
The windows would remain in there assigned position for the layout assigned to that virtual desktop (This worked in version 0.11.0
Actual behavior
The windows assign themselves a position on the layout of the previous virtual desktop upon switching.
This is enough of a bother that I went back to version 0.11.0.  😞

The bug reported here https://github.com/microsoft/PowerToys/issues/383 maybe the same bug.

In progress.

Issue is not reproducible on 0.14.0. I can have different zone layout on two different virtual desktops and windows arranged in their zones as expected.

@vldmr11080 you should mention that 0.14 is not yet released at the time of your comment, in order to avoid confusion.

Virtual desktop related bugs are tracked by https://github.com/microsoft/PowerToys/issues/1236
Closing this one to have only one issue to follow.


sklearnserver ROCK technical implementation

Starting this thread to document our knowledge on sklearnserver ROCK implementation, since this is quite convoluted. This comes after https://github.com/canonical/seldonio-rocks/issues/44, where we came to false conclusions realising that its implementation is not clear to us.
Upstream Image build
Workflow that builds upstream image for sklearnserver:

Image uses the s2i in order to be built using as arguments this environmnet and seldon-core-s2i image as base image.
(TO DO: Add more information about what s2i build does)
The seldon-core-s2i image (Dockerfile) is built with this command which means that it uses docker.io/seldonio/conda-ubi8 as its base image (Dockerfile.conda).

Thus, rockcraft.yaml should implement the above workflow.

Details and discrepancies

first part of rockcraft.yaml is basically implementation of conda base image (as concluded above). We omit the TINI part since this is the Entrypoint for the intermediate base image.
We don't use channel conda-forge during conda installation for security reasons, since it is a community-led collection. Thus, since we already installed conda in the first part, we omit this line.

Script
We introduce build.sh script along with the line bash -c "opt/conda/bin/conda init bash". This enables us to run bash commands (inside the conda environment conda activate) since craft stages use sh and not bash.
Note that the script requires pip but it is run inside conda environment and conda installs it by default.
seldon-core-microservice
seldon-core-microservice is the executable we call for the container's service. It's is a trivial wrapper which looks for .py/.exe files in pwd and blindly executes them. However, we omit the last part of the dockerfile where this is installed. In the dockerfile, this is done using pip and this setup.py file. Since though, this is already installed as a requirement for sklearnserver, we go ahead and use that package ([..]source /opt/conda/etc/profile.d/conda.sh && conda activate && seldon-core-microservice..).
A note here is that, we should pin that package inside our rockcraft.yaml(modifying requirements.txt before running pip) since we want to inject the same version of seldon-core as the sklearnserver we 're using.
Other details

Installing packages from both Dockerfiles (here and here) is omitted since ubuntu-20.04 comes with those preinstalled. (common practice in ROCKs). setuptools is also preinstalled while WRT pip, we will not need it (see below)
_python folder in upstream Dockerfile is a directory created in the Makefile with the contents of the seldon-core/python directory

Closing this since it has served its purpose of documenting implementation. We can use this (reopening or not) in order to add more implementation details in the future.


Update MetaIO

PR Checklist

[ ] No API changes were made (or the changes have been approved)
[ ] No major design changes were made (or the changes have been approved)
[ ] Added test (or behavior not changed)
[ ] Updated API documentation (or API not changed)
[ ] Added license to new files (if any)
[ ] Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5
[ ] Added ITK examples for all new major features (if any)

Refer to the ITK Software Guide for
further development details if necessary.

Thank you @blowekamp and @issakomi for the fix!

Thank you @blowekamp and @issakomi for the fix!


silx.gui: clean-up Qt4 support code

This PR cleans-up Qt4 support that is related to using qt.qVersion() and setSectionResizeMode.
It is mostly (but not only) related to QHeaderView.setSectionResizeMode  and beginResetModel/endResetModel.
Related to #3432

While at it a couple more clean-up spotted by searching hasattr

Thanks a lot.


Repo Clean up

Changes

[x] Fix pre commit hook to ignore deleted files
[x] Remediate compiler warnings
[ ] Add linter to CI
[ ] Remove unused workflows

Docs

[x] Reorder docs files
[x] Contributing file
[x] Guideline file
[ ] Governance walk-through
[ ] Mips walk-through
[ ] Governance contracts
[ ] Readme

Deleted

[x] CrossChainJsonProposal contract and docs
[x] proposals folder (inside root)
[x] Timelock proposal
[ ] Multisig proposal?
[x] 4626 docs and contracts deleted
[x] Delete deprecated folder post multichain governor upgrade
[ ] Outstanding unused branches

@ElliotFriedman will remediate this last requested in the new branch I'm working on


[FLINK-22333][tests] Harden Elasticsearch7DynamicSinkITCase.testWritingDocuments by setting parallelism to 4

This commit hardens the Elasticsearch7DynamicSinkITCase.testWritingDocuments tests by settings its parallelism
to 4. Otherwise the test is run with as many CPUs are available on the machine. This can slow down the test
on our CI infrastructure.

Thanks for the review @zentol. Merging this PR now.


Support for suspension curves

closes #1
adds support for different suspension platforms. does this by exposing a user customizable suspension curve. math and desktop interactivity currently works, just need to clean up a few more things

[ ] support for mobile (touch)
[ ] add bounds so you can NOT drag outside of chart (mouse leave safety etc)
[ ] add axis labels
[ ] add description and hide behind "advanced" setting
[ ] re-organize page elements page so it all fits together getter
[ ] add some notes to the readme about how I derived the math equations (particularly for suspensive curves)

have ideas for some presets for popular platforms or bikes,  and better ways to display sag (ie in a table for handful of rider weights and spring weights (lookup matrix/chart) but getting the math and chart in place needs to be done first.

WIP pic (before hiding behind advanced, adding axes labels, re-organizing page, etc). pictured with a ridiculous curve for demonstration purposes


AssertionError: Path does not exist

File "C:\Faster-RCNN-TensorFlow-Python3.5-master\lib\datasets\pascal_voc.py", line 84, in _load_image_set_index
'Path does not exist: {}'.format(image_set_file)
AssertionError: Path does not exist: C:\Faster-RCNN-TensorFlow-Python3.5-master\data\VOCdevkit2007\VOC2007\ImageSets\Main\trainval.txt

the datest is wrong，try another voc dateset


functional light js book

What does this PR do?
Add resource | Improve repo
For resources
Description
This book is a balanced, pragmatic look at FP in JavaScript.
Why is this valuable (or not)?
"Functional-Light JavaScript" explores the core principles of functional programming (FP) as they are applied to JavaScript. But what makes this book different is that we approach these principles without drowning in all the heavy terminology.
How do we know it's really free?
Github repository
For book lists, is it a book? For course lists, is it a course? etc.
yes it's a book
Checklist:

[x] Read our contributing guidelines
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction)

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

start with a fresh branch


write unit tests for ItineraryVolunteerListUpdatedHandler

@tonysurma please label jump-in

@tonysurma Is this one still valid?  I see a PR that references this issue that has been merged.

@tonysurma, @digitaldrummerj this test has been written and this Issue can be closed


UE65H6400 can´t connect

Hi @kdschlosser ,
i am not able to connect to my TV UE65H6400.
When i go to url 'http://<IP_ADDRESS>:8001/api/v2/' i got a response
{   "id": "XXXXX",   "name": "[TV]Samsung LED65",   "version": "2.0.24",   "device": {     "type": "Samsung SmartTV",     "duid": "XXXXX",     "model": "14_X14_BT",     "modelName": "UE65H6400",     "description": "Samsung TV RCR",     "networkType": "wireless",     "ssid": "XXXX",     "ip": "<IP_ADDRESS>",     "firmwareVersion": "Unknown",     "name": "[TV]Samsung LED65",     "id": "xxxxxx",     "udn": "xxxxxxxx",     "resolution": "1920x1080",     "countryCode": "CZ",     "msfVersion": "2.0.24",     "smartHubAgreement": "true",     "developerMode": "0",     "developerIP": "<IP_ADDRESS>"   },   "type": "Samsung SmartTV",   "uri": "http://<IP_ADDRESS>:8001/api/v2/" }
When i try use your module:
python3 -m samsungctl --host <IP_ADDRESS> --port 8001 --interactive --verbose --name mujnb
i got exception:
Unable to acquire TV's mac address
Traceback (most recent call last):
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/remote_legacy.py", line 76, in open
    self.sock.connect((self.config.host, self.config.port))
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/__main__.py", line 451, in <module>
    main()
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/__main__.py", line 355, in main
    with Remote(config) as remote:
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/remote.py", line 67, in __enter__
    self.open()
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/utils.py", line 24, in wrapper
    return func(*args, **kwargs)
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/remote_legacy.py", line 79, in open
    raise RuntimeError('Unable to pair with TV.. Is the TV on?!?')
RuntimeError: Unable to pair with TV.. Is the TV on?!?

Same here. Except that modelName is UE32H6400. Yours is definitely bigger ;-(
@mlipovsky Have you tried https://github.com/McKael/samtv?
Just go to releases and download the executable compiled for your OS architecture. Switch on your TV, execute: ./samtvcli pair and enter the code you see on your TV with ./samtvcli pair --pin
Works for me.

@rodajc thanks for workaround, i'll try.
But sad point is, that this package is used in home assistant (where i want to control my tv) :/
PS: yes it's bigger, but not enough :smiling_imp:

Hi @kdschlosser ,
i am not able to connect to my TV UE65H6400.
When i go to url 'http://<IP_ADDRESS>:8001/api/v2/' i got a response
{ "id": "XXXXX", "name": "[TV]Samsung LED65", "version": "2.0.24", "device": { "type": "Samsung SmartTV", "duid": "XXXXX", "model": "14_X14_BT", "modelName": "UE65H6400", "description": "Samsung TV RCR", "networkType": "wireless", "ssid": "XXXX", "ip": "<IP_ADDRESS>", "firmwareVersion": "Unknown", "name": "[TV]Samsung LED65", "id": "xxxxxx", "udn": "xxxxxxxx", "resolution": "1920x1080", "countryCode": "CZ", "msfVersion": "2.0.24", "smartHubAgreement": "true", "developerMode": "0", "developerIP": "<IP_ADDRESS>" }, "type": "Samsung SmartTV", "uri": "http://<IP_ADDRESS>:8001/api/v2/" }
When i try use your module:
python3 -m samsungctl --host <IP_ADDRESS> --port 8001 --interactive --verbose --name mujnb
i got exception:
Unable to acquire TV's mac address
Traceback (most recent call last):
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/remote_legacy.py", line 76, in open
    self.sock.connect((self.config.host, self.config.port))
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/__main__.py", line 451, in <module>
    main()
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/__main__.py", line 355, in main
    with Remote(config) as remote:
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/remote.py", line 67, in __enter__
    self.open()
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/utils.py", line 24, in wrapper
    return func(*args, **kwargs)
  File "/home/lipovmar/Documents/samsungctl/samsungctl-master/samsungctl/remote_legacy.py", line 79, in open
    raise RuntimeError('Unable to pair with TV.. Is the TV on?!?')
RuntimeError: Unable to pair with TV.. Is the TV on?!?

If you look at this issue Pair request over and over and permission denied in terminal it has instructions to get it working.

@zaileion
Thanks for your reply. I tried what you describe in Pair request over and over and permission denied in terminal but it doesn't work for me.
This is the output:
Traceback (most recent call last):   File "./samsungctl", line 11, in <module>     load_entry_point('samsungctl==0.7.1+1', 'console_scripts', 'samsungctl')()   File "/home/sil/.local/lib/python3.7/site-packages/samsungctl-0.7.1+1-py3.7.egg/samsungctl/__main__.py", line 110, in main     with Remote(config) as remote:   File "/home/sil/.local/lib/python3.7/site-packages/samsungctl-0.7.1+1-py3.7.egg/samsungctl/remote.py", line 11, in __init__     self.remote = RemoteWebsocket(config)   File "/home/sil/.local/lib/python3.7/site-packages/samsungctl-0.7.1+1-py3.7.egg/samsungctl/remote_websocket.py", line 37, in __init__     self.connection = websocket.create_connection(url, config["timeout"])   File "/usr/lib/python3.7/site-packages/websocket/_core.py", line 514, in create_connection     websock.connect(url, **options)   File "/usr/lib/python3.7/site-packages/websocket/_core.py", line 226, in connect     self.handshake_response = handshake(self.sock, *addrs, **options)   File "/usr/lib/python3.7/site-packages/websocket/_handshake.py", line 79, in handshake     status, resp = _get_resp_headers(sock)   File "/usr/lib/python3.7/site-packages/websocket/_handshake.py", line 158, in _get_resp_headers     status, resp_headers, status_message = read_headers(sock)   File "/usr/lib/python3.7/site-packages/websocket/_http.py", line 305, in read_headers     line = recv_line(sock)   File "/usr/lib/python3.7/site-packages/websocket/_socket.py", line 123, in recv_line     c = recv(sock, 1)   File "/usr/lib/python3.7/site-packages/websocket/_socket.py", line 115, in recv     "Connection is already closed.") websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.
I stick to https://github.com/McKael/samtv.

I also couldn't get this to work, posted an issue on the HA custom component (https://github.com/roberodin/ha-samsungtv-custom/issues/31). Long story short, I can pair and send commands using@eclair4151 SmartCrypto and it seems it was integrated in this project at some point but for some reason I couldn't figure out it's not working properly. Would be great to have one of the devs looking at this since it works just fine with SmartCrypto.