Content corrections / suggestions

https://docs.microsoft.com/en-us/windows/security/information-protection/bitlocker/bitlocker-management-for-enterprises#managing-devices-joined-to-azure-active-directory
In this section, it should be mentioned that Hybrid Azure AD Joined devices are also applicable to this section.
The second paragraph in the same section mentions that only Business and Enterprise editions of Windows 10 work with the Policy CSP and Bitlocker CSP. This is incorrect as documented in the first couple paragraphs here: https://docs.microsoft.com/en-us/windows/client-management/mdm/bitlocker-csp
It should also be mentioned that without Win10 v1809, only local administrative users can enable Bitlocker. Local users who are non-admins (which is becoming the new normal and has been a best practice for a long time) cannot enable Bitlocker via Intune policy. https://docs.microsoft.com/en-us/intune/whats-new#non-administrators-can-enable-bitlocker-on-windows-10-devices-joined-to-azure-ad

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

ID: 33e5380a-53da-6df1-1952-1be89d9b5969
Version Independent ID: 82af0c50-fb10-3ad3-1f1d-74a068ea6fa7
Content: BitLocker Management Recommendations for Enterprises (Windows 10)
Content Source: windows/security/information-protection/bitlocker/bitlocker-management-for-enterprises.md
Product: w10
GitHub Login: @brianlic-msft
Microsoft Alias: justinha

@officedocsbot assign @mypil

@SoccerCore11 - Thank you for submitting feedback.
I will get this issue over to the Win10 ITPro writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@mypil  added PR https://github.com/MicrosoftDocs/windows-itpro-docs/pull/3315

@SoccerCore11 - From our understanding, the issue has been resolved but it may take a few days for the merged content to appear in the article. If you feel it hasn't been resolved, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


rai_individuals missing as possible feature in map_dep() documentation

https://github.com/inbo/camtraptor/blob/main/R/map_dep.R#L12-L16
but
https://github.com/inbo/camtraptor/blob/main/R/map_dep.R#L324

What's the best way to suggest a fix? New branch and new PR?

Yes branch and PR is how we prefer it 😊

close with #166


Updated validations.py python script.

Closes:#1
Fixed the behavior of validate_user function in validations.py
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Mantling (different bug)

Detailed description of issue
The foot position changes after mantling
Steps To Reproduce:
1: Switch to sword and shield for example
2: Attempt to climb the stacked boxes
3: You'll notice every time the left leg either jumps in place or  remain in a weird position
Expected Results:
Seamless mantling
Actual Results:
Foot is in a weird position, with the knee bent in 8 out of 10 times

Hope it helps!
Update - it seems like a shield and sword issue, as weird foot behaviour happens when strafing (left/right) or even moving forward and stopping as well.

Thank you.
Probably curves inside shield and sword walk animation need a bit of adjusting or need just to find better animations for it.


Videoplayercontrol nested in native Android applications does not work

I'm trying to integrate video_ Player to native Android through models mode, but the video can not be played, the error is：
Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null)

Hi @hpp1106geek,
Please provide flutter doctor -v and a minimal complete reproducible code sample that shows the issue you are facing.
Thanks.

Without additional information we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


TypeScript compatibility with numpad

This is a MINOR issue. When using keyboard with React, the layout field always expects a default property of type default:  string[].
I apologize if this has already been addressed or if this is just something I botched while implementing. Love the app!
So the following:
<Keyboard
      layoutName="ip"
      onChange={(input: string) => onChange(input)}
      onKeyPress={(button: string) => onKeyPress(button)}
      layout={{
        ip: ['7 8 9', '4 5 6', '1 2 3', '0 . {clear}', '{bksp} {enter}']
      }}
      display={{
        '{clear}': 'C',
        '{bksp}': 'del',
        '{enter}': 'enter'
      }}
/>

Must become:
<Keyboard
      layoutName="ip"
      onChange={(input: string) => onChange(input)}
      onKeyPress={(button: string) => onKeyPress(button)}
      layout={{
        *default: [''],*
        ip: ['7 8 9', '4 5 6', '1 2 3', '0 . {clear}', '{bksp} {enter}']
      }}
      display={{
        '{clear}': 'C',
        '{bksp}': 'del',
        '{enter}': 'enter'
      }}
/>

Hey @ifitzsimmons, I've released 2.3.40 which should fix this issue. Feel free to update and try it out.
Thanks,
Francisco Hodge


Error installing Package

I get an error installing the Package:
Class 'Concrete\Package\CommunityStoreMollie\Config' not found
On refresh the package seems to be installed. But when entering (copy/paste) the test API key from Mollie I get the following:
Invalid API key: ''. An API key must start with 'test_' or 'live_' and must be at least 30 characters long.
I cleared cache, refeshed database entities, reinstalled plugin. Unfortunately no change.
Both on 8.5.2 as 8.5.4
# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version -<PHONE_NUMBER>5307

# Database Information
Version: 10.0.38-MariaDB
SQL Mode:

# concrete5 Packages
Abandoned Cart (0.0.9), Automatic Email Obfuscator (2.0.1), Block Builder (1.2.1), Community Store (2.2.7), Community Store Product Attribute (0.5), Community Store Table Rate shipping (2.0), Community Store Toolbar Buttons (1.0), Community Store Weight Tiered Shipping (2.0), Core Translation Updater (0.1.1), Infotown Table (1.0.0), Login Block (2.0.0), Login Page Background (0.9.1), Mollie payment method (1.0.0), Open Graph Tags Lite (2.1.3)

# concrete5 Overrides
blocks/image_slider/templates/sliderhome/view.php, blocks/image_slider/templates/sliderhome/view.css, blocks/image_slider/templates/sliderhome, blocks/image_slider/templates/slidervvp/view.php, blocks/image_slider/templates/slidervvp/view.css, blocks/image_slider/templates/slidervvp, blocks/image_slider/templates, blocks/image_slider, blocks/autonav/templates/subnav/view.php, blocks/autonav/templates/subnav/view.js, blocks/autonav/templates/subnav/view.css, blocks/autonav/templates/subnav, blocks/autonav/templates/nav/view.php, blocks/autonav/templates/nav/view.js, blocks/autonav/templates/nav/view.css, blocks/autonav/templates/nav, blocks/autonav/templates/breadcrumb.php, blocks/autonav/templates, blocks/autonav, blocks/community_product/templates/custom/view.php, blocks/community_product/templates/custom, blocks/community_product/templates, blocks/community_product, blocks/community_product_list/templates/custom/view.php, blocks/community_product_list/templates/custom, blocks/community_product_list/templates, blocks/community_product_list, blocks/cssimage/config-bb.json, blocks/cssimage/icon.png, blocks/cssimage/scrapbook.php, blocks/cssimage/composer.php, blocks/cssimage/controller.php, blocks/cssimage/view.php, blocks/cssimage/db.xml, blocks/cssimage/css_files/form.css, blocks/cssimage/css_files, blocks/cssimage/add.php, blocks/cssimage/edit.php, blocks/cssimage/form.php, blocks/cssimage, blocks/usplist/config-bb.json, blocks/usplist/icon.png, blocks/usplist/scrapbook.php, blocks/usplist/composer.php, blocks/usplist/controller.php, blocks/usplist/view.php, blocks/usplist/db.xml, blocks/usplist/css_files/form.css, blocks/usplist/css_files, blocks/usplist/add.php, blocks/usplist/edit.php, blocks/usplist/form.php, blocks/usplist/auto.js, blocks/usplist, blocks/buttonalgemeen/config-bb.json, blocks/buttonalgemeen/icon.png, blocks/buttonalgemeen/scrapbook.php, blocks/buttonalgemeen/composer.php, blocks/buttonalgemeen/controller.php, blocks/buttonalgemeen/view.php, blocks/buttonalgemeen/db.xml, blocks/buttonalgemeen/css_files/form.css, blocks/buttonalgemeen/css_files, blocks/buttonalgemeen/add.php, blocks/buttonalgemeen/edit.php, blocks/buttonalgemeen/form.php, blocks/buttonalgemeen/auto.js, blocks/buttonalgemeen, themes/XXXXX/css/normalize.css, themes/XXXXX/css/bootstrap-theme.css, themes/XXXXX/css/bootstrap-theme.css.map, themes/XXXXX/css/bootstrap-theme.min.css, themes/XXXXX/css/bootstrap.css, themes/XXXXX/css/bootstrap.css.map, themes/XXXXX/css/bootstrap.min.css, themes/XXXXX/css/desktop.css, themes/XXXXX/css/desktopgroot.css, themes/XXXXX/css/mobiel.css, themes/XXXXX/css/style.css, themes/XXXXX/css/tablet.css, themes/XXXXX/css/typography.css, themes/XXXXX/css/editmode.css, themes/XXXXX/css/owl.carousel.min.css, themes/XXXXX/css/owl.theme.default.min.css, themes/XXXXX/css/jquery-2.2.4.min.js, themes/XXXXX/css/owl.carousel.js, themes/XXXXX/css/owl.carousel.min.js, themes/XXXXX/css/owl.carousel.settings.js, themes/XXXXX/css/owl.carousel.settings.min.js, themes/XXXXX/css/tiny-slider.css, themes/XXXXX/css/style-custom.css, themes/XXXXX/css/aanpassingen.zip, themes/XXXXX/css, themes/XXXXX/categorie.php, themes/XXXXX/default.php, themes/XXXXX/elements/footer.php, themes/XXXXX/elements/header.php, themes/XXXXX/elements/nav.php, themes/XXXXX/elements/breadcrumbs.php, themes/XXXXX/elements/sidebar_agenda.php, themes/XXXXX/elements/sidebar_projecten.php, themes/XXXXX/elements/sidebar_algemeen.php, themes/XXXXX/elements/projectnav.php, themes/XXXXX/elements, themes/XXXXX/description.txt, themes/XXXXX/fonts/glyphicons-halflings-regular.woff2, themes/XXXXX/fonts/glyphicons-halflings-regular.woff, themes/XXXXX/fonts/glyphicons-halflings-regular.ttf, themes/XXXXX/fonts/glyphicons-halflings-regular.svg, themes/XXXXX/fonts/glyphicons-halflings-regular.eot, themes/XXXXX/fonts, themes/XXXXX/images/5hoek.svg, themes/XXXXX/images/slider.jpg, themes/XXXXX/images/facebook.svg, themes/XXXXX/images/keyboard_arrow_down.svg, themes/XXXXX/images/instagram.svg, themes/XXXXX/images/XXXXX.jpg, themes/XXXXX/images/XXXXX.jpg, themes/XXXXX/images/XXXXX.svg, themes/XXXXX/images/XXXXX-icons.svg, themes/XXXXX/images, themes/XXXXX/js/bootstrap.js, themes/XXXXX/js/bootstrap.min.js, themes/XXXXX/js/jquery.matchHeight.js, themes/XXXXX/js/scrolltotop.js, themes/XXXXX/js/setheight.js, themes/XXXXX/js/jarallax.min.js, themes/XXXXX/js/jarallax-element.min.js, themes/XXXXX/js/jarallax-video.min.js, themes/XXXXX/js/owl.carousel.min.js, themes/XXXXX/js/owl.carousel.settings.js, themes/XXXXX/js/owl.carousel.js, themes/XXXXX/js/owl.carousel.settings.min.js, themes/XXXXX/js/tiny-slider.js, themes/XXXXX/js/nav.settings.js, themes/XXXXX/js, themes/XXXXX/page_theme.php, themes/XXXXX/page.php, themes/XXXXX/product.php, themes/XXXXX/thumbnail.png, themes/XXXXX/view.php, themes/XXXXX

# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - Off
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache/2

# Server API
fpm-fcgi

# PHP Version
7.2.27

# PHP Extensions
bcmath, calendar, cgi-fcgi, Core, ctype, curl, date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imagick, intl, json, libxml, mbstring, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, pdo_sqlite, Phar, posix, Reflection, session, SimpleXML, soap, sockets, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, xsl, Zend OPcache, zip, zlib

# PHP Settings
max_execution_time - 300
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1500
memory_limit - 128M
post_max_size - 64M
upload_max_filesize - 64M
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 4000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5

This fix should address the failing install:
https://github.com/concrete5-community-store/community_store_mollie/commit/cd6e51d0f9c1d7aa153005b61df8633d83f8388b
and this one I believe should fix the issue with the invalid key:
https://github.com/concrete5-community-store/community_store_mollie/commit/0292134adc3d06c10d00b73747196e40d7f883fb
With those in place, I was able to put in a real Mollie test key, and have payment methods start to list under: /index.php/dashboard/store/settings/paymollie

Thank you! Seems to work. Both site I work on are now in dev- / testmode. When I have trouble going live I will post the results here.

I started testing. When I make a test payment it gives me an error "Het formulier is verlopen, probeer het opnieuw." (The form has expired, try again). If I go on an set the transaction to succesfull I get directed back to the checkout form.
In the store reports I don't see any transactions succesfull or failed.
In the concrete5 logs I see the following:
Exception Occurred: /home/xxxxxx/domains/xxxxxx/private_html/packages/community_store_mollie/src/Mollie/Order/Transaction.php:132 Argument 1 passed to Concrete\Package\CommunityStoreMollie\Src\Mollie\Order\Transaction::getByMolliePaymentID() must be of the type integer, string given, called in /home/xxxxxx/domains/xxxxxx/private_html/packages/community_store_mollie/src/CommunityStore/Payment/Methods/Mollie/MolliePaymentMethod.php on line 88 (0)

Interesting, I was putting through test orders successfully when I tested this previously.
You said it was working previously?  Did it only start with this error after moving the domain?

I just tested it on a second webshop in production (without any moving of documents and on a other domain) and I get the same result.

Looking at the code, I think this might be a PHP version related issue.
On this line here:
https://github.com/concrete5-community-store/community_store_mollie/blob/master/src/CommunityStore/Payment/Methods/Mollie/MolliePaymentMethod.php#L86
Try changing it to:
$molliePaymentID = (int)$_POST['id'];

Thank you for your time and suggestion. Unfortunately there is no change.

Perhaps try these changes instead:
https://github.com/concrete5-community-store/community_store_mollie/commit/c5157bc6c99a10a84bab8016ecc9856cc8510b3a

Changed the code, cleared cache, refreshed entities added a new product to test. But no change.

Are you getting that same error in the logs?

First error:
Exception Occurred: /home/id0281/domains/hygishop.nl/private_html/packages/community_store_mollie/src/Mollie/Order/Transaction.php:132 Argument 1 passed to Concrete\Package\CommunityStoreMollie\Src\Mollie\Order\Transaction::getByMolliePaymentID() must be of the type integer, string given, called in /home/id0281/domains/hygishop.nl/private_html/packages/community_store_mollie/src/CommunityStore/Payment/Methods/Mollie/MolliePaymentMethod.php on line 88 (0)
Error now:
Exception Occurred: /home/id0281/domains/hygishop.nl/private_html/packages/community_store_mollie/src/Mollie/Order/Transaction.php:136 Return value of Concrete\Package\CommunityStoreMollie\Src\Mollie\Order\Transaction::getByMolliePaymentID() must be an instance of Concrete\Package\CommunityStoreMollie\Src\Mollie\Order\Transaction, null returned (0)

That error suggests that you've still got the word self on this line here:
https://github.com/concrete5-community-store/community_store_mollie/commit/c5157bc6c99a10a84bab8016ecc9856cc8510b3a#diff-7a46eacccadded7246fc75cd4792c367L183
(however, I don't know why it's not returning a transaction)
I didn't build this gateway, I'm wondering if @Jozzeh can help explain why this might be happening.

A huge update was done by @wardhache and he knows the ins and outs of the module now much better than me.
We've been in contact and he'll have a look asap.
(I've pivoted my career more to the frontend, which is why I haven't been very active here.)

@Jozzeh Great, I'd appreciate the help here from @wardhache, as there may be something obvious we're overlooking, and I've only casually tested this. He may also want to revert my last commit!
I did actually spot you shifted more to the frontend, I was taking a look at your site earlier.
Would be great to keep in touch, my work is still very broad, but I'm trying to do more these days with Javascript myself (vuejs in particular). I'd be interested to hear your thoughts on AdonisJS for example.

Hi @wardhache, great to hear that you want to look into this problem. Any idea when you have some time to check this out? I have 2 clients waiting for a fix so would be really grateful if this problem could be solved.
Could this have something to do with the PHP version (now running on 7.2.27) if so, I could ask the host to change the PHP version.

I did a Pull Request #4 provided with the description of all the changes!

To provide some further information. All errors that you stumbled upon were not because of problems on your side. I separated the commits so you can check out all the solutions for the problems you were facing.
I would like to apologise for the wait, it took me some time to figure it out and I had some other ongoing urgent matters.
Thanks for your patience and I hope you can make those 2 clients very happy!

@wardhache No need for apologies! I'm really thankful for your time and this plugin.
I downloaded the master and installed it. I got an error. (Created a pull request for the fix). I could make a (test)payment so it works. @Mesuva also thank you again for your time aswell. Would like to donate some cup of coffee to you guys.


reading client config to environment.

allows client configuration in environment.js

can you change the client options to client: {}? Otherwise it looks good to me.
Ping @courajs

there it is


[MB-13702]Added error msg when 0 is entered in advance amount office & added test

MB-13702 for this change
Deployed app
Summary
Added an error message when the user enters '0' for the advance amount on the office side.
Also added a test to check if the error message occurs when 0 is entered.
Setup to Run Your Code

💻 You will need to use three separate terminals to test this locally.
Terminal 1
Start the Storybook locally.
make storybook

Terminal 2
Start the UI locally.
make client_run

Terminal 3
Start the Go server locally.
make server_run

Additional steps

Go to http://officelocal:3000/
Click Local sign-in & log in as an existing user called<EMAIL_ADDRESS>(PPM office)"
In the "Customer Name" search field, type in "PPM"  and press 'enter'.
Select "PPM, Submitted."
Under the "Request Shipments" section (PPM), click on "Edit Shipment".
Scroll down, click 'Save & Continue'.
Scroll to section "Incentives & advance."
In the "amount requested" field, change the number to "0".
Here you should see the error message saying "Enter an amount $1 or more."

Verification Steps for Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

Frontend

[ ] User facing changes have been reviewed by design.
[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] There are no new console errors in the browser devtools
[ ] There are no new console errors in the test output
[ ] If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.

Backend

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Database
Any new migrations/schema changes:

[ ] Follows our guidelines for Zero-Downtime Deploys
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

Screenshots

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against aab78d8181bdb4f0768849379be0c056b5a6b9e1

@bellex3 Could you update the Storybook stories as well with your min() changes since they don't use the validationSchema defined in the component?  I know on the customer side usually we package the validation schema inside the form so they always match but that's not the case here.
https://github.com/transcom/mymove/blob/6878aae4b81a558d7739c6cc7e9f2b8ebb1b2a81/src/components/Office/ShipmentIncentiveAdvance/ShipmentIncentiveAdvance.stories.jsx#L32-L88

@bellex3 Thanks for incorporating those changes! I'm seeing a lot of whitespace and comment formatting changes on other files from this commit https://github.com/transcom/mymove/pull/9190/commits/da9cc7cb3b5880c20d7d161c73d7d9b380333fd0
Do you know if this was from an IDE configuration change or running pre-commit or some other formatters?

@bellex3 Thanks for incorporating those changes! I'm seeing a lot of whitespace and comment formatting changes on other files from this commit da9cc7c
Do you know if this was from an IDE configuration change or running pre-commit or some other formatters?

@duncan-truss It must've been from running the pre-commit. I also merged the latest from master.

@bellex3 Thanks for incorporating those changes! I'm seeing a lot of whitespace and comment formatting changes on other files from this commit da9cc7c
Do you know if this was from an IDE configuration change or running pre-commit or some other formatters?

@duncan-truss It must've been from running the pre-commit. I also merged the latest from master.

@bellex3  I ran pre-commit run --all-files and make gofmt on the main branch and didn't see it produce any of the whitespace changes you are seeing here.  I think it must be a local editor setting you may have set or reformat command you may have run.
I think it's best to revert these changes, it should be pretty easy with:
git checkout master -- cmd/
git checkout master -- pkg/

@bellex3 Thanks for incorporating those changes! I'm seeing a lot of whitespace and comment formatting changes on other files from this commit da9cc7c
Do you know if this was from an IDE configuration change or running pre-commit or some other formatters?

@duncan-truss It must've been from running the pre-commit. I also merged the latest from master.

@bellex3 I ran pre-commit run --all-files and make gofmt on the main branch and didn't see it produce any of the whitespace changes you are seeing here. I think it must be a local editor setting you may have set or reformat command you may have run.
I think it's best to revert these changes because we do have annotations (go:generate, ...) that might not work with different formatting, it should be pretty easy with:
git checkout master -- cmd/
git checkout master -- pkg/

@duncan-truss I ran the 2 commands and the whitespaces should be fixed. I tried to look into what could have been the cause of this but I did not find the issue yet. I just know that when the pre-commit is run, the white spaces are added after golangci-lint runs.

Details

Glad the you got the server tests passing again!


v2.0.0 to master

Normal merge!
The underlying auth0/login package has been updated to v7. With that, the Auth0-PHP SDK has been updated to v8 as well. The main changes are:

Support for Laravel 9
Use native login/logout routes from auth0/login package.
Use native JWT authorization middleware from auth0/login package.

This major release comes with breaking changes. Review the Upgrade Guide (UPGRADE.md) to understand the changes required.

Codecov Report

Merging #27 (bbe2635) into master (1e0e639) will decrease coverage by 0.31%.
The diff coverage is 88.00%.

@@             Coverage Diff              @@
##             master      #27      +/-   ##
============================================
- Coverage     88.79%   88.47%   -0.32%
+ Complexity      102       82      -20
============================================
  Files            14       12       -2
  Lines           339      269      -70
============================================
- Hits            301      238      -63
+ Misses           38       31       -7

Impacted Files
Coverage Δ

src/Http/Middleware/AuthorizeDatasetAccess.php
100.00% <ø> (ø)

src/Logging/NewRelicLogger.php
0.00% <0.00%> (ø)

src/Repository/Fakes/FakeUserRepository.php
100.00% <ø> (ø)

src/Repository/UserRepository.php
89.36% <92.30%> (ø)

src/MrdAuth0LaravelServiceProvider.php
100.00% <100.00%> (+20.58%)
:arrow_up:

src/Repository/DatasetRepository.php
100.00% <100.00%> (ø)

src/Traits/ActingAsAuth0User.php
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Scan button in bottom menu should close product card

Is your feature request related to a problem? Please describe.
After scanning a product and expanding the card to full view, the only way to return to the scan view is by swiping the card down from the top. Alternatively, tapping back returns to the "welcome screen" and I have to tap scan again. Tapping scan should return to scan mode immediately.
Describe the solution you'd like
The scan button on the bottom nav should minimize or close the card and return to scan view.

This is a sensible idea. Thanks @chk1 👍

Hi, I'd like to take up this issue. I'll send a PR soon.


pull request for e2e test at 12/25/2016 06:45:06

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


Lighthouse should use read replica when possible

Describe the bug
LH Provers should use read replica end point for db operations that don't write.
To Reproduce
Steps to reproduce the behavior:

Go to:

Additional context
https://discord.com/channels/992549151134982234/1119294499659714602/1121065767291584552
This query is a read only query and should go to read replica

Changes in branch: 4571-lighthouse-should-use-read-replica

This is merged to testnet.


localstore path not configurable

Hello montaque22,
I'm using the offical node-red container to run node-red. This container has it's persistent files below /data.
Source: https://hub.docker.com/r/nodered/node-red/

As you can see on the screenshot, your very interresting modul put its localstore-file below a none persistant folder "/usr/src/node-red/localstore".
Could you please provide an option anywere to set this to a different location?
Thank you very much.
BTW: it would be very helpful if you would create a git-tag for every version you release to npm.

Hello montaque22,
I'm using the offical node-red container to run node-red. This container has it's persistent files below /data. Source: https://hub.docker.com/r/nodered/node-red/

As you can see on the screenshot, your very interresting modul put its localstore-file below a none persistant folder "/usr/src/node-red/localstore".
Could you please provide an option anywere to set this to a different location?
Thank you very much.
BTW: it would be very helpful if you would create a git-tag for every version you release to npm.

Thank you for bringing this to my attention. I will update the code soon.

version 2.0.1 has the ability to change the location of node-localstorage.
In the settings.js file under functionGlobalContext add the key localStoragePath with the new path as the value.
@hans-fischer Open a new ticket with screenshots of logs and steps to reproduce the issue if it persists.

Have you commited your changes?
I can not see any references in the code to a variable with the name: localStoragePath.
I mean the daabase.js is untouched since 2 weeks.
 This was my bad. I committed and published the changes but i didn't push it. I'm really sorry for the back and forth and thank you for your patience with me.


When the same person liked your 2 different post but it only shows a same single link

There's a bug that I encounter when I used my 2nd account to like two different post of my 1st account, and when I opened my 1st account it shares the same link.

To fix it go to user.actions.ts getActivity() and apply these codes to make the reactions and followers separate
const reactionsData = reactions.map(
      (reaction: {
        user: { toString: () => any };
        _id: any; /* NEW */
        createdAt: any;
      }) => {
        const reactingUser = reactionsUsers.find(
          (user) => user._id.toString() === reaction.user.toString()
        );

        if (reactingUser._id.equals(userId)) return null;

        const parentThread = userThreads.find((thread) => /* NEW */
          chirp.reactions.some((r: { equals: (arg0: any) => any }) =>
            r.equals(reaction._id)
          )
        );

const replies = await Chirp.find({ /* Modified and reaction to concat follow removed */
      _id: { $in: childChirpIds },
      author: { $ne: userId },
    }).populate({
      path: "author",
      model: User,
      select: "name username image id _id",
    });

    const activity = [...replies, ...reactionsData, ...followersData]
      .filter((item) => item !== null)
      .sort((a, b) => b.createdAt - a.createdAt);


v506 literally broke everything...

fullscreen in window is now a mess with yts header floating midway and the video way down in the lower third ...also sound playback going on even when the video is left and wont stop until a new video in the same tab is played...
on the positive side the subscription box now loads faster for me somehow

and it stopped reaction on scrolling (the size video to full window feature)

:-)

Oh and im using
it as a userscript with
Chrome Version 42.0.2311.135 m (64-bit)
and Tampermonkey 3.10.84

Same problem here, same software setup.

FS Top player has stopped working for me on 506. Everything else is okay though. Using Firefox+Greasemonkey.

Yup, latest update broke everything unfortunately.

FS top Player, pushes video halfway across to the right.
Is there a way to have a video fit to window (FTW), that goes above the YT search bar and stays FTW when i scroll down. Similar to the "Resize YT To Window Size" on greasyfork?

In the last time the number of problem have increased, i think mostly due to various YouTube changes, but for me the Dev Build 506 have fixed near everything, the player align correctly, the video won't restart enymore, buffering and searching in the video works better and more.
There is some issue like sometime the audio won't load correctly, solved by a refresh, or the video won't start immediatly but this version is a big improvement.
Maybe try to reset the settings, remove YTC and after a restart do a clean installation.

fresh install of 507 fixed my issues thaanx

@danielmarkavis This has been requested at #1682.

waits for update link

Top player works for me in 507. Cheers.


CI: Don't build BoomTile

Change the design to build from BoomTile to lb_32x128

@lpawelcz a build failure...


Run bpf unit tests

This change is

test-me-please

test-me-please

Coverage decreased (-0.04%) to 44.198% when pulling 38372083fd40c78e7ff7e3f657bad09088b3381e on nebril:run-bpf-tests into 343ce9e6be39ca1a389cf212b86e19da2cda95f9 on cilium:master.

test-me-please


Not working with Angular 2.0.0-rc.1

Hi,
I am running Angular 2 app (2.0.0-rc.1) with TS and SystemJS module loader on localhost and the Augury inspection tab doesn't show any information on my app. I am using Chrome (Version 50.0.2661.102 m). I checked the demo app (https://augury.angular.io/demo/) and the information in Augury tab is in there, but nothing for my app.

Same here, maybe it is not working with bundled/minified apps or so?

@codeepic @bzums you should be running the app in dev mode for Augury to work. If to enable Production mode Augury won't show you any details as production builds don't have any debug information.

My fault, restarting the browser after installing sometimes really helps!!1!11 😇

Ok, same here. Restarted the browser and it's working now.

@codeepic can you close the issue? Thanks!!

Mine, really doesn't work.
I minify all js files for my development env. and use source-mappers.
Angular version is<EMAIL_ADDRESS>I've installed Augury from chrome web store and it works for one another project.
  I can get it fine on small projects I am starting with the cli but I cannot get this to work on on larger production apps.  This application is not an Angular application. This application cannot be inspected using Augury..   Not sure what can cause this.

I have similar problem.
src/index.ts has:
// enableProdMode();
This changed nothing.  Still cannot use Augury.
Seems like complex apps have this problem?

@JoeKahl  Are you using some other extensions? Such as AngularJS Inspector for Angular 1x.
Give a try disabling other extensions but let Augry work. In which version I don't remember exactly but once I clicked on Enable for AngularJS Inspector extension and then I was able to use Augry. So, this could be a conflict with another extension because some extensions change DOM.
P.S. Thankfully, now I'm able to use VSCode's debugging features for Angular.


NioSocketChannel leaks file descriptors even when closing

Expected behavior
I expect that if an exception is thrown when calling NioSocketChannel#close, any open sockets should be closed.
Actual behavior
If I run the program below, it indicates that file descriptors are leaking. Similar problems are seen in larger applications.
Steps to reproduce
Run the code below, observe the output.
Minimal yet complete reproducer code (or URL to code)
Example java code
public class NioSocketChannelLeaks
{
    public static void main(String[] args) throws NumberFormatException, IOException
    {
        // Get process ID (first comment in https://stackoverflow.com/a/6372205)
        int pid = Integer.parseInt(new File("/proc/self").getCanonicalFile().getName());

        ProcessBuilder builder = new ProcessBuilder("lsof", "-p", Integer.toString(pid));
        builder.inheritIO().redirectOutput(ProcessBuilder.Redirect.PIPE);

        for (int i = 0; i < 1024; ++i)
        {
            try
            {
                NioSocketChannel channel = new NioSocketChannel();
                channel.close();
            }
            catch (IllegalStateException x)
            {
                try (BufferedReader reader = new BufferedReader(new InputStreamReader(builder.start().getInputStream())))
                {
                    System.out.printf("Got exception: '%s', current open file descriptors: %d%n", x.getMessage(), reader.lines().count());
                }
            }
        }
    }
}

Output from above program when run in Eclipse 4.6
Got exception: 'channel not registered to an event loop', current open file descriptors: 217
Got exception: 'channel not registered to an event loop', current open file descriptors: 218
Got exception: 'channel not registered to an event loop', current open file descriptors: 219
Got exception: 'channel not registered to an event loop', current open file descriptors: 220
Got exception: 'channel not registered to an event loop', current open file descriptors: 221
Got exception: 'channel not registered to an event loop', current open file descriptors: 222
Got exception: 'channel not registered to an event loop', current open file descriptors: 223
Got exception: 'channel not registered to an event loop', current open file descriptors: 224
Got exception: 'channel not registered to an event loop', current open file descriptors: 225
[... output continues and descriptors increase ...]

Netty version
Netty 4.0.47
JVM version (e.g. java -version)
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
OS version (e.g. uname -a)
Linux 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

You are getting an exception from channel.close() as you can see in the log:

'channel not registered to an event loop'

As the message suggests, you have not registered the channel with an eventloop which is required to close the channel. One easy way to fix this is to create this channel using a Bootstrap which correctly registers with eventloop and sets up the channel.

@tobier as @NiteshKant said... closing this one

@NiteshKant Thanks! It was obvious that I had to do something like this (or, perhaps there was a bug in Netty), but my Google-fu was not good enough. I'll use a Bootstrap as you suggest and hopefully it works.


net: http_client: Set body_start pointer unconditionally

Set body_start pointer regardless of the body position in the recv
buffer. In result, the pointer shall indicate correctly position of the
body for each fragment, it's also explicit now that if the pointer is
not set for a fragment, there's no body in that particular fragment.
Fixes #41683
Signed-off-by: Robert Lubos<EMAIL_ADDRESS>

Do you think if it's feasible to calculate things like the length of the body directly in the http_client? I think most application would require that information.

Hmm the information could already be retrieved based on the existing info, however I agree that the calculation is not that straightforward, perhaps it'd make sense to add an extra field to the http_response struct. I wouldn't mind personally, feel free  to submit an enhancement!

I think we could.


Fether doesn't have any logo/icon on linux

Installing though the latest tar.gz on GitHub as well as yarn package.
Same for the .deb (created by the above command):

Yup I can confirm, the 512 icon trick didn't work

.snap has icon for Tbaut too. So only .deb and .tar.xz don't. And AppImage?

AppImage is broken cf. https://github.com/paritytech/fether/issues/166

not solved :(


[Feature request] Client Command

A player had the idea for a command that returns running PBs of their faction.
Optimally, this command would return the same data the Plugin already shows in its UI menu, that is:

Name of the PB
Name of the grid
last runtime in ms
Boolean active

added in v<IP_ADDRESS>


Add a basic XML userguide

Although I'm sure there should be something missing, I hope this could be a good start for documenting XML.

Thanks! We will probably rephrase some sentences but it's great work!


Mocking HTTP calls with nock-vcr-recorder-mocha

I need to mock HTTP calls in my tests.
I found https://github.com/poetic/nock-vcr-recorder-mocha but including it in my app using https://github.com/meteorhacks/npm and with the following test code
vcr = Meteor.npmRequire('nock-vcr-recorder-mocha')
log "VCR!",vcr

describe "Interpret data", ->
    vcr.it "should work", ->
        chai.expect(->
          # http call
        ).not.to.throw()

it gives me the error:
W20150327-17:25:33.820(1)? (STDERR) mocha: 1 tests failed
W20150327-17:25:33.820(1)? (STDERR) should work
W20150327-17:25:33.820(1)? (STDERR) Cannot read property 'test' of undefined
W20150327-17:25:33.820(1)? (STDERR) TypeError: Cannot read property 'test' of undefined
W20150327-17:25:33.821(1)? (STDERR)     at getCassetteName (/Users/fredrikbranstrom/Sites/kaus/.meteor/local/isopacks/npm-container/npm/node_modules/nock-vcr-recorder-mocha/lib/it.js:30:24)
W20150327-17:25:33.821(1)? (STDERR)     at /Users/fredrikbranstrom/Sites/kaus/.meteor/local/isopacks/npm-container/npm/node_modules/n

I'm completely unfamiliar with VCR, and not too familiar with meteorhacks/npm either. I'd probably go with something a little more mature like sinon which has already been wrapped to work with Meteor. It will require a little more manual mocking on your end, but it shouldn't be too painful.
If you do manage to get VCR working though, I'd be excited to check it out. I appreciated it a lot when I was in the Ruby world. My guess is it'll be more involved than just using meteorhacks/npm. I'd take a look at https://www.discovermeteor.com/blog/wrapping-npm-packages/ if you're interested in taking that on. Good luck!

Probably gonna use nock directly for now.
ons 1 apr 2015 kl. 19:41 skrev Michael Risse<EMAIL_ADDRESS>
I'm completely unfamiliar with VCR, and not too familiar with
meteorhacks/npm either. I'd probably go with something a little more mature
like sinon https://github.com/practicalmeteor/meteor-sinon which has
already been wrapped to work with Meteor. It will require a little more
manual mocking on your end, but it shouldn't be too painful.
If you do manage to get VCR working though, I'd be excited to check it
out. I appreciated it a lot when I was in the Ruby world. My guess is it'll
be more involved than just using meteorhacks/npm. I'd take a look at
https://www.discovermeteor.com/blog/wrapping-npm-packages/ if you're
interested in taking that on. Good luck!
—
Reply to this email directly or view it on GitHub
https://github.com/mad-eye/meteor-mocha-web/issues/144#issuecomment-88570240
.


UploadedFile

see below
It's very simple, primitive logic and a lot of code. They wanted to put it in the UploadedFile. And hardcoded a behavior. This is a very big mistake.

Sorry, it's my fault.

Imho, it is necessary. Check, if target directory exists and make it if nessary, change te file permissions, get STATUS if error.
The best way - set a custom MoveStrategy.

Updated.

Now updated.

AS RESULT:
use InvalidArgumentException;
use Psr\Http\Message\UploadedFileInterface;
use RuntimeException;

class UploadedFile implements UploadedFileInterface
{
    protected $strategy;
    protected $file      = '';
    protected $name      = '';
    protected $mediaType = '';
    protected $size      = 0;
    protected $error     = 0;
    protected $moved     = false;

    public function __construct($tempName, $clientName, $mediaType, $size, $error)
    {
        $this
            ->setFile($tempName)
            ->setName($clientName)
            ->setMediaType($mediaType)
            ->setSize($size)
            ->setError($error);
    }

    public function setStrategy(UploadStrategyInterface $strategy)
    {
        $this->strategy = $strategy;
    }

    public function getStrategy()
    {
        if (! $this->strategy) {
            $this->strategy = new DefaultUploadStrategy;
        }
        return $this->strategy;
    }

    public function move()
    {
        if ($this->error) {
            throw new RutimeException(
                'Cannot retrieve stream due to upload error.'
            );
        }
        if ($this->moved) {
            throw new RuntimeException('The file is already moved.');
        }
        $strategy = $this->getStrategy();
        $strategy->move($this);

        return $this;
    }

    public function getStream()
    {
        throw new RuntimeException(sprintf(
            'Method "%s" is deprecated.',
            __METHOD__
        ));
    }

    public function moveTo($path)
    {
        throw new RuntimeException(sprintf(
            'Method "%s" is deprecated; should be used "%s::move()."',
            __METHOD__
        ));
    }

    public function getClientFilename()
    {
        return $this->name;
    }

    public function getSize()
    {
        return $this->size;
    }

    public function getClientMediaType()
    {
        return $this->mediaType;
    }

    public function getError()
    {
        return $this->error;
    }

    protected function setName($name)
    {
        if (! is_string($name)) {
            throw new InvalidArgumentException(
                'Invalid file name provided; must be a string.'
            );
        }
        $this->name = $name;

        return $this;
    }

    protected function setFile($file)
    {
        if (! is_string($file) || ! $file) {
            throw InvalidArgumentException(
                'Invalid file path provided; must be an non-empty string.'
            );
        }
        $this->file = $file;

        return $this;
    }

    protected function setMediaType($mediaType)
    {
        if (! is_string($mediaType)) {
            throw new InvalidArgumentException(
                'Invalid media type provided; must be a string.'
            );
        }

        $this->mediaType = $mediaType;

        return $this;
    }

    protected function setSize($size)
    {
        if (! is_int($size)) {
            throw new InvalidArgumentException(
                'Invalid file size provided; must be an integer.'
            );
        }
        $this->size = $size;

        return $this;
    }

    protected function setError($error)
    {
        if (! is_int($error) || 0 > $error || 8 < $error) {
            throw new InvalidArgumentException(
                'Invalid error status provided; must be an UPLOAD_ERR_* constant.'
            );
        }
        $this->error = $error;

        return $this;
    }
}

client code:
foreach ($files as $file) {
    try {
        $upload = $file->getStrategy();
        $upload->setTarget('...'); // or setTargetDir or etc.
        $file->move();
    } catch (\Exception $ex) {
        // $message = $this->getMessage($strategy->getStatus());
    }
}

Now updated.

Simple example:
<?php
use InvalidArgumentException;
use RuntimeException;

class DefaultUploadStrategy implements UploadStrategyInterface
{
    protected $status = self::STATUS_UNKNOWN;

    protected $filePermissions = 0600;

    protected $target = '';

    public function setFilePermissions($permissions)
    {
        $this->filePermissions = $permissions;
    }

    public function getFilePermissions()
    {
        return $this->filePermissions;
    }

    public function setTarget($path)
    {
        if (preg_match('/[^a-zA-Z0-9\.\-\\/]/', $path)) {
            throw new InvalidArgumentException(sprintf(
                'The target file "%s" contains invalid characters.',
                $path
            ));
        }
        $dir = dirname($path);

        if (! $file_exists($dir) || ! is_dir($dir) || ! is_writable($dir)) {
            throw new InvalidArgumentException(sprintf(
                'The target directory "%s" not exists or not writable.',
                $dir
            ));
        }
        $this->target = $target;
    }

    public function getTarget()
    {
        return $this->target;
    }

    public function move(UploadedFileInterface $file)
    {
        if ($file->getError() || $this->status || ! $this->target) {
            throw new RuntimeException(sprintf(
                'Unable to move the file "%s".',
                $file->getClientName()
            ));
        }
        set_error_handler(function () use ($file) {
            throw new RuntimeException(sprintf(
                'Failed to move the file "%s".',
                $file->getClientFileName()
            ));
        }, E_WARNING);

        try {
            $sapi = PHP_SAPI;
            switch (true) {
                case (empty($sapi) || 0 === strpos($sapi, 'cli')):
                    if (! rename($file->getPath(), $this->target)) {
                        trigger_error('');
                    }
                    break;
                default:
                    // SAPI environment, with file present
                    move_uploaded_file($file->getPaht(), $this->target);
                    break;
            }
        } catch (RuntimeException $ex) {
            restore_error_handler();
            throw new RuntimeException('An error occurend.', null, $ex);
        }
        restore_error_handler();
        $this->status = self::STATUS_SUCCESS;
    }
}

<?php

// namespace Psr\Http\Message; // I hope that it will be

use Psr\Http\Message\UploadedFileInterface;

interface UploadStrategyInterface
{
    const STATUS_UNKNOWN =  0;
    const STATUS_SUCCESS = -1;

    public function move(UploadedFileInterface $file);

    public function getStatus();
}

P.S.: If you develop this idea, perhaps it makes sense to change the getStatus() on getErrorMessage().

Now  need to have looked at it by different people with different experiences and say their opinion.

Updated.

Most of what you're proposing, and specifically the part about deprecating moveTo() in favor of a new method move(), breaks the PSR-7 contract, making it something we cannot and will not consider.
As PSR-7 is accepted by php-fig, that also means no more additions. We could potentially replace PSR-7 with a later proposal, but there would need to be demonstrated need. As it is, we are trying to address the very specific needs around the bare minimum required for interoperability; the strategy approach you propose can and should operate a level above the interfaces, making it more suitable as a consumer of PSR-7.
Second, and related, things like the strategies you propose should be done as a consumer of the UploadedFileInterface.
As an example, zend-validator and zend-filter provide functionality around validation of a file upload and processing it on upload, respectively. Admittedly, they do not yet work with PSR-7, but the basic idea is the same. Updating these for PSR-7 would end up looking something like:
$filter = new FilterChain();
$filter->attach(new RenameUpload($renameOptions));
$filter->attach(new ThumbailFilter($thumbailOptions));

$validator = new ValidatorChain();
$validator->attach(new UploadFile());
$validator->attach(new IsImage($imageValidatorOptions));
$validator->attach(new Size($sizeValidatorOptions));

if (! $validator->isValid($uploadedFile)) {
    throw new RuntimeException('Invalid upload!');
}
$filter->filter($uploadedFile);

The above can even be combined in zend-inputfilter, making the logic even simpler once the filters and validators are configured:
if (! $inputFilter->isValid()) {
    throw new RuntimeException('Invalid input');
}
$fileInfo = $inputFilter->get('name-of-file-input')->getValue();

Your strategy example, could be achieved similarly, and in a much more flexible manner than you propose above. As an example, consider the following consumer code:
$stategies = new StrategyChain();
$strategies->attach(new UploadDirectoryStrategy('data/images/', 0644));
$strategies->attach(new ThumbnailStrategy(['100', '300']));

$strategies->move($uploadedFile);

A strategy chain would implement the same interface as any of the strategies, and essentially call the move() method of each. This would allow having a default "upload" strategy that might move it to a specified directory (ensuring that the directory exists), setting a specific file mode (0644 in the example above), but also allow alternate strategies for other operations. (Very likely, the move() method would likely need to accept both an UploadedFile and optionally a final filename so that later strategies could operate on the uploaded file in its final resting place.)
The point is that logic beyond the basic operations of representing a file upload and moving it to its target resting place belong in consumers, and should exist in libraries other than Diactoros, in part to allow usage with other PSR-7 implementations.

:+1:

ZF uses a similar idea. I will in any case to use it in my code. I think the question about the improvements the PSR has matured. It would be nice if the standard was quite flexible. I think anyone who wants a flexible upload will to raise the same issue.

On the other hand, this issue can be resolved at the level of the specific framework without PSR change. But there are two options. Either everyone will do like. Either no one except this framework to provide this functionality will not be.
use InvalidArgumentException;
use Psr\Http\Message\UploadedFileInterface;

class UploadedFile implements UploadedFileInterface
{
    protected $strategy;
    protected $path      = '';
    protected $name      = '';
    protected $mediaType = '';
    protected $size      = 0;
    protected $error     = 0;

    public function __construct($tempName, $clientName, $mediaType, $size, $error)
    {
        $this
            ->setPath($tempName)
            ->setName($clientName)
            ->setMediaType($mediaType)
            ->setSize($size)
            ->setError($error);
    }

    public function setStrategy(UploadStrategyInterface $strategy)
    {
        $this->strategy = $strategy;

        return $strategy;
    }

    public function getStrategy()
    {
        if (! $this->strategy) {
            $this->strategy = new DefaultUploadStrategy;
        }
        return $this->strategy;
    }

    public function move()
    {
        if ($this->error) {
            throw new RutimeException(
                'Cannot move due to upload error.'
            );
        }
        $strategy = $this->getStrategy();
        $strategy->move($this);

        return $this;
    }

    public function getStream()
    {
        // ?
    }

    public function moveTo($path)
    {
        $strategy = $this->getStrategy();
        if ($strategy instanceof DefaultStrategy) {
            $strategy->setPath($path);
        }
        $this->move();
    }

    public function getPath()
    {
        return $this->path;
    }

    public function getClientFilename()
    {
        return $this->name;
    }

    public function getSize()
    {
        return $this->size;
    }

    public function getClientMediaType()
    {
        return $this->mediaType;
    }

    public function getError()
    {
        return $this->error;
    }

    protected function setName($name)
    {
        if (! is_string($name)) {
            throw new InvalidArgumentException(
                'Invalid file name provided; must be a string.'
            );
        }
        $this->name = $name;

        return $this;
    }

    protected function setPath($path)
    {
        if (! is_string($path) || ! $path) {
            throw InvalidArgumentException(
                'Invalid file path provided; must be an non-empty string.'
            );
        }
        $this->path = $path;

        return $this;
    }

    protected function setMediaType($mediaType)
    {
        if (! is_string($mediaType)) {
            throw new InvalidArgumentException(
                'Invalid media type provided; must be a string.'
            );
        }

        $this->mediaType = $mediaType;

        return $this;
    }

    protected function setSize($size)
    {
        if (! is_int($size)) {
            throw new InvalidArgumentException(
                'Invalid file size provided; must be an integer.'
            );
        }
        $this->size = $size;

        return $this;
    }

    protected function setError($error)
    {
        if (! is_int($error) || 0 > $error || 8 < $error) {
            throw new InvalidArgumentException(
                'Invalid error status provided; must be an UPLOAD_ERR_* constant.'
            );
        }
        $this->error = $error;

        return $this;
    }
}

You're missing another option: you can release a third-party package that provides the functionality as I described in my previous comment, that anybody already using PSR-7 can use. It can then be installed in any other library or application, composed in middleware, incorporated in a form library, etc., without requiring any changes to the PSR-7 specification, and can be used in any application consuming with any PSR-7 implementation.

To be able to experiment with the uploads I need to at least finish the engine of my site :) Given that I'm still studying the features of PSR, it will not be soon. That's why I open this issue here. Perhaps someone will do it for yourself or for all.


How to compile vue2 file and vue3 file

What is the current behavior?
Cannot compile Vue2 and Vue3 at the same time
If the current behavior is a bug, please provide the steps to reproduce.
I installed vue-loader、vue-template-compiler、@vue/compiler-sfc、vue2、vue3
// package.json
"devDependencies": {
  "vue-loader": "16.1.2",
  "vue-template-compiler": "2.6.12",
  "@vue/compiler-sfc": "3.0.7"
},
"dependencies": {
  "vue": "2.6.12",
  "vue3"<EMAIL_ADDRESS>}

How to set vue2 and vue3 config ?
// webpack.config.js
module.exports = {
  entry: ['a.js', 'b.ts'],
  resolve: {
    alias: {}
  }
}

a.js use vue2
// a.js
import Vue from 'vue'
import App from './App.vue'

new Vue({
  el: '#app',
  render: h => h(App)
})

b.ts use vue3
// b.ts
import { createApp } from 'vue3'
import App from './App.vue'

createApp(App).mount('#app')

What is the expected behavior?
compile Vue2 and Vue3 at the same time
Other relevant information:
webpack version:  5.24.4
Node.js version: 12.16.2
Operating System: macOS Catalina 10.15.7
Additional tools:

Please ask this questions in vue/vue-loader repo, in theory you can use multi compiler mode and compiler vue2 code to js when include compiled code in app where you use vue3, but I am not sure, here answer https://stackoverflow.com/questions/64122089/how-can-i-use-vue2-old-component-vue-file-with-a-new-vue3-project


Fix crash in JSDom "browser"

The getPrefix function crashes when it encounters and "weird" user
agent, such as that presented by JSDom.  This commit makes it return an
empty prefix instead; more gracefully degrading to the browser.

Hum, so the CI failed.  But I think the CI is broken - it was complaining about issues connecting to Sauce Labs.

@samdroid-apps thanks for doing this! CI is broken for a while due to Sauce Labs issues.

Merged into the dev branch. Thank you!


Flex Layout

Now that we have a pattern for attached properties, FlexLayout shouldn't be too hard. I plan to take this on next.

We'll probably need to resolve this as well (https://github.com/xamarin/MobileBlazorBindings/issues/180).
That wasn't a blocker for Shell Properties, as all pages allow children anyway, but might be an issue here.

Wouldn't it be easier to just get bootstrap working as well as Z-Index on HTML? The main reason I hate Blazor is the massive amount of markup to do things that are so simple in HTML/bootstrap. If we're sticking with XAML you might as well just be MAUI.

This issue is about Xamarin.Forms native element, there's no bootstrap or HTML here)


fix: add support for vite react plugin. Include react example

What does this PR do?
This PR supports adding a tag for inertia_react_refresh in the html template to enable this library work with react + vite in development
Why is this PR needed
Running a project using react + vite, with inertia and fastapi inertia will result in the error vite-plugin-react can't detect preamble. Something is wrong.. Read more about this errorhere
How can this be manually tested

Scaffold a project using the vite + react setup
Setup inertia in your react project
Setup a fast api project using fast api inertia
In your index.html template, add inertia_react_refresh before inertia_head
Run the fast api project and then run the react project

Inspecting the head of your source file on the browser should return contain script similar to this:

Hello, thank you for the kind work ;
I am not inclined to add framework-specific code to this library.
Please, however, feel free to submit a PR with an example on how to edit the main Inertia class so that it allows for hot refresh with React.
If you need to make changes to anything for that to be possible, please do so (i.e: moving the config_.templates.env.add_extension(InertiaExtension) line to its own function called in the init so it can easily be overridden.
Also, please note that for your PR to match requirements, you need to:

Send signed commits
Provide an update in the CHANGELOG.md
Bump the version in the pyproject.toml

Thank you


DDC incorrectly handling abstract overload of concrete member with NSM

This is a fairly obscure example, but I noticed it in our code.  The following:
class A {
  void foo(int x) {
    print(x + 1);
  }

  void noSuchMethod(Invocation i) {
    print('Not implemented ${i.memberName}');
  }
}

abstract class B extends A {
  void foo(Object x);
}

class C extends B {
}

void main() {
  var c = new C();
  c.foo('hello');
}

prints
hello1

i.e., it's passing a String to A.foo.
What is the correct behavior?

@leafpetersen - thoughts on the correct behavior?  VM checked mode throws a checked mode exception in A.foo.  We don't want to do a check there of course.

Filing as language as I'm not entirely sure what the right behavior should be here going forward.

I don't think this is NSM specific is it?  If I take out the NSM, the same problem persists.  I think this code should be rejected. I'm mildly surprised that it's not a static warning in Dart 1.0.

The NSM is what prevents the static warning today.

I don't see any static warnings if I take out the NSM from that code.

@leafpetersen is correct.  I don't see any difference - static or runtime - due to the NSM.  Updated the bug title.

I agree that class C is invalid on its face, and due to inheriting A.foo, there will not be a noSuchMethod forwarder added, so it is simply rejected as a class declaration.

This example is statically rejected now, so we can close this.


Give up when ExchangeFinder exhausts all routes.

https://github.com/square/okhttp/issues/3308

There is a (extremely rare?) scenario where we may make a connection to a server that is then flagged as unhealthy. Currently 4.4.0 and master will throw a NoSuchElementException.
I ran this test against 4.3.1 and we appear to go an infinite loop. I'm not sure the right action to take in this scenario. Let me know your thoughts.

Not sure about the right fix.  Seems like worth fixing in 4.5, probably commit this behind @Ignore first?

Great test

This PR is the hit sequel to

Nice PR!

I’m gonna merge this as-is because it fixes a big bug, and is already great.
Please address feedback in follow-up PRs as necessary!

Hi @swankjesse & others, We are also facing this issue with okhttp3 3.12.8 version, Could you please confirm if this issue fixed in any latest okhttp3 version?
okhttp3- 3.12.8
Retrofit- 2.6.1
Logs:-
Fatal Exception: java.lang.NoSuchMethodError
No virtual method ,??Վ�蕚õ0ޅ�V��BsK촜ϯ��+Г�?3??_S?#*烔H奼�cMݗ�Ӷɞͷtey�Nԣݛ?java/net/URI;)Ljava/util/List; in class Ljava/net/ProxySelector; or its super classes (declaration of 'java.net.ProxySelector' appears in /system/framework/core-oj.jar)
okhttp3.internal.connection.RouteSelector.resetNextProxy (RouteSelector.java:129)
okhttp3.internal.connection.RouteSelector. (RouteSelector.java:63)
okhttp3.internal.connection.StreamAllocation. (StreamAllocation.java:101)
okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept (RetryAndFollowUpInterceptor.java:113)
okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:147)
okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:121)
okhttp3.RealCall.getResponseWithInterceptorChain (RealCall.java:257)
Thanks in advance.


Cleanup test for gql server

Right now there is bunch of copy pasted code and its hard to read.
Maybe we can utilize some gql library, or test the resolvers directly.
Moreover the "setup" functions need some love

This looks feasible https://github.com/hasura/go-graphql-client
We dont want library that is using generation, as we want assert the query shape in tests, to maintain BC.


Fixes for Python 2.6

Coverage remained the same at 96.774% when pulling 43f51a52eb6a2688f3bb0d8ead6128bd55711f7d on fix-py-26 into 806adc417547811d33980979cadaffa552876952 on master.


Allow users to escape from equation editor by clicking Back

At the moment this takes them to the previous page. Not ideal.

Commit 1773911 might help with this. Overall, there is no effective way of escaping the editor leaving the previous work unaffected, and this is due to how the editor updates its states. There is no easy way out of this.


(WIP) Victory Charts & Stacked Area Chart

Addresses #122 and #125
Switching to Victory from HighCharts. Since the switch is far reaching, and we intended to change the graphs to begin with, it made sense to do both at the same time.
TODOS:

[ ] Add Department Dropdown & Data Switch
[ ] Restructure Data import (or build a formatting layer from existing data)
[ ] Pass Color Data to Legend
[ ] Tooltips
[ ] Style Everything
[ ] Handle No Ethnicities Selected

BONUS (But still possibly a part since time is no longer a part):

[ ] +/- change from last quarter overall in legend
[ ] Date Picker (can just be a dropdown)

I'm going to keep chipping away at this, but I'd happily accept help! Also let me know if I'm not addressing something that is on the current site, I ripped out a lot.
In addition, I am looking for design direction. I can make it look functional and good, but a designer's touch would make it look great!

Thoughts on time picking at data structure:
Within src/data, we have a folder for each date, and then have each of the current files in there. We can then dynamically import each date depending on which time is picked.
In the future, I think we should give the user the ability to swap date with salary- so they pick a salary range and then the independent variable is time, with the dependent variable still being percent.

Closing because of inactivity - feel free to jump back in if you're still interested, but wanted to clean up a bit.


Difference and control returned record

Hi Ilija,
I have a scenario where I would like to determine the record returned when working out the difference between two lists, i.e the record having the min of a field value compared.
What do you think would be a good approach to solving this or do you think I should compare the lists twice and manage the minimum of the two outside of the compare. An idea I had was perhaps a similar approach to mapAll(SObjectToSObjectFunction fn), or perhaps something entirely different?
Amazing work btw, one of my favorite projects!

Hi Konrad, thanks. I understand that you would like to check which list has a smaller min value. I don't see an issue with having two Collection instances to get two minimum values and then comparing between then as you suggest.
I also don't see a problem with combining them into a new list and then finding the minimum of that one combined list. I may be missing some important information.


Validate intersection of Pod and Service networks

What this PR does / why we need it:
Earlier the Gardener admission cross checked the following network ranges:

Shoot
Seed

Pod
Pod

Service
Service

Node
Node

This PR adds the following checks because an overlap of these networks result in a broken state as well (/cc @MartinWeindel).

Shoot
Seed

Pod
Service

Service
Pod

Special notes for your reviewer:
/cc @zanetworker
Release note:

Gardener now validates that the Pod(/Service) network of a shoot cluster does not intersect with the Service(/Pod) network of the assigned seed.

@timuthy sorry just saw the PR, seems it has been already reviewed and merged :)


Update existing KiCAD libraries to KiCAD 7.0

Worked on updating symbols.

Completed up to Logic_Buffer_jal library

Completed symbols. Need to do footprints still


OS.current_screen does not switch screens in fullscreen

Godot version:
3.2.3 stable
OS/device including version:
Manjaro 20.2, Linux 5.9.10
OpenGL ES 3.0 Renderer: AMD Radeon RX 5700 XT (NAVI10, DRM 3.39.0, 5.9.10-1-MANJARO, LLVM 11.0.0)
Issue description:
I've been searching around, but cannot find an answer.
I use an OptionButton to move my game's window from one screen to another, like so:
func on_item_selected(index: int) -> void:
	OS.current_screen = index

When in windowed mode (i.e. OS.window_fullscreen == false), this works just fine. I select screen 0, the window goes to screen 0; I select screen 1, the window is now on screen 1.
However, when the game is running fullscreen (OS.window_fullscreen == true), setting OS.current_screen does nothing. The game stays on the same screen.
Is this inteded? It seems like an inconsistency to me. Is there a different (better?) way to switch screens while in fullscreen?
Minimal reproduction project:
screen-switch-repro.zip

Is this inteded? It seems like an inconsistency to me. Is there a different (better?) way to switch screens while in fullscreen?

Try this:
OS.window_fullscreen = false
OS.set_deferred("current_screen", index)
OS.set_deferred("window_fullscreen", true)

Will test on Windows and provide a repro project when I get a moment.
My current workaround looks like this:
func on_item_selected(index: int) -> void:
	if OS.window_fullscreen:
		OS.window_fullscreen = false
		OS.current_screen = index
		OS.window_fullscreen = true

And it works, but it's a bit counterintuitive.

On Windows 10 it behaves exactly the same.
I have attached a repro project in the top post.

Duplicate of #14620


Fix XML tree mapping to be used with resolving target entities.

Similar to https://github.com/Atlantic18/DoctrineExtensions/pull/987 when using a target entity resolver it basically checks that (Acme\Model\Something)->isSubClassOf(Acme\Model\SomethingInterface) and was failing.

I guess this is replaced by https://github.com/Atlantic18/DoctrineExtensions/commit/5e19886a64ef7e3540bb362eacfdf7d60c5608e6, but still does not work correctly. Will make an issue.


[FEAT] Cloud Sync

How about the ability to sync your configuration to a cloud, be it google cloud, onedrive or/and dropbox.
There are many extensions that offer this setting and I think it would make it easier to use for most users with multiple devices.

I can look into that. I've never done anything with syncing to the cloud so I don't know if it's possible.

I think this would overcomplicate the extension, plus there's already a export/import config button. Sorry

No problem, still thanks for considering


Dotnet platform standard

Changed to target the .NET Platform Standard. This allows using the library in .NET Core apps in addition to under the full .NET Framework.

I like this, but it is the first time I have encountered using the project.json. I am going to have to dedicate some time to read up on it. I could not get the project to build with some initial tinkering.

Implemented from scratch. Thanks for the PR. It helped me a lot to get started. I appreciate it.


buffer read and write

https://github.com/serde-rs/json/blob/0ebeede28a0d5f0f07f18124078f55d62b180a2d/src/ser.rs#L1540
https://github.com/serde-rs/json/blob/0ebeede28a0d5f0f07f18124078f55d62b180a2d/src/read.rs#L194
before:
write(3, "{", 1)                        = 1
write(3, "\n", 1)                       = 1
write(3, "  ", 2)                       = 2
write(3, """, 1)                       = 1
write(3, "ociVersion", 10)              = 10
write(3, """, 1)                       = 1
write(3, ": ", 2)                       = 2
write(3, """, 1)                       = 1
write(3, "1.0.2-dev", 9)                = 9
write(3, """, 1)                       = 1
...
read(3, "{", 1)                         = 1
read(3, "\n", 1)                        = 1
read(3, " ", 1)                         = 1
read(3, " ", 1)                         = 1
read(3, """, 1)                        = 1
read(3, "o", 1)                         = 1
read(3, "c", 1)                         = 1
read(3, "i", 1)                         = 1
read(3, "V", 1)                         = 1
read(3, "e", 1)                         = 1
read(3, "r", 1)                         = 1
read(3, "s", 1)                         = 1
...
after:
read(3, "{\n  "ociVersion": "1.0.2-dev",\n "..., 8192) = 3293
write(3, "{\n  "ociVersion": "1.0.2-dev",\n "..., 3282) = 3282

Codecov Report

Merging #1581 (1c4096e) into main (8b0c44b) will decrease coverage by 0.03%.
The diff coverage is 55.00%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1581      +/-   ##
==========================================
- Coverage   68.86%   68.84%   -0.03%
==========================================
  Files         120      120
  Lines       13058    13071      +13
==========================================
+ Hits         8993     8999       +6
- Misses       4065     4072       +7

Hey, if I understand correctly, this changes normal read/write to buffered, so that number of syscalls are reduced?

Hey, if I understand correctly, this changes normal read/write to buffered, so that number of syscalls are reduced?

Yes,serde_json read content from reader byte by byte,if without buffered,there are huge number of read syscalls.Similarly,serde_json will call write for every element.

Thanks a lot for making this improvement !


bump: :email mu4e (org-msg)

Works great here.

Please request this of https://github.com/hlissner/doom-emacs/pull/3971. All dev efforts for this module has been relegated to it.

@peterhoeg we're already using that version of org-msg in that PR.


Segue to proper tab of tabbar (front view) from rear view.

I have the following storyboard setup (see attached screenshot).

It's a fairly simple setup, where I have a tabbarcontroller as the frontviewcontroller with two tabs. I want to be able to segue to the proper tab from the rear view (which is the menu table view).
Here is what I'm currently doing:

In the rear view's uitableview

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView reloadData];
if (indexPath.row == 1 || indexPath.row == 2) {
[self performSegueWithIdentifier:@"toTabBarSegue" sender:indexPath];
}
}

(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"toTabBarSegue"]) {
if ([sender isKindOfClass:[NSIndexPath class]]) {
NSIndexPath *indxPath = (NSIndexPath *)sender;
TabBarViewController *tBVC = segue.destinationViewController;
tBVC.selectedIndex = indxPath.row;
}
}
}
Problem: This segues to the proper tab but the menu gesture stops working. Also the the state of the tab is reloaded to initial settings. So my question is, what is the best way to load a particular tab with previous state from rear view (menu) uitableview?

Any help is much appreciated!

Hello,
Is it what you want?
SWTabBar.zip

Yes, this did it! Thank you very much.

Hi, I have one more question. When we segue back to the frontcontroller from the menu, is it possible to pop a uiviewcontroller that is currently on the frontcontroller? I have a scenario where something gets pushed on the frontcontroller (in this case, one of the tabs from the tabbar), so when I go back to it from the menu I want that added VC to be popped off. Thanks.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UITabBarController *tabBarController = (UITabBarController *)self.revealViewController.frontViewController;
    UINavigationController *navController = tabBarController.viewControllers[indexPath.row];
    [navController popToRootViewControllerAnimated:YES];
    tabBarController.selectedIndex = indexPath.row;
    [self.revealViewController pushFrontViewController:tabBarController animated:YES];
}

That works, thanks!

Perhaps, it is better not to animate:
[navController popToRootViewControllerAnimated:NO];

@htarwara6245 , I'm not strong enough in swift
if you want to disable a gesture:
[self.navigationController.view removeGestureRecognizer:self.revealViewController.panGestureRecognizer];

ok,Thanks,If i got an answer,I will share it here.

Perhaps this should help :
https://apps.myappconverter.com

But if you know swift it is not very complicated to translate the code as each objective-c method has an equivalent in Swift

@htarwara6245 , I have not managed to use MyAppConverter. So I followed a tutorial and following a swift version of my example :
SWTabBarSwift.zip
Tell me what!

Thanks for the help.Currently.I only have Xcode 9.2 at my mac.But,I will try to reply u back when i got Xcode 7.3.Thanks for giving me some time.:D.

@iDevelopper ,it really worked!!!I mean the swift version u gave to me...Thanks for the excellent example you supported.Sorry about my late reply.Thank you.

This is the last version:
SWTabBarSwift 2.zip

@iDevelopper ,I want to create something more creative.Assume we got table view on each tab bar item.
Each table cell got its own view.Creating push segue from UITabBar is ok.But,from slide menu,its not.
Please check my new project
SWTabBarSwift[New Modified].zip
When we navigate from slide menu to other view controller that is not in reveal controller,there is no back button because when we make back segue it could turn to left menu.Please take a look at my project.There might be some crash on navigation on item 1 and 2 slide items.
What i want?
Is the same flow like that
UITabBarController(Item 1) got UITableViewController -> Tap Classic - >Go to classic view,when back from classic,back to UITabBarController.
Same flow on Slide menu
Slide Menu - > Tap Classic - > go to classic View ->When make back swipe,it should back to its own existed tab item 1.
Please ask me if u feel complex about that,A little help?

@htarwara6245 , I looked and changed the project but I ask myself the question why you want to do that. Come back on a view where the user did never passed!
As you do that can not work. You instantiate the final view controller to push it, so nothing in the stack to return.
I modified in MenuTableViewController, in didSelectRowAtIndexPath. Hope I understood!
I deleted the add Tap an Pan Gesture in the view controllers. Just need to do that in RevealViewController class. You deleted a part of rightViewController. I did not care.
SWTabBarSwift 3.zip

Yeah,I asked myself,too.This is the ridiculous.Actually this app design is similar to Google + app.But,the client wants to navigate the item inside tab from slide menu which was non-sense.
But,I really appreciate that you gave some time to help me out,Thank you.:) Thanks for my late reply I just got home from work.

@iDevelopper ,I got one question to ask.How do i disable the swipe gesture on the detail view?I mean when  we reach the classic view from the slide navigation,the slide menu appear gesture is still working.Any help for disabling it?

@htarwara6245 ,
RevealViewController.swift.zip

No.1 I solve the problem like that,
But,while I am testing my application I found that black screen appear everytime i swipe the slide menu multiple time between rear view and front view
I fixed that bug like that.At the RevealViewController,I added the following code
self.toggleAnimationType = .EaseOut
And I want another solution too,hope you can help me,

I'll write a sample

What about this?
SWFrontMenu.zip

@iDevelopper,I got one final question to ask.
Because my app gonna release soon.Is there any way that i can disable font view(Tab Bar) user interaction when the reveal view (Left Menu) appear?
Thanks
With Regards

I got it now.At my front view,I mean every front view.I extended SWRevealViewControllerDelegate and at viewDidLoad(),added two line of codes
   `self.revealViewController().delegate = self
    self.revealViewController().panGestureRecognizer()`

and added two delegate methods,
   `func revealController(revealController: SWRevealViewController, willMoveToPosition position: FrontViewPosition){
    if(position == FrontViewPosition.Left) {
        self.view.userInteractionEnabled = true
    }else {
        self.view.userInteractionEnabled = false
    }
}

func revealController(revealController: SWRevealViewController, didMoveToPosition position: FrontViewPosition){
    if(position == FrontViewPosition.Left) {
        self.view.userInteractionEnabled = true
    } else {
        self.view.userInteractionEnabled = false
    }
}`

If there is a better way,Any suggestion is appreciated.
And Thanks for all your help you gave me all the way.

Nah that didnt work....When i implement that this function at SWRevealController stop working
`func revealControllerPanGestureShouldBegin(revealController: SWRevealViewController!) -> Bool {
let tabController = revealController.frontViewController as! UITabBarController
let navController = tabController.viewControllers![tabController.selectedIndex] as! UINavigationController
let controller = navController.topViewController
    if controller!.isKindOfClass(LanguageViewController.classForCoder()) {
        return false
    }
    if controller!.isKindOfClass(SettingsViewController.classForCoder()) {
        return false
    }
    return true
}`

Do like in this sample. Add in RevealViewController subclass the two methods tapGestureRecognizer ans panGestureRecognizer in viewDidLoad. Delete the viewWillAppear in each front controller.
SWTabBarSwift 4.zip

Do like in this sample. Add in RevealViewController subclass the two methods tapGestureRecognizer and panGestureRecognizer in viewDidLoad. Delete the viewWillAppear in each front controller.
SWTabBarSwift 5.zip

Ok,let me give a try

And do not set a delegate for sw elsewhere than in RevealViewController subclass!

My client wants something new again.Assume we got 4 tab bar items at UITabBarController.Assume 4 Main Categories for now.But,he want to add new Home View Screen.When the app load the TabbarController.I want to show HomeViewController.But,I want all 4 tabbaritems to be deselected.Means i want to make home view controller with slide menu as root view controller and want to show tab bar at home view.But,wants to deselect all tabbaritems at home view.Can I make it like that?
More Simply.
1.Setting HomeViewController with slide menu and TabBarItems(All Unselected)
2.HomeViewController doesn't concerned with TabBarItems(4 Categories).It was just a view which include slide menu and tabbarcontroller(all unselected)
Any Help?

I don't understand. What is for the HomeViewController? You can't have a TabBarController with no item selected...

Please take a look at google + app on ios.And open slide menu.Choose Profile.You will see No tabBar is selected.What i want is i want to show profile on root view controller with no tab selected.

I think they don't use a TabBarController but just a TabBar and at this moment the can do tabBar.selectedItem = nil

Can you help me find this out with UITabBarController?because i set the whole project with UITabBarController on storyboard.;(

You could set a color for unselected items and a tint color for selected item and when you want no item selected, change the tint color to the same color for unselected item.
    tabBarController.tabBar.tintColor = the color of unselected items

If I can work with UITabBar,can you provide an example of my above requirement with UITabBar with reveal controller which i can push from each tab as well as from slide menu?Please?

The best way will be to use container views, have a look!

Here is a sample:
SWTabBarSwift2.zip

Thanks for the help,I just tell my client that I have to add new Home Tab instead before your answer come in.Anyway,really thanks for your help all these way even that is not concerned with this library.

@iDevelopper,I know this one is close,so I would like to post a new question which need your support :
https://github.com/John-Lluch/SWRevealViewController/issues/646
Any Help?Its about navigating to each screen inside left menu or tabbaritem.


Ability to choose newer version of pandas

Is your feature request related to a problem? Please describe.
I can't use the explode function for multiple columns because the current recipe for pandas uses something before version 1.3
Describe the solution you'd like
A pandas recipe that is newer than 1.3
Describe alternatives you've considered
The ability to choose pandas version (remove the numpy patch)
Thank you so much in advance!

Hi @kwebber3 !
Please open this feature request on kivy-ios or python-for-android 🙂
https://github.com/kivy/kivy-ios
https://github.com/kivy/python-for-android


Moviepy writing video takes too much time

Logs
Moviepy - Building video temp_clips/output.mp4.
MoviePy - Writing audio in outputTEMP_MPY_wvf_snd.mp4
MoviePy - Done.
Moviepy - Writing video temp_clips/output.mp4

The last step of writing is taking too much time close to 20 mins for completion

It should be rendering the video. Try running off blur option in config file. I also updated the repo since your issue, so try to use the new version when you disable blur!


fix(kibbeh): update Indonesian 1/x

More changes to be added in this pr, i'll comment when I have done all of them

Should be ready to push


Unable to start addon due to newlines in reactContext JSON

I'm submitting a ...

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

General information
Netflix addon fails to start
Addon version used
0.14.0beta23_20190325
Description
Starting the addon always prompts the login screen
After entering login details a screen shows "Check your credentials"
Context (Environment)
Swedish Netflix subscription
Linux NUC 5.0.4 #1 SMP Sun Mar 24 21:08:22 GMT 2019 x86_64 GNU/Linux
LibreELEC (Milhouse): devel-20190324210257-#0324-g5ccaa74 [Build #0324]
Kodi (18.2-RC1 Git:98d18d0). Platform: Linux x86 64-bit
Installation

[x] I'm using this Netflix Repo
[ ] I'm using other Netflix Repo (Please specify which)
[ ] I'm using a different source (Please tell which)

Debug log
DEBUG: [plugin.video.netflix (0)] Extracting userdata from webpage
DEBUG: [plugin.video.netflix (0)] Extracting reactContext JSON
ERROR: [plugin.video.netflix (0)] Traceback (most recent call last):
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/api/website.py", line 167, in extract_json
return json.loads(json_str)
File "/usr/lib/python2.7/json/init.py", line 339, in loads
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
ValueError: Invalid control character at: line 1 column 73808 (char 73807)
Full debug log: https://pastebin.com/XLPMqbPc
Other information
The problem appears to be the occurrence of two newline characters in the above mentioned JSON. See the two \n below:
"added.in.the.last.day":"\x3Cb\x3E{lastAddedNum,\x20number}\x3C\x2Fb\x3E\x3Cbr\x3Eserier\x20och\x20filmer\nhar\x20lagts\x20till\x3Cbr\x3E\x20{numDays,\x20plural,\x20one\x20{det\x20senaste\x20dygnet}\x20other\x20{de\x20senaste\x20\x23\x20dagarna}}."
"added.in.the.last.week":"\x3Cb\x3E{lastAddedNum,\x20number}\x3C\x2Fb\x3E\x3Cbr\x20\x2F\x3Eserier\x20och\x20filmer\nhar\x20lagts\x20till\x3Cbr\x20\x2F\x3E\x20{numWeeks,\x20plural,\x20one\x20{den\x20senaste\x20veckan}\x20other\x20{de\x20senaste\x20\x23\x20veckorna}}."
Replacing the newline with something else just before https://github.com/CastagnaIT/plugin.video.netflix/blob/master/resources/lib/api/website.py#L167 fixes the problem:
json_str = json_str.replace('\n', '\x20')  # Replace newline with space

please put the full file log

Added full debug log. What information was missing?

Line feed is supported in json, please test this:
    json_array = recompile(JSON_REGEX % name, DOTALL).findall(content)
    json_str = json_array[0]
    json_str = json_str.replace('\"', '\\"')  # Escape double-quotes
    json_str = json_str.replace('\\s', '\\\\s')  # Escape \s
    json_str = json_str.replace('\n', '\\n')  # Escape line feed <---------
    json_str = json_str.decode('unicode_escape')  # finally decoding...
    return json.loads(json_str)

h\x20filmer\nhar\x20lagts  <-- this "\n" is not escaped
after this:
json_str = json_str.replace('\n', '\n')
become
h\x20filmer\nhar\x20lagts  <-- this "\n" is escaped
so json.loads doesn't complain,
and returns string like:
h filmer\nhar lagts ti

I need you to send me again what you put on the Other information section, because it is possible that github has truncated all the characters "\"
you have to make a txt file like I did and attach it to the comment

Other information.txt
After a bit more testing this is what I found (I just can't understand why I couldn't get that working last I tested):
This works
json_str = json_str.replace('\\n', '\\\\n')  # Escape line feed
before the decode line
json_str = json_str.decode('unicode_escape')  # finally decoding...
And this works after the decode line
json_str = json_str.replace('\n', '\\n')  # Escape line feed
Working example with log output.txt

Thank you for doing all the necessary tests
now i'm going to apply the fix


Event for map swap collisions. Trigger map swap on collision.

Summary
Adds functionality to trigger changing maps based on zone lines. This currently only works if you go to the correct location and do /loc, then /moveto the location, due to the current movement code being out of sync with the client. /moveto will update the loc to the correct location and trigger the map change.
Currently this does not set the position in the new zone to the correct position, it just forces to the safe position. I think that some of the map transfer code is going to have to be rewritten a bit to accommodate this. I can do that in this PR or do it in a separate PR later.
This also fixes #712 .
Issues closed
I can't actually find the issue for this any more.
Additions/modifications proposed in this pull request:

Added a new function to the WorldSimulation to check map swap marker collisions.
Added reference to the owning map instance to world simulation
Added a new message event for map swap marker collisions.
Trigger map swaps based on map swap marker collisions
Adds a single hash of map transfers for both zone and door transfers. This also gets hospitals as well.
Changed map transfer related code to all use a single structure, rather than the multiple from before.
Moved getNearestDoor to MapInstance now that it only checks against the existing hash.
Added additional map helper function to get map path from map name.
Zones to corresponding spawn location for map transfers (zoning from Atlas Park to Kings Row using the map swap marker at /loc 1080 0 1030 will spawn you at the Atlas Park wall in Kings Row)

Just a quick note - I plan on fixing #712 in this PR, as well as updating this to go to the correct spawn location after a zone transfer.

This should now be mostly done I think. There's still some small issues but I think they're unrelated enough to this that they could be made separate issues and worked on at another time.

Zone transfers are currently based on a 50x50 square around the MapSwap_Marker. This should really be changed to use to transfer trigger that already exists in the scenegraph somewhere. This should also solve the issue of zoning potentially causing you to collide with the MapSwap_Marker collision box and zoning you back to the previous zone immediately.

Movement issues cause the zone transfers to only trigger if you use /moveto or if the transfer trigger is close enough to where you spawn that the movement is still sync'd enough to hit the trigger.

The scenegraph traversal should probably be checked against false positives. Currently it loads all nodes that contain either a GotoMap or GotoSpawn. MapSwap_Markers have both, doors and CityWarp only have GotoSpawn usually. I don't think anything so far only has GotoMap.

I'm still undecided about the MapXferData struct, and whether to include the path with it.  There may also be some other properties added that make it easier for some things in the future.

Latest merged #750 has caused some merge conflicts here. Otherwise I don't see any reason not to merge this. We can iterate upon the architecture as we continue to expand functionality (and hopefully solve movement)

Sorry. My merges from this morning have created some additional merge conflicts.
You're next to go in here, once these new ones are resolved

Latest merge seems to have broken this, so checking some things

Will wait for your "ok" before proceeding.

Okay, fixed it. Should be good now


README & Documenter Change Corresponding to Ownership Transferring.

Regarding test failures:
Generic-strided GEMM is known to cause problems.
Some small-size packing routines seems misbehaving.
I'm debugging the upstream.

See #1


fix(deps): update terraform random to latest for deployable modules / architectures

This PR contains the following updates:

Package
Type
Update
Change

random (source)
required_provider
patch
>= 3.6.1, < 4.0.0 -> >= 3.6.2, < 4.0.0

Release Notes

hashicorp/terraform-provider-random (random)
v3.6.2
Compare Source
NOTES:

resource/random_pet: Results have been updated to the latest upstream petname data (#581)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

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


Remove $scope service in favor of use the "Controller as" syntax in the examples

I updated some templates and JavaScript code in order to use "Controller as" syntax and an alias instead of use $scope service which is suggested as a best practice for AngularJS.
Also, I updated some scripts with the use of single quotes instead of double quotes.

Good point, thanks! I'll review the PR tomorrow and merge.

Hi @mgechev are you good with these changes?
If not, please let me know your comments.

Yes, sorry for the delay. Looks great! :-)


parsers in cython

@ebolyen, interested in getting parse_fasta and parse_fastq in cython?

Not sure if this is the best issue to comment on but wanted to provide some user experience. I compared a few different Python packages and while scikit-bio has really impressed me with its sequence alignment implementation, the parsing is quite bad. I'm using Python 3.8 in a conda environment to access the contents of a ~350 MB gzipped FASTQ file. Maybe I'm doing this in an incredibly stupid way.
import gzip
import logging
from io import BytesIO, StringIO
from pathlib import Path
from time import perf_counter
from typing import List, Callable

from Bio import SeqIO
from biotite.sequence.io.fastq import FastqFile
from skbio import read

logger = logging.getLogger(__name__)

def read_biopython(filename: Path) -> List[int]:
    with gzip.open(filename, mode="rt") as handle:
        return [len(record.seq) for record in SeqIO.parse(handle, "fastq")]

def read_biopython_from_memory(filename: Path) -> List[int]:
    with gzip.open(filename, mode="rt") as handle:
        content = StringIO(handle.read())
    return [len(record.seq) for record in SeqIO.parse(content, "fastq")]

def read_biotite(filename: Path) -> List[int]:
    with gzip.open(filename, mode="rt") as handle:
        return [len(seq) for _, seq in FastqFile.read(handle, "Illumina-1.8").items()]

def read_iter_biotite(filename: Path) -> List[int]:
    with gzip.open(filename, mode="rt") as handle:
        return [len(seq) for _, seq in FastqFile.read_iter(handle, "Illumina-1.8")]

def read_iter_biotite_from_memory(filename: Path) -> List[int]:
    with gzip.open(filename, mode="rt") as handle:
        content = StringIO(handle.read())
    return [len(seq) for _, seq in FastqFile.read_iter(content, "Illumina-1.8")]

def read_skbio(filename: Path) -> List[int]:
    return [
        len(seq) for seq in read(str(filename), format="fastq", variant="illumina1.8")
    ]

def read_skbio_from_memory(filename: Path) -> List[int]:
    with gzip.open(filename, mode="rb") as handle:
        content = BytesIO(handle.read())
    return [len(seq) for seq in read(content, format="fastq", variant="illumina1.8")]

def bench(method: Callable, filename: Path) -> None:
    start = perf_counter()
    method(filename)
    logger.info(f"{method.__name__:<30} {perf_counter() - start:.5G} s")

read_biopython                 35.771 s
read_biopython_from_memory     35.224 s
read_biotite                   29.363 s
read_iter_biotite              23.052 s
read_iter_biotite_from_memory  23.104 s
read_skbio                     845.03 s
read_skbio_from_memory         840.39 s

biopython=1.78=py38h1e0a361_1
biotite=0.24.0=py38h1e0a361_0
scikit-bio=0.5.6=py38h0b5ebd8_4

Hey @Midnighter, unfortunately, you are doing it exactly right! We really are very slow on the FASTA/FASTQ side.
Thank you for the benchmarks, that really does put our performance into perspective.