Thumbnailer real render

Hello,
I'm currently using the thumbnailer from embroidermodder, and I'd like to know if it was possible to adapt easily the realrender function from the object-base to the thumbnailer. I've done some test but I can't get the real result so far

Could any one point me to the right direction ? This is not a bug, nor a request feature but I didn't know where to contact the community around this project
Thanks a lot, if your intrested I could do a PR afterward

The realistic rendering is done using Qt, while the thumbnailer draws the
stitches manually.
There is no easy way to generate the "real render" thumbnails using the
current method without somehow using Qt in memory to render a window and
then use that output as an image.
Your best bet would most likely be to write a gradient line drawing
function and draw it manually. (That is essentially what the Qt version is
doing)
On Fri, Mar 16, 2018 at 12:28 PM, Matthieu Croissant <
<EMAIL_ADDRESS>wrote:

Hello,
I'm currently using the thumbnailer from embroidermodder, and I'd like to
know if it was possible to adapt easily the realrender function from the
object-base to the thumbnailer. I've done some test but I can't get the
real result so far
[image: rftowl5]
https://user-images.githubusercontent.com/5605097/37533522-5ffba978-2942-11e8-8d47-e0f1a0edced9.png
Could any one point me to the right direction ? This is not a bug, nor a
request feature but I didn't know where to contact the community around
this project
Thanks a lot, if your intrested I could do a PR afterward
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Embroidermodder/Embroidermodder/issues/106, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAYcnJ8yNKXkhx80D5vl7am8xFBfs58Rks5te_YhgaJpZM4SuKec
.

@mcroissant I'd like to invite you to check out Ink/Stitch: https://inkstitch.org/.  It uses the awesome libembroidery (the core of Embroidermodder) to load embroidery files in Inkscape and it can do realistic rendering in your web browser through its Print functionality.
@JoshVarga If you'd rather I didn't mention Ink/Stitch here, please let me know and accept my apologies!

Lex, no problems InkStitch is very cool. I created the libraries and
console app to facilitate new embroidery apps.
On Wed, Jun 13, 2018, 9:08 PM Lex Neva<EMAIL_ADDRESS>wrote:

@mcroissant https://github.com/mcroissant I'd like to invite you to
check out Ink/Stitch: https://inkstitch.org/. It uses the awesome
libembroidery (the core of Embroidermodder) to load embroidery files in
Inkscape and it can do realistic rendering in your web browser through its
Print functionality.
@JoshVarga https://github.com/JoshVarga If you'd rather I didn't
mention Ink/Stitch here, please let me know and accept my apologies!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Embroidermodder/Embroidermodder/issues/106#issuecomment-397135281,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAYcnPgy7tPKe3OSjtf-AJ2RlG7g6Qumks5t8beXgaJpZM4SuKec
.

Thank you!  It's been incredibly useful to have libembroidery at the heart of everything.  The code was much messier before I integrated libembroidery.


use authority instead of value for type-bind

In the current version of DSpace-CRIS-7, it is not possible to store values in MD fields that are associated with type-bind. This is because the validate method in MetadataValidator.java uses the value of DocumentType, but in DSpace-CRIS-7 the DocumentType is controlled by the controlled-vocabulary publication-coar-types. Therefore, the validate method must use the authority of the DocumentType.

This issue affects at least DS CRIS 2023.01 and 2022.03.

The issue that empty MD fields with the required property are accepted when these fields are associated with a type-bind is also fixed by this PR.

It is important to point out that the problem only occurs if you have implemented the type bind using the COAR vocabulary.


Adding examples for python V2 Durable entities

The doc was missing python v2 examples

Pinging @lilyjma and @ggailey777

@cgillum
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

@davidmrdavid
PRMerger will only accept sign off from the listed 'author'. However, if you are a Microsoft employee authorized to update this content, you can send a request to<EMAIL_ADDRESS>for this PR to be merged.  Include your role, and an explanation of why the PR should be merged without approval from the listed author.

#sign-off


Add MVEL_TEMPLATE_STYLE

The syntax for block comments: http://mvel.documentnode.com/#comment-comment-tag
Here .mv is mentioned as the extension of mvel template files: http://mvel.documentnode.com/#include-include-template-file

@ppalaga : can you send a quick PR ?


Client modifications to handle addon installation/rendering with new dashboard.

i18n for base.html and compliance addon template
reusable solution


notify retry optimize

always retry during a flush
return if timer stopped(by accident or what)

as discussed in issue #2286

Superseded by #2290. Thanks for the work and sorry for the duplication.


Inside onPrepare forking new browser instances throwing an error 100

In onPrepare event handler of protractor conf file, I am trying to fork numeber of browsers I need for test like below
  browsers = {
        a: browser,
        b : browser.forkNewDriverInstance(),
        c : browser.forkNewDriverInstance(),
        d : browser.forkNewDriverInstance()
  };

But is throwing an error "Protractor failed with error code 100". Should not I fork new browser instance in onPrepare? If not, please let me know how I can do it

hi, how would this work if my structure is based on page objects?  How do i switch between browser if i use page object?
example:
--test.js--
logingpage.setuserNameInputElement(userInfo.client.username);
--loginpage.po--
this.setuserNameInputElement = function (name) {
commonsMethod.findElementDriver(this.userNameInputPath).then(function (foundElement) {
foundElement.clear();
foundElement.sendKeys(name);
});
};
how do i switch between browser to use different page object. currently this work for a singular browser. would i need to update my page object to now accept a browser as well?

Yes. Here's an example: https://github.com/angular/protractor/blob/master/spec/interaction/interaction_spec.js

Thanks for the example, but it seem like you're doing a browser assignment for each method. I found out that I can just switch the default browser so it'll run in serial instead.
config:::
onPrepare: function () {
    global.browsers = {
      a: browser,
      b: browser.forkNewDriverInstance()
    };
    browsers.a.manage().timeouts().pageLoadTimeout(baseConfig.timeout.pageLoad);
    browsers.a.manage().timeouts().implicitlyWait(baseConfig.timeout.implicitWait);
    browsers.a.driver.manage().window().setSize(400,800);
    browsers.b.manage().timeouts().pageLoadTimeout(baseConfig.timeout.pageLoad);
    browsers.b.manage().timeouts().implicitlyWait(baseConfig.timeout.implicitWait);
    browsers.b.driver.manage().window().setSize(400,800);
}

test.js::
 it('A open and click login page', function () {
    browser = browsers.a;
    landingpage.getUrl();
    landingpage.clicklogInLinkElement();
    console.log('this is a click login page');
  });
  it('B open and click login page and sign in', function () {
    browser = browsers.b;
    landingpage.getUrl();
    landingpage.clicklogInLinkElement();
    logingpage.loginElement(userInfo.username,userInfo.password);
    console.log('this is b logging in');
  });
  it('A click sign in', function () {
    browser = browsers.a;
    logingpage.loginElement(userInfo.username,userInfo.password);
    console.log('this is a loggin in');
  });

Are you sure that is working? You've never reassigned element to global so it's always using the original browser.
Anyway, even if you assign element like you did with browser, it only works because you're not using the browsers in parallel. So yes it will work for this case, but once you start mixing the browser, your test will break.
Consider:
it ('test', function() {
  browser = browser.a
  element = browser.a.element
  element(by.xyz).getText().then(function(text) {if (text === 'abc') {element(by.abc).click()});
  browser = browser.b
  element = browser.b.element
})

Now element(by.xyz) will work against browser1 but element(by.abc) will work against browser2 because your assignment is synchronous while promises are async. You will understand what I'm saying once you start working with this.


Related sightings algorithm

Possible factors of relatedness:

GPS coordinates OR location
Date/Time (within 3 hours?)
Animal
Species
Main identifying characteristic (i.e. band, scar, bleach marking, tag)

https://www.edureka.co/community/34500/locating-closest-match-based-on-latitude-longitude
https://ourcodeworld.com/articles/read/1019/how-to-find-nearest-locations-from-a-collection-of-coordinates-latitude-and-longitude-with-php-mysql

TIME:
https://bearnithi.com/2019/11/10/how-to-calculate-the-time-difference-days-hours-minutes-between-two-dates-in-javascript/#:~:text=To calculate the minutes difference,milliseconds (minutes * 60) .

_id of newly inserted animal:
https://stackoverflow.com/questions/14481521/get-the-id-of-inserted-document-in-mongo-database-in-nodejs


Added an upload indicator using the pace package to show the progress

I want to clarify this is my first time contributing to a repo. Used the pace package to show the progress when uploading the apk file. Fix #1. Thanks to @kilianc for the tip

Hey @TheLox95 thanks for the PR! Just a quick note, would you mind adding tests for this? If you're not experienced with that, that's not a problem just let me know and I'll give you some good pointers.

+1 any update on this?


使用seata1.8 遇到事务不回滚问题，请求下

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
我在A模块使用seata事务，向B模块插入数据，在B模块执行完后，A模块发生异常，B模块已经插入的数据不发生回滚
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
Just paste your stack trace here!

seata的日志
Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

xxx

Minimal yet complete reproducer code (or URL to code):
Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version(e.g. java -version): jdk11
Seata client/server version:  1.8.0/1.8.0
Database version: mysql5.7
OS(e.g. uname -a):
Others:

https://seata.apache.org/zh-cn/docs/next/overview/faq/#42


Support for 'atomic' helm releases

Would it be an option to have the 'atomic' parameter which can be used on the helm release itself, as input for this module as well?

Hello, what do you mean atomic releases ?

Atomic as documented here: https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release#atomic
To prevent having a failed release/half release of the nginx controller.

new tag is v2.0.1


Unified Cli renderer options incompatible with Main renderer options.

The UnifiedCli renderer has option cliColor whose only valid value is simple
$this->options['cliColor'] == 'simple'
The Main renderer has the following options:
    /**
     * @var array   Associative array containing the default options available for this renderer and their default
     *              value.
     *              - tabSize           The amount of spaces to replace a tab character with.
     *              - format            The format of the input texts.
     *              - cliColor          Colorized output for cli.
     *              - deleteMarkers     Markers for removed text.
     *              - insertMarkers     Markers for inserted text.
     *              - equalityMarkers   Markers for unchanged and changed lines.
     *              - insertColors      Fore- and background color for inserted text. Only when cloColor = true.
     *              - deleteColors      Fore- and background color for removed text. Only when cloColor = true.
     */
    protected $mainOptions = [
        'tabSize'         => 4,
        'format'          => 'plain',
        'cliColor'        => false,
        'deleteMarkers'   => ['', ''],
        'insertMarkers'   => ['', ''],
        'equalityMarkers' => ['', ''],
        'insertColors'    => ['black', 'green'],
        'deleteColors'    => ['black', 'red'],
    ];

Option cliColor should be of type boolean and when true the output should be colorized using the colors defined at options insertColors and deleteColors.
btw... The comments in the code block above contains typos as well: cloColor instead of cliColor
See https://github.com/JBlond/php-diff/blob/e6812d018163a60261136621c4cb05499ab995c9/lib/jblond/Diff/Renderer/MainRendererAbstract.php#L39 and https://github.com/JBlond/php-diff/blob/e6812d018163a60261136621c4cb05499ab995c9/lib/jblond/Diff/Renderer/MainRendererAbstract.php#L40

Feel very free to change that as you like. We can do a new version number that indicates that it is incompatible.

See my suggestion https://github.com/JBlond/php-diff/pull/61

I wonder if the constructor can be changed from
    public function __construct(array $options = [])
    {
        parent::__construct();
        $this->setOptions($this->subOptions);
        $this->setOptions($options);
    }

to
    public function __construct(array $options = [])
    {
        parent::__construct($options);
    }

since the subOptions are empty in InlineCli

See my comment at https://github.com/JBlond/php-diff/pull/61#discussion_r500811768
I think it's the same subject?
subOptions is currently empty, but meant to declare default values for the subRenderer, other than the options of MainRenderer.
(Something like being futureproof)

I still wonder then, why the constructor has the parameter, if setOptions should be used.

Stop wondering, your thoughts are right.
Just wanted to make clear why $this->subOptions exists and all options need to be merged.
The constructor of MainRendererAbstract also uses setOptions.
    public function __construct(array $options = [])
    {
        parent::__construct();
        $this->setOptions($this->subOptions);
        $this->setOptions($options);
    }

could probably be shortened to:
    public function __construct(array $options = [])
    {
        parent::__construct($this->subOptions);
        $this->setOptions($options);
        // Or switch $this->subOptions and $options.
    }

It makes sense to set $options at last. Otherwise you can't override the default subOptions.

Done. Merge #61


Plugin templates don't get updated with HMR

Bug report

What is the current behavior?
An ImportDependencyTemplate plugin does not re-run or update template through HMR when a dependency is changed.
If the current behavior is a bug, please provide the steps to reproduce.
Reproduction here: https://github.com/micburks/webpack-hmr-instrument

What is the expected behavior?
When a dependent file is updated:

The ImportDependencyTemplate plugin should build a new template
Client should be updated via HMR

Other relevant information:
webpack version: 4.32.2
Node.js version: 10.15.3
Operating System: MacOS
Additional tools:

This is working as expected. The Dependency hasn't changed, only the content of the referenced module.
A Dependency only depends on the module id of the referenced module. Otherwise changing one module would invalidate the whole chain of modules referencing it.
Actually a Dependency can choose on which information it depends on. See updateHash method of Dependency. If you need more data, you might look into creating your own dependency with a different updateHash method.

That's super helpful, thanks for the explanation!
It looks like if I create a new Dependency, I'd have to also create a new Parser that will invoke it. This doesn't seem particularly straightforward to do, unless I'm mistaken and there's a simpler way.

You can also replace the ImportDependency with your custom one after parsing.

Sounds reasonable. Do you have an example of that? I can't seem to find an example in practice

I was able to get this working. For posterity's sake, I hooked into compilation.hooks.afterOptimizeDependencies and replaced the ImportDependency found in modules.blocks.dependencies with my custom dependency. My dependency is added to compilation.dependencyFactories and compilation.dependencyTemplates similar to lib/dependencies/ImportPlugin.js. Then my dependency uses build-time data to update the hash to signal an update.
Thanks @sokra for the help!


translating xml - spaces deleted at end of text string before  bold

Hello, I am using this API to translate XML documents from Schema. Some of my text elements have bold sections and I use lxml.etree to parse and translate text and tail elements. The bold elements within text end up with the space removed in front of them.
Anything I can do to keep the spaces?

Hi @vf211, thanks for creating this issue.
Can you please provide a short example? I'm assuming you're using translate_text(), do you use tag_handling?.

Dear Daniel, thank you so much for your quick reply. Here is an example of text from the XML file where I have a problem:
1. Tap Set Up (1).
when it translates it replaces this with translated version but takes out the gap after "Tap", like this:
1. TapSet Up (1).
Here is the code I use. The issue is when we have bold text within the text element.
import lxml.etree as ET
import deepl
file='New_project_en-US_to_it-IT.xml' #starting file that needs a translate
file2='doc2.xml' # file that it will save to
lang='IT' #languate to translate to
tree = ET.parse(file)
root = tree.getroot()
translator = deepl.Translator("53f18f3b-ba9c-0a6f-b02f-dae33676d6cd:fx") #API key from DEEPL API
for elem in root.iter():
try:
if elem.text:
elem.text = elem.text.replace(elem.text, translator.translate_text(elem.text, target_lang=lang).text)
if elem.tail:
elem.tail = elem.tail.replace(elem.tail, translator.translate_text(elem.tail, target_lang=lang).text)
except AttributeError:
pass
except deepl.DocumentTranslationException as error:
doc_id = error.document_handle.id
doc_key = error.document_handle.key
print(f"Error after uploading document ${error}, id: ${doc_id} key: ${doc_key}")
except deepl.DeepLException as error:
print(error)
tree.write(file2)

Hi @vf211, thanks for the reply. Please avoid exposing your authentication key in public; I've edited your post above. You should now regenerate your authentication key on your account page.
Your code looks okay.
In the line elem.text = elem.text.replace(elem.text, translator.translate_text(elem.text, target_lang=lang).text) could you share an example value of an elem.text passed to translate_text that contains the  elements you mentioned?
For example by adding print(elem.text) above that line.
I tried translating "Tap Set Up (1)" with target_lang="IT" but the result I get is "Tocca Set Up (1)" with a space correctly before the  tag.

Hi @vf211, great to hear that you have fixed the problems, thanks for the update!


Watermarks are wonky

🐛 Summary
According to the way that the background LaTeX package is being called in #53, these statements concerning the DHS logo watermark should be true:

The only page of the report that should have the watermark is the table of contents page.
The watermark on the table of contents page should be quite faint, like it was in our reports up until September of this year (before #51 and #53).

This is what is actually true:

The title page does not have a watermark, which is what we expect and desire.
The table of contents does have a watermark but, although it is rather transparent, it is not nearly as transparent as it was before #53.
All pages following the table of contents have a much more transparent watermark than the table of contents page, even though they should have no watermark at all.

Note that I was only able to get rid of an aggressively non-opaque watermark on the title page by moving the location of the background configuration in #53.
The only thing I can think of is that after the update to Bullseye in #51 we have a newer version of the background package, and all the LaTeX-fu in that report to make it look like a fancy Word document is now somehow colliding with it.
To reproduce
Use the code in this repo to create a Trustworthy Email report/
Expected behavior
Described above.

@dav3r and @jsf9k is this something you'd like for us to take a stab at locally or is it something that's far outside our wheel house? It's ok, you all can be honest with us. 👍

@KeithBonesJr Has anyone on your team verified if @jsf9k's original comments from 2 years ago are still true now?  It's possible that newer LaTeX packages have changed things since then.
Also, is this important enough for anyone to spend any time on?

@dav3r looking into this now. In terms of importance, unfortunately our contractor management heard we can generate sample reports and wanted us to look into this since it's one of VS's lingering issue. If we can resolve it on our own, my plan is to let them know it'll continue to be an issue. Also thanks! @jsf9k

Just had a glance and noticed the issue was fixed for the trustymail report, not the HTTPS report. My guess is a similar version bump may need to happen within the https://github.com/cisagov/pshtt repository? @dav3r @jsf9k

Just had a glance and noticed the issue was fixed for the trustymail report, not the HTTPS report. My guess is a similar version bump may need to happen within the https://github.com/cisagov/pshtt repository? @dav3r @jsf9k

What exactly do you mean by "a similar version bump"?

Just had a glance and noticed the issue was fixed for the trustymail report, not the HTTPS report. My guess is a similar version bump may need to happen within the https://github.com/cisagov/pshtt repository? @dav3r @jsf9k

What exactly do you mean by "a similar version bump"?

I was thinking you did a version bump on bull-eye but it looks like you moved the version of the background configuration. Oversight on my end.


module css overrides html elements

npm module applies css styling to specific html tags which can not be removed or overwritten. For example list items.

yes, currently it doesn't support independent styling.
I have a working version that does, though - will publish soon

Also seeing that other <li> item styles are getting overridden by this components styles. Any chance the styling can be made specific to this component and styles more easily editable (maybe even including a prop for custom class names)?

yes, it is already done - just don't have time, at the moment to polish and push...
few days out, max.

latest release should fix these issues.
let me know if you still have the same problem

ok, cool - closing!


fix: typo on docs

Just a small typo on the docs that I thought I could fix :)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[Feature Request] Show Journal Sidebar Headings

Hello! I'm not sure if this module is still receiving updates; it still seems to work okay with v12. But in case it does get updated in the future, one of my players wanted to submit a small feature/setting request.
So here's an example journal before activating this module:

And here's the same journal after activating the module:

It would be cool if there were a setting to maintain the layout of the left sidebar in order to show the navigation tree of headings as in the first image.
Thanks for this module! It's been a huge quality-of-life improvement.

+1


Release 1.0a15

Currently: https://github.com/simonw/datasette/compare/1.0a14...main

https://github.com/simonw/datasette/issues/2389
https://github.com/simonw/datasette/issues/2393
https://github.com/simonw/datasette/issues/2390
https://github.com/simonw/datasette/issues/2384 - thanks, Alex Garcia
https://github.com/simonw/datasette/issues/2326 - thanks, Seb Bacon
https://github.com/simonw/datasette/issues/2296 - thanks, Alex Garcia

Any more bug fixes we should get in there before the release?

~https://github.com/simonw/datasette/issues/2388~ this turns out to be too much work to include in this alpha
[x] Alex: https://github.com/simonw/datasette/pull/2386
[x] Alex: https://github.com/simonw/datasette/pull/2391
~https://github.com/simonw/datasette/pull/2339~ not quite ready to land this, need to conclusively figure out how PATH works on Windows
[x] https://github.com/simonw/datasette/pull/2327
~https://github.com/simonw/datasette/issues/2378~ tests are failing, this can go in a later alpha

Release notes: https://github.com/simonw/datasette/blob/7d8dd2ac7fbbc53f484e8d383ac7f3656b28aa86/docs/changelog.rst#10a15-2024-08-15

Released: https://pypi.org/project/datasette/1.0a15/
Blogged here: https://simonwillison.net/2024/Aug/16/datasette-10a15/


Schema migration tool for Amazon Keyspaces

We are in the middle of migration to Amazon Keyspaces. I would like to know what is the best way to manage future Schema Migrations with Amazon Keyspaces?
It would be great if Amazon can provide with a tool that can mount a set of migration scripts and applies them incrementally.
Something like described https://medium.com/cobli/the-best-way-to-manage-schema-migrations-in-cassandra-92a34c834824

We also need this P.S: Asking for a friend :smile:


Adding extension hook docs

Overview
Adds docs re: Fluid Field hooks (PR: https://github.com/ExpressionEngine/ExpressionEngine/pull/1026)
Nature of This Change

[ ] 🐛 Fixes a bug
[ ] 🚀 Implements a new feature
[X] 🛁 Rewrites existing documentation
[ ] 💅 Fixes coding style
[ ] 🔥 Removes unused files / code

@intoeetive updated.


OpenAPI: require all bodies in client-server

Fix #3237

I guess a changelog entry is needed to merge this but @turt2live knows better.


<context.damager> stopped working for CUSTOM cause

I just updated one of my server to the latest dev build where I use the hurt command with cause:custom a lot. It basicaly looks like this:
on player right clicks with Weapon:
- shoot button origin:<player> script:WeaponDamage
"WeaponDamage":
type: task
- hurt 10 entities:<def[hit_entities]> cause:custom
on player damaged by custom:
- announce "<context.damager.name> shot <context.entity.name>"
This worked fine until now. It does not resolve <context.damager> anymore.
I also tried to hurt myself with /ex hurt <player> 1 cause:custom. The event fires but <context.damager> does not work.
I also tried to make something like this
on player right clicks with stone:
- hurt <player> 1 cause:custom
Nothing works for <context.damager> anymore

You need to use source:<ENTITY HERE> to specify the damager.
Bear in mind specifying a damager, especially a player, can cause the damage to fail, as it tends to get blocked by random things. (EG, NoCheatPlus will not like a player damaging an entity from too far away)

I looked into my Backup files and noticed that "source" was there before I updated. Dunni why it was gone. Maybe I made some changes I forgot about. Thanks.


Can't end BackgroundTask

Describe your environment

Xcode version: 11.3
Firebase SDK version: 6.14.0
Firebase Component: FirebaseAnalytics
Component version: 6.1.7

Describe the problem
Can't end BackgroundTask: no background task exists with identifier 32 (0x20), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

Steps to reproduce:

Set symbolic breakpoint at UIApplicationEndBackgroundTaskError
Lock simulator with Command-L
Notice breakpoint hit

Relevant Code:
- (void)appWillBackground:(GDTCORApplication *)app {

is called twice, second time it causes the failure

May be related to the radar that @mikehaney24 filed some time ago.
@paulz, can you share the stack trace at the symbolic breakpoint?

#0	0x00007fff480b1334 in UIApplicationEndBackgroundTaskError ()
#1	0x00007fff480b15d5 in -[UIApplication _endBackgroundTask:] ()
#2	0x000000010de75d48 in _dispatch_client_callout ()
#3	0x000000010de78cb9 in _dispatch_block_invoke_direct ()
#4	0x00007fff3662237e in __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ ()
#5	0x00007fff3662206c in -[FBSSerialQueue _queue_performNextIfPossible] ()
#6	0x00007fff3662257b in -[FBSSerialQueue _performNextFromRunLoopSource] ()
#7	0x00007fff23bd4471 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#8	0x00007fff23bd439c in __CFRunLoopDoSource0 ()
#9	0x00007fff23bd3b74 in __CFRunLoopDoSources0 ()
#10	0x00007fff23bce87f in __CFRunLoopRun ()
#11	0x00007fff23bce066 in CFRunLoopRunSpecific ()
#12	0x00007fff384c0bb0 in GSEventRunModal ()
#13	0x00007fff48092d4d in UIApplicationMain ()
#14	0x000000010cbccc5b in main at main.swift:3
#15	0x00007fff5227ec25 in start ()

If set breakpoint at endBackgroundTask I see it hit twice on lock with this stack:
#0	0x000000010ccbd226 in -[GDTCORApplication endBackgroundTask:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m:133
#1	0x000000010ccc20de in __35-[GDTCORStorage appWillBackground:]_block_invoke at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorage.m:254
#2	0x000000010de74dd4 in _dispatch_call_block_and_release ()
#3	0x000000010de75d48 in _dispatch_client_callout ()
#4	0x000000010de7c5ef in _dispatch_lane_serial_drain ()
#5	0x000000010de7d17f in _dispatch_lane_invoke ()
#6	0x000000010de88a4e in _dispatch_workloop_worker_thread ()
#7	0x00007fff524636fc in _pthread_wqthread ()
#8	0x00007fff52462827 in start_wqthread ()

second time causing the the warning:
#0	0x000000010ccbd226 in -[GDTCORApplication endBackgroundTask:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m:133
#1	0x000000010ccc20de in __35-[GDTCORStorage appWillBackground:]_block_invoke at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorage.m:254
#2	0x000000010de74dd4 in _dispatch_call_block_and_release ()
#3	0x000000010de75d48 in _dispatch_client_callout ()
#4	0x000000010de7c5ef in _dispatch_lane_serial_drain ()
#5	0x000000010de7d17f in _dispatch_lane_invoke ()
#6	0x000000010de88a4e in _dispatch_workloop_worker_thread ()
#7	0x00007fff524636fc in _pthread_wqthread ()
#8	0x00007fff52462827 in start_wqthread ()

And if you want to trace back when end background was dispatched:
Thread 65 Queue : com.google.GDTCORStorage (serial)
#0	0x000000010ccc1da4 in __35-[GDTCORStorage appWillBackground:]_block_invoke at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorage.m:231
#1	0x000000010de74dd4 in _dispatch_call_block_and_release ()
#2	0x000000010de75d48 in _dispatch_client_callout ()
#3	0x000000010de7c5ef in _dispatch_lane_serial_drain ()
#4	0x000000010de7d17f in _dispatch_lane_invoke ()
#5	0x000000010de88a4e in _dispatch_workloop_worker_thread ()
#6	0x00007fff524636fc in _pthread_wqthread ()
#7	0x00007fff52462827 in start_wqthread ()
Enqueued from com.apple.main-thread (Thread 1) Queue : com.apple.main-thread (serial)
#0	0x000000010de79c5d in dispatch_async ()
#1	0x000000010ccc1d3d in -[GDTCORStorage appWillBackground:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorage.m:231
#2	0x000000010ccbc352 in -[GDTCORLifecycle applicationDidEnterBackground:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORLifecycle.m:77
#3	0x00007fff23b9b5bc in __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ ()
#4	0x00007fff23b9aa35 in _CFXRegistrationPost1 ()
#5	0x00007fff23b9a7a1 in ___CFXNotificationPost_block_invoke ()
#6	0x00007fff23c988b3 in -[_CFXNotificationRegistrar find:object:observer:enumerator:] ()
#7	0x00007fff23b9a0f6 in _CFXNotificationPost ()
#8	0x00007fff2574bbf7 in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
#9	0x000000010ccbd531 in -[GDTCORApplication iOSApplicationDidEnterBackground:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m:177
#10	0x00007fff23b9b5bc in __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ ()
#11	0x00007fff23b9aa35 in _CFXRegistrationPost1 ()
#12	0x00007fff23b9a7a1 in ___CFXNotificationPost_block_invoke ()
#13	0x00007fff23c988b3 in -[_CFXNotificationRegistrar find:object:observer:enumerator:] ()
#14	0x00007fff23b9a0f6 in _CFXNotificationPost ()
#15	0x00007fff2574bbf7 in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
#16	0x00007fff480980a9 in __47-[UIApplication _applicationDidEnterBackground]_block_invoke ()
#17	0x00007fff47a222b6 in +[UIViewController _performWithoutDeferringTransitionsAllowingAnimation:actions:] ()
#18	0x00007fff48097fa0 in -[UIApplication _applicationDidEnterBackground] ()
#19	0x00007fff477c6681 in __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke_2 ()
#20	0x00007fff47cb44c1 in _UIScenePerformActionsWithLifecycleActionMask ()
#21	0x00007fff477c627f in __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke ()
#22	0x00007fff477c5d40 in -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] ()
#23	0x00007fff477c60ac in -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] ()
#24	0x00007fff477c5941 in -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] ()
#25	0x00007fff477c9f3f in __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke_2 ()
#26	0x00007fff47bd8c83 in +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] ()
#27	0x00007fff47cd2dff in _UISceneSettingsDiffActionPerformChangesWithTransitionContext ()
#28	0x00007fff477c9c5a in __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke ()
#29	0x00007fff47cd2d02 in _UISceneSettingsDiffActionPerformActionsWithDelayForTransitionContext ()
#30	0x00007fff477c9ac8 in -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] ()
#31	0x00007fff476206e7 in __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke ()
#32	0x00007fff4761f26c in -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] ()
#33	0x00007fff47620411 in -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] ()
#34	0x00007fff47bfac66 in -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] ()
#35	0x00007fff365d6c07 in -[FBSSceneImpl updater:didUpdateSettings:withDiff:transitionContext:completion:] ()
#36	0x00007fff365fc99f in __88-[FBSWorkspaceScenesClient sceneID:updateWithSettingsDiff:transitionContext:completion:]_block_invoke_2 ()
#37	0x00007fff365e0c45 in -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] ()
#38	0x00007fff365fc8dc in __88-[FBSWorkspaceScenesClient sceneID:updateWithSettingsDiff:transitionContext:completion:]_block_invoke ()
#39	0x000000010de75d48 in _dispatch_client_callout ()
#40	0x000000010de78cb9 in _dispatch_block_invoke_direct ()
#41	0x00007fff3662237e in __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ ()
#42	0x00007fff3662206c in -[FBSSerialQueue _queue_performNextIfPossible] ()
#43	0x00007fff3662257b in -[FBSSerialQueue _performNextFromRunLoopSource] ()
#44	0x00007fff23bd4471 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#45	0x00007fff23bd439c in __CFRunLoopDoSource0 ()
#46	0x00007fff23bd3b74 in __CFRunLoopDoSources0 ()
#47	0x00007fff23bce87f in __CFRunLoopRun ()
#48	0x00007fff23bce066 in CFRunLoopRunSpecific ()
#49	0x00007fff384c0bb0 in GSEventRunModal ()
#50	0x00007fff48092d4d in UIApplicationMain ()
#51	0x000000010cbccc5b in main at .../RecordListen/main.swift:3
#52	0x00007fff5227ec25 in start ()

and previous call:
Thread 1 Queue : com.apple.main-thread (serial)
#0	0x000000010ccc1cce in -[GDTCORStorage appWillBackground:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorage.m:231
#1	0x000000010ccbc352 in -[GDTCORLifecycle applicationDidEnterBackground:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORLifecycle.m:77
#2	0x00007fff23b9b5bc in __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ ()
#3	0x00007fff23b9aa35 in _CFXRegistrationPost1 ()
#4	0x00007fff23b9a7a1 in ___CFXNotificationPost_block_invoke ()
#5	0x00007fff23c988b3 in -[_CFXNotificationRegistrar find:object:observer:enumerator:] ()
#6	0x00007fff23b9a0f6 in _CFXNotificationPost ()
#7	0x00007fff2574bbf7 in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
#8	0x000000010ccbd531 in -[GDTCORApplication iOSApplicationDidEnterBackground:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m:177
#9	0x00007fff23b9b5bc in __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ ()
#10	0x00007fff23b9aa35 in _CFXRegistrationPost1 ()
#11	0x00007fff23b9a7a1 in ___CFXNotificationPost_block_invoke ()
#12	0x00007fff23c988b3 in -[_CFXNotificationRegistrar find:object:observer:enumerator:] ()
#13	0x00007fff23b9a0f6 in _CFXNotificationPost ()
#14	0x00007fff2574bbf7 in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
#15	0x00007fff480980a9 in __47-[UIApplication _applicationDidEnterBackground]_block_invoke ()
#16	0x00007fff47a222b6 in +[UIViewController _performWithoutDeferringTransitionsAllowingAnimation:actions:] ()
#17	0x00007fff48097fa0 in -[UIApplication _applicationDidEnterBackground] ()
#18	0x00007fff477c6681 in __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke_2 ()
#19	0x00007fff47cb44c1 in _UIScenePerformActionsWithLifecycleActionMask ()
#20	0x00007fff477c627f in __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke ()
#21	0x00007fff477c5d40 in -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] ()
#22	0x00007fff477c60ac in -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] ()
#23	0x00007fff477c5941 in -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] ()
#24	0x00007fff477c9f3f in __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke_2 ()
#25	0x00007fff47bd8c83 in +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] ()
#26	0x00007fff47cd2dff in _UISceneSettingsDiffActionPerformChangesWithTransitionContext ()
#27	0x00007fff477c9c5a in __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke ()
#28	0x00007fff47cd2d02 in _UISceneSettingsDiffActionPerformActionsWithDelayForTransitionContext ()
#29	0x00007fff477c9ac8 in -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] ()
#30	0x00007fff476206e7 in __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke ()
#31	0x00007fff4761f26c in -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] ()
#32	0x00007fff47620411 in -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] ()
#33	0x00007fff47bfac66 in -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] ()
#34	0x00007fff365d6c07 in -[FBSSceneImpl updater:didUpdateSettings:withDiff:transitionContext:completion:] ()
#35	0x00007fff365fc99f in __88-[FBSWorkspaceScenesClient sceneID:updateWithSettingsDiff:transitionContext:completion:]_block_invoke_2 ()
#36	0x00007fff365e0c45 in -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] ()
#37	0x00007fff365fc8dc in __88-[FBSWorkspaceScenesClient sceneID:updateWithSettingsDiff:transitionContext:completion:]_block_invoke ()
#38	0x000000010de75d48 in _dispatch_client_callout ()
#39	0x000000010de78cb9 in _dispatch_block_invoke_direct ()
#40	0x00007fff3662237e in __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ ()
#41	0x00007fff3662206c in -[FBSSerialQueue _queue_performNextIfPossible] ()
#42	0x00007fff3662257b in -[FBSSerialQueue _performNextFromRunLoopSource] ()
#43	0x00007fff23bd4471 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#44	0x00007fff23bd439c in __CFRunLoopDoSource0 ()
#45	0x00007fff23bd3b74 in __CFRunLoopDoSources0 ()
#46	0x00007fff23bce87f in __CFRunLoopRun ()
#47	0x00007fff23bce066 in CFRunLoopRunSpecific ()
#48	0x00007fff384c0bb0 in GSEventRunModal ()
#49	0x00007fff48092d4d in UIApplicationMain ()
#50	0x000000010cbccc5b in main at .../RecordListen/main.swift:3
#51	0x00007fff5227ec25 in start ()

Do you use scene delegates?
On Thu, Dec 26, 2019 at 1:31 PM Paul Zabelin<EMAIL_ADDRESS>wrote:

If set breakpoint at endBackgroundTask I see it hit twice on lock with
this stack:
#0	0x000000010ccbd226 in -[GDTCORApplication endBackgroundTask:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m:133
#1	0x000000010ccc20de in __35-[GDTCORStorage appWillBackground:]_block_invoke at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorage.m:254
#2	0x000000010de74dd4 in _dispatch_call_block_and_release ()
#3	0x000000010de75d48 in _dispatch_client_callout ()
#4	0x000000010de7c5ef in _dispatch_lane_serial_drain ()
#5	0x000000010de7d17f in _dispatch_lane_invoke ()
#6	0x000000010de88a4e in _dispatch_workloop_worker_thread ()
#7	0x00007fff524636fc in _pthread_wqthread ()
#8	0x00007fff52462827 in start_wqthread ()
second time causing the the warning:
#0	0x000000010ccbd226 in -[GDTCORApplication endBackgroundTask:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m:133
#1	0x000000010ccc20de in __35-[GDTCORStorage appWillBackground:]_block_invoke at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorage.m:254
#2	0x000000010de74dd4 in _dispatch_call_block_and_release ()
#3	0x000000010de75d48 in _dispatch_client_callout ()
#4	0x000000010de7c5ef in _dispatch_lane_serial_drain ()
#5	0x000000010de7d17f in _dispatch_lane_invoke ()
#6	0x000000010de88a4e in _dispatch_workloop_worker_thread ()
#7	0x00007fff524636fc in _pthread_wqthread ()
#8	0x00007fff52462827 in start_wqthread ()
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/firebase/firebase-ios-sdk/issues/4554?email_source=notifications&email_token=AAIILAV3YGOZEQB7NH5ALT3Q2UPCFA5CNFSM4J7HERW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHWFM2Q#issuecomment-569136746,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIILAVNP7VKGMWXSOOXVR3Q2UPCFANCNFSM4J7HERWQ
.

Nope, regular storyboard app. Do you have an example app we can try?
Sent from my iPhone

On Dec 26, 2019, at 1:38 PM, Michael Haney<EMAIL_ADDRESS>wrote:
Do you use scene delegates?
On Thu, Dec 26, 2019 at 1:31 PM Paul Zabelin<EMAIL_ADDRESS>wrote:

If set breakpoint at endBackgroundTask I see it hit twice on lock with
this stack:
#0	0x000000010ccbd226 in -[GDTCORApplication endBackgroundTask:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m:133
#1	0x000000010ccc20de in __35-[GDTCORStorage appWillBackground:]_block_invoke at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorage.m:254
#2	0x000000010de74dd4 in _dispatch_call_block_and_release ()
#3	0x000000010de75d48 in _dispatch_client_callout ()
#4	0x000000010de7c5ef in _dispatch_lane_serial_drain ()
#5	0x000000010de7d17f in _dispatch_lane_invoke ()
#6	0x000000010de88a4e in _dispatch_workloop_worker_thread ()
#7	0x00007fff524636fc in _pthread_wqthread ()
#8	0x00007fff52462827 in start_wqthread ()
second time causing the the warning:
#0	0x000000010ccbd226 in -[GDTCORApplication endBackgroundTask:] at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m:133
#1	0x000000010ccc20de in __35-[GDTCORStorage appWillBackground:]_block_invoke at .../Pods/GoogleDataTransport/GoogleDataTransport/GDTCORLibrary/GDTCORStorage.m:254
#2	0x000000010de74dd4 in _dispatch_call_block_and_release ()
#3	0x000000010de75d48 in _dispatch_client_callout ()
#4	0x000000010de7c5ef in _dispatch_lane_serial_drain ()
#5	0x000000010de7d17f in _dispatch_lane_invoke ()
#6	0x000000010de88a4e in _dispatch_workloop_worker_thread ()
#7	0x00007fff524636fc in _pthread_wqthread ()
#8	0x00007fff52462827 in start_wqthread ()
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/firebase/firebase-ios-sdk/issues/4554?email_source=notifications&email_token=AAIILAV3YGOZEQB7NH5ALT3Q2UPCFA5CNFSM4J7HERW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHWFM2Q#issuecomment-569136746,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIILAVNP7VKGMWXSOOXVR3Q2UPCFANCNFSM4J7HERWQ
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

There is an app_spec in the podspec. If you've installed the newest versions of coocoapods and cocoapods-generate, you should be able to clone the repo and run GDT_DEV=1 pod gen GoogleDataTransportCCTSupport.podspec --auto-open --local-sources=. --gen-directory=gen/ --clean from the root repo directory and build and run the GDT CCT test app (image below). If you're able to repro in that environment, that'd be useful to know and make it a bit easier for me to test and prevent a future regression.

Thank you @mikehaney24
GDT_DEV=1 pod gen GoogleDataTransportCCTSupport.podspec --auto-open --local-sources=. --gen-directory=gen/ --clean failed for me with
[!] The platform of the target `App-watchOS` (watchOS 6.0) is not compatible with `GCDWebServer (3.5.3)`, which does not support `watchOS`.

Trying with --platforms=ios generated the workspace successfully:
GDT_DEV=1 pod gen GoogleDataTransportCCTSupport.podspec --auto-open --local-sources=. --gen-directory=gen/ --clean --platforms=ios
Able to reproduce the issue by pressing Cmd-L while the app is active in Simulator:
2020-01-01 22:53:18.661951-0800 GoogleDataTransportCCTSupport-TestApp[31014:13229601] Can't end BackgroundTask: no background task exists with identifier 3 (0x3), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

Locking simulator again causes the same warning:
2020-01-01 22:53:44.621220-0800 GoogleDataTransportCCTSupport-TestApp[31014:13229601] Can't end BackgroundTask: no background task exists with identifier 8 (0x8), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

It looks like the issue is reproducible consistently.

That isn't in itself damning--there's a bug in iOS 13 that causes that message (see image below). A completely empty new project will exhibit the same behavior. To determine if we have an unbalanced background task issue, you'd need to run on-device, open the device console in Xcode, filter on the app product name, and look for some logs that indicate a background task failure (most of ours have names, so that would tell us which one). This bug in iOS 13, consequently, makes it very difficult to determine if we really have an issue.

We are using Firebase for iOS (v6.15.0) and the issue is very easily reproducible.
2020-02-06 16:19:53.523648-0300CompanionApp[2685:789814] 6.15.0 - [Firebase/Core][I-COR000001] Configuring the default app.
2020-02-06 16:19:53.549861-0300 CompanionApp[2685:789813] 6.15.0 - [Firebase/Analytics][I-ACS024000] Debug mode is on

When user closes the app (app goes to background) the following log is visible:
2020-02-06 16:20:54.343516-0300 CompanionApp[2685:789833] 6.15.0 - [Firebase/Analytics][I-ACS023087] User property set. Name, value: lifetime_user_engagement (_lte), 570205
2020-02-06 16:20:54.343663-0300 CompanionApp[2685:789833] 6.15.0 - [Firebase/Analytics][I-ACS023087] User property set. Name, value: session_user_engagement (_se), 493714
2020-02-06 16:20:54.347284-0300 CompanionApp[2685:789833] 6.15.0 - [Firebase/Analytics][I-ACS012018] Saving bundle. size (bytes): 563
2020-02-06 16:20:54.347509-0300 CompanionApp[2685:789833] 6.15.0 - [Firebase/Analytics][I-ACS023116] Bundle added to the upload queue. BundleID, timestamp (ms): 20,<PHONE_NUMBER>244
2020-02-06 16:20:54.352475-0300 CompanionApp[2685:789833] 6.15.0 - [Firebase/Analytics][I-ACS023039] Measurement data sent to network. Timestamp (ms), data:<PHONE_NUMBER>352, <APMPBMeasurementBatch: 0x283aeb8d0>
2020-02-06 16:20:54.354004-0300 CompanionApp[2685:789833] 6.15.0 - [Firebase/Analytics][I-ACS900000] Uploading data. Host: https://app-measurement.com/a
2020-02-06 16:20:54.488361-0300 CompanionApp[2685:790068] 6.15.0 - [Firebase/Analytics][I-ACS901006] Received SSL challenge for host. Host: https://app-measurement.com/a
2020-02-06 16:20:54.655461-0300 CompanionApp[2685:789836] 6.15.0 - [Firebase/Analytics][I-ACS023044] Successful upload. Got network response. Code, size: 204, -1
2020-02-06 16:20:54.669121-0300 CompanionApp[2685:789836] 6.15.0 - [Firebase/Analytics][I-ACS002003] Measurement timer canceled
2020-02-06 16:20:54.669485-0300 CompanionApp[2685:790066] 6.15.0 - [Firebase/Analytics][I-ACS023142] Cancelling background upload task. Task ID : 11
2020-02-06 16:20:55.060146-0300 CompanionApp[2685:790068] [Answers] Finished transmission of '698A4D85-C13C-4C0D-9B66-XXXXXXXXXXXXX'.
2020-02-06 16:22:42.927589-0300 CompanionApp[2685:789606] Can't end BackgroundTask: no background task exists with identifier 14 (0xe), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

We (responsibly) use background tasks a lot on iOS 13 and have never seen this error in our code. Probably Firebase is storing background tasks identifiers which are not related to any task.
Please do not close issues when they are so obviously reproducible. Thanks.

@rodmaz Do you have the same stack traces as above?  What pods are you using?

We added Firebase manually, w/o CocoaPods. My guess Firebase Analytics is the culprit here.

My stack trace is identical to @paulz at https://github.com/firebase/firebase-ios-sdk/issues/4554#issuecomment-569135519.
Thread 1 Queue : com.apple.main-thread (serial)
#0	0x00000001c010ea34 in UIApplicationEndBackgroundTaskError ()
#1	0x00000001c010ed1c in -[UIApplication _endBackgroundTask:] ()
#2	0x00000001025f2bd8 in _dispatch_client_callout ()
#3	0x00000001025f5ffc in _dispatch_block_invoke_direct ()
#4	0x00000001c11e7418 in __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ ()
#5	0x00000001c11e70e4 in -[FBSSerialQueue _queue_performNextIfPossible] ()
#6	0x00000001c11e760c in -[FBSSerialQueue _performNextFromRunLoopSource] ()
#7	0x00000001bbfe8a00 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#8	0x00000001bbfe8958 in __CFRunLoopDoSource0 ()
#9	0x00000001bbfe80f0 in __CFRunLoopDoSources0 ()
#10	0x00000001bbfe323c in __CFRunLoopRun ()
#11	0x00000001bbfe2adc in CFRunLoopRunSpecific ()
#12	0x00000001c5f83328 in GSEventRunModal ()
#13	0x00000001c00f063c in UIApplicationMain ()
#14	0x0000000102243274 in main at /Users/rodrigo/Documents/Aurea/sourcecode/Aurea-iOS/AureaCompanionApp/AureaCompanionApp/AppDelegate.swift:23
#15	0x00000001bbe6c360 in start ()

@mikehaney24 What's the right next step?

@rodmaz The debug message shows that Analytics tried to end a background task with the ID of 11 while the issue is with the task ID of 14 so I don't think Analytics is the issue here:
2020-02-06 16:20:54.669485-0300 CompanionApp[2685:790066] 6.15.0 - [Firebase/Analytics][I-ACS023142] Cancelling background upload task. Task ID : 11
2020-02-06 16:20:55.060146-0300 CompanionApp[2685:790068] [Answers] Finished transmission of '698A4D85-C13C-4C0D-9B66-XXXXXXXXXXXXX'.
2020-02-06 16:22:42.927589-0300 CompanionApp[2685:789606] Can't end BackgroundTask: no background task exists with identifier 14 (0xe), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

@baolocdo My gut feeling regarding analytics was due to the fact that the iOS warning message takes place right after the app moves to background. I am aware Firebase probably uses BG tasks elsewhere. Crashlytics perhaps?

The best bet is GoogleDataTransport which is a Firebase dependency

I don't use Pods and only have dependencies on FireStore, Auth, and FirebaseUI.  One of these is the culprit.
Not wanting to add too much snark here, sure Firebase/Google has close enough ties with Apple to get help on this.  At the very least, Firebase/Google could burn one developer ticket on this if it's too difficult to solve without under-the-covers help.

As I mentioned in a comment above this will happen even with an empty project. This is a problem in iOS (that's not to say that Firebase has no related issue, it would just be near-impossible to track down).
Here's a gif of me recreating the issue, no Firebase, no background tasks, nothing. This is a completely empty new project targeting iOS 13.2 in Xcode 11.2.1.

From my comment above:

To determine if we have an unbalanced background task issue, you'd need to run on-device, open the device console in Xcode, filter on the app product name, and look for some logs that indicate a background task failure (most of ours have names, so that would tell us which one). This bug in iOS 13, consequently, makes it very difficult to determine if we really have an issue.

All of GDT's background tasks are named, and they'd print their name out if they were the cause.

Filed a ~radar~ feedback to Apple (FB7568110).

Strangely enough, I am not seeing the Apple bug on an empty project.
@mikehaney24, could you please share the empty project where you see the issue without Firebase SDK?
Thank you!

I'm able to reproduce it in a new project with Xcode 11.1, iOS 13.1 simulator (SimulatorApp-912.1 SimulatorKit-570.3 CoreSimulator-681.17).
Steps to reproduce:

Create a new single view application
Run the application
Background the app (Cmd+H)
Stop and re-run the app
Background the app again

This was the resulting log output:
2020-02-07 11:30:50.305835-0800 BGTaskTest[64114:1808974] Can't end BackgroundTask: no background task exists with identifier 2 (0x2), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

Great, thank you, @morganchen12, I also filed the feedback to Apple:
http://openradar.appspot.com/radar?id=4974489829900288

Just to add some information here, I comment out the code in Analytics to end background task, and the error still shows up. As @mikehaney24 's test, this seems to be an issue with the OS and the error message right after the Analytics message makes it look related. I found some related issue at https://github.com/flutter/flutter/issues/41095 as well. It does seem like an issue with iOS 13.

I just confirmed with Apple that the bug is fixed in iOS 13.4 beta 1
and updated Open Radar as Fixed:
http://openradar.appspot.com/radar?id=4974489829900288
iOS Simulator Version 11.4 (921.4)
SimulatorKit 581.7
CoreSimulator 704.8

Xcode Version 11.4 beta (11N111s)

And this issue is no longer reproducible for me on iOS 13.4 beta 1. Thank you


Chase cargobomb runs

r? @Mark-Simulacrum

I don't think I can merge -- @aturon or @alexcrichton should be able to.

@Mark-Simulacrum you should have write access now


Problems installing Rant on Unity

I'm very much a noob when it comes to using external stuff within Unity, so I'm probably missing something obvious.
On the Rantdocs, I saw that installing Rant was very easy; just use the NuGet Package Manager to install Rant in my project. When I try to create a new RantEngine-instance, I get an error stating that the type/namespace RantEngine could not be found. I tried adding 'using Rant' and 'using RantEngine', but to no avail.
The Rantdocs also mentions a RantEngine-Unity.dll, which I cannot find anywhere on the GitHub-repository.
I would very much appreciate if someone could help me out.
I'm using Unity 5.1.1, personal edition in case that matters.

Download the Unity zip from the latest stable AppVeyor build: https://ci.appveyor.com/project/TheBerkin/rant/build/2.0.402/artifacts
See if that solves your problem.

After searching some more on the internet I got it to work! Apparently all I needed to do was paste the unity build .dll file in my Assets folder. Thanks for your help!


Faster var, std, count

This test slowed down a lot after switching to count_

Turns out that numpy_groupies refactorizes and loops over groups when reducing using a custom function!
!
The solution is to write my own version of _sum_of_squares, _nansum_of_squares and _count using bincount and call those explicitly in chunk_reduce


[CORE] Minor refactor of use ValidationResult for supportWriteFilesExec

@ulysses-you @JkSelf could you help rerun failed CI jobs and review it? thanks!

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_4589_time.csv
log/native_master_01_30_2024_ec7f10c58_time.csv
difference
percentage

q1
32.65
35.36
2.716
108.32%

q2
24.27
24.10
-0.174
99.28%

q3
37.39
38.51
1.118
102.99%

q4
38.14
38.16
0.025
100.07%

q5
70.16
68.29
-1.877
97.33%

q6
7.12
7.27
0.147
102.06%

q7
83.20
82.16
-1.045
98.74%

q8
85.53
84.80
-0.729
99.15%

q9
124.41
126.41
1.996
101.60%

q10
42.23
44.51
2.280
105.40%

q11
21.29
20.56
-0.723
96.61%

q12
28.26
28.18
-0.079
99.72%

q13
45.32
45.37
0.050
100.11%

q14
15.21
16.65
1.438
109.45%

q15
27.54
28.38
0.837
103.04%

q16
14.74
14.19
-0.545
96.30%

q17
101.54
101.24
-0.299
99.71%

q18
147.13
149.10
1.963
101.33%

q19
14.03
12.63
-1.400
90.02%

q20
26.21
26.37
0.163
100.62%

q21
224.69
226.96
2.271
101.01%

q22
13.89
13.51
-0.381
97.26%

total
1224.95
1232.71
7.755
100.63%


[WIP] Composer

This should not be merged yet IMO, but it works for me now. Obviously it completely breaks the vendors stuff, it removes the bootstrap.php optimization, and it requires you to deploy assets yourself.
The purpose of the PR at this point is mainly raising awareness, allowing discussion and getting more people to try it.

@Seldaek should be nice to add a scripts command (file) like Travis CI
"scripts": {
    "pre"  : ["pre-command.php"],
    "post" : ["asset-command.php", "bootstrap-maker.php"]
}

:+1:

This PR should be done on master instead of 2.0.
I'm -1 on removing the usage of the Symfony autoloader as we loose some flexibility: how do people add their own namespaces? How can we use the APC optimized autoloader?

@fabpot They can add their own namespace either in the composer.json directly, or in autoload.php by modifying the loader (see how the Intl fallback is registered in the PR). AFAIK the Composer loader is able to handle all things supported by the UniversalClassLoader currently (@Seldaek can you confirm for the autoloading in the PHP include path supported in Sf 2.1 ?)
And using the Composer autoloader, we win flexibility as people don't need to register third-party namespaces manually anymore

I'll reopen the PR(s) on master later.
As @stof said, the composer classloader is almost as flexible (we don't have the include path thing but that can be added easily), people can add their own namespaces in composer, or in the autoload.php, and by default the composer.json comes with "": "src" which basically is a namespace fallback to src, so most likely they won't need to do that. As for optimized loaders, it's not in composer yet, but my goal is to have a class map one, and that you can just ask composer to rebuild the autoloader in optimized mode. It makes no sense to ship autoloaders in every library/framework. In any case, composer also dumps .composer/autoload_namespaces.php which returns a map of namespaces => path mappings, so you can use that as a basis to setup your own autoloader if you really want to.

Thinking out loud here:
Does it mean that at some point, we are going to remove the Symfony ClassLoader component (as we won't have any use case for it)? I know that we have some more classes there but they can easily be moved elsewhere.
If yes (and I'm totally fine with it), what about moving the code we have in ClassLoader to Composer itself instead of reinventing the wheel there?

Perhaps it means that, the future will tell ;) But yes for the current composer ClassLoader I borrowed some code from UniversalClassLoader, and I guess I'll do the same for the Map one.


feat: Column tagging feature for snowflake_table

Adding the column tagging feature for snowflake_table resource
Test Plan

[ ] acceptance tests

[ ] …

References

issue#1074

going to close this since i really don't want to be adding tags to more resources, and since i merged your other PR that fixed tag association on columns


b3

Node ID:  55ada88aba178005
##submit logs of startup sequence
##provide feedback on measured time and chain length

confirmed:B3

confirmed:B3


Git Path Collision

Create issues related to the winget.exe client here

Brief description of your issue

There are two .validation files for a single package which are using different casing
Steps to reproduce

Create a fork of the repo
Clone the repo

Expected behavior
Repo clones without issue
Actual behavior
This warning pops up

PS D:\Git> git clone https://github.com/Trenly/winget-pkgs.git
Cloning into 'winget-pkgs'...
remote: Enumerating objects: 189574, done.
remote: Counting objects: 100% (806/806), done.
remote: Compressing objects: 100% (693/693), done.
remote: Total 189574 (delta 472), reused 248 (delta 77), pack-reused 188768
Receiving objects: 100% (189574/189574), 34.78 MiB | 24.63 MiB/s, done.

Resolving deltas: 100% (107673/107673), done.
Updating files: 100% (20510/20510), done.
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'manifests/b/Baidu/BaiduNetdisk/.validation'
  'manifests/b/baidu/baidunetdisk/.validation'

Additional Info
Please see these links and note that they have different files.
https://github.com/microsoft/winget-pkgs/blob/master/manifests/b/baidu/baidunetdisk/.validation (from #24343)
https://github.com/microsoft/winget-pkgs/blob/master/manifests/b/Baidu/BaiduNetdisk/.validation (from #27277)
Potentially resolved by #26535

More capitalization issues:

manifests/a/alibaba/dingtalk/.validation (old) needs to be moved to manifests/a/Alibaba/DingTalk/.validation (new)
manifests/a/alibaba/miniprogramstudio/.validation (old) needs to be moved to manifests\a\Alibaba\MiniProgramStudio\.validation (new)

Because of this, YamlCreate.ps1 also throws error when submitting the manifest. #26535 should be merged ASAP.

https://github.com/microsoft/winget-pkgs/tree/master/manifests/b/bytedance to be deleted...

@denelon @JohnMcPMS @ryfu-msft @ChuckFerring

manifests\a\acfun also to be deleted.

More capitalization issues which may cause issues in the future if someone contributed in the old folder:

manifests\a\alibaba\dingtalk\.validation (old) needs to be moved to manifests\a\Alibaba\DingTalk\.validation (new)
manifests\a\alibaba\miniprogramstudio\.validation (old) needs to be moved to manifests\a\Alibaba\MiniProgramStudio\.validation (new)

Fixed in PRs #27534 #27535 #27537 #27538

@Trenly This issue can be closed now(?)

@Trenly This issue can be closed now(?)

Lets wait for all of them to be merged and to see if any other path collisions are present

@Trenly FYI, all PRs have been merged and I did not find any other path collisions.


Signal.send(*senders)  means you must omit sender= if using a single arg

https://github.com/jek/blinker/blob/42aad6110a02a86a9a51a77c75c2d638a50656b7/blinker/base.py#L261
If you don't write the my_signal.send() call as blinker expects, you get a silent failure.
In my_signal.send(sender=MyObject()) means that sender is None. I'm on Python3, but I've rigged a simple example to show what is happening. The cases where you don't pass in a named arg it works, but otherwise sender sticks around in kwargs).
I'm not sure of a good solution but the way it works definitely caught me off guard.
In [2]: def foo(*sender, **kwargs):
   ...:     print(f"len: {len(sender)} and sender is: {sender}")
   ...:     print(f"kwargs is {kwargs}")
   ...:

In [3]: foo(123)
len: 1 and sender is: (123,)
kwargs is {}

In [4]: foo(sender=123)
len: 0 and sender is: ()
kwargs is {'sender': 123}

In [5]: foo([123, 'abc'])
len: 1 and sender is: ([123, 'abc'],)
kwargs is {}

Now, if you swap *sender, to sender=None, sender is always defined, even if the len() fails on an int.

In [6]: def bar(sender=None, **kwargs):
   ...:     print(f"len: {len(sender)} and sender is: {sender}")
   ...:     print(f"kwargs is {kwargs}")
   ...:

In [7]: bar(123)
TypeError                                 Traceback (most recent call last)
<ipython> in <module>()
----> 1 bar(123)

<ipython> in bar(sender, **kwargs)
      1 def bar(sender=None, **kwargs):
----> 2     print(f"len: {len(sender)} and sender is: {sender}")
      3     print(f"kwargs is {kwargs}")
      4

TypeError: object of type 'int' has no len()

In [8]: bar(sender=123)
TypeError                                 Traceback (most recent call last)
<ipython> in <module>()
----> 1 bar(sender=123)

<ipython> in bar(sender, **kwargs)
      1 def bar(sender=None, **kwargs):
----> 2     print(f"len: {len(sender)} and sender is: {sender}")
      3     print(f"kwargs is {kwargs}")
      4

TypeError: object of type 'int' has no len()

In [9]: bar([123, 'abc'])
len: 2 and sender is: [123, 'abc']
kwargs is {}

I'm not sure if there's a way to reconcile the two approaches, but I figure I might as well write it down.

There is a relevant comment on how to update the send method once Python 3.8 positional arguments are available here:
https://github.com/jek/blinker/pull/41#issuecomment-549082342

Python 3.8 positional-only parameters finally bring a portable way of fixing the (*args, **kwargs) hack on the send() method. If I were still actively working in Python (sadly I am not), I would look at making 3.8 the preferred native source version for Blinker and move all prior versions (2.7 and <3.8) to compatibility fallbacks.

my_signal.send(sender=MyObject()) means that sender is None

That's the intended behavior, to allow a keyword argument sender passed on to the receiver, separately from a single positional argument specifying the Blinker sender.
The implementation for this can be improved with Python 3.8 positional-only arguments, but it won't change the fact that you are not intended to pass the Blinker sender as a keyword argument.


Add option to clear action logger on switching stories

I would like to see an option to clear the action logger (and possibly the console) when switching between stories.
This could simply be clearActionLogger: true.
I would be happy to write this feature if someone can help me get started with where to look.

Hi @merlinpatt
You can start with CONTRIBUTING.md
The addon configuration code is here: https://github.com/storybooks/storybook/blob/master/addons/actions/src/preview/configureActions.js
The code related to displayed actions list is here:
https://github.com/storybooks/storybook/blob/master/addons/actions/src/containers/ActionLogger/index.js

Willing to help out, if you need someone extra @merlinpatt!

Released as 4.0.0-alpha.4


Support of NX 17 & 18

If you still use NX 17 or 18, you can use nx-maven and nx-gradle with all features and fixes.
Version 0.50.1 is what you need.

Jnxplus is up to date with NX LTS versions:
https://github.com/nrwl/nx/blob/master/docs/shared/reference/releases.md


:echo works incorrectly in gVim

Steps to reproduce

Create a file vimrctest with the theese contents:

echo "in vimrctest 1"
echo "in vimrctest 2"

Run gvim.exe -u vimrctest. A small window pops up showing this text:

in vimrctest
1

Expected behaviour
The window should display this:
in vimrctest 1
in vimrctest 2

Version of Vim
9.1.443
Environment
OS: Windows 10 Home
Terminal: GUI
Logs and stack traces
No response

echo during startup may not work, especially when starting up the GUI. You shouldn't rely on that.

The call chain ends at gui_mch_dialog() with the correct text and I see no reason why this would not work. The gui_mch_dialog() function contains a few screenful of calculations of element sizes and positions and there is a possibility that the text is simply displayed incorrectly.
https://github.com/vim/vim/blob/bad9577b9ae7a6ab61ec636aaa1ed7d446ef5db9/src/gui_w32.c#L7185

I just checked it and I also cannot reproduce this.

let's close it then.


Fix load more not showing when single media type has no results

Fixes

Fixes #1780 by @obulat
Description

This PR fixes the lack of 'Load more' button when one of the media types did not have any results (and the other did).
It also refactors some components so that the functionality of 'Load more' button (showing when possible, fetching new media when clicked) is contained in the use-load-more composable, and not spread out in all the search pages and components.
When the media fetching did not return any results, the store would set a fetchState.fetchingError to No <mediaType> found. This caused the canFetch to evaluate to false in the use-load-more, and therefore the 'Load more' did not show.
I've removed the setting of fetchingError for when we get no results. The lack of results is already handled by the SearchGrid (where we show the ErrorSection if there are no results).
Testing Instructions

Checklist

[ ] My pull request has a descriptive title (not a vague title like Update index.md).
[ ] My pull request targets the default branch of the repository (main) or a parent feature branch.
[ ] My commit messages follow best practices.
[ ] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

This indeed fixes the problem! I tested several scenarios:
* 1 page of images, no audio

* Multiple pages of both

* Multiple pages of images, no audio

LGTM.

I've found another bug on the currently deployed version: if you are on an All content view, and there are many image results and just one page of the audio results (fewer than 20), when you navigate to the Audio view, you can see the "Load more" button. This is fixed here, too.

I tested several scenarios

@zackkrida what search terms did you use for these test cases?

I tested several scenarios

@zackkrida what search terms did you use for these test cases?

@dhruvkb, I first noticed this issue for 'ecommerce' search - it only has images.


Spring cleaning

Reorders some imports, removes some unused code, clarifies a docstring in response to a @vladimir-v-diaz comment on PR #71, makes values easier to change in demo/__init__.py.

Ha --- literally spring cleaning!

Father winter was kind this year.  This pull request is nice and small, not that many dust mites to sweep up.

As long as you don't run into hibernating bears in the closet, I think we're fine...

I'd like to merge the rest of this, now that comments have been addressed, so I guess I'll cherry-pick out the reviewed things and then prune this branch to remove what has been cherry-picked, leaving only the ASN.1 comments and question....


Vanilla project generation not working on android

This seems to be a recent thing, I've done this tonnes of times in the past without issue.
To recreate

Make sure you're using the latest manifoldjs generator tool.
Generate a new project for android:

manifoldjs http://bbc.co.uk -s bbcMobile
cd bbcMobile\cordova
cordova build android
cordova run anroid --device

Result: App quits with 'There was a network error (http://bbc.co.uk)'
Tried with a bunch of different URLs, and verified that the network connection on the phone is working fine

There's definately something amiss here.
I tested with some of the old projects generated a few weeks ago. They all work fine, both using crosswalk and not using crosswalk.
Now, using the latest bits, if you attempt to generate and run an android project without using crosswalk, you get the error reported above and the app quits.

Looks like it's something that's changed in the ManifoldCordova plugin, let me know if you need more info

Hi Matt, we'll look into this right away.  Your on Windows 10 correct?

Fernando, I am getting this same issue on a mac.  using latest version and URL https://www.noradsanta.org with no other changes.  White page, times out, shows offline message

@boyofgreen
I ran a quick test on a Mac against the site you mention (NoradSanta) and did not see the same problem.  The site seems to be working, music included :). I cannot test Android at the moment. I can probably do that later today, or more probably tomorrow.
This may be unrelated but I noticed that upgrading ManifoldJS (and Cordova) in the Mac to the latest version gave me a lot of NPM errors when I upgraded over the previous version. I had to uninstall ManifoldJS and then install it again. Did your installation complete without any errors?

yes you are right, it is working for me.  It turns out that my Mac was just truly offline.  Sorry I jumped the gun.
@mattwoberts   can you give me some details on your system.  When you type in cordova -v what do you get for the version?

I'm on windows 10 (build 10586 although I don't think that's relevant). I uninstalled manifoldjs and re-installed without any errors.
Cordova: 5.3.1 - I haven't updated that for a few weeks now I think.
I think that it's something to do with the new api whitelisting in the ManifoldCordova project, although I've not looked into it any more.
Is OSX (I'm running on a mac), everything works fine for me.

Just trying re-installing all the manifoldjs bits, here's a log if it's useful:
C:\dev>npm uninstall -g manifoldjs
unbuild<EMAIL_ADDRESS>
C:\dev>npm install -g manifoldjs
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained. Upgrade to<EMAIL_ADDRESS>npm WARN deprecated<EMAIL_ADDRESS>the module is now available as 'css-select'
npm WARN deprecated<EMAIL_ADDRESS>the module is now available as 'css-what'
C:\Users\Matt\AppData\Roaming\npm\manifoldjs -> C:\Users\Matt\AppData\Roaming\npm\node_modules\manifoldjs\manifoldjs.js
<EMAIL_ADDRESS>C:\Users\Matt\AppData\Roaming\npm\node_modules\manifoldjs
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
And now creating a new app:
C:\dev>manifoldjs http://bbc.co.uk -s bbcMobilenew
WARNING: No manifest found. A new manifest will be created.
WARNING: Manifest validation  (Windows) - A small square logo of any of the following sizes is required for Windows: 24x24, 30x30, 42x42, 54x54[icons]
WARNING: Manifest validation  (Windows) - A splash screen logo of any of the following sizes is required for Windows: 620x300, 868x420, 1116x540[icons]
WARNING: Manifest validation  (Windows) - A square logo of any of the following sizes is required for Windows: 120x120, 150x150, 210x210, 270x270[icons]
WARNING: Manifest validation  (Windows) - A store logo of any of the following sizes is required for Windows: size 50x50, 70x70, 90x90[icons]
WARNING: Manifest validation  (Windows) - An app icon of any of the following sizes is required for Windows Phone: 44x44, 62x62, 106x106[icons]
WARNING: Manifest validation  (Windows) - A medium tile logo of any of the following sizes is required for Windows Phone: 150x150, 210x210, 360x360[icons]
WARNING: Manifest validation  (Windows) - A small tile logo of any of the following sizes is required for Windows Phone: 71x71, 99x99, 170x170[icons]
WARNING: Manifest validation  (Windows) - A store logo of any of the following sizes is required for Windows Phone: 50x50, 70x70, 120x120[icons]
WARNING: Manifest validation  (Android) - Launcher icons of the following sizes are required: 48x48, 72x72, 96x96, 144x144, 192x192, 512x512[icons]
WARNING: Manifest validation  (iOS) - An app icon of the following sizes is required: 76x76, 120x120, 152x152 and 180x180[icons]
WARNING: Manifest validation  (iOS) - An 1024x1024 app icon for the App Store is required[icons]
WARNING: Manifest validation  (iOS) - A launch image of the following sizes is required: 750x1334, 1334x750, 1242x2208, 2208x1242, 640x1136, 640x960, 1536x2048, 2048x1536, 768x1024 and 1024x768[icons]
SUGGESTION: Manifest validation  (Chrome) - A 48x48 icon should be provided for the extensions management page (chrome://extensions)[icons]
SUGGESTION: Manifest validation  (Chrome) - It is recommended to have a 16x16 favicon[icons]
WARNING: Manifest validation  (Chrome) - A 128x128 icon is required for the installation process and the Chrome Web Store[icons]
SUGGESTION: Manifest validation  (Firefox) - Firefox 2.0 onwards, an 512x512 icon is recommended for Firefox Marketplace and devices[icons]
WARNING: Manifest validation  (Firefox) - A 128x128 icon is required for the Firefox Marketplace and the devices[icons]
SUGGESTION: Manifest validation  (Firefox) - It is recommended to provide icon sizes for multiple platforms, including: 16x16, 32x32, 48x48, 64x64, 90x90, 128x128 and 256x256[icons]
SUGGESTION: Manifest validation  (All Platforms) - It is recommended to specify a set of rules that represent the navigation scope of the application[mjs_extended_scope]

C:\dev\bbcMobilenew\cordova>cordova -v
5.3.1

C:\dev\bbcMobilenew\cordova>cordova plugins list
cordova-plugin-hostedwebapp 0.2.1 "HostedWebApp"
cordova-plugin-network-information 1.1.0 "Network Information"
cordova-plugin-whitelist 1.0.0 "Whitelist"

Finally, running the app:
BUILD SUCCESSFUL

Total time: 5.03 secs
Built the following apk(s):
    C:\dev\bbcMobilenew\cordova\platforms\android\build\outputs\apk\android-debug.apk
Using apk: C:\dev\bbcMobilenew\cordova\platforms\android\build\outputs\apk\android-debug.apk
Installing app on device...
Launching application...
LAUNCH SUCCESS

And the result:

This one was tough and had me really confused. The steps to reproduce the problem are:
manifoldjs http://bbc.co.uk -s bbcMobilenew -l debug
cd bbcMobilenew\cordova
cordova run android

Depending on the version of Cordova that you have installed globally you might see a "There was a network error" message.
It seems that the problem is mixing Cordova versions. ManifoldJS uses a private copy of Cordova to ensure that it uses a version that has been tested. Typically, you also have Cordova installed globally, and it might be a different version than the one used by ManifoldJS.
When you run Cordova commands from the command line against a ManifoldJS generated project, it will use the global version of Cordova instead of the version that was used to generate the app. In the latest Cordova release(s), they must have changed the way they handle the configuration data and mixing versions results in the config.xml file being corrupted.
We've always wanted to create a wrapper for the Cordova commands so that you could execute manifoldjs cordova <xxx> (or some other variant) and that would delegate the execution of the command to the private copy of Cordova . We've talked about this many times and never addressed the problem because it didn’t have any negative side effects. That is, until now.
For the time being, you have a couple of options:

Update the global version of Cordova to match the version used by ManifoldJS (currently v5.4.1)

Use the private version to run the commands. For example:
C:\Users\<YOUR-USER>\AppData\Roaming\npm\node_modules\manifoldjs\node_modules\cordova\bin\cordova run android

Or, to simplify it, create a batch file that wraps the above and place it in C:\Users<YOUR-USER>\AppData\Roaming\npm or some other location in your path.

@f2bo Thanks for that! I've been without power (!) for a while so unable to check this, I'll have a look now :)

All good now - I've just simply updated my cordova to match.
I presume this could be an issue though if you update manifoldjs again to use a different version - so using the private version does make sense.


Proposal: redirect helper

Idea
Core effector operators (like sample) are good
However, they are abstract. Which means that they don't say themselves what business logic we create. They just "connect things together"
For that, I introduced an utility called redirect
Usage
redirect({
  clock: dataSaved,
  route: successfullRoute,
  params: () => ({ ... }),
  query: () => ({ ... })
})

This thing is equal to:
sample({
  clock: dataSaved,
  fn: () => ({ params: { ... }, query: { ... } }),
  target: successfulRoute.navigate
})

Notes

params and query are optional. They also can accept stores or plain objects instead
clock is optional as well. If it's not passed, redirect returns Event which will open the route

Already implemented in 0.5.0-dev.1, created this issue just FYI

I think it is better to have method like this:
sample({
  clock,
  source,
  filter,
  fn: () => ({ params, query }),
  target: redirect({ route: routes.somePage })
})

If clock not passed, it works this way:
const openSmth = redirect({ route: smthRoute })

Released in https://github.com/Kelin2025/atomic-router/releases/tag/v0.5.0


feat: port group_theory.group_action.defs

Tracking mathlib commit: dad7ecf9a1feae63e6e49f07619b7087403fb8d4

[x] depends on: #832

This PR/issue depends on:

leanprover-community/mathlib4#832
By Dependent Issues (🤖). Happy coding!

Thanks! I think all the naming should be correct now

bors merge


Handling very long arrays

I have recently been experimenting with different ways of dealing with very long arrays.  The summary below is partly for the benefit of others, but also to see if there are any other ways to speed things up.
The background is that when transferring very long arrays between Excel and Python everything works much quicker with a vector array, or a single row array, rather than a 2D array with many rows, even if it is a single column.  One way around this is to use the VBA Transpose function to convert a single column into a single row, but this doesn't work if there are more than 2^ 16 rows.
The options I have looked at are:
In Python I have two functions:
@xlfunc
@xlarg("x", "nparray", dims=1)
@xlarg("y", "nparray", dims=1)
def AddVect(x, y):
x = x+y
return x
@xlfunc
def AddVect2(x, y):
x = np.array(x)
y = np.array(y)
x = x+y
return x
Using these I have written six VBA UDFs that transfer 2 complete columns (i.e. 1048576 rows), read the result of the Python function, and record the time taken for each step.
1:  VBA code generated by ExcelPython, plus create a single column array and transfer the contents of the Python return array with a loop.

Transfer the Excel arrays as single column variant arrays, convert to numpy arrays in Python with AddVect2.  This returns a single column array, that does not need to be transposed.

Convert to vector arrays of doubles with a loop in VBA, then convert to Numpy arrays in VBA
Convert results to column array with a loop.

As 3 but transfer as double arrays, and convert to Numpy arrays in Python.

As 4, but convert column arrays to single row arrays in VBA

As 5, but using variant arrays, rather than doubles.

Total times for each function were:
1: 1.34 sec.
2: 2.28 sec
3: 1.95 sec
4: 0.79 sec
5: 0.82 sec
6: 1.36 sec
So conclusions are:

Passing long arrays as vectors, or single row arrays, is much faster than passing single column arrays.
Function 3 was presumably doubling up some of the operations done in 1, hence the slower time.
Creating  vector arrays of doubles (functions 4 and 5) was significantly faster than converting variant arrays to numpy arrays in VBA, in spite of the need to loop through 1 million+ rows at each end of the operation.
Looping with variant arrays (Function 6) was very similar in time to the ExcelPython code.
Even with Functions 4 and 5 the data transpose and transfer operations were hugely slower than the addition of the two vectors in Python, which took just a few milliseconds.

So the message is, if you have long column arrays transpose then into double vector arrays before transferring to Python, then convert to Numpy arrays in Python.
And the question is, is there any way to further reduce the overhead of the data transfer?

Uff tough GitHub issue! I will need to try to get my head around everything you wrote, in fact sorry for the slow reply.
So I will try to investigate further when I have some time, however generally speaking data transfer is not as fast as it could be because it all passes through COM/PyWin32. Just consider that this means that VBA arrays, which in memory are stored as real contiguous raw data arrays just like Numpy, can only be sent to Python as tuples of objects (1D) or tuples of tuples of objects (2D).
But the only way to get around this limitation to to rewrite the way that Excel and Python communicate, i.e. by substituting COM and PyWin32 with some other customized interprocess protocol. This is an idea I have had in the back of my mind for quite a while, but it's a lot of work and not getting it 100% right would lead to the library itself being less stable.

Thanks for the reply Eric.
I can certainly relate to having projects I would like to do, if only I had the time!
To put this in perspective, transferring over 1 million rows is certainly an extreme case.  For the applications I have in mind even very large data sets would be more likely in the 10,000 to 100,000 row range, and the processing in Python/SciPy would involve a lot more than adding two vectors together, so the data transfer time is not all that significant.
That said, if there is a way to speed things up without losing stability, that would be appreciated!


Update gamestop.py

Added a workaround for Gamestop login (Missing "MY ACCOUNT" link)

Is this for their desktop site? Their hamburger button menu doesn't have a Sign In option.

Yes, it is for desktop. I'm not sure why it isn't always there, but when the bot opens the site, it's there.

Disregard this request.


add a retry option

that will increase success rate at the price of lower speed
may be an interesting trade offs in some cases

possible to:

[ ] retry downloads
[ ] retry the whole sample
[ ] retry the whole shard


Companion in engineer role is not used during sieges

During a siege, my main character levels engineer skill even though I set another companion as the engineer role.

I see this issue in the stock game without the Community Patch.

Yeah this is a native game bug.


Support For Empty Fields

It takes me a while to add a new mailmerge field and as far as I can tell there is no keyboard shortcut. However, there is a shortcut for adding a new empty field with Cmd+Fn+F9 on OSX or Ctl+F9 on Windows. If this type of field was supported it could significantly speed up the templating process.

Thank you @veered for your suggestion.
The code is written in such a way that you could theoretically replace the MailMerge parser with another implementation.
For us Mail Merge fields are working quite well but please do investigate wether support for Empty Fields is easily addable. If you have any questions, feel free to reach out.

Is there a keyboard shortcut for adding Mail Merge Fields?

I usually just copy and paste them.

At least for me copying and pasting them does not work Here is a Word macro that makes inserting Mail Merge Fields easier:
Sub InsertMailMergeField3()
'' create an MailMerge field from the selection; or create one from a dialog box

Dim selection_empty As Boolean, selection_text As String
selection_empty = Selection.Type = wdSelectionIP
selection_text = Selection.Text

If selection_empty Then
    Dim xPrompt As String, xTitle As String, xDefault As String
    xPrompt = "Insert Tag Name"
    xTitle = "< QUALIA TAGGER >"
    selection_text = InputBox(xPrompt, xTitle, xDefault)
End If

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="MERGEFIELD =" & selection_text, PreserveFormatting:=True

End Sub

@veered awesome! thanks for the follow up. :yellow_heart:


Changes to get ibm_spectrumscale_cluster to succeed under python3

basestring and urllib.unquote are not supported as is under Python3, changing the references to those files

Rebased this PR based on changes that went into dev and rebased to python3.

@mamuthiah @rajan-mis Any issue with this going into the python3 branch? It does not affect dev/master at all at this time.

@whowutwut I don't see any issue if this change is only going into the python3 branch. now we can utilize this from python3 branch , so that it will not have any issue for dev/master branch.  i am also planning to create one new branch for toolkit_5.1 . thanks


refactor(sdk):renamed sdk package to api client

Fixes #314
Previously there was a package named cactus-sdk which had ambiguity within the project since it was referred to as an SDK of SDK's. This PR renames the cactus-sdk to cactus-api-client and changes the documentation , files supporting the same.
What has been updated ?
1 . In the package.json file, the properties: name, main, browser, browserMinified, mainMinified properties are all updated
2. The references in all the other packages are also updated to import the new package instead of the old one
3. Documentation is updated  (README.md)
The changes for the updated directory can be found here

@yash2189 Thank you for the PR! Two things:

The build has to work, but you've got compilation errors in some of the code still.
The commit message is invalid, I think you are missing a space character after the colon.

Other than these (and with the assumption that the CI will pass) it looks good to me.

@petermetz Thanks for the review. The errors a related to npm linting and lerna . Could you please tell me about this as I'm quite confused.

@petermetz Thanks for the review. The errors a related to npm linting and lerna . Could you please tell me about the errors as I'm quite confused.

@yash2189 I think you forgot to replace all the package imports from 'sdk' to 'api-client' in the code of the other packages that depend on @hyperledger/cactus-sdk.
See: https://travis-ci.org/github/hyperledger/cactus/jobs/738502564#L592

@yash2189 Looks like now you added one too many spaces. The one on the left from the parentheses is tripping the commit message linter if I'm guessing it right.
refactor (ask): renamed sdk package to api client  should be refactor(sdk): renamed sdk package to api client
(also I assume the ask part is meant to be sdk

@yash2189 Looks like now you added one too many spaces. The one on the left from the parentheses is tripping the commit message linter if I'm guessing it right.
refactor (ask): renamed sdk package to api client  should be refactor(sdk): renamed sdk package to api client
(also I assume the ask part is meant to be sdk

sorry typo , I'm doing it again

Hi @petermetz , All the 3 checks have been passed , I have made the changes.
Thanks.

Hi @petermetz , All the 3 checks have been passed , I have made the changes.
Please tell me whether I need to squash the commits ?
Thanks.

Awesome, thank you so much @yash2189 !
Yes, please do squash the commits into a single one and then it LGTM!

@petermetz  Done! :)


unify default and custom nginx template processing

use the same regex to filter $NONSSL_VHOSTS as we do for $SSL_VHOSTS
process custom nginx templates in the same way we process default templates

it should be noted that nginx templates are very broken right now. i'll can have a look at templating in a different manner and consolidating ssl/non-ssl in another PR.
closes #1169

@josegonzalez #1169 seems to be resolved by this. code review and merge?


docs: Fix broken link in default VPC example readme

Description

This PR corrects a broken link in the Manage Default VPC README.
Motivation and Context

Fixes a broken link to the relevant AWS provider doc.
Breaking Changes

None.
How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s) (n/a)
[ ] I have tested and validated these changes using one or more of the provided examples/* projects (n/a)

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 3.15.0 :tada:


angular CLI ng g component error: Unexpected token ] in JSON at position 942

Hello,
I have updated angular cli and due to some reason i getting this error:
Unexpected token ] in JSON at position 942
ng serve  is working properly.
My development environment is:
Angular CLI: 6.0.3
Node: 8.11.2
OS: linux x64
Angular: 6.0.2
... animations, cdk, common, compiler, compiler-cli, core, forms
... http, language-service, material, platform-browser
... platform-browser-dynamic, router

Package
Version

angular-devkit/architect
0.6.3

angular-devkit/build-angular
0.6.3

angular-devkit/build-optimizer
0.6.3

angular-devkit/core
0.6.3

angular-devkit/schematics
0.6.3

angular/cli
6.0.3

ngtools/webpack
6.0.3

schematics/angular
0.6.3

schematics/update
0.6.3

rxjs
6.1.0

typescript
2.7.2

webpack
4.8.3

you probably put commented something in  angular.json


Load example configuration through dev services

The example configuration is currently loaded via a script that is run after the the application has started in dev mode.
Maintenance of the script across all platforms is problematic.
The example dataset should be loaded by dev services, so that a simple http request is required in dev mode to populate with sample data

This is important for contributors who use Windows

Draft PR:  https://github.com/Hyperfoil/Horreum/pull/857