[QUESTION] How differentiate max and non-max types in ResultSet

Question
From JDBC-spec:
    /**
     * Retrieves the designated column's SQL type.
...
     * @return SQL type from java.sql.Types
...
     */
    int getColumnType(int column) throws SQLException;

For columns of type charchar(max) I would then expect this to return -1 (java.sql.Types.LONGVARCHAR), but it returns 12 (java.sql.Types.VARCHAR). I debugged a little bit, and found that this is caused by this switch-case:
https://github.com/microsoft/mssql-jdbc/blob/master/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerResultSetMetaData.java#L138
r = -1 before that switch-case (which is what I would want).
The comment here gives a pointer to why this is done:

    // under Katmai map the max types to non max to be inline with DBMD.

https://github.com/microsoft/mssql-jdbc/blob/master/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerResultSetMetaData.java#L112
I guess DBMD is DatabaseMetaData, but still don't understand why this is done this way.
I can't find any other way to derminine whether a column in a resultset is varchar or longvarchar.
Same goes for the other max-types I guess.
I reason I ask this question is that I'm trying to do .getClob when the coloumn is varchar(max), and .getString if it's a normal varchar.
Relevant Issues and Pull Requests
I couldn't find any issues related to this.

I believe the longvarchar datatype no longer exists in "newer" versions of SQL Server, it's been replaced with varchar(max).
From the documentation: "The SQL Server text and ntext types map to the JDBC LONGVARCHAR and LONGNVARCHAR type, respectively. These are deprecated types beginning in SQL Server 2005 (9.x), so you should use large value types, varchar(max) or nvarchar(max), instead."

I believe the longvarchar datatype no longer exists in "newer" versions of SQL Server, it's been replaced with varchar(max).
From the documentation: "The SQL Server text and ntext types map to the JDBC LONGVARCHAR and LONGNVARCHAR type, respectively. These are deprecated types beginning in SQL Server 2005 (9.x), so you should use large value types, varchar(max) or nvarchar(max), instead."

Yeah, but that is on SQL Server level, and not on JDBC level right?
According to this table, varchar(max) should map to JDBC LONGVARCHAR: https://docs.microsoft.com/en-us/sql/connect/jdbc/using-advanced-data-types?view=sql-server-ver15#remarks

Yeah, but that is on SQL Server level, and not on JDBC level right?
According to this table, varchar(max) should map to JDBC LONGVARCHAR: https://docs.microsoft.com/en-us/sql/connect/jdbc/using-advanced-data-types?view=sql-server-ver15#remarks


Allow secrets in settings

Fixes https://github.com/danecreekphotography/node-deepstackai-trigger/issues/371
Description of changes
Adds a secrets.json file and use mustache to render those secrets into settings.
Checklist

[x] User-facing change description added to unreleased section of CHANGELOG.md
[x] ~Update sampleConfiguration~
[x] ~Write higher level tests? Settings and main~
[x] Update Wiki?

Cool! I'll take a look at it this weekend.

Cool! I'll take a look at it this weekend.

Sounds good.

@danecreekphotography I updated the sampleConfiguration. I think secrets should be used by default. I realize it is slightly more complicated, however I think it's not worth compromising security.

The docker-compose.yaml change looks fine.
The settings.json file changes are a big hurdle for new users. Based on questions I've had here and elsewhere (ipcamtalk, other Facebook groups), most people using this don't understand Docker at all and just want to have their security cameras have AI motion. Even making minor changes to settings.json was a hurdle for some.
Adding another layer of indirection out of the box and having to explain all that in the documentation is probably overkill for the core userbase: people installing this at home on a home computer.

The docker-compose.yaml change looks fine.
The settings.json file changes are a big hurdle for new users. Based on questions I've had here and elsewhere (ipcamtalk, other Facebook groups), most people using this don't understand Docker at all and just want to have their security cameras have AI motion. Even making minor changes to settings.json was a hurdle for some.
Adding another layer of indirection out of the box and having to explain all that in the documentation is probably overkill for the core userbase: people installing this at home on a home computer.

Gotcha. That makes sense and is an unfortunate reality.
I guess my use case is slightly different, I'm pushing my configuration to github (without secrets.json) so I have a copy, as well as source control. I try to set all my docker stuff up so I can re-image my ubuntu server if something goes haywire and just pull some configurations from github. It seems like users might want the ability to back their configuration up, however it sounds like the average user probably isn't familiar with github. I could see us building a UI that gets all this setup correctly on the backend, then follow home assistant's recommendation; I think they recommend backing things up to github. But like you said, this is probably a big hurdle for most.
I guess I'll just reap the benefits of this change; seems like others may not think to use this. I'll look around the docs and try to identify the right spot to add this information.

Best place to add it to the docs would be as a whole new page called "Managing secrets". Then we can link to it from a bunch of places, like the overview documentation etc.
If you do write something up make sure to run markdownlint on the .md and resolve any errors that get thrown. Thanks!

@danecreekphotography That sounds good to me. I'm not familiar with github's wiki, is that where you're wanting to put it? Is this just something you're able to edit or is there a way for me to fork it and push up a PR?

Yeah you can fork the wiki, but I honestly don't know if you can open PRs against it. I'm not entirely sure how to handle this :(

@danecreekphotography I googled and there are some haphazard solutions. I personally think ditching GitHub wiki's and use some other simple static rendered doc tool, then host that using GitHub Pages; which would be https://danecreekphotography.github.io/node-deepstackai-trigger. I'd have to look around to see what other sites use, but here is one example: React Bootstrap
For now I'll just update a quick doc write-up I did below (feel free to modify this as you see fit):
How to manage secrets
The idea of this section is to separate your configuration from your sensitive information, which we refer to as "secrets". These secrets are mainly passwords or tokens, but you may use them for other information you may consider sensitive; like ip addresses, URIs, etc. Mainly things you may want to keep obscure. The approach is to create a file of key/value pairs, which we represent as a json object ({"key": "value"}). node-deepstackai-trigger uses mustache rendering to search for a secret's key inside the settings.json file and replace it with the secret's value. In order to keep your secrets from being checked into GitHub we will add the file name (secrets.json) to a .gitignore file. Below are the steps to make this happen.

Add a reference to your secrets.json file by adding:

settings:
  # This should point to the location of the secrets.json configuration file
  file: ./secrets.json

to docker-compose secrets here.

Add a reference to your newly added secret by adding:

    - secrets

to the docker-compose container's secrets here.

Add a settings.json file, which can use mustache templating. The value inside the double curly-brace ({{}}) will be swapped for the secret from secrets.json.

{
    "deepstackUri": "http://deepstack-ai:5000/",
    "enableAnnotations": false,
    "enableWebServer": false,
    "verbose": true,
    "awaitWriteFinish": false,
    "mqtt": {
      "uri": "mqtt://mqtt:1883",
      "username": "{{mqttUsername}}",
      "password": "{{mqttPassword}}",
      "enabled": false
    },
    "telegram": {
      "botToken": "{{telegramBotToken}}",
      "enabled": false
    },
    "pushbullet": {
      "accessToken": "{{pushbulletAccessToken}}",
      "enabled": false
    },
    "pushover": {
      "apiKey": "{{pushoverApiKey}}",
      "userKey": "{{pushoverUserKey}}",
      "enabled": false
    }
}

Add a secrets.json file, which will be used for mustache templating in settings.json. Put your secrets as the string value on the right. For example, swap user for your mqtt username; it's as simple as it sounds.

{
    "mqttUsername": "user",
    "mqttPassword": "pass",
    "telegramBotToken": "insert bot token here",
    "pushbulletAccessToken": "access token here",
    "pushoverApiKey": "api key here",
    "pushoverUserKey": "user key here",
}

Add a .gitignore. This enables you to backup this setup to GitHub without exposing your secrets.

secrets.json

I actually went down the path once of trying GitHub pages which is why there's a docs directory: https://github.com/danecreekphotography/node-deepstackai-trigger/tree/main/docs.
I didn't get very far 😂
Thanks for the doc. I'll take it and add it in to the wiki as part of the release process when this all merges.

I actually went down the path once of trying GitHub pages which is why there's a docs directory: https://github.com/danecreekphotography/node-deepstackai-trigger/tree/main/docs.
I didn't get very far 😂
Thanks for the doc. I'll take it and add it in to the wiki as part of the release process when this all merges.

I could potentially help with this at some point (no promises). I have played with github pages a bit, currently one of my demo sites is hosted here: https://tonybrobston.github.io/jpegasus-demo/

Sure, if you ever have time and dig into it. I'm not going to look at it any time soon.
What's the overall status of this PR? Is there anything else you want to add before you consider it done?

I've looked the PR over a few times and I can't think of anything else to add. Lmk if you're able to think of anything else.
I plan to follow this up with another PR which will handle secrets in triggers.json. Also, a side note so I don't forget; it's possible for secrets to be printed in logs accidentally, we'll want to be cognizant of this, since logging a secret will defeat the purpose of this work. I have some ideas on how to handle this or at a minimum, how to write a test that identifies the issue.

Actually, it looks like I have something that will break triggers here: https://github.com/TonyBrobston/node-deepstackai-trigger/blob/93244dc5914965a7b49cb211bf961f003913daef/src/TriggerManager.ts#L53
So I need to do some work on that.

I wonder if we should first put this out as a dev tag docker image. I'd hate to break the main docker image if I missed something.

Actually, looking a bit closer, I don't think https://github.com/TonyBrobston/node-deepstackai-trigger/blob/93244dc5914965a7b49cb211bf961f003913daef/src/TriggerManager.ts#L53 is broken.

When this eventually merges to main it will automatically become a dev tag image. The main image is a manual release by me so there's no risk of having people auto-update until it's really published as stable.
What I've done in the past is produce a separate tagged image for a specific branch. That might be the best thing to do here too: merge this into another branch instead of main, then run it for a bit as that image off Docker Hub before actually merging to main as dev.

I'm good with a separate tag for a specific branch or going to dev, totally up to you.
I was looking into allowing secrets in triggers, it looks super similar to allowing secrets in settings. I think the only thing I'm wondering is, some naming on the object that holds the settingsFilePath and secretsFilePath. I currently have IConfiguration. However I now need another object that holds triggersFilePath and secretsFilePath. So I'm thinking of moving IConfiguration to ISettingsConfiguration and then adding a ITriggersConfiguration. However, we have some other types that are very close to those names: ISettingsConfigJson and ITriggersConfigJson. What are your thoughts? I think I'll go ahed and push my changes up. So my previous comment is slightly incorrect; I'll follow this PR up with another PR that handles removing secrets from a few areas that log, I'm not sure what that looks like yet.

Since IConfiguration isn't really the configuration, it's the paths to the configuration files, maybe do ISettingsFiles? Also why does it have to be a different interface for settings vs triggers? Just call it IConfiguration and have the properties be baseFile and secretsFile?

Alright, I updated to what you mentioned.

Looking into how to handle redacting secrets from logs and I realized I had broken triggers.json hot reloading. I made some changes to hopefully fix that.

I created a new branch called issue371. Can you either change this PR to point at that (does GitHub allow that?) or close this PR and open a new one requesting to merge into that branch instead of main?
That'll give us a place to merge this and produce the Docker tagged image for testing without having it show up in main until we're confident this is all working and ready to go out.

@danecreekphotography I swapped the branch that it's merging into.

Just got caught about by this. Can a sample secrets.json be included in the sampleConfiguration directory?


Provide HELP command

Please provide a HELP command similar to that of BBC Micro:
HELP module
For example:
*HELP MOS
should display the version of MOS and all available commands. And
*HELP BASIC
should display the version of the installed BASIC

I have created a *HELP command. It can provide help on individual commands (*HELP DIR) and all (*HELP ALL).
I used the Wiki to come up with the help text, but happy for any feedback... See #60

This was added in 1.04 RC3


Is it possible to group by on edge field defined in the same table?

I have a table called reviews and a table called review_groups. A review belongs to a review_group and has a field called review_group_id. On the review table is a field called finished. I want to aggregate the total finished against the total inside. Is it possible to aggregate on review_group_id(an Edge)?
type GetFilledInStatusResult struct {
	CreateTime time.Time `json:"create_time"`
	Count      int       `json:"count"`
	Sum        int       `json:"sum"`
}

var Result = make([]*GetFilledInStatusResult, 0)

if err = config.Client.Review.
		Query().
		GroupBy("review_group_id").
		Aggregate(ent.Count(), ent.Sum(review.FieldFinished)).
		Scan(ctx, &Result); err != nil {
			log.Fatal(err)
}

Already find out how :)

Already find out how :)


Changing the height and the width of the circle

Signed-off-by: Rishabh Sharma<EMAIL_ADDRESS>

signed off by: rishabh


FIX/TST: fix some test issues in areadetector/sim

Cherry-picked from 6d287ff276e38a21b4bfce62b506f7ea389b11bb to fix the tests

Merging as a hot-fix to get CI passing again, per discussion in Slack.


I believe the length of a terravalconspub should be 82 length, not 83

https://github.com/terra-project/terra.js/blob/7bbff355d74e40ff9e558ab7791b5c1c6dfa4640/src/core/strings.ts#L131
for example (from terra.stake.id)
terravalconspub1zcjduepqlnrzpfxsl8vx8mlf9hnjf6y24kczr9ue7k68l82pu23qnjj460ksqy0j0d

Fixed in #88 and v1.8.2 deployed


Feature/refacto

Instead of goggles mask, could it be possible to intercept the video data between te remote controller and the smartphone ?

Closing as this looks like an accidental duplicate of #73
Please open a new issue under issues tab for feature requests.


Parser: Work in progress; parse record field attributes

Needs tests and some cleanup.
My goal was to not do any allocations if none of the fields have attributes but maybe that makes the logic more complicated for not much gain. Also, do you think the field_attributes ArrayList should be a member of Parser.record or directly on Parser?

Just need to add validation back in for field attributes.


[Browser Rendering] Guide for PDF Rendering from HTML and CSS

Summary
This PR adds a new how-to detailing how to render PDFs using Cloudflare Workers and Browser Rendering.
Screenshots (optional)

Documentation checklist

[x] The documentation style guide has been adhered to.

Thanks for the review and changes @Oxyjun! Will keep things in the second-person in the future :)

Thanks for the review and changes @Oxyjun! Will keep things in the second-person in the future :)

No worries at all! It was well written anyway - sorry if I came across as nit-picky, thought I'd just align it with other docs :D


ORC-930: Ignore unsupported JSON x ZSTD combination in bench

What changes were proposed in this pull request?
This PR aims to ignore unsupported JSON x ZSTD combination in bench.
Why are the changes needed?
$ java -jar core/target/orc-benchmarks-core-*-uber.jar generate data -d sales -c zstd -s 1
Processing sales [avro, json, orc, parquet]
[WARN ] Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "main" java.lang.IllegalArgumentException: Unhandled kind ZSTD

How was this patch tested?
Manually.
$ java -jar core/target/orc-benchmarks-core-*-uber.jar generate data -d sales -c zstd -s 1
Processing sales [avro, json, orc, parquet]

$ java -jar core/target/orc-benchmarks-core-*-uber.jar scan data -d sales -c zstd
[WARN ] Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
data/generated/sales/avro.zstd rows: 1 batches: 1
data/generated/sales/orc.zstd rows: 1 batches: 1
data/generated/sales/parquet.zstd rows: 1 batches: 1

I updated my branch, but it seems that GitHub outage resets the change from this PR.

https://github.com/dongjoon-hyun/orc/tree/ORC-930

I added an empty commit to recover from the data loss during GitHub outage.

I'll merge this, @pgaref ~ :)


Is the public directory needed?

If I rename the public directory in the code to public.org the epic api still starts. Is it needed?
If NOT can it be removed from the code?
Greetings,
Robert Verkerk

I vote to remove this directory.


Make arrow keys and home button work again

According to this issue https://github.com/cmderdev/cmder/issues/1832
You need to add p5 instead of p when creating the shell or some buttons won't work.
Tried it and it solved my problem.

This change is

Thanks @AltarBeastiful !! 😃


Sqlalchemy 2 cannot be used in projects using langchain.

Langchain depends on sqlalchemy<2. This prevents usage of the current version of sqlalchemy, even if neither the caching nor sqlchains features of langchain are being used.
Looking at this purely as a user it'd be ideal if langchain would be compatible with both sqlalchemy 1.4.x and 2.x.x. Implementing this might be a lot of work though. I think few users would be impacted if sqlalchemy would be converted into an optional dependency of langchain, which would also resolve this issue for me.

+1 this. It would be great if sqlalchemy was an optional dependency since (1) we dont use it and (2) it conflicts with our existing codebase which depends on sqlalchemy>=2.0

It seems like the only blocker for allowing both SQLAlchemy 1.4 and 2.0 is the dependency on duckdb-engine, which is used for Chroma. duckdb-engine is not compatible with SQLAlchemy 2.0. It looks like this may be updated soon on their end https://github.com/Mause/duckdb_engine/pull/439

I've since released version 0.7.0-rc1 with tentative compatibility with SQLAlchemy 2, once I've heard back from a couple of projects and they've had to chance to test it, I'll release 0.7.0

thanks @Mause and @alexmavr!

I think the sqlalchemy dependency in pyproject.toml still needs to be bumped.

v0.0.27 used to have the wildcard for sqlalchemy. Maybe bring it back?
[tool.poetry.dependencies]
sqlalchemy = "*"


Held keys not passed to wayland clients on keyboard::enter

Hyprland Version
For some reason: [ ERROR ] Unknown option 'systeminfo'!

Using the latest hyprland from main (3c964a9fdc220250a85b1c498e5b6fad9390272f).
Bug or Regression?
Bug
Description
Held keys are not passed to a window when it's activated.
How to reproduce

Run blender 4.0 from a terminal with the command:
blender --log "ghost.wl.handle.keyboard.*" --log-level 2

Hover the cursor over the blender window and press the Super key.

Move the cursor to another window and back to change focus, re-focusing on the Blender window.

The following warning is printed:
INFO (ghost.wl.handle.keyboard): intern/ghost/intern/GHOST_SystemWayland.cc:4732 keyboard_handle_leave: leave
INFO (ghost.wl.handle.keyboard): intern/ghost/intern/GHOST_SystemWayland.cc:4690 keyboard_handle_enter: enter
INFO (ghost.wl.handle.keyboard): intern/ghost/intern/GHOST_SystemWayland.cc:5044 keyboard_handle_modifiers: modifiers (depressed=64, latched=0, locked=16, group=0)
WARN (ghost.wl.keyboard.depressed): intern/ghost/intern/GHOST_SystemWayland.cc:7081 getModifierKeys: modifier (OS) state is inconsistent (GHOST held keys do not match XKB)
INFO (ghost.wl.handle.keyboard): intern/ghost/intern/GHOST_SystemWayland.cc:4898 keyboard_handle_key: key (code=133, state=0)

By comparison SWAY 1.8.1 does not have this behavior, with the same steps the following output is printed:
INFO (ghost.wl.handle.keyboard): intern/ghost/intern/GHOST_SystemWayland.cc:4732 keyboard_handle_leave: leave
INFO (ghost.wl.handle.keyboard): intern/ghost/intern/GHOST_SystemWayland.cc:4690 keyboard_handle_enter: enter
INFO (ghost.wl.handle.keyboard): intern/ghost/intern/GHOST_SystemWayland.cc:4707 keyboard_handle_enter: enter (key_held=133)
INFO (ghost.wl.handle.keyboard): intern/ghost/intern/GHOST_SystemWayland.cc:5044 keyboard_handle_modifiers: modifiers (depressed=64, latched=0, locked=16, group=0)

Notice the key_held=133 is set as part of keyboard::enter.

Note that the same issue existed with mutter which has since been resolved: https://gitlab.gnome.org/GNOME/mutter/-/issues/2457
Crash reports, logs, images, videos
No response

For some reason: [ ERROR ] Unknown option 'systeminfo'!

4 days ago is not latest

woops my bad wrong ref

Did you find a solution?


evaluate.py doesn't work

I ran this: python3 inference.py /tmp/iphone.jpg deeplab_resnet.ckpt
But here's the traceback I get:
Traceback (most recent call last):
File "inference.py", line 104, in
main()
File "inference.py", line 67, in main
net = DeepLabResNetModel({'data': tf.expand_dims(img, dim=0)}, is_training=False, num_classes=args.num_classes)
File "/Users/denoue/examples/segmentation/tensorflow-deeplab-resnet/kaffe/tensorflow/network.py", line 48, in init
self.setup(is_training, num_classes)
File "/Users/denoue/examples/segmentation/tensorflow-deeplab-resnet/deeplab_resnet/model.py", line 20, in setup
.conv(7, 7, 64, 2, 2, biased=False, relu=False, name='conv1')
File "/Users/denoue/examples/segmentation/tensorflow-deeplab-resnet/kaffe/tensorflow/network.py", line 22, in layer_decorated
layer_output = op(self, layer_input, *args, **kwargs)
File "/Users/denoue/examples/segmentation/tensorflow-deeplab-resnet/kaffe/tensorflow/network.py", line 128, in conv
kernel = self.make_var('weights', shape=[k_h, k_w, c_i / group, c_o])
TypeError: unsupported operand type(s) for /: 'Dimension' and 'int'

Have not tested it on python3, only python 2.7.
On 7 May 2017 6:50 pm, "Laurent Denoue"<EMAIL_ADDRESS>wrote:

I ran this: python3 inference.py /tmp/iphone.jpg deeplab_resnet.ckpt
But here's the traceback I get:
Traceback (most recent call last):
File "inference.py", line 104, in
main()
File "inference.py", line 67, in main
net = DeepLabResNetModel({'data': tf.expand_dims(img, dim=0)},
is_training=False, num_classes=args.num_classes)
File "/Users/denoue/examples/segmentation/tensorflow-deeplab-resnet/kaffe/tensorflow/network.py",
line 48, in init
self.setup(is_training, num_classes)
File "/Users/denoue/examples/segmentation/tensorflow-
deeplab-resnet/deeplab_resnet/model.py", line 20, in setup
.conv(7, 7, 64, 2, 2, biased=False, relu=False, name='conv1')
File "/Users/denoue/examples/segmentation/tensorflow-deeplab-resnet/kaffe/tensorflow/network.py",
line 22, in layer_decorated
layer_output = op(self, layer_input, *args, **kwargs)
File "/Users/denoue/examples/segmentation/tensorflow-deeplab-resnet/kaffe/tensorflow/network.py",
line 128, in conv
kernel = self.make_var('weights', shape=[k_h, k_w, c_i / group, c_o])
TypeError: unsupported operand type(s) for /: 'Dimension' and 'int'
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DrSleep/tensorflow-deeplab-resnet/issues/80, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHemmCZk68AY7iUPMwKGJUNdDRhLjqe0ks5r3fZtgaJpZM4NTNvW
.

working on python 3.5.
from line:  kernel = self.make_var('weights', shape=[k_h, k_w, c_i / group, c_o])
I cast c_i to int(c_i) and it works


Added a break after having a candidate AA.

After getting a candidate AA from rx_buffer in SNIFF_AA mode, we can break the loop which shifts rx_buffer right by one bit once and twice.

I'm not sure this modification improves access address detection, as we would miss a candidate access address if the first pass in this loop matches an existing one. It definitely needs more testing with this fix to check if it improves Btlejack's AA scanning, but I'm not convinced yet.
Besides this, this comment was pretty bad I have to admit, thank you for having spotted it.

I see. Btlejack relies on a hack found by Travis Goodspeed to turn the nRF51822 into a sniffer, an operation mode that is normally not possible. This trick is simple and clever: if you set the address field to be 2 bytes long and put 0x00 0xAA in it, then the transceiver will consider a legitimate packet preamble as our address, and will process the following bytes as a payload.
But there is a problem here: we don't know the access address value. The Bluetooth specs states that the preamble must be 0x55 if the MSB of the access address if not set, and 0xAA otherwise. So basically, we may match a preamble with our 0xAA value, but it may also be a 0x55 preamble in the original packet. That's why we try to shift right bit by bit in order to keep in memory at least two candidates per packet received.
So, why shifting twice instead of one ? Since we cannot enable the nRF51822's CRC check (as we don't know the CRC initial value for a given connection), we may match a preamble a bit too late. This technique was also used by Mousejack, where the same approach is implemented (see https://github.com/BastilleResearch/nrf-research-firmware/blob/02b84d1c4e59c0fb98263c83b2e7c7f9863a3b93/src/radio.c, line 292 for more information).
Waiting for another packet will require more time and a bit of luck (again), as we need to be on the right channel at the right time to capture packets.
Hope this helps.


ENYO-5210: Fix Marquee to always animate when marqueeOn="render"

Issue Resolved / Feature Added
Marquee stops the animation when some of the props value updates, however it should always marquee if marqueeOn value is set to render.
Updated condition to always start the animation for marqueeOn="render" and restart when stop is called.
Additional consideration
I'm not 100% sure if marquee should restart when forceDirection is updated because of the rare chance of apps needing to change at runtime. Given that, some props change (e.g. marqueeDelay, marqueeResetDelay) won't update the animation state even with the fix. Should we check for them as well?
In regards to recent react 16.3.x update, we should consider refactoring animation check logic in componentWillReceiveProps to  componentDidUpdate.
Enact-DCO-1.0-Signed-off-by: Stephen Choi<EMAIL_ADDRESS>

Tacked on a commit to remove forceDirection when marqueeDisabled. We missed it and it emits a invalid prop warning.


Propagate Plugin changes to the frontend

When thinking about my implementation of #101 during the last couple of days, I came to the conclusion that I prefer the idea of having the TabCtx as some kind of glue instead of making the editor to have references to everything.
With that in mind, the idea was now to introduce a PluginCtx, which is basically a TabCtx with an additional PluginPeer, even though this PluginPeer reference is not yet used. But it should pave the way for getting change notifications from the editor to its plugins. I also got rid of the nested Arc for the MainPeer (at least if I understood this one right).
Things that could be improved:

[ ] I made the TabCtx cloneable, to be able to add a clone to the PluginCtx. Therefore, I had to wrap the TabCtx kill_ring into an Arc. Maybe there is better way to solve this?
[ ] Maybe it is possible to change the rpc_peer of the PluginCtx from Option<PluginPeer> to PluginPeer, but I wasn't able to achieve this because of the lifetime requirements of the plugin thread.
[ ] Do not run editor.render() after each plugin command, but rather collect some changes and send them in bulk. Not yet sure how to do implement this in a nice way ...
[ ] Implement notifications form editor to its plugins.

For the latter, it is probably necessary that either the tabs or the editor keeps a reference to the PluginCtx. However I am not yet sure how to implement this; e.g. should the PluginCtx be cloned or an Arc be used for the PluginCtx. Up to now, I am not quite happy with both, but I'll keep thinking about it.
Please understand this PR mainly as a basis for discussions. If you prefer the implementation without the PluginCtx, I am totally fine if we close this PR. Also, if some parts are hard to understand, please tell me and I'll try to rephrase them.

Thanks for digging in to this! I had a quick scan over the patch and it looks good to me, but I'll review it more carefully this evening.
We will probably end up with a fully wired object graph, for the editor to propagate changes to the plugin. Another complication to consider is that we may end up multiplexing a single plugin to handle multiple tabs (this has the potentially significant advantage of eliminating the plugin startup cost after the first tab). I'm not sure the best way to do this - I'll try to think on it some more as I review your patch more carefully.

Another complication to consider is that we may end up multiplexing a single plugin to handle multiple tabs (this has the potentially significant advantage of eliminating the plugin startup cost after the first tab).

This is a good point! Instead of keeping plugins and the editor tightly coupled (as still the case in this PR), moving the plugin handling (startup, communication, ...) out of the editor, sounds actually quite good. The plugin could then maybe even considered–at least at the technical point of view–to be equal to the actual front-end. So in other words, we don't have one front-end and many plugins, we have just many front-ends.

I couldn't resist to do a proof of concept implementation of moving the plugins into the main.rs. Doing so definitely comes with some challenges. Since it is only a proof of concept implementation, the code is ugly and there are many parts that would require improvement. That is, if the discussion of how to implement this, tends to go into this direction of moving plugins into the the top level, I can highlight the major challenges/issues that I had with doing so.
Having live syntax highlighting was nice anyway 😎

Thanks for prototyping that, it's something good to look at. I was tempted to also build a prototype based on this PR, adding mutual references between front-end and core, and core and plugin, but didn't have the energy last night.
It's very tempting to just merge the functionality, so we can start moving the plugin protocol forward to accommodate OT / CRDT, among other things. Making the communication cleaner (and maybe more efficient) can happen in parallel. I'm ok merging this PR, but I can see that your fork is not quite ready yet.
What do you think? Merge this PR, then we can both play with fully wiring the event propagation, and then combine the best features of both?

Merging this PR and iterating on it sounds good!
On 26 Jul 2016, at 16:24, Raph Levien<EMAIL_ADDRESS>wrote:
Thanks for prototyping that, it's something good to look at. I was tempted
to also build a prototype based on this PR, adding mutual references
between front-end and core, and core and plugin, but didn't have the energy
last night.
It's very tempting to just merge the functionality, so we can start moving
the plugin protocol forward to accommodate OT / CRDT, among other things.
Making the communication cleaner (and maybe more efficient) can happen in
parallel. I'm ok merging this PR, but I can see that your fork is not quite
ready yet.
What do you think? Merge this PR, then we can both play with fully wiring
the event propagation, and then combine the best features of both?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/xi-editor/pull/104#issuecomment-235283551, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAY9vUSRSLdRu7MK-ikrizoqF92usVlaks5qZhiWgaJpZM4JT_1t
.


Registering for Datagrid Checkbox events

Select one ...  (check one with "x")
[ ] bug
[ ] feature request
[X] enhancement
[x] Question

We have the scenario where we are using a datagrid to display a list of 'items'.  Each item has the potential to have subitems.

It would be nice to be able to register for notifications when a datagrid checkbox was checked.  In our scenario, if the top level datagrid checkbox is checked, then I want to check all subitems and vice versa.
At the moment, I see two options; use an input checkbox and not use the datagrid managed checks, or hack into the dom and do some wonky things to add handlers to the wrapping elements.   I'd like to continue using the Datagrid managed checkboxes because they are aligned nicely in the left most column. When I substitute my own, the details arrow takes up the left most column and my check is to the right, but I'm not seeing a better option.
I still feel inexperienced in the Angular world and would consider myself a hack, so from your experience, am I thinking about this the wrong way?  Is this enhancement request to receive events when checking datagrid checkboxes a valid request or is there a better way to go about it?
Thanks!

[(clrDgSelected)] on the datagrid rows offers two-way binding, which means there is a (clrDgSelectedChange) output for you to use in this case. It emits true when the user selects the row, and false when the user unselects it.
I'm closing this issue because the feature already exists, but I recommend posting on StackOverflow with vmware-clarity tag (https://stackoverflow.com/questions/tagged/vmware-clarity) if you need help setting this up. We monitor it every day, and not only will you have a chance to get an even faster answer from someone outside of the team, your question will also be useful to everyone who needs it after you. 👍

Thank you Eudes for the guidance.  I was unaware of the relationship between the two.  Also, good thoughts on Stackoverflow.  Thanks again.


Develop

Coverage decreased (-0.02%) to 86.264% when pulling cba4c036af6b69001c7668e6792c22a3dcb6d1e9 on develop into bfb09125e4520ce0b3a0ea15475eee000815a633 on qa.


docs: adjust trg 5 05 ingress example

Description
Use empty slice to be albe to create ingress with tls disabled.

Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[x] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[x] Copyright and license header are present on all affected files

I had a quick look again and I think the commented out example part could be improved, I didn't notice this here (from where you got it from), as I just wanted to get rid of the preset in the values.yaml. But as a TRG example this would be more appropriate

Hey @evegufy, good point. I adjusted the example so it's more aligned with the syntax of the ingress manifest.


Add optional git commit message field to the edit form.

The message is stored in a temporary .gitmessage~ file in the root of the repository.
The file contents are read and set as the commit message.
If the file doesn't exist (the message field was left blank), then the default commit message is used.

@joshbuddy @nesquena Any chance of looking at this? I have a couple more features I'd like to add.


Add info about "providing a solution" and "reviewers preview of changes on Netlify" to "contributers guidelines"

@pbauer @stevepiercy feel free to update if necessary


Different EventGrid Events from IoT Hub Device Telemetry subscription have identical Id

I use an Azure functions with an EventGrid Trigger, subscribed to IoT Hub Device Telemetry Events.
I send messages only from a single IoT device
When I send messages with some delay between the messages (e.g., one second), each EventGrid message will have a unique id.
When I send the messages very fast, one after the other, I receive the different EventGrid events with a different enqueuedtime and payload (corresponding to the message that I have sent), but with the same "id" which should be a "Unique identifier for the event" according to https://docs.microsoft.com/en-us/azure/event-grid/event-schema.
This is a serious issue, since when I insert these events for example into CosmosDB (via an output binding in an Azure Function), the latter events overwrite the former events.

Below, I have pasted the logs of my Azure function, where I log for each invocation:
log.LogInformation($"insertEventInDataBase called with Event:{eventGridEvent.Data} with id: {eventGridEvent.Id}");
You can see that different events with different contents and time end up with the same id.
I cannot believe that this is the intended behavior, since it is undocumented and can lead to data loss.
2021-06-25T13:03:11.948791933Z: [INFO]        Executing 'InsertEventInDataBase' (Reason='EventGrid trigger fired at 2021-06-25T13:03:11.9472966+00:00', Id=9a12a7b6-9cd4-4bd0-a7ab-b976f7d2c84c)
2021-06-25T13:03:11.950028741Z: [INFO]  info: Function.InsertEventInDataBase.User[0]
2021-06-25T13:03:11.950044441Z: [INFO]        insertEventInDataBase called with Event:{
2021-06-25T13:03:11.950049641Z: [INFO]          "properties": {
2021-06-25T13:03:11.950053841Z: [INFO]            "device-message-type": "notification"
2021-06-25T13:03:11.950058341Z: [INFO]          },
2021-06-25T13:03:11.950062141Z: [INFO]          "systemProperties": {
2021-06-25T13:03:11.951770352Z: [INFO]            "iothub-content-type": "application/json",
2021-06-25T13:03:11.951785653Z: [INFO]            "iothub-content-encoding": "utf-8",
2021-06-25T13:03:11.951790753Z: [INFO]            "iothub-connection-device-id": "twinTest",
2021-06-25T13:03:11.951794953Z: [INFO]            "iothub-connection-auth-method": "{"scope":"device","type":"sas","issuer":"iothub","acceptingIpFilterRule":null}",
2021-06-25T13:03:11.951800153Z: [INFO]            "iothub-connection-auth-generation-id": "637563239537275802",
2021-06-25T13:03:11.951804453Z: [INFO]            "iothub-enqueuedtime": "2021-06-25T13:03:11.633Z",
2021-06-25T13:03:11.951842953Z: [INFO]            "iothub-message-source": "Telemetry"
2021-06-25T13:03:11.951847353Z: [INFO]          },
2021-06-25T13:03:11.951851053Z: [INFO]          "body": {
2021-06-25T13:03:11.951868153Z: [INFO]            "notificationType": "information",
2021-06-25T13:03:11.951872653Z: [INFO]            "transactionId": "NA",
2021-06-25T13:03:11.951876453Z: [INFO]            "notification": "Sanity check passed",
2021-06-25T13:03:11.951880153Z: [INFO]            "details": "assurance: 89%"
2021-06-25T13:03:11.951884253Z: [INFO]          }
2021-06-25T13:03:11.951887853Z: [INFO]        } with id: d8a7c2a0-baae-3a13-f6e6-aebc17cb6801
2021-06-25T13:03:11.970900279Z: [INFO]  info: Function.InsertEventInDataBase[2]
2021-06-25T13:03:11.970917579Z: [INFO]        Executed 'InsertEventInDataBase' (Succeeded, Id=9a12a7b6-9cd4-4bd0-a7ab-b976f7d2c84c, Duration=21ms)
2021-06-25T13:03:11.974365502Z: [INFO]  info: Function.InsertEventInDataBase[1]
2021-06-25T13:03:11.974413002Z: [INFO]        Executing 'InsertEventInDataBase' (Reason='EventGrid trigger fired at 2021-06-25T13:03:11.9727128+00:00', Id=edaada79-cdff-4d41-8747-ed65f84c99eb)
2021-06-25T13:03:11.975257208Z: [INFO]  info: Function.InsertEventInDataBase.User[0]
2021-06-25T13:03:11.975272908Z: [INFO]        insertEventInDataBase called with Event:{
2021-06-25T13:03:11.975277608Z: [INFO]          "properties": {
2021-06-25T13:03:11.975281408Z: [INFO]            "device-message-type": "notification"
2021-06-25T13:03:11.975285308Z: [INFO]          },
2021-06-25T13:03:11.975288908Z: [INFO]          "systemProperties": {
2021-06-25T13:03:11.975292708Z: [INFO]            "iothub-content-type": "application/json",
2021-06-25T13:03:11.975340709Z: [INFO]            "iothub-content-encoding": "utf-8",
2021-06-25T13:03:11.975345209Z: [INFO]            "iothub-connection-device-id": "twinTest",
2021-06-25T13:03:11.975349109Z: [INFO]            "iothub-connection-auth-method": "{"scope":"device","type":"sas","issuer":"iothub","acceptingIpFilterRule":null}",
2021-06-25T13:03:11.975354009Z: [INFO]            "iothub-connection-auth-generation-id": "637563239537275802",
2021-06-25T13:03:11.975357809Z: [INFO]            "iothub-enqueuedtime": "2021-06-25T13:03:11.696Z",
2021-06-25T13:03:11.975361509Z: [INFO]            "iothub-message-source": "Telemetry"
2021-06-25T13:03:11.975365209Z: [INFO]          },
2021-06-25T13:03:11.975368709Z: [INFO]          "body": {
2021-06-25T13:03:11.980126840Z: [INFO]            "notificationType": "success",
2021-06-25T13:03:11.980162040Z: [INFO]            "transactionId": "NA",
2021-06-25T13:03:11.980167640Z: [INFO]            "notification": "Scan data uploaded",
2021-06-25T13:03:11.980171641Z: [INFO]            "details": ""
2021-06-25T13:03:11.980175641Z: [INFO]          }
2021-06-25T13:03:11.980179341Z: [INFO]        } with id: d8a7c2a0-baae-3a13-f6e6-aebc17cb6801
2021-06-25T13:03:11.994734537Z: [INFO]  info: Function.InsertEventInDataBase[2]
2021-06-25T13:03:11.994835038Z: [INFO]        Executed 'InsertEventInDataBase' (Succeeded, Id=edaada79-cdff-4d41-8747-ed65f84c99eb, Duration=21ms)

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

ID: 5ef80c28-7b24-14ab-c398-5a770f43c91f
Version Independent ID: 63eca0d3-ed4c-3db1-dd56-c7ebd5c0f542
Content: Azure IoT Hub as Event Grid source - Azure Event Grid
Content Source: articles/event-grid/event-schema-iot-hub.md
Service: event-grid
GitHub Login: @spelluru
Microsoft Alias: spelluru

Thanks for the feedback! We are currently investigating and will update you shortly.

@Christian-e-S How are you generating the ID? is it auto generated by Event grid or any other application or generated by your code?
Take a look at the below similar asks and see if it helps to resolve your issue?

https://docs.microsoft.com/en-us/answers/questions/268414/index.html
https://github.com/MicrosoftDocs/azure-docs/issues/15127
https://stackoverflow.com/questions/53851926/how-do-you-maintain-idempotency-with-azure-eventgrid-webhooks/60732635#60732635

@Christian-e-S To add to @AshokPeddakotla-MSFT's comment and after looking at some of the IoT Hub samples, I believe the IDs here are generated on the IoT Hub front before sending them to Event Grid for routing.
I will try to check with the team internally and get back on this.

@Christian-e-S I've checked with the team and it's the publisher that sets the ID, IoT Hub in this case. I'm assigning this issue to the right team to share better insights.

@Christian-e-S It would be best for the concerning team to take a deeper look at this through a support ticket. If you have an existing support plan, could you please open a support ticket with your observations? If you do not have a support plan, feel free to send me an email to azcommunity[at]microsoft[dot]com with the following details and we can give you a one-time free support ticket.
Subject: Attn Pramod

Community Post: https://github.com/MicrosoftDocs/azure-docs/issues/77475
Subscription ID:

@Christian-e-S Just following up here to see if you were able to create a support ticket for your issue.

@Christian-e-S As suggested, please open a support ticket.  If you do not have a support plan, feel free to send an email to azcommunity[at]microsoft[dot]com with above mentioned information.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.


Implement RANSAC and least squares model fitting for 3D planes and lines.

Implement RANSAC and least squares model fitting for 3D planes and lines.

Looks good to me if @kriskozak approves.

I didn't do a detailed review, but it looks good to me, and I've seen it working, so I approve.


feat: support lazy references with forward references

This should make resolving Annotated[SomeType, strawberry.lazy("some.module")] work when using from __future__ import annotations.
This also means that it is important for supporting python 3.12, which will work with future annotations by default.
Fix #2504

Thanks for adding the RELEASE.md file!

Here's a preview of the changelog:

This release adds support for properly resolving lazy references
when using forward refs.
For example, this code should now work without any issues:
from __future__ import annotations

from typing import TYPE_CHECKING, Annotated

if TYPE_CHECKING:
    from some.module import OtherType

@strawberry.type
class MyType:
    @strawberry.field
    async def other_type(self) -> Annotated[OtherType, strawberry.lazy("some.module")]:
        ...

Here's the preview release card for twitter:

Here's the tweet text:
🆕 Release (next) is out! Thanks to Thiago Bellini Ribeiro for the PR 👏

Get it here 👉 https://github.com/strawberry-graphql/strawberry/releases/tag/(next)

@patrick91 @ThirVondukr anything missing for this?
Also, any idea why the coverage is not hitting 100% in this PR? I don't see any comments in the diff page of any line not being covered

@bellini666 Code looks good to me, seems like utils/typing.py -> is_union is missing coverage now?

@bellini666 Code looks good to me, seems like utils/typing.py -> is_union is missing coverage now?
https://app.codecov.io/gh/strawberry-graphql/strawberry/pull/2744/blob/strawberry/utils/typing.py#L92

So strange, I did not change anything that would affect that code.
Also, that code is not covered in the main branch itself (just tested it locally at the main branch). Don't know why codecov thinks that this PR is the culprit here =P

thanks!


Handle additional GCE node State which is benign.

GCE termination APIs seem to surface a False condition in addition to None condition for VM states when no terminations are pending.

PTAL @mindprince


auto nonce

so you're trying to replace transaction if(yours) nonce is the same. And this is about two transactions that did token transfers to two different addr'ses . But how could that be?

Hi @alexeyneu, you can pass the nonce as a parameter to EthSigner. https://docs.ethsigner.consensys.net/en/stable/Reference/API-Methods/#eth_sendtransaction

If that answers your question feel free to close this issue!

i know . But it's optional . And you offer auto on that which leads to crash

Hey, yes I see what you're getting at - we have intentionally not built in complex nonce management logic into EthSigner, since it's designed for key management. The design is as lightweight as possible to optimize for security, the expectation is that nonce management is handled at the application level.
If you need an off-the-shelf nonce management tool, please check out Codefi Orchestrate.

Closing this ticket as complex nonce management is done in Orchestrate.


No "Forgot Password" link available

I'm evaluating Microsoft Entra and was directed to the Woodgrove sample app.  However, I am not able to sign in using the "e-mail and password" option.
I enter my e-mail and click on the "Next" button and this brings up the password entry option, but there is no "Forgot Password" link as mentioned in the documentation. See screen clip below:

I would like guidance on how to proceed in order to use the "email and password" option, as this is the login method we currently use on our app (currently registered as an Azure B2C app).
Thanks in advance.

Thanks for the feedback. This issue has been fixed.


Add possibility to announce maintenance or news on main page

Add functionality which will display information about planned maintenance at the top of the YANG Catalog.
Content of this message should be loaded from backend - new endpoint might be needed OR it can be fetched from some JSON file.
This component can be also used to display some news, like new release for example so different types of notifications can be displayed (info, warning).

And don't forget to allow the removal of the news

Hi, @evyncke.

Our current implementation for those notifications looks like this, and it shows on every page of the website. Which could be the problem, because even after dismissing it on previous page, you will get the same notification on the next page. We could solve this by using cookies on website, but we don't use them currently, so this will make things much more complicated. Alternative approach, we can show this maintenance message only on home page (for each reload notification will be shown again, but only for home.html)
So, what do you think? Should we stick to showing it only on home?

Hi, @evyncke. So what do you think about my previous comment?


Low multicast delivery rates in big matter networks

Describe the bug
We have been testing multicast reliability in a network of approx. 50 Nordic DK with the matter lighting-app and matter's group functionality.
In this network we see an considerably higher loss rate of the multicast packets in REEDs compared to routers.
To Reproduce

Git commit id
NCS 2.0.2
commit aacd9eb0ba0d45483613370d8b7924fe3fa71606 (HEAD, manifest-rev)
Merge: e299df7fc f28a3e5ec
Author: Andrzej Głąbek<EMAIL_ADDRESS>Date:   Mon Jul 25 15:56:27 2022 +0200

IEEE 802.15.4 hardware platform
nRF52840 DK

Build steps
Binary build as distributed by NCS2.0.2.

Network topology
Dense topology: All devices on a table.

Expected behavior
Similar loss rates for REEDs and Routers.
Console/log output
N/A
Additional context
On request of @LuDuda we have changed OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS to 12 and built OpenThread from sources, which resulted in a considerably better loss rate.

@markus-becker-tridonic-com , thanks for raising this.
I agree that increasing OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS will improve multicast performance, as it provides more opportunities for a child to receive a given multicast message.
I think the cost of increasing OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS is that more messages are exchanged when a child attaches to a Thread network. I recall there was a time where we did not have such a limit (the effective limit being 31 given the maximum number of active routers) and that was causing far too much MLE traffic, especially during network formation.
It may be that 12 is an appropriate compromise between something too small (e.g. 3) and something too large (e.g. 31).
@LuDuda , do you have any thoughts?

Would it be possible to allow the user of the stack to configure this via the API? There is probably no one-size-fits-all setting for all sorts of scenarios.

The build time option OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS already exists, so each product can already determine on their own what value to use. Is it necessary to provide an API to allow dynamic, runtime configuration?

Have you tested multicast in big networks already? What was your experience with it?

It really depends on the use case. If the multicast message is large and requires fragmentation, then it is probably important to establish more router links. If the network is sparse, then there will only be a limited number of neighboring routers to work with. If the device does not require any multicast, then minimizing the number of router links helps reduce overall channel utilization.

Based on your second part of your answer, I would argue that an API would make sense.
Also, from an end-device manufacturer point of view, this would determine whether we could do CbS or would have to do certification by testing.

From prior experience (non-Thread 6lowpan mesh networks) I recall that sending (MPL/Trickle) multicast for lighting use cases works well with single-frame IPv6 packets, but not well for multi-frame IPv6 packets. So the best performance boost one can do is to limit the multicast packet size (preferably to only 1 frame). But ok, that's not helping you here in boosting the performance for REEDs specifically ;)

Closing since #8410 has been merged.


Feat: Add ability to select text from image

Describe your suggested feature
Many modern gallery appps allow selecting text from image directly, via long tap. Example:

This will help a lot since "translate" can be called directly from context menu
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.16.5.
[X] I will fill out all of the requested information in this form.

i don't see how we can achieve this without making the app size be 500mb+

i don't see how we can achieve this without making the app size be 500mb+

its possible if you preprocess all your files. https://github.com/kha-white/mokuro for example can be used to get a .json file containing all scanned text and their position

heres a simplified sample of the processed data
{
  "title": "ARIA",
  "pages": [
    {
      "img_width": 1353,
      "img_height": 1920,
      "blocks": [
        {
          "box": [ 16, 1164, 166, 1599 ],
          "vertical": true,
          "lines_coords": [ [
              [ 16.0, 1166.0 ],
              [ 163.0, 1164.0 ],
              [ 166.0, 1597.0 ],
              [ 20.0, 1599.0 ]
          ] ],
          "lines": [ "ｔｈａｔｔｅｒは" ]
        },
        {
          "box": [ 447, 1800, 909, 1856 ],
          "vertical": false,
          "lines_coords": [ [
              [ 453.0, 1803.0 ],
              [ 892.0, 1800.0 ],
              [ 892.0, 1846.0 ],
              [ 453.0, 1850.0 ]
          ] ],
          "lines": [ "だってこずえ" ]
        }
      ],
      "img_path": "001.avif"
    },
    ...
    {
      "img_width": 1353,
      "img_height": 1920,
      "blocks": [
        {
          "box": [ 16, 1164, 166, 1599 ],
          "lines_coords": [ [
              [ 16.0, 1166.0 ],
              [ 163.0, 1164.0 ],
              [ 166.0, 1597.0 ],
              [ 20.0, 1599.0 ]
          ] ],
          "lines": [ "ｔｈａｔｔｅｒは" ]
        },
        {
          "box": [ 447, 1800, 909, 1856 ],
          "lines_coords": [ [
              [ 453.0, 1803.0 ],
              [ 892.0, 1800.0 ],
              [ 892.0, 1846.0 ],
              [ 453.0, 1850.0 ]
          ] ],
          "lines": [ "だってこずえ" ]
        }
      ],
      "img_path": "331.avif"
    }
  ]
}

Many modern gallery appps allow selecting text from image directly, via long tap

Just use those instead?
By the point you're manually selecting the text for each speech balloon, plus the two extra taps to reach the translation button, you've long given up on the reader's conveniences ¯\_(ツ)_/¯

its possible if you preprocess all your files.

I think that's how galleries work, one page at a time. Long tap masks initial analyze step (it is much longer than subsequent long taps)

i don't see how we can achieve this without making the app size be 500mb+

Thank for the answer!


Response to minor comments

This PR responds to issues noted at https://mailarchive.ietf.org/arch/msg/cellar/xy0WUr07zuMhwotQrybYN18mI30.

Thanks for your updates, will merge.


ssh-key controller should auto-create the fingerprint to the upload ssh key

Issue:
the ssh-key controller should auto-generate the fingerprint when uploading a new ssh key.
Expected solution
the fingerprint should be added automatically either user created from the UI, API or kubectl.

link to PR https://github.com/rancher/harvester/pull/13

close in favor #13


move packages to cmd, update instructions

fixes #42

You may want to know that the server does not compile on MacOS, it's being worked out in #56 but it is not part of main yet.

You may want to know that the server does not compile on MacOS, it's being worked out in #56 but it is not part of main yet.
So right now let's only build the client on these platforms and we'll update the install once #56 gets merged (very soon I think)

Good to know, updated

Merged in 5cb4b19, thanks a lot for the help !


Support filter media items between dates

Summary
Add fromTime and toTime to getPhotos to get media items in between

Test Plan
Manual test on my device

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅

Android
✅

Checklist

[x] I have tested this on a device and a simulator
[x] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[x] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

@r0b0t3d why did you close this PR? :)

OMG, I forgot that I already open an PR on master. Because I open another PR so I restructure my branch  😬
Is there anyway to attach a branch to this PR or I need to open another?

I think it's easiest to open a new PR from the branch where your work is. Does it only contain the specific changes from this PR?

@bartolkaruza I opened #140 that contains only code from this PR. Please help to check.


[Feature Request] Allow to cache json schemas locally

I noticed that each time I restart the service and try to issue a new credential, some remote requests are made to fetch Json documents defined in dids (@context). I could not look in depth at the original cause, but it looks to be related to a dependency in the jsonld-common library. This library allows to be initialized with some pre-cached content according to tests.
Being able to cache this content  at startup can potential save from some "downtimes" when the remote endpoints are "down" or fix problems when running deployments with no Internet access.

If I'm not wrong this PR fixes the issue. Thanks @mikeplotean for the fix.


View the list of forks of a given tweak

Fixes #183

Coverage decreased (-1.3%) to 80.277% when pulling 44df438256bc54ad752ffd4ec4d89ab6f496325d on view-forks into e901e1964157f02b3a71b6fd01c6f54462ee8f1a on master.


Improve installation documentation in readme

Should the readme not include instructions to include import "cypress-real-events/support"; in the support/command.ts file?

It includes


Log subscribe redis message

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: hariskhankhakwani:x: abdulhaseeb08You have signed the CLA already but the status is still pending? Let us recheck it.


BLEProtocol.h@22,21: algorithm: No such file or directory

Hello,
I'm trying to compile https://developer.mbed.org/teams/microbit/code/microbit-hello-world/ with mbed-cli.
I'm using the latest mbed-cli.
when i run the command
mbed compile -t GCC_ARM -m nrf51_microbit

i get the following output
Building project microbit-hello-world (NRF51_MICROBIT, GCC_ARM)
Scan: .
Scan: mbed
Scan: env
Compile [ 21.2%]: ble_dfu.c
[Fatal Error] BLEProtocol.h@22,21: algorithm: No such file or directory
[ERROR] In file included from ./microbit/microbit-dal/BLE_API/ble/Gap.h:20:0,
                 from ./microbit/microbit-dal/BLE_API/ble/ble.h:21,
                 from ./microbit/microbit-dal/nRF51822/nrf51-sdk/source/nordic_sdk/components/ble/ble_services/ble_dfu/ble_dfu.h:53,
                 from ./microbit/microbit-dal/nRF51822/nrf51-sdk/source/nordic_sdk/components/ble/ble_services/ble_dfu/ble_dfu.c:33:
./microbit/microbit-dal/BLE_API/ble/BLEProtocol.h:22:21: fatal error: algorithm: No such file or directory
 #include <algorithm>
                     ^
compilation terminated.

[mbed] ERROR: "/usr/local/opt/python/bin/python2.7" returned error code 1.
[mbed] ERROR: Command "/usr/local/opt/python/bin/python2.7 -u /Users/mca/dev/microbit/microbit-hello-world/.temp/tools/make.py -t GCC_ARM -m nrf51_microbit --source . --build ./BUILD/nrf51_microbit/GCC_ARM" in "/Users/mca/dev/microbit/microbit-hello-world"

The same program compiles on the online editor without any errors.
Any suggestion or help is welcome.

CC @pan-

@pmcalabrese This error is in the Lancaster University fork of BLE_API. It has been fixed a long time ago in mbed OS.
What is happening is simple, the mbed build system add to the include path any folder reachable by the target (in this case the NRF51_MICROBIT). In this case, the compiler try to includes the file ble.h but unfortunately there is two files named ble.h in the include path: one defined by BLE_API the other defined by the nrf51-sdk. The file ble_dfu.c needs ble.h from the nrf51 sdk but it is the one from BLE_API which is included. Therefore it raises a compilation error (ble.h from BLE_API is a C++ and not C header).
The solution we adopted in mbed was to prefix filename in the nrf51 SDK. You can raise this issue or submit a fix in the microbit fork.

Closing this as a problem with a particular library.


literal_unroll leads to segfault on M1 when called with bool

MWE:
import numba, numpy as np
op_axis = ((0, True),) # sefault
#op_axis = ((0, 1),) # works
#op_axis = (True,) # works

@numba.njit
def test(x):
    numba.literal_unroll(op_axis)

test(np.zeros(1))

Versions:
  + libllvm11   11.1.0  h93073aa_3       conda-forge/osx-arm64     Cached
  + llvmlite    0.38.1  py310hbf292a2_0  conda-forge/osx-arm64     Cached
  + numba       0.55.2  py310ha67b2a8_0  conda-forge/osx-arm64     Cached

Python 3.10.4

Thanks for the report. Unfortunately I cannot reproduce this on linux. I'm a little puzzled as to a) the use case, because this isn't how literal_unroll is intended to be used and b) how it can be segfaulting because the implementation just takes an arg and returns it:
https://github.com/numba/numba/blob/77882b19460110d28bcd617e1aca37a2899d0513/numba/misc/literal.py#L16-L24
Further, as nothing is returned by the function in the MWR and there's no side effect for x, the machine code comes out as:
_ZN8__main__<ABI stuff>:
        movq    $0, (%rdi)
        xorl    %eax, %eax
        retq
.Lfunc_end0:

i.e. do nothing, return 0.

Yes, it only occurs on OSX with M1.

We simplified it from a function where the literal_unroll actually did something useful, this was just the shortest example we could find that still resulted in a segfault.
And you can also consider me puzzled as to the reason for the segfault. :-)

Presume this is the function that's causing the issue?
https://github.com/aesara-devs/aesara/blob/d09e222b06c0bc45d25c77d2ededbf25fe980c71/aesara/link/numba/dispatch/tensor_basic.py#L199-L212
if so I think the way it's written is actually hitting two Numba bugs and it's silently not doing what is intended. The reason I'm convinced it's not doing what is intended that there's a bug/missing thing in the literal_unroll implementation that means automatic unpacking of tuples in the induction variable doesn't work, i.e. for tmp in literal_unroll((1, True),) would be fine whereas for tmp_int, tmp_bool in literal_unroll((1, True),) would not (xref: https://github.com/numba/numba/issues/5412). That it compiled makes me think that this is also hitting another bug where the compiler transform that does the loop body versioning fails to recognise numba.literal_unroll because it expects from numba import literal_unroll and then the direct use of the function, but it survived compilation because the argument to literal_unroll happens to be homogeneous in type (xref: https://github.com/numba/numba/issues/5344). I'll go and see hard it'd be to fix the latter bug now (the former is a load of work).
In the interests of making sure that literal_unroll is doing what is intended, I'd probably write the above referenced code like:
op_axis = tuple(op.axis.items())

from numba import literal_unroll

@numba_basic.numba_njit
def rebroadcast(x):
    for tmp in literal_unroll(op_axis):
        axis, value = tmp
        ... continue as before

We simplified it from a function where the literal_unroll actually did something useful, this was just the shortest example we could find that still resulted in a segfault. And you can also consider me puzzled as to the reason for the segfault. :-)

I'm also puzzled as to why this would be a segfault on any platform. If you run this even more cut down MWR (comments indicate changes) on an M1:
import numba
import numpy as np

op_axis = ((0, True),)

@numba.njit((numba.float64[::1],), # Compile for this signature only
            no_cpython_wrapper=True, # don't generate a cpython wrapper
            no_cfunc_wrapper=True) # don't generate a cfunc wrapper
def test(x):
    numba.literal_unroll(op_axis)

print(test.inspect_asm(test.signatures[0]))

what does it produce? Thanks for your help!

In the interests of making sure that literal_unroll is doing what is intended, I'd probably write the above referenced code like:

With this code change we get the segfault back.

what does it produce? Thanks for your help!

That also produces a segfault.

In the interests of making sure that literal_unroll is doing what is intended, I'd probably write the above referenced code like:

With this code change we get the segfault back.

what does it produce? Thanks for your help!

That also produces a segfault.

The reduced MWR doesn't actually execute the code in test, which suggests the segfault is happening during compilation.

The reduced MWR doesn't actually execute the code in test, which suggests the segfault is happening during compilation.

No.

Update: I now understand that there are three work-arounds required
* one casting True to int

* changing the import

* moving the argument splitting to a different line

With that, it works again.

That you have to cast True to int suggests that there's something else wrong. If you run this with PYTHONFAULTHANDLER=1 it might just catch it and show the issue as being in LLVM. Else I'm afraid a debugger/valgrind will be needed. I don't think there's a catchsegv on OSX (or an equivalent)? Will look into this some more on an M1 next week.

@stuartarchibald We'll go through things with a debugger next week, hopefully we can locate the problem a bit better.

Great, thanks. That the reduced MWR wouldn't even compile is pointing at LLVM, but you never know.

We simplified it from a function where the literal_unroll actually did something useful, this was just the shortest example we could find that still resulted in a segfault. And you can also consider me puzzled as to the reason for the segfault. :-)

I'm also puzzled as to why this would be a segfault on any platform. If you run this even more cut down MWR (comments indicate changes) on an M1:
import numba
import numpy as np

op_axis = ((0, True),)

@numba.njit((numba.float64[::1],), # Compile for this signature only
            no_cpython_wrapper=True, # don't generate a cpython wrapper
            no_cfunc_wrapper=True) # don't generate a cfunc wrapper
def test(x):
    numba.literal_unroll(op_axis)

print(test.inspect_asm(test.signatures[0]))

what does it produce? Thanks for your help!

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 12, 0
	.globl	__ZN8__main__4testB2v1B44c8tJTIcFHzwl2ILiXkcBV0KBSqPHEpIwapzCJIogOjUBE5ArrayIdLi1E1C7mutable7alignedE
	.p2align	2
__ZN8__main__4testB2v1B44c8tJTIcFHzwl2ILiXkcBV0KBSqPHEpIwapzCJIogOjUBE5ArrayIdLi1E1C7mutable7alignedE:
	str	xzr, [x0]
	mov	w0, #0
	ret

	.comm	__ZN08NumbaEnv8__main__4testB2v1B44c8tJTIcFHzwl2ILiXkcBV0KBSqPHEpIwapzCJIogOjUBE5ArrayIdLi1E1C7mutable7alignedE,8,3
	.comm	__ZN08NumbaEnv5numba4misc7literal19literal_unroll_impl12_3clocals_3e4implB2v2B42c8tJTIcFHzwl2ILiXkcBV0KBSmNGHkyiCKJEEwA_3dE8UniTupleI5TupleIxbELi1EE,8,3
.subsections_via_symbols

@twiecki @aseyboldt  I can confirm I am able to reproduce, but only using packages from conda-forge, not using those from the numba channel. If you setup an environment on M1 using -c numba does the segfault still occur?

@esc My above example still segfaults for me even when installing numba from the numba channel.

@esc My above example still segfaults for me even when installing numba from the numba channel.

I still can't reproduce this, did you try with a completely fresh environment?

import numba, numpy as np
op_axis = ((0, True),) # sefault
#op_axis = ((0, 1),) # works
#op_axis = (True,) # works
@numba.njit
def test(x):
numba.literal_unroll(op_axis)
test(np.zeros(1))

(issue_8215)  ~ % conda list
# packages in environment at /Users/ci/miniconda3-arm64/envs/issue_8215:
#
# Name                    Version                   Build  Channel
blas                      1.0                    openblas
bzip2                     1.0.8                h620ffc9_4
ca-certificates           2022.4.26            hca03da5_0
certifi                   2022.6.15       py310hca03da5_0
libcxx                    12.0.0               hf6beb65_1
libffi                    3.4.2                hc377ac9_4
libgfortran               5.0.0           11_2_0_he6877d6_26
libgfortran5              11.2.0              he6877d6_26
libopenblas               0.3.18               hea475bc_0
llvm-openmp               12.0.0               haf9daa7_1
llvmlite                  0.39.0rc1               py310_0    numba
ncurses                   6.3                  h1a28f6b_2
numba                     0.56.0rc1       np1.21py3.10h5ae3daa_gea8407264_0    numba
numpy                     1.22.3          py310hdb36b11_0
numpy-base                1.22.3          py310h5e3e9f0_0
openssl                   1.1.1p               h1a28f6b_0
pip                       21.2.4          py310hca03da5_0
python                    3.10.4               hbdb9e5c_0
readline                  8.1.2                h1a28f6b_1
setuptools                61.2.0          py310hca03da5_0
sqlite                    3.38.5               h1058600_0
tk                        8.6.12               hb8d0fd4_0
tzdata                    2022a                hda174b7_0
wheel                     0.37.1             pyhd3eb1b0_0
xz                        5.2.5                h1a28f6b_1
zlib                      1.2.12               h5a0b063_2
(issue_8215)  ~ % cat issue_8215_03.py
import numba, numpy as np
op_axis = ((0, True),) # sefault
#op_axis = ((0, 1),) # works
#op_axis = (True,) # works

@numba.njit
def test(x):
    numba.literal_unroll(op_axis)

test(np.zeros(1))
(issue_8215)  ~ % python issue_8215_03.py
(issue_8215)  ~ % echo $?
0

@twiecki but then:
(issue_8215_cf)  ~ % conda list
# packages in environment at /miniconda3-arm64/envs/issue_8215_cf:
#
# Name                    Version                   Build  Channel
bzip2                     1.0.8                h3422bc3_4    conda-forge
ca-certificates           2022.6.15            h4653dfc_0    conda-forge
libblas                   3.9.0           13_osxarm64_openblas    conda-forge
libcblas                  3.9.0           13_osxarm64_openblas    conda-forge
libcxx                    14.0.6               h04bba0f_0    conda-forge
libffi                    3.4.2                h3422bc3_5    conda-forge
libgfortran               5.0.0.dev0      11_0_1_hf114ba7_23    conda-forge
libgfortran5              11.0.1.dev0         hf114ba7_23    conda-forge
liblapack                 3.9.0           13_osxarm64_openblas    conda-forge
libllvm11                 11.1.0               h93073aa_3    conda-forge
libopenblas               0.3.18          openmp_h5dd58f0_0    conda-forge
libzlib                   1.2.12               ha287fd2_1    conda-forge
llvm-openmp               14.0.4               hd125106_0    conda-forge
llvmlite                  0.38.1          py310hbf292a2_0    conda-forge
ncurses                   6.3                  h07bb92c_1    conda-forge
numba                     0.55.2          py310ha67b2a8_0    conda-forge
numpy                     1.22.4          py310h0a343b5_0    conda-forge
openssl                   3.0.4                ha287fd2_2    conda-forge
pip                       22.1.2             pyhd8ed1ab_0    conda-forge
python                    3.10.5          h4eee789_0_cpython    conda-forge
python_abi                3.10                    2_cp310    conda-forge
readline                  8.1.2                h46ed386_0    conda-forge
setuptools                63.1.0          py310hbe9552e_0    conda-forge
sqlite                    3.39.0               h40dfcc0_0    conda-forge
tk                        8.6.12               he1e0b03_0    conda-forge
tzdata                    2022a                h191b570_0    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xz                        5.2.5                h642e427_1    conda-forge
zlib                      1.2.12               ha287fd2_1    conda-forge
(issue_8215_cf) ~ % python issue_8215_03.py
zsh: segmentation fault  python issue_8215_03.py

Huh, I just retried and it did not segfault. So I'm finding the same thing you're finding.

OK, so current hypothesis are:

segfaults b/c assertions are disabled (cf has them disabled, we have them enabled)
segfaults b/c LLVM is loaded as a shared library rather than being statically compiled (in llvmlite). (CF does the shared library approach, we build statically.)

I also found that "official" Anaconda packages (from pkgs/main) also segfault, they are also build w/o assertions and shipped as a shared library.

I tested this on my M1 (llvmlite and numba I built, LLVM from Homebrew) and get this fault:
Python 3.8.9 (default, May 17 2022, 12:55:41)
[Clang 13.1.6 (clang-13<IP_ADDRESS>.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numba
>>> import numpy as np
>>>
>>> op_axis = ((0, True),)
>>>
>>> @numba.njit((numba.float64[::1],), # Compile for this signature only
...             no_cpython_wrapper=True, # don't generate a cpython wrapper
...             no_cfunc_wrapper=True) # don't generate a cfunc wrapper
... def test(x):
...     numba.literal_unroll(op_axis)
...
UndefinedBehaviorSanitizer:DEADLYSIGNAL
==4679==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address 0x00000000002a (pc 0x000109ffae98 bp 0x000109ffa3b4 sp 0x00016b050490 T45470)
==4679==The signal is caused by a UNKNOWN memory access.
==4679==Hint: address points to the zero page.
    #0 0x109ffae98 in getCopyFromParts(llvm::SelectionDAG&, llvm::SDLoc const&, llvm::SDValue const*, unsigned int, llvm::MVT, llvm::EVT, llvm::Value const*, llvm::Optional<unsigned int>, llvm::Optional<llvm::ISD::NodeType>)+0xb64 (libllvmlite.dylib:arm64+0xbe2e98)

==4679==Register values:
 x[0] = 0x0000000000000000   x[1] = 0x0000000000000000   x[2] = 0x000000016b050cc8   x[3] = 0x000000016b050d18
 x[4] = 0x0000000000000001   x[5] = 0x0000000000000005   x[6] = 0x0000000000000002   x[7] = 0x0000000000000000
 x[8] = 0x00000000000000f3   x[9] = 0x0000000100000000  x[10] = 0x0000000000000000  x[11] = 0x0000000000000002
x[12] = 0x0000000000000000  x[13] = 0x000000014491fc50  x[14] = 0x000000014491fc70  x[15] = 0x0000000000000061
x[16] = 0x00000001ad54ebc8  x[17] = 0x00000002077cb3f0  x[18] = 0x0000000000000000  x[19] = 0x0000000000000002
x[20] = 0x000000012400ac60  x[21] = 0x0000000150018350  x[22] = 0x0000000150018350  x[23] = 0x0000000000000000
x[24] = 0x0000000100000000  x[25] = 0x000000016b050d18  x[26] = 0x0000000000000001  x[27] = 0x000000016b050cc8
x[28] = 0x0000000000000005     fp = 0x000000016b050640     lr = 0x0000000109ffa3b4     sp = 0x000000016b050490
UndefinedBehaviorSanitizer can not provide additional info.
SUMMARY: UndefinedBehaviorSanitizer: SEGV (libllvmlite.dylib:arm64+0xbe2e98) in getCopyFromParts(llvm::SelectionDAG&, llvm::SDLoc const&, llvm::SDValue const*, unsigned int, llvm::MVT, llvm::EVT, llvm::Value const*, llvm::Optional<unsigned int>, llvm::Optional<llvm::ISD::NodeType>)+0xb64
==4679==ABORTING
zsh: abort      python

Here's a partial stack trace:
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x2a)
  * frame #0: 0x0000000128be2e98 libllvmlite.dylib`getCopyFromParts(llvm::SelectionDAG&, llvm::SDLoc const&, llvm::SDValue const*, unsigned int, llvm::MVT, llvm::EVT, llvm::Value const*, llvm::Optional<unsigned int>, llvm::Optional<llvm::ISD::NodeType>) + 2916
    frame #1: 0x0000000128c0936c libllvmlite.dylib`llvm::SelectionDAGISel::LowerArguments(llvm::Function const&) + 3840
    frame #2: 0x0000000128c445c8 libllvmlite.dylib`llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 556
    frame #3: 0x0000000128c43a8c libllvmlite.dylib`llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1396
    frame #4: 0x0000000128def204 libllvmlite.dylib`llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 288
    frame #5: 0x000000012950a434 libllvmlite.dylib`llvm::FPPassManager::runOnFunction(llvm::Function&) + 472
    frame #6: 0x000000012950df3c libllvmlite.dylib`llvm::FPPassManager::runOnModule(llvm::Module&) + 52
    frame #7: 0x000000012950a82c libllvmlite.dylib`llvm::legacy::PassManagerImpl::run(llvm::Module&) + 572
    frame #8: 0x0000000128041060 libllvmlite.dylib`llvm::MCJIT::emitObject(llvm::Module*) + 180
    frame #9: 0x000000012804120c libllvmlite.dylib`llvm::MCJIT::generateCodeForModule(llvm::Module*) + 132
    frame #10: 0x00000001280417e4 libllvmlite.dylib`llvm::MCJIT::finalizeObject() + 248
    frame #11: 0x0000000128017a5c libllvmlite.dylib`LLVMPY_FinalizeObject + 36
    frame #12: 0x00000001bb9c4050 libffi.dylib`ffi_call_SYSV + 80
    frame #13: 0x00000001bb9ccae8 libffi.dylib`ffi_call_int + 1208
    frame #14: 0x0000000100ee27bc _ctypes.cpython-38-darwin.so`_ctypes_callproc + 1440
    frame #15: 0x0000000100edb5e8 _ctypes.cpython-38-darwin.so`PyCFuncPtr_call + 1172
    frame #16: 0x00000001008c689c Python3`PyObject_Call + 196

and then there's a bunch of Python interpreter stuff that's pretty useless.
This doesn't have any debug symbols, so I can't figure out what's going on. I have a separate LLVM build that does have debug symbols and that one performs fine and I get the same assembly as @esc. In both cases, I statically linked, so I'm guessing assertions are the problem. For fun, I dumped the bitcode:
; ModuleID = 'test'
source_filename = "<string>"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-darwin21.5.0"

@_ZN08NumbaEnv8__main__4testB2v1B44c8tJTIcFHzwl2ILiXkcBV0KBSqPHEpIwapzCJIogOjUBE5ArrayIdLi1E1C7mutable7alignedE = common local_unnamed_addr global i8* null
@_ZN08NumbaEnv5numba4misc7literal19literal_unroll_impl12_3clocals_3e4implB2v2B42c8tJTIcFHzwl2ILiXkcBV0KBSmNGHkyiCKJEEwA_3dE8UniTupleI5TupleIxbELi1EE = common local_unnamed_addr global i8* null

; Function Attrs: nofree norecurse nounwind writeonly
define i32 @_ZN8__main__4testB2v1B44c8tJTIcFHzwl2ILiXkcBV0KBSqPHEpIwapzCJIogOjUBE5ArrayIdLi1E1C7mutable7alignedE(i8** noalias nocapture %retptr, { i8*, i32, i8* }** noalias nocapture readnone %excinfo, i8* nocapture readnone %arg.x.0, i8* nocapture readnone %arg.x.1, i64 %arg.x.2, i64 %arg.x.3, double* nocapture readnone %arg.x.4, i64 %arg.x.5.0, i64 %arg.x.6.0) local_unnamed_addr #0 {
entry:
  store i8* null, i8** %retptr, align 8
  ret i32 0
}

attributes #0 = { nofree norecurse nounwind writeonly }

and ran it through llc from both the LLVM provided by Brew and the LLVM I compiled from source and they both work perfectly and produce identical output. There isn't a Valgrind for the M1, so I'm not able to trace where the null pointer is coming from in a meaningful way.

Thanks for taking a look at this @apmasell. This seems a bit strange in general, am wondering if there's some undefined behaviour in LLVM that is being bypassed in the case of assertions being present? If the opt level is changed does the issue still appear?

If LLVM came from homebrew, then it probably doesn't have this patch applied: https://github.com/numba/llvmlite/blob/52970defcdd82c68a420e1dc182a814c7c4b16e3/conda-recipes/llvm_11_consecutive_registers.patch - this seems to cause this kind of failure. There are more details in https://github.com/gmarkall/cf-llvmlite-0.39-issue-repro

I removed the stale label again, as this is unresolved. Since CF is rebuilding llvmlite with the missing patch, it should be solved soon however. @twiecki it might be worth subscribing to: https://github.com/conda-forge/llvmdev-feedstock/pull/165 -- I think that is the correct issue which aims to solve the symptoms you are seeing.

I removed the stale label again, as this is unresolved. Since CF is rebuilding llvmlite with the missing patch, it should be solved soon however. @twiecki it might be worth subscribing to: conda-forge/llvmdev-feedstock#165 -- I think that is the correct issue which aims to solve the symptoms you are seeing.

FWIW that is referring to LLVM 12. AIUI Numba is using LLVM 11 (not 12). The corresponding PR for LLVM 11 was PR ( https://github.com/conda-forge/llvmdev-feedstock/pull/164 ), but this was superseded by PR ( https://github.com/conda-forge/llvmdev-feedstock/pull/171 ), which has since been merged (with packages built).

Thanks for summarising @jakirkham. Seems like the issue reported should now be resolved. If anyone with the right hardware combinations would like to check/confirm it would be much appreciated, thanks!

Should add LLVM 13+ has the fix. So whenever Numba updates to LLVM 13+, there won't be a need to patch LLVM (for this issue ;).

@twiecki since you were the OP, do you have a spare minute to double check that this "works" now so that we can close this issue, thank you.

Should this work under the conda-forge version of numba?

Should this work under the conda-forge version of numba?

That is correct, yes.

Still get a segfault with numba 0.56.3.

Still get a segfault with numba 0.56.3.

Ok, that is.... quite unfortunate. @twiecki can you supply exact commands used to reproduce, including the environment creation? @jakirkham can you provide more details on how to get a conda-forge version that has been "fixed"?

Pretty weird, I just created a new environment that has the same numba and llvmlite versions and it does not segfault there.

Do the environments have different libllvm11 versions / builds?

Would recommend running conda update --all for the environment. Likely have an old LLVM installed as Graham alluded to above.

After running update --all it also works in my original environment.

After running update --all it also works in my original environment.

OK, AWESOME! Glad that we managed to get this resolved. Thank you again all involved!!!


[Android] Update build tools version

New android projects will use buildToolsVersion 26 in combination with gradle build tools v3. This is incompatible with the current buildToolsVersion used in this library.
This basicly means that new android projects will not be able to use this library.
To fix this, the build.gradle needs to have a buildToolsVersion of at least 25.0.2.

I believe this would break backwards compatibility with people using older versions of gradle and the built tools.
Using the latest Gradle I do see the warning about the build tools version. For now I'm going to leave the version as is, probably at least until React Native produces projects which use Gradle 3.


org.scalacheck.Gen.oneOf - call by-name?

ScalaCheck: The Definitive Guide demonstrates in chapter 6 how to create generators for recursive data structures, listed in the first part of this SO Question.
The text states:

When Scala evaluates the oneOf method, it first evaluates both parameters, leading to an infinite recursion.

Then, the book notes how to use org.scalacheck.Gen.lzy:

The lzy method takes a generator as its only parameter and returns a new
generator that wraps the original generator lazily by delaying its parameter
evaluation until it’s really needed.

Out of curiosity, why not make org.scalacheck.Gen.oneOf evaluate its arguments lazily, i.e. by-name?
Would that prevent the "infinite recursion" problem, as well as remove the need for lzy?

Actually, I just read this SO answer:

Repeated by-name parameters are not currently supported.

And I believe it's still true:
scala> def f[A](a: => A, as: => A*): A = a
<console>:1: error: ')' expected but identifier found.
def f[A](a: => A, as: => A*): A = a
                          ^


Fix error message for using deterministic measure with probabilistic model in evaluate!

This came up here: https://github.com/alan-turing-institute/MLJ.jl/issues/789

Codecov Report

Merging #556 (1f664fd) into dev (1512912) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              dev     #556      +/-   ##
==========================================
+ Coverage   84.89%   84.91%   +0.02%
==========================================
  Files          36       36
  Lines        3039     3037       -2
==========================================
- Hits         2580     2579       -1
+ Misses        459      458       -1

Impacted Files
Coverage Δ

src/resampling.jl
88.30% <100.00%> (+0.27%)
:arrow_up:

src/univariate_finite/methods.jl
86.25% <0.00%> (-0.11%)
:arrow_down:

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 1512912...1f664fd. Read the comment docs.


Camera.gd can't run in Godot 3.1

It tried to assign some const vars which results in a runtime error

Changed it already


Update Headless Tasks for Android

Hi all,
Seems to me the docs for Headless Tasks on Android are incorrect. Instead of registering a function that require()'s the task, you should return the task function instead.
Also see https://github.com/facebook/react-native/blob/master/Libraries/ReactNative/AppRegistry.js#L265. taskProvider() returns the task function which then gets called with the data.

Thank you! This is actually the same code, so either should be fine.


Allow commands_spec to be run against the installed copy of sugarjar

For Ruby packages, Debian autopkgtest runs in an environment where gem2deb-test-runner removes the lib directory from the source tree, so the specs have to be able to load the installed copy instead.
With this change, lib gets added to the front of the path, and the relative require is changed to not specify a path. So when specs are run from a source tree checkout the lib in the checkout is still preferred, but if it's not available the installed library gets used to satisfy the require.
See https://wiki.debian.org/Teams/Ruby/Packaging/Tests#Case_eight:_autopkgtest_failure
Signed-off-by: Michel Alexandre Salim<EMAIL_ADDRESS>

I'm fine with this, especially since it's only in the specs. However, please add a significant comment in the code itself as to why it's this way instead of require_relative... basically the comment in your PR, lets just put it in the code.

makes sense! saves someone hunting the git blame for context.

Addressed the first one (style issue), the second one - the errors are a bit cryptic but I'm guessing it's because I use backticks in the comments. Removed those.

Rebase for MDL fixes. Use rubocop's autocorrect for ruby fixes.


[lecture-issue, low-priority] Citation Missing in Inventory Dynamics Lecture

Citation [caplin1985variability] is missing in the Inventory Dynamics lecture:

When I build locally I get this list of missing citations:

@thomassargent30 it seems like some of the labels were changed in this commit but haven't been changed where they're referenced in the lectures

thanks for reporting these sphinx warnings @mtiley and @najuzilu. We will want a PR to fix these once we transfer over to the new repos.

@najuzilu I will close this issue here as this will be captured by the citation warnings in the new lecture repositories. Would you mind to help fix these issues there?

@mmcky absolutely!


[A11y] Contrasts partly seem not to be WCAG-compliant (AAA & AA)

Also described in: https://github.com/corona-warn-app/cwa-app-android/issues/174#issue-631080966
Current Implementation
I have analyzed the High-Resolution Screenshots with the WebAIM Contrast-Checker I found that some of the contrasts do not reach WCAG AAA, sometimes not even WCAG AA.
(The following image may show other colours because of web compression. Here the Screenshot of the Android-App is shown, but the colours match those of iOS)

Screen 1 (start screen): Both the green area and the blue button do not offer enough contrast. In addition, the perception of the color "blue" decreases most with age (Source), which is why the lower button in combination with the continuous capitalization and the narrow font could cause problems for certain user groups.
Screen 2 ("Low risk") and 3 ("Risk determination") both contain a small grey font. This is just above the AA minimum of 4.5 from a contrast perspective, but in combination with the very small font could be very difficult to read for some user groups.
Screen 3 ("Risk assessment"): The switch may not be recognizable as such for some user groups - some may just see a dot.
Suggested Enhancement
For reasons of accessibility, the contrasts should be increased. At the same time, the difference between headings and "secondary text" must of course be maintained. In iOS-version this is better implemented as some headings are bolder.
Expected Benefits
The application should be easy to use for all user groups - but individual risk groups such as senior citizens are very likely to have higher usability requirements, also in terms of contrasts. In order not to exclude these user groups from using the application, WCAG AAA should be implemented in the best possible way.

Will be answered together with https://github.com/corona-warn-app/cwa-documentation/issues/195


Yuki Yamaguchi Unit 1 Sprint 3

Great work! You very clearly understand t-testing and it shows in your code. Not too much to talk about.
One thing you can start thinking about is following pep8 https://www.python.org/dev/peps/pep-0008/.
It's a soft-skill, and not that important to meeting the requirements for lambda's curriculum, but it will make you a better programmer, and make it easier for you to collaborate with other's in the future.

Awesome job today! I really liked your visualizations, I've honestly never seen those before! It was a really cool and intuitive way to think about the data.
In short, you rocked it today 👏

na_values=['?'] Great work using this to coerce the odd values into being recognized as na.
for col in df:     dt = df[col].dtype      if df.isna().sum()[col] == 0:       next     else:       if dt == int or dt == float:           df[col].fillna(df[col].mean(), inplace=True)       else:           df[col].fillna(df[col].mode()[0], inplace=True)
Nice work interpolating your missing data 🎉
And lastly, really clever how you split the target classes on positive and negative. It really added another layer to the data exploration. Really great work!


feat: Allow s & f strings to contain expressions

This doesn't work at all, but using it to ask a question of the best way of doing #3279 — how can we parse an expression from within another parser?
Here's the relevant line: https://github.com/PRQL/prql/compare/main...max-sixty:prql:try-s-string-expr?expand=1#diff-f3825716552312a9ef9f74ba3196b570761c8907b541923cdd5f6f4dcebb677fR162-R164

I think this isn't trivial, but I might be over-complicating it:

Currently the Interpolation Token contains a String. That would need to change to contain a Vec<Token> https://github.com/prql/prql/blob/4bb4043aec6ad7259dd8572c7a8fd4a81f459789/crates/prql-parser/src/lexer.rs#L17
That means the lexer needs to become recursive, so it can be passed into the interpolation lexer at https://github.com/prql/prql/blob/4bb4043aec6ad7259dd8572c7a8fd4a81f459789/crates/prql-parser/src/lexer.rs#L82
Then the interpolation parser would parse Tokens rather than chars (at https://github.com/prql/prql/blob/7a59f1951c6c9259775000a47d6205f8b37bd893/crates/prql-parser/src/interpolation.rs#L106)
It would get passed the (already recursive) expr parser at https://github.com/prql/prql/blob/04b5174cba01bcc79837e69f0697486210d3d6dd/crates/prql-parser/src/expr.rs#L86, and use that to parse its contents (or at least everything left of :)

That's not a great road to go down and then realize it was all wrong, so I'll try and not proceed until someone else thinks that's reasonable...

I don't quite remember how this works, but I do remember that I wanted to make lexer recursive, but later realized that it is really not a good idea.

I wanted to make lexer recursive, but later realized that it is really not a good idea.

OK interesting. Is this just a general thing that it's better to not have recursive lexers, or something specific?
If we want to parse expressions within strings, I guess we do need some sort of thing that resembles recursion, though there are a few possible forms.

That's because lexer a usually limited to operate on regular languages (i.e. whatever can be matched with a regular expression). This limitation is deliberate to limit the complexity of the code for the lexer and leave the recursive stuff to the parser.

Yes, though if we want something like python f-strings, is there any way around having recursion in the lexer (or something that is functionally similar to recursion)? I had thought not...

As discussed on the dev call — no one is opposed to on principle, but @aljazerzen thinks it's not easy, so we should only do this if it's tractable


Add provider and subscriber tests

The provider and subscriber have missing test coverage. Need to add some tests to improve coverage and refactor some parts thereof.

This issue was resolved in #5.