14893: Edit message arrow up

Details

Now ReportScreen is in charge to sort the messages and passing them down, this way the children receive the same data.
Fixed Issues

$ https://github.com/Expensify/App/issues/14893
PROPOSAL: https://github.com/Expensify/App/issues/14893#issuecomment-1431569016
Tests

Sign in (if you are already signed in, first sign out)
Open a chat with messages
Click the arrow up and should send you to the last message

[ ] Verify that no errors appear in the JS console

Offline tests

Same steps as before
QA Steps

Same steps as before

[ ] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that 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 correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://user-images.githubusercontent.com/1676818/219367272-c8eb7928-2af4-4909-a5a6-5e76a2f3c09a.mp4

Mobile Web - Chrome

https://user-images.githubusercontent.com/1676818/219367800-97df2dfc-2a36-4324-9a3b-9a68e44b3d79.mp4

Mobile Web - Safari

https://user-images.githubusercontent.com/1676818/219367851-5738b190-63bd-4630-aace-9e54918fa897.mp4

Desktop

https://user-images.githubusercontent.com/1676818/219367869-9e051435-c811-41b0-86de-342853bb92ca.mp4

iOS

https://user-images.githubusercontent.com/1676818/219367932-51380468-fee1-4bd3-b121-3dadcc82fb17.mp4

Android

https://user-images.githubusercontent.com/1676818/219367962-47d7fce1-b533-4063-825a-ebf5572dd7e0.mp4

@mountiny @0xmiroslav One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@gedu Can you please resolve the merge conflict?
@0xmiroslav any change you could run through the checklist today, would love to move this one on!

@0xmiroslav Any chance you could give this another go?

I am still not convinced why we should use shouldComponentUpdate in ReportScreen. Regarding optimization, for which props change, is it not re-rendered?

@0xmiroslav the page doesn't work as expected
https://user-images.githubusercontent.com/1676818/221616448-dba0ee83-0e32-4849-a929-a6f8983d7979.mov

@0xmiroslav @gedu Personally I would jsut say we want to keep the re-rendering logic same as before hence thats why to re-use the shouldComponentUpdate from the ReportActionsView.
Whether we dont need it or the performance gains are not significant idk but I think it should not be scope fo this PR and we can explore that in some other.
Can we focus on wrapping this PR up?

I dont think so for now, unless @0xmiroslav will have some further requests. Would you be able to look into this today?
I think the shouldComponentUpdate should stay the same to limits chances for regression

@0xmiroslav got it, removed the shouldComponentUpdate

@gedu can you please re-state the problem if we keep current shouldComponentUpdate logic in ReportActionsView?

There wasn't an issue keeping shouldComponentUpdate in ReportActionsView, when I first start the task I think I was missing a bit of context, and lifted it up to have a bit more control, but in being that many cases. We can keep the shouldComponentUpdate in ReportActionsView and from ReportScreen moving the sortedReports into a state so we make sure the components re-renders

@0xmiroslav I can make new videos on each platform if you want, adding ReportScreen a state for reports and keeping the shouldComponentUpdate in ReportActionsView. I just tested and is working

@gedu yep, lets update this
@0xmiroslav thanks for the explanation and taking your time ❤ I understand now what you meant

@0xmiroslav

Web

https://user-images.githubusercontent.com/1676818/222127883-f735d680-1246-4f06-a59a-0c051115f12d.mp4
https://user-images.githubusercontent.com/1676818/222128062-ba280606-3c24-41b3-bc6c-79546cfa999d.mp4

Mobile Web - Chrome

https://user-images.githubusercontent.com/1676818/222127931-6dee7e7a-7cfd-4fe4-b783-97065c01371e.mp4

Mobile Web - Safari

https://user-images.githubusercontent.com/1676818/222127958-c06a8d00-0825-41ff-a8d3-d2efe663bbd0.mp4

Desktop

https://user-images.githubusercontent.com/1676818/222131650-8281b4cf-646f-4749-bb46-7cf9438c910d.mp4

iOS

https://user-images.githubusercontent.com/1676818/222128006-39f3653a-5866-4acc-bd88-21e733a68e24.mp4

Android

https://user-images.githubusercontent.com/1676818/222128027-4a81f660-a8bc-40a0-b71d-fc55cbfa2207.mp4

@0xmiroslav very good point, I have gone ahead and tested this PR and there is a regression. The footer needs all the Closed reportActions in it and the filter method gets rid of them

Basically the getSortedReportActionsForDisplay method removed the CLOSED report actions as we dont want to display them in the reportActionsView, but we need them in the ReportFooter to show the correct archived report reason.
cc @gedu

@gedu Could we pass the reportActions untouched to the reportFooter so the closed actions work fine and then just use the  getSortedReportActionsForDisplay  on this line as we pass it to the composer https://github.com/Expensify/App/blob/8118c20fd97eb1a253f63f9386e34cf57ab2a652/src/pages/home/report/ReportFooter.js#L106

Or we can try to move this to the ReportScreen and just pass in the last closed report action which is null by default. But neither solution is ideal imho

For optimization, I suggest to separate this function into sort and filter. So only sort in ReportScreen and then filter in only ReportActionsView. And sort can be reused in getLastClosedReportAction

It was already separated, and in this https://github.com/Expensify/App/commit/c35193096346ffcfe8bb073c216d314de4419e08 commit it was merged

So only sort in ReportScreen and then filter in only ReportActionsView.

I am not sure but I feel like we want to filter this also for the Composer to make sure the composer and the view have the identical report action data

What if we add to ArchivedReportFooter the withOnyx({ reportActions: ...}) and only when is an archivedRoom, I just sort and get the closedAction
I mean
const ArchivedReportFooter = (props) => {
    const reportClosedAction = ReportActionsUtils.getLastClosedReportAction(this.props.reportActions);
    const archiveReason = lodashGet(reportClosedAction, 'originalMessage.reason', CONST.REPORT.ARCHIVE_REASON.DEFAULT);
    ...
};

export default compose(
    withLocalize,
    withOnyx({
        reportActions: {
            key: ({route}) => `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${getReportID(route)}`,
            canEvict: false,
        },
        personalDetails: {
            key: ONYXKEYS.PERSONAL_DETAILS,
        },
        policies: {
            key: ONYXKEYS.COLLECTION.POLICY,
        },
    }),
)(ArchivedReportFooter);

main isn't filtering reportActions in ReportFooter right now.
Should this be handled in this PR?

Well I think for the purpose of the composer knowing which message to edit it should know which messages are shown. There should not be really many messages filtered out these days

@0xmiroslav and @mountiny pushed

@0xmiroslav this seems like something which will occur in main too, right?
Dont think we should block on this, if it occurs in main, feel free to report it in the channel.

@luacmartins comments addressed

@gedu will update this so the footer is using a selector to pull the correct closed message

Now ArchivedReportFooter using the selector

LGTM and tests well. @gedu would you mind adding test steps for the archived footer scenario?

I would paste the steps given to me by @mountiny, could you help me with this? if I miss something

you would have to create a workspace
invite two people there
remove one person from the workspace
then merge that removed member to the account who is still a member

: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/mountiny in version: 1.2.79-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 1.2.79-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[BUG] Building with Docker Desktop 4 on Windows does not work

Describe the bug
Building with Docker Desktop 4 for Windows does not work.
Exit-code 1 when calling C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe, stdout: Sending build context to Docker daemon   28.6MB

$ docker-compose -f ./test/fixtures/azure-fixture/docker-compose.yml up
Building azure-fixture
Sending build context to Docker daemon   28.6MB
Step 1/5 : FROM ubuntu:18.04
18.04: Pulling from library/ubuntu
no matching manifest for windows/amd64 10.0.17763 in the manifest list entries
Service 'azure-fixture' failed to build : Build failed

To Reproduce
Steps to reproduce the behavior:

Download and install Docker Desktop for Windows from https://docs.docker.com/install/.
Keep Enable Hyper-V Windows Features during installation checked, restart.
Run "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon once to fix the  In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect. error.
Open Docker Desktop, once, review and accept license agreement, and ensure that the Docker daemon is running.
Run docker-compose disable-v2 once to work around a "not implemented" error.
Run ./gradlew build

* What went wrong:
Execution failed for task ':test:fixtures:azure-fixture:composeUp'.
> Exit-code 1 when calling C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe, stdout: Sending build context to Docker daemon   28.6MB

  Step 1/5 : FROM ubuntu:18.04
  18.04: Pulling from library/ubuntu

Suggested workarounds in this SO aren't helpful.
Note that in addition to these problems, if you're running Docker desktop on EC2, you will need a C5 instance. Unlike other instances those aren’t passing through VT-x CPU extensions, so it will be able to run Windows Docker containers, but not Linux.
Expected behavior
Build to work.
Host/Environment (please complete the following information):
Windows Server 2019 10.0 (amd64)
JDK 11 (jdk-<IP_ADDRESS>-hotspot)
Docker version 20.10.8, build 3967b7d
Docker Desktop 4.1.1 (69879)
Additional context
Coming from #1379.

@dblock  we do not support Windows yet. Can this be labelled as enhancement instead of bug?

@dblock we do not support Windows yet. Can this be labelled as enhancement instead of bug?

🤷 it's a bug somewhere

@peterzhuamazon  is this an open issue?


[WIP] Remove outdated code

Issue #, if available:
Description of changes:
This PR is required to enable the removal of MXNet as a dependency and the switch to using Syne Tune, and to greatly clean-up documentation and examples.

Removed numerous old files
Removed autogluon.extra (Unused in all situations except NAS)
Removed autogluon.mxnet (Unused in all situations except outdated docs)
Removed RL Scheduler/Searcher as it depended on MXNet
Removed all NAS / ENAS code
Removed skopt optional dependency (Does not work with sklearn >= 1.0)
Removed numerous outdated docs
Removed numerous outdated examples

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-1397-4 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1397/4/index.html


Creating your own Runner

I have somehow failed to follow through the instructions. The links provided do not go anywhere. I am not sure how to link depencies to Shell and Runner Core, so i have errors everywhere.

Hi, creating your own runner is quite complex. The instructions @mhmd-azeez wrote are very detailed but you can also try cloning the project and start from a working runner and make the changes you need instead of starting from scratch. Why are you trying to create your own runner?

I'm not as well experienced and just wanted the easiest way. Now you have pointed it out to me clearly. I will try cloning, it i face difficulties then I will have to just upgrade the installed version to crystal 32. Many thanks.


SWS-130 Fix css generation issue - move App to dedicated folder

@lucasponce , @mtho11 this would supersede https://github.com/swift-sunshine/swsui/pull/36
Coincidentally because of patternfly, App.css must land in a 1-depth length directory from src root (previously, /src/css was ok, now it's in /src/app)
I'm using the rule of css generated next to their tsx counterpart, which is common practice.
The previous script was building only App.scss and no other scss file, so it's fixed with this patch.

@lucasponce this was not part of a task actually, it's more a bug fix to allow other components scss to be built. I just created a jira ticket.

@lucasponce this was not part of a task actually, it's more a bug fix to allow other components scss to be built. I just created a jira ticket.

Thanks with this we will contribute to run a git log and check the JIRAs (Tasks or Bugs).


Jesse: Watch numberoneinPune(?#facebook)

Jesse requests the watch of the watch_keyword numberoneinPune(?#facebook). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

numberoneinPune(?#facebook) has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Update Contact us links

Definition of Ready

[x] Does this meet the INVEST criteria?
[x] Does this have a clearly defined user?
[x] Does this have an estimate?
[x] Does this have acceptance criteria?
[x] Does this have sufficient context for the specific functionality being developed (design, business rules, etc.)
[x] Does this have a dev link been provided in the design?
[x] Is this traceable to a feature, epic, or PI?

User Story
As a CAMPD user I want to access the EPA contact us form So that I can report any issues with the site
Acceptance Criteria
Given that a user has accessed CAMPD
When a link to the contact us page is selected
Then the system opens the following url in a new tab: https://www.epa.gov/airmarkets/forms/campd-contact-us
Development Notes

this change will happen in all environments.
Note: need the campd 1.0  functionality in staging to be updated .

Links to the contact us form that need to be updated:

CAMPD home page whats new box
Tutorials page
FAQs page (submit a help ticket)
contact us link in the utility nav

Does this Story require 508 Testing?

[ ] Implementing a new authoring tool that will produce code / content for the application
[ ] Implementing a 3rd party widget that will be part of the application
[ ] Adding new / updating custom functionality
[ ] Adding new / updating a page template
[ ] Adding new / replacing existing functionality (unless the replacement has already passed 508 testing)
[ ] Full Site Review prior to a scheduled EPA 508 review
[ ] Planning a video that will appear on the application
[ ] Producing a video that will appear on the application
[ ] Producing Training materials
[ ] Producing documents

Context
(User journeys, design mockups, architectural diagrams, business rules, data element definitions)
https://www.epa.gov/airmarkets/forms/campd-contact-us
Testing
Test Case: TC669
Tester: @JanellC
Definition of Done

[x] Have all Acceptance Criteria been agreed to and validated by the scrum team?
[x] Has the code been unit tested and peer reviewed?
[x] Have the functional tests been executed?
[x] Have all defects been reviewed and dispositioned, resolved, or deferred?
[x] Is the user story ready to be deployed to the test/staging environments?

TC669 passed @tlageman-epa


Implement Belmon Ford Algorithm

Algorithm:
Belmon Ford Algorithm
DS:
Graphs
Languages Supported:

C
C++ [ Assigned to @priyanka2109 ]
Java
Javascript
Python

Please assign it to me for c++

I have assigned you the Issue on C++. You can start working on it @priyanka2109

i would like to work on this question with JAVA

Can I work on java. Please assign me the issue

I would like to work in Python.Please assign me.

@HarshCasper i would like to contribute in c.

@HarshCasper i would like to contribute in javascript


Fix #461 Data Connect Page

Design & bug fixes. For the exhaustive list of issues cleared by this PR, please refer to #461.

Thanks! Keep up the good work.


Simplify and clarify example projects

Changed

Restructure hello-world project to be much simpler and friendlier.
Restructure second example project to be a simple HTTP client with dependencies on reqwest and tokio.
Add <nixpkgs> include for examples in CircleCI.
Reference the example projects in README.md.

Sorry for the fairly busy pull request, guys! I took to heart the suggestions made in #91 previously and greatly improved the example projects, making it less of a showcase and more a set of sequential tutorials, with each one building upon concepts established in the last. I tried to make it as user-friendly as possible, and I've updated the README to point directly to the examples folder as well.
Like before, I'd recommend following along commit-by-commit. If you'd like, maybe try reading the 1-hello-world and 2-bigger-project READMEs in rendered mode to get a feel of how the documents will look in practice.
Follow-up to #91.

Okay, I fixed up the most egregious of typos and Markdown missteps, haha. Should be ready for review!

@antigravityla Those are some good points! Would you like me to revise the wording in the READMEs a bit? Does it need to be made more concise?

@antigravityla I cleaned up a few bits in both examples that I thought read a bit redundantly. Hope this makes the project-building parts a bit less repetitious!


not able to pass parser options

the options are hardcoded and cannot be overriden. You should retain key camelcasing by default.

@nsinghal12 I don't see the options being hardcoded anywhere. Not valid anymore I guess.

@foobar98 Parser options are hardcoded at line 10. This is a valid issue.

Okay, I thought he meant the main parse options. What should be the ideal solution in this case then - clients can pass xmljsOptions as part of the parse options? And if nothing is provided we default to our hardcoded values?

@foobar98 Yes, we should add these options to the first argument in parse call and fallback to defaults when not provided.

This issue is available to be picked up for hacktoberfest. Please comment here if anyone wants to pick this one.

Willing to take this if nobody else is.


Godot Database viewer for proposals

Proposal Title
sqlite.js as a database viewer for proposals
Context and Problem Statement
Want a viewer that uses a relation database with types.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Want to use some interactive graphs and fluff.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Integrate duck db

open file
open buffer

Integrate graphing for godot

Move proposals into a godot game viewer
2d godot engine
scons disable_advanced_gui=yes tools=no disable_3d=yes no_editor_splash=yes dev=yes werror=no tests=no platform=windows -j14 use_llvm=yes use_thin_lto=yes LINKFLAGS='-Wl,-pdb=' CCFLAGS='-g -gcodeview' use_lld=yes use_mingw=yes bits=64 optimize=size target=release_debug separate_debug_symbols=yes
Exports as a 50 MB executable

If this enhancement will not be used often, can it be worked around with a few lines of script?
Might be a lot of lines
Positive Consequences
No response
Negative Consequences
No response
Is there a reason why this should be core and done by us?
I have an approach!
References
No response
Derivative License
Copyright (c) 2020-2021 V-Sekai contributors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

74e0bed3f17dea42ece61d980c3155357d46b610


test_cluster_single_rack: duplicate into v3 and v4 variants

cluster_sink_rack_single is duplicated into cluster_sink_rack_single_v3 and cluster_sink_rack_single_v4
To support this we split off the version specific parts from cassandra_int_tests/cluster.rs into cassandra_int_tests/cluster_single_rack_v3.rs and cassandra_int_tests/cluster_single_rack_v4.rs
Every other int test can be swapped over to v4 in a follow up PR

Happy to merge as is, but I think we should consider looking into seeing if there's a way to use the rstest library for this.
Alot of duplicated docker files


pass down userCustomParameter to API request

Fixes for parameterized consume and compute.
Changes proposed in this PR:

pass userCustomParameter param to API request

Superseded by #1179


Add keen stats for features

Issue opened with imdone.io from code comment on 9f751f1
BACKLOG Add keen stats for features id:8

https://github.com/imdone/imdone-atom/blob/9f751f14f022fed15d90b360e4f50f43250dcb82/lib/views/imdone-atom-view.coffee#L17-L22

Issue closed with imdone.io by removing a comment.

https://github.com/imdone/imdone-atom/blob/b7251b7ccf00e69c484ae85d9668078cedb7152e/lib/views/imdone-atom-view.coffee#L17-L22


Feature: Allow multiple instances of programmatic slideover

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[x] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
This PR opens the possibility to open multiple instance of the <Slideover/> component using the useSlideover() composable.
This capability was discussed in the past, so this is an attempt at such a feature.
📝 Checklist

[ ] I have linked an issue or discussion.
[x] I have updated the documentation accordingly.

Adding @noook  for feedback

@noook Thanks for the comments, I made most changes.
I'm thinking, however, would it make better sense to create instances without open?
This would allow us do declare instances like this:
const slideover = useSlideover()
const slideoverA = slideover.createInstance(SlideoverExampleComponent)

const openSlideover = () => {
  const instance = slideover.open()
}

const doSomethingElse = () => {
   slideOverA.patch({..})
}

const doAnotherThing = () => {
   slideOverA.close()
}

There is an issue: Slideovers should be dismissable when clicking outside unless you explicitly prevent them from closing with the appropriate prop.
Your example components do not specify it so it should keep the original behaviour:
https://ui-9x1er5zyw-nuxt-js.vercel.app/dev/components/slideover#control-programmatically

There is an issue: Slideovers should be dismissable when clicking outside unless you explicitly prevent them from closing with the appropriate prop.
Your example components do not specify it so it should keep the original behaviour: https://ui-9x1er5zyw-nuxt-js.vercel.app/dev/components/slideover#control-programmatically

I fixed it by listening to model changes on the modal and closing it when the modal is changed. An issue I run into is that when clicking on the outside, it always closes the first one that was open, rather than the last one (i.e. the one on top).
This issue would probably happen if we implement something similar in UModal. I'm digging through how the outside click is handled in the component and see if there is anything to be done there.
@noook Open to suggestions.

Would it be possible to apply the same changes to the useModal composable in the same PR? @noook What do you think?

@benjamincanac  I updated this PR to move it along.
A caveat that I ran into, (maybe its not a major issue?) is the preventClose attribute (which defaults to false) affects all of the slideover instances.
What this means in practice is that when preventClose is set to false, all of the slideovers on the page would respond to the close event, becaues there is no way to know "which" slideover's backdrop actually triggered the close event.
I don't think there is a way to get around this limitation at the moment without doing some gymnastics around the headlessui components.
We can document this limitation and roll with it, or wait until the next major release and deal with it then when we move to radix-vue
Let me know your thoughts.
If we decide to roll with it, I can make the same changes to the useModal composable.

@genu Sorry for the delay!! Should we really release this with the Headless UI limitation though?
I would rather implement this only in the v3.

I agree, not a big a releasing a half baked solution.
I'm fine with revisiting this feature with the release of v3.
As a side note, I have been playing with vue-final-modal as a drop replacement for both useModal and useSlideover and it's been working much better than the built in compostables.
Perhaps for v3, it can be used as an inspiration.


Atom scrolls even when not focused

Prerequisites

Put an X between the brackets on this line if you have done all of the following:

[x] Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
[x] Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
[x] Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
[x] Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
[x] Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
The text-editor window does not seem to lose focus on alt-tabbing in Fedora 26, Gnome 3.24. This seems to be a regression introduced in Atom 1.19.0 (reproducible in 1.19.4). This was once fixed in https://github.com/atom/atom/issues/12591 but the issue reappeared with the newest Atom version.
Steps to Reproduce

Have a document open in Atom, notice the position of the scroll bar
Alt+Tab to a window over Atom
Scroll down a lot
Alt+Tab back to Atom
Scroll down

Expected behavior:
The editor window scrolls down a bit
Actual behavior:
The editor windows scrolls by the sum of the scroll amounts in step 3. + 5.
Reproduces how often:
100%
Versions
OS: Fedora 26
atom --version
Atom    : 1.19.4
Electron: 1.6.9
Chrome  : 56.0.2924.87
Node    : 7.4.0
gnome-shell --version
GNOME Shell 3.24.3

Guys, this issue is really kind of annoying, if there's a way I can help you reproduce it, please share it with me.

Sorry I finally was able to get Fedora 26 running in a vm to test this out (I had tried on Ubuntu 16.04 but couldn't reproduce) but I installed Atom 1.20.0 and couldn't repro.  Do you see this in 1.20.0 as well?  Also are you scrolling with a mouse wheel?

No problem, really, I know what developer's life's like. Sorry I could not respond earlier.
I do see this in 1.20.0, too. Reproducing it is really easy:

Have a long enough file opened in atom
alt-tab to an application (which should possibly be over atom, does not work if the alt-tabbed application is e.g. in another monitor)
use mouse scroll wheel in the alt-tabbed application (you better scroll A LOT so that the scroll jump is more obvious)
alt-tab back to Atom and try to scroll (you can even try to scroll in the opposite direction to notice the scroll happened in the other direction)

Note that I am using X, not Wayland, but I believe X is once again the default choice in F26.

Hm, Wayland seemed to have actually stayed the default display client but neither I am able to reproduce it in Wayland session.
This will be therefore about some event Xorg sends on scroll which is probably handled differently in Wayland 🤔
If you want to test this in X, you can easily swap the display client when before logging in - it's the gear right next to the "Sign in" button, choose "GNOME on Xorg".

Thanks for the details @stlaz :+1:
I chose "GNOME on Xorg" before logging in this time but still couldn't reproduce (I scrolled to the bottom of https://atom.io before switching back to Atom and scrolling down with my mouse).  I'm running Fedora 26 in VMWare Fusion on a macOS host - if there's anything else you think I might not have setup or I can try, let me know.
I'll go ahead and mention this to the team as a potential regression and in case someone else can try to repro.  If anyone else subscribed has Fedora installed and can try it out, I'd love to know how it goes :v:

So... Originally I was experiencing this at my workstation at the office and I decided what happens if I try it on my own computer at home where I have Fedora 26 installed as well. Downloaded 1.21.0-beta0 and... It's the same. So it is reproducible on F26 Xorg GNOME, not sure what VMs/MacOS does with scroll events, though.
I tried to see what I can do in the editor's developer mode because I don't have much experience with this. What I did was that I captured what you call a "Timeline", so that I can share it here.
It seems a bit bigger than what GitHub may be able to take so I'm adding a link to my Dropbox: https://www.dropbox.com/s/sh09de7vdez77in/TimelineRawData-20170916T095417.json?dl=0
In the timeline you'll see that I alt-tabbed after the first second. Then I was using a scrollwheel in another application and during that time, nothing happens in Atom, which is fine. Then, I alt-tabbed back to Atom (about 4.5s if I read the timeline right) and tried to scroll. The first scroll moved the page way too much (hopefully you'll be able to see it there somewhere).
It seems like this is a problem that might be hard to catch. If you're unable to and it would consume way too much of your time, I suppose you should just leave this issue open till someone else notices and I suppose I should be using Wayland since it seems much more stable than when F26 came out. However, there still may be people experiencing this although they probably don't know what's happening because it's not quite obvious what the problem might be if you're just a user.
Hope this post helps 😉

@stlaz Could you share a gif or recording of reproducing this? Preferably in safe mode. Watching a screen recording sometimes has that one tiny detail that is missed when trying to reproduce an issue.

Sure, there you go: https://www.dropbox.com/s/1lcuzfd4xhw308d/atom.gif
You'll probably need to download the gif, seems like Dropbox does not know how to handle gif displaying. Just click the three dots in the top right corner (took me some time to find it myself).
During the recording I accidentally tapped alt instead of alt-tabbing at first but that should not matter much. I can send you the video source as well, you'd be able to stop after the alt-tab to command line to see that the last two commands called were atom-beta --version and atom-beta --safe.

Thanks again for your help trying to reproduce this @stlaz :v:  I gave it another try based on your GIF but still wasn't able to repro - in any case,  I wanted to mention that I asked the team about this and we'd like to wait and see if an Electron upgrade tentatively planned for sometime in October fixes this issue.

Glad to help, hopefully you'll be able to track this down in the end 😉
I switched to Wayland display client which is more strict about inter-application events, although it has its flaws, so I won't be suffering from this issue at least until I decide to switch back to X 😃

I was seeing this in chrome and it was driving me crazy - I was using gnome shell but with wayland disabled (I'd had some problems with it in the past). re-enabling wayland made this issue go away, so thanks for that tip!
I think that the issue is caused by the combination of Xorg and libinput, which is perhaps not super common. Not sure why it seems to mainly affect chrome/electron-based apps though (e.g. I didn't see it with multiple terminal windows open).

Just FYI -- I've been able to replicate this with just Chrome. I've been bitten by it in VSCode, but when testing I was able to replicate the behaviour using Chrome plus Sublime Text and Chrome plus Gedit.
Was unable to trigger it in Gedit plus Gedit.

This was already mentioned indirectly, but I believe that this is related to the electron version and the version of Chrome/Chromium electron is based on; this exact same issue also happened in Chrome, also on Linux, quite some time ago but was fixed there in a next (major) release afterwards. I do not recall which version exactly this was.
It is as if, even when not focused, the Atom window is still internally reading and queuing up mouse scroll events, but not applying them. If you then switch back to Atom and perform even the slightest scroll, it suddenly applies that entire queue, with your latest scroll on top. If you are looking up documentation or reading websites often during programming, the scrolling there will constantly affect your scrolling in Atom, effectively scrolling your text buffer all over the place and making you lose focus.
Perhaps the electron version Atom is based on is also based on an older, affected Chrome version? In that case it should be fixed by updating Atom's electron (and/or electron's Chrome base).

I was able to reproduce this.
Fun fact: it doesn't happen if you switch windows with the Super button on keyboard (I am using GNOME3).

I can reproduce this bug too.
It appears that any electron app that is behind other window receives the scroll events, but don't update the view.
Then, when focused again and a new scroll event arrives, it "replays" all previous scrolling, plus the last one received.
It's really annoying.
Tested on:

Ubuntu 17.10 with Xorg and Intel (default kernel drivers)
Fedora 27 with Xorg and AMD (default kernel drivers)
Fun fact 2: This doesn't happen when you are controlling your desktop through synergy.

Just in case it helps someone: I'm having this problem too (latest Manjaro Linux with Gnome), and it seems not to happen when you keep the editor in another workspace. So instead of alt-tabbing between Atom and e.g. a browser, switch the workspace and the problem is gone.

As per my notes in the VS Code repository linked; https://github.com/Microsoft/vscode/issues/28795#issuecomment-350631888 - I, most certainly, experience this behavior across workspaces. Additionally; there appears to be no requirement of having another Electron application open. I was reproducing this reliably just scrolling against my desktop.
May I ask; does anyone know if this has been picked up by the Electron team directly? I had a brief look through the issue reports, but was not able to identify anything obviously related to these cases.

This happens consistently when using synergy. It's very annoying. Relevant issue: https://github.com/symless/synergy-core/issues/6038

The upgrade to Electron 1.7.11 is in the 1.25 beta - can anyone seeing this behavior try the beta and let us know if there's any difference?

I can still reproduce this problem on Fedora 27 with Atom 1.25.1 (including Electron 1.7.11).

Atom    : 1.28.0-beta0
Electron: 2.0.0
Chrome  : 61.0.3163.100
Node    : 8.9.3

I'm able to replicate this on Ubuntu 18.04 (X11) with the Electron 2.0.0 powered Atom beta, as referenced in #17273

Open an application that allows you to scroll significantly (this was with Firefox, but I have previously repo'd with Chrome, in either case open a page like this issue page that has plenty of scroll room). Ensure it is maximised. Scroll to the top.
Open Atom up, on the same monitor as the other application, and also with a document opened that is long enough for scrolling. Also ensure it is maximised. Scroll to the top.
For ease of replication, ensure your alt-tab ordering is such that you can swap between the two applications with a single press.
Alt-tab to the browser and scroll a significant distance down.
Alt-tab to Atom and scroll a single tick down.

Expected: Atom scrolls a single tick down.
Observed" Atom scrolls a significant distance down (as if inheriting the scroll from the previous application).

@daviwil Can you try to reproduce this for us?

I'm having similar issues (running Fedora 28, Atom 1.27.1, Electron 1.7.15, Chrome 58.0.3029.110, and using nVidia drivers using nvidia-installer v390.59) and it seems like it affects all electron based apps at the very least. as can be seen in the issues linked here.
Did some tests with https://rbyers.github.io/eventTest.html and found that it only happens when the
mouse pointer is over the window in the background. When scrolling normally it reports (-)53 deltaY, but scrolling in another window, having the mouse pointer over the background window, the alt-tabbing (or switching with super), it reports that the deltaY is some multitude of 53.
Ex: scrolling in Atom with Chrome in the background and having the mouse over it will make the next scroll in Chrome be affected, but if the mouse pointer is not over Chrome while it is in the background it will not be affected, but the first scroll will be ignored/not-registered. If that makes sense?
Might be connected to the feature of scrolling a non-active window?

I'm experiencing this bug with Ubuntu 18.04 in Atom 1.26.1
I don't Alt Tab to switch between the apps, I do a Ctrl Alt up or down arrows, putting Chrome and Atom in different workspaces,
and yet it scrolls Atom when I'm in Chrome. It's very annoying, I hope it's fixed soon. Thank you!

To all the linux falks here, there is very easy hack. you can install imwheel and it will fix this issue. I have been using this hack for a while now and haven't noticed any issues. if you are on ubuntu its as easy as sudo apt install imwheeland then add that into your system startup programs by opening startup applications gui and adding program/usr/bin/imwheel.

(https://github.com/Microsoft/vscode/issues/28795#issuecomment-402043081)
This fixed for me.

Definitely a useful workaround, but it can negatively affect scroll behaviour (... system wide).

This issue is evident on Ubuntu 18.10 with Atom 1.33.1.
I reproduce with switching from Atom with alt-tab, scrolling around for a few seconds in another app, switching back to atom, then start to scroll and watch the scroll position inappropriately jump.

happenig here too. ubuntu 18.04.  atom 1.33.1

For anyone wondering, this issue seems to be well beyond what Atom can address.

VS Code issue
Chromium issue
GNOME issue

You will want to subscribe to those issues too if you want to stay up to date on this.

Hi, I have this problem too.
I was installed Atom-nightly (1.41.0-nightly4) and the problem is still available.

Looking at the VS Code issue, a handful of people have noted it fixed in 19.04 Ubuntu (and whatever version of GNOME that entails). Would be interesting to see if it is resolved for Atom too.

I think this might be fixed in GNOME desktop (component mutter) 3.31.90, which is in Ubuntu 19.04 and newer (including the new LTS, Ubuntu 20.04).
https://gitlab.gnome.org/GNOME/mutter/-/commit/5a71ed44115f730263086218316839fad006b71c
https://packages.ubuntu.com/eoan/mutter
If that's true, then Ubuntu 18.10 and older (including Bionic, Xenial) would still be affected. And it wouldn't necessarily be fixed in other desktop environments; Someone claims this still happens on Ubuntu 20.04 with XFCE: https://github.com/microsoft/vscode/issues/28795#issuecomment-645330308


removed optional from fields

https://www.pivotaltracker.com/story/show/104708150

@kelliematheson


Fixed comment on Calendar's compare method.

The compare method on Calendar said orderedAscending twice, when it meant to say orderedAscending and orderedDescending.
This PR supercedes #1417.
cc @alblue & @parkera

Thanks.  This is wrong in the overlay too: https://github.com/apple/swift/blob/master/stdlib/public/SDK/Foundation/Calendar.swift#L594
Can you open a PR to fix that too?  They both need doing.

Sure! Will do it in a sec.

@swift-ci please test and merge

@ianpartridge Done - https://github.com/apple/swift/pull/14363


fir publish后无法下载

The requested URL '/ef7aa6829bae3027a49cc1e084e3bfa4a7701f2f' was not found on this server.

@roodq3 把 ipa 包发我邮箱吧<EMAIL_ADDRESS>


Android Ground Overlay support

Android native ground overlays support implemented. OverlayManager has
support also to transparency, but it's closed now.

Guy's for the iOS version; look here #1359
I tried and both environments works right now.
NOTE: On iOS -> AirMaps does not support ground overlay fully. Use Google Maps on iOS.

I've been trying to implement this for a while with no success. 🥇@isener, thanks a lot! Can't wait to try it out.


Correction for raw affiliation School of Social Work, King's University College at Western University Canada, London, Ontario, Canada

Correction needed for raw affiliation School of Social Work, King's University College at Western University Canada, London, Ontario, Canada
raw_affiliation_name: School of Social Work, King's University College at Western University Canada, London, Ontario, Canada
new_rors: 02grkyz14
previous_rors: 048f5b183;02grkyz14
works_examples: W4322744350
contact: f011cba95a797b689c902d2ca7bc9d48:1079f1063191c810 @ uwo.ca

This issue was accepted and ingested by the OpenAlex team on 2024-12-21. The new affiliations should be visible within the next 7 days.


Show wifi not connected only on video blocks

https://openedx.atlassian.net/browse/MA-1685

Adds a function to hide message view with/without animation inside BaseFragmentActivity
Fixes offline playback of downloaded videos

Formatting for function CourseUnitVideoFragment#setUserVisibilityHint is done in this PR https://github.com/edx/edx-app-android/pull/449, so skipped in this one.
@bguertin @1zaman plz review

LGTM :+1:
Only question, why have the option to animate vs not animate? I also think that the issues 1 and 2 raised in https://openedx.atlassian.net/browse/MA-1685 but would we still need the option to animate?

Yeah, we'll probably always animate hiding the message bar, so we can get
rid of the parameter. Alternatively, if we want to retain it anyway as
extended potential functionality, then there should be a default no-args
methods that calls this with "true". Also the methods for hiding error
messages should be updated to match.
On Thu, Dec 3, 2015 at 12:02 AM, Christopher Lee<EMAIL_ADDRESS>wrote:

LGTM [image: :+1:]
Only question, why have the option to animate vs not animate? I also think
that the issues 1 and 2 raised in
https://openedx.atlassian.net/browse/MA-1685 but would we still need the
option to animate?
—
Reply to this email directly or view it on GitHub
https://github.com/edx/edx-app-android/pull/457#issuecomment-161399374.

Otherwise :+1:

:+1:


1113 detailed logs user event

Description
Added status code to all error logs in user utilities
**Fixes #1113 **
Review Time Estimate
Please give your idea of how soon this pull request needs to be reviewed by selecting one of the options below. This can be based on the criticality of the issue at hand and/or other relevant factors.

[ ] Immediately
[ ] Within a week
[ ] When possible

Type of changes
Please select a relevant option:

[ ] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).
[ ] Other (any another change that does not fall in one of the above categories.)

Checklist:
Please select all applicable options:

[ ] I have signed the Rokwire Contributor License Agreement (CLA). (Any contributor who is not an employee of the University of Illinois whose official duties include contributing to the Rokwire software, or who is not paid by the Rokwire project, needs to sign the CLA before their contribution can be accepted.)
[ ] I have updated the CHANGELOG.
[ ] I have read the Contributor Guidelines.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] My change requires updating the documentation.
[ ] I have made necessary changes to the documentation.
[ ] I have added tests related to my changes.
[ ] My changes generate no new warnings.
[ ] New and existing unit tests pass locally with my changes.
[ ] Any dependent changes have been merged and published in downstream modules.

Base changed ot master for easier reivewing..
base branch will be changed to develop once the release branch in merged.


Switch to pstauffer/curl image (cherry-pick #9637) (rel-1.0)

Switch to pstauffer/curl image

Alpine + busybox doesn't understand infinity

Alpine doesn't have bash, sigh.

[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 approver: mandarjog
If they are not already assigned, you can assign the PR to them by writing /assign @mandarjog 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:

samples/OWNERS
tests/OWNERS

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

/lgtm thanks for cherry-picking!

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: douglas-reid
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:

samples/OWNERS [douglas-reid]
tests/OWNERS [douglas-reid]

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

@mandarjog: PR needs rebase.

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


[Bug]: sort and page events are not working with Table chart

Would you like to work on a fix?

[ ] Check this if you would like to implement a PR, we are more than happy to help you go through the process.

Current and expected behavior
I'm trying to handle 2 events.

sort event when a column header is clicked and
page event when the page navigation button is clicked.

The events are supposed to fire when the action happens. but they are not working as expected.
Reproduction
https://codesandbox.io/s/reverent-panini-3ntox9?file=/App.tsx
react-google-charts version
v4.0.0
Possible solution
No response

However, ChartWrapper currently only propagates a subset of events thrown by charts: select, ready, and error. Other events are not transmitted through the ChartWrapper instance; to get other events, you must call getChart() and subscribe to events directly on the chart handle, as shown here:
ref: https://developers.google.com/chart/interactive/docs/reference#chartwrapperobject

However, ChartWrapper currently only propagates a subset of events thrown by charts: select, ready, and error. Other events are not transmitted through the ChartWrapper instance; to get other events, you must call getChart() and subscribe to events directly on the chart handle, as shown here:

ref: https://developers.google.com/chart/interactive/docs/reference#chartwrapperobject
  {
    eventName: "ready",
    callback: ({ chartWrapper, google }) => {
      console.log("ready event");
      const chart = chartWrapper.getChart();
      google.visualization.events.addListener(chart, 'page', (params) => {
        console.log("params", params);
      });
      google.visualization.events.addListener(chart, 'sort', (params) => {
        console.log("params", params);
      });
    }
  }

Example: https://codesandbox.io/s/rough-https-5lj492


Dislike option in gallery causes server error

Describe the bug

When the dislike option is double clicked, a server error is produced.

To Reproduce
Steps to reproduce the behavior:

Go to the gallery
Double click the dislike option.
See error

Expected behavior

The server error should not be produced.

Screenshots

Device information

Type: Desktop
OS: MacOS
Browser: Chrome

Additional context

When the dislike option is clicked once, some time is taken for it to change to 'like'. However, in this case no server error is produced.

The server error does not show up anymore.


Broken Email Validation

Using version 1.13.1 or 1.13.0 , when validating an email address such as john_smith@yahoocom (having an underscore in the name, and missing the "period" in the domain name), the script believes this to be properly format email address. I thought this might be related to the "underscore" but johnsmith@yahoocom also passes as valid.

It's using the definition of an email from [url]https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address[/url] so this is most likely the desired effect.

If this is what your referring to:
/^[a-zA-Z0-9.!#$%&'+/=?^_`{|}~-]+@a-zA-Z0-9?(?:.a-zA-Z0-9?)$/
I'm not an expert in regular expressions, but this looks like a "period" is required in the second half of the address. This would indicate the script is not calculating correctly.

The final group containing the period has a ? at the end making the preceding group optional
(?:.a-zA-Z0-9?

Wozzo, OK I agree and your correct...but from the original source doesn't it say:
This requirement is a willful violation of RFC 5322, which defines a syntax for e-mail addresses that is simultaneously too strict (before the "@" character), too vague (after the "@" character), and too lax (allowing comments, whitespace characters, and quoted strings in manners unfamiliar to most users) to be of practical use here.
Why would something of "non-practical use" be used for this? Wouldn't common sense tell us, as a minimal change to the rule, that the email should end in a period and then at least 2 characters or more to complete the TLD?
On the flip side I see tons of websites discussing this issue as there is no "right way" to do it, so with that said I leave this to the discretion of the developers, but also challenge them to make improvements instead of looking at the RFC 5322 standard which is clearly not useful.

I agree that it's not what you'd expect for an email, but it is technically valid.
I think the simplest solution for what you're looking for is to use something like the addValidation() method http://jqueryvalidation.org/jQuery.validator.addMethod/
I've modified the example at the bottom to achieve this here http://jsfiddle.net/ff32dxm1/

Right. As described we use a pattern which is part of the w3c spec.
See also the readme note:

IMPORTANT NOTE ABOUT EMAIL VALIDATION. As of version 1.12.0 this plugin is using the same regular expression that the HTML5 specification suggests for browsers to use. We will follow their lead and use the same check. If you think the specification is wrong, please report the issue to them. If you have different requirements, consider using a custom method.

Wozzo...thanks for the quick fix. Lets hope moving forward the W3c updates their method soon. Cheers!


STYLE: Update Python Examples to conform to PEP 8

I've updated the Python Examples to conform to the PEP 8
Python Style Guide for code.  I used the pycodestyle package
and pycharm's reformat tool.  Any pycodestyle warnings that
pycharn did not resolve were fixed by hand.

PR Checklist

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

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

Did you close the PR on purpose or accidentally?


Install the app question

I use the MacOS system,but I don't know how to do it,could you give me a user's guide？

@EdenChow
I have build a mac version ,there is download url

Very useful information, but it fails in new MacBook Air M1...it reports:
Error: Node Sass does not yet support your current environment: OS X Unsupported architecture (arm64) with Unsupported runtime (88)

Very useful information, but it fails in new MacBook Air M1...it reports:
Error: Node Sass does not yet support your current environment: OS X Unsupported architecture (arm64) with Unsupported runtime (88)


Non-standard use of $schema inside JSONs

When I'm editing JSON files, VSCode suggests to add the $schema key:

It is also mentioned in the documentation in the "Mapping in the JSON" section.
However, according to JSON Schema specification section 7, the $schema keyword is only intended to be used in schemas themselves. So VSCode's usage is non-standard.
I'm new to schemas and the non-standard behavior caused some confusion. For example, I wanted to describe a JSON which is an object of objects:
{
    "some": {},
    "json": {}
}

so I created this schema:
{
  "type": "object",
  "patternProperties": {
    ".+": {
      "type": "object"
    }
  }
}

and mapped it using the $schema keyword in the JSON file according to the docs but it yields this error:

If I map it using any other method, e.g., settings.json, all works fine:
{
    "json.schemas": [
        {
            "fileMatch": [
                "example.json"
            ],
            "url": "./example.schema.json"
        }
    ]
}

I don't know the historic background but the simplest "fix" would be to remove the non-standard in-JSON mapping method although to be entirely honest, I am more surprised that $schema inside JSON isn't supported by the JSON Schema standard; it seems quite logical to me UPDATE: see comment below.

I take back the last line. Adding the $schema key to JSON quite obviously changes the JSON which might impact the consuming app at runtime so JSON Schema specification cannot generally recommend that.

Hm, interesting. I don't know if anything changed in that area but I was under the impression that $schema can also be used by non-schemas. But I realize from reading the latest documentation that it was invented for schemas definitions.
Thinking about it I think it's fine to keep the support in VSCode though. Its use is optional, we don't force it on anyone. In the end, its up to the schema of the data to disallow unknown or extra properties. Your example is one of these where you get an error when trying to use '$schema'.

Thinking about it I think it's fine to keep the support in VSCode though. Its use is optional, we don't force it on anyone. In the end, its up to the schema of the data to disallow unknown or extra properties.

I was thinking the same, maybe it's fine inside VSCode but I think that the docs should be updated to warn about the possible consequences. For example, you might pick a schema on JSON Schema Store, use the in-JSON $schema method and end up with validation errors.
I'll try to prepare a docs PR.

Docs PR: https://github.com/Microsoft/vscode-docs/pull/996

Perfect, thanks a lot!


Fixed invalid files in i18n folder braking builds

The before-prepare hook will now only look for .js and .json files in the i18n folder.
Fixes #37

Great, thank you !


Update guessit to 2.0

Work in progress...
This is the first attempt for #550. There are a few tests failing, I don't have time to fix them for now, but feel free to comment the PR !

Thanks for the PR, I left some inline comments. I can see some tests are failing, I'll look into it tomorrow.

Ok, i've fixed remaining tests and made some changes with comments you have made (removed .mkv extensions, removed invalid link to inexistant rebulk docs). It should works now !

Do you plan a release after merging this one ? Would be great for Flexget and SickRage projects :p

There are still issues with python 2.7,i'll fix them. I'll also release guessit as 2.0 final.

I'm currently working on proper string support in both python 2 & python 3 in guessit. This will fix remaining failing test.

All is OK now !

Requirements should be >=2.0.3 because of an issue with unicode handling.


Does the code work when Batching Images?

Looking at the demo.py file, I see that there is an argument parser for batch_size, however it does not seem to be used in the code. I do see a batch size at the Dataloader area, but it takes in "dataset" which is created from a single img path. So, I am slightly confuse as to why the batch_size is set to 8 and whether the code support image frame batching? Apologies if I do have any misunderstandings with the code.

Hi, oh yes I do get that the code is looping through the hands according to the batch_size at this section of the code
        # Render the result
        batch_size = batch['img'].shape[0]
        for n in range(batch_size):
            # Get filename from path img_path
            img_fn, _ = os.path.splitext(os.path.basename(img_path))

But my confusion was regarding what the code was looping through in the section below. I saw that the dataloader's batch_size is set at 8, so I went and printed out the enumerated count of the dataloader. I found that it would always only be 0 even when there are multiple hands.
    dataset = ViTDetDataset(model_cfg, img_cv2, boxes, right, rescale_factor=args.rescale_factor)
    dataloader = torch.utils.data.DataLoader(dataset, batch_size=8, shuffle=False, num_workers=0)

    all_verts = []
    all_cam_t = []
    all_right = []

    for batch in dataloader:
        batch = recursive_to(batch, device)
        with torch.no_grad():
            out = model(batch)

I suspect you tried examples where there are many hands, but still less than 8. In an image like this:
https://github.com/shubham-goel/4D-Humans/blob/main/example_data/images/skates.png
the demo detects 17 hands and there are 3 batches overall.

Ahh that makes perfect sense! Thank you for the replies


Documentation -- any JVM language should work, not just Java

Documentation for IntelliJ plugin calls out that only Java is supported.  More correct might be to say any JVM language is supported (Java, Kotlin, Clojure, etc.).
https://docs.gauge.org/latest/writing-specifications.html

Currently IntelliJ plugin is build to support only java, it is not tested against any other JVM supported language. Thus we cant guarantee all the features will work seamlessly.


Bottle seems to be caching responses; how to disable?

The first time a route is accessed, everything works fine, but subsequent requests to the same route are missing headers that should be set by a plugin (and are set correctly on the first request). Am I doing something wrong? Here is the basic setup:
class SessionExtender(object):
    name = 'session_extender'
    api = 2

    def apply(self, callback, route):
        # do some internal things ....
        bottle.response.set_cookie('session', session_id, path='/', expires=some_date())

        print('setting header')
        bottle.response.set_header('Cache-Control', 'no-cache, no-store, must-revalidate')

        return callback

app = bottle.Bottle()
app.install(SessionExtender())
app.run(host='<IP_ADDRESS>', port=8080, debug=True, reloader=True)

The plugin extends the current session on any new activity, but since our intranet is running a proxy, I need to disable caching of all content, otherwise problems with getting outdated content are reliably reproducible. That's why I'm also setting the Cache-Control header.
So here is what I see if I request a route twice with curl, first after a fresh server restart, and the second one immediately afterwards:
% curl -I -b "session=rzwDipsrxGYbKJHCnKxj" http://localhost:8080/en/modal/preview/542
HTTP/1.0 200 OK
Date: Fri, 14 Jul 2017 13:06:59 GMT
Server: WSGIServer/0.2 CPython/3.6.1
Cache-Control: no-cache, no-store, must-revalidate
Content-Length: 1388
Content-Type: text/html; charset=UTF-8
Set-Cookie: session=rzwDipsrxGYbKJHCnKxj; expires=Fri, 14 Jul 2017 21:06:59 GMT; Path=/

% curl -I -b "session=rzwDipsrxGYbKJHCnKxj" http://localhost:8080/en/modal/preview/542
HTTP/1.0 200 OK
Date: Fri, 14 Jul 2017 13:07:00 GMT
Server: WSGIServer/0.2 CPython/3.6.1
Content-Length: 1388
Content-Type: text/html; charset=UTF-8

Notice that both Cache-Control and Set-Cookie are missing the second time around.
And here is the access log from the server:
Bottle v0.12.13 server starting up (using WSGIRefServer())...
Listening on http://<IP_ADDRESS>:8080/
Hit Ctrl-C to quit.

setting header
/usr/lib/python3.6/re.py:301: DeprecationWarning: Flags not at the start of the expression ((?m)[urbURB]?(?:''( (truncated)
  p = sre_compile.compile(pattern, flags)
/usr/lib/python3.6/sre_parse.py:763: DeprecationWarning: Flags not at the start of the expression \{\{((?:((?m)[urbURB (truncated)
  p = _parse_sub(source, state, sub_verbose)
<IP_ADDRESS> - - [14/Jul/2017 15:06:59] "HEAD /en/modal/preview/542 HTTP/1.1" 200 0
<IP_ADDRESS> - - [14/Jul/2017 15:07:00] "HEAD /en/modal/preview/542 HTTP/1.1" 200 0

The second request doesn't print setting header, so I assume the plugin isn't executed the second time. Why does this happen and how can I make sure the Cache-Control header is set on every request?

If you want something to be executed on every request, you should try using bottles ad_hook().
It was specifically designed to do what you want: Execute something for each request and even comes with a handy decorator so you can use it like this:
@app.hook('before_request')
def do_my_stuff():
	# do stuff
	print("did stuff")

This would be called before processing on each request.
You can also use the after_request parameter, then it will be called after each request.
Look at bottle API reference for further information.

Yes, a hook would be easier. But more importantly, your plugin is broken. The apply() method is supposed to be a decorator and return a wrapped callable. Whatever it returns is called on every request. apply() itself is called only once, which is why it works for you on the first request, but not on subsequent requests.
class SessionExtender(object):
    name = 'session_extender'
    api = 2

    def apply(self, callback, route):
        def wrapped(*a, **ka):
            bottle.response.set_cookie('session', session_id, path='/', expires=some_date())
            bottle.response.set_header('Cache-Control', 'no-cache, no-store, must-revalidate')
            return callback(*a, *ka)
        return wrapped

Ah, I see. I've been assuming that apply() is called every time. Thanks for the explanation, and also the library in general!


Update README.md

Corrected typo in the first sentence: “contains” instead of “contians”

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1

Need to update contract addresses; will incorporate into a separate commit. TY for the find.

Need to update contract addresses; will incorporate into a separate commit. TY for the find.


fix set correct sort key for aggregate

What problem does this PR solve?
in previous #44042, we supported more patterns for PushTopnToAgg rule.
the new pattern：
topn
+-->agg(global)
+-->shuffle
+-->agg(local)
we set orderkeys into agg. agg(local and global) will sort result according to orderkeys.
In order to support this new pattern, the group by keys should be prefix of orderkeys.
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall


Postgres and PHP 8.1 Fixes

Updates for Postgres and other associated PHP 8.1 changes

Looks like the test failures are due to the 2.0 namespacing ... some of those files will need a use ElkArte\Util; added to the top

Ok, I’ll sort them tomorrow.

I’m not quite sure what it’s failing on now?
Think I’ve caught all the missing namespace issues.

Its a false fail, you are all clear.  I'm still working on stabilizing a couple of fetch web data test (with post data)


[SCB-881] More invocation stage measurement

please review follow commit log
otherwise maybe too difficult to review.

Coverage increased (+0.1%) to 86.183% when pulling 93df5210c28e3323af3de67b6644d9c37547631d on wujimin:more-invocation-stage-measurement into bb7728097395125485aaff0fbd08edde28107dff on apache:master.


Add Continuous Integration Building and Testing for every PR

I often times find that the main branch of psibase will not compile after I fetch and rebase, which is a costly encounter. The solution to this issue is to integrate continuous integration building and testing that runs for every PR so that any PR that fails CI is prevented from merging. This will keep the main branch clean and provide a positive and professional face to the psibase project.

Hmm, we actually do have ci/cd building and running tests on all PRs...
Do you perhaps need a git submodule update --init --recursive?

Can you point me to the CI logs?

https://github.com/gofractally/psibase/actions

Ah, CI is only running for Ubuntu 18.04. It is the macOS platform that is broken.

Maybe someday Apple will allow MacOS in VMs on non-Apple hardware for the purposes of CI/CD. Until then there's not much we can do without wasting a massive amount of funds.


KeyError: 'calResults'

Hello,
I am getting this error when pulling earnings:

Traceback (most recent call last):
File "yahooearnings.py", line 17, in
flist = yec.earnings_between(date_from, date_to)
File "/home/dscheste/.local/lib/python2.7/site-packages/yahoo_earnings_calendar/scraper.py", line 117, in earnings_between
earnings_data += self.earnings_on(current_date)
File "/home/dscheste/.local/lib/python2.7/site-packages/yahoo_earnings_calendar/scraper.py", line 80, in earnings_on
return page_data_dict['context']['dispatcher']['stores']['CalendarStore']['calResults']['data']['rows']
KeyError: 'calResults'

And here is my code:
import os
import datetime
from datetime import datetime
from datetime import timedelta
import pymysql
import time
from yahoo_earnings_calendar import YahooEarningsCalendar
import pandas as pd
now = (time.strftime("%m-%d-%Y"))
date_from = datetime.now()
print(date_from)
date_to = date_from + timedelta(days=15)
print(date_to)
yec = YahooEarningsCalendar()
flist = yec.earnings_between(date_from, date_to)
print(flist)

Any suggestions on how I can fix it?

I dug a little bit and I think yahoo has changed their component naming.
Changing line 80 to
return page_data_dict['context']['dispatcher']['stores']['ScreenerResultsStore']['results']['rows']
fixed the issue.

Hello,
Can you please tell me how to install the codeset with your change? I downloaded and edited the code but unable to install it.
I have already run pip install yahoo-earnings. So if I need to uninstall, before I can install the codeset please I need that command as well.
Thanks so much.


Better packages caching: add a volume for packages

Super container 🎉
I like the packages caching feature but it can be even better
When recreating the container (after a docker compose down for example), packages are downloaded ones more
It could be avoided by arranging files to allow a "packages" volumes containing node_modules, package.json and all
Unless creating a volume on /screeps is safe, but I donc think so

Just checked, in fact just adding /screeps/mods volume in the docker-compose.yml is enough
So it is probably more note to add in the wiki than a feature

Thanks!

Just checked, in fact just adding /screeps/mods volume in the docker-compose.yml is enough
So it is probably more note to add in the wiki than a feature

Yeah, this is true. I was thinking of creating a separate volume for mods, or putting them in /data. But unsure if it really is that beneficial.
I suppose we can add that note for now.


[WFCORE-6405] Make the org.wildfly.extension.elytron module private

https://issues.redhat.com/browse/WFCORE-6405
The org.wildfly.extension.elytron module was originally public as there were some classes in the Elytron subsystem that custom components needed access to in order to implement them.
There are currently still two Elytron custom components that rely on needing to implement interfaces from the Elytron subsystem:

custom-principal-transformer relies on a org.wildfly.extension.elytron.capabilities.PrincipalTransformer implementation
custom-credential-security-factory relies on a org.wildfly.extension.elytron.capabilities.CredentialSecurityFactory implementation

This PR updates custom-principal-transformer and custom-credential-security-factory so they can be used without needing to implement classes from the Elytron subsystem.
Note that this follows the same approach that was used to update custom-security-event-listener so that it no longer relied on implementing a class from the Elytron subsystem (see https://github.com/wildfly/wildfly-core/pull/3285).
With this change, we can mark the org.wildfly.extension.module as private.

Thanks @fjuma


Publishing on Mac does't warn about missing function app

On Windows (v1.0.4) when I try to publish using func azure functionapp publish funcappdoesnotexist  I get a nice error:
Can't find app with name "funcappdoesnotexist" in current subscription.

When I try the same thing on Mac (v2.0.0) I just keep getting a request to reauthenticate. This seems buggy and is misleading to users.

the re-authenticate issue is a separate bug. If you do func azure subscriptions list you'll see a list of your sub and the current subscription. the error is saying that the function app doesn't exist in the selected current subscription. I believe this should be similar to the behavior of the azure cli.

Closing as obsolete.


hie executable should be compiled with -dynamic

See https://gitlab.haskell.org/ghc/ghc/issues/15524
https://github.com/haskell/haskell-ide-engine/pull/1126/commits/c356c389c1b9a017470667892587b380c8ebaa85
Testing this change on my branch it makes a huge difference.
Any volunteers to integrate this into stack and the ./install.hs script?
@power-fungus perhaps?

Unfortunately it opens another can of worms. Dynamic linking in Haskell doesn't work as of 2019, there are a bunch of issues. It may work if we also build a static version, doubling build times. Cabal-install, Stack and GHC are broken:
https://github.com/haskell/cabal/issues/1720
https://github.com/commercialhaskell/stack/issues/3409
https://gitlab.haskell.org/ghc/ghc/issues/16526
and so on :) Basically it seems to work, but corner cases (such as dynamic linking of Setup.hs) don't work. Also Windows has had dynamic linking completely broken since 7.8, and while it seems to be fixed now, neither Stack nor Haskell.org have binaries with dynamic base, which prevents dynamic from working on Windows even if it's able now on developers boxes.

hie is the only binary which needs to be dynamically linked. It doesn't have a custom Setup.hs or anything complicated like the tickets you are suggesting. Have you tried compiling HIE with the executable-dynamic: True option set? Does it not work on your system?

I didn't try it. But it can't work on Windows because I checked the last binaries and .dlls aren't there. So any build script should at very least change the setting if on Windows.
Also, the dynamic linking may seem to work, but bugs affect corner cases we may or may not encounter in the future. For example, the static Setup.hs linking bug affects dependencies too, but only if we disable "vanilla" (static) libraries. And with vanilla libraries build time is twice as long.
So yeah, we may try to do it, but the idea of my comments is merely that we may regret :)

Seems working on the first look. Just to be sure i did it right:

Added a dynamic-executable: true to cabal.project
stack ./install hie-8.6.4

I just checked that hie launches ok for stack project and handles basic diagnostic like misspelled name of type in scope.

Is hie dynamically linked indeed? can you look at the .exe with http://dependencywalker.com/ ?

@nponeccop i've loaded the into dep walker, how exactly i determine if it's dynamically linked?

It should have some 90+ libHS*.dll. If it has the same dlls as stack.exe then it's static.

Welp, it didn't work then. All I see is winapi related libs and no traces of anything libHS*-like, module(?) list is slightly longer than stack.exe, with addition of DBGHELP.DLL, PSAPI.DLL, SHLWAPI.DLL and WINMM.DLL.

with addition of DBGHELP.DLL, PSAPI.DLL, SHLWAPI.DLL and WINMM.DLL

these are all windows dlls. So it's definitely not dynamic.

I can have a look at this. What is actually required for this?

We want to build hie and all its dependencies with -dynamic, which means generating .so and linking dynamically. Note that this means that the snapshots in ~/.stack are built with -dynamic too.
I know one way to do it:
ghc-options:
  "$everything": -dynamic

I think it goes to ~/.stack/config or something

@nponeccop so this is really more of a thing the user has to do? Because the build process does not touch these files.

We need to answer some questions:

[ ] Is it possible to achieve dynamically linked hie executable with Stack?
[ ] Is it beneficial (e.g. the dynamic linking shortens build times or uses much less disk space)?
[ ] What are implications for Stack snapshot cache and end-user applications in general? Are they forced to use dynamic linking in their projects as well or not?
[ ] Which platforms and/or bitnesses out of Linux, Windows and MacOS are not supported at this time due to upstream bugs or other problems?

So we need someone to do this research. I only found the ghc-options: -dynamic solution but it seems to be a hack: e.g. cabal-install has a high-level settings of executable-dynamic: true and corresponding configure options instead. Neither I tested that it actually worked

@nponeccop Please can you reopen this issue as it is not resolved yet.
You can read more about the investigations I did into this issue on the GHC issue tracker
In summary

Nix users are worst affected by this because of the poor interaction between --enable-library-for-ghci and --enable-split-sections. There has recently been a patch which disables --enable-library-for-ghci but it will take a while before all users have moved onto a commit which contains this fix.
The runtime linker built into GHC is still many times slower than the system dynamic linker and it seems to scale in a non-linear manner. (100x in my test case)
The only workaround that be applied from the tooling side is to dynamically link the HIE executable, the other solutions require modifications to installed user packages.

It seems that your argument boils down to the fact that dynamic linking might not work on all platforms but as it improves the experience of users on platforms where it does work then we should try to enable it or at least provide an option to enable it.
Further to this, we should certainly make sure that hie-nix dynamically links hie as it is nix users who are most going to be affected.

Oh sorry I closed it by mistake

In the interim, can we make this platform-dependent? So it is enabled for platforms where we know it works.

@alanz I am currently experimenting with dynamic building on linux. But I need assistence in testing if the build script I write does indeed build everything dynamically.

Can someone try to check if cabal new-install hie --enable-executable-dynamic -w ... does the correct thing? Or should a different command be used?

I need assistance in testing if the build script I write does indeed build everything dynamically.

The goal is just to build the hie executable dynamically. So you can check it with ldd {full path to hie}. If you see many libHS* files it's dynamic. If you see about 10 references then it's static.

Are there any updates on this? I can add cabal-dynamic-* targets (or something similar) and adding the flag --enable-executable-dynamic. However, I am not an expert on the caveats that need to b considered.

Well, -dynamic is faster but apparently not a good option by default. So perhaps it's worth adding a target as an experiment, most people probably won't notice the extra few seconds it takes..

For the record, --enable-executable-dynamic does nothing on windows in my tests (inspecting exes with the dependency walker)
Moreove it seems that ghc doesn't support it yet: https://gitlab.haskell.org/ghc/ghc/wikis/windows-dynamic-linking
So no benefit but no harm either.


BGE: Prevent multiple new batch modals from opening

Critical Changes
Changes

Prevent multiple modals from opening by tracking open modal

Issues Closed
New Metadata
Deleted Metadata

**lurch: attach W-030448

Tracking W-030448


Unrecognized locales cause 500s

For example: /cards/Electrostatic%20Field/?locale=NA

[ ] Do NOT use querystring for locale, it causes search results to be stored in Google than then switch the locale of the viewer.
[ ] Send a Bad Request not an Internal Server Error if you ask to be switched to a locale that does not exist.

It's not obvious to me where the right place to catch this is:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/bakert/pd/decksite/cache.py", line 79, in decorated_function
    response = make_response(f(*args, **kwargs))
  File "/Users/bakert/pd/decksite/main.py", line 45, in home
    view = Home(ns.all_news(max_items=10), ds.latest_decks(), cs.load_cards(season_id=get_season_id()), ms.stats())
  File "/Users/bakert/pd/decksite/views/home.py", line 16, in __init__
    self.setup_decks(decks)
  File "/Users/bakert/pd/decksite/views/home.py", line 48, in setup_decks
    'title': gettext('Recent Top League Decks'),
  File "/usr/local/lib/python3.7/site-packages/flask_babel/__init__.py", line 552, in gettext
    t = get_translations()
  File "/usr/local/lib/python3.7/site-packages/flask_babel/__init__.py", line 227, in get_translations
    [get_locale()],
  File "/usr/local/lib/python3.7/site-packages/flask_babel/__init__.py", line 261, in get_locale
    locale = Locale.parse(rv)
  File "/usr/local/lib/python3.7/site-packages/babel/core.py", line 331, in parse
    raise UnknownLocaleError(input_id)
babel.core.UnknownLocaleError: unknown locale 'na'

It's possible we want to do more explicit checking in localization.py where we do check_sql_injection?


BUG: Stringify DS attrs in dir

Previously:
In [21]: ds
Out[21]:
<xarray.Dataset>
Dimensions:  (abc: 3)
Coordinates:
  * abc      (abc) int64 0 1 2
Data variables:
    0        (abc) float64 0.3168 0.1132 0.6664
    1        (abc) float64 0.9799 0.9663 0.01084
    2        (abc) float64 0.9171 0.6848 0.5028

In [22]: dir(ds)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-22-fd55ce5c03db> in <module>()
----> 1 dir(ds)

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/xarray/core/common.py in __dir__(self)
    157         extra_attrs = [item for sublist in self._attr_sources
    158                        for item in sublist]
--> 159         return sorted(set(dir(type(self)) + extra_attrs))
    160
    161

TypeError: unorderable types: numpy.ndarray() > str()

AppVeyor break is an existing issue I think?

this looks good, once you fix a few quick nits

@MaximilianR Can you rebase this? Otherwise this looks good to go to me.

I've been remiss about the final fixes here. Will need a couple of weeks on other commitments but I will get to this

@shoyer @jhamman updated, but travis queue looks stopped?

Rebased @shoyer @jhamman

Looking at this again -- maybe better just to drop non-strings from __dir__?
For example, if you put None is an xr.Dataset, this would give you autocomplete for ds.None, which won't actually work when it's mapped to ds['None'].

Looking at this again -- maybe better just to drop non-strings from dir?

Yes!

Merged in 15b4291bd9e02440a5bd5346b55a8f6bee939690


Fix NAT on Libreswan

For NAT connections, the local side always uses the private IP
address, not the public IP address, and the routed subnets always use
the private IP addresses. The public IP address is only used for the
remote end of the connection.
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

ok libreswan without GN passed.

Yikes, again same failure for globalnet+libreswan. hmm


NGN.DATA.Model#undo failing with Enumeration

To recreate, see the codepen. Change the gender and click the undo button. It will fail. The pen is setup to output the arguments of the field.update on the record, which shows the new and old values being the same.

Kamino closed and cloned this issue to ngnjs/NGN


Alias Module - ZNC Command Aliases [$5]

It is not currently possible to use the alias module to provide shorthand for ZNC features, such as commands to *status. This functionality may be present in a future version of the module.

This should be fixed!
@TheWug

There is a $5 open bounty on this issue. Add to the bounty at Bountysource.

Nevermind, wiki is incorrect.

To clarify: this was implemented a while ago.


Feature Request: Success messages

As of now when performing an operation like zipping/unzipping only in case of an error you get any "response". In case of success you only see the file(s) appear, but sometimes still an error occurred (e.g. not everything was zipped/unzipped) and you don't realize right away. Since you need to wait anyways for the operation to finish ("Waiting circle" keeps turning until everything is done, because no asynchrony is used - see Issue #240), it would be nice to get some kind of "success message" once everything actually finished successfully.

I'm using version 7.9.3 .
I'd like to add to this request: Please give error messages as well.
For example if you want to create a folder in a directory where you do not have write access, the folder is not created (makes sense, duh :) ).
But unfortunately there is no popup or anything telling you that there was an error.

I agree. I landed from HestiaCP here.
Turns out, all it gives is an "unknown error" while in reality nothing happens. Deletion does not work, and especially if there are multiple subfiles & subfolders, nothing happens at all. Within 2 seconds it does a roundabout and then just displays "unknown error", or at times displays nothing at all.
Finally, if say I have deleted some files and folder either via filegator, or even via some FTP session, those files remain on filegator, even though they are deleted in reality.

I agree. I landed from HestiaCP here. Turns out, all it gives is an "unknown error" while in reality nothing happens. Deletion does not work, and especially if there are multiple subfiles & subfolders, nothing happens at all. Within 2 seconds it does a roundabout and then just displays "unknown error", or at times displays nothing at all.
Finally, if say I have deleted some files and folder either via filegator, or even via some FTP session, those files remain on filegator, even though they are deleted in reality.

Me too


MSFT: two Bugs in the Windows Server 2019 Audit

Hi,
I found two possible bugs in the finding_list_msft_security_baseline_windows_server_2004_member_machine.csv (maybe others too)
[$] ID 10994, Windows Game Recording and Broadcasting: Enables or disables Windows Game Recording and Broadcasting, Result=0, Recommended=1, Severity=Medium

I think the Recommended should be 0 and not 1 (?)
[$] ID 10653, Network Connections: Prohibit use of Internet Connection Sharing on your DNS domain network, Result=1, Recommended=RequireMutualAuthentication=1,RequireIntegrity=1, Severity=Medium
[+] ID 10654, Network Provider: Hardened UNC Paths (NETLOGON), Result=RequireMutualAuthentication=1, RequireIntegrity=1, Severity=Passed

Probably a typo in Check 10653, copied from 10654.  Values are only 0 or 1

Thanks! You are right in both cases and I fixed the bugs in commit https://github.com/0x6d69636b/windows_hardening/commit/f80322204e6f10f3a316ff7877603e2db435196e.


can I do bot execute other bot?

Question

can I do bot execute other bot?
I want a bot scraper to give a list to music bot, Can I do?

Try this.

require('child_process').fork('anotherbot.js')

A bot can't call another bot, According to the Telegram API


Flash Player no longer works

Using latest dev version userscript in Safari. Setting Player type to Flash no longer works.
Before it would load the HTML5 and then quickly refresh the video with the Flash version. Now the HTML5 goes away, but no Flash loads. Just a black video area with no interface, spinning icon or anything.
Started on Wednesday.

What version are you using? Have you tried the latest dev version?
https://github.com/YePpHa/YouTubeCenter/wiki/Developer-Version

Latest dev version, 493.

Confirmed same behavior, the only way i can get flash videos to load is to right-click hit "inspect element" and then refresh the page. That makes it magically work, and only about 75% of the time
dev 493
chrome 41.0.2272.89

made a video to try and explain
https://youtu.be/JCErNpdZnbA

You might need to enforce HTML5, assuming it'll work too.

Are you on the youtube html5 experiment? Do you have selected the option to make it flash or is it on the option to do nothing?

HTML5 on youtube is no longer an experiment. HTML5 is the default at least with Safari. Setting YTC to Flash would swap out the html5 player with the flash player. This is the feature that is no longer working. Setting YTC to Default will yield the HTML5 player as expected and that works fine. I was only really using Flash because in Safari the HTML5 fullscreen animation is annoying, but I'll just deal with it and keep using the HTML5 player.

Hello,
I have noticed this same behavior, but with ANY type of load mode,  I tried with flash, html 5, aggresive flash. even tried switching FLASH with SHOCKWAVE and still only loads the black box.
I tried all the settings, all variants.. nothing.. black box all the time.
Note that this only happens in Embedded videos in external websites.
The extension works fine in youtube.com only.
Note that I'm on Firefox latest.
Disabling  the extension restores the embedded video functionality.
Note that the video just simply does not load, just a black box.

@endymion0000 NOOOO we must fight for our right to use the flash player.
Ive used the same settings for a year now and it has just broken more and more recently first the playlist issue #1316 now this. FLASH FOR LIFE. DOWN WITH HTML5

Please remember that this is a bug/support tracker, not a discussion forum. YouTube's intention seems to be to promote the HTML5 player and eventually phase the Flash player out entirely. If that happens, then this project will need to adjust to reflect that.
This is not an appropriate place to discuss whether YouTube's plans are good ideas or bad ideas. If you have an issue with the Flash player being deprecated, that should be taken up with YouTube/Google directly.

Bug does not apply to Firefox 28 and YTC v2.1.7,  Flash player loads perfectly.

I think the flash plugin is obviously faulty. I don't use flash on Youtube but many other sites like twitch uses flash, and i noticed the stream won't load at all. I figured out it's a problem with flash witch update automatically not that long ago.
So i went into chrome://plugins and looked for flash where i had the native installed flash enabled, and the flash that comes with chrome disabled. So i enabled the flash version witch is built-in chrome and disabled the native flash installed on my PC and it worked like a charm. Also make sure you don't leave both enable, try to see which one works. If you let both enable they will create other problems.

Puk: that would be a solution if the problem was exclusive to Chrome. but it happened on Firefox for me.


Link down :(

http://www.cs.uwm.edu/classes/cs654/handout/cool-manual.pdf
By the way, your project is really interesting!

Thank you!
It's still available through Wayback Machine: https://web.archive.org/web/20210823043833/http://www.cs.uwm.edu/classes/cs654/handout/cool-manual.pdf


feat(table): add props table

What:
Add Properties table for the Table components.

Why:
Closes #272
Media:

Checklist:

[ X ] Ready to be merged

Great work!
I see some components also have props from styled system (MarginProps, HeightProps, WidthProps). We have a component StyledSystemLinks to show a sentence with links below the table.
Could you add those where applicable?
<StyledSystemLinks component="Table" supportedProps={ ['margin', 'width', 'height'] }/>
You can find an example in the Button.mdx

I see some components also have props from styled system (MarginProps, HeightProps, WidthProps). We have a component StyledSystemLinks to show a sentence with links below the table.

Since I didn't know about the StyledSystemLinks, I've manually 'parsed' what would make sense to have on the table. Do you think we can keep both? Or drop the table and leave only the links instead?
With tables and links:

Without:

@arturmiglio I think that so far when one of our components supports styled-system props we only use the StyledSystemLinks, so I'd drop the table for those cases to be consistent. Also this way seems less redundant and more clean imo

@arturmiglio I think that so far when one of our components supports styled-system props we only use the StyledSystemLinks, so I'd drop the table for those cases to be consistent. Also this way seems less redundant and more clean imo

✅ Done!

merging to feature branch


Update README.md

Made updates to the readme file. Merged repositories.

Another update to main branch.

Accident