Ionic Build Error, cannot find GoogleService-Info.plist

Hi. I'm trying to Build, using 2.0.0-rc4 per https://github.com/phonegap/phonegap-plugin-push/issues/1767 and https://github.com/phonegap/phonegap-plugin-push/issues/1701
Expected Behaviour
Project builds
Actual Behaviour
Project does not build, giving error
    The following build commands failed:
    CopyPlistFile
    /Users/jason/Library/Developer/Xcode/DerivedData/MyProject-hcncjnpsinwglhghbzfnuivgzjeg/Build/Intermediates/ArchiveIntermediates/MyProject/InstallationBuildProductsLocation/Applications/MyProject.app/GoogleService-Info.plist
    /Users/jason/jason/code/GIT/MyProject/mobile/platforms/ios/MyProject/Resources/GoogleService-Info.plist
    (1 failure)

Reproduce Scenario (including but not limited to)

Initial build after adding plugin

Steps to Reproduce

Add plugin per INSTALLATION.md
Download and place google-services.json and GoogleService-Info.plist to /Users/jason/code/GIT/MyProject/mobile directory
Run ionic cordova build ios

Platform and Version (eg. Android 5.0 or iOS 9.2.1)
n/a
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
n/a
Cordova CLI version and cordova platform version
ionic 3.4.0. (see above)

Plugin version
phonegap-plugin-push 2.0.0-rc4
phonegap-plugin-push 1.10.5 (may have provided different error during build)

Sample Push Data Payload
n/a
Sample Code that illustrates the problem
n/a
Logs taken while reproducing problem

@jvjvjv what version of cordova-ios is ionic using under the hood?

Thanks for checking in. I had provided that in a previous draft of the above message but it looks like I'd removed it by accident.
cordova-ios 4.4.0

Here's a question, @macdonst. Why does the destination directory duplicate my name? The project is under /Users/jason/code/GIT/MyProject/mobile/  and not /Users/jason/jason/code/GIT/MyProject/mobile/.

Here's some more information. It's not Ionic.
cordova create bonsaitest com.bonsai.test "Boina"
cd bonsaitest
cordova plugin add<EMAIL_ADDRESS>cordova build ios

This also fails. Using<EMAIL_ADDRESS><EMAIL_ADDRESS>

Here's some more information. It's not Ionic.
cordova create bonsaitest com.bonsai.test "Boina"
cd bonsaitest
cordova plugin add<EMAIL_ADDRESS>nano config.xml (add GoogleService-Info.plist file)
cordova build ios

This also fails. with the same type of error.
The following build commands failed:
    CopyPlistFile /Users/Jason/Code/GIT/bonsaitest/platforms/ios/build/emulator/Boina.app/GoogleService-Info.plist /Users/jason/jason/code/GIT/bonsaitest/platforms/ios/Boina/Resources/GoogleService-Info.plist

(1 failure)
Using<EMAIL_ADDRESS><EMAIL_ADDRESS>

@jvjvjv I have no idea why this is happening but can you paste the line you add to config.xml?

<resource-file src="GoogleService-Info.plist" target="GoogleService-Info.plist" />

@jvjvjv try this (omit target):
<resource-file src="GoogleService-Info.plist" />

I happened to have done that as well; it didn't work so based on https://github.com/phonegap/phonegap-plugin-push/issues/1701's comments I tried adding target.

Question, @macdonst - Can you reproduce this with the steps I'd added? If not, what cordova version are you using?

@jvjvjv I'm using<EMAIL_ADDRESS>&<EMAIL_ADDRESS>and I'm not seeing the error. I'm not using Ionic though so I may have to try it with the Ionic CLI soonish. I'm at a conference right now so wifi is not great.

I'm doing this without Ionic and still getting the error. Thanks for the assistance for now. I was hoping it would not take this long to troubleshoot.

I am also facing the same problem. For me it seems very spontaneous as sometimes it builds without complaining and sometimes it does not. It happens more often and could not find a reason.
I am also using latest versions of cordova and cordova-Ios

Same problem. Anyone with a solution or idea?

Hi, it happens to me too, and strangely enough, not all the time ( but very often.. )

+1

@shazron ever see anything like the above issue in cordova-ios?

Investigating, using steps:
cordova create bonsaitest com.bonsai.test "Boina"
cd bonsaitest
cordova plugin add<EMAIL_ADDRESS>nano config.xml (add GoogleService-Info.plist file)
cordova build ios

Will update if I know more.

I was able to repro. Seems that others have this same problem: https://github.com/stetro/cordova-plugin-fcm-config/issues/3

When I tested it, it failed with an empty plist.
When I copied the contents of my app's Info.plist into GoogleService-Info.plist, it builds fine (ran it ten times just in case). My hunch is the GoogleService-Info.plist you are using is malformed, thus the CopyPlistFile function errors out since it probably does some verification, not sure yet.
Can you post an affected .plist that you used that exhibits this bug?

Scratch that, ran it > 10 times now I see the error. Hmm. I think I can see why it errors, perhaps a race condition since if I run it 10 times, I see 10 references in Resources in Xcode to the .plist and these multiple references probably are run concurrently resulting in "missing" files.

Filed https://issues.apache.org/jira/browse/CB-13112

Super helpful, @shazron. Thank you!
I'm not sure of the internals of Cordova enough to sort of figure out a hackish way around the issue in the meantime?

The phonegap build blog says to workaround this issue, use cli-65.0 with the new builder for phonegap-plugin-push.  Howerver, doing that causes the plugin to be skipped because the plugin requires cordova.
Plugin doesn't support this project's cordova-ios version. cordova-ios: 4.3.1, failed version requirement: >=4.4.0
So, the workaround on the phonegap blog really doesn't make sense.

@uj no the workaround does not make sense. I've asked the author to clear up that misconception.

Identified the problem: https://issues.apache.org/jira/browse/CB-13112?focusedCommentId=16117720&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16117720
TLDR; unit tests used an older project template which had a flaw that didn't surface this problem.

Fix: https://github.com/apache/cordova-ios/pull/329 (all tests pass)
This will be in the next cordova-ios release. I can put out a hotfix<EMAIL_ADDRESS>that includes this fix -- I will just branch off the 4.4.0 tag and cherry-pick this fix, and you can install off the hotfix branch for the platform. non-official release, for testing only).
For now, you can install this platform to test the fix:
cordova platform add https://github.com/shazron/cordova-ios.git\#CB-13112

Please test, thanks!

What is the status if this?

@tlaverdure They fixed this on Aug-8 in PhoneGap Build, and there was also a patch at the same time for people using their own build computer.

Well for whatever it is worth is seems like building ionic and Cordova separately solved this for me.
ionic cordova build --prod --release --device was failing when the GoogleService-Info.plist file couldn't be copied. However, ionic build --prod && cordova build ios --release --device seems to work. 😕

@tlaverdure Are you using the CB-13112 patch?  Or are you using the official release of cordova?

The official release, which has been buggy for some time now.

@tlaverdure Yes, that is why you have to install the cb-13112 patch to fix it, then it will work properly.

Working great, @shazron. Thank you!!

Is this solved with the new release of cordova-ios 4.5.0 ?

@shyamal890 yes.

Error: Source path does not exist: GoogleService-Info.plist
Im getting above error when i am running cordova build android command

@AmitAKB This ticket has been closed already. If the information here does not help you please open a new ticket.


EAS-2074 : Make FSRT more performant with a definition analysis map without projections

Don't worry, not another 500 line PR 😅. This includes the commit of the previous PR. But, might as well open this.... 😄

this has been fixed to include a hash map instead of the btree map when there are no projections. thank you!

Let me validate that this still works with the objects.

Ok, I validated it works with the test cases that have been looked at.
I noticed a false negative case, where

    let h = { headers: { authorization: 'foo' } };
    let c = h
   c.headers = { };
   c.headers.authorization = "test"

I'll look at this after I fix the other bug assigned to me.

Approved. Once you rebase this, I'll merge it in.

rebased! thank you!


[Docs] Improve readability, fix typos, etc.

I think this should help improve the readability of the docs a little bit.
Feedback welcome, of course.

@jchapple You're amazing 🥇


API doc for web5.dwn.protocols.configure() is confusing

Review the configure method on this page: https://developer.tbd.website/api/web5-js/dwn/protocols#configurerequest

The from parameter appears twice but with different descriptions
The parameters don't match the example

@csuwildcat has pointed out that the doc is out of date and should be updated to reflect what's here:
https://github.com/TBD54566975/web5-js#web5dwnprotocolsconfigure


Warning: Failed prop type: You provided a value prop to a form field without an onChange handler. This will render a read-only field. If the field should be mutable use defaultValue. Otherwise, set either onChange or readOnly.

Add a product to cart
Go to the checkout
See error in the console

index.js:1 Warning: Failed prop type: You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.
    in input (at ShippingForm.js:51)
    in label (at ShippingForm.js:47)
    in div (at ShippingForm.js:46)
    in div (at ShippingForm.js:45)
    in ShippingForm (at checkout/index.js:369)
    in div (at checkout/index.js:368)
    in form (at checkout/index.js:363)
    in div (at checkout/index.js:347)
    in div (at checkout/index.js:346)
    in div (at checkout/index.js:328)
    in Root (at checkout/index.js:323)
    in CheckoutPage (created by ConnectFunction)

@robbieaverill can i start working on this issue would love to contribute to somehow to commerce.js

Please try to see if you can reproduce this. I've added some missing shipping data in the backend and might have been fixed but feel free to have a look!

Can i work on this issue?

No longer an issue after fixing the broken builds yesterday


Add blog link to the SDK v1.2 latest-updates blurb

Now that the blog is available, add a link to the release summary in the latest-updates file.

Abby I just got your message and that plan sounds good to me!


Support large document uploads

I asked a question in slack and didn't get a response.   I occasionally have large documents (i.e. product pdfs and such) that should be downloadable.  However, I don't want to allow arbitrarily large uploads through nginx or whatever frontend is in use.  I do not see a simple way to hook in here.
In wagtailmedia we allowed the site to provide a custom base form to set custom widgets to handle this case.  Would you accept this approach?
Since very large documents are out of the ordinary, it doesn't concern me that they are not compatible with the multi-uploader javascript so I would be happy if it was restricted to the single document upload form.  But it would be helpful if there was a handy link on the multi-upload form users reach by default to upload a single document.  And perhaps a way to nudge users to use this form if their upload fails because the file is too large

Hi @thenewguy,
I'm not really clear on how a custom widget will help to get around upload size limits - can you give an example?

@gasman We use a widget that stores chunks of a file in a different model uploaded using resumable.js - so it lets you upload lots of segments of 1mb or whatever - and then use a celery task to join them and present that as the uploaded file

I could come up with some other examples if you need them - for example I am sure you could write a widget that integrated with something like s3 direct upload - but that's the one I wrote and settled on

@gasman Have you given this any thought?  I am in the process of sampling the newer changes to wagtail by converting an older site.  I just uploaded a 222mb video file using this approach in wagtailmedia without any trouble.  Regular file uploads (documents for example) in the wagtail dashboard fail on files over 10mb on this particular site

@thenewguy Thanks for clarifying! Yes, that sounds like a good plan - we do need a more flexible way of customising those forms beyond just passing a list of field names.
I'm not a huge fan of adding settings, and longer term, I'd like to move away from customising Wagtail apps through settings and hooks, in favour of something more Pythonic where the functionality of an app like wagtail.documents is encapsulated in a Python class, and the models, forms and views are properties that can be overridden. (Viewsets were a step in that direction...) But there's a lot of figuring-out and refactoring required for that to happen, so in the interest of not getting held up, I think a setting for the base form is indeed the way to go for now.

Implemented in #6462.


ghidra: add wasm extension

ghidra-wasm-plugin is an extension that adds WASM support to ghidra. I haven't tested it extensively, but it does seem to be working. This also shows how to implement sleigh language compilation for ghidra extensions using nix.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Looks good to me


3DS2 challenge issue

Hello,
I am trying to add the 3DS2 challenge to our react-native app, I submitted a payment using test card:
4917 6100 0000 0000
and we received paymentAdditonalDetails as part of the response. I then call
nativeComponent.handle(paymentAdditionalDetails.action)
the content of this object is
{    "type":"threeDS2",    "paymentData":"Ab02b4c0!B....",    "paymentMethodType":"scheme",    "token":"eyJ0aHJ....",    "authorisationToken":"Ab02b4X.....",    "subtype":"fingerprint" }
In android after calling this code the app is just crashing completely and on IOS I get the following:
onError {"message": "The data couldn’t be read because it is missing."}
Am I missing anything from this object or do I need to change the format of any of the content?
I read through the docs but as far as I can tell I don't think we are doing anything wrong.
Any help would be greatly appreciated!

Hi,
sorry still stuck on the same issue, I wondered if there was a way we could enable any additional login within the component to try and identify our errors?
The IOS message is not helpful and we are getting no error messages in android, the app is just crashing.
If it helps we are in the onSubmit function of the  component (which again aligns with the docs)
Any help would be greatly appreciated

Hey @jbcampbell1
Were you able to resolve the problem?

@descorp We are still seeing this issue and have not been able to resolve it. We took the example project from this repository, replaced the APIClient with our backend endpoints, and this is the Android stack trace when the app crashes. We do not know how to debug further as we have no idea what directoryServerId is. Do you know what this could be? Could it be a configuration issue?
09-18 15:48:21.591 28317 28317 D CO.DropInActivityKt: handleDropInServiceResult - Action
09-18 15:48:21.591 28317 28317 D CO.ActionHandler: handleAction - threeDS2Fingerprint
09-18 15:48:21.603 28317 28317 D CO.ActionHandler: handleAction - loaded a new component - Adyen3DS2Component
09-18 15:48:21.604 28317 28317 D CO.Adyen3DS2Component: identifyShopper - submitFingerprintAutomatically: false
09-18 15:48:21.658 28317 28317 E AndroidRuntime: FATAL EXCEPTION: main
09-18 15:48:21.658 28317 28317 E AndroidRuntime: Process: com.adyenexample, PID: 28317
09-18 15:48:21.658 28317 28317 E AndroidRuntime: com.adyen.threeds2.exception.InvalidInputException: directoryServerId must not be empty.
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.threeds2.util.Preconditions.requireNonEmpty(Unknown Source:2)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.threeds2.util.AdyenConfigParameters$Builder.build(Unknown Source:1)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.adyen3ds2.Adyen3DS2Component.identifyShopper(Adyen3DS2Component.kt:206)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.adyen3ds2.Adyen3DS2Component.handleActionInternal(Adyen3DS2Component.kt:118)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.components.base.BaseActionComponent.handleAction(BaseActionComponent.java:56)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.dropin.ActionHandler.handleAction(ActionHandler.kt:78)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.dropin.ui.DropInActivity.handleAction(DropInActivity.kt:504)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.dropin.ui.DropInActivity.handleDropInServiceResult(DropInActivity.kt:469)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.dropin.ui.DropInActivity.handleDropInServiceResult(DropInActivity.kt:459)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.dropin.ui.DropInActivity.access$handleDropInServiceResult(DropInActivity.kt:91)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.dropin.ui.DropInActivity$serviceConnection$1$onServiceConnected$1$1.invoke(DropInActivity.kt:117)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.dropin.ui.DropInActivity$serviceConnection$1$onServiceConnected$1$1.invoke(DropInActivity.kt:117)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.dropin.service.DropInService$observeResult$2.emit(DropInService.kt:467)
09-18 15:48:21.658 28317 28317 E AndroidRuntime: 	at com.adyen.checkout.dropin.service.DropInService$observeResult$2.emit(DropInService.kt:467)

Hey @stuartmcvean
directoryServerId could be empty if your backend triggering Web 3DS2 flow instead of mobile flow.
See this ticket
Try adding allow3DS2 flag inside additionalData.
If no luck. please reach out to Adyen Support

Hey @stuartmcvean
Were you able to resolve the issue?

Hi @descorp
Yes, this issue can be closed. The backend API was with a different team and they had hardcoded the channel field in the payment requiest to 'web' which resulted in this error. Changing it to correctly pass ios or android solved the issue.


If max-size is non-zero, widgets above don't fill up space

A terminal has 2 widgets, a MemoWidget, and TextLabelWidget. The max height (or width in case of Horizontal) is above zero.
The expected behavior is:
The MemoWidget should occupy all the space that is made available because of the max-height limit on the TextLabelWidget.
Current behavior:
The space made available by TextLabelWidget is not used, and is left empty at the bottom (or right, in case of Horizontal) of the terminal.

I've fixed a lot of other bugs that had to be fixed before this, so now I'll be working on this one.

as of commite 85164ac29b4036144325c1afedb852455c11cc04 , this bug is fixed.


Add restart_service: true to Brewfile on full dump

Mon Aug  8 20:15:27 BST 2016
This pull request is in response to #192.
As this is my first dive-into-ruby,  would appreciate guidance WRT writing tests (to comply with the guidelines for contributing.

Tue Aug  9 00:13:36 BST 2016
@MikeMcQuaid I have fixed the previous formatting errors. This is now failing due to
coverage:
Coverage (99.66%) is below the expected minimum coverage (100.00%).
/Users/travis/.rvm/rubies/ruby-2.0.0-p576/bin/ruby -I/Users/travis/build/Homebrew/homebrew-bundle/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.5.2/lib:/Users/travis/build/Homebrew/homebrew-bundle/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.5.0/lib /Users/travis/build/Homebrew/homebrew-bundle/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.5.2/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb failed

The command "bundle exec rake" exited with 2.

This is past my 2hr ruby101.and I suspect is related to spec/dumper_spec.rb (which references Brewfile.

Nice work so far, impressive!

A new 'spec' should be added with service?

Yep! https://coveralls.io/builds/7360930 should help find the missing coverage.

Tue Aug  9 15:34:58 BST 2016
@MikeMcQuaid - Am stumped.  Local bundle exec rspec is showing 100% coverage on all files.
Questions:

What info is the report actually conveying?

@rprimus Looks like there's some lines here (https://coveralls.io/builds/7369444/source?filename=lib%2Fbundle%2Fbrew_services.rb) not hit by the test. It's checking that all lines are run through at least once during the test suite.

Looking great! One final tweak then I'll do some local testing and we can 🚢 this thing!

Wed Aug 10 08:25:12 BST 2016
Still unclear as to:

Why I'm getting 100% coverage for things that fail on coveralls/github.
Why the ones that do fail - why they're failing eg https://coveralls.io/builds/7379006
How to modify the spec to include tests for 'restart_service'
(Did try a few ways to create/use f[:service_started].)

Why I'm getting 100% coverage for things that fail on coveralls/github.

Looks like it's all passing now.

Why the ones that do fail - why they're failing eg https://coveralls.io/builds/7379006

Coveralls not detecting lines hit by the tests.

How to modify the spec to include tests for 'restart_service'

Looks like it should be OK now but I'll do some local testing/suggestions.

Wed Aug 10 08:35:19 BST 2016

Looks like it's all passing now.

Aye - on github,  but a local bundle make rake was producing 100% coverage for me - hence my confusion as to why they were failing on github.

Thanks for your contribution to Homebrew and patience @rprimus!  You rock!


The paper is missing from the first evaluation record in https://paperswithcode.com/sota/image-super-resolution-on-set5-8x-upscaling

Issue still there...


Valid name is failing to register

Describe the bug

Trying to signup with the username Shibiko or shibiko
Expected behavior

Sign up completes without error about an invalid name.
To Reproduce

Just try to make a new account with the name I want to use. Shibiko
My Platform

Chrome 126.0.6478.61, Windows 10
Additional context

Sorry, user error here, Chrome was autofilling the username with my email. I was putting Shibiko in place of my name.


[Feature]: Using const instead of let

What is the new or updated feature that you are suggesting?
I've seen many examples in the documentation use patterns like this:
import { useLoaderData } from "remix";

export let loader = () => {
  return [
    {
      slug: "my-first-post",
      title: "My First Post"
    },
    {
      slug: "90s-mixtape",
      title: "A Mixtape I Made Just For You"
    }
  ];
};

export default function Posts() {
  let posts = useLoaderData();

  return (

Posts

  );
}

And I still can't understand why not use const instead of let
Why should this feature be included?
I don't see that in any case the posts variable is updated or re-declared and neither does the loader function. Probably I'm missing something...

I didn't mean it in the performance sense, it's for "security" to prevent the variable from being re-declared and this can eventually break everything... But yes, it is valid to use let if it is only an example

I have been using let only for a few months now, I have never had an issue, anyway if you prefer const keep using it, this is 100% personal preference

You can use const. We don't 😇


Stop propagation on minimap slider

When you click the slider in the minimal, the scroll position in VS Code should not change.

verified via review


#0: Add initial t3000 nightly pipeline

Ticket
https://github.com/tenstorrent-metal/metal-internal-workflows/issues/291
Problem description
We need a T3000 nightly pipeline and a TG nightly pipeline to support development.
What's changed
Create pipelines with new paradigms:

symlinks to tests
less indirect scripting to call test commands

Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

cc: @SeanNijjar
waiting on review from @ttmchiou

Hey @tt-rkim - is there a corresponding issue for TG nightly?

@SeanNijjar : https://github.com/tenstorrent-metal/metal-internal-workflows/issues/291


Failing To Launch

Description
Using latest Windows binary release (pixivutil20191214) the program fails to launch with the following stack trace.

PixivUtil2.exe
Traceback (most recent call last):
File "PixivUtil2.py", line 20, in
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 668, in _load_unlocked
File "", line 638, in load_backward_compatible
File "bs4_init.pyc", line 34, in
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 668, in _load_unlocked
File "", line 638, in load_backward_compatible
File "bs4\builder_init.pyc", line 388, in
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 668, in _load_unlocked
File "", line 638, in _load_backward_compatible
File "bs4\builder_lxml.pyc", line 16, in
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 668, in _load_unlocked
File "", line 638, in _load_backward_compatible
SystemError: <method 'load_module' of 'zipimport.zipimporter' objects> returned NULL without setting an error

Steps to Reproduce

Attempt to run PixivUtil2.exe

Expected behavior:
Program executes
Actual behavior:
Program fails to execute
Versions
20191214 running on Windows 10 Pro x64.

Same Problem here. Crashes right after Start. I lack the necessary knowledge about Python.

Same here
PixivUtil2 v20191214 with Win 10 x64 Pro

Same problem with windows 7 Ultimate and 8.1

Updated the packages, can you redownload from https://github.com/Nandaka/PixivUtil2/releases/tag/v20191214


ADA compliance for S3

@jnabity would be working on getting the texts associated with the images in the application for ADA complaince implementations

@Jantz021991 the pull request for this ticket has been approved. Ready for QA testing. Let me know if you have any questions.

Test Case - https://docs.google.com/spreadsheets/d/1GL2AJQl6qU7G3UjsJAavVxCQlSwSGPy1ww5LrqELids/edit#gid=227356338


FlaSH Timeout Code in Runner not running FlaSH

FlaSH threading Timer function prevents the function from running for x amt. of time, and thus doesn't function as a timeout. The following changes should have the flash module time out appropciately

I added the changes we discussed about threading & downloading files from AWS!


Add keyPress as available event for showValidationOn

I need to show validations as soon as the user presses a key so I added this action in addition to 'change' and 'focusOut'. Could you consider accepting this PR please.
Thanks!

Thanks for contributing!
But what is your use case here that requires keyPress? Wouldn't the change event work as well?

Hi. I thought change would work too, but I find that it only adds the validation when the element loses focus AND the value has changed.

Yes, that's how change works. I see you want the validation to display immediately. But I think input would then be the appropriate event (http://caniuse.com/#feat=input-event).
Would you mind changing your PR to input?

Thanks input is indeed more appropriate! I've updated the PR.

Thanks again!


x/tools/go/packages: "no metadata for" error when mode contains LoadTypes without LoadImports

What version of Go are you using (go version)?
go version devel +0d4de70c1c2 Thu Jun 27 17:26:05 2019 +0000 darwin/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/jayconrod/Library/Caches/go-build"
GOENV="/Users/jayconrod/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/jayconrod/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org"
GOROOT="/Users/jayconrod/Code/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/jayconrod/Code/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/jayconrod/Code/test/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/rq/x0692kqj6ml8cvrhcqh5bswc008xj1/T/go-build811718838=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
I want to load type information for a set of packages. I tried to use this mode:
packages.NeedName | packages.NeedTypes | packages.NeedSyntax | packages.NeedTypesInfo | packages.NeedTypesSizes,

This doesn't include NeedImports or NeedDeps. I know that go/packages needs to load transitive imports (or their export data) to get type information, but I don't care if the Imports field is populated in the returned packages.
This can be reproduced with the program below using golang.org/x/tools v0.0.0-20190627185803-429858501117:
package main

import (
	"log"

	"golang.org/x/tools/go/packages"
)

func main() {
	cfg := &packages.Config{
		Mode: packages.NeedName | packages.NeedTypes | packages.NeedSyntax | packages.NeedTypesInfo | packages.NeedTypesSizes,
	}
	pkgs, err := packages.Load(cfg, "fmt")
	if err != nil {
		log.Fatal(err)
	}
	for _, pkg := range pkgs {
		for _, e := range pkg.Errors {
			log.Fatal(e)
		}
	}
}

What did you expect to see?
I get a strange error message like:
/Users/jayconrod/Code/go/src/fmt/errors.go:7:8: could not import errors (no metadata for errors)

The message changes from run to run (I think it can be any imported package).
What did you see instead?
Type information loaded successfully. Imports field nil in returned packages.

cc @matloob

I've got a fix in progress. It doesn't quite work completely yet.


IE11 Alert Prompt not working

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

Any alerts with prompt do not open on IE11.
Expected behavior:

Prompts open on IE11
Steps to reproduce:

Open the official doc under http://ionicframework.com/docs/components/#alert-prompt in IE11. Click then the "Show Prompt Alert" button.

I found out, if you provide the type, the error is gone in IE11:
            inputs: [
                {
                    type: 'text',
                    name: 'description',
                    value: attachment.meta.description,
                    placeholder: ''
                },
            ],

Hello! Thanks for using Ionic! At this time we do not officially support IE11.


Clean up: learning resource

MINOR changes:

improved instructions
establish alphabetical order
changed datePublished to publicationDate according to change on creative work schema
added digitalIdentifier in accordance with removal from concept schema
renamed timeRequired to requiredTime to adhere to our naming convention (noun + Date/Time at the end preferred; if noun is not possible, adverb can be used or whatever is shorter)
renamed learningResourceType to type to follow new convention to use type when the additional information is not adding any other meaning than imposed by schema already

MAJOR changes:
none
SPECIAL ATTENTION:

about links to category researchProduct; it seemed odd that a learning resource is only limited to be about a few of our research products, this change does not remove any of the ones that were linked but only extends this list with all the other research products, ok @apdavison?
renamed teaches to learningOutcome which seems more suitable, fits our vocabulary better (we have basically never use a verb for any property name before) and is often used on e.g. course description pages (as far as I could see)
renamed competencyRequired to prerequisite which seems more suitable, fits our vocabulary better, is shorter and is often used on e.g. course description pages (as far as I could see)

@UlrikeS91 the property relation should be registered in our mappings in the properties.json on the main GitHub.


Support shortcuts to paste content from Linux different  X server's selections

VSCode Version: 1.4.0
OS Version: Fedora 24 (Xfce4 desktop)

In Linux, X server has 3 selections for clipboard: primary, secondary, and clipboard (wiki).
I think Ctrl-V is for clipboard. Some Linux apps offer Shift-Insert for primary selection. Would you please consider supporting this? My suggestions:

Ctrl-V: clipboard
Shift-Insert: primary
Ctrl-Shift-Insert: secondary

Thank you,

To keep the number of issues in our inbox at a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: we look at the number of votes the issue has received and the number of duplicate issues filed. Thank you for your time and understanding.
If you disagree and feel that this issue is crucial: we're happy to listen and to reconsider.


inaccurate timing when firing midi events

Hello, and thank you for this beautiful library ❤
Similar to https://github.com/Tonejs/Tone.js/issues/196#issuecomment-620781830, I am having some timing inaccuracies when firing midi events using webmidi.js.
This little codesandbox shows the behaviour. The timing is perfect when triggering the events directly with webmidi.js. When scheduling the same events with Tone.Part, some events seem to stumble. I tried the suggested fix (and any combination I could think of), but the timing keeps stumbling, so I am considering this is a bug.
I am already happily using tone.js to playback events generated by my custom rhythm notation (like Tone.Sequence, but with polyphony and duration). If triggering MIDI events would work with the same precision, this would just blow my mind, as it enables to write flexible sequencers for external hardware, or record the output in a DAW.

thanks for the kind words.
I'm unable to reproduce this issue. I just had this loop back through a local midi device and i'm not hearing inaccuracies. In the example you shared, there was no content in "tetrisInSeconds.json" so i just used "tetrisInMs.json" and divided everything by 1000.

In the example you shared, there was no content in "tetrisInSeconds.json" so i just used "tetrisInMs.json" and divided everything by 1000.

Sorry, it seems I forgot to save once more.. I updated the example to just use the millisecond variant + added the division.

I'm unable to reproduce this issue. I just had this loop back through a local midi device and i'm not hearing inaccuracies.

Hm that's odd. I am also just looping back using an IAC Driver (on macOS), playing an instrument inside Ableton. I just made a recording of how it sounds at my end: https://sndup.net/8jmc (first = without, second = with Tone.js)
As a visual reference, here is a comparison of the first two bars:

All I did was a midi recording of what was sent from the sandbox... the only variable here is Tone.js so i guess it must be the reason.. do you have any idea of what might be the cause?

Here's my results from recording MIDI from Tone.js:

Looks slightly closer when i use WebMidi.time instead of performance.now(). This issue seems to come from a clock difference. Syncing two clocks is complicated since they can drift from each other over time. Here you're trying to sync the Web Audio clock (that Tone.js uses) and the MIDI clock that Ableton Live uses. Looks like Tone.js is producing accurate timings according to its own clock, but there's no guarantee that those two clocks are in sync.
In your first example, you schedule all of the events ahead of time in the forEach loop so there's no place for the clocks to drift. Tone.js schedules events just-in-time right before they occur which would allow the MIDI clock and the Tone.js clock to get out of sync.
MIDI has a mechanism for syncing two clock called "MIDI Clock Sync". That would allow you to increment Ableton Live's clock from Tone.js to keep them in sync.
For now this doesn't appear to be a Tone.js issue, but follow up if there are updates to the API or pull requests which would make this task easier. It would be great to enable Tone.js to sync to the MIDI clock as well as the Web Audio clock.

Thank you for looking at this more closely! I may have a limited knowledge of audio clocks, but from my understanding, the MIDI clock of Ableton does not do anything here, as I record the MIDI events directly, just like the input of a live instrument without syncing anything. The grid that you see in the screenshots does only line up because I set the correct tempo (32/14*60 = 137.14 bpm) and placed the one where the first note began. I did this to make the inaccuracies more obvious.
As you already said, it is of course much more precise when scheduling the events ahead of time, so I tested the same scenario with WAAClock, which also triggers the events just-in-time. The result: Using WAAClock, no audible errors occur. This somehow confirms that the time value from the tone callback is imprecise.
To eliminate that "somehow", I wrote a more generic timing test. The timing test works like this: It generates a number of beeps (36 by default), which all have the same time distance (100ms by default). For each beep, the actual passed time is measured to calculate the error between to the target time distance (=100ms by default). After the last event, the average error is calculated to finally spit out a relative error percentage.
Some results:

distance
Tone.js Error
WAAClock Error

100ms
1.25%
2.73e-11%

10ms
7.2%
1.74-11%

1000ms
5.78e-14%
0.017%

This makes it relatively clear. No matter which time distance, Tone.js has a much higher error. Also, the error gets worse when the distance gets smaller. Interestingly, the errors percentages stay consistent when running the tests multiple times. I think those errors make it impossible to play tight music.
Also, the errors are similar when not even emitting a MIDI message, so this issue does not have anything to do with midi, but with the accuracy of the given time value. What's still strange: When scheduling Tone.js instruments, the timing seems to be perfect, so I assume there is something else happening to the time value..
If I did not make a mistake in my reasoning, this is a rather fundamental flaw in the way Tone schedules events. I made all the tests in the codesandbox. The relevant functions are "timingTest", "testTone" and "testWaa". At the bottom of the page, they can be executed.

Thanks for following up with a very detailed report. i misidentified the issue here sorry about that. I think you're right that it doesn't have to do with the midi and web audio clocks being mismatched.
I should have noted in my original response when i saw that you were scheduling events with seconds instead of tempo-relative values Tone.js' timing is tick-aligned (unlike WAAClock). Which means that each event timing is rounded to the nearest tick (defined by Tone.Transport.PPQ). Aligning to this grid allows Tone.js to have tempo curves which WAAClock cannot do. The downside of this method is that your scheduled events need to align to that grid or they will get quantized to the wrong place.
Since the default tempo is 120 and the default PPQ is 192, that grid can't represent 0.1 or 0.01 seconds in your test. 0.1 seconds to ticks at 120 bpm would be something like 38.4 ticks (time / (60 / bpm / PPQ) == 0.1 / (60 / 120 / 192)) which would be rounded to just 38.
When you measured it, this is why the test at 1000ms is very accurate compared to the other two because 120bpm can perfectly represent 1000ms.
If you change you the tempo to something which includes 0.1 at an exact tick position by changing Tone.Transport.bpm.value = 100 (or bpm = 1000 for the 0.01 second test) or similarly adjust the PPQ so that those values are not rounded, these are the results that i get from running your tests:

distance
Tone.js Error
WAAClock Error

100ms
6.494804694057165e-13%
6.822320486321587e-12%

10ms
3.5022029918975664e-9%
6.593783059243613e-11%

I have been toying around with a solution which would not require the input timing to be tick-aligned while still enabling tempo-curves and tempo changes. Hopefully i'll have time to get to that change soon enough.
I would say in the mean-time you will likely get more accurate timing if you're able to set the Transport.bpm.value to the exact tempo of your song and also schedule the Tone.Part to start at time 0 instead of time "+0.1" (line 49 of your link) which will remove rounding errors since events get added to the timeline exactly at 0 instead of 0.1 (which will also be rounded to ticks).

Ahh now it makes sense! So basically we are getting a moiré effect with the two grids not being aligned..
For my use case, having a fixed grid quantization is a little bit too limiting, as I need things like:

swing (not necessarily clean triplet swing)
tuplets (for example quintuplets won't be possible, as 192 is not divisible by 5)
strumming effects (attacking notes one after the other, like a guitar, which is mostly not grid aligned)
playing back performances (a performer that plays without a machine generated click will slightly vary tempo over time)
"organic" grooves, which heavily rely on non grid aligned microtiming (controversial topic.. but funny how scientists actually measure funk head bopping with fourier analysis 😆  )

Maybe setting PPQ to a higher value will make the errors inaudible, but I wonder if this will drain the performance?
There is only one thing bothering me, as I already pointed out:

What's still strange: When scheduling Tone.js instruments, the timing seems to be perfect, so I assume there is something else happening to the time value

To showcase that, I added the "Browser Synth vs MIDI timing" section to the sandbox. Pressing "play synth with tone.js" (playSynthWithTonejs function), the same tetris melody will be scheduled using Tone.Part, played back with a regular PolySynth.
The weird thing: It plays back perfectly, with no audible timing glitches, even without declaring the tempo or calculating a timing offset. To directly compare that, "play MIDI with tone.js without offset" (playWithTonejsNoOffset function) will do the exact same thing, except triggering midi messages instead of the PolySynth. Similar to the other midi tests, the playback will be glitchy.
From that, I conclude the PolySynth will somehow compensate the timing error (which we measured earlier) somewhere inside triggerAttackRelease.

Aligning to this grid allows Tone.js to have tempo curves which WAAClock cannot do

What do you mean by tempo curves? WAAClock already allows changing the tempo.

PolySynth doesn't do any timing correction. My guess is that the error values are so small that you can't be heard easily. 1 tick at 120bpm is 60 / 120 / 192 = 0.0026 seconds, so the rounding error is going to be less 2.6ms. This shows up when you measure, but harder to hear that error in many circumstances.
By tempo curves i don't just mean the ability to change tempo from 120 to 60, but, for example, to ramp between 120 and 60 bpm with a linear curve over 5 seconds.
Tone.Transport.bpm.rampTo(60, 5)

There will be some performance difference when changing PPQ, but it might not be much. If you'd like to support triplet and quintuplet, set the PPQ to a multiple of both 3 and 5 like PPQ = 15 would be able to precisely schedule quarter note triplet and quarter note quintuplets. To support 8th notes and 8th notes triplet/quintuplet you could use PPQ = 30. Setting the tempo to 60 and PPQ to 1000 would give you millisecond timing accuracy.

PolySynth doesn't do any timing correction. My guess is that the error values are so small that you can't be heard easily

My point is that you do not hear it with PolySynth, but you clearly hear it with midi, using the same code:
https://streamable.com/qxfu3b
In the video, the first beep test clearly skips around 3s (moiré effect). Using the exact same code, the second beep test does not skip (same time values). There has to be something going on...
Sorry for insisting so hard, but I would just be really happy about finding a way to keep using Tone.js scheduling instead of rewriting stuff to WAAClock. Setting PPQ manually according to the musical content is no option for me, as I want a more general solution, but I would'nt be offended if you won't care about covering that use case.

I did some more research and found out that the PPQs are just a minor quirk but not the reason for the timing hiccups. The simple reason: When setting a grid aligned interval (e.g. 0.1s at 100bpm), the timing test results may look well (like you already showed)... but the problem remains: The midi still stutters at some point! I tried out different combinations of bpm and beep intervals, but I could not find a single combination below 1s that did not have an audible glitch..
Then I found the problem: Not the time value, but the callback invocation time has a hiccup:

This chart shows the beep index on the x axis and the difference of audioContext.currentTime*1000 (which can be seen as the time passed between last and current callback invocation) on the y axis. Most of the time, it will be more or less stable at 100ms (= beep interval), but at some point, the difference will drop down to 50ms at the exact spot where the audible hiccup appears.
Trying the same with WAAClock, the callback intervals are much more stable, without sudden hiccups:

I have no idea where this hiccup is coming from, but it should be unrelated to the PPQ problem (as I am using grid aligned beep intervals).
Then I realized that the calculated offset time for the midi events was just wrong:
const offset = WebMidi.time - Tone.now() * 1000;
time = time * 1000 + offset
output.playNote("a4", 1, {
  time,
  duration: event.duration * 1000
});
const msUntilAttack = WebMidi.time - time;

The problem: msUntilAttack will eventually be lower than zero, causing the note to be attacked immediately. In this case, the callback invocation time will control the timing of the note, which will make the hiccup audible. As WAAClock's callback has no hiccup no glitch will be audible (even if the notes are triggered by the not so precise callback).
TLDR; Solution: Using Tone.context.currentTime instead of Tone.now() solves the problem. I suppose the problem is that Tone.now() includes the lookAhead:
/**
* The current audio context time plus a short [[lookAhead]].
*/
now(): Seconds {
  return this._context.currentTime + this.lookAhead;
}

I am glad that I finally found the root of the problem which has been bugging me for days 😩
Maybe this will help someone in the future...

felixroos I mean inside your playWithTonejs :
time = '+' + (time - Tone.context.currentTime)*1000
instead of calculating the absolute MIDI time.


add lightgbm.booster support

mainly followed the logic of xgboost.booster support

Codecov Report

Merging #270 into master will decrease coverage by 4.92%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master    #270      +/-   ##
=========================================
- Coverage   97.22%   92.3%   -4.93%
=========================================
  Files          44      44
  Lines        2815    2845      +30
  Branches      536     545       +9
=========================================
- Hits         2737    2626     -111
- Misses         41     183     +142
+ Partials       37      36       -1

Impacted Files
Coverage Δ

eli5/lightgbm.py
3.4% <0%> (-91.48%)
:arrow_down:

eli5/_feature_names.py
91.74% <0%> (-2.76%)
:arrow_down:

eli5/xgboost.py
98.17% <0%> (-1.22%)
:arrow_down:

Thanks for the PR @qh582 , at first sight it looks good 👍
I left a comment on how to fix the build. It would be also great if you could add tests for lightgbm.booster support, so that we don't break it in the future.

@lopuhin Thanks for review and suggestion.
I am doing the explain_prediction for regression part test, and I got 'y=y' in stead of 'y' as shown in the screenshot:

This seems ok for me, but I found eli5 using assert '<b>y</b>' in strip_blanks(expl_html)  in tests.test_sklearn_explain_prediction.assert_trained_linear_regression_explained which point that it shoud be 'y' in my case. I am wondering if I missed the point here.

@qh582 looks good! Would you mind updating a few notes in docs, mentioning this new feature?

https://github.com/TeamHG-Memex/eli5/blob/master/README.rst
https://github.com/TeamHG-Memex/eli5/blob/master/docs/source/libraries/lightgbm.rst
https://github.com/TeamHG-Memex/eli5/blob/master/docs/source/overview.rst

@kmike I think this is ready, please check :)

@kmike Hope the new commit help. My previous piece of code is not strict enough.

It's been two month, could someone tell me why this merge hasn't been closed already? I really need this.

I think PR is in great shape and we just need to check it again and merge it, hope to find time for it soonish, sorry for delay.

Any plans about merging it, @lopuhin?

Thanks you! This were merged in eli5-org/eli5#7 and released to PyPI with v0.11


⚠ Bofrost.de has degraded performance

In 0f7a2d6, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1493 ms

Resolved: Bofrost.de performance has improved in 7dfd383 after 14 minutes.


Ability to pass parameters to calls

Since the _makeCall method is private, you're unable to make a manual request.
The problem is that getUserMedia doesn't accept the additional parameters that the endpoint offers. You can only set count, not the other useful options like min_timestamp, max_timestamp, min_id, max_id.
May have to fork and do this myself.

Same issue for using getTagMedia. There is a params array which would accomplish this perfect, but it's not available as a parameter. Ridiculous oversight.
Strangely, most of the other instagram apis for PHP do the same thing. Frustrating.


Need mock backend defaults update

What is the expected enhancement?
Recently we have been making many changes to backend default object (i.e. command def with ParametricPulses, introduction of channel-qubit mapping, etc...), however some of mock backends in terra have not been updated. This outdated some unittests with mock backend, and sometime this makes development (sanity check) harder because of the mismatch of current backend data structure and mocks. We should update those defaults data, and perhaps we need a unittest for the schema version check of mocks.

Updating the fake backends is simple, just run: https://github.com/Qiskit/qiskit-terra/blob/master/tools/update_fake_backends.py (you'll have to use your credentials to update premium devices) and it will update the json snapshots in the repo for the backends.
That being said that is explicitly decoupled from anything in terra, it just saves whatever iqx returns on the wire for the different backend payloads.

Thanks. It works!


add apple store buttons

PR Title

The purpose of this Pull Request is to fix #52
Screenshots

Checklist

[ x] I have Made this contribution as per the CONTRIBUTING guide in this repo
[ x] I have tested in local Environment.
[ x] I have made the fix as per issue conversation
[ x] I have starred the repository ⭐

Great @rakicodes ,
Looking forward for more contributions from you !


Change NaCl Signal Handler to shutdown individual cages on faults, not entire Lind system

Currently when a cage encounters a fault (either in trusted or untrusted) the signal handler will catch that fault and then shutdown NaCl.
Instead we should have the signal handler catch the fault and just shutdown the cage it was caught in.
The handler seems to operate in void SignalCatch in nacl_signal.c
This change will make it easier to fuzz Lind via trinity, which now is working.

This is done and PR'ed but I'm hoping to add a better logging system for faults so @TristanB22 can easily post bug reports for us to fix.

Most of this has been done for a bit, and I just added in the proper nap teardown feature. I haven't merged this for two reasons.

I've had an issue with containers freezing while trying to debug this, and originally I thought there was still something wrong here. I've had that issue elsewhere now as I've tackled other issues and I'm beginning to suspect its the LKM. The issue usually manifests while running Lind in gdb or rr. The process can freeze and become unexitable. Trying to kill that process externally ends up freezing the docker container.  Will be looking into this more now...

While trying to debug some of the address translation (EFAULT) stuff, I noticed this branch deadlocks when either a fault occurs in NaCl were locks are held (this is usually the LOG lock), or if a panic happens in SafePOSIX while locks are held (dashmap should help here mostly). Going to see what I can do here to fix this problem and get this all merged.


Adding New game : HTML5 Controller Tester

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes #3359

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Ritax2003 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@Ritax2003 check latest stream there might be some conflicting line at the same line you did modification !

Can you please check if the conflict got resolved? i have changed readme file now.

Thank you  @Ritax2003 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀

Thanks a lot.


Feature Request: Restore window/tabs with previously working directories

Platform: Windows
OS Version: Win 10 v1803(17134.1069)
Terminus Version: Alpha 92
Request:
When I close the Terminus and reopen it, all tabs and panels will be restored. This is convinience. However, the tabs/panels start with default shell starting path (if it is not set, it will be the home path of user), is it able to restore the tabs / panels with the working directories, not just the layouts?
Thank you.

This is actually implemented, but CWD detection on Windows is hard - see #1703


README still mentions built files

The README mentions that you can use the library by just linking to the built file from here on GitHub, but the contents of dist/ aren't actually here.

That's actually for an older version and should be amended to not say that. When we ported to es6 we decided that storing dist in git was a bad idea.

So what's the story with bower?
Bower.json has not been updated since 5.X. Also, releases does not have build folder either.
Unfortunately, I'm still using bower...:/

Unfortunately, I'm still using bower...:/

bower is not a supported install method anymore, due to use not storing the dist in version control

Since we can't download the built version from dist anymore, can you please provide up-to-date build/transpile instructions? I tried to guess now it should work, but I couldn't figure it out. I installed gulp and babel, and I ran gulp build, but babel threw an error about the syntax in gmusic.js being wrong.

What exactly is the syntax error?

You should be able to run npm run build after a fresh clone, but I would like to see the syntax error as well.

On a related note, I think the bower instructions should be removed as well, based on the past conversation here.

PR? ;)

Running npm install and npm run build on a fresh clone worked. I must have messed up the babel config before.
Thank you for your help!


Make a note that this requires a bundler that can rewrite the module paths

The way @types relies on a non-rooted module import conflicts with what Screeps Arena actually expects. It would be useful to point that out somewhere.
This is handled by a paths rule in the rollup config like this:
https://github.com/screepers/screeps-arena-typescript-starter/blob/c1cbaae579dcdb793d0e4269ce296ea343a2bc69/rollup.config.js#L31-L38
Or like this for esbuild:
const screepsArenaImportExternal = {
  name: "screeps-arena-import-external",
  setup(build) {
    build.onResolve({ filter: /^\/?(arena|game)($|\/.*)/ }, (args) => {
      return {
        path: args.path.startsWith("/") ? args.path : `/${args.path}`,
        external: true,
      };
    });
  },
};

require('esbuild').build({
  // ...
  plugins: [screepsArenaImportExternal],
  // ...
}).catch(() => process.exit(1));

@ngbrown That is a very valid point, the reason we do that currently is because relative paths where not allowed for declaring modules. At least not as far as I know. If we can solve it in other ways, I'm very open for changing it.

Maybe there's a way using this:
"baseUrl": "types",
"typeRoots": ["types"],

And export pseudo implementations from there instead of module type definitions? Last time I tried to mess with  baseUrl or typeRoots the results were not very consistent, so I stay away from it.

@ngbrown What I ment was that I was not able to declare the module with a relative path e.g. declare module "/game" {.. and typescript where not able to find the types when doing from "/game"; I assume because that is reserved for relative paths, in your actual project. not sure how to solve it or if it can be solved at all 🤔

@thmsndk If the absolute pathed format could be kept, then types could work for players that don't want to bundle or transpile and just work in standard javascript. I seemingly got a start of it working. There's a complication that TypeScript doesn't handle .mjs, so the files have to be renamed .js. tsc runs and checks the files and Visual Studio Code will provide intellisense.
So I have a tsconfig.json like this:
{
  "compilerOptions": {
    "noEmit": true,
    "allowJs": true,
    "checkJs": true,
    "isolatedModules": true,
    "esModuleInterop": true,
    "emitDecoratorMetadata": false,
    "module": "ES2020",
    "moduleResolution": "Node",
    "target": "ES2020",
    "importsNotUsedAsValues": "error",
    "sourceMap": true,
    "baseUrl": ".",
    "paths": {
      "/arena": ["types/arena"],
      "/arena/*": ["types/arena/*"],
      "/game/*": ["types/game/*"]
    }
  },
  "include": ["**/*.js"],
  "exclude": ["node_modules"]
}

With a folder structure starting like this:

This types/ folder is at the common directory level of all the created folders (C:\Users\johnsmith\ScreepsArena\)
Each file is similar to the existing files, just without the declare module "...." { portion.
These types could then be installed with a create-screeps-arena type package, which would be used like this:
npm init screeps-arena

But how to update the types?  Maybe the path isn't to types/ but to node_modules/typed-screeps-arena/types or something?


How to handle ES6 alongside ES5 (Promises)

I'm trying to lint a codebase that contains ES6 (on the server) as well as ES5 (on the client).
I'm running into problems as ES6 will ship Promises by default but ES5 won't.
So in my .jshintrc things look like:
{
....
"predef":  ["-Promise"],
"esnext": "true"
....
}

Of course this will now give me 'Promise' is not defined. when using it in an .es6 file. So I was thinking of doing:
/* global Promise: true  */
var foo = Promise.resolve('Yes, please!');

which will still give me the not defined error alongside something I do not really understand:
routes/foo.es6: line 2, col 10, 'Promise' is not defined.
routes/foo.es6: line 1, col 1, 'Promise' is defined but never used.

Am I doing something wrong? Is there a way to handle this properly? Is this a bug?

Does this work?
.jshintrc <-- Common rules
server/
  .jshintrc
  index.es6
client/
  .jshintrc
  index.js

server/.jshintrc
{
  "extends": "../.jshintrc", // This file should inherit rules from the .jshintrc file at the root of your project

  "esnext": true
  // Other server-specific rules
}

client/.jshintrc
{
  "extends": "../.jshintrc",

  // Other client-specific rules
}

And then you run jshint server && jshint client

Extending a base rc file works, yes. Yet I am still puzzled by the "is undefined but never used" combo. Is there a one-rc-fits-all way to do this?
Thanks in any case.

You could write //jshint esnext: true in every es6 file (and not in the rc file) instead of disabling an re-enabling promises.

But is Promise really related to the esnext option?  In ES5 I will get Redefinition of Promise when doing
var Promise = require('promise');

since 2.5, see: https://github.com/jshint/jshint/issues/1747

But is Promise really related to the esnext option?

Yes: Promises are defined in ES6 (esnext, esversion: 6 since next JSHint release), so JSHint considers Promise a predefined varables only if you are linting ES6 code

In ES5 I will get Redefinition of Promise when doing

var Promise = require('promise');

I don't:
// .jshintrc
{
  // JSHint lintes code as ES5 by default
  "node": true
}

// demo.js
var Promise = require("promise");

new Promise();

nicol@DESKTOP-EDGLMME MINGW64 ~/Documents/jshint ((2.8.0))
$ bin/jshint --version
jshint v2.8.0

nicol@DESKTOP-EDGLMME MINGW64 ~/Documents/jshint ((2.8.0))
$ bin/jshint demo.js
                              <-- No errors!

You're totally right, I encountered the ES5 thing sth around last December and sticked to it since then, yet it looks like: https://github.com/jshint/jshint/commit/da52aa096a1a5c3c40e731c9bcceb038e410deeb changed this back to what you are describing.
Thanks for the help & thanks for maintaining jshint.

I just found myself struggling with this, what I needed to do was set "esversion" property in .jshintrc to 6 ( http://jshint.com/docs/options/ )


SyntaxError: invalid syntax on Python 3.5.2

I get the following error:

File "xxxxxxxxxxxxxxxxxxxxxxxxxx/ve3/lib/python3.5/site-packages/setuptools/command/install_scripts.py", line 17, in run
import setuptools.command.easy_install as ei
File "xxxxxxxxxxxxxxxxxxxxxxxxxx/ve3/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 719
):
^
SyntaxError: invalid syntax

I think is related to the trailing comma on line 718 on setuptools/command/easy_install.py:
def process_distribution( # noqa: C901
  self, requirement, dist, deps=True, *info,
):
I'm using Python 3.5.2.
Thanks,

I've got exactly the same problem and indeed the trailing comma on line 718 is the culprit on python 3.5. Would it be possible to remove it?

I've got exactly the same problem and indeed the trailing comma on line 718 is the culprit on python 3.5. Would it be possible to remove it?

This appears to have been introduced in 51.3.0 with commit https://github.com/pypa/setuptools/commit/fc891f5cf6d93ad533e2afb5e15a2952408ab358

This appears to have been introduced in 51.3.0 with commit https://github.com/pypa/setuptools/commit/fc891f5cf6d93ad533e2afb5e15a2952408ab358

+1 same error, python 3.5

+1 same error, python 3.5

+1 same error, python 3.5

+1 same error, python 3.5

+1 same error, python 3.5

Used for Ubuntu 16.04.

+1 same error, python 3.5

Used for Ubuntu 16.04.

cc @webknjaz

cc @webknjaz

Ah, setuptools dropped support for Python 3.5 about 1.5 months ago: https://setuptools.readthedocs.io/en/latest/history.html#v51-0-0.
The metadata clearly says >= 3.6: https://github.com/pypa/setuptools/blob/8222d6f/setup.cfg#L30.
So how did you all get a version that pip wasn't even supposed to pull-in? Can this be another instance of Ubuntu/Debian packaging essential Python packages wrong? https://gist.github.com/tiran/2dec9e03c6f901814f6d1e8dad09528e
If that's the case, I suggest folks complain to their distro packagers because I doubt that the setuptools upstream has the capacity to deal with this, nor can it influence the correctness of packaging debs.
But if you somehow got it via pip, this could be their bug.
I'd say that setuptools-wise, it's a "won't fix" because it's not a bug: testing has been dropped for Python 3.5 from the CIs. And also it's been EOL for almost 5 months already.
cc @jaraco

Ah, setuptools dropped support for Python 3.5 about 1.5 months ago: https://setuptools.readthedocs.io/en/latest/history.html#v51-0-0.
The metadata clearly says >= 3.6: https://github.com/pypa/setuptools/blob/8222d6f/setup.cfg#L30.
So how did you all get a version that pip wasn't even supposed to pull-in? Can this be another instance of Ubuntu/Debian packaging essential Python packages wrong? https://gist.github.com/tiran/2dec9e03c6f901814f6d1e8dad09528e
If that's the case, I suggest folks complain to their distro packagers because I doubt that the setuptools upstream has the capacity to deal with this, nor can it influence the correctness of packaging debs.
But if you somehow got it via pip, this could be their bug.
I'd say that setuptools-wise, it's a "won't fix" because it's not a bug: testing has been dropped for Python 3.5 from the CIs. And also it's been EOL for almost 5 months already.
cc @jaraco

This appears to have been introduced in 51.3.0

https://pypi.org/project/setuptools/51.3.0/ shows that Requires-Python is >= 3.6 proving that the dists are correct so any tools respecting that metadata should be able to exclude this version from the resolution under Python envs that don't match the requirement.

This appears to have been introduced in 51.3.0

https://pypi.org/project/setuptools/51.3.0/ shows that Requires-Python is >= 3.6 proving that the dists are correct so any tools respecting that metadata should be able to exclude this version from the resolution under Python envs that don't match the requirement.

Some ways that pip (or other installers) fail to recognize the supported versions:

Pip < 9 is used.
An index doesn't yet honor PEP 503.

One way to work around the issue in these environments is to pin to a specific setuptools version.
It looks like 51.3.3 is the latest version that supports Python 3.5:
draft $ python3.6 -m pip-run setuptools -- -c 'import setuptools.command.easy_install'
Collecting setuptools
  Using cached setuptools-51.3.3-py3-none-any.whl (786 kB)
Installing collected packages: setuptools
Successfully installed setuptools-51.3.3

Hope that helps.

Some ways that pip (or other installers) fail to recognize the supported versions:

Pip < 9 is used.
An index doesn't yet honor PEP 503.

One way to work around the issue in these environments is to pin to a specific setuptools version.
It looks like 51.3.3 is the latest version that supports Python 3.5:
draft $ python3.6 -m pip-run setuptools -- -c 'import setuptools.command.easy_install'
Collecting setuptools
  Using cached setuptools-51.3.3-py3-none-any.whl (786 kB)
Installing collected packages: setuptools
Successfully installed setuptools-51.3.3

Hope that helps.

As not an expert in Python infrastructure, but the user affected by the issue I have tried the suggestion by @jaraco with Python 3.5.2 on Ubuntu 16.04 and it did not work for me. See my steps below:
$ docker container run -it --rm ubuntu:16.04 bash
# apt update
...
# apt install python3
...
# python3 --version
Python 3.5.2
# python3 -m pip-run setuptools -- -c 'import setuptools.command.easy_install'
/usr/bin/python3.5: No module named pip-run

As not an expert in Python infrastructure, but the user affected by the issue I have tried the suggestion by @jaraco with Python 3.5.2 on Ubuntu 16.04 and it did not work for me. See my steps below:
$ docker container run -it --rm ubuntu:16.04 bash
# apt update
...
# apt install python3
...
# python3 --version
Python 3.5.2
# python3 -m pip-run setuptools -- -c 'import setuptools.command.easy_install'
/usr/bin/python3.5: No module named pip-run

we've just run into this issue on github actions, where pip3 install setuptools when done on Ubuntu 16.04 will pull in the unsupported package

we've just run into this issue on github actions, where pip3 install setuptools when done on Ubuntu 16.04 will pull in the unsupported package

we've just run into this issue on github actions, where pip3 install setuptools when done on Ubuntu 16.04 will pull in the unsupported package

Can you try to first python3 -m pip install --upgrade pip?

we've just run into this issue on github actions, where pip3 install setuptools when done on Ubuntu 16.04 will pull in the unsupported package

Can you try to first python3 -m pip install --upgrade pip?

in confirmation of the points made by jaraco, Ubuntu is using pip 8.1.1

in confirmation of the points made by jaraco, Ubuntu is using pip 8.1.1

My issues were also on Ubuntu 16.04 Xenial and a bug has been filed on launchpad @
https://bugs.launchpad.net/ubuntu/+source/python-virtualenv/+bug/1912248

My issues were also on Ubuntu 16.04 Xenial and a bug has been filed on launchpad @
https://bugs.launchpad.net/ubuntu/+source/python-virtualenv/+bug/1912248

I have found the following workaround on Ubuntu 16.04 Xenial
Do not install setuptools on virtualenv creation:
virtualenv -p /usr/bin/python3 venv/py3 --verbose --no-setuptools
Install a supported setuptools version after virtualenv creation and activation:
python3 -m pip install --upgrade 'setuptools; python_version >= "3.6"' 'setuptools<51.3.0; python_version < "3.6" and python_version >= "3.0"'

Ignoring setuptools: markers 'python_version >= "3.6"' don't match your environment
Ignoring setuptools: markers 'python_version < "3.0"' don't match your environment
Collecting setuptools<51.3.0
Using cached setuptools-50.3.2-py3-none-any.whl (785 kB)
Installing collected packages: setuptools
Successfully installed setuptools-50.3.2

This results in python3 -m pip list:

pip        20.3.3
setuptools 50.3.2
wheel      0.36.2

I have found the following workaround on Ubuntu 16.04 Xenial
Do not install setuptools on virtualenv creation:
virtualenv -p /usr/bin/python3 venv/py3 --verbose --no-setuptools
Install a supported setuptools version after virtualenv creation and activation:
python3 -m pip install --upgrade 'setuptools; python_version >= "3.6"' 'setuptools<51.3.0; python_version < "3.6" and python_version >= "3.0"'

Ignoring setuptools: markers 'python_version >= "3.6"' don't match your environment
Ignoring setuptools: markers 'python_version < "3.0"' don't match your environment
Collecting setuptools<51.3.0
Using cached setuptools-50.3.2-py3-none-any.whl (785 kB)
Installing collected packages: setuptools
Successfully installed setuptools-50.3.2

This results in python3 -m pip list:

pip        20.3.3
setuptools 50.3.2
wheel      0.36.2

@philroche or if you have virtualenv v20+, you could also use the seeders mechanism: https://virtualenv.pypa.io/en/stable/user_guide.html#seeders.

@philroche or if you have virtualenv v20+, you could also use the seeders mechanism: https://virtualenv.pypa.io/en/stable/user_guide.html#seeders.

@philroche or if you have virtualenv v20+, you could also use the seeders mechanism: https://virtualenv.pypa.io/en/stable/user_guide.html#seeders.

@webknjaz As far as I can tell changing the seeded version of setuptools is not supported in virtualenv version 15.0.1 which ships with Ubuntu 16.04
$ virtualenv --version
15.0.1
$ virtualenv --help
Usage: virtualenv.py [OPTIONS] DEST_DIR

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         Increase verbosity.
  -q, --quiet           Decrease verbosity.
  -p PYTHON_EXE, --python=PYTHON_EXE
                        The Python interpreter to use, e.g.,
                        --python=python2.5 will use the python2.5 interpreter
                        to create the new environment.  The default is the
                        python2 interpreter on your path (e.g.
                        /usr/bin/python2)
  --clear               Clear out the non-root install and start from scratch.
  --no-site-packages    DEPRECATED. Retained only for backward compatibility.
                        Not having access to global site-packages is now the
                        default behavior.
  --system-site-packages
                        Give the virtual environment access to the global
                        site-packages.
  --always-copy         Always copy files rather than symlinking.
  --unzip-setuptools    Unzip Setuptools when installing it.
  --relocatable         Make an EXISTING virtualenv environment relocatable.
                        This fixes up scripts and makes all .pth files
                        relative.
  --no-setuptools       Do not install setuptools in the new virtualenv.
  --no-pip              Do not install pip in the new virtualenv.
  --no-wheel            Do not install wheel in the new virtualenv.
  --extra-search-dir=DIR
                        Directory to look for setuptools/pip distributions in.
                        This option can be used multiple times.
  --download            Download preinstalled packages from PyPI.
  --no-download, --never-download
                        Do not download preinstalled packages from PyPI.
  --prompt=PROMPT       Provides an alternative prompt prefix for this
                        environment.
  --setuptools          DEPRECATED. Retained only for backward compatibility.
                        This option has no effect.
  --distribute          DEPRECATED. Retained only for backward compatibility.
                        This option has no effect.

@philroche or if you have virtualenv v20+, you could also use the seeders mechanism: https://virtualenv.pypa.io/en/stable/user_guide.html#seeders.

@webknjaz As far as I can tell changing the seeded version of setuptools is not supported in virtualenv version 15.0.1 which ships with Ubuntu 16.04
$ virtualenv --version
15.0.1
$ virtualenv --help
Usage: virtualenv.py [OPTIONS] DEST_DIR

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         Increase verbosity.
  -q, --quiet           Decrease verbosity.
  -p PYTHON_EXE, --python=PYTHON_EXE
                        The Python interpreter to use, e.g.,
                        --python=python2.5 will use the python2.5 interpreter
                        to create the new environment.  The default is the
                        python2 interpreter on your path (e.g.
                        /usr/bin/python2)
  --clear               Clear out the non-root install and start from scratch.
  --no-site-packages    DEPRECATED. Retained only for backward compatibility.
                        Not having access to global site-packages is now the
                        default behavior.
  --system-site-packages
                        Give the virtual environment access to the global
                        site-packages.
  --always-copy         Always copy files rather than symlinking.
  --unzip-setuptools    Unzip Setuptools when installing it.
  --relocatable         Make an EXISTING virtualenv environment relocatable.
                        This fixes up scripts and makes all .pth files
                        relative.
  --no-setuptools       Do not install setuptools in the new virtualenv.
  --no-pip              Do not install pip in the new virtualenv.
  --no-wheel            Do not install wheel in the new virtualenv.
  --extra-search-dir=DIR
                        Directory to look for setuptools/pip distributions in.
                        This option can be used multiple times.
  --download            Download preinstalled packages from PyPI.
  --no-download, --never-download
                        Do not download preinstalled packages from PyPI.
  --prompt=PROMPT       Provides an alternative prompt prefix for this
                        environment.
  --setuptools          DEPRECATED. Retained only for backward compatibility.
                        This option has no effect.
  --distribute          DEPRECATED. Retained only for backward compatibility.
                        This option has no effect.

That's why I said it's for 20+

That's why I said it's for 20+

You did. Thank you. Just adding detail for others on Ubuntu 16.04 that have been affected.

You did. Thank you. Just adding detail for others on Ubuntu 16.04 that have been affected.

Sorry I didn't check the required python before writing the issue.
I also have an old docker image with ubuntu 16.04 that stopped working.
I'll update my image.
Thanks.

Sorry I didn't check the required python before writing the issue.
I also have an old docker image with ubuntu 16.04 that stopped working.
I'll update my image.
Thanks.

Fwiw another workaround, I'm now using python3-venv and upgrading pip:
ubuntu@juju-1c6975-4:~$ lsb_release -c
Codename:       xenial
ubuntu@juju-1c6975-4:~$ sudo apt install python3-venv
...
ubuntu@juju-1c6975-4:~$ python3 -m venv v
ubuntu@juju-1c6975-4:~$ v/bin/pip install -U pip
...
ubuntu@juju-1c6975-4:~$ v/bin/pip install pyyaml
Successfully installed pyyaml-5.3.1

Fwiw another workaround, I'm now using python3-venv and upgrading pip:
ubuntu@juju-1c6975-4:~$ lsb_release -c
Codename:       xenial
ubuntu@juju-1c6975-4:~$ sudo apt install python3-venv
...
ubuntu@juju-1c6975-4:~$ python3 -m venv v
ubuntu@juju-1c6975-4:~$ v/bin/pip install -U pip
...
ubuntu@juju-1c6975-4:~$ v/bin/pip install pyyaml
Successfully installed pyyaml-5.3.1

Another recommendation I might suggest - don't install Setuptools at all. Most projects, if installed with pip --use-pep517 don't require setuptools to be installed prior to performing the install with pip. This requires a later version of pip with pep517 support (18 maybe?), but moves away from the implied dependency on setuptools.

Another recommendation I might suggest - don't install Setuptools at all. Most projects, if installed with pip --use-pep517 don't require setuptools to be installed prior to performing the install with pip. This requires a later version of pip with pep517 support (18 maybe?), but moves away from the implied dependency on setuptools.

I've started work on a patch that would fix that undesirable behavior in #728.

I've started work on a patch that would fix that undesirable behavior in #728.

Following up on my initial workaround. Here is a one liner
virtualenv -p /usr/bin/python3 venv/py3 --verbose --no-download && . venv/py3/bin/activate && python3 -m pip install --upgrade 'setuptools; python_version >= "3.6"' 'setuptools<51.3.0; python_version < "3.6" and python_version >= "3.0"' pip wheel && python3 -m pip list

Which uses the bundled pip, wheel and setuptools initially but then upgrades pip, wheel and setuptools using environment markers to ensure the supported version is installed.

Following up on my initial workaround. Here is a one liner
virtualenv -p /usr/bin/python3 venv/py3 --verbose --no-download && . venv/py3/bin/activate && python3 -m pip install --upgrade 'setuptools; python_version >= "3.6"' 'setuptools<51.3.0; python_version < "3.6" and python_version >= "3.0"' pip wheel && python3 -m pip list

Which uses the bundled pip, wheel and setuptools initially but then upgrades pip, wheel and setuptools using environment markers to ensure the supported version is installed.


Method flash() not defined in \Illuminate\Contracts\Session\Session

Laravel Version: 9.1.0
PHP Version: 8.1.2
Database Driver & Version: MariaDB 10.4.13

Description:
The function session() in \Illuminate\Http\Request has a return type of \Illuminate\Contracts\Session\Session. However, this interface does not define the flash() function, which is implemented in \Illuminate\Session\Store. In practice, this results in calls like $request->session()->flash('status', 'Task was successful!'); (as defined in the docs) showing errors in IDEs, and potentially encountering issues if the implementation were to be changed and the flash() method not implemented.
Steps To Reproduce:
<?php

namespace App\Http\Controllers;

class MyController extends Controller
{
    public function store(Request $request)
    {
        // perform task ...

        $request->session()->flash('status', 'Task was successful!');
    }
}

I guess this is userspace issue. I did not get this error.

@gguney This is not a "userspace" issue. Laravel 9 (correctly) changed the return typehint of the session method from \Illuminate\Session\Store to \Illuminate\Contracts\Session\Session and that contract indeed does not have the flash method on it so it's no wonder that IDEs are complaining about it.
https://github.com/laravel/framework/blob/v8.83.2/src/Illuminate/Http/Request.php#L508
https://github.com/laravel/framework/blob/v9.2.0/src/Illuminate/Http/Request.php#L519

Thanks @X-Coder264

@driesvints Should this method be added to the Session contract?


Cards don't span to new columns

Checklist:

[x] I updated to the latest version available
[x] I cleared the cache of my browser

Release with the issue: 0.1.4
Last working release (if known):
Browser and Operating System: Firefox, Pop!_OS 21.04

Description of problem:

Cards are extending the page using a scroll bar instead of spanning to new lovelace columns.
To reproduce:

Create a new lovelace dashboard/view with the default layout (equal width columns)
Add a frigate card with a valid configuration
Duplicate the card multiple times so that when the cameras load, the cards extend off the screen.

The cards remain in a single column rather than splitting across multiple columns (depending on screen space).
Javascript errors shown in the web inspector (if applicable):

Additional information:

Any chance you have a screenshot you could attach of the behavior? Thanks for the report, much appreciated!

Hope this is ok


Bug: Incorrect sniffing result when sample size = 1

Kùzu version
master
What operating system are you using?
MacOS
What happened?
Consider the following csv
Alice,4
Bob,2147483650
Eliz, Eliz
Andy, 9

When sample_size = 2, the column type is sniffed correctly,
kuzu> LOAD FROM 'c.csv' (ignore_errors=false, sample_size=2) RETURN *;
Error: Copy exception: Error in file c.csv on line 3: Conversion exception: Cast failed. Could not convert " Eliz" to INT64. Line/record containing the error: 'Eliz, Eliz'

However, when sample_size=1, the column type is sniffed as STRING,
kuzu> LOAD FROM 'c.csv' (ignore_errors=false, sample_size=1) RETURN *;
┌─────────┬────────────┐
│ column0 │ column1    │
│ STRING  │ STRING     │
├─────────┼────────────┤
│ Alice   │ 4          │
│ Bob     │<PHONE_NUMBER> │
│ Eliz    │  Eliz      │
│ Andy    │  9         │
└─────────┴────────────┘
(4 tuples)
(2 columns)

Are there known steps to reproduce?
No response

should be a bug in SniffCSVNameAndTypeDriver::done's finish condition check, let me take a look at this


Improve application deployment/undeployment

Right now applications are deployed/undeployed using the dropins directory. However, it is more preferable to deploy/undeploy the applications by updating the server.xml and adding/removing the  element.

+1. My app has classpath issues so I have to specify a  element in the server.xml. This means I have to copy the war file to the /apps directory using a different maven plugin.

If you have the app declared  in server.xml and only want to update it, just use:
../apps/${project.artifactId}.${project.packaging}

This functionality has been released since version 2.0.


Basic sensor should show "-" instead of pressure and humidity values

By Basic do you mean a tag with no BME280?
Maybe suppress icon and units too?


Database creation (2/2) - DB startup considering historical data playback

DB startup considering historical data playback
Cater to new requests and provide recomm

It is essential that data is not lost when pods are restarted. To achieve this, the cache management system must be capable of handling data appropriately.


Copy starter from GitLab

Could you set a different git author for this code, as you didn't write it yourself.
do we have some bot user? or simply<EMAIL_ADDRESS>

@nsams Thats a good idea! Ive set the Author to "Vivid Planet<EMAIL_ADDRESS>

Is this correct?
Git log says it's<EMAIL_ADDRESS>but GitHub still shows @max-debug022 profile? Maybe because there's no profile for<EMAIL_ADDRESS>

@johnnyomair Probably. Since the blame shows "Vivid Planet", I think it's okay


T-display S3 Amoled touch 1.91" -  use Lipo to also power other modules

Hi
I think I understood that I can use a lipo as a UPS in the case the 220V current of the usb-c power supply is missing.
if I'm wrong correct me.
I would like to understand if I can use this system in some way to also power the SIM800L EVB module.
(I don't think I can directly use the 5v pins of the T-display)
thanks
best regards

The board cannot be used to directly power SIM800L. SIM800L requires at least 2A of power, and the board cannot provide such a large current. Only an external power supply can be used.

thanks for the reply and sorry for my delay.
I measured my SIM800L EVB module and I don't detect a consumption of 2A (as per specifications) maybe because sending an SMS doesn't consume that much.
it's also true that I took the measurement with a normal multimeter which is not useful for measuring short peaks.
however I had already ordered a UPS 5V 3A from aliexpress, immaginando di non risolvere direttamente.
I will use this UPS to power both the SIM800L module and the T-Display
thanks again
best regards

yes I read it, thanks
I wonder how the "LILYGO T-SIM7000G" can work with LiPo.
maybe the 7000G module consumes less

7000g can be powered directly by battery. SIM7000G consumes less current than SIM800L. Compared with SIM800L, SIM7000G is much more stable than SIM800L.

I assumed so
thanks
best regards


Renew Horizon Signal from vanilla

I don't know exactly what changes are made to it but our version of Horizon Signal is old, so old it simply doesn't work right now.

I'll renew it

Renewed, along with pop_events.


ARROW-15900: [C++] Support Substrait reading of a Feather-format local file

See https://issues.apache.org/jira/browse/ARROW-15900 . Tests will be added after agreement on the approach is reached.

Ah, one more nit, we should probably add ARROW_IPC as a dependency to ARROW_ENGINE here: https://github.com/apache/arrow/blob/dfca6a704ad7e8e87e1c8c3d0224ba13b25786ea/cpp/CMakeLists.txt#L354

Thank you for the feature @rtpsw


[IDEA] Apply sorting (or other options) only to some key of a map

Hi Kim, I have another use case for this idea you had in another issue.
It is basically the formatting of the following bb.edn:
;;!zprint {:map {:key-order [:paths :deps :tasks] :respect-bl? false}}
{:paths ["scripts"]
 :deps {}
 :min-bb-version "0.4.0"
 :tasks {deps {:doc "Download the project dependencies." :task (clojure "-P" "-M:test")}
         check {:doc "Check the code for problems." :depends [lint-check fmt-check]}
         lint-check {:doc "Check code linting." :task (shell "scripts/lint-clj.sh check")}
         fmt-check {:doc "Check code formatting." :task (shell "scripts/format-clj.sh check")}
         fmt-fix {:doc "Fix code formatting." :task (shell "scripts/format-clj.sh fix")}
         test {:doc "Run the test suite." :task (clojure "-M:test" "--fail-fast" "unit")}
         test-watch {:doc "Test files while watching the file system for changes."
                     :task (clojure "-M:test" "--fail-fast" "--watch" "unit")}}}

It would be awesome if I could apply options like :sort? or :justify? only to the :tasks key.
Not a big deal but I figured we should have a first class issue for tracking the idea.
Thanks as always for your work on zprint!

Hello!  If I understand your idea, I think what you are asking for is already available as {:map {:key-value-options ...}}.
For example, I'm turning off sorting, and then re-enabling sorting only for things under the :tasks key.
(czprint i267a {:parse-string? true :map {:sort? false :key-value-options {:tasks {:map {:sort? true}}}}})
{:paths ["scripts"],
 :deps {},
 :min-bb-version "0.4.0",
 :tasks {check {:depends [lint-check fmt-check],
                :doc "Check the code for problems."},
         deps {:doc "Download the project dependencies.",
               :task (clojure "-P" "-M:test")},
         fmt-check {:doc "Check code formatting.",
                    :task (shell "scripts/format-clj.sh check")},
         fmt-fix {:doc "Fix code formatting.",
                  :task (shell "scripts/format-clj.sh fix")},
         lint-check {:doc "Check code linting.",
                     :task (shell "scripts/lint-clj.sh check")},
         test {:doc "Run the test suite.",
               :task (clojure "-M:test" "--fail-fast" "unit")},
         test-watch {:doc
                       "Test files while watching the file system for changes.",
                     :task (clojure "-M:test" "--fail-fast" "--watch" "unit")}}

Here it is with :justify? true:
(czprint i267a {:parse-string? true :map {:sort? false :key-value-options {:tasks {:map {:sort? true :justify? true}}}}})
{:paths ["scripts"],
 :deps {},
 :min-bb-version "0.4.0",
 :tasks {check      {:depends [lint-check fmt-check],
                     :doc     "Check the code for problems."},
         deps       {:doc  "Download the project dependencies.",
                     :task (clojure "-P" "-M:test")},
         fmt-check  {:doc  "Check code formatting.",
                     :task (shell "scripts/format-clj.sh check")},
         fmt-fix    {:doc  "Fix code formatting.",
                     :task (shell "scripts/format-clj.sh fix")},
         lint-check {:doc  "Check code linting.",
                     :task (shell "scripts/lint-clj.sh check")},
         test       {:doc  "Run the test suite.",
                     :task (clojure "-M:test" "--fail-fast" "unit")},
         test-watch {:doc
                       "Test files while watching the file system for changes.",
                     :task (clojure "-M:test" "--fail-fast" "--watch" "unit")}}}

I hope that does what you want.  Thanks for asking!

Well it works like a charm! I must have missed it, closing this and thank you :smile:


Setting a style for a TextView

This is a both a question and a feature request.
Problem description
I saw the TextView::set_effect method and wanted to have a set_style method too.  I was about to implement it when I saw your comment in text_view.rs:
// TODO: remove now that we have styled text?
effect: Effect,

So I wanted to discuss this here first.
Yes, the user can just set the content to a styled string instead of setting the effect or style for the text view.  But for views that are created once and then updated regularly and from multiple code locations (e. g. a status bar), it is useful to have a way to set a default style for the view.  So I think it would make sense to keep the set_effect method and to even add a set_style(Into<Style) method.  (The set_effect method could also be dropped in favor of set_style.)  What do you think?

Hi again!
I think there are two separate potential improvements:

Being able to write views that "pre-process" the given text, for example apply styles to it.
Being able to easily add/remove styles to an existing StyledString ("make this text bold", then "undo that" without losing previously-bold text for example).

There's also the more conceptual question "is style attached to the text content, or to the view itself?".
Some of this point to hierarchy of applied styles, maybe closer to CSS. I don't have a very clear idea of how to get there though, so for now having a dedicated style for the TextView itself which is merged with the content is perfectly fine.

Alternatively, there could be a StyledView that wraps an arbitrary view and applies a style to the printer before drawing it, maybe together with a Styleable trait.

On the latest commit there is now a set_style option to TextView.
We'll see later for a more general solution.


Mergecond

Check if this works, merging all tasks

I'm getting an error like "append() takes at most 3 arguments (4 given)" when calling merge_cond()... Can you check that?

Yeah will check
On Nov 18, 2015 8:37 PM, "changsiyao"<EMAIL_ADDRESS>wrote:

I'm getting an error like "append() takes at most 3 arguments (4 given)"
when calling merge_cond()... Can you check that?
—
Reply to this email directly or view it on GitHub
https://github.com/berkeley-stat159/project-theta/pull/62#issuecomment-157948875
.

Should work now

behav_task.shape[1] != 12 not 9, I think.

Sry got sloppy

Someone can merge this if we are good


no such table error

I got below errors while post image
Request Method: | POST
http://<IP_ADDRESS>:8000/api/create-bookshelf/
3.1.5
OperationalError
no such table: detect_spines_bookshelf

Did you ran your migrations successfully?

Did you ran your migrations successfully?

Yes, I successfuly migration it. but i can't find table detect_spines_bookshelf when i try to use sqlites.exe to open db.sqlite3
only those tables in this file.
sqlite> .tables
auth_group                  auth_user_user_permissions
auth_group_permissions      django_admin_log
auth_permission             django_content_type
auth_user                   django_migrations
auth_user_groups            django_session
sqlite>

Yes, I successfuly migration it. but i can't find table detect_spines_bookshelf when i try to use sqlites.exe to open db.sqlite3
only those tables in this file.
sqlite> .tables
auth_group                  auth_user_user_permissions
auth_group_permissions      django_admin_log
auth_permission             django_content_type
auth_user                   django_migrations
auth_user_groups            django_session
sqlite>

The models are defined clearly, I am not understanding why you are facing this issue! (if you could provide the steps to reproduce the issue that way I can debug it), or if you are using sqlite, could you try deleting the database files and running the migrations again.

The models are defined clearly, I am not understanding why you are facing this issue! (if you could provide the steps to reproduce the issue that way I can debug it), or if you are using sqlite, could you try deleting the database files and running the migrations again.

delete your sqlite db file and run the migrations again.

delete your sqlite db file and run the migrations again.

@p31415926, I will push a setup file within few days, so you can delete everything, clone a fresh version, and run that setup file to make everything work.

@p31415926, I will push a setup file within few days, so you can delete everything, clone a fresh version, and run that setup file to make everything work.


fix: provides policies info in auth token response

这个 PR 实现什么功能/修复什么问题:
修正：在认证响应中提供当前项目的匹配权限列表
是否需要 backport 到之前的 release 分支:

release/2.10.0
release/2.11
release/2.12

/area keystone

Codecov Report

Merging #2673 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #2673      +/-   ##
=========================================
- Coverage     7.1%    7.1%   -0.01%
=========================================
  Files         466     466
  Lines       73513   73517       +4
=========================================
  Hits         5222    5222
- Misses      67861   67865       +4
  Partials      430     430

Flag
Coverage Δ

#aFlag
7.1% <0%> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/keystone/tokens/token.go
10.98% <0%> (-0.55%)
:arrow_down:

pkg/keystone/models/assignments.go
2.01% <0%> (+0.03%)
:arrow_up:

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 d884992...5ef680f. Read the comment docs.

/lgtm
/approve