Uncaught exception thrown from 'clientWaitAsync' function

Describe the bug 📝
I am using MeshCullerRenderer, and after I am done with it, I dispose it. However, sometimes Uncaught (in promise) undefined errors appear on console. After detailed investigation, I think I have an idea what is causing it. When disposing, WEBGL context is being killed. However, if there was already readPixelsAsync call scheduled from previous interval. It goes through getBufferSubDataAsync > clientWaitAsync > clientWaitSync and it hits below reject statement
      const res = gl.clientWaitSync(sync, flags, 0);
      if (res === gl.WAIT_FAILED) {
        reject();
        return;
      }

And this exception is never catched, thus, arrives our application in the end. In order to avoid this exception unnecessarily leaking to our app, I believe it needs to be catched somewhere or instead of rejecting silently return might be an option.
Can you please have a look and let me know if I am missing something.
Thanks in advance.
Reproduction ▶
No response
Steps to reproduce 🔢
No response
System Info 💻
System:
    OS: macOS 14.6.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 79.83 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.19.0 - ~/.nvm/versions/node/v18.19.0/bin/node
    npm: 10.2.3 - ~/.nvm/versions/node/v18.19.0/bin/npm
  Browsers:
    Chrome: 127.0.6533.120
    Edge: 127.0.2651.105
    Firefox: 123.0.1
    Safari: 17.6

Used Package Manager 📦
npm
Error Trace/Logs 📃
No response
Validations ✅

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a repository issue and not a framework-specific issue. For example, if it's a THREE.js related bug, it should likely be reported to mrdoob/threejs instead.
[X] Check that this is a concrete bug. For Q&A join our Community.
[X] The provided reproduction is a minimal reproducible example of the bug.

Hey @onderilkesever so you would like us to remove the reject() line, right?

@onderilkesever fixed in 2.2.8

thanks for prompt action here @agviegas


fix: "Use All" for linear image to image doesn't recall source image

Summary

added initial image to metadata viewer
added recall for initial image
updated typo when using "use all" ("Params Set set "-> "Params set")

Related Issues / Discussions
Closed #6130

QA Instructions

Merge Plan

Checklist

[X] The PR has a short but descriptive title, suitable for a changelog
[ ] Tests added / updated (if applicable)
[ ] Documentation added / updated (if applicable)

I made a small change to improve the UX. I moved the image network request to the parsing logic. The parsing logic is intended to handle "does this metadata exist and is it valid?". Retrieving the DTO is part of that logic.
Then the recall logic knows it has valid data, and it can update state immediately. If the parsing fails, the recall button won't be shown at all, so we avoid the awkward UX of "I pressed recall but there was an error".


GET-MONOTONIC-TIME fails

While working with Trial, I discovered this issue with get-monotonic-time failing each call and not exactly sure why as it's just calling out via cffi. What's odd is get-precise-time seems to work just fine. I'm currently running on a MacBook Air M1 with SBCL 2.4.5.
The full output is below:
The time query for GET-MONOTONIC-TIME failed
   [Condition of type ORG.SHIRAKUMO.PRECISE-TIME:QUERY-FAILED]

Restarts:
 0: [RETRY] Retry SLY interactive evaluation request.
 1: [*PROCESS-INPUT] Continue reading input.
 2: [ABORT] Return to SLY's top level.
 3: [CLOSE-CONNECTION] Close SLY connection.
 4: [ABORT] Exit debugger, returning to top level.

Backtrace:
 0: (ORG.SHIRAKUMO.PRECISE-TIME:GET-MONOTONIC-TIME)
 1: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ORG.SHIRAKUMO.PRECISE-TIME:GET-MONOTONIC-TIME) #<NULL-LEXENV>)
 2: (EVAL (ORG.SHIRAKUMO.PRECISE-TIME:GET-MONOTONIC-TIME))
 3: ((LAMBDA NIL :IN SLYNK:INTERACTIVE-EVAL))

Please compile and post the output of:
#include<stdio.h>
#include<time.h>
#define member_size(type, member) (sizeof( ((type *)0)->member))
int main(){
  printf("timespec: %lu\n", sizeof(struct timespec));
  printf("timespec.secs: %lu\n", member_size(struct timespec, tv_sec));
  printf("timespec.nsecs: %lu\n", member_size(struct timespec, tv_nsec));
  return 0;
}

nvm that, seems macos doesn't support monotonic clock_gettime anymore... sigh.

Please try again with the latest patch and run the tests if you can.

That fix produces a fraction locally, I modified MONOTONIC-TIME-UNITS-PER-SECOND like this and it worked, but I'm not sure if the patch is safe:
(define-constant MONOTONIC-TIME-UNITS-PER-SECOND
    (cffi:with-foreign-objects ((tb :uint32 2))
      (if (= 0 (cffi:foreign-funcall "mach_timebase_info" :pointer tb :int))
          (let ((ticks-to-nanos (floor
                                 (/ (cffi:mem-aref tb :uint32 0)
                                    (cffi:mem-aref tb :uint32 1)))))
            (*<PHONE_NUMBER> ticks-to-nanos))
          (error "Failed to get time scale for monotonic time."))))

better to floor after the mul


getrf_parallel.c strange code

Here the first "check" actually never checks if it is free
https://github.com/xianyi/OpenBLAS/blob/6a8b4269b522a8e1383e27e0ffef6111993a7264/lapack/getrf/getrf_parallel.c#L284
Id like to make a PR with either removing first no-check leaving just loop, or enclosing loop in if()?

Guess I had this as a while-do originally so needed to pull the initial value out of the loop, or I was just confused... Or maybe I was worried that optimization might change the order of execution ? Anyway there appear to be a few more in this style - probably harmless but certainly pointless. In each case, the original (non-locking) code was just a one-liner while() with a dummy do() block

I think not much space to make mistakes in PR.


workaround: @oclif/core in<EMAIL_ADDRESS>is not compatible with node-14

Closes #466
Motivation and Context
Make every PR pass again.
How Has This Been Tested?
the CI is the test.
manually tested also.
Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[X] All new and existing tests passed.

Turns out npm ci has issues with overrides key in package.json 😭 https://github.com/npm/cli/issues/4942 (npm install is fine)


Update prisma version 2.12.0

Not an issue but Prisma version 2.12.0 is released with few changes.
The major change I think is Move most types under the Prisma namespace.
https://github.com/prisma/prisma/releases/tag/2.12.0

Thanks for the report. I'm aware of that as I'm in direct contact with Prisma team, there's no need to remember about the upgrade 😉
The changes were done last week. Now I need to update deps, docs and double check everything before releasing new version.

I saw the commit. Just couldn't hold myself so asked because I have no idea what is pending that I can help with. So asked. No problem ☺


Backend logic

In GitLab by @lakhoune on Feb 10, 2020, 17:33
Use logical names for database entries and schema not registration

In GitLab by @erdzan on Feb 10, 2020, 19:52
mentioned in merge request !1

In GitLab by @erdzan on Feb 10, 2020, 19:52
created merge request !1 to address this issue

In GitLab by @lakhoune on Apr 2, 2020, 14:01
closed


Hotfix/api search

Description:

Fix API functions misusing and field typo.

Changes:

Fix ArticleAPI.search function call (missing params)
Change name 'timeQuery' to 'tbs' in API query.

Build Status
✅

LGTM


Writing shared state breaks parallel execution

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug
When performing an operation that manipulates shared state (such as the session info), the JSON files are written in a non-atomic manner. This causes parallel invocations to the Azure CLI to fail with errors like "Failed to load or parse file /home/myself/.azure/azureProfile.json. It will be overridden by default settings" further corrupting session state.
To Reproduce
This is timing dependent, but typically observed when running parallel processes that start by doing az account set --subscription xyz to ensure their state is properly set up.
Expected behavior
The file is preferably not written if there is no change, or at the very least it uses atomic POSIX file operations to ensure that the files can always be read successfully.
Environment summary
This was discovered in a test suite running in Docker (where each test runner starts by ensuring the correct target subscription is configured).
Additional context
It can be considered somewhat of an edge case that mutating global state is required, but even if a custom config location is used (in this case solved by a tmpfs volume in Docker). this causes unexpected behaviour when code runs that are supposed to have the same state.
It can be manipulated in application code by copying the state between each parallel invocation, but this requires some "plumbing code" and would in turn require careful testing and be designed to be future-proof w.r.t changes in the way state is handled.

@jiasli for awareness


Multi-line sorting results in single line

If I shift a multi-line selection to sort it alphabetically, Shifter will sort it correctly, but removes all line breaks:
ul.ring > li {
    background-position: 3px 4px;
    background-image: url(images/bullet_ring.png);
}

with only the two lines with CSS properties selected will result in:
ul.ring > li {
    background-image: url(images/bullet_ring.png); background-position: 3px 4px;
}

Sorting associative arrays e.g. in PHP keeps the line breaks, so I think, some weird setting is responsible for the unwanted result. Just can't find any line break settings in code style for CSS or SCSS files.

Tested again with Shifter 1.7.7 and PhpStorm 2017.3.5 → solved

:-) thanks for your updated feedback.


using sphinx gallery to add examples to docs automatically

huge WIP

All files within docs/source/api are autogenerated, so delete the api dir and run generate_api.py, and only commit those generated files. We can make a better mechanism later.
Anyways, this PR can be continued after scipy.

yup, this may help: https://github.com/pygfx/pygfx/pull/679/files#r1528478732, could also ask Almar later this week.

yup, this may help: https://github.com/pygfx/pygfx/pull/679/files#r1528478732, could also ask Almar later this week.

I see, super helpful. I should try it just using the pygfx scraper instead of trying to mimic what they did!


osperf: changes irq_t to irqstat_t

Summary
osperf: changes irq_t to irqstat_t
Impact
Testing

Thanks @Gary-Hobson, please update PR description, we will not accept PR with blank descriptions, see https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md.
Why irq_t is changed to irqstat_t ? We can see from diff it is changed, but more important is why? Please always provide few description sentences to provide a context :-)

let's ignore ci check error which is fixed by https://github.com/apache/nuttx-apps/pull/2712 to avoid wasting github resources.

Thanks @Gary-Hobson, please update PR description, we will not accept PR with blank descriptions, see https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md.
Why irq_t is changed to irqstat_t ? We can see from diff it is changed, but more important is why? Please always provide few description sentences to provide a context :-)

irq_t is function pointer, irq_state_t is an integer.


simplify installation of omero-cli-server

The tables are installed by default since the removal of Ubuntu 16.04 support

Propose version 4.1.0
Then I will bump the version when release


Multiple tables on same page interfers with each other

When multiple pivot tables are on the same page columns are expanded on all tables when expanding in one.
The reason is that setColVisibility (https://github.com/nagarajanchinnasamy/pivottable-subtotal-renderer/blob/master/subtotal.coffee#L303) is not scoped to the current table.

@kjeldahl Thanks for your contribution. I will merge your pull request.


[PackageGraph] Use OrderedDictionary to store assignments

The assignments were stored in a regular dictionary which caused
non-deterministic crashes when a package graph contained dependencies that
were required via a revison and version in different subtrees. Since the
order in which the constrained appear matters, the assignment also needs to
be stored in order.

@swift-ci smoke test


Support podman and selinux for dev setup

This PR includes the changes required to get the InvenTree dev setup to work on my local machine which requires podman and SELinux. The following changes are included in this PR:

SELinux labels are required in order to mount the volumes into the dev containers.
The build config has been added to the dev-worker to prevent podman from trying to pull from docker hub

@p-fruck what happens to the volumes in a "regular" docker setup? Are the labels ignored?

I just added the labels from pure routine but just noticed that in fact there is no difference for SELinux labels. Do you configure them somewhere or is this an improvement to podman that I missed? Previously I had to define this label in order to be able to access my files inside the container

Ok, my working directory was already configured with the correct SELinux labels. After setting up InvenTree in a new directory with default SELinux labels I got the following error:

This is because the container requires the container_file_t label which is automatically added using the :z flag. Note that :z is used instead of :Z  because the InvenTree directory is shared between server and worker container and the data directory is shared between worker, server and db.

@SchrodingersGat is there any further information required? I'd be glad to upstream the compose file for further local development :)

@p-fruck do I understand the above statements correctly in that it will break the docker workflow by default? Because I do not think we will merge something that breaks docker just to make podman work.

No, this is not what those changes do. Note that the only podman related part is the build config that has been added to the dev-worker. The :z labels are added for SELinux users, which are currently not able to deploy InvenTree by simply running docker-compose up because of the permission issue shown above. Adding the :z options to volume mounts makes it possible for SELinux users to deploy InvenTree just like regular users do without having to manually configure the SELinux context of the given directories previously. This will not have any negative effect for non-SELinux users

https://docs.docker.com/storage/bind-mounts/#configure-the-selinux-label

Thanks for clearing that up for me; I mistook the screenshot. Should be fine @SchrodingersGat

@p-fruck are you aware of https://github.com/moby/moby/issues/32579 like it occurred in vscode for example https://github.com/microsoft/vscode-docker/issues/3656

@matmair No I wasn't, but isn't this only for docker stack? Also I think this is mainly due to the following concern:

Use extreme caution with these options. Bind-mounting a system directory such as /home or /usr with the Z option renders your host machine inoperable and you may need to relabel the host machine files by hand.

While this might be an issue when People do use vscode-docker to open their home directory for whatever reason, this is basically impossible with the InvenTree compose file as all bind mounts are located inside the InvenTree folder and we do not try to modify any files outside this project directory which might have unexpected consequences to our users.

Thanks for the contribution @p-fruck :)


Packet bug? Comparison between new and old update.

It's not showing an error but there's is some bug here when using packet logger to get quests from the server. There's a link of a video showing a comparison from this update and old skywalker build.
https://youtu.be/SKejTQJGrXQ
Or maybe it's just an error on my end, in which case I'll delete this issue later...

It is my issue


docs: make generating token more user-friendly

Short description of what this resolves:
use URL query string to automatically select gist and add a description
now can generate the token just by one click
Changes proposed in this pull request:

just let lazy people like me make fewer efforts
maybe you should change the photo of README

Fixes: # None
How Has This Been Tested?

only docs changed
Screenshots (if appropriate):
Checklist:

[x] I have read the contribution guidelines.
[ ] My change requires a change to the documentation and GitHub Wiki.
[x] I have updated the documentation and Wiki accordingly.

@colinaaa If you really want to be lazy, get ready for #846

@shanalikhan OAuth is great! I just want you to know that there is a way to simplify generating the token.
Thank you for your brilliant idea. This is really a great extension.

@colinaaa Thanks for PR. Feel free to improve the Public Wiki of this project which ever page you think can be improved - Public Edit is already enabled.


try_examples_global_button_text does not propagate to custom .. try_examples:: directives

Description

When using the try_examples_global_button_text configuration value to customise the text displayed on every button, the text is used on buttons for docstring-based examples present in the API documentation for a library. However, buttons that are manually created/enabled using the .. try_examples:: directive on code snippets outside of docstrings (such as those written in-line in .rst files, rather than .py files) do not respect this configuration and use the placeholder text "Try it with Jupyterliteinstead of thetry_examples_global_button_textvalue set inconf.py`.
It is to be noted that a :button_text option is available in order to customise the text for the granularity of a specific button, but doing this for documentation websites where such buttons might be several in number might not make sense.
Reproduce

In a standard documentation deployment provided with Sphinx, please follow these steps to reproduce:

Add try_examples_global_button_text = "Your text here" to conf.py
Add any code snippet to a .rst file tracked by Sphinx for inclusion in the built docs, like this:

The NumPy library provides several functions and tooling for array computing.
For example, you may try ``numpy.eye`` to represent an array that looks like an identity matrix:

.. try_examples::

  >>> import numpy as np
  >>> np.eye(2)
  array([[1, 0],
       [0, 1]])

Build the documentation, either locally, or in CI, or through any other methods.

A simple reproducer is available on a PR preview on Read the Docs for the PyWavelets documentation, as follows:
The example mentioned in the pywt.families() docstring has the button with the "Try it in your browser" text, as intended:

However, on the same page, code snippets coming from wavelets.rst, i.e., those not from .. autofunction:: directives:

don't have the correct text as mentioned above.
Here is a link to the specified page: https://pywavelets--728.org.readthedocs.build/en/728/ref/wavelets.html
xref: https://github.com/PyWavelets/pywt/pull/728

Expected behavior

The expected behaviour here, IMO, is that .. try_examples::, in the absence of an :button_text: option, should use the value added to try_examples_global_button_text instead of the "Try it with Jupyterlite" boilerplate/placeholder text (it is a global value, after all, as noted in its name!)
Therefore, a summary is as follows:

If try_examples_global_button_text is not None, apply it for all examples and .. try_examples:: directives
If a .. try_examples:: directive placed somewhere has a custom :button_text:, use that instead, overriding try_examples_global_button_text

Context

JupyterLite version: jupyterlite-core (0.2.3), jupyterlite-sphinx (0.12.0)
Operating System and version: macOS Sonoma v14.3
Browser and version: Brave Browser, version 1.64.109 with Chromium: 123.0.6312.58 (Official Build) (arm64)

I'm not sure this can be classified as a bug. I think it can be separated into a documentation issue, that it's not well documented that try_examples_global_x only applies to automatically inserted instances of the directive, and a request for an enhancement to have global_enable_try_examples find all instances of the directive that are already there and add the global config options when none are present.

I agree. It's not completely a bug, but as a feature it would be really useful! I'm happy to write a PR to do both things: update the documentation about this, and also let .. try_examples:: percolate these global config options (I would appreciate some pointers on the latter!)


testcafe-testing-library

What is your Test Scenario?
Any type of test
What are you suggesting?
support for dom-testing-library (or perhaps a new testcafe-testing-library inspired by the Kent Dodds implementation for cypress)
What alternatives have you considered?
Selector.ByText("the text")
Additional context
dom-testing-library is such an great way to write tests from the user's perspective. I would love to see this type of syntax in testcafe.  https://github.com/kentcdodds/dom-testing-library

Thank you for this information. We cannot promise that we'll implement this feature in the near future. However, I find the dom-testing-library library interesting, so I'll mark this ticket as enhancement.
And of course any PR is always welcome.

@AlexKamaev I'd love to do a PR.  any tips you can give me on how to go about this?  @kentcdodds wrote one for cyporess, and he's utilizing Cypress.Commands.add for that.  what would be the recommended approach for doing that in testcafe?
From what i can tell I just need to create a custom selector that looks like this:
t.click(getByText("Hello")
just wondering how i can create an instance of that which returns a Selector.  any tips / advice much appreciated.

@AlexKamaev I am trying to get this working using a ClientFunction.  Maybe I'm doing something wrong but I'm getting a strange error:
1) SyntaxError: unknown: Unexpected token, expected , (1:23)

      Browser: Chrome 73.0.3683 / Mac OS X 10.14.4

         4449 |// message.
         4450 |
         4451 |pp$5.raise = function (pos, message) {
         4452 |  var loc = getLineInfo(this.input, pos);
         4453 |  message += " (" + loc.line + ":" + loc.column + ")";
       > 4454 |  var err = new SyntaxError(message);
         4455 |  err.pos = pos;
         4456 |  err.loc = loc;
         4457 |  throw err;
         4458 |};
         4459 |

         at Parser.pp$5.raise (/Users/bmonro001/Code/testcafe-testing-library/node_modules/babylon/lib/index.js:4454:13)
         at Parser.pp.unexpected (/Users/bmonro001/Code/testcafe-testing-library/node_modules/babylon/lib/index.js:1761:8)
         at Parser.pp.expect (/Users/bmonro001/Code/testcafe-testing-library/node_modules/babylon/lib/index.js:1749:33)
         at Parser.pp$3.parseExprList (/Users/bmonro001/Code/testcafe-testing-library/node_modules/babylon/lib/index.js:4296:12)
         at Parser.pp$3.parseExprAtom (/Users/bmonro001/Code/testcafe-testing-library/node_modules/babylon/lib/index.js:3714:28)
         at Parser.pp$3.parseExprSubscripts (/Users/bmonro001/Code/testcafe-testing-library/node_modules/babylon/lib/index.js:3494:19)
         at Parser.pp$3.parseMaybeUnary (/Users/bmonro001/Code/testcafe-testing-library/node_modules/babylon/lib/index.js:3474:19)
         at Parser.pp$3.parseExprOps (/Users/bmonro001/Code/testcafe-testing-library/node_modules/babylon/lib/index.js:3404:19)
         at Parser.pp$3.parseMaybeConditional (/Users/bmonro001/Code/testcafe-testing-library/node_modules/babylon/lib/index.js:3381:19)
         at Parser.pp$3.parseMaybeAssign (/Users/bmonro001/Code/testcafe-testing-library/node_modules/babylon/lib/index.js:3344:19)

Here's my sample code:
import { ClientFunction } from "testcafe";

const rtl = require("dom-testing-library");

fixture`selectors`.page`http://localhost:13370`;

test("getByText", async t => {
  const getTheText = ClientFunction(
    () => {
      return rtl.getByText(document.body, "getByText");
    },
    {
      dependencies: { rtl }
    }
  );

  const text = await getTheText();
  await t.expect(text).eql("getByText");
});

From What I read from the docs, I need to pass in react-testing-library as a dependency to the ClientFunction, right?  Am I missing something?

@Farfurix @AndreyBelym any help / guidance on the above error would be much appreciated.

@benmonro
I see the error is in the babylon library.
By provided information it's very difficult to determinate the cause of the problem.
I can investigate this if you can provide a simple project that I can run on my side.

@miherlosev yeah sure, here ya go: https://github.com/benmonro/testcafe-testing-library
after npm install you can run the tests w/ npm run test:testcafe
The tests I'm looking at are located in
tests/testcafe/selectors.js
many thanks in advance!

import { ClientFunction, Selector } from "testcafe";
import queries from "../../src";
// Problem is here
const rtl = require("dom-testing-library");
....

You shouldn't use this way to pass dom-testing-library module as a ClientFunction dependency. You need to build a distributive for dom-testing-library that allows to evaluate it on the tested web page as described here.
Also, there is a suggestion for your user case. Track this to be informed about our progress.

@miherlosev any tips you can provide on how to consume a library like dom-testing-library which does a simple export of various functions to be used in node/jest.
for example, dom-testing-library will do export { queries }
How can I consume that from within an eval or client function?
from what I can tell both of the examples that you linked to are attaching globals to window.
much appreciated.

dom-testing-library has a UMD build (which is currently broken, but you can use an old version while we get it fixed https://github.com/kentcdodds/dom-testing-library/issues/251).

Sweet!  Thanks @kentcdodds
I'll try it out and report back here

@kentcdodds I noticed you fixed the UMD build in the latest release of dom-testing-library, and it seems to work, so thanks for that! 🙏
@miherlosev so the good news is I have a working version of testcafe-testing-library 🎉
The bad news, is that the only way I was able to inject DomTestingLibrary into the dom, was using this approach: https://github.com/benmonro/testcafe-testing-library/blob/81525c204ce81beb979135cbf235e07641de19c4/src/index.js#L16-L23
I'd prefer to use the approach you referred me to earlier being used in axe-testcafe, but for the life of me, I can't seem to get DomTestingLibrary to show up in window.
really would be nice to have something like https://github.com/DevExpress/testcafe/issues/1739 to support this natively within testcafe, so that I can just inject a UMD string into the dom.
For now I'll write, docs, but I'm pretty happy that I can actually write testcafe tests using getBy* 😄
https://github.com/benmonro/testcafe-testing-library/blob/master/tests/testcafe/selectors.js

@benmonro
You can inject the dom-testing-library.umd.js file into the page using the eval function.
const LIBRARY_UMD_PATH    = path.join('./node_modules', 'dom-testing-library/dist/dom-testing-library.umd.js');
const LIBRARY_UMD_CONTENT = fs.readFileSync(LIBRARY_UMD_PATH).toString();

//TODO: figure out how to do this without having to use the external CDN.
export const addTestcafeTestingLibrary = async t => {
  const inject = ClientFunction(() => window.eval(script), { dependencies: { script: LIBRARY_UMD_CONTENT } });

  await inject.with({boundTestRun: t})()
}

I will close this issue because the origin enhancement has been implemented.
Now, it's possible to use dom-testing-libray in TestCafe via the testcafe-testing-libray module;

Thank you @miherlosev!  I think adding window. to the eval is what fixed it, not sure why...


Refactor Topics API

Closes https://github.com/novuhq/novu-java/issues/51

Hi @mayorJAY please review this PR

Addressed the comments 👍 @mayorJAY
I also did the same fix in other PR as well https://github.com/novuhq/novu-java/pull/75


Program Interface implementation library for implementing programs

After reviewing your latest PR for the Token Metadata Interface, I decided to re-work the stuff I was laying down in this repo I linked in your PR into a draft PR that would actually leverage the instructions from an interface the way you wrote them in Token Metadata @joncinque .
This is only a draft for now, but I'd like to get your thoughts @joncinque @ngundotra

The reason I'm sharing now - while it's still a draft - is because I'd like to discuss the formatting for interfaces declared in the SPL repository, and adding only whatever necessary traits/constants/etc. for validation. We can get a little thread going below on ideas.
Mainly to replace the manual implementations here: https://github.com/buffalojoec/solana-program-library-jonc/blob/interface-instructions/libraries/program-interface/syn/src/instructions.rs

I encourage you guys to take a look at the README in the linked repo, and also this test file to get an understanding of what I'm shooting for.
The macro-esque code is for Shank & Native, but the underlying functions for validation and discriminators would be leveraged by Anchor.

This is really super cool, especially when combined with the type-checking, and it works so seamlessly with other tools. It should definitely be used!
We'll need to define behavior for non-framework programs. For example, if you use BorshDeserialize on a normal enum, it'll generate 1 byte for the discriminator by default, but then interfaces will get 8 bytes. So what happens if you have something like:
enum MyInstruction {
    MyInstruction, // = 0
    #[interface(first_interface)]
    InterfaceIx, // = [8, bytes, for, the, interface, ...]
    MyOtherInstruction, // = 1?
    #[interface(second_interface)],
    SecondInterfaceIx, // = [8 bytes ... ]
}

Or keep it simple and enforce that SplInterfaceInstruction always gives 8 byte discriminators no matter what. That might be the best solution!
For something like implementing metadata in token-2022, since it uses manual pack / unpack for the existing instructions, it probably wouldn't be able to use this directly, and instead need to specify another instruction type for the interfaces.

This is really super cool, especially when combined with the type-checking, and it works so seamlessly with other tools. It should definitely be used!
We'll need to define behavior for non-framework programs. For example, if you use BorshDeserialize on a normal enum, it'll generate 1 byte for the discriminator by default, but then interfaces will get 8 bytes. So what happens if you have something like:
enum MyInstruction {
    MyInstruction, // = 0
    #[interface(first_interface)]
    InterfaceIx, // = [8, bytes, for, the, interface, ...]
    MyOtherInstruction, // = 1?
    #[interface(second_interface)],
    SecondInterfaceIx, // = [8 bytes ... ]
}

Or keep it simple and enforce that SplInterfaceInstruction always gives 8 byte discriminators no matter what. That might be the best solution!
For something like implementing metadata in token-2022, since it uses manual pack / unpack for the existing instructions, it probably wouldn't be able to use this directly, and instead need to specify another instruction type for the interfaces.

Yeah, I figured we could just follow Anchor's pattern by implementing the discriminator for any user-defined non-interface instructions as hash("global:" + <ix name>)[..8]. This way, all instructions have 8 bytes.
As far as Borsh goes, I figured we'd want to just do a pack/unpack like you're doing with Token2022, and then devs would just have to just use let ix = MyInstructions::unpack(&data)? and then match on ix
I guess my goal here was twofold:

Discuss the drawbacks of enforcing use of an enum for instruction layout, with subsequent processor matching (which seems to be pretty de facto)
Ideate on how to best dynamically represent SPL defined interfaces as syn::Type-based validation structs, for validating with implementing program code (this is difficult to do without a macro inside a macro, but I guess that option isn't off the table, eh?)

Can you highlight how this would be used? That will help me go backwards & provide feedback

Can you highlight how this would be used? That will help me go backwards & provide feedback

Check out the program specs:

Anchor
Native
Shank (which is the same as Native)

The idea is that in Anchor, all you need is the annotations over your functions, and in Shank/Native it's the same plus use of the MyInstruction::unpack(..) in the processor, to implement one or more interfaces!


Is LDBC possible to test for Neptune?

Hi LDBC group,
Thanks a lot for your fantastic work. I'm new to LDBC and wants to use it to test some graph database for research purpose. I noticed that there are workload implementations for Cyber, PostgreSQL, SPARQL, but it's not clear to me which database it could support now for Database connecter. So I wonder whether there is some information about it.
Also, Neptune is a AWS Web service. Is that by any chance possible that LDBC has a database connecter to it? If not, is there any suggestion if I want to do a personal test with LDBC workload?
At last, I'm not sure whether github issue is the community to discuss ldbc deployment/usage problems. If this is not, do you mind point me where I could look for more information? I could not find the community directly from Google Search.
Thank you so much in advance.
Regards,
-Rui

Hello Rui,
Thanks for your interest in LDBC!
The connectors usually rely on the driver provided by the vendors (e.g. the neo4j-java-driver using the Bolt protocol for Neo4j):

The Postgres one could work with systems that support the Postgres wire protocol and the WITH RECURSIVE SQL'99 clause. The former requirement is satisfied by quite a few systems (yugabyteDB, CockroachDB, CrateDB, Materialize etc.) but many systems only support clauses up to SQL'92. Also, it's very likely that the loading scripts (the schema/index definition commands and shell scripts) will need a few tweaks.
The Cypher implementation works with Neo4j: the one on the stable branch supports Neo4j 3.x while the one on the dev branch works with 4.x. The stable one should be compatible with Memgraph as well but it does not have 100% coverage due to Memgraph's limited Cypher support.
The SPARQL implementation has been tested with Stardog. It could work with any Sesame-compatible semantic database (BlazeGraph, Virtuoso, GraphDB by Ontotext). I've removed it from the dev branch due to the lack of effort to maintain this but it's still on the stable branch. If needed, it could be ported to RDF4J, a successor of Sesame, with a reasonable amount of effort.
As far as I'm aware, there's no publicly available AWS Neptune connector for SNB.

At last, I'm not sure whether github issue is the community to discuss ldbc deployment/usage problems. If this is not, do you mind point me where I could look for more information? I could not find the community directly from Google Search.

GitHub issues are perfect for these sorts of questions. We also have a Slack, let me know if I shall invite you.
Gabor


Convert blogs 2021-07, -08 & -09 to relative paths

This PR coverts the following blog entries from April, May and June 2021 to use relative paths instead of absolute paths to https://www.coronawarn.app:
July 2021

blog/2021-07-08_Risikioberechnung_Virusvarianten
blog/2021-07-12-cwa-2-5
blog/2021-07-28-cwa-2-6

August 2021

blog/2021-08-25-CWA-2-8

September 2021

blog/2021-09-08-CWA-2-9

It follows from the issue #1819.

@MikeMcC399 Many thanks again!


HHH-14235 Polishing OneToOneUnidirectionalTest

child should be persisted before parent, an update sql can be saved after this commit
insert into Phone (details_id, number, id) values (null, '123-456-7890', 1)
insert into PhoneDetails (provider, technology, id) values ('T-Mobile', 'GSM', '2')
update Phone set details_id=2, number='123-456-7890' where id=1
==>
insert into PhoneDetails (provider, technology, id) values ('T-Mobile', 'GSM', '1')
insert into Phone (details_id, number, id) values (1, '123-456-7890', 2)

Such usage is legal but not recommended, I found this because it blocks https://github.com/hibernate/hibernate-orm/pull/3566 and https://github.com/hibernate/hibernate-orm/pull/3567, caused by foreign key constraint violation.
@vladmihalcea Would you have a look at this?

@quaff I no longer work for Red Hat, so you are better off asking the Hibernate devs to check it out. Cheers.

Usually we require associated JIRA ticket to be created (and include its HHH-xxxx as git commit prefix) for such PR targeting Hibernate v5, unless your PR is targeting v6 (wip/6.0).

Please include ticket number as the git commit message prefix. That way we can correlate git commit and its associated ticket more easily.

@quaff you mentioned that your changes in #3566 and #3567 break this test(valid) and now you want to change it so that it doesn't fail anymore? I didn't look into the test yet, but this should not be necessary. Maybe your fixes aren't that perfect yet?

Or is the foreign key created due to #3569 not being fixed?

@quaff you mentioned that your changes in #3566 and #3567 break this test(valid) and now you want to change it so that it doesn't fail anymore? I didn't look into the test yet, but this should not be necessary. Maybe your fixes aren't that perfect yet?
My point is fix the misuse in this test.
Indeed #3566 or #3567 will breaks such usage, maybe I need introduce a new flag and disabled by default, It's still work in progress. There is one important question, which one is better? I would hear advice from hibernate team.

Or is the foreign key created due to #3569 not being fixed?

#3569 is a perfect fix from my perspective, It's not related to this.

Keep this anti pattern, prevent breaking compatibility, misuse better than broken.

@vladmihalcea I suggest you detect such usage in Hypersistence Optimizer.

@quaff I don't understand thr issue. What do you mean by "child should be persisted before parent"? A parent entity should be persisted first.

@quaff I don't understand thr issue. What do you mean by "child should be persisted before parent"? A parent entity should be persisted first.

For example entity Foo refer to entity Bar, then Bar should be persisted before Foo, otherwise foo.bar will be null while inserting then updated with bar later.

@quaff Sorry, but I've never understood what those Foo or Bar terminologies stand for since they don't have any resemblance to the real world.
For instance, in all the examples I have on my blog, I use Post for the parent entity and PostComment for the one-to-many child. This is because it's easier for people to reason about the domain model.
In this case, because we are talking about a one-to-one association, the parent Post entity has a PostDetails child entity, which, again, makes sense since anyone will be able to visualize the relationship.
So, considering this model, it makes sense to persist the Post first and then the PostDetails. Those can happen in different transactions too.
Now, is this issue related to the cascade attribute of the @OneToOne annotation?

Post should be persisted before PostDetails to save one unnecessary update statement, It's not related to cascade.

And isn't the Post persisted by Hibernate prior to the PostDetails? This was working fine in the past. If it doesn't work like that, then it's a bug that will have to be fixed.
Hibernate should insert the parent first and the child afterward, no matter the order the user has called persist on the entities.

And isn't the Post persisted by Hibernate prior to the PostDetails? This was working fine in the past. If it doesn't work like that, then it's a bug that will have to be fixed.
Hibernate should insert the parent first and the child afterward, no matter the order the user has called persist on the entities.

I change the order of persist call in this PR, It indeed eliminate one update statement. I'm not sure it violate JPA specification.

I don't think the JPA specification imposes any restriction related to how the SQL statements should be executed. This is an implementation detail that's left for the JPA provider to decide.

I don't think the JPA specification imposes any restriction related to how the SQL statements should be executed. This is an implementation detail that's left for the JPA provider to decide.

Then it's an improvement not a bug since it works functionally.

Hibernate should insert the parent first and the child afterward, no matter the order the user has called persist on the entities.

Do this rely on hibernate.order_inserts ? @vladmihalcea

The hibernate.order_inserts is a different mechanism. The outcome should be the same. The parent should be inserted first, then the child and no UPDATE should be generated for the one-to-one association.
The problem with that initial Phone and PhoneDetails mapping is that it's not even a real one-to-one table relationship, but a one-to-many database table relationship with a UNIQUE constraint on the FK. The true one-to-one relationship uses a single column that's both the PK and the PK. So, only @MapsId can generate the property one-to-one relationship. The default one is both less efficient and not even compliant to the DB schema design considerations.

Superseded by https://hibernate.atlassian.net/browse/HHH-14254


Bug when remove one editor from multiple editors

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Currently I'm using multiple TeX editors, follow exactly example from the source, structured as:
this.state.arrayOfData.map(function(data, index){
    return
        <MyContainer>
            <TeXEditor />
        </MyContainer>
})

Then when I remove 1 element from my data, like: this.state.arrayOfData.splice(0,1), the remain editor show the content of 1st editor, not 2nd editor.
Expected
The first editor will be removed from the DOM, there will be only 1 editor (the 2nd) with its content
I notice that the remain editor has the data-editor attribute same as the 1st editor (which should be removed).
Another question: why changes from 1 editor trigger all editor's render function? Am i missing something?
I'm using Draftjs v0.9.1

@dzuncoi - thanks for opening this issue. Depending on how you're doing the splice(0, 1) call, you may be seeing some unexpected side effects. Referring to the JS documentation, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice says it returns the deleted entries
so if you're doing
this.setState({
arrayOfData: this.state.arrayOfData.splice(0, 1),
}),
you'd be saving the first entry instead of everything else. could this be what you're seeing?

I've seen this problem in different contexts if U have a key prop that lacks sufficient uniqueness. I.E. if U have keys that come straight off an iterator, for instance, removing the third element will cause the former fourth element to have the same key as the former third element, which will confuse React into display the same data.
Not sure if that applies to your situation.


Update documentation on node OS/arch labels

These labels have been promoted to GA:
https://github.com/kubernetes/enhancements/issues/793

Thanks @yujuhong!
Previews:
Assigning Pods to Nodes
Using Windows Server Containers in Kubernetes
Using Admission Controllers
Well-known labels, annotations, and taints
Application introspection and debugging
/approve


php client not support continual send message to server?

Hi, I wrote a client.php as below, and I want to continuously sending message to server, but the server can receive only first time and disconnect it automatically, Is there any problem with my code? Thank you in advance。
<?php
require_once('./vendor/autoload.php');
$socket = new \HemiFrame\Lib\WebSocket\WebSocket('localhost', '7001');
$client = $socket->connect();
$data = [
    'event' => 'broadcast'
];
while (true) {
    $socket->sendData($client, json_encode($data));
    echo $client->getId().' broadcast'."\n";
    //$socket->disconnectClient($client);
    sleep(1);
}

Please try with a new version 1.6.1. I have fixed the bug.


SAP connector / SAP outbound IDOC XML element naming

Is there any way to make the azure enterprise sap connector to use "segment type" naming instead of "segment definition" when the connector receives IDOC packets from SAP.
eg. in INVOIC02 IDOC-type one element in "segment type" naming is E1EDK01 and same element is E2EDK01005 when using "segment definition"
All other sap connector what I've ever used uses "segment type" naming and now it seems that azure connector uses the other.

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

ID: a2a1c207-4aba-94f9-50e8-0dbdc84914e3
Version Independent ID: 0bb3d5e4-caa2-3ac3-af56-1598b36cf353
Content: Connect to SAP systems - Azure Logic Apps
Content Source: articles/logic-apps/logic-apps-using-sap-connector.md
Service: logic-apps
GitHub Login: @divyaswarnkar
Microsoft Alias: divswa

@anttitoippa Thank you for your feedback! We will review and update as appropriate.

@divyaswarnkar Could you please share insights on this one?

@anttitoippa We are assigning this issue to the author to share insights on this and include the information in the docs as required.

@anttitoippa for Send scenarios i.e when you send message from Logic Apps to SAP, we now support plain XML as well, along with Biztalk based schema. For receive, the support for plain XML will come later this year. Hope this answers your question.

@divyaswarnkar I tried to be more precise and create few examples. You´ll find them attached. The scenario is when I send IDOCs over RFC to Logic Apps SAP connector and save them ({body}) to blob storage XML.
SAP IDOC structure documentation (WE60) uses "segment type" naming/definitions on IDOC segments but the Azure SAP Connector uses "segment definition" naming/definitions. Due that difference I can't receive messages in same structure when using Logic Apps SAP Connector as I do with my current Oracle Service Bus SAP Adapter or by sending IDOC from SAP via HTTP to Azure Logic App.
Azure Logic Apps SAP Enterprise Connector problem.pdf

@divyaswarnkar, could you please respond?

@daviburg, maybe you can also help answer this question?

@anttitoippa Thanks for sharing additional details. From what I understand based on your doc is that you are using SAP trigger. The message structure you are seeing is by design.In SAP trigger, we currently do not support plain XML SAP schema.  One way to handle this is to use the XML transformation step after you receive the message, and transform it in the desired format. Hope this helps.

Hi @anttitoippa,
Did the response from @divyaswarnkar help answer this question?

Yes, SAP's WE60 IDOC documentation generates the XML schema as per SAP which we refer to earlier in this thread as 'plain' SAP IDOC XML. We don't support those yet for trigger via the SAP Connector. You may use a regular Logic HTTP request trigger with SAP's IDOC XML over HTTP capability in the meantime (not IDOC over RFC), or use the transform workaround suggested after IDOC over RFC to SAP Connector trigger.

@anttitoippa, this info will be added to the doc, thanks!
@PramodValavala-MSFT: Please change label to doc-enhancement, thanks!

#assign lauradolan

lauradolan is already assigned.

@PramodValavala-MSFT: Please change label to "doc-enhancement", thanks!

The topic has now been updated:
https://docs.microsoft.com/azure/logic-apps/logic-apps-using-sap-connector#add-an-http-request-trigger
@PramodValavala-MSFT: Please change label to "doc-enhancement". #sign-off


Store date & time when a Locomotive runs & Store information of accessory switch calls

Store relevant information which probably important for maintainance.
Date&Time of locomotive runs for adding oil, etc.
Number of switch changes to check servos/motors.

Start/Stop of locomotives and accessory touch counting is serialized in statistics.json:


Error type Null is not a subject of type 'Object'

Is there an existing issue for this?

[X] I have searched the existing issues

Flutter Quill version
10.8.5
Steps to reproduce
Create ordered list

A
B
C

Expected results

A
B
C

Actual results
Error Null is not subtype of type 'Object'
This is how the result of database
[{"insert": "A"}, {"insert": null, "attributes": {"list": "ordered"}}, {"insert": "B"}, {"insert": null, "attributes": {"list": "ordered"}}, {"insert": "C"}, {"insert": null, "attributes": {"list": "ordered"}}, {"insert": "D"}, {"insert": null, "attributes": {"list": "ordered"}}, {"insert": "E"}, {"insert": null, "attributes": {"list": "ordered"}}]
Additional Context

Screenshots / Video demonstration
[Upload media here]

Logs
[Paste your logs here]

@rymesaint
This is still an issue, why it was closed?

i've found the problem the documentation is using jsonEncode method to make {"insert" : null} into {"insert":  "\n"} which i did it before like this
document.toDelta().toJson()

when it should be like this
jsonEncode(document.toDelta().toJson())


[BUG, solution proposed] kivy.core.image.Image.anim_reset(True) does not reset

Software Versions

Python: 3.12
OS: Windows 10 22H2
Kivy: 2.3.0
Kivy installation method: pip

Introduction
In the code below, I have a custom Image Widget with a GIF as source. The custom Image Widget is reacting when the cursor is hovering over the image.
When starting the app, both GIFs are being animated as expected.
Describe the bug
When the cursor is leaving the area of interest, the GIF just stops WIHTOUT resetting to frame 0.
Expected behavior
When the cursor is leaving the area of interest, the GIF should stop AND reset to frame 0.
To Reproduce
A short, runnable example that reproduces the issue follows. I tested it with Kivy 2.3.0 but it will also happen with latest kivy master as the according code is the same.
Code and Logs and screenshots
test.py:
from kivy.app import App
from kivy.uix.image import Image
from kivy.core.window import Window

class ReactiveImage(Image):
    def __init__(self, **kwargs):
        super(ReactiveImage, self).__init__(**kwargs)
        Window.bind(mouse_pos=self.on_mouse_pos_on_button)
        self._active = False

    def on_mouse_pos_on_button(self, *largs):
        pos = self.to_widget(*largs[1])
        if self.collide_point(*pos):
            self._reaction_ref()
            return
        if self._active:
            self._clear_instructions()

    def _reaction_ref(self):
        if self._active:
            return
        self._coreimage.anim_reset(True)
        self._active = True

    def _clear_instructions(self):
        if not self._active:
            return
        self._coreimage.anim_reset(True)
        self._coreimage.anim_reset(False)
        self._active = False

class TestApp(App):
    pass

TestApp().run()

test.kv:
BoxLayout:
    orientation: 'vertical'

    ReactiveImage:
        canvas.before:
            Color:
                rgba: rgba(63, 63, 63)
            Rectangle:
                pos: self.x, self.y
                size: self.width, self.height

        id: edit_gif
        source: 'some1.gif'
        center: self.parent.center
        size_hint_x: .9
        size_hint_y: .9
        allow_stretch: False
        opacity: 1
        anim_delay: 1/24

    ReactiveImage:
        canvas.before:
            Color:
                rgba: rgba(63, 63, 63)
            Rectangle:
                pos: self.x, self.y
                size: self.width, self.height
        id: progress_gif
        source: 'some2.gif'
        center: self.parent.center
        size_hint_x: .9
        size_hint_y: .9
        allow_stretch: False
        opacity: 1
        anim_delay: 1/60

Additional context
In file kivy/core/image/init.py between line 621 and 622, there is missing following code:
            self._anim_index = 0

This fixes the issue.

Hello @Zeratoxx I am looking for issues to contribute and came across this. Is it still relevant and up for grabs?

Hello @Zeratoxx I am looking for issues to contribute and came across this. Is it still relevant and up for grabs?

Hi @kitsiosvas, idk if it is still relevant, I didn't work on the project since then, I had too many important things to do.
But I can look into it again tomorrow.
If it is still relevant, it is definitely "up for grabs" :)

@Zeratoxx That would be great. I could check if this issue still happens with the example you provided above as well. Eitherway I would be grateful for hearing from you tomorrow

Oops, sorry @kitsiosvas, completely forgot that I wanted to check 😅 as I said too many important things to do currently


[bug][jdbc][oracle]Fix the Oracle number type mapping problem

https://github.com/apache/seatunnel/issues/5204

Waiting for CI/CD.

Lack of space again!

CI RUN @ic4y @liugddx


README not up to date

Hello,
In the README, you mention the possibility to use insert with an associative array:
$insert = $database->insert([
                       'id' =>1234,
                       'username' => 'user',
                       'password' => 'passwd'
                   ])
                   ->into('users');

But it is not possible anymore as you are using the splat operator as you can see on the error below :

Is this wanted ? If true, README should be updated and documentation too, otherwise, the functionality should be fixed
Thanks a lot,

I just updated 2.x.  Let me know if you find any other issues.

It takes a column array without values because it now supports multiple calls to ->values().  This probably wasn't the best decision on my part.

It takes a column array without values because it now supports multiple calls to ->values(). This probably wasn't the best decision on my part.

Wouldn't it have been better to use overload methods ? Or even just keep the array key/value method with another name and that would reproduce behaviour of ->columns()->values() ?


Slick current index

Hi, I was trying to show the current index on the view using slickCurrentIndex variable and although on afterChange eventos it is updating, when I use it on view, the value was not updated. What am I doing wrong?
Best regards

have a look 3.1.4 version
Thanks!


problem when importing agents

After importing an older agent I ran into a problem and we tried troubleshooting it. It would just be stuck on training indefinitely, after hitting the train button.
it seems like our platform is failing to generate a separate model per domain when there is just one intent on each domain
We don't know though however if this is the issue, we need to look into it more.
The fix for the moment disabling the slider on the "generate separate models for each domain"

@dcalvom I had already fixed this for single domain (thought I had for multi domain). I made the change in the single domain training file and multi domain training file. But looks like I missed the same problem in the domain recognizer:
https://github.com/samtecspg/articulate/blob/master/api/modules/domain/tools/buildDomainRecognitionTrainingData.domain.tool.js#L27
I can make the change and get back with @RussellSPG for testing. Just want to document that I think this is likely the problem and see if you agree.

Closed with https://github.com/samtecspg/articulate/commit/aee812506148114436e3b86110ad1a2d77779f67


Added 1 new icon!

Description
Hi there! It's my first time adding icons to Lawnicons, so I'm very excited of contributing this great project!
Type of change

:x: Bug fix (non-breaking change which fixes an issue)
:white_check_mark: Icon addition (non-breaking change that adds/modifies Lawnicons's icons)
:x: General change (non-breaking change that doesn't fit the above categories like copyediting)

Icons addition information
Icons added

Yandex (ru.yandex.searchplugin)

Thanks for your interest in contributing! For each new icon, an XML file and an SVG file should be added. This is described in CONTRIBUTING.md. However, it would appear that no SVG file is included in this pull request.

Okay, I'll add it! Thanks for understanding

Thanks for merging! I'm very excited about this project


#49 Adding capability to put and get tags

Description
Adding ability to set and get tags
https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETtagging.html
https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html
Related Issue
#49
Tasks

[ x] I have signed the CLA.
[ x] I have written tests and verified that they fail without my change.

Thanks @agudian, fixed those. Sorry about the wildcard imports, I'll fix IntelliJ settings


Deprecate various

Reference Issues/PRs
Deprecates MrSEQL cython version in lines with
https://github.com/alan-turing-institute/sktime/issues/1547
https://github.com/alan-turing-institute/sktime/issues/1538
What does this implement/fix? Explain your changes.
Deprecation for MrSEQL prior to the removal of cython
Does your contribution introduce a new dependency? If yes, which one?

What should a reviewer concentrate their feedback on?
is this sufficient to indicate deprecation?

Tests can be excluded in tests/_config.py by adding them to EXCLUDED_TESTS.
Is the decorator necessary? Could we not just print a warning in the init or at the top of the function or similar?

We could just leave the comment, it's my preference, but would like consensus on it. I will ask core devs

You don't have to use the decorator, you can just raise a FutureWarning in the method/function, would that help?

You don't have to use the decorator, you can just raise a FutureWarning in the method/function, would that help?

I'll try it, thanks, lets see if it still screw the tests

raising a future warning or using warn() doesnt work, the cython breaks

Are there only a few tests failing? Should be kept in mind that the current exclusion list for ALL tests is currently:
EXCLUDE_ESTIMATORS = [
"ShapeDTW",
"ElasticEnsemble",
"ProximityForest",
"ProximityStump",
"ProximityTree",
]
so distances arent really in the greatest shape either way

That explains why the clustering ones are the only fails!
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Matthew Middlehurst @.>
Sent: Saturday, October 30, 2021 2:51:42 PM
To: alan-turing-institute/sktime @.>
Cc: Tony Bagnall (CMP - Staff) @.>; Mention @.>
Subject: Re: [alan-turing-institute/sktime] Deprecate various (PR #1548)
Warning: This email is from outside the UEA system. Do not click on links or attachments unless you expect them from the sender and know the content is safe.
Are there only a few tests failing? Should be kept in mind that the current exclusion list for ALL tests is currently:
EXCLUDE_ESTIMATORS = [
"ShapeDTW",
"ElasticEnsemble",
"ProximityForest",
"ProximityStump",
"ProximityTree",
]
so distances arent really in the greatest shape either way
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Falan-turing-institute%2Fsktime%2Fpull%2F1548%23issuecomment-955237537&data=04|01|Anthony.Bagnall%40uea.ac.uk|4265e03157bd47fd354c08d99bac6872|c65f8795ba3d43518a070865e5d8f090|0|0|637711987060736055|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=3m24GcBIXo%2BsG7bKUD1mSdu26uHmIuBze2BA6uRUuSo%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACJGJOXRIHV3TEUB7XOKTZ3UJQA75ANCNFSM5GRBQFWA&data=04|01|Anthony.Bagnall%40uea.ac.uk|4265e03157bd47fd354c08d99bac6872|c65f8795ba3d43518a070865e5d8f090|0|0|637711987060736055|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=7rZuaHt60Rr1HDQFVkDVY%2BVxPjTuxQrusjrzuU8bVvw%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|Anthony.Bagnall%40uea.ac.uk|4265e03157bd47fd354c08d99bac6872|c65f8795ba3d43518a070865e5d8f090|0|0|637711987060746013|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=S2YeXFuidSRWT8m5oeR7TsPHP3c%2FBtUsw%2F%2FJlRAXZ4c%3D&reserved=0 or Androidhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|Anthony.Bagnall%40uea.ac.uk|4265e03157bd47fd354c08d99bac6872|c65f8795ba3d43518a070865e5d8f090|0|0|637711987060746013|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=xPyAKkK0g%2B87af617pbpoIekgzsZVzlD4VbOzFPCB5Q%3D&reserved=0.

seems warn() works and passes the test, could you review @MatthewMiddlehurst and @mloning?


QuaggaJS inside of Android Webview

I'm trying to get QuaggaJS to work inside of an Android webview. I'm using the project Jasonette/Jasonelle to make the development of my app easier, but I can't get my app to allow QuaggaJS access to the camera.
I keep getting the error:
Error:NotAllowedError: Permission denied
So far I've done the following:
Added permissions to androidmanifest:
    <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-feature         android:name="android.hardware.camera"         android:required="true" /> <uses-feature android:name="android.hardware.camera.autofocus" />
I have also overridden the onPermissionRequest:
((WebView) view).setWebChromeClient(new WebChromeClient() { @Override public void onPermissionRequest(final PermissionRequest request) { Log.d("PermissionRequest","onPermissionRequest");  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {  request.grant(request.getResources());                         }                     }                 });
And now I'm kind of out of options.

so do I, can not show the stream in the vidoe stage

@veglinus Did you ever find a solution to your problem? I am experiencing the same issue right now.


Need boss key

When the boss comes around, quickly replace the terminal with a game.

Maybe a flight simulator?


Error

http://pastebin.com/K9jh8sfe

Server version?
Server build?
Multiverse information?
Have you tried updating Multiverse? Is the error the same or does it not display anymore?
How can we replicate this?

25.02 11:57:39 [Server] INFO This server is running CraftBukkit version git-Spigot-7d78b81-f709362 (MC: 1.11.2) (Implementing API version 1.11.2-R0.1-SNAPSHOT)
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core] Multiverse-Core Version: 2.5-b688
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core] Bukkit Version: git-Spigot-7d78b81-f709362 (MC: 1.11.2)
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core] Loaded Worlds: [{"MVWorld@1412050122":{"Gen":"PlotSquared","Type":"NORMAL","Env":"NORMAL","Name":"PlotsSix"}}, {"MVWorld@216591785":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"world"}}, {"MVWorld@1455093300":{"Gen":"PlotSquared","Type":"NORMAL","Env":"NORMAL","Name":"PlotsFour"}}, {"MVWorld@811456081":{"Gen":"PlotSquared","Type":"NORMAL","Env":"NORMAL","Name":"PlotsOne"}}, {"MVWorld@890560748":{"Gen":"PlotSquared","Type":"NORMAL","Env":"NORMAL","Name":"PlotsThree"}}, {"MVWorld@2119878210":{"Gen":"PlotSquared","Type":"NORMAL","Env":"NORMAL","Name":"PlotsFive"}}, {"MVWorld@2135983339":{"Gen":"PlotSquared","Type":"NORMAL","Env":"NORMAL","Name":"PlotsTwo"}}, {"MVWorld@560015886":{"Gen":"\u2018PlotSquared\u2019","Type":"NORMAL","Env":"NORMAL","Name":"IslandPlots"}}]
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core] Multiverse Plugins Loaded: 0
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core] Using Vault: true
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core] Economy being used: Essentials Economy
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core] Permissions Plugin: Bukkit Permissions (SuperPerms)
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core] Dumping Config Values: (version 2.9)
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core]  messagecooldown: 5000
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core]  teleportcooldown: 1000
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core]  worldnameprefix: true
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core]  worldnameprefixFormat: ⊰%world%⊱ %chat%
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core]  enforceaccess: true
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core]  displaypermerrors: true
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core]  teleportintercept: true
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core]  firstspawnoverride: true
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core]  firstspawnworld: PlotsOne
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core]  debug: 0
25.02 11:57:57 [Server] INFO [Multiverse-Core] [Multiverse-Core] Special Code: FRN002
Where's the latest MV build? I'm not sure how to replicate it.

https://ci.onarandombox.com/job/Multiverse-Core/ Build 688 is quite old :P


API Tutorial missing steps

In this link in the API tutorial, where we have instructions to install schemas for validating in/out data, it is not said that we also need to install pydantic or similar to actually make the OpenAPI/Swagger work.
Describe how to replicate the bug.
Follow the tutorial and visit http://<IP_ADDRESS>:5000/docs or http://<IP_ADDRESS>:5000/openapi.json
Describe the expected behavior that should have happened but didn't.
I'm expecting to follow the tutorial and get the outcome shown in the tutorial or what it is said I should get.

It's installed as a dependency of quart-schema. When you install that as part of the tutorial, you get all the other parts.

It didn't. I had to poetry add pydantic and after that it worked as expected.


Fix mocha/setup deprecation warning

Prevents this warning when running the tests:
Mocha deprecation warning at ... test/test_helper.rb:5:in `require':
Require 'mocha/test_unit', 'mocha/minitest' or 'mocha/api' instead of 'mocha/setup'.

Requiring mocha/setup was deprecated in 1.10.0:
https://github.com/freerange/mocha/blob/master/RELEASE.md#1100

Thanks for the fix!


[Common] Add systemComments field as read-only field

Field should ve read-only in forms.

Closed in 6426137b


Testing fixes

The nightly of ChefDK is brining in Rubocop 0.36 now, which is a bug, but we should just resolve the issues now.

retroactive LGTM


ImageBufImpl doesn't check validity of subimage before checking mips

If I pass a subimage in, greater than or equal to the number of subimages that exist, getting the number of mips will assert.
I have an underlying assumption that if I read in vanilla jpeg file, then the number of subimages is 1, and the valid index is zero. Please let me know if I've got that wrong.
bool
ImageBufImpl::init_spec (string_view filename, int subimage, int miplevel)
{
...
    m_imagecache->get_image_info (m_name, subimage, miplevel, s_subimages,
                                  TypeDesc::TypeInt, &m_nsubimages);

The assert will occur in the next line because ultimately ImageCacheFile::levelInfo will assert that the subimage value is valid.
    m_imagecache->get_image_info (m_name, subimage, miplevel, s_miplevels,
                                  TypeDesc::TypeInt, &m_nmiplevels);

    LevelInfo &levelinfo (int subimage, int miplevel) {
        DASSERT ((int)m_subimages.size() > subimage);
        DASSERT ((int)m_subimages[subimage].levels.size() > miplevel);
        return m_subimages[subimage].levels[miplevel];
    }

Rather than asserting, wouldn't it make sense to range check it before calling get_image_info, and not call the function if out of range? In a release build it'll crash since it results in an out-of-bounds read in levelInfo.
I ran into this because Usd does the following. As you can see it starts off with an out of range query, since the range index starts at 1 instead of 0. (At least according to my base assumption 1 is out of range.)
int
GlfUVTextureData::_GetNumMipLevelsValid(const GlfImageSharedPtr image) const
{
    int potentialMipLevels = image->GetNumMipLevels();

    // Some of our texture loaders will always return an image (even if that
    // mip is not available) so the easiest way to figure out the number of
    // mip levels is by loading mips and looking at the sizes.
    int previousWidth = image->GetWidth();
    int previousHeight = image->GetHeight();

    // Count mips since certain formats will not fail when quering mips,
    // in that case
    for (int mipCounter = 1; mipCounter < 32; mipCounter++) {
        GlfImageSharedPtr image = GlfImage::OpenForReading(_filePath, mipCounter);
        if (!image) {
            potentialMipLevels = mipCounter;
            break;
        }

The call stack is pretty deep, so I'm not reproducing it here. I'm guessing I'm doing something off the main track from what Pixar is doing, causing me to hit this assertion where they aren't.
Update:
This gets me past the crash, and functioning properly, at least if my assumption is correct.
diff --git a/src/libtexture/imagecache.cpp b/src/libtexture/imagecache.cpp
index d4c6ca6..8b12968 100644
--- a/src/libtexture/imagecache.cpp
+++ b/src/libtexture/imagecache.cpp
@@ -2525,7 +2525,11 @@ ImageCacheImpl::get_image_info (ImageCacheFile *file,
         return true;
     }

-    const ImageSpec &spec (file->spec(subimage,miplevel));
+       if (subimage >= file->subimages()) {
+               return false;
+       }
+
+       const ImageSpec &spec (file->spec(subimage,miplevel));
     if (dataname == s_resolution && datatype==TypeDesc(TypeDesc::INT,2)) {
         int *d = (int *)data;
         d[0] = spec.width;

Yes, both the subimage and miplevel indexing starts at 0.
I agree, it would be better to fail gracefully than to assert. I'll see if your suggested patch covers all the cases.

Proposed fix (slightly more comprehensive) in #1672.

Looks good to me :) Thanks!

Merged into master and RB-1.7.


Tree.onItemClick support, #398

Added support for onItemClick listeners for Trees

@manabreak Hey, are you still working on this? If you don't have the time to apply the changes, I can merge this as is and refactor the code myself.

I will merge this as is and apply the fixes locally. Thanks for your contribution, @manabreak.


utils: build makeOption when building with build.ps1

As build.ps1 is used both for development and for CI, enable the building for makeOption tool in swift-driver to ease development.

Please build with following PRs:
https://github.com/apple/swift-driver/pull/1564
@swift-ci please test


log computational graph

hi,
I am trying to add the computational graph to tensorboard with
self.logger.experiment.add_graph(TriviaQA(self.args), sampleInput)
But got the error shown below:
 File "./.local/lib/python3.6/site-packages/torch/jit/__init__.py", line 742, in _check_trace
    raise TracingCheckError(*diag_info)
torch.jit.TracingCheckError: Tracing failed sanity checks!
ERROR: Graphs differed across invocations!

Any suggestion or comment?
thank you

Here are the additional warning messages before the error:
./.local/lib/python3.6/site-packages/longformer/longformer.py:114: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  if max_num_extra_indices_per_batch <= 0:
./.local/lib/python3.6/site-packages/longformer/longformer.py:137: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert embed_dim == self.embed_dim
./.local/lib/python3.6/site-packages/longformer/sliding_chunks.py:45: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert seqlen % (w * 2) == 0
./.local/lib/python3.6/site-packages/longformer/sliding_chunks.py:46: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert q.size() == k.size()
./.local/lib/python3.6/site-packages/longformer/diagonaled_mm_tvm.py:319: TracerWarning: Converting a tensor to a Python index might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  beginning_mask = beginning_mask[:, :seq_len].expand(beginning_input.size())
./.local/lib/python3.6/site-packages/longformer/diagonaled_mm_tvm.py:323: TracerWarning: Converting a tensor to a Python index might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  ending_mask = ending_mask[:, -seq_len:].expand(ending_input.size())
./.local/lib/python3.6/site-packages/longformer/longformer.py:168: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert list(attn_weights.size()) == [bsz, seq_len, self.num_heads, self.attention_window * 2 + 1]
./.local/lib/python3.6/site-packages/longformer/longformer.py:191: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  selected_attn_probs = attn_probs.narrow(-1, 0, max_num_extra_indices_per_batch)
./.local/lib/python3.6/site-packages/longformer/longformer.py:197: TracerWarning: Converting a tensor to a Python integer might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  attn_probs = attn_probs.narrow(-1, max_num_extra_indices_per_batch, attn_probs.size(-1) - max_num_extra_indices_per_batch).contiguous()
./.local/lib/python3.6/site-packages/longformer/sliding_chunks.py:92: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert seqlen % (w * 2) == 0
./.local/lib/python3.6/site-packages/longformer/sliding_chunks.py:93: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert prob.size()[:3] == v.size()[:3]
./.local/lib/python3.6/site-packages/longformer/sliding_chunks.py:94: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert prob.size(3) == 2 * w + 1
./.local/lib/python3.6/site-packages/longformer/sliding_chunks.py:19: TracerWarning: Converting a tensor to a Python index might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  x = x[:, :, :-M]  # B x C x ML+MM
./.local/lib/python3.6/site-packages/longformer/longformer.py:206: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert list(attn.size()) == [bsz, seq_len, self.num_heads, self.head_dim]
./.local/lib/python3.6/site-packages/longformer/longformer.py:224: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert list(attn_weights.size()) == [bsz * self.num_heads, max_num_extra_indices_per_batch, seq_len]
./.local/lib/python3.6/site-packages/longformer/longformer.py:237: TracerWarning: Converting a tensor to a Python boolean might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  assert list(selected_attn.size()) == [bsz * self.num_heads, max_num_extra_indices_per_batch, self.head_dim]
./.local/lib/python3.6/site-packages/longformer/longformer.py:241: TracerWarning: Converting a tensor to a Python index might cause the trace to be incorrect. We can't record the data flow of Python values, so this value will be treated as a constant in the future. This means that the trace might not generalize to other inputs!
  attn[extra_attention_mask_nonzeros[::-1]] = nonzero_selected_attn.view(len(selection_padding_mask_nonzeros[0]), -1).type_as(hidden_states)

I haven't tried this before. Maybe check this issue https://github.com/pytorch/pytorch/issues/23993

Thank you.
Yes, I think it is more about a PyTorchLightning issue.


Custom PHI lists at site/project level

Fixes #944
Changes From #877

New collection of custom phi list for projects and site-level default

Project admins can set project level lists, site admins can set site-level lists
New ProjectSettings handler for custom-phi and project templates logic, rules are also in the same file
can only set phi fields that are PHI_CANDIDATES (this is a hardcoded list)

New decorator to check phi-access for POST and PUT methods
GET

get_all uses site level default phi fields

ToDo

[ ] Project phi field that enables phi functionality
[ ] Subfields of PHI_CANDIDATES need to be permitted as phi fields
[ ] Log changes made to custom phi lists
[ ] Add more tests
[ ] Redo the phi logic for list handlers (Notes and Tags)

Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

Codecov Report

Merging #991 into PHI-perm-three will decrease coverage by 0.04%.
The diff coverage is 92.33%.

@@                Coverage Diff                 @@
##           PHI-perm-three     #991      +/-   ##
==================================================
- Coverage           89.87%   89.82%   -0.05%
==================================================
  Files                  49       50       +1
  Lines                6733     6861     +128
==================================================
+ Hits                 6051     6163     +112
- Misses                682      698      +16

Closing PR for now as requirements for this enhancement are reworked within the team.


[6.0] Add a --experimental-prepare-for-indexing-no-skipping command line option to prepare a target without function body skipping

Explanation: The flags for lazy type checking and function body skipping are still experimental and haven’t been thoroughly tested in the wild yet. In case they are causing issues, add an option to prepare a target without these flags, which users could enable as a workaround.
Scope: Purely additive
Risk: Low, additive
Testing: Added test case
Issue: rdar://130333568
Reviewer:   @bnbarham on https://github.com/swiftlang/swift-package-manager/pull/7720

@swift-ci Please test


[Question] How does a bot send emails (in outlook)?

I'm new to the bot framework so please be kind :)
I was working on my bot and noticed that an email was sent from my outlook account with the same message that was in a certain statement in my code. Here is the statement:
await context.PostAsync("TODO: Finish this method");
I have registered the bot on the bot framework and did email as a channel, but I wasn't testing the bot in my email at all,  (I was testing it in MS Teams). Is that what caused this to send an email from my account? I just want to make sure this doesn't happen again.
It may be relevant to mention I'm using LUIS intents and when I triggered this method's intent by entering input into MS Teams it ran this line of code, and then an email was sent? I'm thinking it had to do with adding my email as a channel on the bot framework but I want to make sure.
If it helps here is the full method:
        [LuisIntent("Show Joke")]
        public async Task displayJoke(IDialogContext context, LuisResult result)
        {
             await context.PostAsync($"TODO: Finish this method");
        }

Thanks.

@meganlcooper For email channel, I recommend setting up a new outlook account that is used by your bot only.
As to what caused the email to send.  It's hard to say without knowing exactly what code was running at the time. Sounds like you activated inadvertently during testing your code.
Keep in mind, when the bot is connected to the email channel + your personal email account, it could potentially start responding to every email sent to you.  This is why I recommend creating a new email account for your bot, that way you  know what messages are created by the bot.  Also, would prevent false activation when you get regular (not intended for the bot) mail.

@nwhitmont Thanks for the help. I disconnected the bot from my email channel, I hope that fixes the issue

@nwhitmont  Could you please some sample code that sends out any email.
I have enabled Email channel  by creating new outlook account.
Here is the code
    public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
    {

        if (activity.Type == ActivityTypes.Message)
        {
            if (activity.ChannelId != "email")
            {

await Conversation.SendAsync(activity, () => new Dialogs.EmailDialog());
}
}
}
public async Task StartAsync(IDialogContext context)
{
var message = context.Activity as IMessageActivity;
        var reply = context.MakeMessage();

        ChannelData data = new ChannelData();
        data.htmlBody = "This is the email body!";
        data.subject = "This is the email subject";
        data.importance = "high";
        string json = JsonConvert.SerializeObject(data);
        reply.ChannelData = json;
        await context.PostAsync(reply);
        // await fetchOrderDetails(context, query);
    }

The I am getting reply from bot but the problem is I am getting twice . One with actual message body
Other with body saying Sorry, my bot code is having an issue.

@sridharbm1991
Is your issue resoved? I am facing same issue.

@PriyaB07
Not yet resolved 😞

@sridharbm1991  mine is working now, I tried setting reply.Text instead reply.ChannelData


When parsing more than one file "start" and "end" accumulate values

const files = ['file1', 'file2']
files.forEach(f => {
    const text = Deno.readTextFileSync(f);
    const ast = parse(text, {
		target: "es2020",
		syntax: "typescript",
		comments: false,
		tsx: true,
	});
})

In that case for 'file1' "span.start" for Module will be "0"
But for 'file2' "span.start" will be "span.end" of another file.
Is it possible to have "0" as "span.start" for each file ?

Any update on this?

I patched this on my end by running the parser in a worker. It's not ideal, but seems to work.
import { parse } from "swc";

self.postMessage("ready");

self.onmessage = (evt) => {
  try {
    const program = parse(evt.data, {
      target: "es2019",
      syntax: "typescript",
      comments: true,
      tsx: true,
    });
    const ast = JSON.stringify(program);
    self.postMessage(ast);
  } catch (e) {
    self.postMessage({
      error: {
        message: e.message,
      },
    });
  }
};

export function parse(source: string): Promise<string> {
  return new Promise((resolve, reject) => {
    const url = new URL("./parse.worker.js", import.meta.url);
    const worker = new Worker(url.href, { type: "module" });

    worker.addEventListener("message", (event) => {
      if (event.data !== "ready") {
        reject("Worker failed to initialize");
        return;
      }

      worker.addEventListener("message", (event) => {
        resolve(event.data);
      }, { once: true });

      worker.postMessage(source);
    }, { once: true });

    worker.addEventListener("error", (event) => {
      reject(event.error);
    });

    worker.addEventListener("messageerror", (event) => {
      reject(event.data);
    });
  });
}

The problem comes from the main package. Here is the issue.
Unfortunately, most of the solutions there do not currently work. You have to either instantiate the module for each file, or subtract program.span.start from all spans in the AST. I am now using the latter approach, since downloading the WASM file for every parse call caused unacceptable delays and instability on bad networks.

What happen when span.start  exceeding Number. MAX_SAFE_INTEGER ? Does swc crash ?

@rizrmd You have to parse 9,007,199,254,740,991 bytes (~9 Petabytes) of source code to get to that point. What are you planning to do?


facter: 3.12.3 -> 3.13.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/facter/versions.
meta.description for facter is: '"A system inventory tool"'.
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
/nix/store/1xvczbs5xnblx2x829f7mwwvan7hbi4i-facter-3.13.0/bin/facter passed the binary check.
1 of 1 passed binary check by having a zero exit code.
1 of 1 passed binary check by having the new version present in output.
found 3.13.0 with grep in /nix/store/1xvczbs5xnblx2x829f7mwwvan7hbi4i-facter-3.13.0
directory tree listing: https://gist.github.com/f86e0f423db2aeb877ee3b47765154a8
du listing: https://gist.github.com/194eca684800652272a53b1446424422

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
facter

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1xvczbs5xnblx2x829f7mwwvan7hbi4i-facter-3.13.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A facter https://github.com/r-ryantm/nixpkgs/archive/1508e4bf8f1ef22d737531953da037f0373f0124.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1xvczbs5xnblx2x829f7mwwvan7hbi4i-facter-3.13.0
ls -la /nix/store/1xvczbs5xnblx2x829f7mwwvan7hbi4i-facter-3.13.0/bin

cc @womfoo for testing.

@GrahamcOfBorg build facter

This code here specifically doesn't support ARM:
https://github.com/puppetlabs/libwhereami/blob/61624edb4ef4132ccf206ee4b81db715bb1a356a/lib/src/sources/cpuid_source.cc#L10-L25


Flutter web app - blank screen in release mode when run on server.

Steps to Reproduce

Building the Flutter app with flutter build web --release
When deployed to the server and opened - only blank screen appears (console does not give any errors).

Expected results:
The app renders and works normally, as it does during debug builds run with flutter run -d chrome
Actual results:
Blank screen instead of the app's content.
Description:
The app is built via codemagic and then deployed to codemagic's static pages. Works normally when built locally while debugging, but deployed shows only the blank screen.
Logs:
flutter doctor:
== Flutter version ==
Flutter 1.15.3 • channel dev • https://github.com/flutter/flutter.git
Framework • revision 67826bdce5 (2 days ago) • 2020-02-10 14:59:32 -0800
Engine • revision 6158f03ef5
Tools • Dart 2.8.0 (build 2.8.0-dev.8.0 514a8d4c84)

What's more, the app uses Firebase (Firestore database):
<!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
   <script src="https://www.gstatic.com/firebasejs/7.6.0/firebase-app.js"></script>

   <!-- If you enabled Analytics in your project, add the Firebase SDK for Analytics -->
   <script src="https://www.gstatic.com/firebasejs/7.6.0/firebase-analytics.js"></script>

   <!-- Add Firebase products that you want to use -->
   <script src="https://www.gstatic.com/firebasejs/7.6.0/firebase-auth.js"></script>
   <script src="https://www.gstatic.com/firebasejs/7.6.0/firebase-firestore.js"></script>

Hi
can you please provide your flutter run --release --verbose  -d Chrome ?
Also, to better address the issue, would be helpful if you could post a minimal code sample to reproduce the problem
Thank you

The app's main screen is just the combination of Columns, Containers and Texts - for debugging reasons I've commented out all Firebase related pieces of code, so it's super simple.
What's more, when deployed to codemagic static page, I see the blank (gray) screen under "/" path, but when I manually enter the different path (defined in main.dart), for example "/post", the specified page opens, renders and works correctly.
When built in release and opened in Chrome locally, the main screen under "/" path renders correctly.
The part of main.dart:
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      onGenerateRoute: (settings) {
        switch (settings.name) {
          case "/":
            return Welcome.route();
          case "/privacy":
            return Privacy.route();
          case "/support":
            return Support.route();
          case "/post":
            return Post.route();
          case "/success":
            return SuccessScreen.route();
          default:
            return Welcome.route();
        }
      },
      initialRoute: "/",
      theme: _buildThemeData(),
    );
  }

Full flutter run --release --verbose -d Chrome output:
[  +29 ms] executing: [/Users/michalsurynt/Documents/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +48 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] fabeb2a16f1d008ab8230f450c49141d35669798
[        ] executing: [/Users/michalsurynt/Documents/flutter/] git describe --match v*.*.* --first-parent --long --tags
[  +16 ms] Exit code 0 from: git describe --match v*.*.* --first-parent --long --tags
[        ] v1.14.6-0-gfabeb2a16f
[  +13 ms] executing: [/Users/michalsurynt/Documents/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +11 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [/Users/michalsurynt/Documents/flutter/] git ls-remote --get-url origin
[  +11 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter
[  +77 ms] executing: [/Users/michalsurynt/Documents/flutter/] git rev-parse --abbrev-ref HEAD
[  +17 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[   +8 ms] executing: sw_vers -productName
[  +20 ms] Exit code 0 from: sw_vers -productName
[        ] Mac OS X
[        ] executing: sw_vers -productVersion
[  +30 ms] Exit code 0 from: sw_vers -productVersion
[        ] 10.14.6
[        ] executing: sw_vers -buildVersion
[  +52 ms] Exit code 0 from: sw_vers -buildVersion
[        ] 18G2022
[  +91 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +70 ms] executing: /Users/michalsurynt/Library/Android/sdk/platform-tools/adb devices -l
[   +9 ms] Exit code 0 from: /Users/michalsurynt/Library/Android/sdk/platform-tools/adb devices -l
[        ] List of devices attached
[  +22 ms] executing: /Users/michalsurynt/Documents/flutter/bin/cache/artifacts/libimobiledevice/idevice_id -h
[  +95 ms] executing: /usr/bin/xcode-select --print-path
[  +12 ms] Exit code 0 from: /usr/bin/xcode-select --print-path
[        ] /Applications/Xcode.app/Contents/Developer
[   +2 ms] executing: /usr/bin/xcodebuild -version
[ +120 ms] Exit code 0 from: /usr/bin/xcodebuild -version
[   +2 ms] Xcode 10.3
           Build version 10G8
[   +5 ms] /usr/bin/xcrun simctl list --json devices
[ +248 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +329 ms] Generating /Users/michalsurynt/Desktop/Jobs/.../android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[ +151 ms] Launching lib/main.dart on Chrome in release mode...
[        ] Building application for the web...
[ +249 ms] Generating /Users/michalsurynt/Desktop/Jobs/.../android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[   +3 ms] Compiling lib/main.dart for the Web...
[  +11 ms] Initializing file store
[  +17 ms] Done initializing file store
[  +86 ms] invalidated build due to missing files:
[  +29 ms] web_entrypoint: Starting due to {InvalidatedReason.inputMissing}
[   +5 ms] web_entrypoint: Complete
[+2285 ms] Skipping target: dart2js
[  +87 ms] Skipping target: web_release_bundle
[  +35 ms] Skipping target: web_service_worker
[   +1 ms] Persisting file store
[  +15 ms] Done persisting file store
[  +21 ms] Compiling lib/main.dart for the Web... (completed in 2,6s)
[  +16 ms] Building application for the web... (completed in 2,9s)

Are you trying to deploy to Firebase Hosting?
It worked for me only using my homepage's hosting instead of Firebase Hosting

Are you seeing any errors in the Network tab in Chrome DevTools?

Im getting the same; looks quite similar to https://github.com/firebase/firebase-tools/issues/1394. I don't have the redirect stuff in my config though, and I'm getting the same result with both the dev and beta channels. firebase emulators:start --only hosting works fine; just the live firebase deploy does not. 🤔

...aaaaaaand this morning, having done nothing, my final broken deploy from yesterday now loads correctly. Some sort of Firebase temporary bug? ¯_(ツ)_/¯ (One thing I did do was go back to the dev channel before the final deploy.)

Hi @michalsurynt
Are you still experiencing this?
if not please check this comment
Thank you

Hi @michalsurynt
given your last message I feel safe to close this issue,
if you disagree please write in the comments and I will reopen it.
Thank you