Add C-CDA to FHIR utils package

This PR adds C-CDA to FHIR lib as a r4 util package.
C-CDA to FHIR mappings related to this package can be found here: http://build.fhir.org/ig/HL7/ccda-on-fhir/CF-index.html
Supported C-CDA to FHIR Mappings

C-CDA Allergy Intolerance Observation to FHIR Allergy Intolerance
C-CDA Immunization Activity to FHIR Immunization
C-CDA Medication Activity to FHIR Medication
C-CDA US Realm Heade to FHIR Patient
C-CDA Problem observation to FHIR Condition(Problem)
C-CDA Procedure Activity to FHIR Procedure
C-CDA Author to FHIR Practitioner

I think code has been more complicated because of

the namespace checking
checking if the xml sequence has a length 0
introducing lots of if checks to check if a xml sequence is an Element sequence.

Most of the codes can be removed and reduced using proper navigation expressions. for example,
xml childElements = xmlPayload/<v3:recordTarget|recordTarget> will give you all elements with/without the namespaces.
Use xml instead of xmlxml:Element and similar. We don't need to have specific xml subtypes like Element, to process the data using navigation expression.  When using navigation expressions, calling .children() is unnecessary. We can remove that.
Use .data() to access the value associated with a xml element inline with a navigation expression.


[tvla] Enable filtering

At the moment trace filtering is enabled only for aes-specific tvla. This PR enables it for general analysis as well.

Thanks @nasahlpa for the review. I will merge this now


Design and perform load test on modified architecture

https://github.com/airavata-courses/CloudElves/wiki/Homework-2-Scalability#load-test-on-modified-architecture

https://github.com/airavata-courses/CloudElves/tree/HW2/loadtest


MVCC read conflict when reporting the success of a task

Hello,
It looks like a MVCC READ CONFLICT occurred when registering the success of a training task. Attached are the logs.
logs.txt
For the context, I had submitted two composite_traintuples and an aggregatetuple with inmodels the two composite_traintuples. The error occured for one of the two composite_traintuple.
I am not sure to understand why we get it here. Is it because when logging the success of this task, when updating the status of its child (the aggregatetuple), it reads an older version of the other parents (the other composite_traintuple) which status has been updated at the same time ?
Couldn't we add a retry mechanism in order to fix this ?

Retry when updating tuple status already exists in case of MVCC conflicts. It is deactivated in dev mode. That could explain the above issue.
IMHO, we should have the same behaviour in dev and in prod regarding the retry mechanism. It would help us to catch other issues that we may encounter later in production.


Fixed span of week issue and added tests - issue 355

Pull Request Checklist
Thank you for taking the time to improve Arrow! Before submitting your pull request, please check all appropriate boxes:

[x] 🧪 Added tests for changed code.
[x] 🛠 All tests pass when run locally (run tox or make test to find out!).
[x] 🧹 All linting checks pass when run locally (run tox -e lint or make lint to find out!).
[ ] 📚 Updated documentation for changed code.
[x] ⏩ Code is up-to-date with the master branch.

If you have any questions about your code changes or any of the points above, please submit your questions along with the pull request and we will try our best to help!
Description of Changes
Issue #355 fixed
Changed isoweekday function in arrow.py so it takes in extra parameter startSunday, which is a bool (default false) that determines if week should start on Sunday instead of Monday.  If true, it returns (1-7) for (Sunday-Saturday) instead of (Monday-Sunday).
Changed span function to also take in startSunday parameter (via kwargs).  If startSunday is true, span will call isoweekday(True) instead of isoweekday(), so span('week') will return a week starting on Sunday and ending on Monday.
Close: #355

Codecov Report

Merging #812 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master      #812   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           10        10
  Lines         1757      1748    -9
  Branches       300       302    +2
=========================================
- Hits          1757      1748    -9

Impacted Files
Coverage Δ

arrow/arrow.py
100.00% <100.00%> (ø)

arrow/parser.py
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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

Hi @oakt, thanks for the contribution. It seems that the linting CI is failing. Can you run pre-commit run --all-files to fix the issues and push again?

Unfortunately the pre-commit command isn't working on my device (MacOS), however the code did pass "make lint" initially.  Is there another command I can try?  Thanks

Hey @oakt, you need to install pre-commit either globally or in the virtual environment: pip install pre-commit. Or you can install it with home brew!
Running make lint requires pre-commit, so you probably already have it in the virtual env. If it runs, you need to add and commit the changes files.


Import fails with Cannot use "undefined" as a Firestore value if any field is NaN

Expected behavior
Import preserves NaN values and completes the import
Actual behavior
If a document contains NaN values, they are translated to "undefined" which makes firebase import fail
Steps to reproduce the behavior
   let profileData = {
        __collections__:{},
        nanField: parseFloat("sfg"),
    }

    const profileRef = firebase.firestore().doc(`users/${uid}`);
    await firestoreImport(profileData, profileRef)

I guess adding (val !== val) to isScalar can fix that (this expression returns true in case of NaN)


update workshop materials

Issue Description
What did you expect to see happen?
The workshop should be up to date.
EDIT @alfoa : All the inputs in the workshop material should be part of our regression test system.
What did you see instead?
It is quite old now
Do you have a suggested fix for the development team?
Please attach the input file(s) that generate this error.  The simpler the input, the faster we can find the issue.

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[x] 1. Is it tagged with a type: defect or improvement?
[x] 2. Is it tagged with a priority: critical, normal or minor?
[x] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[x] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[x] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[ ] 1. If the issue is a defect, is the defect fixed?
[ ] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[ ] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[ ] 4. If the issue is a defect, does it impact the latest stable branch? If yes, is there any issue tagged with stable (create if needed)?
[ ] 5. If the issue is being closed without a merge request, has an explanation of why it is being closed been provided?

@wangcj05 I added the following sentence as well:
All the inputs in the workshop material should be part of our regression test system.

Closure checklist passed....

Email regarding this is sent to raven users, and the proposed email is:
Dear Users,
We recently realized that some tests for the RAVEN workshops are outdated and can not be executed. This issue has been resolved with PR#800 and is the modifications are currently available in the devel branch. Now all the tests under raven/doc/workshop are tested in the regression test systems. In this case, all the tests will be updated with any changes we made in the our devel branch.

Please let us know if you have any questions regarding these changes.

Could we put a more positive spin on that, or did it already send?

I have sent it out already.

From: Paul Talbot<EMAIL_ADDRESS>Sent: Thursday, September 27, 2018 3:29:40 PM
To: idaholab/raven
Cc: Congjian Wang; Mention
Subject: Re: [idaholab/raven] update workshop materials (#796)
Could we put a more positive spin on that, or did it already send?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_idaholab_raven_issues_796-23issuecomment-2D425249357&d=DwMCaQ&c=54IZrppPQZKX9mLzcGdPfFD1hxrcB__aEkJFOKJFd00&r=vJsbMjnzR6ErmdvVqv2kNhwbKhk1o91w6B8VQ4EHCto&m=JCc8TBzKdFHD5B2l0DH6BVwFIFEyC68AHiEukuf4gjE&s=PQ9N0FDzQ4YPjjVqZ1YvrB_XbDAx0HCQ2fEptAoi9aM&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AG-2D1712UEm7KyX2kC0Vfomb6XvtBjd-2DAks5ufUNEgaJpZM4WyVws&d=DwMCaQ&c=54IZrppPQZKX9mLzcGdPfFD1hxrcB__aEkJFOKJFd00&r=vJsbMjnzR6ErmdvVqv2kNhwbKhk1o91w6B8VQ4EHCto&m=JCc8TBzKdFHD5B2l0DH6BVwFIFEyC68AHiEukuf4gjE&s=-KDLZ7geXBlujhDtUPT9ZbqGEO7a9AujAhvYyk8KuCw&e=.


not detecting device and android version

my device detail  :
userAgent :
Mozilla/5.0 (Linux; U; Android 9; en-us; Mi 9 SE Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.141 Mobile Safari/537.36 XiaoMi/MiuiBrowser/11.4.3-g
os: Android
browser: Chrome
device: Android
os_version: unknown
browser_version: 71.0.3578.141
isDesktop(): false
isMobile(): true
isTablet(): false

Same issue for ipad
user agent:
Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.25 (KHTML, like Gecko) Version/11.0 Mobile/15A5304j Safari/604.1
should be ipad running safari 11 on mac 11

os
Mac

browser
Safari

device
iPad

os_version
unknown

browser_version
11.0

isDesktop()
false

isMobile()
false

isTablet()
true

also true about macOS desktop running chrome, looks like not OS version detection is running

@mohsinayaz Add the regex to regex map https://github.com/KoderLabs/ngx-device-detector/blob/master/projects/ngx-device-detector/src/lib/device-detector.constants.ts#L513

Also add Android 9 to the OS_VERSION and OS_VERSION_RE appropriately.
Also, add Mi SE 9 to the DEVICES and DEVICES_RE as Xiaomi

Closed by #208


⚠ Empornium has degraded performance

In f31b61f, Empornium ($EMP) experienced degraded performance:

HTTP code: 500
Response time: 1005 ms

Resolved: Empornium performance has improved in 42ecce1 after 3 hours, 29 minutes.


[DEFINE TITLE OF ISSUE]

Tools

Consider using these tools to gather valuable insights about the issue which help us to tackle the issue more effective

https://webpagetest.org
https://developers.google.com/speed/pagespeed/insights
https://gtmetrix.com/

Detailed description

What version of the Lyne Design System are you using?

Is this issue related to a specific component?

Since when has this been noticed?

Steps to reproduce the issue

Step one
Step two
Step three
etc.

Additional information

Screenshots or code
Notes

Tools

Consider using these tools to gather valuable insights about the issue which help us to tackle the issue more effective

* https://webpagetest.org

* https://developers.google.com/speed/pagespeed/insights

* https://gtmetrix.com/

Detailed description

What version of the Lyne Design System are you using?

Is this issue related to a specific component?

Since when has this been noticed?

Steps to reproduce the issue
1. Step one

2. Step two

3. Step three

4. etc.

Additional information
* Screenshots or code

* Notes


Please add the Devicelogin page

Proposed name of the new command
The new command allows you to access Devicelogin easily
Description
Device Login page used to authenticate API sessions
Category
AAD/M365
Url
https://microsoft.com/devicelogin

Done. Added as dl.cmd.ms


The "TypeScript compilation failed" error is raised when use custom DOM property or method

Try to run the following test:
import { Selector } from 'testcafe';

fixture('fixture').page('http://example.com');

test('test', async t => {
    const body = Selector('body').addCustomDOMProperties({
        innerHTML: node => node.innerHTML
    });

    const html = await body.innerHTML;
});

It leads to an error:
Error: TypeScript compilation failed.
D:/temp/typescript/test.ts (10, 26): Property 'innerHTML' does not exist on type 'Selector'.

Possible workaround:
const html = await body['innerHTML'];

It's by design. Take a look at Selector TS tests. You need to declare Selector interface extension.

I see, thanks. I suppose we should note this in the docs.
Here is how it should look:
interface CustomSelector1 extends Selector, SelectorPromise {
    prop1(str: string): Promise<any>;
    prop2(str: string, separator: string): Promise<any>;
}

interface CustomSnapshot1 extends NodeSnapshot {
    prop1(str: string): Promise<any>;
    prop2(str: string, separator: string): Promise<any>;
}

let el = <CustomSelector1>Selector('rect').addCustomMethods({
    prop1: (node, str) => str + '42',
    prop2: (node, str, separator) => [str, (<Element>node).tagName].join(separator)
});


Simple example app for puffin-imgui?

Background
I have attempted to integrate puffin into an application, but I am struggling. The instructions in the README are a little sparse, so I had to guess a few parts:

Added puffin and puffin-imgui as dependencies
Before my main event loop, did this:

let mut pui = puffin_imgui::ProfilerUi::default();
puffin::set_scopes_on(true);

In some interesting functions, added puffin::profile_function!(); in the first line and added puffin::profile_scope_data!("thing", "example"); in interesting loops etc
Inside end of main loop I called pui.window(ui);

However this ends up with a window appearing, but only ever contains "No profiling data"
My suggestions

It would be very useful to have a simple example of how to use this. Something only slightly more complex than https://github.com/imgui-rs/imgui-rs/blob/master/imgui-examples/examples/hello_world.rs showing how to correctly wire up everything

Minor thing: The example code in README has : instead of ; at end of lines

Having the little crates.io badge in the puffin-imgui README would be helpful (I put in puffin = "0.3" in Cargo.toml and I incorrectly assumed puffin-imgui was version-locked to this)

Thanks!

Hi, thanks for your issue!
You are right; this crate isn't very well documented. I'll improve it shortly!
In the meantime: I think what you may be missing is a call to GlobalProfiler::new_frame:
puffin::GlobalProfiler::lock().new_frame();

You should call this once per frame in your game loop.

Ahh, yes that sounds very much like what I was missing (I was wondering how the UI knows what represents one frame!)
Thanks!

I've improved the documentation somewhat in https://github.com/EmbarkStudios/puffin/commit/c254a578ab1b438d203c692e64d0d6b8e6470f1f. I also discovered that the crate profiling has a working example for puffin: https://github.com/aclysma/profiling/blob/master/examples/puffin/puffin.rs


[docs][zh-cn] synced udpates and some typos

Translated #2043 and some handy typos.
/ping @Justineo

Ping me when it's ok to merge 🙂

@posva ready for merge 😄


Refactor animation

Beef up draw class.
Refactor Qbert to take advantage of draw class.
Add update enemy to mirror new Qbert and draw class.
Rename Start to Game.

Way to go, Sal! Brilliant.


Added example demonstrating how to easily generate data profile for data in weaviate cluster using pandas library of python

Great @YASH-GU24, thanks :)


Added test for iter

I wrote test for __iter__. Note that this method uses __getitem__ and int index is only supported in csr_matrix.

LGTM!


Add tests for sf::Texture::loadFromImage

Description
#2914 revealed that sf::Texture::loadFromImage is lacking some test coverage for certain cases. This PR fills those gaps.

Rebased on #2914 and fixed some tiny coverage gaps.


Default block types not working

It seems as though Heading and Quote aren't available as block types in the UI (see examples/index.html)

im looking into this...

Yeah. I'll revert a change and a better way to deal with this. Working on
some sir Trevor updated tomorrow.
On Thu, 18 Feb 2016 at 19:52, Tim<EMAIL_ADDRESS>wrote:

im looking into this...
—
Reply to this email directly or view it on GitHub
https://github.com/madebymany/sir-trevor-js/issues/442#issuecomment-185888751
.

Yea. I'm not sure why it's not working...
On Thu, Feb 18, 2016 at 3:18 PM Raffi Jacobs<EMAIL_ADDRESS>wrote:

Yeah. I'll revert a change and a better way to deal with this. Working on
some sir Trevor updated tomorrow.
On Thu, 18 Feb 2016 at 19:52, Tim<EMAIL_ADDRESS>wrote:

im looking into this...
—
Reply to this email directly or view it on GitHub
<
https://github.com/madebymany/sir-trevor-js/issues/442#issuecomment-185888751
.

—
Reply to this email directly or view it on GitHub
https://github.com/madebymany/sir-trevor-js/issues/442#issuecomment-185897357
.

Not really sure on what config we will use in the future so use the following for now before initialising your editor.
SirTrevor.Blocks.Heading.prototype.toolbarEnabled = true;
SirTrevor.Blocks.Quote.prototype.toolbarEnabled = true;
SirTrevor.Blocks.Text.prototype.toolbarEnabled = true;

Nice!!
On Wed, Feb 24, 2016 at 5:10 PM Raffi Jacobs<EMAIL_ADDRESS>wrote:

Not really sure on what config we will use in the future so use the
following for now before initialising your editor.
SirTrevor.Blocks.Heading.prototype.toolbarEnabled = true;
SirTrevor.Blocks.Quote.prototype.toolbarEnabled = true;
SirTrevor.Blocks.Text.prototype.toolbarEnabled = true;
—
Reply to this email directly or view it on GitHub
https://github.com/madebymany/sir-trevor-js/issues/442#issuecomment-188474206
.

Still had to do this for text and heading block to show up. Not sure if this is intended. Just wanted to point it out.

Still had to do this for text and heading block to show up. Not sure if this is intended. Just wanted to point it out.


BREAKING CHANGE: Rewrite ts-standard to follow other standard engines usage

I found some free time to rewrite ts-standard.
Fixes #102
Fixes #204
Fixes #209
Fixes #216
Fixes #217
Fixes #171
Fixes #222
This PR is a major BREAKING CHANGE, and involves trade-offs and probably discussions about what features we want to have and how these changes are impacting ts-standard users. I will try to explain as much as possible choices and implementation details, feel free to disagree on certain points, and debate about how we want the future of ts-standard to look.
As the diff is quite large, it might be easier to review it directly file by file entirely first.
This PR is not complete but is ready for review and discussion, the changelog is missing, and we should write a easy to follow guide for our current users to migrate to this new version.
We certainly should do first a prerelease of this version before making it stable, to ensure it works as we want.
Why the rewrite of ts-standard?
As discussed in https://github.com/standard/ts-standard/issues/171#issuecomment-921521437, ts-standard codebase is so different from other standard engines like standard, semistandard, standardx etc, that it is hard to keep up with changes.
When ESlint v8 was released, we had a hard time upgrading the whole standard ecosystem because ESLint v8 drop the old CLIEngine programmatic usage API, so we had to do a major refactor of standard-engine, as we did for standard-engine@15.
ts-standard currently redefines its own standard-engine, adds more CLI flags and the usage is different from standard.
We do this rewrite to ease the maintenance of ts-standard and keep the usage similar to other standard engines.
This PR also add support for ESLint v8, update eslint-config-standard-with-typescript to v22, and fixes many issues with recent version of TypeScript and ESLint with TypeScript. :smile:
Drawbacks/BREAKING CHANGE
We use the same options and CLI flags as standard-engine except --project to configure a tsconfig.json path.
That means options in package.json in ts-standard property like files and report are removed, if we want to add support for them, we'll implement them in standard-engine directly so the other standard engines benefit from them too, btw about the --report option, there is already an issue for it: https://github.com/standard/standard-engine/issues/174.

Hi all 👋🏻
Do we think these changes will be reviewed in the next couple of weeks? We need to update other dependencies of the https://github.com/github/super-linter project but this is holding us back due to the nature of our project. We are trying to determine if we should drop support for ts-standard so we can bump other deps or if we should continue to wait.
Thank you for these changes and hopefully we see them land soon 😃

Hey @lindluni! :wave:
I don't think, these changes will be reviewed soon, unfortunately.
Meanwhile, you can use ESLint with eslint-config-standard-with-typescript instead of ts-standard.

Thanks for the review. :smile:
Opened a new issue for releasing v12.0.0 (I don't have the right on npm), see: https://github.com/standard/ts-standard/issues/262.


[raymath] compilation issue

small compilation issue with raymath if you don't use the function declarations:
QuaternionNlerp is used (in line 1094) before it's a known function because it comes later in the source code (below, line 1123). moving the function above the first mentioned one fixes the compilation error.

Good catch! Corrected in commit https://github.com/raysan5/raylib/commit/0cd327ccb253ef13a50ecf879f7bd9ebb8a7097f :)


feat: add union types support in go

Description

This PR adds support for union types in go.
Related Issue

closes #1842
Checklist

[ ] The code follows the project's coding standards and is properly linted (npm run lint).
[x] Tests have been added or updated to cover the changes.
[ ] Documentation has been updated to reflect the changes.
[ ] All tests pass successfully locally.(npm run test).

Additional Notes

Also remember to add an entry into the migration guide for v4 as this is a breaking change for Go ✌

@kennethaasan since you also seem to do some stuff in go atm, want to have a look?

/rtm


google_sign_in: expose expires_in and session_state.extraQueryParams.authuser in GoogleSignInTokenData / GoogleSignInAuthentication

This data is present in the replies from Google's auth API.
{
 "token_type": "Bearer",
 "access_token": "redacted",
 "scope": "email profile https://www.googleapis.com/auth/youtube.readonly openid https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile",
 "login_hint": "redacted",
 "expires_in": 3599,
 "id_token": "redacted",
 "session_state": {
  "extraQueryParams": {
   "authuser": "0"
  }
 }
}

This will allow correct population of authHeaders
https://github.com/flutter/plugins/blob/9ac4fb87f0889d4244b8516d4ec4e4b5ae83ae77/packages/google_sign_in/google_sign_in/lib/google_sign_in.dart#L107-L113
And access token expiry:
https://github.com/flutter/packages/blob/ad3368b217ee314e93ec778294840583901b33c1/packages/extension_google_sign_in_as_googleapis_auth/lib/extension_google_sign_in_as_googleapis_auth.dart#L29-L34

CC @ditman

Exposing login hint would also be useful!

These fields look like they belong into the GoogleSignInTokenData class, defined in the platform_interface package, here:
https://github.com/flutter/plugins/blob/master/packages/google_sign_in/google_sign_in_platform_interface/lib/src/types.dart#L87
However... is the plugin mixing client-side access with server-side access in that class? Should those be two separate return types for different operations?

However... is the plugin mixing client-side access with server-side access in that class? Should those be two separate return types for different operations?

Not sure I understand what you mean here, @ditman

Not sure I understand what you mean here, @ditman

The GoogleSignInTokenData class contains both an accessToken (IIRC, this is the oauth Bearer) and a serverAuthCode, which I believe is used for offline-access. It looks like that class is doing two unrelated things, but I'm not 100% sure :)
https://github.com/flutter/plugins/blob/master/packages/google_sign_in/google_sign_in_platform_interface/lib/src/types.dart#L98-L102


[21.11] firefox{,-bin}: 100.0 -> 100.0.1; firefox-devedition: 98.0b5 -> 101.0b6; thunderbird{,bin}: 91.8.1 -> 91.9.0

Backport #173071 and multiple versions of firefox-devedition
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Tested firefox-wayland and thunderbird-wayland.


feat(WEG-75): Scroll to top button

This adds a "Scroll to top" sticky button to the list view and individual view once the page has been scrolled a little.

:tada: This PR is included in version 1.0.0-rc.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[prim] Fix prim_packer_fifo when ClearOnRead is false

When we take the first part of an output word, we need to zero the
existing contents.
This is causing lots of tests (~60%) in the OTBN nightlies to fail.
As a more general point, I'm interested to know why the packer is built like this. Wouldn't a shift register with a "word reversal" at the end have been easier?

I would prefer to resolve the issues in #9261 before any packer fifo changes are made. Specifically the comment about a test regression for entropy complex blocks - it is running behind reaching V2.

At the moment, the design is broken. We either need to fix it properly or revert @vogelpi's changes that switch to the non-clearing behaviour. I don't really mind which we choose, but waiting for V2 when it doesn't work seems a bit stupid.


multi-language support on multiplayer page

The multiplayer menu should offer a language selector, and respect the language set by the user in the Arcade editor.

Dupe of https://github.com/microsoft/pxt-arcade/issues/5156


No requests show in GQL

What info can I provide to debug this?

Hi @nicoabie,
Can you please provide the HAR file with the info about your requests?

I detected the issue is that it does not show the requests that are done on page load without user interaction.
Do you still need the HAR file?

@nicoabie are you using query batching?
I'm noticing that GraphQL requests don't show up in Querio if they contain batched queries/mutations. Queries sent solo (without batching) do appear in Querio.
Trying to determine if this is your same issue or if I should open up a new issue

Hi @nathanchapman sometimes we do use it so this could be definitely related.
I noticed that queries do not appear on load which is when we normally batch them and then they start to appear.
My gut tell me it is exactly what you are referring to, to be an issue with batching and not initial load.
I'll advise you to create a new issue with batching in the title and link this one so it has more visibility. Thanks for reaching out and good finding!

@nicoabie I figured this may be the case!


Encrypt user data

Closes #78

Codecov Report

Merging #80 (9c6b617) into master (65180f1) will increase coverage by 0.55%.
The diff coverage is 92.85%.

@@             Coverage Diff              @@
##             master      #80      +/-   ##
============================================
+ Coverage     62.74%   63.30%   +0.55%
- Complexity      419      425       +6
============================================
  Files            81       82       +1
  Lines          1479     1507      +28
  Branches        153      154       +1
============================================
+ Hits            928      954      +26
- Misses          516      518       +2
  Partials         35       35

Impacted Files
Coverage Δ

...rc/main/java/seedu/address/encryption/Cryptor.java
92.85% <92.85%> (ø)

Continue to review full report at Codecov.

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


Bump Python build version

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (c701a8d) to head (45dee5f).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #48   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           65        65
  Lines         2984      2984
=========================================
  Hits          2984      2984

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Point Clouds and new 3D VTK.js viewer

Adds a new set of models for ingesting and storing point clouds.
Resolves https://github.com/ResonantGeoData/issue-dashboard/issues/12
This handles importing a wide variety of 3D point clouds using PyntCloud and PyVista. This PR currently contains a minimal, first pass of front-end detail view for the new PointCloudEntry model using VTK.js
The PointCloudEntry model is optionally enabled to be listed as a SpatialEntry via the PointCloudMetaEntry. This means users can upload point clouds to the catalog that have no spatial reference. At present, there is no browser for these data other than via the admin interface.
PointCloudEntry records can be manually created with VTP data without an associated PointCloudFile though the best approach is to always upload via PointCloudFile. We could make that relationship non-nullable but I haven't here for flexibility.
The PointCloudEntry stores a copy of the data uploaded in PointCloudFile as a converted VTP file ready for VTK.js
This work adds a few not-so-light dependencies to the worker:

VTK and PyVista (in a headless mode) for converting to the VTP format (necessary to view in VTK.js)
PyntCloud, pylas, and lazrs for loading LAS point cloud files

Preview

To do

[x] Fix off-center VTK.js view
[x] Add permissions for PointCloudFile and other models
[x] Create an endpoint for accessing point cloud data and have the front-end view asynchronously load the data rather than sending the data through the page build context (maybe add a "loading..." icon over the view)
[x] Improve metadata column on the left side of detail view (add download links, file size, spatial context if it has it, etc.)
[x] Find permissive data for testing and examples
[x] Doubly check new VTK dependency for a headless worker (VTK+PyVista provides the most/easiest file conversions)
[x] Make sure PointCloudMetaEntry shows up as a subtype and is listed in search view

Note that the filter search might not work on this... This will be fixed by #402

Nice going @banesullivan this is great. I am assuming that this point cloud does not have color information yet?

I am assuming that this point cloud does not have color information yet?

In this PR, no -- this is not supported yet.
I'm hoping to improve the viewer in follow up work which is captured in #407

Okay thanks so I took it as that the data has the color information but we are not supporting it in this PR. Thanks.


Improve Operator Docs: Joining the Testnet

This one is going to conflict heavily with #123. Need to coordinate with @ravenac95

This one is going to conflict heavily with #123.

Yea, I know.
@ravenac95, @peterjgilbert, if you find the changes in this PR generally OK, feel free to fix/merge it yourselves today.
If you think you need to fix/merge #123 first, that's OK, but it will take some time to rebase :slightly_smiling_face:.

I've rebased and updated this beast. Please, take another look.

@peterjgilbert, thanks for your review. I've incorporated all your suggestions.

LGTM. @ravenac95 I think you mentioned you had a few concerns? I'll wait for you to approve

@ravenac95, @peterjgilbert, I think I addressed all the comments. Please, take another look.


[Udemy] Uable to extract login-form form

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.09.24. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2017.09.24

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[x] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue
--- ERROR : Unable to extract login-form form.
If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
C:\Users\KFC>youtube-dl -v -u HIDDEN -p HIDDEN -o 'D:/'
https://wipro.udemy.com/java-tutorial/
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '-u', 'PRIVATE', '-p', 'PRIVATE', '-o', "'D:/'
", 'https://wipro.udemy.com/java-tutorial/']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2017.09.24
[debug] Python version 3.6.2 - Windows-7-6.1.7601-SP1
[debug] exe versions: none
[debug] Proxy map: {}
[udemy:course] Downloading login popup
ERROR: Unable to extract login-form form; please report this issue on https://yt
-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org
/update  on how to update. Be sure to call youtube-dl with the --verbose flag an
d include its complete output.
Traceback (most recent call last):
  File "c:\python\lib\site-packages\youtube_dl\YoutubeDL.py", line 777, in extra
ct_info
    ie_result = ie.extract(url)
  File "c:\python\lib\site-packages\youtube_dl\extractor\common.py", line 433, i
n extract
    self.initialize()
  File "c:\python\lib\site-packages\youtube_dl\extractor\common.py", line 391, i
n initialize
    self._real_initialize()
  File "c:\python\lib\site-packages\youtube_dl\extractor\udemy.py", line 140, in
 _real_initialize
    self._login()
  File "c:\python\lib\site-packages\youtube_dl\extractor\udemy.py", line 159, in
 _login
    login_form = self._form_hidden_inputs('login-form', login_popup)
  File "c:\python\lib\site-packages\youtube_dl\extractor\common.py", line 1067,
in _form_hidden_inputs
    html, '%s form' % form_id, group='form')
  File "c:\python\lib\site-packages\youtube_dl\extractor\common.py", line 797, i
n _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract login-form form; please r
eport this issue on https://yt-dl.org/bug . Make sure you are using the latest v
ersion; see  https://yt-dl.org/update  on how to update. Be sure to call youtube
-dl with the --verbose flag and include its complete output.
...
<end of log>

C:\Users\KFC>youtube-dl -u HIDDEN -p HIDDEN -o 'D:/' htt
ps://wipro.udemy.com/java-tutorial/
[udemy:course] Downloading login popup
ERROR: Unable to extract login-form form; please report this issue on https://yt
-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org
/update  on how to update. Be sure to call youtube-dl with the --verbose flag an
d include its complete output.

---
If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video: https://www.youtube.com/watch?v=BaW_jenozKc
Single video: https://youtu.be/BaW_jenozKc
Playlist: https://www.youtube.com/playlist?list=PL4lCao7KL_QFVb7Iudeipvc2BCavECqzc

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.

https://wipro.udemy.com/java-tutorial/
Description of your issue, suggested solution and other information
Explanation of your issue in arbitrary form goes here. Please make sure the description is worded well enough to be understood. Provide as much context and examples as possible.
If work on your issue requires account credentials please provide them or explain how one can obtain them.
Request you to please help me in resolving this.

I also get this error:
ERROR: Unable to download webpage: HTTP Error 403: Unauthorized (caused by <HTTPError 403: 'Unauthorized'>);

Has there been any progress at this?


Split out and organise openapi code

This is a first attempt into breaking up the openapi code and making it more approachable. The main focus is on top-level visibility, simplifying the APIs used in main.
Usage is as follows:

load the spec
create a Metadata
create a UrlFinder
call Metadata::get_files to get FileGenerators for each object in the API
call FileGenerator::write for each file
call FileGenerator::write for the generators produced by the first write

I also took the opportunity to:

[x] replace prints with proper logging
[x] fix a number of clippy lints
[x] selectively enable / disable Boxing based on a (currently primitive) heuristic

This will hopefully provide a base to better define the abstractions now that the code is a little tidier.

CI is currently broken due to an MSRV bump issue. More context: https://github.com/tokio-rs/tracing/pull/1913


Remove Deprecated API that has reached EOL after Flutter 2.10

The time has come again. :)
These are the next batch of deprecations that have expired.
This one is a bit more significant than last batches, so it may take some time to get everyone migrated.
This should only be closed after the final migration guide for this batch lands in the website repo.

Hi,  I was working on removing these deprecations. There are two more deprecations that i found in release notes of 2.0.0

[ ] build ios-framework --universal deprecation pr
[ ]  Android v1 embedding classes  deprecation pr

also if you can add this pr in here

Hi @amanv8060! Thanks for contributing! This is meant to track the progress of removing deprecated code in the framework as defined in the deprecation policy.
I think those deprecations will be removed at a different time.

Hi @Piinks nice collection of coming removal of @deprecated APIs in post 2.10.x stable release, quite a few coming breaking changes in next stable release then. And thanks @timsneath for tweeting out a heads up notice about it too.
I collected my quick findings on the deprecated buttons topic, I mentioned on Twitter here, plus some additional findings I noticed while at keyboard and looking into it out of curiosity.
ButtonThemeData
The ButtonThemeData class is marked as obsolete in the docs, but not as deprecated.
In its theme ButtonTheme:
https://github.com/flutter/flutter/blob/adafd66d9cc7796214404c8117395e207bf23d01/packages/flutter/lib/src/material/button_theme.dart#L53
And in its theme data ButtonThemeData:
https://github.com/flutter/flutter/blob/adafd66d9cc7796214404c8117395e207bf23d01/packages/flutter/lib/src/material/button_theme.dart#L170
In addition to the buttons that will be removed, the theme and theme data is used by the buttons' parent class MaterialButton and the ButtonBar and its theme ButtonBarTheme, plus as far I could notice DropdownButton uses one property from it as well.
Instead of having the docs above mention that it is used by buttons that will no longer exist, maybe consider updating the doc comment and instead mention the usage by ButtonBar, DropdownButton and MaterialButton, if it will remain. It kind of will have to, but more on that below.
Perhaps for the update also consider updating the doc comment for the buttonTheme property in ThemeData to better reflects its remaining usage in ButtonBar, DropdownButton and MaterialButton
https://github.com/flutter/flutter/blob/adafd66d9cc7796214404c8117395e207bf23d01/packages/flutter/lib/src/material/theme_data.dart#L1322
MaterialButton
Next comes the question of the fate of the MaterialButton the parent class for the buttons to be removed.
It is also in the docs marked as obsolete but not deprecated.
https://github.com/flutter/flutter/blob/adafd66d9cc7796214404c8117395e207bf23d01/packages/flutter/lib/src/material/material_button.dart#L22
Will it remain available or be removed? My conclusion is, it will stay, even if it does not correctly implement or enable users to create Material buttons, plus its children will be gone due to same reasons. Considering this, it seems a bit illogical for it to remain, but it would be difficult to remove without a number of other changes discussed further below.
My search did no reveal any other usages and mentions of MaterialButton than in its child buttons that will be removed, and in ButtonThemeData itself, in a large number of odd looking getters.
In ButtonStyleButton there is also a doc ref to MaterialButton that I suspect should be to ButtonStyleButton instead, or just as a normal text "Material button" as a reference to the Material button concept itself, rather than a doc ref to a class that has nothing to do with ButtonStyleButton where the reference is.
https://github.com/flutter/flutter/blob/8a6d0d62f3257e74e2850e68bd97b98877c78e2e/packages/flutter/lib/src/material/button_style_button.dart#L425
The fact that ButtonThemeData, that needs to remain for ButtonBar and DropdownButton, itself depends on MaterialButton, also makes it impossible to remove the "obsolete" MaterialButton parent of all the 3 buttons now being removed.
In Material there is in the MaterialType enum a doc comment to MaterialButton in enum value button.
https://github.com/flutter/flutter/blob/8a6d0d62f3257e74e2850e68bd97b98877c78e2e/packages/flutter/lib/src/material/material.dart#L35
So I checked for references to MaterialType.button, other than in Material it is only used by RawMatererialButton and ButtonStyleButton. maybe consider updating the above doc ref to them instead of MaterialButton.
If the MaterialButton is considered and marked as obsolete in the docs, which imo is correct, thus maybe consider deprecating it and plan for changes need to be able to remove it.
ButtonBar
Since ButtonBar uses the ButtonThemeData and it is still a component with a "kind of" legit claim to do so, then ButtonThemeData does indeed need to remain for it to work.
The setup with ButtonBar using two different component themes ButtonThemeData and ButtonBarThemeData with the later overriding 6 properties, if defined in "parent" ButtonThemeData plus having 3 extra properties, and using some others from the 1st one too, "may" be a bit confusing for users trying to style it with the component themes.

I used a similar approach with custom themes for custom components. It was confusing to users to have two partially overlapping themes used in similar manner for effective result. I ended up simplifying it by just using one component theme per component. In retrospect I was just being lazy and reusing props from another kind of "parent" component theme, instead of defining them separately also in the other similar component. The refactored version ended up being cleaner by keeping the theme concerns separated.

Later on, maybe consider deprecating the properties ButtonBar uses in ButtonThemeData and provide replacements in ButtonBarThemeData, it would imo be simpler and cleaner to use it then.
DropdownButton
Lastly, and yes I did not see it first, you were right, the Dropdown button also uses ButtonThemeData, but apparently only one property from it: ButtonTheme.of(context).alignedDropdown, twice, here:
https://github.com/flutter/flutter/blob/8d25ddde1937edcf391decf7bda336c5a14d846c/packages/flutter/lib/src/material/dropdown.dart#L1266
and here
https://github.com/flutter/flutter/blob/8d25ddde1937edcf391decf7bda336c5a14d846c/packages/flutter/lib/src/material/dropdown.dart#L1405
So there is indeed that too. Maybe later consider if DropdownButton should get its own component theme as well one day. It could then have some more and independent styling capabilities too.
Summary
I got curious about how it all of this fits together and thought I might just as well write it down while looking into it, perhaps some of it is useful.
Mostly observations on documentation clean-up suggestions, to do after the deprecated buttons FlatButton, RaisedButton and OutlineButton are removed.
Plus some observations of a potential path to enable removing the ButtonThemeData and MaterialButton if that is also on the clean-up agenda. Had the implementation of other features used better separation, they would now not had any references anywhere and already been removable, provided the policy would permit it of course.

OT
Now I'm going back to reading up on all the cool Material 3 changes/PRs moving forward on master. I need to see if there something more in there that I can prepare for in advance.
BTW I really like the new MaterialColorUtilities, the color algos for computing M3 tonal palettes are so fab. Already using it in a WIP version in FlexColorScheme to enable using primary, secondary and tertiary key colors for scheme generation, rather than the just the single key seed color (primary) offered by ColorScheme.fromSeed.
I was a bit surprised to see MaterialColorUtilities used as a Flutter SDK pub.dev package dependency in ColorScheme, and not having its code baked into the framework itself. That is actually quite unusual for the type of features it provides. Even a first I would say, other pubspec deps are much lower level. Typically "high" level features similar to MaterialColorUtilities are baked into the framework.
Will we see more of this approach going forward? Or is this an exception or only temporary as a package import? If it is a change of style and Flutter is going to see more add-on being used in the framework as package imports, it might be of general interest to hear more about it, just a thought.

@rydmike thank you!! This is an amazing wrap-up. Much appreciated.
I have not been working directly on the theme overhaul (Paging @darrenaustin & @HansMuller) so I do not know the answers to all of these questions, but I think they are all very important. I am going to open an issue for each section here for discussion and review. I don't want any bit of your breakdown to go unaccounted for. :)
Couple of quick notes though for the scope of this issue's work

Instead of having the docs above mention that it is used by buttons that will no longer exist, maybe consider updating the doc comment and instead mention the usage by ButtonBar, DropdownButton and MaterialButton, if it will remain. It kind of will have to, but more on that below.

Perhaps for the update also consider updating the doc comment for the buttonTheme property in ThemeData to better reflects its remaining usage in ButtonBar, DropdownButton and MaterialButton

Certainly any and all doc references will be updated as deprecated API is removed, I've made note of these cases and will include them in my changes. Thanks very much!
I'll link back the issues that will be generated from this feedback.

See associated issues above.
@rydmike I did come across these design docs, they may be of interest to you

flutter.dev/go/material-button-system-updates
flutter.dev/go/material-theme-system-updates


Failed to retrieve bond wires from EDB

Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

Description of the bug
While executing below command, program is exiting with maximum recursion error
edb.modeler.bondwires

RecursionError: maximum recursion depth exceeded while calling a Python object
Steps To Reproduce
Open any data base and execute the below lines
edb = Edb()
edb.modeler.bondwires

Which Operating System are you using?
Windows
Which Python version are you using?
3.10
Installed packages
asttokens==2.2.1
attrs==23.1.0
backcall==0.2.0
certifi==2023.7.22
cffi==1.16.0
charset-normalizer==3.3.0
click==8.1.7
click-plugins==1.1.1
cligj==0.7.2
clr-loader==0.2.6
colorama==0.4.6
comm==0.1.2
contourpy==1.1.1
cycler==0.12.1
debugpy==1.6.4
decorator==5.1.1
defusedxml==0.7.1
entrypoints==0.4
et-xmlfile==1.1.0
executing==1.2.0
Fiona==1.9.4.post1
fonttools==4.43.1
fpdf2==2.7.6
geopandas==0.14.0
idna==3.4
imageio==2.29.0
ipykernel==6.19.4
ipython==8.7.0
jedi==0.18.2
jupyter_client==7.4.8
jupyter_core==5.1.1
kiwisolver==1.4.5
matplotlib==3.7.1
matplotlib-inline==0.1.6
nest-asyncio==1.5.6
networkx==3.1
numpy==1.24.3
openpyxl==3.1.2
osmnx==1.7.0
packaging==22.0
pandas==2.0.1
parso==0.8.3
pickleshare==0.7.5
Pillow==10.0.1
platformdirs==2.6.0
plumbum==1.8.2
pooch==1.7.0
prompt-toolkit==3.0.36
psutil==5.9.4
pure-eval==0.2.2
pyaedt==0.7.0
pycparser==2.21
Pygments==2.13.0
pyparsing==3.1.1
pyproj==3.6.1
python-dateutil==2.8.2
pythonnet==3.0.2
pytz==2023.3.post1
pyvista==0.39.1
pywin32==305
pyzmq==24.0.1
requests==2.31.0
rpyc==5.3.1
scikit-rf==0.29.1
scipy==1.11.3
scooby==0.7.4
shapely==2.0.1
six==1.16.0
SRTM.py==0.3.7
stack-data==0.6.2
tornado==6.2
traitlets==5.8.0
tzdata==2023.3
urllib3==2.0.6
utm==0.7.0
vtk==9.2.6
wcwidth==0.2.5

@SMoraisAnsys Hi, Were you able to find any fix for this problem ?

@mahesh-dhanekula Hi, sorry I was focused on something else and didn't have time to work on this issue. Thanks for the reminder, I'll try to work on it today !

Btw, can you tell me which version of AEDT you are using ?

@SMoraisAnsys 0.7.0

@SMoraisAnsys 0.7.0

Thanks for your answer but I was asking about the version of Ansys Electronic Desktop. Is it 2023 R1, 2023 R2, something else ?

@SMoraisAnsys Irrespective of version error is same.

@mahesh-dhanekula I'm not able to reproduce the bug you mention.
I tried to repoduce your bug by using the python interpreter (3.10.9) embedded with AEDT 2023 R2 (on windows, the path on my laptop is C:\Program Files\AnsysEM\v232\Win64\commonfiles\CPython\3_10\winx64\Release\python\python.exe). Could you provide me with extra information in order to help me reproduce your bug ? Or can you test the embedded python I mentionned ?

@SMoraisAnsys I am trying with 3.10.12. Let me give a try with embedded version you have mentioned.
For test case, try to use any edb containing bond wires
I am testing with pyaedt 0.7.3 and below commands are failing with same error as mentioned in initial description of bug.
edb = pyaedt.Edb(edbpath=r"C:\Test\bw_pkg.aedb", edbversion="2023.2")
edb.modeler.circles
edb.modeler.bondwires

Even with embedded version, I can see the same error

@mahesh-dhanekula please share in a zip file a shareable example. @SMoraisAnsys can not reproduce the issue with our test models.
thanks

@Samuelopez-ansys @SMoraisAnsys unfortunately it is confidential model from user. Let's connect internally.

@mahesh-dhanekula this issue was fixed.


🏗 Update supabase signup verification email

We can pretty much fully customize the email sent to new users of the site. We should improve this and make it look nice. Feel free to make a design ticket as well!

Since we are no longer having users confirm their email, this is not relevant.


Automatically import React and jsx in each file

Because we use JSX and we will use the emotion CSS library, two symbols have to be available in every file using JSX syntax: React and jsx. This is easily achieved by importing them:
import { jsx } from "@emotion/core";
import React from "react";

However, adding those two lines to basically every file is annoying and adds noise. It would thus be nice to somehow avoid this manual import. This is unfortunately made a bit more complicated because we need to do that twice: once for webpack and once for tsc.

For webpack:

jsx: is already automatically imported by the @emotion/babel-preset-css-prop preset.
React: not currently auto-imported (I think), but this babel plugin seems to do exactly that.

For tsc: for both symbols, it's still unclear how we would add an auto-import.

Fixed by 445b9fc332f4f06ef7a25afa821668a429d58771


Does it support pdf out?

as title.
if pdf files in it. could I direct export selected pdf file to a folder as pdf not png?
thanks

Not at the moment.


Raivo OTP

Source: https://github.com/raivo-otp/ios-application
Raivo OTP is a 2FA app that claims to be open-source with a MIT-like license, but redistribution in binary form is not allowed.
An issue was raised in 2022 about this, and here is the response from a collaborator in verbatim.

It depends on your definition of open source. The source is available for everyone, but unfortunately redistribution is not allowed. I had to do this because people started redistributing my app in the Apple App Store for commercial purposes. This introduces legal issues for me as redistribution is not allowed in the Apple App Store.
If you want to use the source, let me know for what and I'll probably approve :)

Well, Raivo's new owner no longer claims to be open-source, it now states it is non-commercial, which is a good thing. But, on an unrelated note, they turned it into ransomware. ¯_(ツ)_/¯


feat: enable usage of existing VPC/Subnets feature

Description
The terraform-ibm-landing-zone-vpc module now supports deployment into existing VPC and subnets.
These changes made in the base landing-zone module will allow this feature to be used for all landing zone deployment resources.
NOTE: This feature can only be used when calling the base landing-zone module directly or by using the new variables in an override json (vpcs map), and are not directly exposed in the patterns.
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[x] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content
Added the following optional properties to the configuration map for vpcs in order to support deployment of landing-zone into existing VPCs and Subnets.

existing_vpc_id (string)
existing_subnet_ids (list(string))

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 5.5.0 :tada:
The release is available on:

GitHub release
v5.5.0

Your semantic-release bot :package::rocket:


[Completion] ~CCResultBuilder must be called after ~ExpectedTypeContext

There's a subtle stack UAF here - ~CodeCompletionResultBuilder would be called after ~ExpectedTypeContext. Fix the order they're created.

@swift-ci please smoke test

@swift-ci please ASAN test macOS platform

@swift-ci please ASAN test

preset=asan
@swift-ci please test with preset macOS platform

Also nit: shouldn't the PR title read as the following? :)

[Completion] ~ExpectedTypeContext must be called after ~CCResultBuilder

Also nit: shouldn't the PR title read as the following? :)

Hah, indeed it should 😅

@swift-ci please smoke test

@swift-ci Please smoke test Linux


ezzif: high level API + test app

ezzif wraps the low level primitives API in io.h by adding state management and APIs to manipulate this state. This allows simple functions to toggle one pin at a time
Misc:

io:send_char_sync(): don't use strcpy() since putch() input is char and not NULL terminated
io:send_string_sync(): use strncpy to protect during large sends
io: VPP/VDD: add voltage defines
io: add const_zif_bits_t
io: add get vpp/vdd EN state functions
io: add some comments on bit arrays
comlib: add latch cache for debugging

Known issues:

int size 16 bits. Some TBD code has 17 bit bus. Need to investigate
Bus code in general seems to maybe not work, need to look into (possibly related to above)


Is brute-force protection with device cookies possible (OWASP)?

Is your feature request related to a problem? Please describe.
I have read

https://is.docs.wso2.com/en/latest/deploy/mitigate-attacks/mitigate-brute-force-attacks/
https://is.docs.wso2.com/en/latest/guides/adaptive-auth/device-based-adaptive-auth/
https://owasp.org/www-community/Slow_Down_Online_Guessing_Attacks_with_Device_Cookies
https://owasp.org/www-community/controls/Blocking_Brute_Force_Attacks

And ask myself if it is possible to configure the identity-server in a way to mitigate brute-force in a way suggested by OWASP with device cookies?
And if not: This is the feature request for it. This would improve the brute-force protection options of the identity-server.
If it is: Maybe we can add a section to "mitigate-brute-force-attacks" on how the configuration would look like.
Describe the solution you would prefer
The solutions in the documentation:

"Lock the user account after a certain number of failed attempts" -> This allows DOS attacks against identity server
"Present a reCaptcha after a certain number of failed attempts before trying again" -> This needs an external provider, captchas can be bought with money and it is less user friendly.
"device-based adaptive authentication" -> As far as I understand it this is after the password has been guessed by the attacker.

Hence the OWASP recommendation would be an improvement over existing solutions. They say:

The protocol is less susceptible to DoS attacks than plain account locking out and yet effective and easy to implement.

Thanks!

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Allow the user configure when he wants the overlay being moved to body

There are use cases when the user prefers not moving the overlay to the body and define content, and style it in the natural wc way. A flag should be enough.
Related with https://github.com/vaadin/vaadin-dialog/issues/11

We don’t have plans to support 2 different modes/API’s in <vaadin-overlay> (or our elements that use it) simultaneously. Related: https://github.com/vaadin/vaadin-dialog/issues/11#issuecomment-327418606


Deprecation of native fragments in Android P

With the release of the developer version of Android P, they have updated the Fragment documentation to include the following note:

This class was deprecated in API level P.
Use the Support Library Fragment for consistent behavior across all devices and access to Lifecycle.

Should we consider moving to the support fragment?

This is being tracked in #451


Replaced references to C include files <xxx.h> with  in CPP sources

Original pull request by Volker Enderlein (Bitbucket: VolkerEnderlein, GitHub: VolkerEnderlein).

Just a first step to modernize the code. And to be more conformant with strict compilers.
Checked on Visual Studio 2015 and Ubuntu GCC 7.3
Comments very welcome on the PR,
Cheers, Volker

Original comment by Bastiaan Veelo (Bitbucket: veelo, GitHub: veelo).

You make me feel old… I didn’t know that these are the headers these days. If that is the case, then go ahead :slight_smile:

Original comment by Volker Enderlein (Bitbucket: VolkerEnderlein, GitHub: VolkerEnderlein).

Oh no @veelo , I did not intended to do so. In CPP files you should always include these headers as they encapsulate the pure C header with a
extern "C" {
  #include <header.h>
}

and sometimes do some more stuff.
But most times the good ol' way still works flawlessly.


ts strict part 7: fs and misc 3

Please see https://github.com/keybase/client/pull/18383 for an overview

@keybase/react-hackers this is ready


Output to ES6? (Possible? Worth it?)

It would be possible to output "pure" ES6 code? (instead of "ES5 with some ES6 classes"?)
I know Babel is supposed to translate ES6 to ES5. But... just being curious.:)
Why?
I'm including the generated .js files in a project written in ES6. And I already have a build pipeline to convert ES6 to ES5. It would be nice to use only one language for everything.
Currently I'm simply importing the Fable-generated files with
import MyModule from '../imports/MyModule';
and it works nicely.
I don't know if this would have any benefit. Just because. ;)

In the next release it will be possible to output ES6 modules to allow tree shaking with tools like WebPack. I wanted to make Fable as easy to use as possible and that's why I'm including the necessary Babel plugins to compile to ES5 by default. But it shouldn't be difficult to add an option to compile to ES6 (ES5 being the default) like TypeScript has, you only need to omit all Babel plugins but the first four (I've found Babel has problems when you don't transform the property mutators):
https://github.com/fsprojects/Fable/blob/master/src/fable-js/index.js#L127-L134
I'll try to do it for the next release :)

Yeah! After I posted this I did read more about WebPack 2 (currently in beta) planned optimizations and improvements to ES6. Great!
And thanks for the pointers about BabelPlugins. It was extremely valuable for learning more about how Fable works! :+1:
I will play with them. Let's see.. ;)

This has been also implemented in the imports branch with the --ecma argument :)

Note: For consistency with --module argument, es2015 must be used instead of es6 (though we may add es6 as an alternative).


Update stable version in repo from 2.0.5 to 2.0.6

Think about update stable version to 2.0.6
Version: stable=2.0.5 (53 days old) => latest=2.0.6 (30 days old)
Installs: stable=390 (58.21%), latest=73 (10.9%), total=670
Click to use developer portal
Click to edit
Do not close this issue manually as a new issue will be created if condition for update still exists.
Please drop a comment if any reason exists which blocks updating to version 2.0.6 at this time.
Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

I will wait for v. 2.0.7.


[Continous Delivery] GitRepos report that state has changed on all clusters when just one has changed

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
3 clusters managed by Fleet.
An app is deployed to all 3
At one of the clusters the replicas is changed.
Result:
The gui shows that all 3 clusters has a modified state, see screenshoot. Here I have locally modified cluster rkes replicas for frontend deployment.

Other details that may be helpful:
Expected that gui show that only one cluster (named rke) has modified state.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.5.5
Installation option (single install/HA):Single

I have a similar situation but everything in continuous delivery shows modified and wont reach a non modified state.

I hit a similar issue on v2.5.8-rc9 with fleet version: v0.3.5-rc6
Steps:

run rancher single-install and provision 3 single-node clusters
install the example multi-cluster Helm app into all 3 clusters

Results:
The resources page show all 3 services are pending, but in fact, only 1 of them is pending because it is waiting for LB to be ready.  I can confirm the other 2 servers are active in the target clusters.

Seems to be an UI issue, dropping team/fleet

@gaktive transferring to rancher/dashboard for triage


WIP: Support for Pre-JS and Pipelines

This is a WIP for adobe/project-helix#178
Here is what it does:
In HTLAsset.js

uses the new transient compiler in htlengine
wraps the main template function into a pre.js
wraps that into a pipe.js
uses out of the box default implementations for both if not present

In test/integration/node_modules/@adobe/hypertext-pipeline/
You need to expand the diffs, this entire code will move into a separate repository at some point (also because it can be shared among multiple compilers/packagers)

Read the README

In index.js
This is a helper function that enables the creation of pipelines through calls of .pre, .once and .post. It's essentially first building and then executing a list of reducers, with the added complication that any function in the list may be asyc.
In src/defaults
Default implementation of an empty pipeline (just passes stuff through) and an HTML pipeline (see below for the steps)
It also has the skeleton of a JSON pipeline, which will be useful for building things like SPAs.
In src/html
The core implementation of the HTML pipeline, with following steps:

.pre(before) – turns OpenWhisk-style params into Express-style request object with params and headers
.pre(require("../html/fetch-markdown.js")(secrets)) –  what used to be main.js in md2json, now with configurable repo root (for Petridish)
.pre(require("../html/parse-markdown.js")) – from converter.js – parses the markdown and saves the AST
.pre(require("../html/get-metadata.js")) – ditto – parses the YAML metadata, more concise than before
.pre(require("../html/make-html.js")) – ditto – creates the HTML AST
// we could pass different resolutions here.
.pre(require("../html/responsify-images.js")()) – ditto
.pre(require("../html/emit-html.js")) – ditto – turns HTML AST into HTML strings
.once(cont) – executes the (wrapped) main template function
.post(require("../html/set-content-type.js")) – new: sets the content type
.post(after); – turns the Express-style objects back into OpenWhisk-style results

Outstanding TODOs

[x] test compatibility with generated JS from HTML and build proper integration test
[ ] deploy to OpenWhisk and test compatibility there
[x] Adopt AirBNB style
[ ] Move the hypertext-pipeline into separate repository
[ ] With LICENSE, CONTRIBUTING, CI, and stuff
[ ] Do the same for the JST plugin
[ ] Use it in Petridish
[ ] Adjust the HelpX code

why is this in parcel-plugin? it looks like an entire delivery chain to me.


Design review: Should attribute syntax be based on the type of the parameter?

Tag helpers made some questionable choices here. For examples see: https://github.com/aspnet/AspNetCore/issues/5520.

We discussed this and have no plans to change it.


Make ocean treasures randomizable

The oceans at the bottom of the ocean should be randomized like every other chest. There is a possibility that they work exactly like normal chests, in that case, comment and close this.

Closed by #146


Pass hovered item to function on.('mouseout',

Hi everyone
I am currently using Pixi.JS in a vue app and I want to register interaction events.
So far so good, I managed to get pointerdown and pointerup and mouseover, but somehow I am stuck with mouseout.
Let's look at this example
this.pixiSprite.on('mouseover', this.itemHover)
this.pixiSprite.on('mouseout', this.cancelItemHover)

Within the function itemHover () I can address the hovered element by:
itemHover (event) {
  this.log('event.target hover: ', event.target)
}

Which will return a Pixi Sprite (that's correct, because I registered the eventlistener on every of my sprites.
If I do the same with cancelItemHover
It will tell me that event.target = null
Although I am doint the exact same thing:
cancelItemHover (event) {
  this.log('event: ', event)
  this.log('event.target: ', event.target)
},

I do get the event but the event.target, the event.currentTarget and event.data.target are all null.
I found a solution:
this.pixiSprite.mouseout = function () {
  console.log('this: ', this)
}

But this is not applicable because I need to access the vue app's this context.
So how could I bind/pass on the hovered element to the cantelItemHover () function?
I don't know if this is a wanted behaviour or a bug, anyway I would be very glad to get some information.
(I just want to scale a pixi sprite on hover and scale it back to original size on mouseout)
Cheers

pixi.js version: e.g. 4.7.3
Browser: e.g. Firefox Developer Edition 61.0.b2 / Chrome 66.0.3359.139
Device: e.g. Desktop

what about ?
this.pixiSprite.on('mouseover', this.itemHover.bind(this.pixiSprite))

I tried this this.pixiSprite.on('mouseover', this.itemHover.bind(this.pixiSprite))
but I either don't know how the bind works, or it just does not work
When I do the following:
cancelItemHover (event, test) {
  this.log('event: ', event) // event from before with target = null
  this.log('event.data: ', event.data) // event.data from before but data.target also null
  this.log('test: ', test) // undefined
  this.log('this: ', this) // this = vue app component
}

I would have expected that this would now be the pixiSprite, but this would also cause problems because I want to have direct access to the this context of the vue app component...

Try this for bind:
this.pixiSprite.on('mouseover', this.itemHover.bind(this, this.pixiSprite))
itemHover(sprite, event){}
Additional parameters you pass to bind are added as additional preceding arguments to your callback.

This works. Thanks @bigtimebuddy
I just wonder, why pixi has a target of null in the first place.
Do you know if this is intended behaviour or a bug? If the latter I might report it...?

Try this:
https://jsfiddle.net/bigtimebuddy/a75pmzg8/4/

Hm I see that in your case target seems to be defined in all cases. In my case though the mouseout was null.
I had a stage, inside I had a container, inside this I had a lot of sprites, which all contain 2 graphics.
I registered the mouseout on the sprite. I don't know what could cause this...

Hm I tried to get it to work, but somehow my pattern is not showing up:
https://jsfiddle.net/dgnjb7pe/3/
If I inspect the element I can see a little preview on the hover which actually contains my pattern, but on screen I don't see it. Therefore I don't know what the output would show. Do you maybe have an idea what could be the reason for the missing image?

its true , will work only if you use asynchronous timeout !
setTimeout(function(){ console.log('target mouseout: ', event.target); }, 1000);

Oh interesting...
Just out of interest: What's the reason for that?

i don't know, am only work with document Listener for my PIXI projects.
https://www.w3schools.com/jsref/met_document_addeventlistener.asp
I never use the interaction manager.
Maybe a pixi guys will give you more information about this.
but the interaction event manager does not seem to work well!
I find that strange too.
you have fellow all guide here ?
https://pixijs.io/examples/#/demos/interactivity.js

To reduce object creation/garbage collection, we use a single InteractionEvent for all interaction events. As a result, the interaction event object is only valid during the event callback itself, and if you want to retain the data for later use you'll need to make a copy, including a copy of the event's data property that is also pooled.

Ok. I don't fully understand, but you gave me an idea :D. (Why would the oject still be valid on mouseover and not on mouseout?
Anyway, I solved it with the .bind() answer from above. Thx again @bigtimebuddy


Adding Sign out functionality

@hereisSwapnil
The sign out is not working. It is not signing out the user. I am a GSSoc'24 contributor . I would like to work on this issue . Can you please assign this to me.

I want to work on the signout functionality. I would like to work on this issue. If you could assign me i would be very grateful to you .

i would like to fix this issue


Add Hungarian translation

Hi,
I've created the Hungarian translation for your project. Hope it will be useful :)

Just some linting (indentation) issues to fix before merge

Thanks :pray:
(Merged into dev, to fix the linting issue since your fork does'nt allow my push)


Exception thrown when invoking [_channel unsubscribe]

We sometimes experience an exception being thrown for [_channel unsubscribe];
The full stacktrace can be found below. This happens intermittently for us and we can't reliably reproduce the issue.
for now we just added try catch around [unsubscribe] hopefully it doesn't crash our users anymore.
Fatal Exception: NSGenericException
*** Collection <__NSArrayM: 0x173c0540> was mutated while being enumerated.
-[ARTEventEmitter resetListeners]
 Raw Text

Fatal Exception: NSGenericException
0  CoreFoundation                 0x1b4bfb3d __exceptionPreprocess
1  libobjc.A.dylib                0x1a747067 objc_exception_throw
2  CoreFoundation                 0x1b4bf5e1 -[NSException name]
3  MY TEST CI                 0x1f7805 -[ARTEventEmitter resetListeners] (ARTEventEmitter.m:258)
4  MY TEST CI                 0x20cb15 -[ARTRealtimeChannel unsubscribe] (ARTRealtimeChannel.m:301)
5  MY TEST CI                 0x16d815 -[AblyManager unsubscribeFromChannelNamed:] (AblyManager.m:25)
6  MY TEST CI                 0x153001 -[BroadcastDisplayerViewController dismissController] (BroadcastDisplayerViewController.m:353)
7  UIKit                          0x207263b5 -[UIApplication sendAction:to:from:forEvent:]
8  UIKit                          0x20726349 -[UIControl sendAction:to:forEvent:]
9  UIKit                          0x20710979 -[UIControl _sendActionsForEvents:withEvent:]
10 UIKit                          0x20725c85 -[UIControl touchesEnded:withEvent:]

Sorry to hear this.  @tcard @ricardopereira would one of you please look at thsi?

@tcard Adding a mutex lock should be enough, right? https://github.com/ably/ably-ios/blob/master/Source/ARTEventEmitter.m#L234-L248

@ricardopereira It is supposed to be in a mutex already. unsubscribe dispatches its operation on messagesEventEmitter to the internal queue, and every operation on messagesEventEmitter should also be dispatched to that queue. But obviously some isn't.
So somewhere must exist a method call on messagesEventEmitter that isn't inside a dispatch_a?sync. I couldn't find any from a quick look.
@liuzhen2008 Can you confirm which version of the library are you on? Those line numbers don't seem to correspond to a recent one.

@tcard
This is my podfile.lock
  - Ably (1.0.3):
    - msgpack (= 0.1.8)
    - SocketRocket (= 0.5.1)

We'll update the ably library as well.

@liuzhen2008 That most likely will fix the issue, since we had widespread thread-safety bugs before 1.0.8. I'll tentatively mark this as closed, but please do open again if the issue persist. Thanks!

@tcard We upgraded to ably 1.0.9
Podfile.lock as below:
- Ably (1.0.9):
    - KSCrashAblyFork (= 1.15.8-ably-1)
    - msgpack (= 0.1.8)
    - SocketRocket (= 0.5.1)

Still getting a crash occasionally. Try/catch doesn't even catch this time.

Does it happen in a production app? Could you tell us the app bundle identifier?
Are you using Ably in different queues?

@ricardopereira I am not sure with the "different queues" part.
Is there a specific queue that i have to use when subscribing/unsubscribing from Ably?
com.charly.charlyUser is our app identifier.

@ricardopereira I am not sure with the "different queues" part.

@liuzhen2008 Sorry. If you using the library in different threads?
Since we can't reproduce the problem, the only way we can debug this is by having the full stack trace of the exception. Do you have access to it and could you share it with us please?

@ricardopereira I have full stack trace here.
But go back to my question - would you say it is safer if i always run subscribe/unsubcribe in main queue?
# Crashlytics - plaintext stacktrace downloaded by Charly Developer at Wed, 08 Nov 2017 15:48:40 GMT
# URL: https://fabric.io/getcharly/ios/apps/com.charly.charlyuser/issues/59f7795061b02d480d7a5e90?time=last-thirty-days/sessions/31538c7ea84f4927b7cde1d7c94292c7_70d60f62bdb011e781fa56847afe9799_0_v2
# Organization: Getcharly
# Platform: ios
# Application: charly
# Version: 2.7.1 (276)
# Bundle Identifier: com.charly.charlyUser
# Issue #: 336
# Issue ID: 59f7795061b02d480d7a5e90
# Session ID: 31538c7ea84f4927b7cde1d7c94292c7_70d60f62bdb011e781fa56847afe9799_0_v2
# Date: 2017-10-30T20:25:00Z
# OS Version: 10.2.1 (14D27)
# Device: iPhone 6
# RAM Free: 2.4%
# Disk Free: 87.1%

#0. Crashed: io.ably.main
0  libdispatch.dylib              0x1807e2f20 _dispatch_barrier_sync_f_slow + 596
1  Charly Prod CI                 0x100214c1c -[ARTRealtimeChannel unsubscribe] (ARTRealtimeChannel.m:415)
2  Charly Prod CI                 0x100214c1c -[ARTRealtimeChannel unsubscribe] (ARTRealtimeChannel.m:415)
3  Charly Prod CI                 0x100153a9c -[AblyManager unsubscribeFromChannelNamed:] (AblyManager.m:27)
4  Charly Prod CI                 0x100134378 -[BroadcastDisplayerViewController garbageCollectAbly] (BroadcastDisplayerViewController.m:157)
5  Charly Prod CI                 0x1001342e8 -[BroadcastDisplayerViewController dealloc] (BroadcastDisplayerViewController.m:152)
6  libsystem_blocks.dylib         0x180827a28 _Block_release + 144
7  libsystem_blocks.dylib         0x180827a28 _Block_release + 144
8  libsystem_blocks.dylib         0x180827a28 _Block_release + 144
9  Foundation                     0x18236607c -[__NSObserver dealloc] + 128
10 Charly Prod CI                 0x1001f2644 -[ARTEventListener removeObserver] (ARTEventEmitter.m:88)
11 Charly Prod CI                 0x1001f41c8 -[ARTEventEmitter resetListeners] (ARTEventEmitter.m:245)
12 Charly Prod CI                 0x100214dd8 -[ARTRealtimeChannel _unsubscribe] (ARTRealtimeChannel.m:418)
13 Charly Prod CI                 0x100214ca0 __33-[ARTRealtimeChannel unsubscribe]_block_invoke (ARTRealtimeChannel.m:412)
14 libdispatch.dylib              0x1807d21bc _dispatch_client_callout + 16
15 libdispatch.dylib              0x1807df7f0 _dispatch_barrier_sync_f_invoke + 84
16 Charly Prod CI                 0x100214c1c -[ARTRealtimeChannel unsubscribe] (ARTRealtimeChannel.m:415)
17 Charly Prod CI                 0x100153a9c -[AblyManager unsubscribeFromChannelNamed:] (AblyManager.m:27)
18 Charly Prod CI                 0x10013663c -[BroadcastDisplayerViewController dismissController] (BroadcastDisplayerViewController.m:351)
19 UIKit                          0x187dc6f80 -[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:] + 64
20 UIKit                          0x187dca688 _UIGestureRecognizerSendTargetActions + 124
21 UIKit                          0x18799173c _UIGestureRecognizerSendActions + 260
22 UIKit                          0x1878300f0 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 764
23 UIKit                          0x187dba680 _UIGestureEnvironmentUpdate + 1100
24 UIKit                          0x187dba1e0 -[UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlock:] + 408
25 UIKit                          0x187db949c -[UIGestureEnvironment _updateGesturesForEvent:window:] + 268
26 UIKit                          0x18782e30c -[UIWindow sendEvent:] + 2960
27 UIKit                          0x1877feda0 -[UIApplication sendEvent:] + 340
28 UIKit                          0x187fe875c __dispatchPreprocessedEventFromEventQueue + 2736
29 UIKit                          0x187fe2130 __handleEventQueue + 784
30 CoreFoundation                 0x1818f6b5c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
31 CoreFoundation                 0x1818f64a4 __CFRunLoopDoSources0 + 524
32 CoreFoundation                 0x1818f40a4 __CFRunLoopRun + 804
33 CoreFoundation                 0x1818222b8 CFRunLoopRunSpecific + 444
34 GraphicsServices               0x1832d6198 GSEventRunModal + 180
35 UIKit                          0x1878697fc -[UIApplication _run] + 684
36 UIKit                          0x187864534 UIApplicationMain + 208
37 Charly Prod CI                 0x1001a0ab8 main (main.m:14)
38 libdispatch.dylib              0x1808055b8 (Missing)

--

#0. Crashed: io.ably.main
0  libdispatch.dylib              0x1807e2f20 _dispatch_barrier_sync_f_slow + 596
1  Charly Prod CI                 0x100214c1c -[ARTRealtimeChannel unsubscribe] (ARTRealtimeChannel.m:415)
2  Charly Prod CI                 0x100214c1c -[ARTRealtimeChannel unsubscribe] (ARTRealtimeChannel.m:415)
3  Charly Prod CI                 0x100153a9c -[AblyManager unsubscribeFromChannelNamed:] (AblyManager.m:27)
4  Charly Prod CI                 0x100134378 -[BroadcastDisplayerViewController garbageCollectAbly] (BroadcastDisplayerViewController.m:157)
5  Charly Prod CI                 0x1001342e8 -[BroadcastDisplayerViewController dealloc] (BroadcastDisplayerViewController.m:152)
6  libsystem_blocks.dylib         0x180827a28 _Block_release + 144
7  libsystem_blocks.dylib         0x180827a28 _Block_release + 144
8  libsystem_blocks.dylib         0x180827a28 _Block_release + 144
9  Foundation                     0x18236607c -[__NSObserver dealloc] + 128
10 Charly Prod CI                 0x1001f2644 -[ARTEventListener removeObserver] (ARTEventEmitter.m:88)
11 Charly Prod CI                 0x1001f41c8 -[ARTEventEmitter resetListeners] (ARTEventEmitter.m:245)
12 Charly Prod CI                 0x100214dd8 -[ARTRealtimeChannel _unsubscribe] (ARTRealtimeChannel.m:418)
13 Charly Prod CI                 0x100214ca0 __33-[ARTRealtimeChannel unsubscribe]_block_invoke (ARTRealtimeChannel.m:412)
14 libdispatch.dylib              0x1807d21bc _dispatch_client_callout + 16
15 libdispatch.dylib              0x1807df7f0 _dispatch_barrier_sync_f_invoke + 84
16 Charly Prod CI                 0x100214c1c -[ARTRealtimeChannel unsubscribe] (ARTRealtimeChannel.m:415)
17 Charly Prod CI                 0x100153a9c -[AblyManager unsubscribeFromChannelNamed:] (AblyManager.m:27)
18 Charly Prod CI                 0x10013663c -[BroadcastDisplayerViewController dismissController] (BroadcastDisplayerViewController.m:351)
19 UIKit                          0x187dc6f80 -[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:] + 64
20 UIKit                          0x187dca688 _UIGestureRecognizerSendTargetActions + 124
21 UIKit                          0x18799173c _UIGestureRecognizerSendActions + 260
22 UIKit                          0x1878300f0 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 764
23 UIKit                          0x187dba680 _UIGestureEnvironmentUpdate + 1100
24 UIKit                          0x187dba1e0 -[UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlock:] + 408
25 UIKit                          0x187db949c -[UIGestureEnvironment _updateGesturesForEvent:window:] + 268
26 UIKit                          0x18782e30c -[UIWindow sendEvent:] + 2960
27 UIKit                          0x1877feda0 -[UIApplication sendEvent:] + 340
28 UIKit                          0x187fe875c __dispatchPreprocessedEventFromEventQueue + 2736
29 UIKit                          0x187fe2130 __handleEventQueue + 784
30 CoreFoundation                 0x1818f6b5c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
31 CoreFoundation                 0x1818f64a4 __CFRunLoopDoSources0 + 524
32 CoreFoundation                 0x1818f40a4 __CFRunLoopRun + 804
33 CoreFoundation                 0x1818222b8 CFRunLoopRunSpecific + 444
34 GraphicsServices               0x1832d6198 GSEventRunModal + 180
35 UIKit                          0x1878697fc -[UIApplication _run] + 684
36 UIKit                          0x187864534 UIApplicationMain + 208
37 Charly Prod CI                 0x1001a0ab8 main (main.m:14)
38 libdispatch.dylib              0x1808055b8 (Missing)

#1. com.apple.uikit.eventfetch-thread
0  libsystem_kernel.dylib         0x1808f9188 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1808f8ff8 mach_msg + 72
2  CoreFoundation                 0x1818f65d0 __CFRunLoopServiceMachPort + 192
3  CoreFoundation                 0x1818f41ec __CFRunLoopRun + 1132
4  CoreFoundation                 0x1818222b8 CFRunLoopRunSpecific + 444
5  Foundation                     0x18235f26c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
6  Foundation                     0x18237fdd0 -[NSRunLoop(NSRunLoop) runUntilDate:] + 96
7  UIKit                          0x1881ddc38 -[UIEventFetcher threadMain] + 136
8  Foundation                     0x18245ce68 __NSThread__start__ + 1024
9  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
10 libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
11 libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#2. com.apple.NSURLConnectionLoader
0  libsystem_kernel.dylib         0x1808f9188 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1808f8ff8 mach_msg + 72
2  CoreFoundation                 0x1818f65d0 __CFRunLoopServiceMachPort + 192
3  CoreFoundation                 0x1818f41ec __CFRunLoopRun + 1132
4  CoreFoundation                 0x1818222b8 CFRunLoopRunSpecific + 444
5  CFNetwork                      0x182027a70 +[NSURLConnection(Loader) _resourceLoadLoop:] + 336
6  Foundation                     0x18245ce68 __NSThread__start__ + 1024
7  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
8  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
9  libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#3. com.twitter.crashlytics.ios.MachExceptionServer
0  libsystem_kernel.dylib         0x1808f9188 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1808f8ff8 mach_msg + 72
2  Charly Prod CI                 0x1007c8c54 CLSMachExceptionServer + 488812
3  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
4  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
5  libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#4. AFNetworking
0  libsystem_kernel.dylib         0x1808f9188 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1808f8ff8 mach_msg + 72
2  CoreFoundation                 0x1818f65d0 __CFRunLoopServiceMachPort + 192
3  CoreFoundation                 0x1818f41ec __CFRunLoopRun + 1132
4  CoreFoundation                 0x1818222b8 CFRunLoopRunSpecific + 444
5  Foundation                     0x18235f26c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
6  Foundation                     0x1823b3aa0 -[NSRunLoop(NSRunLoop) run] + 88
7  Charly Prod CI                 0x1001c08b0 +[AFURLConnectionOperation networkRequestThreadEntryPoint:] (AFURLConnectionOperation.m:164)
8  Foundation                     0x18245ce68 __NSThread__start__ + 1024
9  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
10 libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
11 libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#5. AVAudioSession Notify Thread
0  libsystem_kernel.dylib         0x1808f9188 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1808f8ff8 mach_msg + 72
2  CoreFoundation                 0x1818f65d0 __CFRunLoopServiceMachPort + 192
3  CoreFoundation                 0x1818f41ec __CFRunLoopRun + 1132
4  CoreFoundation                 0x1818222b8 CFRunLoopRunSpecific + 444
5  AVFAudio                       0x19b4c3d24 GenericRunLoopThread::Entry(void*) + 164
6  AVFAudio                       0x19b4e9d9c CAPThread::Entry(CAPThread*) + 84
7  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
8  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
9  libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#6. Thread
0  libsystem_kernel.dylib         0x180917314 __semwait_signal + 8
1  libsystem_c.dylib              0x18083525c nanosleep + 212
2  libsystem_c.dylib              0x18089f288 sleep + 44
3  Charly Prod CI                 0x1003e5ea4 monitorCachedData (KSCrashCachedData.c:148)
4  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
5  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
6  libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#7. com.squareup.SocketRocket.NetworkThread
0  libsystem_kernel.dylib         0x1808f9188 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1808f8ff8 mach_msg + 72
2  CoreFoundation                 0x1818f65d0 __CFRunLoopServiceMachPort + 192
3  CoreFoundation                 0x1818f41ec __CFRunLoopRun + 1132
4  CoreFoundation                 0x1818222b8 CFRunLoopRunSpecific + 444
5  Foundation                     0x18235f26c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
6  Charly Prod CI                 0x10051d7ec -[_SRRunLoopThread main] (SRWebSocket.m:1903)
7  Foundation                     0x18245ce68 __NSThread__start__ + 1024
8  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
9  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
10 libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#8. com.apple.CFSocket.private
0  libsystem_kernel.dylib         0x18091723c __select + 8
1  CoreFoundation                 0x1818fd468 __CFSocketManager + 640
2  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
3  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
4  libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#9. com.apple.CoreMotion.MotionThread
0  libsystem_kernel.dylib         0x1808f9188 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1808f8ff8 mach_msg + 72
2  CoreFoundation                 0x1818f65d0 __CFRunLoopServiceMachPort + 192
3  CoreFoundation                 0x1818f41ec __CFRunLoopRun + 1132
4  CoreFoundation                 0x1818222b8 CFRunLoopRunSpecific + 444
5  CoreFoundation                 0x18186fb44 CFRunLoopRun + 112
6  CoreMotion                     0x1886e5120 (null) + 203196
7  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
8  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
9  libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#10. Thread
0  libsystem_kernel.dylib         0x180916e1c __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x1809dc9c0 _pthread_cond_wait + 640
2  Charly Prod CI                 0x1008cda50 uv_cond_wait (thread.c:374)
3  Charly Prod CI                 0x1008c27b0 worker (threadpool.c:73)
4  Charly Prod CI                 0x1008cd680 uv__thread_start (thread.c:51)
5  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
6  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
7  libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#11. Thread
0  libsystem_kernel.dylib         0x180916e1c __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x1809dc9c0 _pthread_cond_wait + 640
2  Charly Prod CI                 0x1008cda50 uv_cond_wait (thread.c:374)
3  Charly Prod CI                 0x1008c27b0 worker (threadpool.c:73)
4  Charly Prod CI                 0x1008cd680 uv__thread_start (thread.c:51)
5  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
6  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
7  libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#12. Thread
0  libsystem_kernel.dylib         0x180916e1c __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x1809dc9c0 _pthread_cond_wait + 640
2  Charly Prod CI                 0x1008cda50 uv_cond_wait (thread.c:374)
3  Charly Prod CI                 0x1008c27b0 worker (threadpool.c:73)
4  Charly Prod CI                 0x1008cd680 uv__thread_start (thread.c:51)
5  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
6  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
7  libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#13. Thread
0  libsystem_kernel.dylib         0x180916e1c __psynch_cvwait + 8
1  libsystem_pthread.dylib        0x1809dc9c0 _pthread_cond_wait + 640
2  Charly Prod CI                 0x1008cda50 uv_cond_wait (thread.c:374)
3  Charly Prod CI                 0x1008c27b0 worker (threadpool.c:73)
4  Charly Prod CI                 0x1008cd680 uv__thread_start (thread.c:51)
5  libsystem_pthread.dylib        0x1809dd850 _pthread_body + 240
6  libsystem_pthread.dylib        0x1809dd760 _pthread_body + 282
7  libsystem_pthread.dylib        0x1809dad94 thread_start + 4

#14. Thread
0  libsystem_kernel.dylib         0x180917a88 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1809db160 _pthread_wqthread + 968
2  libsystem_pthread.dylib        0x1809dad8c start_wqthread + 4

#15. Thread
0  libsystem_kernel.dylib         0x180917a88 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1809db160 _pthread_wqthread + 968
2  libsystem_pthread.dylib        0x1809dad8c start_wqthread + 4

#16. Thread
0  libsystem_kernel.dylib         0x180917a88 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1809db344 _pthread_wqthread + 1452
2  libsystem_pthread.dylib        0x1809dad8c start_wqthread + 4

#17. Thread
0  libsystem_pthread.dylib        0x1809dad88 start_wqthread + 126

#18. Thread
0  libsystem_kernel.dylib         0x180917a88 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1809db160 _pthread_wqthread + 968
2  libsystem_pthread.dylib        0x1809dad8c start_wqthread + 4

#19. Thread
0  libsystem_kernel.dylib         0x180917a88 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1809db344 _pthread_wqthread + 1452
2  libsystem_pthread.dylib        0x1809dad8c start_wqthread + 4

#20. Thread
0  libsystem_kernel.dylib         0x180917a88 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1809db160 _pthread_wqthread + 968
2  libsystem_pthread.dylib        0x1809dad8c start_wqthread + 4

#21. Thread
0  libsystem_kernel.dylib         0x180917a88 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1809db344 _pthread_wqthread + 1452
2  libsystem_pthread.dylib        0x1809dad8c start_wqthread + 4

@liuzhen2008 Thanks a lot!

But go back to my question - would you say it is safer if i always run subscribe/unsubcribe in main queue?

We changed the library to be thread safe so, but we might be missing some use cases.
If you don't mind. Could you explain the [BroadcastDisplayerViewController garbageCollectAbly] method? Thanks.

@ricardopereira It was confusing naming on my part. It simply calls unsubscribe
- (void) garbageCollectAbly {
    [[AblyManager sharedInstance] unsubscribeFromChannelNamed:[self currentChannelName]];
}

This is a tricky one. Basically, we try to ensure that all user code (calls to callbacks, mainly) runs in a different queue (the main queue, by default) than our internal queue, io.ably.main. So before each call to a callback we do a dispatch_async to the main queue.
But in this case, the call to the user code happens because ARC deallocates an object when we remove the messages listener from the ARTEventEmitter, which happens to hold the last reference to such object, which causes its dealloc to be called, which in this case happens to call into Ably again, which dispatches again to the internal queue, which causes a deadlock since we're already in the internal queue.
So @ricardopereira ARTEventEmitter's removeListener must always dispatch its operations to the user's queue (ie. _userQueue throughout the codebase) so that this scenario is avoided. I believe that will fix this.

@ricardopereira Also, that dispatch inside removeListener might need to be an async one. I think  so.
That will break a few tests, I expect.

@tcard Yes, that makes sense. Thanks.

@ricardopereira Also, that dispatch inside removeListener might need to be an async one. I think so.

You say so because the user queue can be the main queue, right?

@ricardopereira The user queue is the main queue by default. That ensures that user callbacks are run in the main thread, which is the only one that can do UI operations.
That's not the problem. The problem is that dispatch_sync can (and will, it able to) dispatch to the current thread, which can be the same thread the caller queue is running on. The only guarantee for a queue is that a dispatch on it will completely finish (ie. the block will return) before the next one is executed; but individual dispatches can be ran in any thread. dispatch_sync guarantees that by crashing if you attempt to dispatch to a queue that's already in the middle of a dispatch in the same thread, down the call stack, which is what's happening here.
dispatch_async doesn't need to crash to hold this guarantee, since it can just queue the operation to be dispatched later, when the current dispatch finishes.

@liuzhen2008 I just realized we didn't get back to you on this; sorry for that. This should have been fixed by a7b67c666cad66de93baab19b48d82c862f72d89. We're going to do a release soon including that and other fixes.


Statik needs a good plugin system

It's all good and well to be able to include custom template tags and filters, but there's some functionality (e.g. the Netlify deployment) that really should be provided by some kind of plugin.
The best plugin architecture would replace custom template tags and filters completely, and have the following properties:

Simple to install: e.g. statik plugin install https://github.com/path-to/plugin or statik plugin install some_plugin_name (for plugins whose packages are on PyPI).
Simple to remove: e.g. statik plugin uninstall https://github.com/path-to/plugin
Automatically detected by Statik.
Be able to provide custom template tags and filters.
Be easily testable.

Should consider refactoring Statik to use Cement as its underlying framework. Plugin functionality comes built-in.

When is this happening @thanethomson ?

we kinda need plugins now..

@dennohpeter - feel free to build one and submit a PR! 😁

😁😁😁👋

A plugin or the cement integration thing...?

A rebuild of Statik on top of Cement, since Cement comes with a plugin system.
I haven't had time to work on this in the past couple of months due to other pressures.

ok got you


Publish Dart package

The Dart implementation needs to be published as a package on pub.dev.

Can be found here now