focal plane mapping in CziImageData

thanks your code to help me...but i notcie some bug here.
when i try to convert czi to dcm, i notice a bug in CziImageData. The original code is writen as:
def _get_focal_plane_mapping(self) -> List[float]:
        image = get_nested_element(
            ElementTree.fromstring(self.metadata),
            ["Metadata", 'Information', 'Image']
        )
        try:
            size_z = int(get_text_from_element(image, 'SizeZ', '0'))
            z_interval = get_nested_element(
                image,
                ['Dimensions', 'Z', 'Positions', 'Interval']
            )
            start = int(get_text_from_element(z_interval, 'Start'))
            increment = int(get_text_from_element(z_interval, 'Increment'))
            _, _, z_scale = self._get_scaling()
            if z_scale is None:
                raise ValueError("No z scale in metadata")
            start_z = start * z_scale
            step_z = (start+increment*size_z)*z_scale
            end_z = increment*z_scale
            return list(np.arange(start_z, end_z, step_z))
        except ValueError:
            return [0.0]

here the step_z and end_z may be revesed...
they should be:
            start_z = start * z_scale
            end_z  = (start+increment*size_z)*z_scale
            step_z = increment*z_scale

and then, in the wsidicom->WsiDataset->_get_spacing_between_slices_for_focal_planes, the computing of spacing may have wrong because of the float precision. in my exmaple, the incresment is 0.10073184462375681 between every Z plane.
so, i add a rough way to solve this problem..
        if len(focal_planes) == 1:
            return 0.0
        distances: Set[float] = set()
        d_first = 0.0
        sorted_focal_planes = sorted(focal_planes)
        for index in range(len(sorted_focal_planes)-1):
            distance = (
                sorted_focal_planes[index + 1]
                - sorted_focal_planes[index]
            )
            if len(distances) == 0:
                d_first = distance
            else:
                if abs(d_first-distance) < 0.000000001:  # if the distance bias less then an epsilon, i think they are same.
                    distance = d_first
            distances.add(distance)

hope this problem will be fix in a better way...

Hi @ychyss
Yes it looks like step_z and end_z has been mixed up. And your solution for allowing float precision errors seems reasonable. I will implement these changes.
I also noticed that CziImageData currently does not check the axis order when getting the image size. Did you notice the image size being wrong? Which axes were present in the file you tested?
Also, if you have a czi file with z-stacking to share that would be helpful.

These issues have now been fixed by #28


Required control words for RTF Table

First off, awesome work!  Glad to see our codepage library was helpful :)
https://jsfiddle.net/omyjg5a9/ generates an RTF table that Word 2016 and OSX TextEdit recognize as a borderless table.  rtf.js doesn't seem to recognize this as a table :(
The generator is extremely simple, using a handful of control words for the table block.  Here's an example with some comments prefixed by #:
{\rtf1\ansi
  \trowd\trautofit1 # start of row
  \cellx1\cellx2    # Word seems to need this, even though the widths are not used
  \pard\intbl       # mark before cells
    a\cell          # each cell is terminated with the \cell control word
    b\cell
  \pard\intbl\row   # end of row

  \trowd\trautofit1
  \cellx1\cellx2
  \pard\intbl
    1\cell
    2\cell
  \pard\intbl\row
}

A request for table support was already raised in #15 .  Based on your understanding of the specification, do those control words suffice to represent a table?  If so, would you accept a PR for table support based on those words?

The rtf example you provide seems sufficient for a minimal table (cellx is a required part of the table definition tbldef according to the spec).
We would certainly appreciate a PR for (minimal) table support, we can always later expand it to include all the additional formatting that is possible. @tbluemel originally started implementing this in the branch table-support (including some major rearchitecting to make it work), but that never reached the stability or feature completeness of the current version, none the less it might be interesting to look at that branch for some pointers on implementing it.

If you are still interested, I have just ported the table-support branch to the current master so it is now all typescript and has the test suite, which should make understanding and development a lot easier. You can find it in the branch table-support-typescript.

Nice.  I'm still interested, I just don't have the time to work on it currently.

Just wondering if you had time to look into this pr ? I just came across this awesome piece of work and was wondering if/when table support will be included

Unfortunately, I haven't really had time to work on this project recently.

Is there a plan to rebase again table-support-typescript on master in order to have minimal support for tables?
The lib is great and works well for most of my use cases but the lack of table support is kind of a deal breaker atm

Is there any reason why this as never added to master?
I ask because we use 3.0.7 and no table support has become an issue.
I am attempting to get the table-support-typescript branch updated to the latest and changes around RtfDestination.ts and Renderer.ts become unclear which are made as a consequence of the table support and which are updates from the simple fact that the branch is 4 years old  @zoehneto.
Any help will be appreciated!

As stated above the branch never got to a state where it could actually parse anything but simple examples (and not in the 'some things arent't handled yet' but in the 'it crashes randomly' way). That is why it was never merged.


feat: support type-challenges

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[x] Code style update
[x] Refactor
[x] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[x] Yes
[ ] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the dev branch, not the main branch
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)

If adding a new feature, the PR's description includes:

[x] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

Bugs for the preview: https://typescript-tutorial-exercises.github.io/preview

The api of solution may request error. I should add retry for it.
The padding for markdown.
Find why some question Compilation Error.


Clients not responding...

Running A14 Custom ROM on P8P with NekogramX using Kitsune 26.4 and modded LSPosed.
After enabling this module and selecting NekogramX, when I open NekogramX, I get a hanging app with nothing displayed.

Hey!
Mostly the reason is some old hooks, I will try update the module this week on my free time.

Same for me on Plus Messenger, OOS 14 on a OnePlus 12.

Same for me on Plus Messenger, OOS 14 on a OnePlus 12.

Hey!
There will be an update this week.
I will make sure to fix the issue and update hooks for all listed clients.

Same for me on Plus Messenger, OOS 14 on a OnePlus 12.

Hey! There will be an update this week. I will make sure to fix the issue and update hooks for all listed clients.

This week?!🤔🤔🤔

Same for me on Plus Messenger, OOS 14 on a OnePlus 12.

Hey! There will be an update this week. I will make sure to fix the issue and update hooks for all listed clients.

This week?!🤔🤔🤔

Well! Tonight there will be an update


Prevent Term Deletion

Critical Changes
Changes
Updates to Ensure Data Integrity
We've added a trigger handler on Term to prevent the records from being deleted if they have any Term Grade associations.
Issues Closed
Closes #905
New Metadata

TERM_CannotDelete_TDTM

TERM_CannotDelete_TEST

Deleted Metadata
Testing Notes

@robertbwatson  update the code, can you please take another quick look at it? Thank you.

@skosgi1 More minor word changes and you forgot to remove the label from the actual labels file :)
Otherwise this is great and I'm approving it. Feel free to assign and move to Dina once you make the word edits and remove the label.

Closing this for now until we reach a decision on a EDA Settings option for prevent deletion logic.


Develop

Hi, I work in meteomatics and I will help you with the code review.

In your case .values and .index is missing from the response_records: it should be possible to have response_records.values[4][5] and response_records.index[4] (String) instead of response_records[4][1][5]

In fact they exist and are not missing.
https://github.com/chess-equality/rust-connector-api/blob/develop/src/entities/connector_response.rs#L10-L13
pub type ResponseHeader = Vec<String>;
pub type ResponseRecord = Vec<(String, Vec<f64>)>;

response_headers is index
response_records is values
For example:
response_body.response_headers
response_body.response_records
response_body.response_headers[1]
response_body.response_records[1].0
response_body.response_records[1].1
...
If you run the unit tests they will show these.

names=['lat', 'lon', 'validdate'])

Box (lat / lon) is not yet implemented.

No, response_header is not index, it would be equivalent to df_ts.columns in the python code wich prints Index(['t_2m:C', 'rr_1h:mm'], dtype='object') but that is different from df_ts.index.
The response record right now has the index together with the values let (index, values) = row;
>>>>>>>>>> ResponseRecords:
2021-10-19T17:15:44Z: 14.3,0
2021-10-19T18:15:44Z: 13.8,0

All the indexes (for row 0 [2021-10-19T17:15:44Z], for row 1 [2021-10-19T18:15:44Z], etc..) should be instead on its own separate vector.

Could you put here the URL of this example, like:
https://api.meteomatics.com/2021-10-20T00:00:00Z/t_2m:C/52.520551,13.461804/csv
Note that box / grid is not yet implemented.
Then from the result, list which should go to index, values, and columns, and their respective structures (vec, tuple, etc.).
Furnish complete examples, like in the documentation:
https://www.meteomatics.com/en/api/getting-started/
https://www.meteomatics.com/en/api/request/required-parameters/#time_description

No, response_header is not index, it would be equivalent to df_ts.columns

So there is this requirement, df_ts.columns?
Also complete the requirements expected, see below.

And also could you please list here all the functions / features expected, also with examples, and with reference to the Python SDK code, as from the original requirements this should be the same as with the Python SDK, per Christian.

https://github.com/meteomatics/rust-connector-api/pull/1#issuecomment-941088818

Could you put here the URL of this example, like:
https://api.meteomatics.com/2021-10-20T00:00:00Z/t_2m:C/52.520551,13.461804/csv
Note that box / grid is not yet implemented.
Then from the result, list which should go to index, values, and columns, and their respective structures (vec, tuple, etc.).

For the following URL taken from the same python SDK example https://api.meteomatics.com/2021-11-04T00:00:00+00:00--2021-11-05T00:00:00+00:00:PT1H/t_2m:C,rr_1h:mm/47.249297,9.342854+50.0,10.0/csv?connector=python_v2.2.1&model=mix&interp_select=gradient_interpolation
With response
lat;lon;validdate;t_2m:C;rr_1h:mm
47.249297;9.342854;2021-11-04T00:00:00Z;-8.0;0.24
47.249297;9.342854;2021-11-04T01:00:00Z;-7.8;0.25
47.249297;9.342854;2021-11-04T02:00:00Z;-7.8;0.64
47.249297;9.342854;2021-11-04T03:00:00Z;-8.4;0.45
47.249297;9.342854;2021-11-04T04:00:00Z;-9.0;0.49
47.249297;9.342854;2021-11-04T05:00:00Z;-9.3;0.25
47.249297;9.342854;2021-11-04T06:00:00Z;-9.4;0.00
47.249297;9.342854;2021-11-04T07:00:00Z;-9.3;0.10
47.249297;9.342854;2021-11-04T08:00:00Z;-9.8;0.95
47.249297;9.342854;2021-11-04T09:00:00Z;-9.7;1.17
47.249297;9.342854;2021-11-04T10:00:00Z;-9.6;0.91
47.249297;9.342854;2021-11-04T11:00:00Z;-9.4;0.57
47.249297;9.342854;2021-11-04T12:00:00Z;-9.6;0.14
47.249297;9.342854;2021-11-04T13:00:00Z;-9.8;0.19
47.249297;9.342854;2021-11-04T14:00:00Z;-9.6;0.00
47.249297;9.342854;2021-11-04T15:00:00Z;-9.3;0.00
47.249297;9.342854;2021-11-04T16:00:00Z;-9.2;0.53
47.249297;9.342854;2021-11-04T17:00:00Z;-9.5;0.46
47.249297;9.342854;2021-11-04T18:00:00Z;-9.4;0.39
47.249297;9.342854;2021-11-04T19:00:00Z;-9.2;0.07
47.249297;9.342854;2021-11-04T20:00:00Z;-9.4;0.00
47.249297;9.342854;2021-11-04T21:00:00Z;-9.9;0.00
47.249297;9.342854;2021-11-04T22:00:00Z;-10.2;0.00
47.249297;9.342854;2021-11-04T23:00:00Z;-10.1;0.00
47.249297;9.342854;2021-11-05T00:00:00Z;-10.8;0.00
50;10;2021-11-04T00:00:00Z;4.1;0.00
50;10;2021-11-04T01:00:00Z;5.2;0.00
50;10;2021-11-04T02:00:00Z;5.5;0.00
50;10;2021-11-04T03:00:00Z;5.6;0.00
50;10;2021-11-04T04:00:00Z;5.5;0.00
50;10;2021-11-04T05:00:00Z;5.4;0.00
50;10;2021-11-04T06:00:00Z;5.4;0.01
50;10;2021-11-04T07:00:00Z;5.6;0.26
50;10;2021-11-04T08:00:00Z;5.8;0.22
50;10;2021-11-04T09:00:00Z;6.1;0.15
50;10;2021-11-04T10:00:00Z;6.7;0.07
50;10;2021-11-04T11:00:00Z;6.9;0.05
50;10;2021-11-04T12:00:00Z;7.5;0.17
50;10;2021-11-04T13:00:00Z;6.8;0.24
50;10;2021-11-04T14:00:00Z;6.7;0.06
50;10;2021-11-04T15:00:00Z;6.4;0.14
50;10;2021-11-04T16:00:00Z;5.8;0.00
50;10;2021-11-04T17:00:00Z;5.6;0.00
50;10;2021-11-04T18:00:00Z;5.4;0.08
50;10;2021-11-04T19:00:00Z;5.2;0.11
50;10;2021-11-04T20:00:00Z;5.1;0.82
50;10;2021-11-04T21:00:00Z;4.9;0.46
50;10;2021-11-04T22:00:00Z;5.0;0.00
50;10;2021-11-04T23:00:00Z;4.8;0.00
50;10;2021-11-05T00:00:00Z;4.7;0.00

df_ts.index is a Vector<RowMetadata>  with:
47.249297;9.342854;2021-11-04T00:00:00Z;

47.249297;9.342854;2021-11-04T01:00:00Z;
47.249297;9.342854;2021-11-04T02:00:00Z;
47.249297;9.342854;2021-11-04T03:00:00Z;
47.249297;9.342854;2021-11-04T04:00:00Z;
   ....
47.249297;9.342854;2021-11-04T00:00:00Z;
50;10;2021-11-04T00:00:00Z;
50;10;2021-11-04T01:00:00Z;
   ...

where RowMetadata contains lat (float), lon (float), and date (string)
df_ts.columns is a Vector<String> with:  't_2m:C', 'rr_1h:mm'

So there is this requirement, df_ts.columns?
Yes, se above

df_ts.values is a Vector<Vector> with
[[-8.00e+00  2.40e-01]
 [-7.80e+00  2.50e-01]
 [-7.80e+00  6.40e-01]
 [-8.40e+00  4.50e-01]
 [-9.00e+00  4.90e-01]
 [-9.30e+00  2.50e-01]
 [-9.40e+00  0.00e+00]
 [-9.30e+00  1.00e-01]
 [-9.80e+00  9.50e-01]
 [-9.70e+00  1.17e+00]
 [-9.60e+00  9.10e-01]
 [-9.40e+00  5.60e-01]
 [-9.60e+00  1.30e-01]
 [-9.80e+00  1.90e-01]
 [-9.60e+00  0.00e+00]
 [-9.30e+00  0.00e+00]
 [-9.20e+00  5.30e-01]
 [-9.50e+00  4.60e-01]
 [-9.40e+00  3.90e-01]
 [-9.20e+00  7.00e-02]
 [-9.40e+00  0.00e+00]
 [-9.90e+00  0.00e+00]
 [-1.02e+01  0.00e+00]
 [-1.01e+01  0.00e+00]
 [-1.08e+01  0.00e+00]
 [ 4.10e+00  0.00e+00]
 [ 5.20e+00  0.00e+00]
 [ 5.50e+00  0.00e+00]
 [ 5.60e+00  0.00e+00]
 [ 5.50e+00  0.00e+00]
 [ 5.40e+00  0.00e+00]
 [ 5.40e+00  1.00e-02]
 [ 5.60e+00  2.60e-01]
 [ 5.80e+00  2.20e-01]
 [ 6.10e+00  1.50e-01]
 [ 6.70e+00  7.00e-02]
 [ 6.90e+00  5.00e-02]
 [ 7.50e+00  1.70e-01]
 [ 6.80e+00  2.40e-01]
 [ 6.70e+00  6.00e-02]
 [ 6.40e+00  1.40e-01]
 [ 5.80e+00  0.00e+00]
 [ 5.60e+00  0.00e+00]
 [ 5.40e+00  8.00e-02]
 [ 5.20e+00  1.10e-01]
 [ 5.10e+00  8.20e-01]
 [ 4.90e+00  4.60e-01]
 [ 5.00e+00  0.00e+00]
 [ 4.80e+00  0.00e+00]
 [ 4.70e+00  0.00e+00]]


Update to compliant services tiles for lambda security steps/best practices

Describe the issue

teams have different experience and exposure to the system
By providing patterns to them, it helps maintain/move towards secure development in the lambda space
A way to give teams best practices

Which Sprint Goal is this issue related to?

Note: 'Milestone' is a ZenHub term that we use synonymously with 'Sprint'.

The 'Milestone' description (created in ZenHub) should clearly list Sprint Goals. This section should indicate which 'goal' this issue is related to.
Additional context
Add any other context, attachments or screenshots
Definition of done

Provide information in useful format for parsing
use the information provided in lambda ticket (#889) to populate lambda tile

see https://app.zenhub.com/workspaces/cloud-pathfinder-5e4dbb426c3c6af8dcbf06a7/issues/bcgov/cloud-pathfinder/889


Add IP assigned to the diagnostic tool (webpage)

I think it can be very handy to show IPv4 and IPv6 addresses leased / assigned to the device for each interface on the diagnostic website.
THX

Completed, currently in testnet pending prod release.


Some refactorings

bors r+

solson/miri#378 will need to be merged first

I'm just gonna merge this and fix it up locally


GIF for the readme!

I dragged and dropped a gif to this issue in order to get a link to reference without needing to upload the ~4MB gif to this repo :)

Take two. A gif?

Take three. A m4v file?
https://user-images.githubusercontent.com/3837114/104153836-abcdb980-53e3-11eb-9a56-6e37bcc0b752.mp4

Take two. A gif?

Take three. A m4v file?
https://user-images.githubusercontent.com/3837114/104153836-abcdb980-53e3-11eb-9a56-6e37bcc0b752.mp4


python311Packages.dbt-semantic-interfaces: 0.4.4 -> 0.5.0

Diff: https://github.com/dbt-labs/dbt-semantic-interfaces/compare/refs/tags/v0.4.4...v0.5.0
Changelog: https://github.com/dbt-labs/dbt-semantic-interfaces/releases/tag/v0.5.0
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 295298 run on x86_64-linux 1

10 packages failed to build:

dbt (python311Packages.dbt-core)
dbt.dist (python311Packages.dbt-core.dist)
python311Packages.dbt-bigquery
python311Packages.dbt-bigquery.dist
python311Packages.dbt-postgres
python311Packages.dbt-postgres.dist
python311Packages.dbt-redshift
python311Packages.dbt-redshift.dist
python311Packages.dbt-snowflake
python311Packages.dbt-snowflake.dist

4 packages built:

python311Packages.dbt-semantic-interfaces
python311Packages.dbt-semantic-interfaces.dist
python312Packages.dbt-semantic-interfaces
python312Packages.dbt-semantic-interfaces.dist

blocked by python311Packages.dbt-bigquery which is not updated yet to work with this verson

@mausch @tjni, seems like this update goes deep, since many packages have changed trees. Could you look into it?

Done in https://github.com/NixOS/nixpkgs/commit/6a5e744b9f7e62de23a5674ede5364256f51bb4a.


Fix shinyapps link in college-majors README

Fixes https://github.com/fivethirtyeight/data/issues/55

Link was actually right but I'd allowed the shinyapp to go dormant. Now restarted. (Ed_app was another, unrelated, shiny app.)


windows: High CPU usage from Powershell subprocess

Observed on my Windows Server eval VM:

It doesn't happen every time. It might just be because the VM has such little CPU - idk if it's running on one of the laptop's Atom cores, but it's pretty sluggish. Maybe I should give it a couple cores.

In 86165825a1b1, the only place we use Powershell subprocesses now is to elevate ourselves.
So I'll close this. If there is high CPU usage on the VM it should be in the exe itself. Also IIRC the new versions that don't call Powershell perform pretty well in the VM.


Resource cleanup

Resource cleanup should be improved.  At this point all possible solutions will be incompatible with ASGI spec.  I try to describe proposed solution in terms of RabbitMQ protocol convention.
Exchange cleanup
All exchanges can be declared with auto-delete flag.  When we can cleanup all intermediate queues properly exchanges will also be removed.
Spec changes: Not necessary.
Process local channels
Corresponding queue can be declared with exclusive flag.  This queue will be remove when process created this queue closes connection.  This queue can't be declared in the passive mode, so we can't check numbers of messages in it.  Also we should create this queue from process which gonna read from it.
Spec changes: Create process local channels with new_channel method again.  Remove capacity from process local channels.
Single reader channels
Corresponding queue can be declared with auto-delete flag.  After that we start consumer with no-local flag.  This will prevent it from reading messages sent from same connection.  Queue will we cleanup when this consumer goes away.  Obviously that will happens when connection was closed.
Spec changes: Limit single reader channels receive and send usage.  Receive can't be used from process created channel with new_channel.  Send can be used only from process which creates this queue with new_channel.
So let brain storm here and decide if this changes are appropriate to spec.
cc @andrewgodwin @apollo13

Process-local channel exclusivity: Do we need new_channel? Can we not just create the queue in this way when we get a receive() call on it and it contains the ! character?
Process-local channel capacity: Hmm, capacity is important for buffering large responses, otherwise it might try and push a 100MB file down into the message queue all at once. Is there no other solution to this?
Single-reader: I think we could say that you can only send to it from the place that called new_channel without too much hassle. and not allow receiving, and maybe rename it "Single source channels" to enforce this, which also reflects the difference in sharding we need to handle in the Redis backend.

Single reader channels
Looks like we agree on this?
Process local channels
Probably we can do the same thing with long running consumer and auto-delete flag. This consumer will receive messages immediately and store in the connection internal cache. Until some one call receive from this channel. Also experimental twisted support is done the same way in the separate branch.
This way we can use declare operation with passive flag. So worker will be able to check queue length.
Starting this internal consumer on the first call to the receive is possible. I need to check it.

I have been reading https://asgi-rabbitmq.readthedocs.io/en/latest/development/protocol.html and thought about what I did when I tried to implementing a rabbit mq backend.
I especially tried to avoid:

We declare queue before each message sending. When we receive Declare.Ok response, it contains number of messages in the queue.

How much overhead is that in general? If that turns out to be much, we'd probably have to rethink the whole approach on rabbitmq

Hi @apollo13 Thanks for your feedback.
I've developed AMQP testing tool for pika library. Each CI test runs with this statistic module enabled.
As you can see additional Queue.Declare call add 0.0006 seconds overhead to each layer send call. I think it is appropriate. Proof.
But I totally agree that approach described in the protocol is far from convenient RabbitMQ usage. ASGI compatibility was my main goal.

I've tried to implement single reader channels in the suggested way. Turns out RabbitMQ doesn't support no-local consumer flag. I need to find another way to cleanup those queues.
Also declaring group exchange with auto-delete flag make no sense. E2E bindings doesn't prevent it from from cleanup. And this isn't desired behavior.

@andrewgodwin Can you clarify single-reader channels semantic for me?

How many messages single-reader channel must hold?
Should it allows to be read from only one (unknown) process?
What is intended way to use it in Daphne + Channels pair?

Depends on this we can cleanup this queue in different ways:

send Queue.Delete with if-empty after each Basic.Get. Each receive in the blocking mode can cleanup queue.
combine Queue.Declare auto-delete and Exclusive consumer. Queue will be removed after worker teardown.

Also I think it is good idea to set Queue TTL equals message expiration multiplied by some number (x2 probably). This way we can remove unused queues eventually if everything goes wrong.

Sorry I let this one languish in my inbox for so long, I somehow overlooked it.

It should hold whatever the capacity setting is has is set to.
Currently the spec says it can be read from multiple places but there's only good ordering guarantees if it's read from a single place; I would be fine saying it must only be read from one unknown location.
It's intended for HTTP bodies, where Daphne makes a single-reader channel and passes the name in the Request message, and then the Django side consumes that channel to read chunks of the body. as Daphne feeds them in.

I think we can try to call Queue.Delete method with if-empty argument on each receive and from dead letter consumer.
I even think this is the most simple solution for all kind of cannels. Hopefully I'll try it soon.

@ollamh As I understand you're using asgi-rabbitmq in your product. Please note that this issue may affect your production environment under real load. Please setup resource monitoring for RabbitMQ nodes.
If this issue affects you already, I can develop ad-hoc cleaner as temporary solution.

@proofit404 Thanks for caring about that! We're not yet in production, but I believe we'll be there in a month or so.. And, yes, I can see lots of queues/exchanges left after client disconnecting. If you need any help on that, I definitely will do my best to help to ship this feature asap.

Constant Queue.Delete calls are not working as well. They create conditions when send creates a queue, concurrent receive deletes queue and running send fails to push message into this queue.
So Queue TTL is the only working model. I set it to message expiry X2, so clean up will robust with reasonably low message expiry values.
I need update protocol docs, review tests one more time and I will be able to release it.

@proofit404 Thank you very much, this is definitely what I need!

This issue is resolved in master. I'll ship new release soon.

asgi_rabbitmq v0.5 was released.


TAN Request Hotline - How do you prevent an infected user from requesting multiple teleTANs?

Your Question
How do you prevent that an infected user (who can answer all the questions correctly) calls again, maybe from a different phone, and requests another teleTAN?
The Data Privacy statement does not mention that you save any other data than the phone number, and this only for one hour. Or did I miss something?

Ok, I found the answers in "Bericht zur Datenschutz-Folgenabschätzung für die Corona-Warn-App der Bundesrepublik Deutschland" and its Annex 5.


tars need to support the review:approved query condition

Feature Request

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

Is your feature request related to a Issue or PR(Optional)

Which project:

PR or Issue Link:

Describe the feature you'd like:
Do you have any ideas on how to implement it?(Optional)

/remove-lifecycle rotten


odometer, position and speed

Hi, any chance we can get odometer, position and speed readings for Skoda cars?
I see VW Car-Net can be used in this way for odometer and position:
https://github.com/thomasesmith/vw-car-net-api#now-you-can-get-a-vehicles-status-summary
and
https://github.com/thomasesmith/vw-car-net-api#retrieving-vehicle-health-report-data
I haven't found any API endpoint for speed.

Hi, any chance we can get odometer, position and speed readings for Skoda cars? I see VW Car-Net can be used in this way for odometer and position: https://github.com/thomasesmith/vw-car-net-api#now-you-can-get-a-vehicles-status-summary and https://github.com/thomasesmith/vw-car-net-api#retrieving-vehicle-health-report-data
I haven't found any API endpoint for speed.

There is no endpoint for speed and odometer+position is already in this library.
Since you are asking I suspect that you have an Enyaq and odometer+position is not yet available for Enyaq.


[SUPPORT] Hudi Timestamp Timezone is not set from Flink

Tips before filing an issue

Have you gone through our FAQs?

Join the mailing list to engage in conversations and get faster support at<EMAIL_ADDRESS>

If you have triaged this as a bug, then file an issue directly.

Describe the problem you faced
Compaction is not working for Hudi 0.12.1 and Flink 1.15.2 with the following configurations:
'hoodie.compact.inline': 'true', 'hoodie.compact.inline.max.delta.commits':3, 'hoodie.table.timeline.timezone':'utc'
We see a conflict between timeline timezones as below
compactionInstant<PHONE_NUMBER>1352311) Instants :[[20221115224210227__deltacommit__COMPLETED]
Hudi Cli:
`Error: Failed to run compaction for<PHONE_NUMBER>1043695
java.lang.IllegalArgumentException: Following instants have timestamps >= compactionInstant<PHONE_NUMBER>1352311) Instants :[[20221115224210227__deltacommit__COMPLETED], [20221115224244465__deltacommit__COMPLETED], [20221115224253081__deltacommit__COMPLETED], [20221115224303021__deltacommit__COMPLETED]]`
Flink logs:
[compact_plan_generate (1/1)#2] INFO org.apache.flink.streaming.api.operators.AbstractStreamOperator - No compaction plan for checkpoint 8
To Reproduce
Steps to reproduce the behavior:

Write to hudi with following config
'table.type' = 'MERGE_ON_READ'  'hoodie.compact.inline': 'true',  'hoodie.compact.inline.max.delta.commits':3,  'hoodie.table.timeline.timezone':'utc'

Expected behavior
The compaction should be scheduled as per the timezone specified in config options.
Environment Description

Hudi version : 0.12.1

Flink version : 1.15.2

Hive version :

Hadoop version :

Storage (HDFS/S3/GCS..) :

Running on Docker? (yes/no) : no

Additional context
Add any other context about the problem here.
Stacktrace
[compact_plan_generate (1/1)#2] INFO org.apache.flink.streaming.api.operators.AbstractStreamOperator - No compaction plan for checkpoint 8

Did you use the online async compaction or offline compaction job ? It seems the UTC timeline time zone does not work correctly.


[PF-539] Add support for logging arbitrary Gson-type JSON nodes in structured payload.

This is one of the precursor steps to rolling out the TCL logging package to RBS.
The overall goal is to make it so RBS produces structured logs for CRL-initiated actions, including full request payload and any Google exception data.
We should be able to use the "structured payload" approach that the TCL logging package implements, where a service can simply write
LOG.info("message", structuredData)

and the structuredData will show up as part of the jsonPayload in Cloud Logging.
However, one wrinkle in the implementation is that the logging library uses Jackson for JSON serialization, while CRL uses Gson. The path of least resistance here seemed to be to explicitly support a gson.JsonObject in the logging payload, similar to how we already support a Jackson-style jackson.databind.JsonNode.

Thanks! The reason of choosing Gson was not widely discussed. By the time we implement CRL, I just did a google search "Jackson vs Gson", and seems Gson seems to be a better option for me. (easy to use, no checked exception everywhere). But I didn't consider that Spring is tightly with Jackson. I am fine to switch CRL to use Jackson if you think that is McTerra tech stack.

Thanks for the context! I'm not too worried about backfilling consistency in CRL, but I suspect we'll want a general trend of defaulting to Jackson for JSON manipulation unless we have a good reason not to.


Canvas layer isn't guaranteed to be set.

Another try, this time without an IDE.

The diff looks better now. It decided to change all line-endings, so, I did the change straight from github to avoid that.


[Model] soria

Hash: 8bf57cbcc3d93de02fbf00fa679f664ff4106353
Current name: soria
According to the readme the author is Jason "Zieroth" Kim
Note : appears to be a collaboration as the readme says "Rigged and imported by Warbeast, UT2004 team colors, and finishing animation by Etienne".

Fixed with author as 'Jason "Zieroth" Kim'.
Need to consider some additional functionality to support "additional credits" and stuff.

"Need to consider some additional functionality to support "additional credits" and stuff."
That's going to difficult - for example, in deciding what kind of 'stuff' deserves a credit.  Looking through readmes, people credit others for a variety of things - just looked at ValAvatar and there are several people given thanks by the main author, including someone for suggesting part of the mutator's name. Personally I think it would introduce a good deal of complication - if people are interested they can get that information from readmes.