please add samples of input +  output

just found this. Looks to have potential.
Can you do some sample videos to show how it performs? and/or some notes on what you think needs doing to improve this product?
if you chugged this out in 14hrs, I'm curious what might be achieved with more eyes on the code.
otherwise thanks for sharing.

Hi, aspiringguru.
Thank you soo must for recognising my code, it means a lot to me.
I will add some input and output sample videos within the next few days.
as for the thing that can be improved-
I threw this code together in 14hrs so many variables are not proper, hence I could clean up my code a bit and re-write it according to PEP8 standards.
I could also try and figure out a way to incorporate the 'del.py' file into one whole python program.
Please feel free to give out any suggestions on how I can improve this product.
Thank you.


css-loader patterns

Since many ppl use the require hook together with webpack, I think we can make the simplier API for the require hook and provide opportunity to specify the same patterns as for the css-loader. So the user will be able to provide the string pattern for the generateScopedName option:
hook({
  generateScopedName: '[name]__[local]___[hash:base64:5]'
})

I'm going to make another module (What will be the name?) which will implement that. It will be possible to use it with css-modulesify also, so we will get the similar API in our tools. Module will use interpolatename function and solve the problem with the [local] pattern. Smthing like:
/**
 * @param  {string} name     Usually a class name
 * @param  {string} filepath
 * @return {string}
 */
function generate(name, filepath) {
  // return the new name
}

Also I will same the opportunity to provide custom functions.
https://github.com/css-modules/postcss-modules-scope/blob/master/src/index.js#L38
https://github.com/webpack/css-loader/blob/master/lib/processCss.js#L148-L150
https://github.com/webpack/css-loader/blob/master/lib/getLocalIdent.js

I've published it in a beta version: https://github.com/css-modules/css-modules-require-hook/releases/tag/2.0.0-beta2
So you may try to use it.

Okay, published it: https://github.com/css-modules/css-modules-require-hook/releases/tag/2.0.0


Release notes for 4.0.0-preview2

This is blocked by https://github.com/microsoft/FeatureManagement-Dotnet/pull/388 for now.

This has been updated to follow release notes guidelines.


[AMD] Disable clustering of loads and local_stores

Slight perf improvement when tt.load followed immediately by ttg.local_store in the prologue.

This causes issues with multi-buffering. Need to rethink.


Icons not displaying properly when installing via nrpm strategy- seeing [X] instead

I'm using this library and Android Studio to build a react-native android app. Initially, react-native-vector-icons were displaying properly as a result of the rnpm link installation strategy. Then I renamed one of the font files (Comic Sans MS), and the icons stopped displaying properly.
I attempted to fix the issue by removing the android/app/src/main/assets/fonts and android/app/build directories, uninstalling and re-installing this library and peer dependencies. But the icons are still not displaying properly.
I thought the problem only applied to my project's directories, so I created an entirely new react-native application from scratch, created a new Android Virtual Device, re-installed this library and peer dependencies, but the icons are still not displaying properly. I'm confused by this result.
Please advise. Thank you for your time.
See also: https://github.com/oblador/react-native-vector-icons/issues/233

Here are instructions on how to reproduce the error:
https://gist.github.com/s2t2/d40ee0f20576c18232de828a9e20eab2#file-repro-md

Reproduction Instructions
Testing React Native boilerplate
Initialize a new react-native application:
react-native init MyNativeApp
cd MyNativeApp/

Use Android Studio to start a new Android Virtual Device (AVD) according to the following specs:

Android SDK Build Tools 23.0.1
Nexus 5 Device
Marshmellow 23 x86 OS

Run the react-native packager.
react-native run-android

The boilerplate application shows up in the AVD as expected.

Install native-base.
npm install native-base --save

Edit index.android to use native-base components:
import React, { Component } from 'react';
import {AppRegistry, Text} from 'react-native';
import {Container, Header, Footer, Title, Content, Button} from 'native-base';

class MyNativeApp extends Component {
  render() {
    return (
      <Container>
        <Header>
          <Title>My Native App!</Title>
        </Header>

        <Content>
          <Text>Hello world.</Text>
        </Content>

        <Footer>
          <Button>Press me!</Button>
        </Footer>
      </Container>
    );
  }
}

AppRegistry.registerComponent('MyNativeApp', () => MyNativeApp);

Start the AVD and then the packager to see if native-base components are working:
react-native run-android

The components are showing up as expected.

Edit index.android.js, just the button:
// ...
<Button>
  <Icon name="ios-radio-outline" />
</Button>
// ...

Start the AVD and then the packager to see if the icon is working. As expected, it is not, because the icon assets have not yet been installed.

Per the native-base instructions related to Android using rnpm, install react-native-vector-icons:
rnpm link

This creates a new directory called android/app/src/main/assets/fonts which contains some font files.
Start the AVD and then the packager to see if the icon is working. Unfortunately it is not.

OK, so the manual strategy works at least. The weird part about the nrpm strategy is that it was working for me initially. I'm curious to hear if anyone knows why this would no longer be the case.

It is very strange indeed. If you're sure that changing the base font family was responsible for it, it might be a problem with native-base. With rnpm, it's common for the icons to not work for the first time. However restarting the packager usually fixed the problems. I'll keep it open for a while and see if others have faced the same issue.

Thanks for your attention @sankhadeeproy007 :-)

I'm facing the same error. I tried only the rnpm strategy without success

I think I read that in the very latest version of react native, you can run
react-native link as an alternative to using rnpm. I did this for another
library yesterday and it worked fine. I'm curious if this will solve the
issue here. Want to give it a shot?
On Jul 25, 2016 9:24 PM, "Julian Reyes Escrigas"<EMAIL_ADDRESS>wrote:

I'm facing the same error. I tried only the rnpm strategy without success
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GeekyAnts/NativeBase/issues/76#issuecomment-235057116,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABRGpx-GVCxNu8nTbNYFC7lrDZz5EczYks5qZQ1jgaJpZM4JTpqC
.

I've tested with rnpm link and react-native link without success. the only that is working is the manual entry
// android/app/build.gradle
...
apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"
...

I think that you have to especify package to link on react native:
Run react-native link react-native-vector-icons
This works on react-native 0.32.0

I'm having the exact same issue.
@hugoserrana Tried that, didn't work. I'm also on react-native 0.32.0 and the latest version of native base

After run the command, try open Android Studio, clean and rebuild project, check if the project vector-icons will be avaliable after file index finish.
Check the version of gradle plugin too.

For me, react-native link react-native-vector-icons almost worked. When I tried to build the app, I ran into a new error:
/[project_path]/node_modules/react-native-vector-icons/android/src/main/java/com/oblador/vectoricons/VectorIconsPackage.java:26: error: method does not override or implement a method from a supertype
  @Override
  ^
1 error
:react-native-vector-icons:compileReleaseJavaWithJavac FAILED

FAILURE: Build failed with an exception.

I just deleted the method (it does not seem to exist on 0.47 anymore) and now it works. You should fix this problem.

I tried all the suggestions,none of them works.OMG!

Close the packager.
react-native link react-native-vector-icons
cd android/ && ./gradlew clean && cd .. && react-native run-android


fix(GlobalFooter): don't display anchors if no click handler

Overview

In a previous hackathon I added a fun easter egg to the footer on the logged in dashboard (clicking on different parts of "Made in NYC..." open p5 animation overlays. But the anchor styling is applied to all pages even though only the logged in dashboard actually passes in the click handler. This PR will render static text when there's no click handler.

PR Checklist

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

PR Links and Envs

Repository
PR Link
PR Env

Monolith
Monolith PR
Monolith Env

Portal
Portal Link
Portal Env

Another Repo
Another Link
Another Env

🚀 Styleguide deploy preview ready!https://6269a1c47b6a062acbc076c1--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.116-alpha.691623.0@codecademy/gamut-labs@31.11.5-alpha.691623.0<EMAIL_ADDRESS>
📬Published Alpha Packages:@codecademy/gamut-kit@0.6.116-alpha.7467f4.0@codecademy/gamut-labs@31.11.5-alpha.7467f4.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6269a9800c4b880057af9cc1--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.116-alpha.d03ffb.0@codecademy/gamut-labs@31.11.5-alpha.d03ffb.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6269b1909ea1a70916013c56--gamut-preview.netlify.appDeploy Logs


CI: systematic testing of SDK and examples on all supported (major) Python version

We currently support all current Python version from 3.8 to 3.11, and will probably aim to support 3.12 ASAP when it's out. Backward compatibility is pretty good on the language side but dependency management can be tricky. For example, pinning versions might fix an issue in 3.8 but break compatibility with, e.g. 3.11 because that version of the package wasn't yet compatible with 3.11.
Regardless of how we want to address that in the future, systematic testing of both the SDK and examples on all supported Python version is a prerequisite.
This issue is about:

figuring out the right tool for systematic testing (tox, nox, GH action matrix, ...)
deploying said tool on the SDK and examples vs. Python 3.8 to 3.11

Relates to:

#2439

We should run nox -s tests on nightly at least

Duplicated by #7510 (which has now more content, some I'm closing this one)


[BUG] Link to dashboard asset is wrong

Describe the bug
Any asset openned, via dashboard, has an error.
To Reproduce
Steps to reproduce the behavior:

Go to a property
Click on 'Dashboard' button
See error

Screenshots

@Sigri44 After some quick checking, it looks like the issue occurs with only some properties.
It looks like the token addresses of the properties are case-sensitive on the RealT Dashboard. On top of it, it seems the case is inconsistent, as we can see below:
For example, 0x591882dC0581A69f377dF4CaD2CeE4E9855ef34D mixes lower and uppercase.
Internally to RPM, because of the multiple sources of data and since the addresses are case-insensitive, the token addresses are lowercased. It seems it is not the case with the dashboard. This needs to be investigated to see if we can fix it easily, maybe by storing the unaltered token on top of the lowercased one.

@Sigri44 After some quick checking, it looks like the issue occurs with only some properties.
It looks like the token addresses of the properties are case-sensitive on the RealT Dashboard. On top of it, it seems the case is inconsistent, as we can see below:
For example, 0x591882dC0581A69f377dF4CaD2CeE4E9855ef34D mixes lower and uppercase.
Internally to RPM, because of the multiple sources of data and since the addresses are case-insensitive, the token addresses are lowercased. It seems it is not the case with the dashboard. This needs to be investigated to see if we can fix it easily, maybe by storing the unaltered token on top of the lowercased one.

You absolutely must ‘checksum’ the addresses (this is a Web3 standard, available in libraries such as ethers.js


[CONTP-384] Tag containers requesting gpu

What does this PR do?
Creates k8s GPU resource tags on the container level by utilizing resource spec definitions from WorkloadMeta and extracting into the Tagger.
Motivation
Users will be able to easily filter container resource usage (and other metrics) by whether they are running GPU workloads or not.
Describe how to test/QA your changes
Deploying the following dummy-app
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dummy-nginx-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: dummy-nginx-app
  template:
    metadata:
      labels:
        app: dummy-nginx-app
    spec:
      containers:
        - name: dummy-nginx-app
          image: nginx
          resources:
            requests:
              nvidia.com/gpu: "0"
            limits:
              nvidia.com/gpu: "0"

Deploy the following agent configuration
datadog:
  kubelet:
    tlsVerify: false
  clusterName: <insert_name>
agents:
  image:
    repository: <insert_repo>
    tag: <insert_tag>
    pullPolicy: Always

The expected results are for the kube_gpu_type tag showcasing nvidia for the nginx container.
kubetcl exec datadog-agent-linux-2sfxj -- agent tagger-list
=== Entity container_id://26e91b766e98543ef071d92b2afa4f2264b05978bcd03643dc3fc6852d40127b ===
== Source workloadmeta-container =
=Tags: [container_id:26e91b766e98543ef071d92b2afa4f2264b05978bcd03643dc3fc6852d40127b container_name:dummy-nginx-app docker_image:nginx:latest image_id:nginx@sha256:04ba374043ccd2fc5c593885c0eacddebabd5ca375f9323666f28dfd5a9710e3 image_name:nginx image_tag:latest kube_gpu_type:nvidia short_image:nginx]

Note: this was additionally QA'd on a GKE cluster with GPU resources such that the dummy-workloads could actually request GPU resources.

Possible Drawbacks / Trade-offs
This may increase the number of unique metrics for customers with GPU workloads, however, it is only a low cardinality increase as kube_gpu_type can only take on a few values (N/A, nvidia, amd, intel).
Additional Notes

/merge


Build failure in realm/gasnetex with GCC 4.8.5 from RHEL7

I am trying to compile the new gasnetex backend for ibv-conduit on a system running Scientific Linux 7.3 (a RHEL 7.3 clone, like CentOS).   On this system, the default compilers in /usr/bin identify as gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC).
Since this g++ defaults to C++98 I have set CXXFLAGS=-std=c++11, without which the build fails much earlier than in this report.
The failure I see compiling the circuit example is as follows (with paths abbreviated for brevity):
mpicxx -o [LEGION_SRC]/runtime/realm/gasnetex/gasnetex_internal.cc.o -c [LEGION_SRC]/runtime/realm/gasnetex/gasnetex_internal.cc  -std=c++11  -march=native -DGASNETI_BUG1389_WORKAROUND=1 -O0 -ggdb  -Wall -Wno-strict-overflow -fvisibility=hidden -fvisibility-inlines-hidden  -I[LEGION_SRC]/examples/circuit -I[LEGION_SRC]/runtime -I[LEGION_SRC]/runtime/mappers -I[GASNETEX_INST]/include -I[GASNETEX_INST]/include/ibv-conduit
In file included from [LEGION_SRC]/runtime/realm/realm_config.h:26:0,
                 from [LEGION_SRC]/runtime/realm/network.h:21,
                 from [LEGION_SRC]/runtime/realm/gasnetex/gasnetex_module.cc:18:
[LEGION_SRC]/runtime/realm/gasnetex/gasnetex_internal.h:222:30: error: requested alignment is not an integer constant
     REALM_ALIGNED_TYPE_CONST(Storage_aligned, Storage_unaligned,
                              ^
[LEGION_SRC]/runtime/realm/compiler_support.h:181:58: note: in definition of macro 'REALM_ALIGNED_TYPE_CONST'
         typedef origtype __attribute__((aligned(bytes))) newtype
                                                          ^

I have access to installs of GCC 4.9.4 and 5.1.0 on the same system, and may report on my success or failure with those if I can find time.

As of our most recent release, Legion and Realm are both requiring c++11 as a minimum version for c++. GCC 4.8's support of c++11 was really flaky, so I wouldn't be surprised if it is not propagating const expressions properly. I would be interested to see what happens with GCC 5.1. Note that even GCC 5.1 is approaching 6 years old in a few months.

As of our most recent release, Legion and Realm are both requiring c++11 as a minimum version for c++. GCC 4.8's support of c++11 was really flaky, so I wouldn't be surprised if it is not propagating const expressions properly. I would be interested to see what happens with GCC 5.1. Note that even GCC 5.1 is approaching 6 years old in a few months.

I have access to installs of GCC 4.9.4 ...

I have confirmed that builds with GCC 4.9.4, 5.1.0 and 6.4.0 are all error free.

I have access to installs of GCC 4.9.4 ...

I have confirmed that builds with GCC 4.9.4, 5.1.0 and 6.4.0 are all error free.

I think we can just write off GCC 4.8 then as not really c++11 compliant. I'm going to close the issue, but if you would like to us to try to fix it then go ahead and reopen it.

I think we can just write off GCC 4.8 then as not really c++11 compliant. I'm going to close the issue, but if you would like to us to try to fix it then go ahead and reopen it.

Reopening and assigning to me so that I can make sure we write down the supported compiler versions somewhere.

Reopening and assigning to me so that I can make sure we write down the supported compiler versions somewhere.

Mike,  I didn't actually report this in the hopes you'd work to support this old compiler.
Sean asked me to enter it to (as he has already noted) help ensure he finds the true floor and documents it.
However, thanks for the "if you would like us to try..." offer.

Mike,  I didn't actually report this in the hopes you'd work to support this old compiler.
Sean asked me to enter it to (as he has already noted) help ensure he finds the true floor and documents it.
However, thanks for the "if you would like us to try..." offer.

I have confirmed that we are lacking coverage of Realm's networking code (all of it, not just gasnetex) with g++ 4.8 in our CI tests.  I'm adding tests (in a branch) that I expect to reproduce this failure.  The good news is that a web search has turned up a possible workaround that might be easier than fixing the documentation.  :)

I have confirmed that we are lacking coverage of Realm's networking code (all of it, not just gasnetex) with g++ 4.8 in our CI tests.  I'm adding tests (in a branch) that I expect to reproduce this failure.  The good news is that a web search has turned up a possible workaround that might be easier than fixing the documentation.  :)

It's worth noting I'm pushing hard to build out Legion's use of c++11 features for both performance and code-maintainability. I've already found broken c++11 features in older versions of GCC that I've had to disable:
https://gitlab.com/StanfordLegion/legion/-/blob/master/runtime/legion/legion_utilities.h#L614-617
I would be in favor of just writing off all versions of GCC before 5, since 5 is when the c++11 support actually became solid.

It's worth noting I'm pushing hard to build out Legion's use of c++11 features for both performance and code-maintainability. I've already found broken c++11 features in older versions of GCC that I've had to disable:
https://gitlab.com/StanfordLegion/legion/-/blob/master/runtime/legion/legion_utilities.h#L614-617
I would be in favor of just writing off all versions of GCC before 5, since 5 is when the c++11 support actually became solid.

Building with g++ 4.8.5 is working again with commits 16e5bb0 and 9f2882a.  We might bump the minimum compiler version at some point, but it doesn't have to be today.

Building with g++ 4.8.5 is working again with commits 16e5bb0 and 9f2882a.  We might bump the minimum compiler version at some point, but it doesn't have to be today.

Well this is unexpected.
Since you say 4.8.5 is working once again, I'll plan to resume my CI on RHEL 7.x. once those commits have reached your stable branch.

Well this is unexpected.
Since you say 4.8.5 is working once again, I'll plan to resume my CI on RHEL 7.x. once those commits have reached your stable branch.


Analyst - List RFIs

User Story
As an Analyst
I want to see what RFIs were sent to an applicant
So that I can have a record.
Acceptance Criteria:

[ ] Scenario: display after save
Given that an analyst has filled fields on an RFI
When they press save
Then the fields will be displayed at the top of the RFI page
And the RFI will be given the title of RFI [number starting at 1]

[ ] Screening type display
Given that an applicant has selected one screening type checkbox
when they are displayed
then they will be displayed with an ampersand (&) or "and" in between
Given that an applicant has selected two screening type checkboxes
when they are displayed
then they will be displayed with an ampersand (&) or "and" in between
Given that an applicant has selected 3 or more screening type checkboxes
when they are displayed
then they will be displayed with a comma in between each element and an ampersand (&) or "and" in between the last two element
See https://github.com/chadly/humanize-react or https://www.npmjs.com/package/listify

[ ] Scenario: display & download applicant's files
Given that an RFI has been submitted
and files have been requested
When the applicant has not uploaded the requested files
Then the RFI page will state "not received" in light grey
When the applicant uploads the requested files
Then the filenames will appear

[ ] Scenario: display & download applicant's files
Given an applicants files are displayed in the RFI page
When the analyst clicks on the filename
Then the file will begin downloading onto their computer

[ ] Scenario: upload files
Given that an analyst is on the RFI page
and has saved an RFI
when they press the button "Add emails"
then a file picker will appear
and the analyst can upload multiple files

[ ] Scenario: download email files
Given that an analyst has saved an RFI
and uploaded a file
When they click on the filename
Then the file will begin downloading

[ ] Delete file
Given that an analyst is on the RFI page
and a file has been uploaded
then a red x will appear beside the filename
and when they press the x
then the filename will be removed from the screen

[ ] Edit RFI
Given that an analyst can see and existing RFI
when they click on the edit pencil beside the RFI
then they are taken to the RFI form
and they see the information for the RFI
and they can change it.

[ ] Saved confirmation
Given that an analyst has changed the due by date or uploaded a file
when they finish the action
then a Saved indicator will ease-in over 100ms beside the field
and when 3 seconds has passed
then the saved indicator will ease-out over 100ms

Colour: 3D9B50
Icon: font-awesome circle-check
Not included:

Technical Analysis

[ ] .
[ ] .
[ ] .

Wireframes
Files not received yet

Files received

Changes Saved

See research & design in #128

@elliottSlee , this card is related to the application workflow where the Analyst will change the application status (or do something else) to enable the Applicant to change the allowed information (fields).
Is # 128 related to that?

@eazeredo  yes that's what #128 is about. Analyst would initiate the request for information, the applicant would respond to it. We're still doing discovery work around it.

@zoeyli-46 when we get to adding the RFI ticket to Zenhub, let's use this card.

Hey team! Please add your planning poker estimate with Zenhub @VB-at-Bis @AntBush @marcellmueller

is this card really blocked by #757?

You're right it's not exactly blocked, but it'll be the exact same amount of work letting an Analyst download their email pdfs/files and letting an analyst download the applicant's file (from the review page for example)

Please add your planning poker estimate with Zenhub @pdoc1111

@MarsRomer-zz adding the save functionality for the email uploads in a new ticket #986 since it wasn't in the acceptance criteria here.


XMLLINT problem on Mac

XMLLINT has not been detected, disabled XMLLINT support.

it works after changed the line 87 to
cp.exec("xmllint --noout platforms/android/AndroidManifest.xml", {timeout: 3000}, _xmllintCallback);

Yep, the minute I read your error, I realized my over sight on the check that I added as a last minute item to eliminate tech support.       I've already pushed v0.0.2 which has a check for the platform and adds the hash bang to it so you can run it alone.   :grin:


Updated for Swift 2.3

No breaking code changes applied to this project for Swift 2.3, just an update to the project to set it's version.
I'm submitting this request to master, but I believe that there should be a 2.3 branch instead. What I would propose as the timeline would be:

Maintain 2.3 and 3.0 branches until Xcode 8 GM is released.
Keep the 2.3 branch long term for legacy support.
Merge 3.0 into master.
When the next version of Swift is released, create a legacy swift-3.0 branch off of master.

This way, user's of the framework can target a specific branch if they need legacy support, or master if they want the most current version.
Thoughts?

Thanks very much! I'll do a bit of work on Locksmith over the weekend and get this merged in

Merged into swift-2.3. Cheers 👍


Changing stuff in data view after viewing visualizations leads to broken project files

I'm guessing that when Palladio detects a change in the data model, it throws away the old visualizations and whips up new ones. However, the old ones still stick around and are saved when exporting the project file.
This thenleads to the wrong behavior in the importer, because in the default Palladio app configuration, only one view of each type is defined, and that view thus sees only the state of the first visualization in the stack, which is probably badly configured at this point.

Thanks - have been meaning to rework this whole workflow, but haven't gotten to it, and fixing the problem you describe here should be pretty quick. The old visualizations must not be getting properly torn down and un-registered. Will look into it!

I didn't get to this last night. I'll shoot for the weekend. My belief is that the issue is in the teardown of the views.
Each view registers save functions with Palladio. For the map view, that happens here: https://github.com/humanitiesplusdesign/palladio/blob/master/src/components/palladio-map-view/palladio-map-view.js#L1762
When the view is destroyed, those save functions are supposed to get deregistered. That happens here: https://github.com/humanitiesplusdesign/palladio/blob/master/src/components/palladio-map-view/palladio-map-view.js#L1363
I think that either the component is never really getting destroyed (just removed from the page), the $destroy event is not getting fired, or there is a bug in the deregistration code that is resulting in the save function not getting deregistered.

A silly bug in calling function.bind. Should be fixed now. I'll try to pick these 2 fixes and get a new version pushed out as mentioned in #119.

Sorry for the delay - this should now be fixed on both the master branch and the main site in 1.1.4


[wip] add unit test for pkg

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 67.91%. Comparing base (5edb9d0) to head (8e3bdbc).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #771      +/-   ##
==========================================
+ Coverage   63.00%   67.91%   +4.90%
==========================================
  Files          31       31
  Lines        3117     3117
==========================================
+ Hits         1964     2117     +153
+ Misses       1009      856     -153
  Partials      144      144

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


[BUG] Closes when run

Error Log
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connection.py", line 169, in _new_conn
conn = connection.create_connection(
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\connection.py", line 73, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\socket.py", line 953, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11004] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 382, in _make_request
self._validate_conn(conn)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 1010, in _validate_conn
conn.connect()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connection.py", line 353, in connect
conn = self._new_conn()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connection.py", line 181, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x000002418C527F40>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\adapters.py", line 439, in send
resp = conn.urlopen(
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\retry.py", line 573, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='ipapi.co', port=443): Max retries exceeded with url: /json/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002418C527F40>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Administrator\Downloads\Microsoft-Rewards-Farmer-master(1)\Microsoft-Rewards-Farmer-master\ms_rewards_farmer.py", line 724, in
LANG, GEO, TZ = getCCodeLangAndOffset()
File "C:\Users\Administrator\Downloads\Microsoft-Rewards-Farmer-master(1)\Microsoft-Rewards-Farmer-master\ms_rewards_farmer.py", line 160, in getCCodeLangAndOffset
nfo = ipapi.location()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\ipapi\ipapi.py", line 76, in location
resp = get(url, headers=headers, **options)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\adapters.py", line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='ipapi.co', port=443): Max retries exceeded with url: /json/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002418C527F40>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed'))
Screenshot of the page
There is no screenshot since it closes almost instantly, but I have run it in IDLE, that's where I got the error above, if you would like I can provide a screenshot of that.
Source code of dashboard
Copy the source code of the Microsoft Rewards Dashboard Page and paste it on Gist. Then share the link of the gist here.
Not sure how to do this step
Btw yes, all the requirements have been installed, Chrome is up to date same as the chromedriver

Are you able to access to ipapi.co/json from the same computer ?

Sorry for the late reply, no ive not been able to access ipapi.co/json

Okay so update, I was able to fix it, seems it was because I was using a different DNS server, switched back to Google DNS and it fixed it.


Protect controller endpoints with secret key

Basic security, but just so it's not deployed and public with no security.

Completed in PR #221


chore: zeebe-operator to 0.0.34

chore: Promote zeebe-operator to version 0.0.34

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Foreign Key Fix

Fix the current foreign key handling logic.
This PR shall support the following foreign key creation syntax:
create table tb (int num references t(id) match simple on delete cascade)
The actions supported will be at least CASCADE, RESTRICT and NOACTION.
The match type could be SIMPLE, FULL or PARTIAL.

Coverage increased (+0.006%) to 75.813% when pulling f94d97c1fc72a0416271f17b2328eb5c2e24f134 on vittvolt:foreign-key-final into 3f50689f545a96207407f999b135ad37045a2d1e on cmu-db:master.

Coverage decreased (-0.008%) to 75.799% when pulling 132d85b6f3356acc8472877127b07d2500202b15 on vittvolt:foreign-key-final into 3f50689f545a96207407f999b135ad37045a2d1e on cmu-db:master.

Coverage decreased (-0.005%) to 75.76% when pulling 67fbfef82a5bb47beada672a7416065509d3c43f on vittvolt:foreign-key-final into 175a1c274cfee6e77eb5ac5254b0da92edcb25ad on cmu-db:master.

@vittvolt Let me know when you want someone to review this.

Coverage decreased (-0.005%) to 75.762% when pulling 44217daf3a59a74dd0bbe0d2ef6067ad604736cd on vittvolt:foreign-key-final into 790e61e628a535572aea7b92d53400922c46db10 on cmu-db:master.

Coverage increased (+0.01%) to 75.683% when pulling b67b573057894fe0024395ecf3e96711e6b31220 on vittvolt:foreign-key-final into 0e7f6460582d0a40dc9d34f8d0d2fe7b8a6b2373 on cmu-db:master.

Coverage increased (+0.3%) to 75.964% when pulling ec9273b752066de3d7e94423ef87c5e8c9aea222 on vittvolt:foreign-key-final into 0e7f6460582d0a40dc9d34f8d0d2fe7b8a6b2373 on cmu-db:master.

Coverage increased (+0.2%) to 75.913% when pulling ddc1300ea59315463adfaf9b4f35a92ae11d5097 on vittvolt:foreign-key-final into 0e7f6460582d0a40dc9d34f8d0d2fe7b8a6b2373 on cmu-db:master.

Coverage increased (+0.2%) to 75.911% when pulling aa9d6299834cbb5c5b8ce6002585b55bc4d8df5b on vittvolt:foreign-key-final into 130a0bdf2e0204a3581deb33e72af73c1064bcb6 on cmu-db:master.

Coverage increased (+0.2%) to 75.918% when pulling aa9d6299834cbb5c5b8ce6002585b55bc4d8df5b on vittvolt:foreign-key-final into 130a0bdf2e0204a3581deb33e72af73c1064bcb6 on cmu-db:master.

@pervazea Can you take a second pass? I noticed some unnecessary UNUSED_ATTRIBUTE macros and formatting issues.

Sure.
There was also some aspects of the logging I wanted to clean up.

From: Prashanth Menon<EMAIL_ADDRESS>Sent: Friday, February 2, 2018 10:28 AM
To: cmu-db/peloton
Cc: Pervaze Akhtar; Mention
Subject: Re: [cmu-db/peloton] Foreign Key Fix (#1000)
@pervazeahttps://github.com/pervazea Can you take a second pass? I noticed some unnecessary UNUSED_ATTRIBUTE macros and formatting issues.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/cmu-db/peloton/pull/1000#issuecomment-362617508, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AhDfwDCsuWbsV7eXQ5FRJy3A7L6HdInhks5tQymcgaJpZM4RL0VO.


Add shorthand for version of options in help.json

"-v" shorthand aleady supported of cli opeion for output version
# same output
$ bower --version
$ bower -v

Usage:

    bower <command> [<args>] [<options>]
Commands:

    cache                   Manage bower cache
    help                    Display help information about Bower
    home                    Opens a package homepage into your favorite browser
    info                    Info of a particular package
    init                    Interactively create a bower.json file
    install                 Install a package locally
    link                    Symlink a package folder
    list                    List local packages - and possible updates
    login                   Authenticate with GitHub and store credentials
    lookup                  Look up a package URL by name
    prune                   Removes local extraneous packages
    register                Register a package
    search                  Search for a package by name
    update                  Update a local package
    uninstall               Remove a local package
    unregister              Remove a package from the registry
    version                 Bump a package version
Options:

    -f, --force             Makes various commands more forceful
    -j, --json              Output consumable JSON
    -l, --log-level         What level of logs to report
    -o, --offline           Do not hit the network
    -q, --quiet             Only output important information
    -s, --silent            Do not output anything, besides errors
    -V, --verbose           Makes output more verbose
    --allow-root            Allows running commands as root
    -v, --version           Output Bower version
    --no-color              Disable colors
See 'bower help <command>' for more information on a specific command.

I think
 -s, --silent            Do not output anything, besides errors
 -V, --verbose           Makes output more verbose
 -v, --version           Output Bower version
 --allow-root            Allows running commands as root
 --no-color              Disable colors

is better than
    -s, --silent            Do not output anything, besides errors
    -V, --verbose           Makes output more verbose
    --allow-root            Allows running commands as root
    -v, --version           Output Bower version
    --no-color              Disable colors

how about this.

Thanks!


Merge develop

:tada: This PR is included in version 0.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Yelp Deals

Hi, I'm not sure how the yelp deals option works. It says that it takes a boolean value. I'm using python - I entered in a value of "1" and "true" different times, expecting the api to give me a business with a yelp deal. It didn't. It keeps returning the same business. I'm not sure whats going on... Also - the result never just tells me if the business has a deal or not - the only way I figured it out was because the it said that the business wasn't claimed. Hence, deals are not possible. Someone help me!!!

@bkauyeung , what's your example request (api.yelp.com/v2/search....deals_filter=.... )?
https://api.yelp.com/v2/search/?location=San Francisco, CA&deals_filter=true
gives good results for me:
{
    "region": {
        "span": {
            "latitude_delta": 0.0,
            "longitude_delta": 0.0
        },
        "center": {
            "latitude": 37.7919608,
            "longitude": -122.3964885
        }
    },
    "total": 2067,
    "businesses": [
        {
            "is_claimed": true,
            "rating": 5.0,
            "mobile_url": "http://m.yelp.com/biz/elixiria-san-francisco?utm_campaign=yelp_api&utm_medium=api_v2_search&utm_source=sWc_ig2aihT0s-6Yf-zGIQ",
            "rating_img_url": "http://s3-media1.fl.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png",
            "review_count": 47,
            "name": "Elixiria",
            "rating_img_url_small": "http://s3-media1.fl.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png",
            "url": "http://www.yelp.com/biz/elixiria-san-francisco?utm_campaign=yelp_api&utm_medium=api_v2_search&utm_source=sWc_ig2aihT0s-6Yf-zGIQ",
            "categories": [
                [
                    "Juice Bars & Smoothies",
                    "juicebars"
                ],
                [
                    "Gluten-Free",
                    "gluten_free"
                ],
                [
                    "Vegan",
                    "vegan"
                ]
            ],
            "menu_date_updated":<PHONE_NUMBER>,
            "deals": [
                {
                    "is_popular": true,
                    "what_you_get": "You get a voucher redeemable for $30 at Elixiria.\nPrint out your voucher, or redeem on your phone with the Yelp app.",
                    "time_start":<PHONE_NUMBER>,
                    "title": "$25 for $30",
                    "url": "http://www.yelp.com/deals/elixiria-san-francisco-3?utm_campaign=yelp_api&utm_medium=api_v2_search&utm_source=sWc_ig2aihT0s-6Yf-zGIQ",
                    "additional_restrictions": "Promotion lasts for 1 year from date of purchase. After that period, your voucher is redeemable for the amount you paid, less any value you may have received. Not valid with other vouchers, certificates, or offers. Only 1 voucher(s) can be purchased and redeemed per person. Up to 1 can be purchased as gifts for others. Subject to the General Terms.",
                    "options": [
                        {
                            "original_price": 3000,
                            "title": "$25 for $30",
                            "price": 2500,
                            "purchase_url": "https://www.yelp.com/checkout/deal/9U-Ov0aKp2WNbTpO29Eolw?utm_campaign=yelp_api&utm_medium=api_v2_search&utm_source=sWc_ig2aihT0s-6Yf-zGIQ",
                            "remaining_count": 19,
                            "formatted_original_price": "$30",
                            "formatted_price": "$25",
                            "is_quantity_limited": true
                        }
                    ],
                    "important_restrictions": "Limit 1 voucher(s) per table.",
                    "image_url": "http://s3-media1.fl.yelpcdn.com/dphoto/QgZP3XYkpZKXZex21UsZdA/m.jpg",
                    "id": "gCVnQjTG1GNF6r4wRx4jDg",
                    "currency_code": "USD"
                }
            ],
            "phone": "6284443149",
            "snippet_text": "I still give 5 stars for Elixiria.  After coming here many times after work, I've noticed this juice bar have some locally raised meat and veggie lunch...",
            "image_url": "http://s3-media4.fl.yelpcdn.com/bphoto/Vs1cl8ZO9WM9JqmcrHXXaQ/ms.jpg",
            "snippet_image_url": "http://s3-media3.fl.yelpcdn.com/photo/P_53JYc6-sJTFqyMDWTU3Q/ms.jpg",
            "display_phone": "+1-628-444-3149",
            "rating_img_url_large": "http://s3-media3.fl.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png",
            "menu_provider": "eat24",
            "id": "elixiria-san-francisco",
            "is_closed": false,
            "location": {
                "cross_streets": "Davis St & Market St",
                "city": "San Francisco",
                "display_address": [
                    "25 Beale St",
                    "Unit 2",
                    "Financial District",
                    "San Francisco, CA 94105"
                ],
                "geo_accuracy": 8.0,
                "neighborhoods": [
                    "Financial District",
                    "SoMa"
                ],
                "postal_code": "94105",
                "country_code": "US",
                "address": [
                    "25 Beale St",
                    "Unit 2"
                ],
                "coordinate": {
                    "latitude": 37.792199626565,
                    "longitude": -122.39696636796
                },
                "state_code": "CA"
            }
        }
    ]
...

https://www.yelp.com/developers/api_console can help demo some of the parameters.

That makes sense to me when I put it into the api console, but for some reason - my code is not running even when i set the deals_filter = true!
When I run it through the python console (after altering the sample code to include deals_filter and offset, etc), it doesnt give me what the api console shoots out!

@bkauyeung could you give us a sample of what you are running (without your credentials) ? Might help us debug this better.

How do I attach a py file? Its not letting me do it here

`API_HOST = 'api.yelp.com'
DEFAULT_TERM = ''
DEFAULT_LOCATION = 'San Francisco, CA'
DEFAULT_OFFSET = 0
DEFAULT_SORT = 2
DEFAULT_CATEGORY_FILTER = ''
DEFAULT_DEALS_FILTER = 1
SEARCH_LIMIT = 1
SEARCH_PATH = '/v2/search/'
BUSINESS_PATH = '/v2/business/'
OAuth credential placeholders that must be filled in by users.
CONSUMER_KEY = ""
CONSUMER_SECRET = ""
TOKEN = ""
TOKEN_SECRET = ""
def request(host, path, url_params=None):
"""Prepares OAuth authentication and sends the request to the API.
Args:
    host (str): The domain host of the API.
    path (str): The path of the API after the domain.
    url_params (dict): An optional set of query parameters in the request.

Returns:
    dict: The JSON response from the request.

Raises:
    urllib2.HTTPError: An error occurs from the HTTP request.
"""
url_params = url_params or {}
url = 'https://{0}{1}?'.format(host, urllib.quote(path.encode('utf8')))

consumer = oauth2.Consumer(CONSUMER_KEY, CONSUMER_SECRET)
oauth_request = oauth2.Request(
    method="GET", url=url, parameters=url_params)

oauth_request.update(
    {
        'oauth_nonce': oauth2.generate_nonce(),
        'oauth_timestamp': oauth2.generate_timestamp(),
        'oauth_token': TOKEN,
        'oauth_consumer_key': CONSUMER_KEY
    }
)
token = oauth2.Token(TOKEN, TOKEN_SECRET)
oauth_request.sign_request(
    oauth2.SignatureMethod_HMAC_SHA1(), consumer, token)
signed_url = oauth_request.to_url()

print u'Querying {0} ...'.format(url)

conn = urllib2.urlopen(signed_url, None)
try:
    response = json.loads(conn.read())
finally:
    conn.close()

return response

def search(term, location, offset, sort, category_filter, deals):
"""Query the Search API by a search term and location.
Args:
    term (str): The search term passed to the API.
    location (str): The search location passed to the API.

Returns:
    dict: The JSON response from the request.
"""

url_params = {
    'term': term.replace(' ', '+'),
    'location': location.replace(' ', '+'),
    'offset': offset,
    'sort': sort,
    'category_filter': category_filter,
    'deals': deals,
    'limit': SEARCH_LIMIT
}
"""
print url_params
"""
return request(API_HOST, SEARCH_PATH, url_params=url_params)

def get_business(business_id):
"""Query the Business API by a business ID.
Args:
    business_id (str): The ID of the business to query.

Returns:
    dict: The JSON response from the request.
"""
business_path = BUSINESS_PATH + business_id

return request(API_HOST, business_path)

def query_api(term, location, offset, sort, category_filter, deals):
"""Queries the API by the input values from the user.
Args:
    term (str): The search term to query.
    location (str): The location of the business to query.
"""
response = search(term, location, offset, sort, category_filter, deals)

businesses = response.get('businesses')

if not businesses:
    print u'No businesses for {0} in {1} found.'.format(term, location)
    return

business_id = businesses[0]['id']

for business in businesses:
    response = get_business(business['id'])
    pprint.pprint(response)

"""
old version below.
for business in businesses:
response = get_business(business['id'])
pprint.pprint(response, indent=2)
"""
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-q', '--term', dest='term', default=DEFAULT_TERM,
                    type=str, help='Search term (default: %(default)s)')
parser.add_argument('-l', '--location', dest='location',
                    default=DEFAULT_LOCATION, type=str,
                    help='Search location (default: %(default)s)')

input_values = parser.parse_args()

try:
    query_api(input_values.term, input_values.location, DEFAULT_OFFSET, DEFAULT_SORT, DEFAULT_CATEGORY_FILTER, DEFAULT_DEALS_FILTER)
except urllib2.HTTPError as error:
    sys.exit(
        'Encountered HTTP error {0}. Abort program.'.format(error.code))

if name == 'main':
main()
`

@bkauyeung this looks like the code sample, I meant more what exactly you are requesting.

Furthermore, if you are working in python, are you aware of the yelp python package? Below is an example of how you can get what you want, although I don't condone my use of __dict__, I only used it for illustration purposes.
In [15]: params = { 'deals_filter':True}

In [16]: results = client.search('San Francisco', **params)

In [17]: results.businesses[0].deals[0].__dict__
Out[17]:
{'additional_restrictions': u'Promotion lasts for 1 year from date of purchase. After that period, your voucher is redeemable for the amount you paid, less any value you may have received. Not valid with other vouchers, certificates, or offers. Only 1 voucher(s) can be purchased and redeemed per person. Up to 1 can be purchased as gifts for others. Subject to the General Terms.',
 'currency_code': u'USD',
 'id': u'gCVnQjTG1GNF6r4wRx4jDg',
 'image_url': u'http://s3-media1.fl.yelpcdn.com/dphoto/QgZP3XYkpZKXZex21UsZdA/m.jpg',
 'important_restriction': None,
 'is_popular': True,
 'options': [<yelp.obj.deal_option.DealOption at 0x104d4f490>],
 'time_end': None,
 'time_start':<PHONE_NUMBER>,
 'title': u'$25 for $30',
 'url': u'http://www.yelp.com/deals/elixiria-san-francisco-3?utm_campaign=yelp_api&utm_medium=api_v2_search&utm_source=7BNvFpVhslu92PlONvXMFQ',
 'what_you_get': u'You get a voucher redeemable for $30 at Elixiria.\nPrint out your voucher, or redeem on your phone with the Yelp app.'}

I will look at this again. Im a beginner at this stuff, so I will take a bit of time looking at this! Thhanks for your help!!

No problem! I'm going to close this issue, feel free to post more questions.


What is the sort used in the "Contributed to" org list?

On https://ghuser.io/philderbeast I see the contributions list and agree with the sort order. What is the sort used in the "Contributed to" org list? It doesn't seem to parallel the contributions list.

TL;DR it's kind of random
Details: when your profile gets created, all the repos you have contributed to are appended to a list from the newest contribution to the oldest and the "Contributed to" org list is produced by iterating on this list, so it's as well kind of from the newest to the oldest. But then every day your profile gets refreshed and new contributions get appended to this list, so it ends up looking like "D C B A E F G" (where A is the oldest and G the newest). No effort has been made so far to sort this list in a meaningful way, so it's not random, but as good as random.

Early days yet. Thanks for creating this.


[OETHb] Deploy 019 - Enable Async Withdrawals

Deployment

Contract
Address

OETHBaseVaultCore
0xFCd2C974c2D627F1FADC545eda4A60a337Ab45f9

OETHBaseVaultAdmin
0xf9547Cb922f1BC8c54aadB88795bBB439278BF78

Governance

Upgrade VaultCore
Upgrade VaultAdmin
Set async withdrawal delay to 1d

Generated JSON files

1730100488204-scheduleBatch-gov-tx.json
1730100488207-executeBatch-gov-tx.json

Deploy checklist
Two reviewers complete the following checklist:
- [ ] All deployed contracts are listed in the deploy PR's description
- [ ] Deployed contract's verified code (and all dependencies) match the code in master
- [ ] Contract constructors have correct arguments
- [ ] The transactions that interacted with the newly deployed contract match the deploy script.
- [ ] Governance proposal matches the deploy script
- [ ] Smoke tests pass after fork test execution of the governance proposal (Expected to fail until the governance action is executed on the timelock)

I've verified the deployment

[x] All deployed contracts are listed in the deploy PR's description

[x] OETHBaseVaultCore
[x]  OETHBaseVaultAdmin

[ ] Deployed contract's verified code (and all dependencies) match the code in master

[x] OETHBaseVaultCore
[x]  OETHBaseVaultAdmin

[x] Contract constructors have correct arguments

[x] OETHBaseVaultCore
[x]  OETHBaseVaultAdmin

[x] The transactions that interacted with the newly deployed contract match the deploy script.
[x] Governance proposal matches the deploy script

[x] #30 on Base 5/8

[x] Smoke tests pass after fork test execution of the governance proposal (Expected to fail until the governance action is executed on the timelock)

sol2uml diff 0xFCd2C974c2D627F1FADC545eda4A60a337Ab45f9 .,node_modules -n base
Compared the "OETHBaseVaultCore" contract with address 0xFCd2C974c2D627F1FADC545eda4A60a337Ab45f9 on base
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/token/ERC20/IERC20.sol
match   @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match   @openzeppelin/contracts/utils/Address.sol
match   @openzeppelin/contracts/utils/math/SafeCast.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IDripper.sol
match   contracts/interfaces/IGetExchangeRateToken.sol
match   contracts/interfaces/IOracle.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/InitializableERC20Detailed.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/OETHBaseVaultCore.sol
match   contracts/vault/OETHVaultCore.sol
match   contracts/vault/VaultCore.sol
match   contracts/vault/VaultInitializer.sol
match   contracts/vault/VaultStorage.sol

sol2uml diff 0xf9547Cb922f1BC8c54aadB88795bBB439278BF78 .,node_modules -n base
Compared the "OETHBaseVaultAdmin" contract with address 0xf9547Cb922f1BC8c54aadB88795bBB439278BF78 on base
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/token/ERC20/IERC20.sol
match   @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match   @openzeppelin/contracts/utils/Address.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IOracle.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/interfaces/ISwapper.sol
match   contracts/interfaces/IVault.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/InitializableERC20Detailed.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/OETHBaseVaultAdmin.sol
match   contracts/vault/VaultAdmin.sol
match   contracts/vault/VaultStorage.sol

checking that:

[x] All deployed contracts are listed in the deploy PR's description
[x] Deployed contract's verified code (and all dependencies) match the code in master
[x] Contract constructors have correct arguments
[x] The transactions that interacted with the newly deployed contract match the deploy script.
[x] Governance proposal matches the deploy script
[x] Smoke tests pass after fork test execution of the governance proposal (Expected to fail until the governance action is executed on the timelock)

the tests on base are failing, but those have already been fixed on master and will be green once this gets merged

✅ Diff of Vault Core
npx sol2uml diff 0xFCd2C974c2D627F1FADC545eda4A60a337Ab45f9 .,node_modules -n base
Compared the "OETHBaseVaultCore" contract with address 0xFCd2C974c2D627F1FADC545eda4A60a337Ab45f9 on base
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/token/ERC20/IERC20.sol
match   @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match   @openzeppelin/contracts/utils/Address.sol
match   @openzeppelin/contracts/utils/math/SafeCast.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IDripper.sol
match   contracts/interfaces/IGetExchangeRateToken.sol
match   contracts/interfaces/IOracle.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/InitializableERC20Detailed.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/OETHBaseVaultCore.sol
match   contracts/vault/OETHVaultCore.sol
match   contracts/vault/VaultCore.sol
match   contracts/vault/VaultInitializer.sol
match   contracts/vault/VaultStorage.sol

✅ diff of VaultAdmin
npx sol2uml diff 0xf9547Cb922f1BC8c54aadB88795bBB439278BF78 .,node_modules -n base
Compared the "OETHBaseVaultAdmin" contract with address 0xf9547Cb922f1BC8c54aadB88795bBB439278BF78 on base
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/token/ERC20/IERC20.sol
match   @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match   @openzeppelin/contracts/utils/Address.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IOracle.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/interfaces/ISwapper.sol
match   contracts/interfaces/IVault.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/InitializableERC20Detailed.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/OETHBaseVaultAdmin.sol
match   contracts/vault/VaultAdmin.sol
match   contracts/vault/VaultStorage.sol


CSRF error is not displayed as error text

I use flask-admin with CSRF protection enabled.
To test the function, I click "Create", fill in the inputs. Before press "Save", I use web inspector and modify token value of the hidden input (id="csrf_token")
As expected, the creation is blocked as token not matched, but no error message is shown.

It seems the issue is caused by there is an else flow on self.validate_form on delete_view, but not in create_view and edit_view.

I think that is because create and edit has a form to show individual validation and on delete you only need return to index with the flash messages, so the behaviour of errors are different.


Added link to JustUiKit

Project URL

https://github.com/lfkdsk/JustUiKit
Description

iOS UI Kit With Android-Style. JustUiKit contains JustLinearLayout, JustFrameLayout, JustRelativeLayout and so on. It is designed to make Android developers build iOS UI easily. It also provides iOS developers a new way to build UI.
Why it should be included to awesome-ios (optional)
iOS developers are more familiar with story boards to build UI. JustUiKit provides a new way to build
UI with Android-Style Tools(like LinearLayout/FrameLayout/RelativeLayout).
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 or later
[x] Supports Swift 3
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Error

:no_entry_sign:
Found 3 link issues

Link issues by awesome_bot

Line
Status
Link

1042
301
https://tapglue.github.io/ redirects tohttp://www.tapglue.com/

2163
301
https://github.com/AliSoftware/SwiftGen redirects tohttps://github.com/SwiftGen/SwiftGen

2215
301
https://github.com/s4cha/AssetChecker redirects tohttps://github.com/freshOS/AssetChecker

  Generated by :no_entry_sign: Danger

Fix issues!

@lfarah Robot think my library's language is Ruby. After fix issues in second commit, robot checks me pull too many changes. :joy:

@lfkdsk close this PR, and submit new one.


What did actually change?

How did the hitboxes change? I can't find any concrete info about it. I can see that maybe the hitbox got larger with the new version.

Dot hitboxes increased from 0.8x0.5m in x,y dimensions to 0.8x0.8m.
This is a significant 60% increase in vertical hitbox size.


rework to live without MainViewController+MusicControls.h

Should make plugin compatible with ionic capacitor.  Needs conflicts resolved and thorough testing with both cordova and capacitor.

This PR needs revision cause of conficts

these changes for capacitor compatibility have been merged


Getting all socket connections

I have socket.io v2.3 and I'm trying to get all connected sockets from a different file. Here's my setup:
    const io = require('socket.io');
    const redisAdapter = require('socket.io-redis');

    const socketServer = {
    	_initialized: false,
    	_IO: null,
    	_privateMsgIO: null,
    	get IO() {
    		if (!socketServer._initialized) throw new Error('socketServer.create not called!');
    		return socketServer._IO;
    	},
    	get privateMsgIO() {
    		if (!socketServer._initialized) throw new Error('socketServer.create not called!');
    		return socketServer._privateMsgIO;
    	},
    	create: (server) => {
    		socketServer._IO = io(server, { cors: { origin: '*' } });
    		const redisConnection = redisAdapter({ host: redisHost, port: redisPort });
    		socketServer._IO.adapter(redisConnection);

    		socketServer._IO.on('connection', (socket) => {
    			console.log('a user connected');
    		});
    		socketServer._IO.on('disconnect', (socket) => {
    			console.log('disconnected');
    		});

    		socketServer._privateMsgIO = socketServer._IO.of('/private-msg');

    		socketServer._privateMsgIO.on('connection', function (socket) {
    			console.log('someone connected');
    		});

    		socketServer._initialized = true;
    	},
    };

    module.exports = socketServer;

Then in another file I'm accessing the sockets like this:
    const socketServer = require('../socket/socket');
    console.log(socketServer.privateMsgIO.sockets);

And it prints out objects with the following keys:

'/private-msg#Zpw1mJ7SOF_vo4QMAAAD': Socket {
nsp: Namespace {...

Doesn't seem like the correct way to go about it. I tried all different things (using adapter,  not using it, etc) and I can't get it to work correctly

For future readers: please check https://socket.io/docs/v4/server-instance/#Utility-methods


jmnietsch-edit-nfr - Time to pull

This is not yet the full feature of editing and saving and restoring an nfa.
What is already there:

saving to DB
Displaying the locally changed version
Tons of renaming
Tons of refactoring
Tons of fixes
Tons of fun

What is missing

fetching customNfa from DB, for given projectId and (original) nfaId

Please follow these Steps, to rebuild after pulling:

run maven build

run DB script

restart server / module

in eclipse, rightclick the project in Project-Explorer and refresh after checking out.

in WebStorm nothing that I know of.

What essential changes should we see?
Unfortunately it does not store nfa in catalog

After i changed nfa in project and save that. This nfa is unavailable

Thx. I will have a look at it and get back to you.

saving NFAs should work again.
Btw: I appreciate the input. Don't spent to much time on it just yet. I'll try to have it done asap. which is probably not today.

Saving the Project now works again. Sorry for that mess.
Only thing that throws an Error now, is exporting. The XML File is generated and send back without problems, but there is a parser Error in the Browser.
@maielgendy if you would have a quick look at it, that would be great. Maybe it is something you have had before. If not.... I will probably have to figure it out myself.

I fixed the xml generation issue , but i need to know if the structure of db is final or not  because now the xml does not display the nfrs so i have to adapt it to the latest structure   then it can retrieve the nfrs again.

i will add one column for related Project to the custom_nfa table. (which should in my oppinion not affect you)
But besides that I am not aware of any changes I need of the DB.
Thx so much!
If I see it correctly, everything in my version is working the same way, the "original" / current trunk is.
So i would ask someone to approve the branch please.
If anything gets broken because I am not allowed to merge til Tuesday, i'm going to be mad.
Better break it now and we fix it tuesday instead of wednesday morning.

NFA stored in database, but no description in NFA Catalog. Only name

in Project in NFA Auswählen my new NFA have descriprion from previous one

confirmed and confirmed. Will take care of it till tomorrow morning.

Interesting thing, first time it showes nothing in catalog, i tried some stuff in project, after that i returned to catalog and now new nfa has same description as previous(as was before in project-> NFA Auswählen)

Catalog and Project both show all Catalog Stuff (including new NFAs) as intended now.
Also edited values are stored and restored after saving them and reopening at any time.

Also I added more server queries for data. Previously we were really lazy and used the stored values far to often. So we potentially missed new Values in the DB.
As always: execute the DB script, rebuild the Backend and restart it.

What should work now:

Everything that worked before. If still not: Tell me!
In Project Mode an "edit" Button is offered for NFAs
In Project Mode, if a previously edited version of an NFA exist, show that. (only partly atm, as proof of concept)
In Catalog mode: Display only the Original / Catalog version.

Side notes:

Navigation between nfas works again.
back to project button in Catalog removed.
Navigation Tree in Project NFAs won't bring you accidentally to the Catalog.

Sorry, forgot about new project. Unfortunatelly it does not work. in new project it is not possible to assign nfa. Nav tree can not be opened. all errors you can see


CI/CD duration time has increased from 15 min to 30 min because of admin js test cases

We should find a way to run admin test cases parallel ( as they don't have any DB call or something it would not make a problem to make them parallel) to decrease CI/CD time. we have about 1.5 k test cases for admin permissions to cover all roles and permissions)
@jainkrati  can you specify priority for this issue?

Hey @CarlosQ96, here is what I mentioned on the call, I noticed this beforeEach  is running in root block which adding more time while running all the test cases since it's running before every test case https://github.com/Giveth/impact-graph/blob/e821acb7b0dbdbb5056d652584e79ca5ed29b127/src/repositories/previousRoundRankRepository.test.ts#L47-L54

Hey @CarlosQ96, here is what I mentioned on the call, I noticed this beforeEach is running in root block which adding more time while running all the test cases since it's running before every test case
https://github.com/Giveth/impact-graph/blob/e821acb7b0dbdbb5056d652584e79ca5ed29b127/src/repositories/previousRoundRankRepository.test.ts#L47-L54

Thanks @Meriem-BM , we should test it, because I know we need these stuff for some test cases and removing them would cause failing some test cases and also it's not related to the admin js test cases time, we can following up this in another issue

Thanks @Meriem-BM , Please let me know when you started and had a draft PR

@Meriem-BM pls work on this with guidance from @mohammadranjbarz

@mohammadranjbarz, what I did here is modify the global beforeEach to exclude the permissions test case. This is done by preventing the code inside beforeEach from executing when the test case title matches the permissions test cases.

@mohammadranjbarz, what I did here is modify the global beforeEach to exclude the permissions test case. This is done by preventing the code inside beforeEach from executing when the test case title matches the permissions test cases.

What a creative solution, well done

If it doesn't need to test from QA side please move it to  the column related to its status @mohammadranjbarz

@maryjaf  I approve that it's working, and as it's on the production I move this to Done
JFYI @jainkrati


Expandable advanced section

Is your feature request related to a problem? Please describe.
Some docs have, or will have, advanced sections on the page, and as a result can cause the page to feel quite bloated.
Describe the solution you'd like
Having the option to include an expandable advanced section at the bottom of pages would allow information of higher detail to be presented without overloading newer users and preserving work flow through pages.

Do we still have a requirement for this @CameronMcWilliam?

Don't see a need for this atm.


Questions about round2.

Thanks for arranging the competition! I have learned a lot from adopting the RL algorithms into this challenge. Here are some questions about the round2:

When is the exact deadline for round2. This page says 27th is the last day, but the tag at the upper bar shows that there are only 9 days left.

Could you give more details about the track2(machine learning track)?  Where is the entrance for submitting the paper? Will there be a rebuttal session for this track like the submission to a conference?

@Geogre19 Thanks for the not. The due is Oct 27th, and the webpage is updated accordingly. We will send out the details shortly.


Fix/30654: Only allow admins to manually edit distance request amount and currency

Details

This PR will only allow admin to manual edit the amount in distance request

Fixed Issues

$ https://github.com/Expensify/App/issues/30654
PROPOSAL: https://github.com/Expensify/App/issues/30654#issuecomment-1787959880
Tests

Test 1:

Make a new distance request (Admin role).
Go to the request.
Change the currency and amount in the amount.
The currency and amount should be changed

Test 2:

Make a new distance request (Not Admin role).
Go to the request.
Try to change the currency and amount in the amount.
The currency and amount should not be changed

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

Offline tests

QA Steps

Test 1:

Make a new distance request (Admin role).
Go to the request.
Change the currency and amount in the amount.
The currency and amount should be changed

Test 2:

Make a new distance request (Not Admin role).
Go to the request.
Try to change the currency and amount in the amount.
The currency and amount should not be changed

[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: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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 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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[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.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

Screencast from 02-01-2024 18:13:38.webm

iOS: Native

iOS: mWeb Safari

Screencast from 02-01-2024 18:13:38.webm

MacOS: Chrome / Safari

Screencast from 02-01-2024 18:12:06.webm

MacOS: Desktop

@alitoshmatov I have a problem with my devices so a few screenshots were not added. Will update it ASAP while you reviewing the PR. Thanks

Reviewer Checklist

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

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

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

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that 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] 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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[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] 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(theme.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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[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 reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/59907218/41464f19-3aca-4560-9c33-6acf5dbad883

Android: mWeb Chrome
https://github.com/Expensify/App/assets/59907218/db61f0e8-1686-4f86-b5d7-5bc10d1ac94d

iOS: Native
https://github.com/Expensify/App/assets/59907218/9773248b-a395-41df-80db-d52daed33745

iOS: mWeb Safari
https://github.com/Expensify/App/assets/59907218/73ebbe0a-6dfe-48a7-985e-c2cec2d06fac

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/59907218/13503fa9-07b9-47d7-b21d-22f9b4eeb04f

MacOS: Desktop

https://github.com/Expensify/App/assets/59907218/32d10045-9066-4a87-a214-cf315c0bf07c

Tests well!

: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/Gonals in version: 1.4.22-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
cancelled 🔪

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/Gonals in version: 1.4.22-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.4.22-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Play button opened Project Manager

Godot version
4.0.dev (56e847ef653ce2b818b9f2095452b6c0c0c44d54)
System information
Windows 10
Issue description
I pressed the editor's play button and instead of the game, it opened the Project Manager.
This happened only once, and I could not reproduce anymore, so it might be a rare race condition of some kind.
Nothing particular was logged (besides the usual "Project is missing" warnings when loading Project Manager). Launch parameters of the process were fine: D:\Sources\godot\bin\godot.windows.opt.tools.x86_64.exe --path D:/Projects/Godot/testtest --remote-debug tcp://<IP_ADDRESS>:6007 --editor-pid 6980 --position "640,360" res://scenes/game.tscn
The editor's play button turned into the "restart" button and stayed this way until I manually closed the spawned Project Manager window.
Steps to reproduce
No idea sadly.
Minimal reproduction project
No response

This is likely because invalid command line arguments were passed to the Godot executable when running the project from the editor.

This usually happens because the project.godot file is locked by Windows and can't be read by Godot.


v0.3: Large-scale refactor. (squashed)

See: #277
feat(locks.api) Implementation of locks.api that offers mutex symantics
feat(packetRouter) PacketRouter.mixin adds class-level route declaration that is subclassing friendly
feat(apiBase): add the ApiBase with all common operations
Work-in-progress on names.api
BROKEN/Work-in-progress: reorged names api & make packet router accept an array of actions
WIP: refactored APIBase and PacketRouter so that it does not automatically create the default routes that have to be overridden
WIP packets without action or resource will go to the default handler with a different reason, added more documentation to the packetRouter
feature(api) refactored names api unit tests working
cleanup: removed the legacy localStorageLink
fixed the log statement that seems to crash firefox with the debugger open
WIP fixed clientIntegration tests with namesAPi and apibase
fix(tests) moved a lot of test code around for sanity
refactor: apibase handles failover of one api to another
doc: added yuidoc code to ApiBase
fix(namesApi) receive disconnect messages and purge the addresses
feature(data.api): implemented data.api fetching from the server and persisting values back
refactor: create skeleton of new intents implementation.
doc(apiSync) Added notes on future api synchronization feature to the text file
refactor: feedback from review.
fix(build) debugger will build with latest deps from a clean state
refactor cleared up the two different forms of serialization in the api nodes, added DataNode
fix(intents) added data node and made the intents api pass jshint and not throw an exception during registration
fix(dataApi) refactored the loading of endpoints into the apiBase and made it follow the _links properly
refactor: move state machine for inflight intent.
refactor: cleanups and additional intents api functions.
fix added a utility to manage event handlers and removed some console logging that together seem to make FF 31 crash when the dev tools or firebug is open
refactor(dataApi) added tests for loading from the server
refactor: initial swag at intent invocation.
refactor: initial plumbing of intents, needs further work
refactor: initial work on the system api.
might need further work to constrain what routes are allowed for the system api and may wish to override certain of the node types, load from server.  using the defaults for now.
chore(doc): Added documentation where needed.
chore(grunt): ignored old api unit tests, remove when they are deleted.
refactor: reset intentsnode to earlier baseline.
refactor: add system api back to defaultwiring.
chore(docs): Relabeled service components documentation modules.
fix(integration-tests): Data.api client-integration tests updated.
refactor: add routes to system api.
refactor: some spec changes and routes for system api.
refactor: fill out more routes for system api
refactor: add unit tests for system api
feat(apiPromise): debugger/intent chooser use clientParticipant.
refactor: add system handler for intent invocation
Added URITemplate utility
feat(uriTemplate) added uri template accessor to the endpoints class
feature(persistence) use uriTemplates to persist new keys
refactor(system.api) fixed the system api
fix(api loading) APIs will now fully load even if there are errors loading data from the backend-- all contents now showin in debugger!
fix(system api) cleaning up some tests and loading
system api tests work with everything but the intent invocation
feature(inFlightIntentsNode)
feature(intents) WIP: modified the intents workflow and started putting in tests, saving progress to switch tasks
feature(intents) intents workflow tests and fixes
fix various bugs after merging
feature(ApiNode): resource fallback added.
feature(data):add/removeChild added as temporary implementations.
feature(ApiBase): header support added to endpoint loading.
feature(ApiBase): deleted nodes ignored from list. Set actions set 'deleted' to false.
feature(Data): removeChild deletion fixed.
feature(ClientParticipant): participant connectPromise now resolves.
feature(persistance): Set default persistance to false.
feature(debugger): fixed elections tab for refactor.
feature(intents): intent registration callbacks updated to new client promise structure.
feature(intents chooser): now opens as a popup not a tab.
feature(endpoints): added empty headers arrays for endpoints. Unit tests passing.
feature(intent chooser): set a namespace variable for the intent chooser opening features.
feature(intent chooser): Styled.
feature(intents): Inflight intents now reach complete state.
feature(participant): Fixed client/clientParticipant connection flow for gathering inflight launch parameters in connect promise.
feat(intents): added scaffolding for on addressDisconnects. Fixed clientParticipant .multicast handling.
feat(lifespan): added lifespan for node persistance. lowered ajaxpersistencequeue pool to 1 for backend limitations. fixed data api children.fixed event arguments.
feat(apiBase): added shutdown on beforeunload. need to investigate locks.api retaining its queue on state passing.
feat(state): fixed state passing. locks is now 'all update but only leader responds'. Services drop nonleader packets (moved up a level). WIP fix unit tests.
feat(testing): Jasmine tests cleaned up and passing.
chore(testing): jshint
feat(karma): Changed configs to handle random Karma disconnects mid test.
feat(apiPromise): fixed permission error on inflight intent.
chore(*): cleaned out *.old files.
chore(travis): dropped node v10 from testing. Unstabe for karma.
feat(intents): Added error resonse & catching for already handled inflight intents.
feature(intents): Bus participants should not try and handle inflight intents. Mark internal to skip the gather.
feat(apiBase): Dead watchers are now removed from all apiBases.
feat(apiPromise): Fallback added to prevent malformed promise responses(reused msgId's) from reaching callback responses.
feat(client-integration): Updated tests.
feat(apiCollectionNode):WIP
feat(apiNode): collection behavior functioning. Intent regisitrations implemented with collection behavior.
feat(intents): dynamic handler choices working. WIP: need to clean up handler logic. Need to cancel intent chooser on bound widget closing.
WIP: squash, system.api uses register intents. Write tests.
feat(intents): Fixed registration declaration filter mismatch.
chore(jshint): missing semicolon on test.
feat(intents): Fixed intent responses.
feat(Intents): added broadcast support.
chore(*): Documentation & Syntax cleanup.
feat(testing): Temporarily reverted travis to only unit tests while investigating timeouts on integration tests.
feat(data): now uses collections instead of children.
chore(*): Restructured services into api & node for build simplicity.
feat(debugger): Fixed overflow. Removed Children from api tabs.
feat(util): Moved ajaxPersistenceQueue into bus utils.

Updated collection logic was added to squash but not api-featureBase.
Legacy adapter will need updating to use v0.3 IWC.
Angular wraper will need run its build scripts and rechecked in for version 0.3


Make sure _handleAppFrame is only registered once per frame

Description
There were 2 possible scenarios in which _handleAppFrame is added more than once as a frame callback. When this happens it is possible that the second invocation will try to access _nextFrame.image when _nextFrame is null and crash. The 2 scenarios are:
Scenario 1

A GIF frame is decoded and a Flutter frame is executed before it's time to show the next GIF frame.
The timer that's waiting for enough time to elapse is invoked, and schedules a callback for the next Flutter frame(here).
Before the next Flutter frame is executed, MultiFrameImageStreamCompleter#removeListener is called followed by ``MultiFrameImageStreamCompleter#addListenerthat is invoking_decodeNextFrameAndSchedulewhich is adding_handleAppFrame` again as a next frame callback.

Scenario 2
removeListener and addListener are called multiple times in succession, every call to addListener can result in another registration of _handleAppFrame to the next Flutter frame callbacks list.
This patch fixes the issue by guarding against a second registration of _handleAppFrame.
Related Issues
fixes #30340
Tests
I added the following tests:

A test that follows scenario 2 above.
[temporarily disabled] A test that follows scenario 1 above.

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

cc @xster

I'm probably missing what you see, can you please describe the sequence of
events that leads to multiple timer registration?
On Mon, Apr 1, 2019 at 8:16 PM Dan Field<EMAIL_ADDRESS>wrote:

@dnfield commented on this pull request.
In packages/flutter/lib/src/painting/image_stream.dart
https://github.com/flutter/flutter/pull/30346#discussion_r271120907:

@@ -557,7 +562,7 @@ class MultiFrameImageStreamCompleter extends ImageStreamCompleter {
}
final Duration delay = _frameDuration - (timestamp - _shownTimestamp);
_timer = Timer(delay * timeDilation, () {

I may be misreading something here, but it looks like this timer can get
created multiple times without getting cancelled, which could be leading to
multiple registration.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/pull/30346#discussion_r271120907, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA-gdc5E-w_0WkODYIKtK1DMUP7sE-jTks5vcst8gaJpZM4cW14o
.


docs: Add doxygen to the doc site builder container

Signed-off-by: Garret Kelly<EMAIL_ADDRESS>

Superseded by https://github.com/lowRISC/opentitan/pull/1571/files#diff-973a4bdbc25cd5cab99688c409f21835.


Provide more info to task-scheduler so it can generate more accurate package-task graphs

Currently lage only gives a package graph and task graph separately, so task-scheduler doesn't know when some packages do not contain the tasks in the package.json.
Because of how the final combined package-task is generated, we might over-aggressively run tasks because of this missing info.
For example, if A depends on B and B depends on C:
A -> B -> C
and if only C has the task of special-C-build, when this following is called:
lage special-C-build --scope A
Nothing should be run because "A" doesn't have that task. The expected result is that nothing is run.

I am planning to add following argument to createPipeline function exported by task-scheduler
canRunTaskInPkg: (taskName: string, packageName: string) => boolean
Since lage has workspace knowledge and knows about scripts in individual packages, i think its better if we pass callback to task-scheduler which can tell if a particular package contains a particular script.
Task - scheduler while generating task graph can use this function to decide if it wants to put things in queue.
From lage, we can easily create canRunTaskInPkg from workspace object
Created following issue on task-scheduler to add above parameter
https://github.com/microsoft/task-scheduler/issues/28


Remove obsolete source files

Some files in the repo are no longer used

For example, cmake downloaded some third-party libraries from a cdn and stored them on-chain, such as react, react-dom, etc.  Potentially no longer needed.

Closing, generic


implement admin signup and login

Acceptance criteria: Given admins want to see reports from students. When they navigate to the login page, they can then create and log in to their new account.