blackout has no affect

Trying to disable notifications for a few minutes from urlmon, alerts are still sent, cant understand why, any clues ?

Are you using the blackout periods page in the web UI like this ... ?

If so what settings are you using?

tried both with the UI and API/CLI, a line is added to the blackout list, i can see it in the UI, but when an alert that should match the blackout is recevied, an email/slack notifitcation is sent.

I've been able to reproduce this problem. I'll need to investigate further.

Actually I've only been only to get the plugin pre_receive() hook to run when an alert is blacklisted. And this is as designed. The plugin post_receive() hook won't run for alerts being blacklisted.
Have you modified the slack / email plugins to include actions in the pre_receive() hook?

no, i didnt change anything in the plugins
the doc sais that an alert for item in blackout period should get HTTP/202, right ? i see http/200

So it sounds like the alert isn't matching the blackout conditions. If you run alerta send from the command line you should see  "Suppressed alert during blackout period" like this ...
$ alerta send -S Svc -E Development -r r1 -e event6 -C event1 -C event3 -s warning -t 3 -S Network -r r2
03d75d1a-d68b-4e25-819c-e24eb05e4638 (Suppressed alert during blackout period)

And the server debug output look like this ...
$ alertad --debug
 * Running on http://<IP_ADDRESS>:8080/ (Press CTRL+C to quit)
 * Restarting with stat
2016-07-13 08:02:17,394 - alerta.app[97492]: INFO - Starting alerta version 4.1.8 ...
2016-07-13 08:02:17,400 - alerta.app[97492]: INFO - Using MongoDB version 3.2.4 ...
<IP_ADDRESS> - - [13/Jul/2016 08:02:20] "POST /alert HTTP/1.1" 202 -

from the cli, this works as expected, the message of Suppressed during blackout period is printed
but an alert received from urlmon plugin seems not to behave the same.

What are the blackout period filters that you have in place? ie. are you trying to suppress by service or resource etc

tried both, currently by Service.

Can we continue on gitter?

Yes, in two hours is ok?
On Jul 13, 2016 11:52 AM, "Nick Satterly"<EMAIL_ADDRESS>wrote:

Can we continue on gitter https://gitter.im/alerta/chat?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/guardian/alerta/issues/228#issuecomment-232296333,
or mute the thread
https://github.com/notifications/unsubscribe/ACN7lS7l-f6qHzZUwQnnFb9BIx5WmF6zks5qVKc2gaJpZM4JKNKo
.

no problem.

any update ? maybe this is releated to the "normal" status sent every minute when there is no issue ?

I finally got around to trying to reproduce this problem with URLmon and it suppressed the alert as expected for me ...
2016-08-02 00:42:55,631 - alerta.urlmon: INFO - Thread-4 check complete.
2016-08-02 00:42:55,631 - alerta.urlmon: DEBUG - Waiting on input queue...
2016-08-02 00:42:56,023 - alerta.urlmon: DEBUG - URL: https://www.statuscake.com/, Status: OK (200), Round-Trip Time: 1419ms -> HttpResponseOK
2016-08-02 00:42:56,025 - requests.packages.urllib3.connectionpool: INFO - Resetting dropped connection: localhost
2016-08-02 00:42:56,032 - requests.packages.urllib3.connectionpool: DEBUG - "POST /alert HTTP/1.1" 202 126
2016-08-02 00:42:56,033 - alerta.api: DEBUG - Request Headers: {'Content-Length': '771', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.10.0', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'Key '}
2016-08-02 00:42:56,033 - alerta.api: DEBUG - Request Body: {"status": "unknown", "origin": "alerta-urlmon/macbookpro.home", "resource": "status-cake", "severity": "normal", "correlate": ["HttpConnectionError", "HttpServerError", "HttpClientError", "HttpRedirection", "HttpContentError", "HttpResponseSlow", "HttpResponseOK", "HttpResponseRegexError", "HttpResponseRegexOK"], "tags": ["test"], "text": "HTTP server responded with status code 200 in 1419ms", "createTime": "2016-08-01T23:42:56.023Z", "value": "OK (200)", "event": "HttpResponseOK", "environment": "Production", "customer": null, "service": ["StatusCake"], "rawData": "", "timeout": 86400, "attributes": {"thresholdInfo": "https://www.statuscake.com/ : RT > 5000 RT > 10000 x 1"}, "group": "Web", "type": "serviceAlert", "id": "20e24aa2-82c3-4afc-8f67-debce2a20136"}
2016-08-02 00:42:56,033 - alerta.api: DEBUG - Response Headers: {'Date': 'Mon, 01 Aug 2016 23:42:56 GMT', 'Content-Length': '126', 'Content-Type': 'application/json', 'Server': 'Werkzeug/0.10.4 Python/2.7.9'}
2016-08-02 00:42:56,033 - alerta.api: DEBUG - Response Body: {
  "status": "ok",
  "message": "Suppressed alert during blackout period",
  "id": "74260580-67d6-4bcb-abaf-74b51d995f93"
}
2016-08-02 00:42:56,034 - alerta.urlmon: INFO - Thread-6 check complete.
2016-08-02 00:42:56,034 - alerta.urlmon: DEBUG - Waiting on input queue...

Blackouts ...
(alerta)macbookpro:~ nsatterl$ alerta --profile development blackout -S StatusCake -E Production
2ab35f9b-d27a-4e7c-b884-0537ebccc358
(alerta)macbookpro:~ nsatterl$ alerta --profile development blackouts
ID       CUSTOMER         ENVIRONMENT      SERVICE          RESOURCE         EVENT            GROUP            TAGS                     STATUS   START               DURATION
afebd3f7 *                Production       *                *                *                Performance      *                        expired  2016/07/12 22:31:00 3600s
a9372f3b *                Development      Network          *                *                *                *                        expired  2016/07/12 22:49:00 3600s
afa9d1b8 *                Development      Network          *                *                *                *                        active   2016/07/12 22:49:00 5878800s
1af87346 *                None             *                *                *                *                *                        active   2016/08/02 00:36:40 3600s
2ab35f9b *                Production       StatusCake       *                *                *                *                        active   2016/08/02 00:36:56 3600s

You haven't set BLACKOUT_ACCEPT to normal in alertad.conf have you?

there is no value for BLACKOUT_ACCEPT in my config
i am out of the office for a few days, ill check again next week, thanks.

i found that the blackout period with a API key that not customer bound will return "blackout period", while a key of a specific customer wont, although the blackout period customer is *

@msupino This should now be fixed in alerta server version 4.7.32


Fix Prototype Pollution

📊 Metadata *
objnest is vulnerable to Prototype Pollution.
This package allowing for modification of prototype behavior, which may result in Information Disclosure/DoS/RCE.
Bounty URL: https://www.huntr.dev/bounties/1-npm-objnest/
⚙ Description *
Prototype Pollution refers to the ability to inject properties into existing JavaScript language construct prototypes, such as objects.
JavaScript allows all Object attributes to be altered, including their magical attributes such as proto, constructor and prototype.
An attacker manipulates these attributes to overwrite, or pollute, a JavaScript application object prototype of the base object by injecting other values.
Properties on the Object.prototype are then inherited by all the JavaScript objects through the prototype chain.
💻 Technical Description *
Fixed by avoiding setting magical attributes.
🐛 Proof of Concept (PoC) *
Proof of Concept

Create the following PoC file:

// poc.js
var objnest = require("objnest")
console.log("Before : " + {}.polluted);
objnest.expand({"__proto__.polluted": "Yes! Its Polluted"})
console.log("After : " + {}.polluted);

Execute the following commands in another terminal:

npm i objnest # Install affected module
node poc.js #  Run the PoC

Check the Output:

Before : undefined
After : Yes! Its Polluted

🔥 Proof of Fix (PoF) *
After fix execution will block prototype pollution and polluted will be undefined for new objects

👍 User Acceptance Testing (UAT)
After fix functionality is unafected

Sorry alromh87, we enjoyed reviewing your fix but it has not been selected this time. If this bounty has not been closed, please feel free to try again with a new pull request!
We appreciate your effort and look forward to reviewing more of your fixes in the future! 🔨😎
Come join us on Discord


feature: Collapse terminal panel

Small feature aiming to immediately show/hide the terminal
(This can be applied to all panels in the future)
https://github.com/nuxt/learn.nuxt.com/assets/48628592/5ec907bd-358a-4935-8a5c-96482990ff46

I was thinking of having an open and close button to now even showing the bar of Terminal. We might consider hide it by default later on, as when working with the tutorial users might not need to be distracted by a terminal.


[DO NOT MERGE] Regression test refactor room package

Pull Request Test Coverage Report for Build 252

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 85.193%

Totals

Change from base Build 244:
0.0%

Covered Lines:
2077

Relevant Lines:
2438

💛  - Coveralls


Webxrdevice

Adds WebIDL for "Candidate Recommendation" version of WebXR (https://www.w3.org/TR/2019/WD-webxr-20191010/).
Supported without flags in Chrome 80, but not supported in Firefox (as of 13 Feb 2020).
To update WebIDL bindings:
cd crates/web-sys/
RUST_LOG=wasm_bindgen_webidl __WASM_BINDGEN_DUMP_FEATURES=webxr cargo build -vv
# (had to run the command twice for some reason)

Linked issues:
https://github.com/rustwasm/wasm-bindgen/issues/1950
https://github.com/rustwasm/wasm-bindgen/issues/1774
https://github.com/rustwasm/wasm-bindgen/issues/1948

@kevthecoder Thanks, though that isn't a Candidate Recommendation, it's a Draft, so it's not standardized yet.
So this will need to wait for https://github.com/rustwasm/wasm-bindgen/pull/1997 to be implemented first.

Thanks @Pauan , sounds like a plan.

I've had to disable some properties in the WebIDL for XRWebGLLayer to get the bindings to work, otherwise the build command throws an error (with no further error message).
I've also had to apply a workaround for attributes marked with FrozenArray, see https://bugzilla.mozilla.org/show_bug.cgi?id=1236777 for more details.
All alterations are commented with a TODO to keep track of them.

Note that it's a draft, but also it's been shipped in multiple browsers now.

@Manishearth Do you have any evidence for that? As far as I know, only one engine supports it, and even then it requires the user to enable an experimental flag, it is not enabled by default. I have verified this by testing in both Chrome and Firefox.
I'm very confused why everybody seems to think this is a widely implemented API.

@Pauan You don't need a flag to use it in Chrome (but it only works for some devices). It's shipped on Oculus Browser and Chrome, and Firefox Reality is shipping the same API very soon. Firefox planned to ship in December along with Chrome, but some issues cropped up on the Firefox side delaying it a bit.
Either way, the editors consider the API surface done (and we're gunning for CR soon, but the process takes time), and it would be extremely unlikely for any further changes to be breaking given that there is real world content using this API now. New APIs may of course be tacked on, but that's true of all web specs.

Basically: if the main concern is breaking changes, I wouldn't be too concerned. If the main concern is just not having anything that's not gone through the full w3c standards pipeline, that's understandable.

@Manishearth Ah, I see, that explains why it wasn't working for me. In that case we should consider stabilizing XR.

Want to rebase this on #1997 and we should be able to merge then?

Want to rebase this on #1997 and we should be able to merge then?

No problem, but might be a few days before I get the time. I've been trying to improve the example code too.

Just a note that the process of generating WebIDL will change after https://github.com/rustwasm/wasm-bindgen/pull/2012 lands.

Since https://github.com/rustwasm/wasm-bindgen/pull/2012 has landed now, the process for generating WebIDL is:

Put any unstable WebIDL files into the crates/web-sys/webidls/unstable folder.

Run this command:
cargo run --release --package wasm-bindgen-webidl crates/web-sys/webidls crates/web-sys/src/features

Copy the crates/web-sys/features file into the crates/web-sys/Cargo.toml file (right underneath [features]).

Use git add crates/web-sys to add all the generated files into git.

@Pauan @alexcrichton the code is updated to compatible with #2012 now. I like the new system, found it much easier to debug a webidl issue I was having with XrWebGlLayer.
I've tested the new bindings on a WebXr game engine project and they seem to work fine. I tried to make a simplified example application in examples/webxr, but there's a small issue I can't seem to fix at the moment (something to do with calling request_animation_frame). I'll try to take another look at it with a fresh pair of eyes, but at least the bindings seem to be working ok.
For testing I've been using Chrome with the Mozilla WebXr emulator plugin - https://blog.mozvr.com/webxr-emulator-extension.

Nice, thanks for this! This all looks great to me, so any further iteration can happen in-repo!

Fantastic, thanks @alexcrichton.


Firebase connection

Hi there,
Great work! But I have some questions please:
Where in your code are you connecting to firebase? I don't see any API key or any connection code such as firebase.initializeApp(firebaseConfig).
Also, where are you adding the friends list? Can we see an example of the collection structure in your Realtime DB?

Since I am using react-native-firebase google-services.json. You can follow it here: rn-firebase.
The Database is being used by other projects too, so a clustered structure:

Ah, I haven't used react-native-firebase. I'll need to look into that.
As for the database structure, do you mind showing me the expanded messages, friends, and chat collections? It will really help me understand how it all fits together. I think it may be good to talk about that in the videos too.
I noticed that the friends collection is on the root. I'm not sure how it is structured right now, but wouldn't it make more sense to put the friends collection as a property for each user?

Sure. But I just created the `friends database to push as in Register and then get the value from FriendList and then create a chat ID in Chat
The storing is a very bad practice but I've kept it open as it's just a pet tutorial project

This is so helpful! Thanks so much! What exactly about the storing is bad practice? What do you mean by "storing"?

Yeah, but once the firebase config is secret, only the database owner will have access to those messages and that doesn't seem like a bad thing.
One thing I'm noticing is that the chats seem to be only for two persons, based on the key of the chat entry. If I  want to make a chat room that is for 3 people, would I need to include the uid for all 3 users in the key?

The is a global chatroom also, think in chat reference, where anyone on pressing a button will connect to 1 database thus, chatroom

Yeah, the chatroom is a global chat where everyone can talk to everyone, but I'm referring to a chatroom for specific users. So only 3 people for example.

You can apply the same 2 people approach chat and nested if-condition by comparing the uid. Should work

So for 3 people it would be <uid>-<uid>-<uid>? Do you know if there is a maximum amount of characters for a firebase object key? If the chat ends up being 6 people for example, that name will get very long.

When you are on group chat on any social media, you enter the chat-group name right? Just allow users to enter the chat group name, if it has not been created, it will be created and you enter, and if it has been, you directly enter the group-chat. Just create the database as per user entered

Yeah that makes sense. And I definitely see that working. My concern is that if there are many people in the chat, then the key for the chat log could potentially be like this:
OndwhXaYi7SJFtKAwpxXCK6vQTg1-5N6oKQcIlRfIXgVUA9Nt1xi0Npr2-jX0PGbS4RKMwLko6sE2jJUPyJ9Q2-5N6oKQcIlRfIXgVUA9Nt1xi0Npr2-Ndfsdsfknsfmnsfkjsdf45mknassda3-7asdkabnsdksdcghkenfvsivkejb2

If there are many people in the chat, the key will be restricted to 768 bytes (approximately 500-700 characters), which is around 22 people. Beyond that, it won't allow any more characters. I'm wondering if there's another way to associate users with a particular chat without putting it in the key.


[Bug]: JS option appears blank when toggled for Text widget

Is there an existing issue for this?

[X] I have searched the existing issues

Description
In Text widget, for the field Disable Link when JS option is toggled the field appears blank on the first click.

Expected behavior : The field should indicate "false" as the toggle is off.
Steps To Reproduce

Drag and drop a Text widget.
Click on JS for the field Disable link > Note that the field is blank

Note: On switching on JS, and turning it off again, it gets populated with false.
Public Sample App
No response
Issue video log
No response
Version
Cloud

Stats

Stat
Values

Reach
357

Effort (months)
0.5


musl-fts: use as fts library instead of netbsd.fts

netbsd.fts currently does not cross compile (see https://github.com/NixOS/nixpkgs/issues/135332), so we switch to musl-fts until this is resolved. A number of other musl-focused distros use musl-fts for this purpose.
Also add setup hook to musl-fts to add -lfts flag which is implicit on glibc, so it is a drop-in replacement.

Motivation for this change
fixes e.g. pkgsCross.muslpi.libselinux
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

not needed after #136437


[Inspector] When changing relevant properties on the Camera, Light an…

…d Mesh tree items, call onPropertyChangedObservable
Related forum issue: https://forum.babylonjs.com/t/debuglayer-onpropertychangedobservable-not-firing-when-enabling-disabling-lights/42184

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.


Do not call virtualenv executable directly

Hello.
I am trying to package Hatch to Fedora and I found one issue.
The problem is that in some Linux distribution where the default Python is still Python 2 you should avoid calling tools like virtualenv directly because virtualenv without -3 suffix means Python 2 virtualenv. And because Hatch is Python3-only there is no virtualenv command available in build environment during building RPM package.
Moreover when you use sys.executable you can be sure that the same Python will be used for virtualenv like it is for running Hatch.
What do you think about it?

Codecov Report

Merging #11 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #11   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          57     57
  Lines        4015   4016    +1
  Branches      210    210
=====================================
+ Hits         4015   4016    +1

Impacted Files
Coverage Δ

hatch/venv.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@frenzymadness This was definitely an oversight. Thank you very much!

https://github.com/ofek/hatch#091
Please let me know how the Fedora packaging goes!


Featured project maintainer here: It says 0 issues but we see 13. What label do you want us to use?

Is your feature request related to a problem? Please describe.
Hi I maintain https://github.com/CodeYourFuture/curriculum and https://github.com/CodeYourFuture/immersive-go-course which are both DPGs.
Thanks so much for featuring us. ❤
As requested, we labelled a bunch of approachable issues with sdg-4
But on your site it says 0 issues
https://forgoodfirstissue.github.com/

Describe the solution you'd like
I'd like the issues we labelled with sdg-4 to show up on the website.
Or another label you prefer - we don't mind what we call the label! :) Just let us know if we've misunderstood the label name and need to update it. 🙏
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
We also tried SDG-4 just in case...
Additional context
Add any other context or screenshots about the feature request here.
Thanks again for all your hard work!

It looks for the labels help wanted and good first issue :)

All better thank you! ❤


[Question] How did you get the rowData from the custom-actions component

Hi @ratiw
Again thanks for the wonderful vuetable plugin.
I am trying to map your code and adding some functionality, like on your custom action component, i want to pass also the rowIndex on  click events, so I have to map how you are getting the rowData you passing to this events.
Hopefully you could enlighten me.
Thanks!

@JakePerillano As of v1. 0.3, rowIndex is already get passed to the component. Check again which version of Vuetable  you are using.

Thanks for replying.
I am using version Vuetables 2.. I am getting undefined error when trying to alert the rowIndex value
 '<button class="ui green button" @click="update(rowData, rowIndex)"><i class="check icon"></i></button>'
update: function(data, index) {             alert(index);             this.onUpdate = false;         },

Got it, just need to add rowIndex on my props.
BTW any suggestion on how can I make an inline edit function? just need a action on button click fields on that row will be editable. 'textbox or dropdown menu' :)
Thanks @ratiw  and amazing job on vuetable.

A good inline edit function is quite complex. Maybe you can look into vue-editable.js. I play with it a long time ago, but probably the most simple, easy to understand, and shouldn't be hard to extend.


feat(annotations): adds annotations folder to places, numerous manage…

For #537

Adds a permanent folder to places where all new annotations are added.
Abstracts core annotation code out from the model/UI classes for future use.
Adds inline editing of annotation name/description on double click.
Fixes annotations for non-point geometries not working at all.
Adds ability to create annotations on non-point geometries.
Adds nearest point anchor calculation for non-point geometries.
Cleans up menus for creating annotations.

This was originally a bigger PR that refactored AreaManager to store its areas as Places, but that had far too significant of UX impacts and was pulled out. There are further UX improvements that can be made to the separation of areas and places.

When creating a new annotation, I get this error and my annotation appears on the map but is not added to Saved Places:

Error running command [ Add KML Node "New Place" ] - Node source is not available.

Setting the shape to None when creating a new annotation was intentional, so the map could be annotated without drawing something additional in that location. Given the tail is anchored to the position, it doesn't seem necessary to draw an extra point that may obscure what's being annotated.
The Annotations folder feels awkward to me. I want to organize annotations myself, and while I can still put them anywhere the extra folder that can't be removed feels like unnecessary clutter.

Fixed.
Fixed. Right click annotations now default to None, while non-point ones use Default.
I wanted to make it clear that Places was where Annotations are managed. I think there will be some followon work related to Annotation-specific behavior that I want to add to it (import/export annotations, show/hide all, etc.) I don't think it's ideal, but we decided against making annotations entirely their own thing (which was the right decision), but I still want to make them more clearly a special type of place, and to have somewhere to manage any special functionality we give them.
Fixed. This was related to the initialization state of the overlay and the limitation that the nearestPoints JSTS calculating doesn't work when the annotation directive is not floating over a coordinate on the map. It will now default back to the first coordinate if it can't calculate the position correctly. If there's a smart solution to nearestPoints not working off the globe (i.e. not reimplementing it entirely), then we could explore that.

When inline editing the title/description, if I resize the annotation then save my text changes, the new annotation size is kept. I would prefer if it always reverted to the pre-edit annotation size.
The inline description edit is not responsive to resize. The buttons should be fixed in the bottom/right, and the editor should fill the rest of the available space.
When creating/editing annotations on non-point geometries, the annotation moves on save if positioned along an edge (between vertices). Draw a box, Create Annotation, move the annotation to anchor along an edge, then save. This also happens if I position an existing annotation along an edge, then edit the annotation.

Fixed
I'm going to defer on this one. Sizing on simpleMDE is always a little tricky, and Greg's in the process of replacing it with ToastUI anyway, which may have its own sizing quirks to figure out. We'll have to handle that merge eventually anyway.
Looking at this.


[Suggestion] Game Only Rooms

Much like .v+t has the ability to give you access to a text chat if you enter certain voice chats my suggestion is something similar that allows access to Text/Voice chats only when you're playing certain games.
The idea originally comes from here: https://www.reddit.com/r/discordapp/comments/4idc8j/is_there_a_way_to_make_a_channel_you_can_only/

lol thats a nice idea, ill add it when i have time

I dropped this idea a month or so ago, great idea, but it's too much.


Cross compiling project that links to qt6-main (osx-arm64 on x86_64 host)

Comment:
I have a project built with cmake that links to the Qt 6 libraries.
When I try to build an arm64 version (the build is running on x86 instance), I install Qt 6 as a 'host' dependency (i.e. arm64). This allows cmake (with an addition of export QT_HOST_PATH="$PREFIX") to find Qt 6 for my arm64 build and allow linking. However, Qt also requires running the moc tool. Unfortunately, this is not possible because the Qt 6 installed is arm64 and the moc tool has the wrong architecture to run on the x86 instance.
Is there any obvious solution to this?
Is it possible to distribute a fat version (arm64 + x86_64) of qt6-main instead of a processor specific version?
Here is the recipe / PR for the project in question: https://github.com/conda-forge/nionui-tool-feedstock/pull/32

Have you tried adding
- qt-main                         # [build_platform != target_platform]

To your build dependencies? This will install the x86_64 qt-main into the build environment, and you can then use the moc within there.

Thanks! That did the trick (along with setting `export QT_HOST_PATH="$BUILD_PREFIX") and a few other minor changes to finish the build.


Spin (Re)Factors tracking issue

Implementation of Spin Factors (SIP here) is happening in the factors branch.
Fix known issues

[x] Fix Grain template:https://github.com/fermyon/spin/issues/2779
[x] Decide what to do about Swift template: https://github.com/fermyon/spin/issues/2774
[x] Reimplement spin up --sqlite-statements (https://github.com/fermyon/spin/pull/2780)
[x] Reimplement some trigger hooks (@lann)
[x] Fix broken key-value paths (https://github.com/fermyon/spin/pull/2791)
[x] Merge pre-factor crates with their factor equivalents
[ ] #2813

Document breaking changes (release notes / doc site where appropriate)

[ ] HttpRequestDenied source
[ ] https://github.com/fermyon/spin/pull/2723
[ ] https://github.com/fermyon/spin/issues/2552
[ ] https://github.com/fermyon/developer/issues/1371
[ ] https://github.com/fermyon/developer/issues/1376

Audit feature parity and compatibility against pre-factors code

If you do this just list what you've reviewed below whether you find problems or not.

Integrate factors into spin

[x] Migrate spin-core wasi features to factor(s) (@lann)
[x] Migrate host component call sites (e.g. add_host_component, find_host_component_handle) (@lann)
[x] Update triggers (document upgrade process?)

[x] http (mostly complete)
[x] redis

[x] Update component loader

[x] Integrate with #2673
[x] Implement nice error for #2552
[x] Port unsafe-aot-compilation feature https://github.com/fermyon/spin/pull/2818

Port host components to factors

[x] key-value (@kate-goldenring)

[x] azure
[x] redis
[x] sqlite

[x] llm (@rylev)
[x] outbound-http

[x] spin (https://github.com/fermyon/spin/pull/2740)
[x] wasi

[x] outbound-mqtt (@karthik2804) (https://github.com/fermyon/spin/pull/2722)
[x] outbound-mysql (@karthik2804)
[x] outbound-pg (@calebschoepp)
[x] outbound-redis (@me-diru)
[x] sqlite (@rylev)
[x] variables (@rylev)

[x] env
[x] vault
[x] azure (https://github.com/fermyon/spin/pull/2724)

Integrate factors into new spin-trigger

[x] wasi
[x] variables
[x] key-value
[x] sqlite
[x] outbound-http
[x] outbound-redis
[x] outbound-mqtt
[x] outbound-pg
[x] outbound-mysql
[x] llm

[ ] Merge pre-factor crates with their factor equivalents
@lann I'm picking up this work for factor-key-value. A quick search in the codebase suggests this is also needed for factor-outbound-networking — I'm less confident in my ability to execute that, but perhaps I'll give it a try and see if I get stuck.

I'm picking up this work for factor-key-value.

Check with @rylev who has been knee-deep in this crate e.g. https://github.com/fermyon/spin/pull/2791

@lann is this ready to be closed out?  It looks like the unchecked docs TODOs above might all be met in https://github.com/fermyon/developer/pull/1396 ?

Benchmarks runner isn't blocking - we can close this with the docs changes.

Closing per https://github.com/fermyon/developer/pull/1396 which covered the remaining docs changes


Not working in the new update

This actually looks like a duplicate of #7, so I'll close it for now. I'll only update that issue going forward with any further details on the problem.


c6-stereotype-threat.html

This was a nice post, Claire; well written with some nice insight into your personal experiences. I enjoyed learning a little bit more about your background and life before DBC, and I appreciate the ability to understand other's view points and experiences. My feedback is to continue staying open, vulnerable, and curious as you've demonstrated in your blog post. Good job!

Thanks, Alexis!


auth.ehealth/auth_factors/: add "change  factor" pages

auth.ehealth/auth_factors/: add "change  factor" pages:
Add few pages for flow "change factor":

login page
veryfing otp page
request factor page
approve factor page (veryfing otp)
[x]  Create spec for FE task
[x] Create design layout
[x]  Implement
[x]  Deploy
[x]  Test

done


WebSocket recommend

I want to be able to implement websocket on the server side

Close because this should be on ShadowNode.


About change the skin in the game!

long before, BlockLauncher can apply the skin in the game right now.
but now, we can't apply skin  and change in the game right now.
can you fix it?

This definitely works in latest versions


Ability draft skills on match page

In ability draft matches (this one, for example), it'd be nice to have a visual display of which skills each hero drafted (instead of trying to parse each skill out of the ability build chart, as I do now) somewhere on the match's page.

I assume it would be possible to compute this client-side by iterating over the ability upgrades?


Mobile on PC - links in Queue

Links shown in Queue do not work when you run Material in Mobile mode on a PC.
Links shown in Queue DO work when you run Material in Desktop mode on a PC.
Screenshot is Chrome (app mode) running /Material/mobile

On a proper mobile device the Queue does not display links (correctly)

Actually the links work, just the view is not changed - which is a bug in itself. You can confirm by switching to browse afer clicking a link.

Please feel free to rename the Issue accordingly then 😊
Kind regards
Jim Gooch
Director
Double 6 Ltd
Direct Line +44 (0)<PHONE_NUMBER>
Mobile  +44 (0) 7802 550302
Support +44 (0) 1270 898 044
VOIP 8120540<EMAIL_ADDRESS>Skype double6jg
www.double6.nethttps://www.double6.net/
From: CraigD<EMAIL_ADDRESS>Sent: 08 November 2019 14:48
To: CDrummond/lms-material<EMAIL_ADDRESS>Cc: Jim Gooch<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [CDrummond/lms-material] Mobile on PC - links in Queue (#189)
Actually the links work, just the view is not changed - which is a bug in itself. You can confirm by switching to browse afer clicking a link.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/CDrummond/lms-material/issues/189?email_source=notifications&email_token=ALGS6FRUPDJ2CEEDHJVRAW3QSV333A5CNFSM4JKYDEOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDSKQIA#issuecomment-551856160, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALGS6FQGJQTIEJY6AKCZHNTQSV333ANCNFSM4JKYDEOA.

This e-mail may contain information confidential to the addressee(s) only. If a transmission error has misdirected the e-mail, please notify us immediately and then destroy the communication. You should not use, disclose, distribute or copy this communication. Nothing contained in this e-mail shall constitute a legally binding contract unless expressly so stated in which case any contract is subject to Double 6 Limited's General Terms & Conditions. Please ensure that you carry out your own virus checks before opening any attachments contained within this e-mail as, although checked internally before distribution, Double 6 cannot accept responsibility for any damage caused by any software viruses contained in the message or attachments. All contracts and services provided are subject to Double 6 Limited's General Terms & Conditions.https://www.double6.net/terms Please note that by entering into a contract with Double 6 you accept these General Terms & Conditions in full.

©: Double 6 Ltd - Specialist Lotus Notes and Domino Development & Consultancy : Registered in England No: 3932411

All business is conducted in accordance with Double 6's General Terms & Conditions.https://www.double6.net/terms/ Purchase and renewal of .UK domains are subject to Nominet's Terms & Conditions.https://www.nominet.uk/resources/policy/policies-rules/#registrationterms


[BUG] Unable to request token with custom scope

Library name and version
Azure.Identity 1.8.2, Microsoft.NET.Sdk.Functions 3.1.2
Describe the bug
I'm using the Azure.Identity from a Function App (runtime 3) calling the DefaultAzureCredential() class. I've already activated the Managed Identity for the Function App. I'm calling the GetTokenAsync to gather a token for another app which exposes an API using this code. The scope is in the format "api://someguid/.default"
var scope = "api://<guid>/.default"
var tokenCredential = new DefaultAzureCredential();
var tokenResponse = await tokenCredential.GetTokenAsync(
  new TokenRequestContext(new[] { scope }),
  cancellationToken
);

The API I'm trying to get access to, is authenticated using the Easy Auth Authentication from the portal. This auth results in a new app registration created in the Azure Active Directory. I've also created App Roles for the API and assigned an app role to my Managed Identity using the powershell command New-AzureADServiceAppRoleAssignment
Expected behavior
I would expect to retrieve a token, or at least have a more specific error than the 500.
Actual behavior
The code throws an exception when calling the GetTokenAsync with a 500 Internal Server error. Azure.Identity.AuthenticationFailedException : ManagedIdentityCredential authentication failed: Service request failed.Status: 500 (Internal Server Error).
As a side note, if I change the scope to e.g. "https://.vault.azure.net/" it gets the token properly.
Reproduction Steps
Create an app service with Easy Auth activated - name: MyAPIApp
Get the App Registration linked to the Easy Auth of the MyAPIApp
Create a new Azure Function with HttpTrigger in Visual Studio.
Import the Assembly Azure.Identity
Retrieve the token for the ManagedIdentity using the code above and the scope from the App Registration of the MyAPIApp
Publish the Function App to Azure - Name : MyFunctionApp
Run the Trigger Http to execute the Function
The error 500 appears
Environment
Microsoft Visual Studio Enterprise 2019 v. 16.10.3
Azure Function runtime 3.x

//cc: @christothes

Hi @ganniaiuei  - Does this work if you specify the ClientId of your application in the DefaultAzureCredentialOptions here:?
https://github.com/Azure/azure-sdk-for-net/blob/1f2380dc1864f41809530e8366c2f97f8ffd9e76/sdk/identity/Azure.Identity/src/Credentials/DefaultAzureCredentialOptions.cs#L196

Just to be clear - is my-managed-id the "Application (client) ID" of the application you are authenticating to?

You're right, I got the wrong id (the objectID), now I tried with the ApplicationID (EnterpriseApp->ManagedIdentities->ApplicationID). But the error is still the same: 400 Bad Request

OK - Sorry, I was confused about the clientId option. That ManagedIdentityClientId is meant for addressing a user defined managed identity. So as long as your managed identity is system assigned, you don't need to specify it. The scope alone should be enough to address your application.
After removing the clientID from the options, does the content logging provide any additional details about the 500 error coming back?

After removing the ManagedClientId I run the app locally with verbose logging and I got the message that the app with api://guid/.user_impersonation wasn't found in my tenant. So I just removed the /.user_impersonation and things started to change. I noticed that the proper scope was: api://guid/.default or only api://guid. After that, I added the ManagedIdentity to the users allowed to run the Enterprise App (the APIApp have the Assignment Required to yes) and the token was properly issued. Thank you for letting me dig in to the issue. I'll raise an issue to the docs as the specific flow (App Identity and Permissions) may be described a little be better (IMHO)


Use single-quotes to quote path strings in YAML for Windows.

@dmikurube Please take a look when you have a time.
Fix #804
Windows use \ character in a path.
(ex: C:\Users\admin...)
It treats as an escape character when quoted by a double quote.
For avoiding it use a single quote instead.
Ref: YAML specification 7.3.2. Single-Quoted Style

@hiroyuki-sato Thanks! Ah..., it's YAML syntax? Could you:

Leave a comment on the source code which describes the different between single-quotes and double-quotes. (Just a link to the YAML document is fine.)
Update the commit message like: "Use single-quotes to quote path strings in YAML for Windows." Nice to have the same link at 1 in the commit message.
Update the PR title like 1.

@dmikurube Thank you for your review.
I edited the first PR and commit message.

Add YAML spec link.
Change title (PR and commit)

@hiroyuki-sato Thanks. Nice to have the link even in the source code as a comment, with describing why we use single-quotes, not double-quotes, there.

@hiroyuki-sato Can you take a look at the comment? ^

@dmikurube I wrote the spec link in the source code as a comment. please take a look again.

Thank you!


Improve score for OpenSSF best practices

You can find our score here: https://bestpractices.coreinfrastructure.org/en/projects/7293. It is currently... low. It'd be cool to have it be less low. This is almost entirely a documentation issue, but is still a major overhaul, so going to mark as a minor issue.

Closing issue. This was created because I saw another project with a badge, and figured that it would be nice to have. However, the requirements for the badge are just a touch more than Matcha needs right now. Regardless, as an organization we're working on rules regarding contribution, vulnerability disclosure, etc. in a more unified space.


Allow legalLabelInsets to be changed and animated

Added docs for legalLabelInsets as well. Related to #840
While property is structurally identical to EdgePadding, used for region fitting, they serve completely
different purposes. So a new type is defined.
Default left empty since it's an OS default (around {left: 10, bottom: 10} in my tests)

🏆

Published as v0.12.2

@spikebrehm and @gilbox : Thanks for the quick turn-around on these fixes. Really appreciated.


Running the entire pipeline

Hi Steven,
I have a bam and vcf file of a sample and I want to run pypgx on this data for all genes and fetch all possible genotype and phenotype for the sample?
Can you please explain the process of doing this?

Hi @Sahana-selvarathnam,
This depends on the nature of your input data. Is it WGS or WES or targeted panel sequencing?

It is WGS data

Then you should use the pypgx run-ngs-pipeline command. Below is an example command for CYP2D6 (which includes SV detection):
$ pypgx run-ngs-pipeline \
CYP2D6 \
grch37-CYP2D6-pipeline \
--variants grch37-variants.vcf.gz \
--depth-of-coverage grch37-depth-of-coverage.zip \
--control-statistics grch37-control-statistics-VDR.zip

You can create a for loop for studying multiple genes. Please visit the link to learn how to create the input files. Please let me know if you need further help.

You can also find WGS tutorial here.

I have been trying to generate input file using the create-input-vcf option but it says fasta file is required which I don't have.

Do you know which reference genome (hg19 vs. hg38) was used to create your BAM file?

hg19 was used. I have downloaded the genome.fa file from the link provided by you and generated the input vcf file but while running run-ngs-pipeline I am facing a file not found error. It says ###.bam.png file is not found in grch37-CYP2D6-pipeline folder. How should I generate the file?

Please provide the exact command line you used and also the entire output including the error message.

pypgx run-ngs-pipeline CYP2D6 grch37-CYP2D6-pipeline/ --variants grch37-variants.vcf.gz --depth-of-coverage grch37-depth-of-coverage.zip --control-statistics grch37-control-statistics-VDR.zip
Saved VcfFrame[Imported] to: grch37-CYP2D6-pipeline//imported-variants.zip
Saved VcfFrame[Phased] to: grch37-CYP2D6-pipeline//phased-variants.zip
Saved VcfFrame[Consolidated] to: grch37-CYP2D6-pipeline//consolidated-variants.zip
Saved SampleTable[Alleles] to: grch37-CYP2D6-pipeline//alleles.zip
Traceback (most recent call last):
File "/home/vijhayalakshmi/anaconda3/bin/pypgx", line 8, in
sys.exit(main())
File "/home/vijhayalakshmi/anaconda3/lib/python3.9/site-packages/pypgx/main.py", line 33, in main
commands[args.command].main(args)
File "/home/vijhayalakshmi/anaconda3/lib/python3.9/site-packages/pypgx/cli/run_ngs_pipeline.py", line 159, in main
pipeline.run_ngs_pipeline(
File "/home/vijhayalakshmi/anaconda3/lib/python3.9/site-packages/pypgx/api/pipeline.py", line 260, in run_ngs_pipeline
plot.plot_vcf_allele_fraction(
File "/home/vijhayalakshmi/anaconda3/lib/python3.9/site-packages/pypgx/api/plot.py", line 409, in plot_vcf_allele_fraction
fig.savefig(output)
File "/home/vijhayalakshmi/anaconda3/lib/python3.9/site-packages/matplotlib/figure.py", line 3015, in savefig
self.canvas.print_figure(fname, **kwargs)
File "/home/vijhayalakshmi/anaconda3/lib/python3.9/site-packages/matplotlib/backend_bases.py", line 2255, in print_figure
result = print_method(
File "/home/vijhayalakshmi/anaconda3/lib/python3.9/site-packages/matplotlib/backend_bases.py", line 1669, in wrapper
return func(*args, **kwargs)
File "/home/vijhayalakshmi/anaconda3/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py", line 509, in print_png
mpl.image.imsave(
File "/home/vijhayalakshmi/anaconda3/lib/python3.9/site-packages/matplotlib/image.py", line 1616, in imsave
image.save(fname, **pil_kwargs)
File "/home/vijhayalakshmi/anaconda3/lib/python3.9/site-packages/PIL/Image.py", line 2237, in save
fp = builtins.open(filename, "w+b")
FileNotFoundError: [Errno 2] No such file or directory: 'grch37-CYP2D6-pipeline//allele-fraction-profile//home/vijhayalakshmi/PGx/55001705013845.bam.png'

The error was caused because your BAM file is missing the sample name field (SM) and therefore in the VCF file, the entire path to your BAM file was set as the sample name (i.e. /home/vijhayalakshmi/PGx/55001705013845.bam). To fix this issue, you need to provide a sensible sample name to your BAM. See my previous reply in #96 where other users had the exactly same issue:
Another user recently raised an issue (#105) that I think is related to your case:

@muhligs,
Thanks for sending the header. As you can see, there is no read group tag (i.e. a line that starts with @RG) in the header, which should contain the sample name field (SM). You usually specify read group during the alignment step (when running bwa mem in your case). Additionally, I checked your attached files and, as speculated, the original BAM path was set as sample name.
Please add read group to your BAM to give a proper sample name and then run PyPGx on the new BAM. You can find more examples of read group in the Internet, but below is one example:
@RG ID:H0164.2  PL:illumina PU:H0164ALXX140820.2    LB:Solexa-272222    PI:0    DT:2014-08-20T00:00:00-0400 SM:NA12878  CN:BI

FYI, you can easily add read group to existing BAM using existing tools like samtools addreplacerg.

Closed due to inactivity. Please feel free to re-open it if necessary.


Type safety for Json

Problem
When you use a Json type, any set of properties are accepted, it would be nice to generate types for that as well
model Shop {
  paymentInfo Json
}

prisma.shop.create({ paymentInfo: { } })

Suggested solution
Allow specific types to be created
type PaymentInfo: Json {
  holder String
  address String
  name String?
}

model Shop {
  paymentInfo PaymentInfo
}

prisma.shop.create({
  paymentInfo: {
    holder: ""
    // Error, address missing
  }
})

Alternatives
A generic parameter for common methods (not really a solution, still causes duplicate code)
interface PaymentInfo {
  holder: string
  address: string
  name?: string
}

prisma.shop.create<{ paymentInfo: PaymentInfo }>()

Hi,
Thanks for reporting this! It has already been reported before, so I am going to close this as a duplicate of https://github.com/prisma/prisma/issues/3219


Completion of error handling

Would you like to add more error handling for return values from functions like malloc()?

Any other places you can think of?

ACTUALLY looking at it now, I think I would rather crash, otherwise things are still busted and they keep going.

This is philosophical and up for debate.  Should get more opinions.

I suggest to avoid ignorance of return values a bit more.
Would you like to detect every error situation as early as possible?

So it comes down to two things:
(1) It is unlikely for something as small as a mutex to fail to malloc without much more serious issues later.
(2) The much, much bigger concern:  If we detect a failure here rather than fail ungracefully, and people up the foodchain don't check, we could have very strange behaviour.  People up the chain are unlikely to expect a mutex to fail to be created.
(3) This raises the question - maybe it's OK to detect, return 0, and then accept that someone else may or may not detect the failure.

How do you think about to improve static source code analysis also for this software?

Are you interested to apply aspect-oriented software development?
Would you like to encapsulate error detection and corresponding exception handling as a reusable aspect in this software?

Usually, on modern Unix systems there is no reasonable way in application to deal with system running out of memory - usually malloc doesn't fail, the systems just slows down. The only situation in practise when malloc/new fails is when you supply ridiculously large value (e.g. by underflow on int).
So IMHO it is ok to ignore malloc fail and possibly crash.

How do you think about to avoid that this software depends on undefined behaviour?

It depends on what your needs are. If you need formally verified software then go ahead and properly check for malloc return values.
I used to be one of the developers of the tool for formal verification of C/C++ DIVINE. I studied the problem of whether to check or not to check malloc return value a lot. My conclusions are: if you want your program to be standard compliant then you have to check for malloc return value otherwise your program will probably contain undefined behavior. But in practice, malloc on most UNIX systems is implemented such that unless you are asking for the ridiculously large memory block (which probably results of another bug in your program) it won't fail - the system either gets really slow (as it starts to swap a lot) or your program gets immediately killed. This is why we implemented to "verification" commands in DIVINE - verify and check, where check does not consider failing malloc. This was really necessary to use it for real-world code as many of the code uses the assumption that malloc does not fail - and when it does, you have a much bigger problem, from which you cannot recover within your program.
PS: Another case is when your piece software is used on bare-metal/embedded devices - then you should check the return value as most of the implementation for these environments really returns NULL when there's no memory left.
BTW: I just stumbled on this issue on Twitter and I thought I might add my opinion as I spend quite a lot of thinking about this question when I was working on DIVINE.

@yaqwsx: Thanks for your background information.

… it won't fail - …

The run time system can be configured to avoid overcommitting the memory resources, can't it?

This was really necessary to use it for real-world code as many of the code uses the assumption that malloc does not fail - …

It seems to be just too convenient to omit error detection from some source files.
I am trying for a while to increase the software development attention also in this area.
Further development tools can improve the situation in significant ways.

The run time system can be configured to avoid overcommitting the memory resources, can't it?

If I remember correctly it results not in failing malloc but receiving a signal. UNIX operating systems do not expect that the programs necessarily use malloc. But I studied the topic a few years ago so I might remember wrong.

It seems to be just too convenient to omit error detection from some source files.
I am trying for a while to increase the software development attention also in this area.
Further development tools can improve the situation in significant ways.

The point is that omitting is really convenient and in real-world scenarios more-less "safe" - since there is no safe way to recover. When your program is refused memory what it will do? Exit? Abort? There is probably no sane solution in most cases (there are some when it makes sense), and it only makes the code longer and harder to read. When you access null-pointer, by the standard you get undefined behavior, but in practice, your program gets killed (or hard-fault handler on bare-metal).  It only looks a little bit weird for the user.
Don't get me wrong - I am not saying that checking for malloc return value is insane. But ignoring might yield cleaner code without any effects on real-world use cases.
PS: I am trying to provide a counter-opinion since @cnlohr asked for it. Without the knowledge of the project context, I don't want to make any judgment whether this project should or shouldn't check the malloc return value.

Without the knowledge of the project context, I don't want to make any judgment whether this project should or shouldn't check the malloc return value.

Are you aware of any software development tools which can make it convenient (and safer) to achieve more complete error detection and corresponding exception handling?

I had another out-of-band discussion on Twitter, and I think the right answer here is to push the checking up to the user level.  Understanding 99.9% of all users of os_generic will not check the reply value, a core tenant of these fundamental libraries needs to be minimizing the leakiness of abstraction.
The only way to do this is to be transparent to the error, and pass it back as a null.  Even though this should never, ever happen, to me it seems worth the one extra if branch that is only in creation (note, if this was in locking or unlocking, I would never allow it!).
@elfring brought up null checking as a rule.  This is an interesting aspect, but, on any system with a MMU, we should absolutely be relying on that MMU hardware to check for errors instead of wasting the CPU's time instruction cache, etc with branches that cannot be called.  There is a balance between code size, complexity, time and being neurotically compliant.  I would not consider being neurotically compliant a virtue by any stretch.
I'm going to leave this issue open for another day or so, but without additional comment, I will be adding constructor malloc checks to os_generic.

:crystal_ball: Will your software development attention grow for cross-cutting concerns?

I'm not sure where you're going with this.

Are you aware that error detection is a cross-cutting concern (for the desired exception handling)?

I mean I am aware that if I handle it in a nonobvious way, then the next person up the foodchain has a heart attack.  My goal was to make it as obvious as possible.  I hate it when people go and write to standard error or something, when I'm using code on a platform where that does nothing.

I find that the error detection and corresponding exception handling is still incomplete.
How will further software design options be taken better into account?

Is
	og_mutex_t r = malloc( sizeof( pthread_mutex_t ) );
	if( !r ) return 0;

insufficient?

You continue to ignore (or overlook) relevant return values from some function calls (besides the mentioned memory allocations), don't you?
How do you think about to avoid possibly duplicate source code a bit more?

There are some locations, like with CloseHandle but, there is no cross-platform understanding of what true or false or an error would mean as a return value here.   If you have specific locations in mind where you think it makes sense to potentially handle errors in a better way, please point them out.
Where do you think it would be good to reduce duplication?  Even if some code is duplicated between OSes, I try to avoid having a lot of #ifdef's on a per function bases.

If you have specific locations in mind where you think it makes sense to potentially handle errors in a better way, please point them out.

I find the usage of functions from the POSIX thread programming interface questionable for this issue.

Where do you think it would be good to reduce duplication?

I suggest to take experiences for safe design of software libraries (or frameworks) better into account.
Some checks for failure predicates need to be repeated necessarily.
You can choose with which software development tools the desired checking should be achieved finally.

I am not a developer on this project, so I definitely do not speak for cnlohr; nevertheless I would like to try and understand what you are saying with regards to improvements.

I find the usage of functions from the POSIX thread programming interface questionable for this issue.

I am going to interpret this as disapproval of the usage of the pthreads library due to its possibly error prone API. If this is not the case, please correct me. With this understanding, I think the usage of pthreads over some more modern threading API is a conscious decision on cnlohr's part in order to make this library as low-level and to keep this project more or less free from dependencies.
The other interpretation of this statement is that the return values from pthread_mutexattr_init,
pthread_mutexattr_settype, and pthread_mutex_init are not being checked. I believe that this was covered earlier in the discussion, but I will add my thoughts as well. Checking the documentation for pthread_mutexattr_init shows that it only has two possible return values: 0 for success, and ENOMEM if there is not enough memory to allocate a mutex. As was discussed previously, the likelihood of this happening is very small, and if it does fail here, there are probably larger issues at play.
Similarly for pthread_mutex_init; although more of a case could be made here that error checking is necessary, as there are more error values to handle. EAGAIN, ENOMEM, and EINVAL are similar to what has been previously described, and are unlikely to happen. EBUSY will never happen, which leaves the only error condition left as EPERM as the only condition that might be worth checking. From my (very small) amount of research, it seems like this return value is really only useful while using the object (e.g. pthread_mutex_unlock) so probably another unnecessary check.
Lastly, the only way that pthread_mutexattr_settype can fail is if the constant attribute passed to it is invalid, it seems wasteful to check a compile time attribute at runtime.

I suggest to take experiences for safe design of software libraries (or frameworks) better into account.

It would be nice to give an example of a library doing this well as a reference.
I know you have mentioned aspect-oriented programing before, bear in mind that this is a group of people who have doubts about object-oriented programing, different methodologies will likely be met with some skepticism. :-)

Some checks for failure predicates need to be repeated necessarily. You can choose with which software development tools the desired checking should be achieved finally.

I'm not really sure what you mean by the second sentence. Could you elaborate?
Sorry for such a voluminous post.
-Sam Ellicott
Soli Deo Gloria

I am going to interpret this as disapproval of the usage of the pthreads library due to its possibly error prone API.

You interpreted my wording from yesterday into an unwanted direction.

The other interpretation of this statement is that the return values from pthread_mutexattr_init,
pthread_mutexattr_settype, and pthread_mutex_init are not being checked.

I am trying to increase the software development attention also more in this area.

It would be nice to give an example of a library doing this well as a reference.

Would you like to take another look at other available Pthread wrapper libraries?
How do you think about to reuse the corresponding programming interface from the C (or C++) standard thread support library?

…, different methodologies will likely be met with some skepticism.

I would like to present additional views and ideas also for this issue.

I'm not really sure what you mean by the second sentence.

I pointed alternatives out. I am curious how design choices can evolve also for this software.

Disclaimer: I am coming from Twitter.
@elfring It seems you are raising concerns that are not valid within this project use cases.
This library is presented as thin and compatible with a wide range of platforms. It is not presented as a library you can use in automotive, aviation industry or any area with heavy requirements.
How would you recover from a failed malloc() ? I think an infinite loop of malloc() on a OOM system will not make the software more stable/usable. I find it cleaner to ignore this "possible" failure.

How would you recover from a failed malloc() ?

System recovery according to (temporarily) insufficient resources is another development challenge.
I would prefer to be notified for a questionable run time situation.
Do you try to avoid undefined software behaviour by using an “infinite loop”?

The only situation in practise when malloc/new fails is when you supply ridiculously large value

Or when using resource limits or when overcommit is disabled.

...instead of wasting the CPU's time instruction cache, etc with branches that cannot be called

Many projects that don't want to exhaustively handle malloc() returning NULL use an "xmalloc" wrapper that calls abort(). If you use __attribute__((cold)) on the error handler, it's basically "free" w.r.t branch prediction and cache effects.

I do rather like the attribute cold idea, but it makes me nervous to do on a library like this because I don't know what compilers people will be using it on...  Maybe that's worthwhile.

I do rather like the attribute cold idea, but it makes me nervous to do on a library like this because I don't know what compilers people will be using it on

The following COLD macro expands to __attribute__((__cold__))  under Clang and GCC, or to nothing under other compilers:
#define VERCMP(x, y, cx, cy) ((cx > x) || ((cx == x) && (cy >= y)))

#if defined(__GNUC__) && defined(__GNUC_MINOR__)
    #define GNUC_GE(x, y) VERCMP(x, y, __GNUC__, __GNUC_MINOR__)
#else
    #define GNUC_GE(x, y) 0
#endif

#ifdef __has_attribute
    #define HAS_ATTRIBUTE(x) __has_attribute(x)
#else
    #define HAS_ATTRIBUTE(x) 0
#endif

#if GNUC_GE(4, 3) || HAS_ATTRIBUTE(cold)
    #define COLD __attribute__((__cold__))
#else
    #define COLD
#endif

It's purely for performance purposes, so a no-op fallback still produces the same result.

I did eventually decide to add the checks in.   If it was something where perf mattered, I very well may do this.  But, as it stands, perf does not matter on that code as it is creation and code.   My views have been updated, but I think it's time to close this issue.


docs: Add note about the EC Terraform provider

Description

Mentions the EC Terraform provider as the preferred tool to manage
deployments.
Related Issues

None
Motivation and Context

Some users are still relying on ecctl to create and manage ESS deployments, while the tool allows it since it can create deployments from a JSON definition, it's not the most suitable tool for the job.
Types of Changes

[x] Documentation

Thank you, Marc 👍


Add support for DAI

Add support for transferring DAI in the protocol.
After discussion with Maker, it looks like there isn't a meaningful pathway for us to be able to do 1:1 DAI mint/burn for realistically another 6+ months. Given that there is a lot of demand for DAI from GnosisChain and other partners, we cannot afford to wait to support it. So instead, I think we should support DAI using the normal nextDAI-DAI stableswap flow.
Steps to add support:

[ ] Whitelist DAI in the protocol
[ ] Deploy nextDAI-DAI pools on each chain
[ ] Add support for DAI in SDK, docs, and other supplementary tooling
[ ] Add DAI as an asset on ConnextScan
[ ] Add DAI as an asset on the Bridge UI
[ ] Onboard routers to supply DAI liquidity
[ ] Prepare and publish a community announcement about the new asset listing
[ ] Add DAI to liquidity bootstrapping campaign

Complexity: 21
See the discussion in Sprint Poker #26
Powered by Parabol

Impact: 4
See the discussion in Sprint Poker #27
Powered by Parabol

Urgency: 4
See the discussion in Sprint Poker #27
Powered by Parabol

@LayneHaber to start on this task.

Signed multisig txs.


IndexOutOfBoundsException in WebDavFolder.fetchEnvelope

Expected behaviour
Email headers (and content) should be retrieved
Actual behaviour
IndexOutOfBoundsException
03-05 01:02:12.967    5668-5723/? I/k9﹕ Synchronizing folder Work:Inbox
03-05 01:02:12.974    5668-5723/? I/k9﹕ url = <<REMOVED FOR PRIVACY>>
03-05 01:02:12.974    5668-5723/? I/k9﹕ Requesting gzipped data
03-05 01:02:13.111    5668-5723/? I/k9﹕ url = <<REMOVED FOR PRIVACY>>
03-05 01:02:13.111    5668-5723/? I/k9﹕ Requesting gzipped data
03-05 01:02:13.359    5668-5723/? E/k9﹕ synchronizeMailbox
    java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
            at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
            at java.util.ArrayList.set(ArrayList.java:481)
            at com.fsck.k9.mail.store.WebDavStore$WebDavFolder.fetchEnvelope(WebDavStore.java:1735)
            at com.fsck.k9.mail.store.WebDavStore$WebDavFolder.fetch(WebDavStore.java:1512)
            at com.fsck.k9.controller.MessagingController.fetchUnsyncedMessages(MessagingController.java:1475)
            at com.fsck.k9.controller.MessagingController.downloadMessages(MessagingController.java:1312)
            at com.fsck.k9.controller.MessagingController.synchronizeMailboxSynchronous(MessagingController.java:1124)
            at com.fsck.k9.controller.MessagingController.access$300(MessagingController.java:113)
            at com.fsck.k9.controller.MessagingController$8.run(MessagingController.java:919)
            at com.fsck.k9.controller.MessagingController.run(MessagingController.java:423)
            at java.lang.Thread.run(Thread.java:818)
03-05 01:02:13.412    5668-5723/? E/k9﹕ Failed synchronizing folder Work:Inbox @ Sat Mar 05 01:02:13 GMT+00:00 2016

Steps to reproduce

Add an Exchange account
Sync emails

Environment
K-9 Mail version: 5.107
Android version: 6.0.1
Account type (IMAP, POP3, WebDAV/Exchange): Exchange

The bug is with:
            List<WebDavMessage> messages = new ArrayList<WebDavMessage>(10);
            // Some lines of code
            messages.set(i, startMessages.get(i));

[set](https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#set(int,%20E)) replaces an existing element. But messages is guaranteed to be empty at this point - we've only just created it as an empty array.
I think we just want message.add(startMessages.get(i))

It's never as simple as it looks is it...
This appears to be the design all over the place.
A couple of lines down, the newMessages container has the same issue. Then when I fixed that on a fork, it printed out the following many times:
03-05 11:04:46.578 7993-8017/com.fsck.k9.debug I/k9: Requesting gzipped data

And then it ran into the same problem with the flags:
03-05 11:05:56.554 7993-8017/com.fsck.k9.debug E/k9: synchronizeMailbox
   java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
      at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
      at java.util.ArrayList.set(ArrayList.java:481)
      at com.fsck.k9.mail.store.webdav.WebDavStore$WebDavFolder.fetchFlags(WebDavStore.java:1637)
      at com.fsck.k9.mail.store.webdav.WebDavStore$WebDavFolder.fetch(WebDavStore.java:1490)
      at com.fsck.k9.controller.MessagingController.fetchUnsyncedMessages(MessagingController.java:1326)
      at com.fsck.k9.controller.MessagingController.downloadMessages(MessagingController.java:1168)
      at com.fsck.k9.controller.MessagingController.synchronizeMailboxSynchronous(MessagingController.java:967)
      at com.fsck.k9.controller.MessagingController.access$300(MessagingController.java:99)
      at com.fsck.k9.controller.MessagingController$8.run(MessagingController.java:754)
      at com.fsck.k9.controller.MessagingController.run(MessagingController.java:257)
      at java.lang.Thread.run(Thread.java:818)

So it looks like this particular code path has never been excised at all. I'm guessing there's not much use of Exchange in K9. Certainly the IMAP store is better organised and tested.

I tried writing a test for this behaviour but I found I need to build a whole Store object which then mandated a WebDavHttpClient. I'm probably going to take a leaf out of the IMAP store design and separate out the components. This will take longer to code but be easier to test for the future.

@cketti are you okay with this kind of substantial PR?

Looking through the code, there's also some unimplemented methods. I'll probably try and implement those too - "Mark All Messages Read" is definitely something I want to use.

03-05 12:25:37.288 7373-7411/com.fsck.k9.debug W/SingleClientConnManager:
   Invalid use of SingleClientConnManager: connection still allocated.
   Make sure to release the connection before allocating another one.

Seeing quite a bit of this too. Not sure if it's related yet.
With the fixed version (pushed to my repo), the app hung. It appeared to request more messages every time I tried to get it to poll.
I re-installed and was able to get my fixed version to work. However the status line said "Poll Work: Inbox 50/25" before it finished.
It still seems to take ages to poll, but that might be my exchange server.

This was fixed by #1147


Components should close ports/sockets if the up/down streams are disconnected (zmq keeps them ready for connections)

Refactored core and other components where it makes sense to shutdown on port closing.


Width of Platform View type: [plugins.flutter.io/camera_1] may not be set. Defaulting to width: 100%.

Steps to reproduce
There was a change in flutter related to using HTML slots to render platform views in the web with makes obligatory to setup platform view width and height.
https://docs.flutter.dev/release/breaking-changes/platform-views-using-html-slots-web
I ask you to update the package to comply with that change to prevent warning reporting.
Expected results
No warning
Actual results
Warning is shown
Width of Platform View type: [plugins.flutter.io/camera_1] may not be set. Defaulting to
width: 100%.
Code sample
Code sample
To fix the issue two lines of code should be added to camera.dart file of the package around line 171
 divElement = html.DivElement()
    // - edit start
      ..style.width = '100%'
      ..style.height = '100%'
    // - edit end
      ..style.setProperty('object-fit', 'cover')
      ..append(videoElement);

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[Paste your output here]

Thanks for the report @pogorv12
The doc does say about fixing the warning as below:

Are you asking anything different from above ?

Yes. I'm asking to implement this in camera_web 0.3.3 package and later to prevent warning generation.
I miss this information in the description. Sorry for that.

CC @ditman

We'll fix this after (or at the same time) as the package:web migration of the package :)

Seem to be fixed (width and height properties are set).


added get all subscriptions in controller and tests + Subscription ge…

…tter next_payment_date

please configure mypyto your repo and add it to CI

please make pytest with coverage and take a look on report

please add makefile with commands like
test
and
format


How to disable typescript plugin or typescript server for vue(lang="ts") file?

I can disable typescript plugin globally but I still want this plugin enabled for my other pure typescript project or file

+1 >_<

Try this
Alter file typescript/libs/view_helpers.py to update function is_typescript like this:
def is_typescript(view):
    """Test if the outer syntactic scope is 'source.ts' or 'source.tsx' """
    filename = view.file_name()
    blocklist = [".vue", ".html"]
    name, extension = os.path.splitext(filename)
    if not filename:
        return False

    if extension in blocklist:
        return False

    try:
        location = view.sel()[0].begin()
    except:
        return False

    return (view.match_selector(location, 'source.ts') or
            view.match_selector(location, 'source.tsx'))

@django-wong Good job, It works fine, thank you.

Thanks @django-wong. This saved my bacon as well, I was on the verge of giving up and stop using Typescript for new Vue files from now on.

@nehbit that's true, also use LSP + vue-language-server can bring the code intellisence back

Sorry for the delay, the fix is out at #705.

Thank you!


clarification on mode \cpu, \gpu, enable-watchdog = false, allow-cpu-retry = true

I have a large query on which I am getting the following error:
"Exception: Failed to run the cardinality estimation query: Query couldn't keep the entire working set of columns in GPU memory"
I already have "enable-watchdog = false", "allow-cpu-retry = true" in the configuration file. Is it supposed to try automatically in small batches in \gpu mode, the try \cpu mode if gpu does not work well?
To work around this, I had to manually switch to cpu mode using \cpu before running query.
Also, is there way to check how much GPU ram a query need in order to run with enable-watchdog = false or enable-watchdog = true ?

Currently the cardinality estimation does not drop back to CPU if it fails.  So in your case the query exits at cardinality_estimate on GPU.
enable-watchdog has no effect on how much memory is going to be used by a query.
We do not currently pre-calculate/estimate how much memory a given query is going to need, this is something we do plan to do, it just hasn't been done yet.

In \cpu mode, I got the following error indeed:
"Exception: Failed to get a high quality cardinality estimation"
Is there any workaround?

I suspect you are requesting a huge number of groups.
Can you share the query and the cardinality individually of all the group by columns

I have a table t1 with 3 columns (c1 int, c2 text encoding dict, c3 int) with about 4 billion rows. There are about 0.7 million unique c1 values. c2 averages about 8 characters. There are another table t2 with same structure as t1, but just 500 c1 values. The error occurred when joining two tables on c1 with some calculated column.
--It will be great if you add features like RDMS "explain plan" to show the execution plans with RAM requirement
--If the query plan does not fit GPU or CPU ram, can the execution be done on disk or in small batches in GPU or CPU. You mentioned that cardinality estimation  was always done in GPU, why is that?
So is there any way to bypass the error and run the query with current mapd version?

Please share the the query statement.
There is basic execution plan information from explain calcite select .... and additionally explain select ....
The initial cardinality estimate is done on whatever device the initial query is requested to run on.  A failure to run the cardinality on GPU currently does not allow the query to fall back to cpu.

Here are the table structure, query and error messages. Please help.
--TABLE definition:
t1: (c1 int, c2 text encoding dict, c3 int)
t2: (c1 int, c2 text encoding dict, c3 int)
--Sample query:
select count(*)
from
(
SELECT t1.c1 as c11, t2.c1 as c12, SUM(t1.c3 * t2.c3) AS dotp, SUM(1) as jdotp
FROM t1
INNER JOIN t2 on t1.c2 = t2.c2
WHERE t1.c1 <> t2.c1
GROUP BY t1.c1, t2.c1
) t;
--ERROR:
*when t1 has same amount of data as t2 (4 billions rows):
"Exception: Hash tables with more than 2B entries not supported yet"
*when t1 only has about 500 distinct c1 values:
Exception: Failed to run the cardinality estimation query: Query couldn't keep the entire working set of columns in GPU memory

@lightsailpro If we do the math, we have 4B rows x 6 columns x 4 bytes worth of input data, which is 96GB. It doesn't fit in your K40's 12GB of memory.
We could make this query to run on the K40 by allowing data do be swapped in and out of GPU memory via PCI Express, there's already a mechanism for it which we don't expose to user. But we've decided not to, because in such cases (a lot less GPU memory than needed) it's not worth running the query on GPU at all. You should still be able to run the query in CPU mode.

Thanks for your help and analysis.
In case 1), even with CPU mode (\cpu), I still have this error:
"Exception: Hash tables with more than 2B entries not supported yet". Hopefully future version will have this restriction removed.
In case 2), with \cpu mode, no "2B entries" exception probably because the outer table is much smaller. The query run for a while, then get the following error:
"Exception: Failed to get a high quality cardinality estimation"

How many groups do you expect the results to have? If t1.c1 and t2.c1 are independent, you might be running out of linear probabilistic counter's precision and it wouldn't matter a lot if we're talking too many groups to handle (on a single machine) anyway. If the actual number of groups is reasonable, we might be able to fix this.
Also, even 64GB of host memory isn't enough for what you're trying to do, just the input data involved is 96GB.

In a single batch, t1 and t2 actually have same data with more than 0.5 million (t1.c1) x 0.5 million (t2.c1) pairs of (t1.c1, t2.c1).  But we can do the calculation in smaller batches incrementally with around n (t1.c1) x 0.5 million t2.c1 pairs with "n" from 500, or 1000, the larger the better, depending on what mapd core engine can handle and finish the query in reasonable time e.g. less than 10 minutes.
The current query is running on hive with map-reduce. I feel mapd core can do the calculation more efficiently.
So with current mapd core version, is there any solution to handle 500 x 500000 groups of "t1.c1 t2.c1"?

Sharding on the c1 column of t2 would work, but you need more than one server (or something like 8 x K80 cards).

Which NVIDIA cards can MapD use?
I understand it is optimized for NVIDIA Tesla P40 and P100
https://www.mapd.com/docs/latest/getting-started/hwRefCfgGuide/
Will MapD use other GPUs as well though at a lower level of performance?
thanks

Closing this issue. If this continues to be a problem with one of our current 4.x releases, please feel free to open another issue


Multiple Locators

Is your feature request related to a problem? Please describe.
Some of our tests use multiple locators
Describe the solution you'd like
Add the ability to specify number of locators as well as servers.
Describe alternatives you've considered
No response
Additional context
No response

WIth the latest 2.0.0 version, multiple locators can be specified when constructing the cluster:
GemFireCluster dockerCluster = new GemFireCluster(2, 3);

Would create a cluster with 2 locators and 3 servers.


Sensors marked as unknown

Hello,
I was able to successfully connect my Polestar 2 to HA. Unfortunately, almost all sensors are not available, except the API token, VIN, internal vehicle number and my license plate.

At first I thought I would have to switch the vehicle on and drive a lap. But the conditions haven't changed. Unfortunately, removing and re-adding in the IT manner :) didn't work either.
Does anyone know what to do or have the same problem?

have you check what you see in the log for error or warning?

Is this still an issue? If not please close the issue.


New release

Is it possible to make a release with a bug fix from #34?

Done. Released 1.0.11

Closed.


Could you show some detail about the training loss implementation

Hi there,
I'm wondering how you implement the loss function for Generator and Discriminator respectively. I notice that your overall loss is quite original, but I still hope to know which part will be involved in the Generator's Loss, and which part will be involved in the Discriminator's Loss.
Thanks for any response!

Hi, thanks for your attention,
The loss functions are detailed in Eq. (2), (6), (12), and (13) in our paper.
We use a pre-trained denoiser RID-Net as a regularizer to conduct image domain alignment in Eq. (2)
The loss functions of Generator and Discriminator are given in Eq. (6)
Eq. (12) describes perceptual loss
Eq. (13) is the overall training objective which is a weighted sum of Eq. (2), (6), (12)
Admittedly, the training process is very sophisticated. We are going to do more research and extend our paper to a journal version. I appreciate your kind re-implementation of our PNGAN. I will mention your work in this repo. Thank you very much.


Add from_tuples() and from_array to HashMap

This commit adds the constructors from_tuples() and from_array to
the HashMap class. There are probably several arguments for having
convenience functions like this, but the primary motivation for this
was the question of whether or not Pony had sugar for creating
maps. In the interest of keeping sugar to a minimum I think this is
the next best thing.
from_tuples() creates a HashMap from an array of tuples of key/value
pairs.
from_array() creates a HashMap from an array of alternating keys and
values.

@aturley - it seems like a pain that these constructors can error - in most use cases I can think of, I'd have to do something like try Map[A].from_tuples(...) else Map[A].create() end and silently fall back to an empty map if the from_tuples constructor errors, but this is probably not what I usually want.  It should be possible to define the semantics of these constructors in such a way that they never fail (for example, as you said in from_array, ignoring the final element if there is an odd number of elements).
It seems like using update instead of insert would help you avoid making these partial constructors.

@jemc that's a great point, although I think it applies more strongly to from_tuples(...) than from_array(...), since from_tuples(...) can completely rely on the type system to make sure the caller gets the arguments right, while from_array(...) depends on the user getting the order/types of the list elements right.
If you called HashMap[String, U32].from_array("a", 1, 2, 3), would you expect to get an error, or would you expect to silently get back the map {"a": 1} (sorry, falling back to Python notation here), or something else? Does the potential for problems here outweigh the benefit of having this function? I could see it going either (any) way here, though I think I have a slight preference toward the error in this case.

Let me sleep on this one.

@aturley, why isn't it:
fun ref concat(iter: Iterator[(K^, V^)]) =>
  for (k, v) in iter do
    this(consume k) = consume v
  end

That would let @jemc do:
let map = Map[K, V].concat(tuple_array.values())

It would also let you build a map using your itertools package:
let map = Map[K, V].concat(Zip2(key_array.values(), value_array.values()))

Hmm, possibly even it solves both use cases?
Add a Map iterator to your itertools package, and do:
let map = Map[K, V].concat(
  Zip2[K^, V^](
    iter.Map[(K^ | V^), K^](mixed_array.values(), lambda(v: (K^ | V^)): K^? => v as K^ end),
    iter.Map[(K^ | V^), V^](mixed_array.values(), lambda(v: (K^ | V^)): V^? => v as V^ end)))

concat seems to solve the problem for the most part. The compiler makes you do some extra work declaring the type of the iterator you use. I may still look for a way to reduce the verbosity to make this a little closer to a literal syntax for creating maps, but I'll do a new PR for that.


Performance a sanity check over column name when writing new data.

Problem Statement
Users wrote dataset with columns such as "foo-bar" as column names into Lance Dataset. However, it prevents users to filter over the column , because sqlparser will treat it as foo minus bar.
Solution
Either we ban the column names with these characters, or change the sql-parser to allow users to use double / single quote to refer a column.

depending on what design we go for, a more interpretable error message to guide the user is needed
i'm a bit confused at the moment what the bug is if i use a keyword as a column name (which you're likely to hit as they are common)

Well by default, sql-parser allows " to wrap column names. However, in https://github.com/lancedb/lance/pull/639/files we started parsing double quotes as strings (in SQL usually it's just single quotes). So I guess we can choose a different symbol. Maybe backtick, like MySQL?


Adding recognizers dynamically

Hi, I'm the author of #991 (SVG path trace recognizer)
tl;dr I suggest an enhancement to allow recognizer plugins for Hammer.js
Originally, and like I wrote in the PR comment, Hammer architecture currently does not easily allow adding recognizers dynamically. It assumes all recognizers are pre-packed with the lib, which makes it harder to write external modules. This means that extra functionality that might be relevant to some but not all use cases will either be deemed too out of scope and thus not included with hammer, or get included and bloat up the core lib.
Use case: Other than the SVG path follow I've already implemented, I'm also working on implementing an arbitrary shape/stroke recognizer based on $1 unistroke recognizer. This is a very specific use case that relies on an external library, with a different license than that of Hammerjs. It would be cool if Hammer could support it via external plugins, but without having to include both the implementation and the library in the source code.

Here's the shape/stroke recognizer in action, in a test from my game:

Would love to implement this as a plugin

This is functionality we decided to add directly to the library probably in V3

Neat! Based on my work, or a new implementation?
I'd be happy to contribute/maintain the code. I've learned a lot about the nuances of these types of gestures during my work on the game, which is a high budget production set to release in a few weeks... :)

@OpherV V3 is a complete re-write so not sure how direct it would transfer but we would love your help!

Also the ability to add and remove recognizers has always been planned and will be in v3 to allow custom builds.

Alrighty then - I'll stay tuned.
I'm super excited for the project to be released so I can show you and @runspired

We do most of our planning and discussion on slack feel free to join us

@arschmitz Like I promised it's finally out!
It's an interactive video/html5 game for the Detroit Pistons
Hammer.js is used to drive the game mechanic on mobile, but here's a secret link that lets you see it on desktop as well:
http://pistons.com/1on1?forcetouch=true

Check it out :)

@OpherV What an awesome game!!!


Logout without confirmation

just log out directly, confirmation should not be necessary. there is no work that can be lost.

done.


Add -s (short) flag to allow output of hex/bin without leading zeroes

Add -s (short) flag to allow output of hex/bin without leading zeroes

obsolete


docker set up for unittest

When I set up the unittest using docker form the github wiki page and run the unittest.
I am getting a following error. Although it seems it is picking up correct python version 2.7.11
File "/home/dmwm/unittestdeploy/wmagent/1.0.21.patch4/sw/slc6_amd64_gcc493/cms/wmagent/1.0.21.patch4/lib/python2.7/site-packages/Utils/itertools.py", line 5, in
from itertools import islice
ImportError: cannot import name islice
@ericvaandering, Eric, do you know what I am doing wrong?

This was fixed by #7579


add how-to guide and adjust README file

@ewilliams3794 - we updated the README to include the how to guide haley put together so it'll be easier to find FYI.


core: add tests for events, applications, tags

:tickets: Ticket(s): Closes #89

:construction_worker: Changes
A brief summary of what changes were introduced.
:flashlight: Testing Instructions
Explain how to test your changes, if applicable.

@suujia the failing test: https://travis-ci.com/ubclaunchpad/pinpoint/jobs/183612664#L1830
you might want to pull in #152 to make things easier to debug


Upgrade github.com/lucas-clemente/quic-go to v0.23.0

What does this PR do?

Motivation
v0.22.1 fixes a race condition and v0.23.0 is the latest release.
More

[ ] Added/updated tests
[ ] Added/updated documentation

Additional Notes
https://github.com/lucas-clemente/quic-go/compare/v0.22.0...v0.23.0

Hello @sylr,
This change fixes a bug, thus is labeled as a kind/bug/fix for v2.5.
Can you rebase your branch to be merged onto v2.5 instead of master ?
Thanks

@tomMoulard done!


[Spark-15154][SQL] Change key types to Long in tests

What changes were proposed in this pull request?
As reported in the Jira the 2 tests changed here are using a key of type Integer where the Spark sql code assumes the type is Long. This PR changes the tests to use the correct key types.
How was this patch tested?
Test builds run on both Big Endian and Little Endian platforms

Can one of the admins verify this patch?

Test build #2977 has started for PR 13009 at commit 96a0dff.

Test build #2977 has finished for PR 13009 at commit 96a0dff.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

cc @davies

should I add an assert into the LongHashedRelation.apply to validate the key and a test to cover this?

LGTM,
Merging this into master and 2.0, thanks!


Title: Realtime clock

Is your feature request related to a problem? Please describe.
I want to add a clock made with javascript
Describe the solution you'd like.
A realtime clock which shows the time.
Describe alternatives you've considered.
This clock looks like a physical clock .
Add any other context or screenshots about the feature request here.

Assign this to me @MohammadAsiya

@MohammadAsiya Thank you for providing your insight but it is not required as of now


Not clear where GitHub Environment Variables (Org Secrets) come from

In the Configure GitHub org secrets section, it's not clear what the value of the secrets needs to be. It should be made explicit that the secret should be the password for the admin user used for running each deployment stage.

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

ID: cc5d3a97-f062-9c7c-a5b6-8ec69178e1bc
Version Independent ID: 476f4f57-b869-c759-74cc-beb4e2deaa26
Content: Set up ALM Accelerator for Makers components - Power Platform
Content Source: power-platform/guidance/coe/setup-almaccelerator.md
Service: power-platform
GitHub Login: @manuelap-msft
Microsoft Alias: mapichle

Agreed. I will include this along with your other feedback on oAuth.

Closing this issue as no further action is required from our team at this time. Created a new Issue here to address doc updates microsoft/coe-starter-kit#798


Cannot access full route pathname from match prop

Version
4.2.0
Test Case
https://codesandbox.io/s/zrjzkjvmj4
Steps to reproduce
First of all, I am not sure if this a bug or if my use-case is just not possible yet.
I have a prefixed route (<Route path='/:locale(en|fr)' component={App} />) The App component has several sub routes (prefixed with /:locale`).
I have specific <Link /> elements to update this parameter.
Ex: navigate to /en/topics/rendering and try to switch to /fr/topics/rendering.
Expected Behavior
If I navigate to a sub-route, I expect those links to respect the full path of the sub-route.
To be actually as generic as I can : whatever is the route I am currently on, I expect my Link to target  the current route, just replacing the locale parameter.
# Current route: "/en"
<Link to={ compiledPath({ locale: 'en' }) }>EN</Link> ---> /en
<Link to={ compiledPath({ locale: 'fr' }) }>FR</Link> ---> /fr

# Current route: "/fr/some/sub/path"
<Link to={ compiledPath({ locale: 'en' }) }>EN</Link> ---> /en/some/sub/path
<Link to={ compiledPath({ locale: 'fr' }) }>FR</Link> ---> /fr/some/sub/path

Actual Behavior
In my case, even if I navigate to /en/topics/rendering, the match prop only contains the /:locale prefix, and I cannot get the full pathname of the current route.
(Because App component itself render other <Route />)
Another problem : if the sub route contains a /, the redirection is broken (because of encoding).
Maybe I am just doing it wrong, in which case I would love to receive any tip of how to design that!
(I spent almost an entire day on medium, stack overflow etc. trying to solve this...)
I have tried to play with path-to-regexp and location.pathname, but I find it hard to deal with, for a use-case that IMHO is quite basic?
Related links :

https://stackoverflow.com/questions/47945095/react-router-how-to-replace-dynamically-parameters-in-a-string

EDIT : Made it work adding a split('/') if the /:path is defined.
Still thinking it's not the best way to achieve what I'm trying to do... Any tip?

Hum, I guess, why would I make things simple when I can make it complicated haha...
Thanks a lot for this refractoring @timdorr :)


Support TensorRT FP16 for Conformer Offline encoder model

Hi all,
This PR gives how to convert Conformer Offline ONNX model to TRT.
We also show  throughput and latency comparisons of TRT vs ONNX.
Generally, TRT gives avg ~26.5% speed up. See README.md for details.
We will benchmark the whole pipeline perf improvements later.
Also, we will support Zipformer TRT , streaming models and INT8 in the coming days.
Thanks!!

Have checked that the WER of partial LibriSpeech test-clean (<20 seconds, the number is 2528) is same for ONNX and TRT model ^^
No performance drop

This PR is ready for merge :)

Thanks!


Add support for sending "assume" hints to compilers

Add support for giving compilers (and static analyzers) hints about value ranges of variables, allowing them to better optimize the code.
It is very important that Assume hints are always true, therefore make debug builds check the values and throw errors if the assumption is not true.
Make Assert() do Assume() in release builds.
Add hints about value ranges coming into inffast
Remove always-true Assert in zng_tr_tally_lit()

Just letting existing Asserts() calls go to Assume() reduces compiled code size by 104 bytes on x86-64.
Performance seems to be unchanged with these hints (within 0.01%).
The intentions behind adding this:

Improve static analyzer hinting, letting them avoid false-positives.
Possibly letting the compilers better optimize code and for example not try to optimize for big lengths where we already know that we will only have short lengths (for example 258bytes is the max length of matches, so there is no need to optimize for the 64kB lengths that the datatype would allow).
Make adding asserts/assume to new code more attractive.
This would then also make code more self-documenting and make it easier for anyone to understand the limitations of a function.

Summary by CodeRabbit

New Features

Introduced new macros for enhanced error-checking and debugging: z_assume and Assume.

Bug Fixes

Improved error handling in compression and decompression functions with additional assertions to validate parameters.

Documentation

Updated comments to clarify the purpose of new macros and assertions.

MSVC had support for this before the stated version, but I found some references to bugs, so ended up setting VS 2012 as lower end.
Clang had support from 4.5 or thereabouts, but I set version 5 as lowest for the same reason.
It is possible to emulate this using unreachable attributes in older GCC versions, however the semantics for that differ a little, therefore I chose to only use the proper assume hint at this time.

I'll have to redo this PR, as I had initially suspected, not all the asserts are in fact usable as assume hints (some variables do not exist in release builds, so those cause failures).
I need to consider whether to add all Assume hints separately, or whether to introduce another Assert() that does Assume in release builds, while the normal one does not (name suggestions?). Thoughts?
We could possibly do it like this if it looks clean, not sure.
Assert(buf != NULL, "lost buf"); Assume(buf != NULL);

I'll have to redo this PR, as I had initially suspected, not all the asserts are in fact usable as assume hints (some variables do not exist in release builds, so those cause failures).
I need to consider whether to add all Assume hints separately, or whether to introduce another Assert() that does Assume in release builds, while the normal one does not (name suggestions?). Thoughts?

Something like Verify() for release builds would work... It makes clear that we don't assume the condition holds, we want to make sure it holds.

I need to consider whether to add all Assume hints separately, or whether to introduce another Assert() that does Assume in release builds, while the normal one does not (name suggestions?). Thoughts?

Something like Verify() for release builds would work... It makes clear that we don't assume the condition holds, we want to make sure it holds.

Not sure what you mean Verify would do. We don't want to add actual checks to the release builds.
That is why the hint is named assume, meaning it is completely safe for the compiler to assume that the hint is always true. Using an assert would give compilers and static checkers the same hint but also perform the check and thus cost performance and add instructions to the compiled code. Assume gives the hint but does not add any verification code to the build, if you assumed wrong it would more than likely break due to incorrect optimizations.