showing Error (E043) on "Too many errors", when those "Errors" are only warnings

There should be a separate counter for warnings and for errors.
And separate giving up actions and messages: "Too many Errors" and "Too many Warnings"
I came accross two cases where this is specially important.
I use debug['something'] throughout the code. There is a reason for that and it's valid. I hid the warning. Not by jshint options. Now all I see is one error saying there is too many errors.
It was quite a time-waster issue finding out what was going on.
Yes, I tried // jshint -W069 instead and the error was not there anymore, probably warnings hidden by jshint options are not counted.
But it does not mean that the logic of a common counter is ok.
Many times jshint is not used directly and warnings could be hidden upstream.
A lot of scripts use jshint to check user-added scripts for errors before executing them in its environment.
They should be set to ignore all warnings or set the maxerr too high. Tamper Monkey seems to be doing that. But it is not something to be expected naturally.
There is a closed issue: https://github.com/jshint/jshint/issues/180,
but the proposed solutions were to remove the feature, or make it opt-in.
What I mean here is that the feature itself is not an issue, but joining counts of warnings and errors and reacting with one common action is.

Thanks for the report!
A bit of background:
Errors describe problems in parsing, so they often appear in large numbers following a single syntax error. That's because JSHint attempts to recover from invalid syntax as a convenience to the user. Recovery involves some guesswork, so there's no foolproof way to do it. If JSHint guesses incorrectly, then it will end up reporting a large number of irrelevant errors.
Warnings, on the other hand, are reported in response to discrete patterns in the code. They're far less likely to exhibit the same kind of "avalanche" that sometimes occurs for errors.
Also note that the threshold for "giving up" is configurable via the maxerr option. Just like the error message, this option currently conflates the term "error" and "warning."
It seems to me like this behavior is only really relevant for errors. In that case, it may be appropriate to limit it to errors only. What do you think, @paponius?

The first approach sounds good to me: limit maxerr to errors only. If you (or anyone else) would like to try making this change, I'll be happy to provide guidance.

how's it going with this issue :) ?

@jugglinmike I will make the required change, provide me with some guidance

Sure, @dhruv479. Here are the changes that come to mind:

src/jshint.js - update the condition that causes the E043 error to be emitted. Keep in mind that JSHINT.errors is a misleading name because its elements describe both warnings and errors. The condition should only count the elements in the array that describe errors
tests/ - update any tests that this causes to fail, and add a new test if necessary
src/options.js - update the documentation of the maxerr option

...though you might find still more things that need to be changed!

Hey @jugglinmike, I will do the required and share the PR.

Hello @jugglinmike , I have made a PR to address this issue. Happy to accommodate any further changes. Hope it helps!


feat(starknet): firehose trigger filter

Supersedes #5201.
This PR adds 2 trigger filters to Starknet:

block trigger that specifies a list of ranges
event trigger that's capable of filtering by contract address, event topic, and block ranges

When used without turning on the filters feature on the Firehose provider, these filters only work on the graph-node side - meaning that full blocks are still always streamed to graph-node. Filters are applied only to avoid excessive trigger parsing. This part was what #5201 enabled.
What's new in this new PR is the additional implementation of Firhose triggers (i.e. to_firehose_filter), allowing graph-node to send a transforms field in its Firehose stream subscription requests when the filters feature is enabled for the provider. Note that all blocks are still always streamed - the filters only affects the list of transactions that are included (which dominates the size of blocks streamed as block headers are thin).
This new feature should (haven't benchmarked though) significantly improve Starknet subgraph indexing performance, as the actual data sent over the wire should now be much smaller for most real-world subgraphs. (Notably, if a subgraph tracks ETH transfers for example, it won't see much difference as ETH is transferred to sequencer in most transactions)
firehose-starknet has already implemented support for filters. This PR has been tested against that implementation and it works as expected - blocks without matching events have empty transactions, and those with matching ones only come with relevant transactions.

Pushed changes:

encapsulated trigger filter logic
renamed a few type aliases to reduce ambiguity
added trigger filter matching tests

Notably, since the trigger filter type is now completely encapsulated, it's now rather difficult to construct a TriggerFilter instance from chain.rs. So I just tested everything inside adapter.rs instead.

As I understand it this integration was taken in a different direction, I'll close the PR for now, re-open if needed. Also if not needed anymore would be great to remove the existing stakrnet code.


modified class resolution to account for OSGi classloader handling

The commit fixes a ClassNotFoundException that occurs when using Wicket with the Felix OSGi framework and Pax Wicket (https://github.com/ops4j/org.ops4j.pax.wicket) as OSGi-wrapper.

Hi,
Thank you for the Pull Request!
Could you please provide more information why this change is needed ?
For OSGi environment the application is supposed to use custom IClassResolver.

Hi,
I tried using a custom class resolver (one provided by Pax Wicket), but it doesn't help.
Below is the stack trace that causes the problem... there is no IClassResolver involved, instead the class is loaded via WicketObject.resolveClass() (called by WicketObject.newInstance() in the stack trace). I suspect this is due to the fact that the Application#initializeComponents() is called before the Application#init() method, where one would normally register the class loader?
Caused by: org.apache.wicket.WicketRuntimeException: Unable to create org.ops4j.pax.wicket.internal.Initializer
at org.apache.wicket.core.util.lang.WicketObjects.newInstance(WicketObjects.java:385)
at org.apache.wicket.Application.addInitializer(Application.java:587)
at org.apache.wicket.Application.load(Application.java:633)
at org.apache.wicket.Application.initializeComponents(Application.java:511)
at org.apache.wicket.Application.initApplication(Application.java:829)
at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:427)

I see.
There was a discussion recently about this at<EMAIL_ADDRESS>You have to use Application#internalInit() instead of #init() in that case.

Ok, that does solve it. Thanks a lot!


Compiler assertion using latest swift toolchain.

Describe the bug
Compiler assertion when using swift 5.10
To Reproduce
Compile the library using the latest Xcode RC that includes swift 5.10
Currently Xcode 15.3 RC
Expected behavior
The compiler should compile the source.
Screenshots

Environment

swift-custom-dump version [1.2.0]
Xcode [15.3 RC]
Swift [5.10]
OS: [iOS 17.2]

Additional context
This API seems to be the culprit
https://github.com/pointfreeco/swift-custom-dump/blob/464802ce6c4b9048d351756c65a83e7f5a9fb719/Sources/CustomDump/Internal/Box.swift#L59
Also tagged @stephencelis in Vapor's discord with the conversation for more context

This compiles fine with the latest 1.2.1 tag.


[REFACTOR] Refactor slack tests

@oscerd I forgot to run checkstyle. Please wait for the fix.

@oscerd done.

Thanks a lot! Merged on master!


Doesn't work when Δn != 1

https://github.com/ThatOneCalculator/riemann-sum-typst-cetz/blob/30b6bb1947f2908d886bdc6e52b36199ea44d2ff/riemann.typ#L75-L78
Dependent on https://github.com/typst/typst/issues/2908

Closed by #5


style(checkbox,chips,tabs): remove hardcoded hues

Fixes #3813

@willshowell just needs rebase

@jelbourn done

@jelbourn I just came across the specs for checkboxes and I see that the hues are actually defined to be 500. Should that portion of this PR be reverted or should that be interpreted as to mean the "default hue"?

Light
On: Swatch 500, Opacity 100%
Off: #000000, Opacity 54%
Disabled: #000000, Opacity 26%

Dark
On: Swatch 500, Opacity 100%
Off: #FFFFFF, Opacity 70%
Disabled: #FFFFFF, Opacity 30%

I'm interpreting it as intending the default hue.


texture progress progress texture becomes empty when the value is 100

Godot version
v3.4.2.stable
System information
Pop!_OS 21.10 x86_6, GLES3
Issue description
when a texture progress value is set to 100 the progress texture becomes invisible like if it was at 0

Steps to reproduce
make a texture progress node and give it a back ground and a progress texture then play around when the value to see that it works. then set the progress value to 100 and the progress texture will become invisible
Minimal reproduction project
Radial progress bug.zip

I can't reproduce this on 3.x 4cadd50f0:

https://user-images.githubusercontent.com/180032/150229502-75e0e2f5-0dbe-4a05-8e68-13b91378d854.mp4

i tested it on 3.4.2 on both my mac and linux machine and got the same result
https://user-images.githubusercontent.com/55007230/150231384-7d8fe06b-1996-4f09-9438-d7203aa2cde7.mp4

but it dose work on godot 4
https://user-images.githubusercontent.com/55007230/150232285-54e3d5ee-d07b-4368-8bc9-e928caae1480.mp4

@TuxTheAstronaut Can you test 3.5beta1?

I think this was fixed by #54345

works fine on 3.5
https://user-images.githubusercontent.com/55007230/150233695-7398b38a-97e1-44b7-a988-3f134b040d65.mp4


[Question] Forbidden char at create folder etc.

hi all,
I could not create folder or file at onedrive for business at office with those chars:  " # % * : < > ? / \ |
But when I use API like create folder:
POST https://{tenant}-my.sharepoint.com/_api/v2.0/me/item_id/children
authorization: Bearer access_token
Content-Type: application/json

{
  "name": "FolderA#",
  "folder": { },
<EMAIL_ADDRESS>"fail"
}

I can break through the limitation.
Is it an API bug or developer should get handle of this?
thanks

Hi joewutaiwan,
This is a feature to allow developers to be able to create files and folders with characters that are still restricted in the UI. It is not a bug.
Thanks.

@ksheode
what is the use case behind giving developer ability to create files and folder with characters that are still restricted in the UI.
since they are restricted no one be able to create...
can u pls elaborate this

@ankit-ankuagrawal: We're evaluating various internal ways that we can add support for these restricted characters to SharePoint and OneDrive for Business and you noticed that the OneDrive API lets you created them.
Right now the only end point that allows them is the OneDrive API. We've logged a bug to make sure that the API is consistent with how the rest of SharePoint works -- in other words, we should be blocking those characters until such time that they are available to be used everywhere.


Add Gossip Block metrics

Motivation
In order to make sure our validators vote for correct HEAD

We want to know delay time when a gossip block is received
We want to know delay time when a gossip block is processed

Description

New metric gossip_block_elappsed_time_till_received and gossip_block_elappsed_time_till_processed

part of #3084
The new panels are grouped into "Gossip Block" row as below:

@tuyennhv Can you please add a screen capture of how the metrics charts that you added look like?


Galadriel's name is misspelled

Should be "Galadriel" not "Galabriel"

Oh wow thank you. I'm still trying to figure out how I could have made this mistake so many times! The correction has been pushed.


Support batch inference

follow up of #4462
reslove #4421
update some code and add unit test

Hello! So the new inference makes all images in the list as one batch? How to use this code to inference millions of images for example? I want to use batching for to do it. Thanks!

Hello! So the new inference makes all images in the list as one batch? How to use this code to inference millions of images for example? I want to use batching for to do it. Thanks!

Hello! So the new inference makes all images in the list as one batch? How to use this code to inference millions of images for example? I want to use batching for to do it. Thanks!

Yes,  inference_detector has implemented batch inference, you can achieve your needs based on this API

Hello! So the new inference makes all images in the list as one batch? How to use this code to inference millions of images for example? I want to use batching for to do it. Thanks!

Yes,  inference_detector has implemented batch inference, you can achieve your needs based on this API

@hhaAndroid Thanks! Have you tested speed vs single image inference on the last set of images?

@hhaAndroid Thanks! Have you tested speed vs single image inference on the last set of images?

@hhaAndroid Thanks! Have you tested speed vs single image inference on the large set of images?

Not yet.

@hhaAndroid Thanks! Have you tested speed vs single image inference on the large set of images?

Not yet.

Do you support exporting ONNX model with multi-batch? Currently the ONNX model exported by pytorch2onnx.py only has batch dimention in backbone.

Do you support exporting ONNX model with multi-batch? Currently the ONNX model exported by pytorch2onnx.py only has batch dimention in backbone.

Only one image is needed when exporting ONNX model, but the ONNX model exported by pytorch2onnx.py supports the batch inference

Do you support exporting ONNX model with multi-batch? Currently the ONNX model exported by pytorch2onnx.py only has batch dimention in backbone.

Only one image is needed when exporting ONNX model, but the ONNX model exported by pytorch2onnx.py supports the batch inference

Thank you for replying. I exported faster rcnn with shape 16x3x800x1216 input, but the ONNX model output boxes is still in shape 100x5. Shouldn't it be 16x100x5 for batch inference? Do you have any tutorial for ONNX batch inference?

@reap195014  Sorry, there is an error in my reply. The batch inference is not supported for now since the exported ONNX model includes post-processing, It will remove the batch dimension.  We will support batch inference in the future.

This PR will be merged after resolving conflicts.


My School

Heres my High School to add to JetBrains verified list

@async1wake Pull request merged. Thank you!
FTR: domain ownership proof: https://www.priorlake-savage.k12.mn.us/academics/digital-learning/family-resources


Recalling previous answers

Recalling an answer from a page with just a single question on it isn't working. For example [--prev|2.13--]  on http://<IP_ADDRESS>/project/slide/2.14/?p=2d889599cb0e428441ee4c139db50370
We also need to be able to recall answers from previous slides that have multiple questions on it as well.

The syntax for that placeholder was changed to accommodate multi-answer slides.
See https://github.com/openrightsgroup/alidade/wiki/Form-Editing#previous-answer


test: delete projects even if stack is in a failed state

Description of changes

Issue #, if available

Description of how you validated changes
Checklist

[ ] PR description included
[x] Tests are changed or added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #10451 (cc1170e) into master (ae11bf1) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #10451   +/-   ##
=======================================
  Coverage   46.67%   46.67%
=======================================
  Files         713      713
  Lines       35361    35361
  Branches     7162     7162
=======================================
+ Hits        16503    16504    +1
+ Misses      17054    17053    -1
  Partials     1804     1804

Impacted Files
Coverage Δ

...li/src/domain/amplify-usageData/getUsageDataUrl.ts
100.00% <0.00%> (+12.50%)
:arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Release prettyprinter-configurable to Hackage

@effectfully is going to maintain it.

I've convinced myself that the lib is overengineered and the HasPrettyDefaults/NonDefaultPrettyBy business is not worth its complexity and should be removed.


BUG - Package compilation does not respect the using_organization_tags field

Are you a current Fivetran customer?
Consultant working with Designs for Health
Describe the bug
When setting the using_organization_tags variable to False I get the following compilation error:
Running with dbt=0.20.1
Encountered an error:
Compilation Error in model int_zendesk__organization_aggregates (models/intermediate/int_zendesk__organization_aggregates.sql)
  Model 'model.zendesk.int_zendesk__organization_aggregates' (models/intermediate/int_zendesk__organization_aggregates.sql) depends on a node named 'stg_zendesk__organization_tag' which is disabled

Looking at your source code, this may be a dbt issue because it looks like the reference is contained inside of an if statement.
Steps to reproduce

Download this package and dependencies version 0.6.0 with dbt 0.20.1
Set using_organization_tags: False in dbt_project.yml
Run dbt run
See error

Expected behavior
I expect you'll see this error
Running with dbt=0.20.1
Encountered an error:
Compilation Error in model int_zendesk__organization_aggregates (models/intermediate/int_zendesk__organization_aggregates.sql)
  Model 'model.zendesk.int_zendesk__organization_aggregates' (models/intermediate/int_zendesk__organization_aggregates.sql) depends on a node named 'stg_zendesk__organization_tag' which is disabled

Project variables configuration

name: 'XXXXXXX'
version: '1.0.0'
config-version: 2

profile: 'XXXXXXX'

source-paths: ["models"]
analysis-paths: ["analysis"]
test-paths: ["tests"]
data-paths: ["data"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]

target-path: "target"  # directory which will store compiled SQL files
clean-targets:         # directories to be removed by `dbt clean`
    - "target"
    - "dbt_modules"

vars:
  zendesk_source:
    zendesk_database: designs_for_health
    zendesk_schema: dfhzendesk
    using_organization_tags: False

Package Version

packages:
  - package: fivetran/zendesk
    version: [">=0.6.0", "<0.7.0"]

Warehouse

[ ] BigQuery
[ ] Redshift
[x] Snowflake
[ ] Postgres
[ ] Databricks
[ ] Other (provide details below)

Additional context

Screenshots

Please indicate the level of urgency
If this doesn't work we'll use something else for Zendesk transformation.
Are you interested in contributing to this package?

[ ] Yes, I can do this and open a PR for your review.
[x] Possibly, but I'm not quite sure how to do this. I'd be happy to do a live coding session with someone to get this fixed.
[ ] No, I'd prefer if someone else fixed this.  I don't have the time and/or don't know what the root cause of the problem is.

Hi @pblankley thanks for opening this issue.
It looks like you are setting the variable within the source package variable configuration, but this configuration is also needed within the transform model (which is why you see the error occurring within the intermediate int_zendesk__organization_aggregates model.
You can resolve this error by either setting the using_organization_tags variable globally or within both the source and transform package. You can leverage either of the below configs:
vars:
  zendesk_database: designs_for_health
  zendesk_schema: dfhzendesk
  using_organization_tags: False

or
vars:
  zendesk_source:
    zendesk_database: designs_for_health
    zendesk_schema: dfhzendesk
    using_organization_tags: False
  zendesk:
    zendesk_database: designs_for_health
    zendesk_schema: dfhzendesk
    using_organization_tags: False

I tested your config locally and received the same error message and saw it resolved with either of the two above configs. Let me know if this ends up working or does not work for you. Thanks!

This worked perfectly! Thanks for the great write up @fivetran-joemarkiewicz 🙌


【代码迁移】任务66-2:Entropy Law: The Story Behind Data Compression and LLM P…

运行结果：

说明：

由于运行起来较为复杂，因此写了一个脚本 script.sh
formatter.py是自己写的工具类，用于处理数据集；数据集是huggingface的数据集
issue链接：https://gitee.com/mindspore/community/issues/IAZ0U7?from=project-issue

同时麻烦老师能approve一下任务

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


How to have "future task visibility" deal with "scheduled" tasks?

How to have "future task visibility" deal with "scheduled" tasks? (rather than "scheduled" or "deadline" tasks, as how you form).
have tried to delete the "deadline" section in your query, but it doesn't work. Would you please write me the correct query? Many
thanks.

Nevermind. I've figured out the solution. Thanks!


How can I Get, Edit and Set Gradient Matrix in Training of Keras Model ?

System information.
TensorFlow version 2.5
I am creating a sparse neural network as described in the image below. Keras only provides a dense layer and we can't choose how many neurons we want to be connected to the previous layer. For implementing this using Keras, I am trying to implement the following approach:
1- Get the Gradient Matrix of each layer in each epoch
2- Multiply Gradient Matrix with a mask matrix to make it sparse
3- Update new weights according to that updated gradient matrix
I could not be able to find a gradient matrix in Keras. How can I get it and update it during epochs?
Thanks in Advance

Hi @HumzaSami00,
In order to expedite the trouble-shooting process, could you provide the complete code to reproduce the issue reported here. Thank you!


Minified file in dist folder

Hi @idiotWu ,
We are cdnjs team. We want to host this library.
I found that smooth-scrollbar.js in dist folder has been minified but smooth-scrollbar.css does not.
The auto-updater in cdnjs doesn't support partial minification, so in this case, we should manually minify css file.
I'll respectfully suggest you consider to provide smooth-scrollbar.js, smooth-scrollbar.min.js, smooth-scrollbar.css and ``smooth-scrollbar.min.cssin dist folder, or you can just provide unminifiedsmooth-scrollbar.jsandsmooth-scrollbar.css`. Thank you.
https://github.com/cdnjs/cdnjs/pull/7964
https://github.com/cdnjs/cdnjs/issues/7823

Thanks.
Currently I am working on overscroll effects, and I'd like not to publish any release until this feature is finished (may be today or tomorrow I think). Will it be okay that I released version 6.0.0 with both minified css and js files?

@idiotWu Sure. It's really great. :+1:

@pvnr0082t  @brunowego now version 6.0.1 is here 😄🎉

Thanks for big help!


[THORN-2436] Let users disable MP JWT and make LoginConfig optional if the jwt realm is configured

Motivation
Do not require users to add @LoginConfig if the  thorntail.microprofile.jwt.realm property is set.
Also add the ability to disable MP JWT similarly to Quarkus.
Modifications
thorntail.microprofile.jwt.enabled property. The security domain selection is skipped if the feature is disabled or if no @LoginConfig with the authentication method MP-JWT is found and no thorntail.microprofile.jwt.realm is set
Result
JAX-RS Application will not have to be tied to to the MP JWT API

Otherwise LGTM.


Optimize FeatureDirectionalStatistics via LUT

Hey Cris,
I believe this patch is sane, but I don't have the full domain expertise. Do you agree with my assessment that there will be usually only a low number of different grey values encountered? This patch only makes sense in such a case, otherwise we would end up just doing more work than before.
At least in my adhoc tests, the assumption was valid. Before this patch I saw a big hotspot attributed to the repeated sincos calls. Afterwards only a bit of std::unordered_map lookups was left, but overall at a much reduced cost.
That said - are there some benchmarks for this code in the diplib repository itself that I could use to give you some hard numbers?

This is probably a good idea. I’d like to benchmark this with a floating-point input image too. Not sure it necessarily improves things there. Maybe we need to make it something for integer inputs only?

I wrote a simple comparison, timing the updated vs the old function. Please double-check my work, I might be missing something:
#include "diplib.h"
#include "diplib/generation.h"
#include "diplib/segmentation.h"
#include "diplib/measurement.h"
#include "diplib/testing.h"

int main() {
   dip::Random random;
   // Create a test image
   dip::Image input({2048,2048}, 1, dip::DT_UINT8);
   dip::UniformNoise(input, input, random, 0, 256);
   dip::Image label = dip::Superpixels(input);
   // Measure
   dip::MeasurementTool measurementTool;
   dip::testing::Timer timer;
   auto msr = measurementTool.Measure( label, input, { "DirectionalStatistics" } );
   timer.Stop();
   std::cout << "DirectionalStatistics: " << timer << '\n';
   timer.Reset();
   msr = measurementTool.Measure( label, input, { "DirectionalStatisticsOriginal" } );
   timer.Stop();
   std::cout << "DirectionalStatisticsOriginal: " << timer << '\n';
   // Create float test image
   input.Convert(dip::DT_SFLOAT);
   dip::UniformNoise(input, input, random, 0, 2 * dip::pi);
   // Measure
   timer.Reset();
   msr = measurementTool.Measure( label, input, { "DirectionalStatistics" } );
   timer.Stop();
   std::cout << "DirectionalStatistics: " << timer << '\n';
   timer.Reset();
   msr = measurementTool.Measure( label, input, { "DirectionalStatisticsOriginal" } );
   timer.Stop();
   std::cout << "DirectionalStatisticsOriginal: " << timer << '\n';
}

So this creates a 2048x2048 image with 256 different values, and a labeled image with whatever random regions. It times the computation of the feature using the old and new versions of the code. It then fills the image with random floats in the same range (so that there are many more different values), and times the same computations.
In the first case I see 256 elements added to the lut_, and in the second case 3372595.
The output of the code is:
DirectionalStatistics: elapsed time = 0.183064 s (wall), 0.180403 s (CPU)
DirectionalStatisticsOriginal: elapsed time = 0.140341 s (wall), 0.139095 s (CPU)
DirectionalStatistics: elapsed time = 2.41194 s (wall), 2.39287 s (CPU)
DirectionalStatisticsOriginal: elapsed time = 0.146867 s (wall), 0.14264 s (CPU)

So even for the integer image this looks like it is not really worth the effort, maybe with a much larger image it is? But for a floating-point image it certainly is bad.
The problem is that we don't have any functionality in the measurement infrastructure to use different code for an integer vs a floating-point input image.

Thanks for that benchmark. On my machine:
Without this patch:
DirectionalStatistics: elapsed time = 0.130948 s (wall), 0.130778 s (CPU)
DirectionalStatistics: elapsed time = 0.131066 s (wall), 0.346593 s (CPU)

With this patch:
DirectionalStatistics: elapsed time = 0.118109 s (wall), 0.117997 s (CPU)
DirectionalStatistics: elapsed time = 1.45075 s (wall), 1.63491 s (CPU)

The gain is miniscule and the potential for breakage large. I'll abandon this patch - it's not worth it.
On a somewhat related note though: Considering how often associative containers (i.e. now hash maps) are leveraged in diplib, you should really think about integrating a faster variant of that. I can highly recommend https://github.com/Tessil/robin-map e.g. which is liberally licensed and trivial to incorporate into a code base. The performance improvement over std::unordered_map is often immense.
Cheers

@milianw Thanks for that idea! I’m going to look into how to incorporate that into DIPlib, I’m sure it’ll be worth it.

@milianw See here: https://github.com/DIPlib/diplib/commit/8b1b3da0b34b8f6430e7c5f94d66d1a2b6451e93


framework: Playback resumption setting qs_media_resumption is not respected

Version
Media3 1.2.0
More version details
This is the Media3 library build which comes with AOSP 13.
Devices that reproduce the issue
Google Pixel 6a, LineageOS 20.
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
It is trivial to demonstrate the violation of documented behavior under any app supporting https://developer.android.com/media/media3/session/background-playback#resumption

Settings
Sound & vibration
Media
Pin media player -> disable (qs_media_resumption = 0)
The steps above reflect the wording of https://developer.android.com/media/implement/surfaces/mobile#supporting-media:

The playback resumption feature can be turned on and off using the Settings app, under the Sound > Media options. The user can also access Settings by tapping the gear icon that appears after swiping on the expanded carousel.

From this point:

Force-stop any app playing media
Restart the phone, if you wish
Start the phone
Invoke media resumption by initiating a Bluetooth connection or using a hardware play button

Expected result
Media does not play when the play button is pressed with qs_media_resumption disabled.
Actual result
App opens and media plays, despite the app being killed and playback resumption being disabled.
Media
This is a framework issue reproduceable with any app that implements Playback Resumption, including ExoPlayer.
Bug Report

[x] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

To be clear, Media Resumption and Playback Resumption are asserted to be components of the same thing in https://github.com/androidx/media/issues/211#issuecomment-1805822872.
If this is not true, and it is not intended that Playback Resumption be able to be disabled, let me know and I'll file a separate issue.

The setting you are referring to is only about the media controls which offers the option to show a notification that allows resuming playback from the notification (media controls).
The Media3 library uses the playback resumption notification with its implementation besides playback resumption with MediaButtonEvents coming from Bluetooth or a hardware button.
Disabling Media Controls resumption is only supposed to disable the notification. Can you confirm that the notification is not shown when you disable resumption in the settings?

qs_media_resumption

The interesting bit of your report is the use of this variable qs_media_resumption. Can you shed some light on where this naming comes from? If you have extended knowledge about implementation details of this setting, for instance whether an app can get the value of this setting by API, please let us know.

Disabling Media Controls resumption is only supposed to disable the notification. Can you confirm that the notification is not shown when you disable resumption in the settings?

Off the top of my head, I absolutely can confirm this works.

The interesting bit of your report is the use of this variable qs_media_resumption. Can you shed some light on where this naming comes from?

I do not know. I assumed that Media3 and associated Android libraries were responsible for the naming, as you documented the functionality those settings control here.
Since you've worked heavily on this, I suspect you also did not know that qs_media_resumption was the setting name -- I'm guessing you feel that it's a misnomer?
Now, my business:
I don't agree with the tag, "won't fix: intended behavior". Correct me if I'm wrong, but this is the wording of the documentation you updated as part of issue #211:
https://developer.android.com/media/media3/session/background-playback#resumption

Playback resumption

Media buttons are hardware buttons found on Android devices and other peripheral devices, such as the play or pause button on a Bluetooth headset. Media3 handles media button inputs for you when the service is running.

:
https://developer.android.com/media/implement/surfaces/mobile#responding_to_playbackstate_actions

Media resumption allows users to restart previous sessions from the carousel without having to start the app. When playback begins, the user interacts with the media controls in the usual way.

The playback resumption feature can be turned on and off using the Settings app, under the Sound > Media options. The user can also access Settings by tapping the gear icon that appears after swiping on the expanded carousel.

I read this as: the playback resumption feature, which allows users to restart previous sessions from the carousel or using hardware buttons, without having to start the app, can be disabled by changing it under Sound > Media options.
Since this is not true, the behavior described by the documentation is not the intended behavior (disabling qs_media_resumption does not disable the resumption-upon-media-buton behavior), and documentation should be adjusted before closing this issue.
Leaving documentation aside, I can open a separate user-story for the problem that brought me here:

Since I: use apps compatible with the Media3 API's Android Playback Resumption feature, and use Android media control devices
I want: to be able to suppress some or all apps from opening when media keys are pressed (perhaps as was done in Android 12 DP1)
So that: apps I manually stopped do not start until I open them directly
So that: apps optionally do not open when they are inappropriate for the setting (i.e. music starting when I attach to a Bluetooth device)

I imagine this sort of request would go to the maintainers of the Android Framework. I imagine the Media3 API just consumes those behaviors?

I agree that it would be nice to have this setting integrated with Media3. Thanks for elaborating!
qs_media_resumption seems to be the setting key in the Android source (here). I don't know whether an app can read that setting though, so I doubt Media3 would be able to take this into account. We should investigate this some further.
Feel free to file such a feature request if you want to. We'd probably have to comment on feasibility of apps reading that setting in a similar way.
The documentation reads correct to me. That the 'Media controls' page refers to the entire Media3 resumption feature is an interpretation that isn't intended and not obvious to me.

The documentation reads correct to me. That the 'Media controls' page refers to the entire Media3 resumption feature is an interpretation that isn't intended and not obvious to me.

The second link I pasted was incorrect: the link should have been to the Support media resumption link: https://developer.android.com/media/implement/surfaces/mobile#supporting-media
This should make it clearer how the documentation misleads: the second paragraph under Support media resumption indicates how the user can disable playback resumption; the paragraph immediately following it links here, which describes "Playback resumption" by saying:

Media buttons are hardware buttons found on Android devices and other peripheral devices, such as the play or pause button on a Bluetooth headset.

The fact that Support media resumption links to that part of media controls under the "Playback resumption" header is a good sign that media controls invoke playback resumption.
Not to get into the weeds.
RE: Apps reading this key: this isn't necessary. For example, the framework code under https://android.googlesource.com/platform/frameworks/base/+/f810d81839af38ee121c446105ca67cb12992fc6/packages/SystemUI/src/com/android/systemui/media which launches inactive apps upon handling the play button could read some setting and no-op if the app in question isn't launched.

Where should such a FR go? It's clear it belongs in the framework code, even though it's in your wheelhouse to document and implement the behavior.


Replace pure JS utf8 encoder/decoder with standard TextEncoder/Decoder

decodeUtf8 and encodeUtf8 are much slower than the native implementations offered by the now-ubiquitous TextEncoder and TextDecoder classes. We should migrate if our supported runtimes list will allow it.
See this thread for details.

I made the decision to use an unlicensed version of utf8decode because versions of node and browsers that we officially support/ed? did not include textdecoder.
For example on ubuntu 18.04 the latest version of node is 8x and does not include textdecoder. (Even though more recent distributions of 8 do so). The perf of the decode I yoinked is pretty terrible due to repeatedly concatenating strings.
Definetely needs to be replaced.

According to an investigation I did on the TextDecoder.decode vs makeReader performance when passing Uint8Array as input to these methods,
I found out that after 512 bytes(threshold) of Uint8Array data TextDecoder.decode works faster than makeReader. but for data less than 512 bytes makeReader works faster.
For more than 512 bytes of Uint8Array of data,

makeReader:
0.000015406160113891825
Binary Reader Large x 64,909 ops/sec ±4.30% (72 runs sampled)

TextDecoder.decode:
0.00001150648431228379
Binary Reader Large x 86,908 ops/sec ±2.48% (80 runs sampled)

From above it's clear that TextDecoder.decode works faster for more than 512 bytes of data.
For 512 or less than 512 bytes of Uint8Array of data,

makeReader:
0.000010301126157451875
Binary Reader Large x 97,077 ops/sec ±2.06% (81 runs sampled)

TextDecoder.decode:
0.0000114280178005657
Binary Reader Large x 87,504 ops/sec ±2.76% (74 runs sampled)

Here, taking into account the threshold of 512 bytes . It seems more reasonable to use the current implementation of makeReader for 512 or less than 512 bytes and TextDecoder method for more than 512 bytes. This gives us best of both worlds and improves performance when there is more than 512 bytes of data as input.
Also as not every platform would have runtime feature TextDecoder, we need to add a check to verify if global variable TextDecoder exist or not?

Now that #662 has been merged, the UTF8 decoder will attempt to use the native TextDecoder (if available) for strings that are large enough to justify crossing the language barrier. For now, this threshold is 512 bytes.


Exhaustive switch return type is incorrect without intermediate variable

TypeScript Version:  3.7.0-beta

Search Terms: enum switch
Code
enum Animal {
    DOG,

    // Add second member to avoid https://github.com/microsoft/TypeScript/issues/23572.
    CAT
}

const zoo: { animal: Animal } | undefined = { animal: Animal.DOG }

// OK.
function intermediateVariable(): Animal {
    const animal = zoo?.animal ?? Animal.DOG
    switch (animal) {
        case Animal.DOG: return Animal.DOG
        case Animal.CAT: return Animal.CAT
    }
}

// Error: Function lacks ending return statement and return type does not include 'undefined'.(2366)
function expression(): Animal {
    switch (zoo?.animal ?? Animal.DOG) {
        case Animal.DOG: return Animal.DOG
        case Animal.CAT: return Animal.CAT
    }
}

Expected behavior: Inferred type doesn't depend on intermediate state.
Actual behavior: Inferred type differs when an expression is switched on directly versus when the value is assigned to an untyped intermediate variable and then switched on.
Playground Link
Related Issues:  #6155 #32905

This issue is an effect of switching to the control flow analyzer for exhaustiveness checking. We need to unconditionally include CFA nodes representing a missing default clauses in order for our analysis to be correct. Currently we only include such CFA nodes when the switch expression is a narrowing expression.


May lead to runtime error

Summary

Code to reproduce

Android version

Impacted devices

Installation method

SDK version

Other information

Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [com.github.dhaval2404:imagepicker:2.1] C:\Users\Owner.gradle\caches\transforms-2\files-2.1\73b18f7740b6d2dc75e9a89de1a728cb\imagepicker-2.1\AndroidManifest.xml as the library might be using APIs not available in 16
Suggestion: use a compatible library with a minSdk of at most 16,
or increase this project's minSdk version to at least 19,
or use tools:overrideLibrary="com.github.dhaval2404.imagepicker" to force usage (may lead to runtime failures)


Android - DLL not found when running in a non-development build

I've switched over to this package from SQLite4Unity3d and it's been a fantastic drop-in replacement so far, but I'm running into an issue on Android where the DLL file isn't loading correctly:
DllNotFoundException: Unable to load DLL 'gilzoide-sqlite-net'. Tried the load the following dynamic libraries: Unable to load dynamic library 'gilzoide-sqlite-net' because of 'Failed to open the requested dynamic library (0x06000000) dlerror() = dlopen failed: library "gilzoide-sqlite-net" not found
This only seems to happen on release builds, whenever I switch to a development build the issue disappears entirely. Specifically, this seems to be triggered when calling new SQLiteConnection, providing a path to the database file. Checking in Android Logcat, I'm not seeing any errors before that point which seem to be related.
Any advice would be appreciated!

Hi @BallistiX09 , thanks for the report!
That's weird, I can't think of any reason why development builds would work, but release builds would not 🤔
One thing you could do is opening the built APK and check if the gilzoide-sqlite-net.so libraries are present for your device's architecture. If not, or if the name of the library got changed somehow, there might be something in the build process messing with it.
I'll try building a sample project here and see how it goes, will let you know whatever I find.

Ok, so I was able to replicate the problem here: development builds for Android work, while release builds do not.
After some testing, I think I found the problem: the library file name needs to have the "lib" prefix in release builds. This seems like a bug in Unity, to support files named "myplugin.so" in development builds, but requiring the name "libmyplugin.so" in release builds. At least adding the prefix works in both builds, so I'll just rename the files and it should just work 🤷
Thank's again for the report, I'll let you know when the fix is ready.

I release the fix as version 1.0.0-preview5, you can update the package to the newest version and this problem should be fixed. Feel free to reopen the issue if it still persists.
Cheers \o/

That's perfect, that seems to have sorted it! Thanks so much for getting on that so quickly! Doesn't surprise me at all that it was basically a Unity bug all along, that seems all too common with Unity these days haha!

Thanks for testing and reporting back, I really appreciate it.

Doesn't surprise me at all that it was basically a Unity bug all along, that seems all too common with Unity these days haha!

Yeah, no surprises here =P
I'll look into their bug report page later to see if there is any bug opened about this, or else create a new one.


ModuleNotFoundError and ClassNotFound

There's a bug when using an specific style, raises ModuleNotFoundError when trying to set the style and it's followed by another exception (ClassNotFound).

bugfix in v0.0.3


Python 3 classifiers

Does django-tinymce officially support Python 3?
If so, it would be nice to designate that on PyPI using classifiers in setup.py (see https://pypi.python.org/pypi?%3Aaction=list_classifiers)
If not, what does the path forward look like?

I know people used it with Python3 feel free to open issue if you have some.
Feel free to make a PR to add this classifier?


PB-774 client async runtime

References

PB-774

Summary

wrap the Client and a tokio Runtime into a FFIClient
create a custom runtime in new_client() and start the client in that runtime in run_client()
remove the callback experiment and replace it with a purposeful callback in run_client()
implement error handling across the FFI boundary
update docs and tests

Since I have no experience with ffi I can't really help here.
However, the documentation is great. 👍
One thing I wonder is how the memory of the models (local/global) is de-allocated. Does this happen on the rust or on the caller side?

One thing I wonder is how the memory of the models (local/global) is de-allocated. Does this happen on the rust or on the caller side?

everything that is a part/field of the Participant/Client/FFIClient is allocated and dropped on the rust side. basically the call to Box::into_raw() leaks heap-allocated memory, whereafter we only have access to it via raw pointers. the Box::from_raw() counterpart allows the rust compiler to take ownership of this object again to drop it. everything that happens in between on the caller side can mutate the object, but it can't drop the object since the memory layout for structs/enums which are not #[repr(C)] is generally not known to compilers/garbage collectors outside of the rust compiler.
this leaves the user with the cases where the models are allocated outside of our function calls, for example when there is no global model available in the first round and the app therefore has to allocate and initialize a model outside of the rust code. currently we try to read this as a slice and allocate a local copy within the client. we might actually provide functions like new_model_f32() etc to have better control over memory or to make this a default option for the get_model_f32(). the latter would require a length information as an argument to the function. i'll ask blue what they prefer as well.

One thing I wonder is how the memory of the models (local/global) is de-allocated. Does this happen on the rust or on the caller side?

everything that is a part/field of the Participant/Client/FFIClient is allocated and dropped on the rust side. basically the call to Box::into_raw() leaks heap-allocated memory, whereafter we only have access to it via raw pointers. the Box::from_raw() counterpart allows the rust compiler to take ownership of this object again to drop it. everything that happens in between on the caller side can mutate the object, but it can't drop the object since the memory layout for structs/enums which are not #[repr(C)] is generally not known to compilers/garbage collectors outside of the rust compiler.
this leaves the user with the cases where the models are allocated outside of our function calls, for example when there is no global model available in the first round and the app therefore has to allocate and initialize a model outside of the rust code. currently we try to read this as a slice and allocate a local copy within the client. we might actually provide functions like new_model_f32() etc to have better control over memory or to make this a default option for the get_model_f32(). the latter would require a length information as an argument to the function. i'll ask blue what they prefer as well.

Ah I see, so the whole client is allocated on the heap, right?
But what happens if the caller holds a pointer to the global model and the client replaces this model. Is the pointer still valid?

Ah I see, so the whole client is allocated on the heap, right?
But what happens if the caller holds a pointer to the global model and the client replaces this model. Is the pointer still valid?

correct, the whole client is heap allocated (biggest part is the model which is a heap allocated vector anyways, so no large overhead).
regarding the replacement, there are multiple options:

the client drops the old model and allocates a new model, then the raw pointer is invalid and accessing the underlying memory will probably segfault.
the client overwrites the old model with a new model which has the same memory layout and location as the old one, then this wouldn't be possible in safe rust but the raw pointer still points to a valid memory location. of course the values at this memory are different which can be quite unexpected for the user and should be avoided.
the client mutates the old model into the new model, then this would only be possible in safe rust if the scopes of the mutable and immutable references are limited properly, but the raw pointer still points to a valid memory location. again this might be unexpected for the user if this wasn't called by the user.

currently the model memory is only changed when the user calls for it and the validity of the respective pointers is outlined in # Workflow step 4. we should keep surprises for the user as limited as possible, this resulted for example in the design choice to keep the pointer valid even after the current round has ended.

added a new_model_N() function which creates a zero-initialized cached primitive model. this can be called in case no global model is available from get_model_N(). also removed the model input from update_model_N()which means that the local model update can only be created from the cached model. this reduces possible bugs with models from foreign memory locations.


[firebase_auth] Can't handle firebase auth exception when using phone auth

Hi,
Can't Handel firebase auth exception when using phone auth
 final PhoneVerificationFailed verifiedFailed =
          (AuthException authException) {
        // Todo show error message
        print(authException.message);
      };

the message contains error code TOO_SHORT
but authException.code return invalidCredentials
dependencies:
firebase_auth: ^0.11.1+3
Temporally fix
String extract_error_code_from_message(AuthException authException) {
  int startIndexPernthesis=authException.message.lastIndexOf("[");
  int endIndexPernthesis=authException.message.length;

  return authException.message.substring(startIndexPernthesis+2,endIndexPernthesis-2);
}

@redayoub47 can you please try it with firebase_auth 0.14.0+5 to check was it solved there or not?

Consolidating under #1456 - we'll be looking at parsing native error messages & codes and bubbling these up to the Dart layer in a consistent cross-platform format.


Alternate Urls?

I love this idea of a portable operating system like another one I watch (Clockwork) but this one is blocked unlike the other one. It looks like it has many more features and I would love to try it but...... Its blocked in my school and would love to try it on another link

Apologies for the inconvenience! In case you're unable to access Skyhax, you have the option to host it independently. We understand that this may not be the most convenient solution, but we are actively working towards acquiring alternate domains in the near future. Presently, we lack the necessary funds to secure one.
Could you please provide further details regarding the nature of the block? Is the entire domain inaccessible, or are specific extensions blocking it?
Once again, we sincerely apologize for any difficulties you may be experiencing. At the moment, your alternatives are to host DuckOS on your own or patiently await our acquisition of additional domains.

Its a extension and ive tried disabling it with different methods but none work

I also can't find out how to independently host


merge from konsum-frontend-svelte,template-arlac77-github,template-svelte-app

package.json

chore(package): add examples (pkgbuild.groups)

.github/workflows/browser_ci.yml

chore: add ubuntu-latest (jobs.test.runs-on)

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

npm package (@latest dist-tag)
v1.34.11
GitHub release

Your semantic-release bot :package::rocket:


[RELEASE] Server RELEASE.2023-11-01T01-57-10Z

MinIO Server RELEASE.2023-11-01T01-57-10Z has changes that impact the docs:

[x] When installing for Docker, config directory now passes as an environment variable from the Docker file rather than requiring a flag (PR #18317)
[ ] Grafana now shows KMS info when KES is configured (PR #18321)

For 18317, envvar is already documented. Nothing to change for the docker guides.


Add new source and feature

Describe your suggested feature
Add mtn nation
Mtl nation has many novels
Mtl nation is the best for the app
Url of the website (https://mtlnation.com/)
And
New features like
1 name changing
2 language changing
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] If this is an issue with a source, I should be opening an issue in the sources repository.
[X] I have updated the app to version 1.1.18.
[X] I will fill out all of the requested information in this form.

If this is an issue with a source, I should be opening an issue in the sources repository.


limit gh action execution

Reference Issues/PRs
What does this implement/fix? Explain your changes.
Any other comments?

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

Project coverage is 84.79%. Comparing base (e78e56c) to head (c9823b2).

Additional details and impacted files
@@           Coverage Diff           @@
##              dev      #26   +/-   ##
=======================================
  Coverage   84.79%   84.79%
=======================================
  Files           5        5
  Lines         138      138
  Branches       14       14
=======================================
  Hits          117      117
  Misses         13       13
  Partials        8        8

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

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


Finalize Initial Proposal

At AGU, the feedback was generally good. Use of an indexed array to relate nodes to coordinates was well accepted because of its consistency with UGRID and support for shared coordinates. The way that Well Known Text break values are used in conjunction with the indexed array seemed odd to some people though. Without prior knowledge of WKT, the break values are foreign and the dual roll of the coordinate index seems complicated.
While it requires the addition of another variable, I think it does clean up the data model to move the break value information into it's own variable akin to what Jonathan suggested. Assuming we have a coordinate index, we would need two other variables; one to indicate the type of each part and another to indicate the node start (or stop or count) of each part.
A structure that follows this logic, as I suggested in a previous thread, would look like this:
netcdf sample_poly {
dimensions:
	geom = 2 ;
	part = 3 ;
	part_nodes = 15 ;
	coordinates = 14 ;
variables:
	int geom_name(geom) ;
		geom_name:cf_role = "geom_id" ;
	char part_type(part) ;
		part_type:long_name = "g for new geometry, p for new part, h for hole." ;
	int part_start(part) ;
		part_start:long_name = "start position of each part" ;
	int node_index(part_nodes) ;
		node_index:long_name = "index into x / y coordinate data" ;
		node_index:geom_coordinates = "x y" ;
		node_index:geom_dimension = "geom" ;
		node_index:part_dimension = "part" ;
		node_index:stop_encoding = “cra” ;
		node_index:outer_ring_order = "clockwise" ;
		node_index:closure_convention = "last_node_equals_first" ;
		node_index:geom_type = "multipolygon" ;
	double x(coordinates) ;
	double y(coordinates) ;

// global attributes:
		:Conventions = "CF-1.8" ;
data:

 instance_name =
  1, 2 ;

 geom_type = "g", "p", "g" ; // each g is a new feature.

 part_start = 0, 5, 9 ;

 node_index = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 6, 13 ; // one entry per geom part node.

 x = 35, 26, 25, 30, 35, 22, 10, 15, 22, 22, 30, 10, 30, 30 ; // one entry per unique coordinate pair

 y = 25, 23, 28, 30, 25, 22, 20, 25, 27, 22, 10, 15, 20, 10 ;

Once this issue is put to rest, we can move on to #27

To me this is easier to read than the version with break values inserted into the coordinate index. The disadvantage of this approach that I see is that it doesn't support single geometry access efficiently. You have to count the "g"s until you're at the instance you want. With a kludgy test on a file with 2.7 million features (National Water Model), it took my PC 3.8 seconds to find where nodes for the 2.7 millionth feature begin. If using counts instead of start indices (motivation would be aligning with existing CF CRA practice of using count, plus Jonathan's email), it takes 5.0 seconds. This could be alleviated with the addition of a geom_start_index(geom) variable that tells me where each geometry instance (i.e., "g") is within part_type.
I still am not aware of how important single instance access is. It seems like something you'd want to support to me, but maybe CF doesn't agree since their CRA structure doesn't support it.

It would be good to have a pointer to the start of each geometry. Oh the joy of shoehorning a hierarchical data model into a flat data structure. An additional variable on the geom dimension wouldn't be the worst thing.
In the case of non-multipart geoms, the part_start and part_type are superfluous and you would just have a geom_start_index(geom). I just put a geom_start:cf_role = "geom_start" variable below. Need to figure out how all these variables would be related to eachother.
netcdf sample_poly {
dimensions:
	geom = 2 ;
	part = 3 ;
	part_nodes = 15 ;
	coordinates = 14 ;
variables:
	int geom_name(geom) ;
		geom_name:cf_role = "geom_id" ;
	int geom_start(geom) ;
		geom_start:cf_role = "geom_start" ;
	char part_type(part) ;
		part_type:long_name = "g for new geometry, p for new part, h for hole." ;
	int part_start(part) ;
		part_start:long_name = "start position of each part" ;
	int node_index(part_nodes) ;
		node_index:long_name = "index into x / y coordinate data" ;
		node_index:geom_coordinates = "x y" ;
		node_index:geom_dimension = "geom" ;
		node_index:part_dimension = "part" ;
		node_index:stop_encoding = “cra” ;
		node_index:outer_ring_order = "clockwise" ;
		node_index:closure_convention = "last_node_equals_first" ;
		node_index:geom_type = "multipolygon" ;
	double x(coordinates) ;
	double y(coordinates) ;

// global attributes:
		:Conventions = "CF-1.8" ;
data:

 instance_name =
  1, 2 ;

 geom_type = "g", "p", "g" ; // each g is a new feature.

 part_start = 0, 5, 9 ;

 node_index = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 6, 13 ; // one entry per geom part node.

 x = 35, 26, 25, 30, 35, 22, 10, 15, 22, 22, 30, 10, 30, 30 ; // one entry per unique coordinate pair

 y = 25, 23, 28, 30, 25, 22, 20, 25, 27, 22, 10, 15, 20, 10 ;

I still am not aware of how important single instance access is. It seems like something you'd want to support to me, but maybe CF doesn't agree since their CRA structure doesn't support it.

I don't know either. I think single instance / random access is important especially with large datasets. Building in a limitation is never a good idea.
I'll need to think more about this approach. It adds a lot of instrumentation for multi-geometries which will generally be the exception. I personally don't find this more readable or easier to interpret...but that is in the eye of the beholder. I also like how break values keep geometries relatively atomic similar to WKT. This approach will also increase the variable count when multiple geometry types are stored in a single group. I also find character arrays burdensome in lower-level programming languages.
Mostly negative so far but, like I said, I need to mull it over.
One question for now: What is the difference between a "geometry" and a "part"? A multi-polygon may have two "parts". Is the first "part" the "geometry"?

Yeah, the g would signify the first part of a multipart or the only part of a singlepart geometry.
I see it both ways. All valid arguments. I think we are getting to the bottom of the trade offs. The fact that break values 'keeps geometries relatively atomic' is important. The 'instance' (geom) dimension is the dominant one and with the break values approach we are keeping things from getting too sprawling by embedding the parts into break values.
Maybe we roll out a design that breaks everything down like this, point out all the issues with it, and show how the coordinate index / break values approach solves a bunch of problems while maintaining the DSG 'instance' dimension hook into time series?

Yeah, the g would signify the first part of a multipart or the only part of a singlepart geometry.

Okay. Thanks.

I see it both ways. All valid arguments.

Yes. We need to decide what the right way is and how we'd like to adapt for CF.

Maybe we roll out a design that breaks everything down like this, point out all the issues with it, and show how the coordinate index / break values approach solves a bunch of problems while maintaining the DSG 'instance' dimension hook into time series?

That would definitely be beneficial. It's good to show we've considered other options. And, we may convince ourselves it is the way to go in the end.

Alright. I'm comfortable pushing forward with the coordinate index / break value approach and plan on explaining it in the context of two options. 1) Encoding WKT/WKB in NetCDF directly and 2) encoding all the parts and geometries explicitly using multiple variables / dimensions to handle break values.
Will close this issue and focus on #27 - I got a start on the modifications to the spec for discussion over there.


"Munch" company- the scraper does not work

URL: https://admin.peviitor.ro/
Browser: Chrome
Device: Laptop
OS: Windows 11
STEPS TO REPRODUCE:

Open the URL in the browser
Search for company "Munch"
Click on "Vizualizeaza joburi"

EXPECTED RESULTS:
The scraper should run without issues.
ACTUAL RESULTS:
The scraper is no longer working properly.

Fixed


correctly set ssr:serve mode

The module currently exports a default mode for the command 'ssr:server', but the actual command is 'ssr:serve'.

Good catch!


purge_dups and hifiasm?

Description of the bug
Hifiasm has built-in purging of haplotigs and seem to claim that purge_dups is too aggressive in purging (https://github.com/chhylp123/hifiasm/issues/162).  Have you done comparisons of the purging done by hifiasm and purge_dups? Would it make sense to allow users to disable the purge_dups purging or allow users to set the hifiasm purging parameters?
Command used and terminal output
No response
Relevant files
No response
System information
No response

Hi @nikostr,
In the datasets with a fair level of heterozygosity hifiasm primary assembly contains a noticeable amount of the retained haplotype. In these cases purge_dups has been showing a stable performance with balancing pri and alt assemblies. However in the cases with low heterozygosity it can be possible that the hifiasm purging is sufficient or even no purging is required at all.
The workflow in the latest release is the basic implementation of Sanger Tree of Life assembly pipeline. We've been working on covering different use cases in the future releases.

Thank you! Is this true even for hifiasm's more aggressive purging settings? Or is the upside of purge_dups that it adapts how aggressive the purging is to the genome without needing to set this manually?
And that sounds super reasonable! Looking forward to seeing how this progresses! :)

hifiasm uses a graph based approach for purging, while purge dups does read mappings and one-to-one contigs alignment. For our assemblies we've got best results when they run in combination.
We have experienced that with hifiasm more aggressive purging settings there is a risk of over-purging.
These are our best practices so far. But it's fine to have a look at every case and adapt purging strategy.


lr scheduler - update global states into optimizer

lr scheduler currently maintains two global states to implement the full lr warmup and decay.
We want to remove these:
"nit: we can make these two arguments still as function arguments below, but we use:
functools.partial to pack these two arguments when adding to the optimizer.
global config works for now. This can be done as a follow up"

cc: @tianyu-l is this issue done?

Seems not. @awgu

cc: @tianyu-l is this issue done?


Remove hover style when a button is disabled

When button is hovered, it gets a nice style from https://github.com/mobu-of-the-world/mobu/pull/115.
But I felt this style should be disabled when the form is disabled.

before
after

I totally agree with this change 👍


Bump React version to latest

Zero is using a bit older version of React. We need to update it to latest version. Off the top of my head:

[ ] Clone, install and run zero locally.
[ ] Update in packages here, here.
[ ] Run tests (npm run test) and see if all of them pass.
[ ] Send PR :)

I'd like to take this one!

Go ahead!

Check #86

This one is still up for grabs.

I would like to work on it.


maxLength vs maxLength

It seems react prefers camelCase on the props

sorry, forgot tests - will do a push here soon

Thanks. Pushed to npm as v0.4.8

Nice library, I love how it pairs with html validation!


[QUESTION]

Version information

Laravel: v5.8
Voyager: v1.2
PHP: 7.3
Database: MariaDB 10.3.15

Alternatives considered

I have enabled multilingual function and everything is working fine(in admin panel). I can easily add text for 3 languages. And now I want to see translated texts on my landing page by clicking buttons.
Additional context
this is admin panel side. From there I can add three translated texts for one post:

And by clicking on this three buttons. I want switch to this language.

How can I do this ? Any suggestions pleace.

Questions are best asked in slack per the issue template.  We reserve github issues for bug reports and feature requests


Rename "usecaes" folder name

Hello @LennyLip, the project and the articles have been updated to the latest changes.


How to start Nomad-windowsiis driver on windows server 2016 baremental

Hi,
I have gone through the Readme file and followed the steps, .exe has been generated but I am struggling with the installation of the .exe on the windows server 2016 baremetal. Can anyone please help with this ? Any detailed document or video will help.
Thanks in Advance!

Hey @shubamraina ,
There aren't any detailed steps, at this moment, for the deployment of this particular plugin, but nomad has some decent documentation on how to configure the nomad client.
We can take a look at this particular nomad client configuration found in the test dir: https://github.com/Roblox/nomad-driver-iis/blob/master/test/win_client.hcl
The most important parts of telling the client about the plugin and where to discover it are these configs:
plugin_dir = "C:\\ProgramData\\nomad\\plugin"

plugin "win_iis" {
  config {
    enabled = true
    stats_interval = "5s"
  }
}

You will want to ensure where ever the win_iis.exe is being stored is where the plugin_dir path is looking.
plugin stanza will be used to enable the plugin on the system. I think by default, if the plugin is found, it is enabled, but to be safe, we want to explicitly set the enabled variable of the plugin.config stanza.
C:\\ProgramData is used only because that is how chocolatey installs the nomad software for tests, but for us (Roblox), we keep our nomad installation in C:\\Program Files
The plugin dir is by default under nomad's data dir: https://www.nomadproject.io/docs/configuration#plugin_dir

I hope this helps! If you are coming across any other problems, let me know! I will try to help you triage any issues going on. I recommend working with Nomad v1+ if you are able to.


Question: haversine distance algorithm

Hi,
Looking at the code, it seems the haversine algorithm used in [0] is faster (On My Machine) than the offical algorithm used in [1].
Is there reason it's not the official algorithm? Are there accuracy issues?
[0] https://github.com/uber/h3/blob/6c3c806ffbec16d32013bfa80ceec43b4c7513be/examples/distance.c#L39
[1] https://github.com/uber/h3/blob/6c3c806ffbec16d32013bfa80ceec43b4c7513be/src/h3lib/lib/geoCoord.c#L151
Thanks!

Interesting! I removed [0] because I couldn't find any references for the formula.
I tested two alternatives described here: https://www.movable-type.co.uk/scripts/latlong.html
We ended up with the "Haversine" formula [1] on that page.
I recall doing some benchmarking, but not seeing any speed difference between the two, at least on my mac.
How are you doing your benchmarking?


fix: remove duplicate keys/labels as it conflicts with Helm3 deployments

Hi @hdoinfodation ,
I don't understand how these labels are duplicated: we use this same syntax in all our charts with helm 3.
Can you explain how the problem appears?
Regards

Hi @arnou ,
Currently we are using Flux v2 to deploy the castlemock helm chart, but we received the following error:
{"level":"error","ts":"2021-11-03T09:37:52.085Z","logger":"controller.helmrelease","msg":"Reconciler error","reconciler group":"helm.toolkit.fluxcd.io","reconciler kind":"HelmRelease","name":"castlemock","namespace":"default","error":"Helm upgrade failed: error while running post render on files: map[string]interface {}(nil): yaml: unmarshal errors:\n  line 20: mapping key \"app.kubernetes.io/name\" already defined at line 18\n  line 21: mapping key \"app.kubernetes.io/instance\" already defined at line 19\n  line 29: mapping key \"app.kubernetes.io/name\" already defined at line 27\n  line 30: mapping key \"app.kubernetes.io/instance\" already defined at line 28"}
To verify it, I have run the helm template . command on the base chart (0.1.4) without any modifications.
Which results in the following deployment YAML with duplicated keys(see labels):
# Source: castlemock/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: RELEASE-NAME-castlemock
  labels:
    helm.sh/chart: castlemock-0.1.4
    app.kubernetes.io/name: castlemock
    app.kubernetes.io/instance: RELEASE-NAME
    app.kubernetes.io/version: "1.49"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: castlemock
      app.kubernetes.io/instance: RELEASE-NAME
      app.kubernetes.io/name: castlemock
      app.kubernetes.io/instance: RELEASE-NAME
  template:
    metadata:
      labels:
        app.kubernetes.io/name: castlemock
        app.kubernetes.io/instance: RELEASE-NAME
        app.kubernetes.io/name: castlemock
        app.kubernetes.io/instance: RELEASE-NAME
    spec:
      serviceAccountName: default
      securityContext:
        {}
      containers:
        - name: castlemock
          securityContext:
            {}
          image: "castlemock/castlemock:1.49"
          imagePullPolicy: IfNotPresent
          ports:
            - name: http
              containerPort: 8080
              protocol: TCP
          livenessProbe:
            failureThreshold: 1
            httpGet:
              path: /castlemock
              port: http
            initialDelaySeconds: 35
            periodSeconds: 5
            timeoutSeconds: 3
          env:
          resources:
            {}
---

Currently we have worked around it by forking the repo, so it is not super urgent anymore for us.
But this might help others that encounters the same problem. :)

OK, I understand, I didn't understand where the duplicate was.
thank you so much


Cloth Config3

sorry, I'm trying to delete my on curseforge but the site isn't letting me!
As stated there I downloaded for 1.20.1 but the mod says it requires cloth config v12. There's no Cloth Config v12 for 1.20.1
Fabric Loader output:
Incompatible mod set! net.fabricmc.loader.impl.FormattedException:  Mod resolution encountered an incompatible mod set! A potential solution has been determined: 	 - Replace mod 'Cloth Config v11' (cloth-config) 11.0.99, mod 'Cloth Config v11' (cloth-config) 11.1.106 and mod 'Cloth Config v11' (cloth-config) 11.1.106 with mod 'Cloth Config v11' (cloth-config), version 12.0.0 or later. Unmet dependency listing: 	 - Mod 'Lock On' (lockon) 1.0.0+1.20.2 requires version 12.0.0 or later of mod 'Cloth Config v11' (cloth-config), but only the wrong versions are present: 11.1.106/11.1.106/11.0.99! 	 - Mod 'Statement Vanilla Compatibility Module' (statement_vanilla_compatibility) 1.0.1+1.14.4-1.15.2 requires any version between 1.14.0-0 (inclusive) and 1.16.0-0 (exclusive) of 'Minecraft' (minecraft), but only the wrong version is present: 1.20.1! 	at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:51) 	at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:192) 	at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:148) 	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68) 	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

Ah, yeah I figured this would happen. You can fix this manually by opening the jar archive and editing/removing "cloth-config2": ">=12.0.0" under depends in the fabric.mod.json file. I'll have this fixed soon.

Fixed in 1.0.1.

Thank you!


ApplicationConsumer testing

We have something like
class ApplicationConsumer < Karafka::BaseConsumer
  def self.on_unknown(message)
    …
  end

  def consume
    messages.each { |message| consume_single(message) }
  end

  def consume_single(message)
    return self.class.on_unknown(message) unless validate(message)

    MyApp::Metrics.with_context(**metrics_context(message)) do
      process(message)
    end
  end

with a bunch of code handling unknown messages, errors and adding some context for metrics and error reporting in AppicationConsumer and all other consumers inherited from this one.
In specs it's tested (or was tested in karafka-1) like
RSpec.describe ApplicationConsumer do
   let(:consumer) do
      Class.new(described_class) do
        def initialize; end # rubocop:disable Style/RedundantInitialize required to avoid exception with different arity
      end.new
    end
end

and with karafka-2 it fails because karafka-testing implies that consumer has topic set, for example here and here.
It could be workarounded by
before
  consumer_group = Karafka::Routing::ConsumerGroup.new('foo')
  consumer.topic = Karafka::Routing::Topic.new('foo', consumer_group)
end

but would be good to retain the ability to test topic-less consumers or at least simplify/document how consumer group should be created.

So, basically you want to test abstract consumers right?

Yep!

Overall adding documentation would be fine, I guess, since at least in this particular project it's tested in a single spec and adding consumer.topic is not a big deal.

@ojab would you mind expanding the docs? They are a wiki: https://github.com/karafka/wiki/blob/master/Testing.md so you can just PR.


Someone found out if the check DoVi profile is FEL or MEL's tool

https://discourse.coreelec.org/t/list-of-dolby-vision-p7-fel-films/52523/33

MEL is very simple to see that it is MEL.
Using dovi-tool on EL, you see that this all options signal MEL, not FEL:
Quote:
"nlq_param_pred_flag": [
[
false,
false,
false
]
],
"diff_pred_part_idx_nlq_minus1": [],
"nlq_offset": [
[
0,
0,
0
]
],
"vdr_in_max_int": [
[
1,
1,
1
]
],
"vdr_in_max": [
[
0,
0,
0
]
],
"linear_deadzone_slope_int": [
[
0,
0,
0
]
],
"linear_deadzone_slope": [
[
0,
0,
0
]
],
"linear_deadzone_threshold_int": [
[
0,
0,
0
]
],
"linear_deadzone_threshold": [
[
0,
0,
0
]


delay the subscribe request to ensure the timeout fires, fixes #18

The key change is adding a new test server that delays the response from onSubscribe. It also refactors some duplicated boilerplate code from the other test server instances being created and fixes whitespace in the test method.

Thanks, looks good to me!


python311Packages.griffe: 0.40.0 -> 0.40.1

Diff: https://github.com/mkdocstrings/griffe/compare/refs/tags/0.40.0...0.40.1
Changelog: https://github.com/mkdocstrings/griffe/blob/0.40.1/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[ ] 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

[ ] Fits CONTRIBUTING.md.

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

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

10 packages built:

griffe (python311Packages.griffe)
griffe.dist (python311Packages.griffe.dist)
netbox (netbox_3_7)
netbox_3_6
python311Packages.mkdocstrings-python
python311Packages.mkdocstrings-python.dist
python312Packages.griffe
python312Packages.griffe.dist
python312Packages.mkdocstrings-python
python312Packages.mkdocstrings-python.dist


itertools.accumulate follows the latest signature

I make itertools.accumulate follow the latest signature itertools.accumulate(iterable[, func, *, initial=None]), and split the tests on accumulate into two parts.
Now, only pickletests fail.
test_accumulate (__main__.TestBasicOps) ... ok
test_accumulate_pickle (__main__.TestBasicOps) ... expected failure

You might want to copy the latest test_itertools.py from CPython

You might want to copy the latest test_itertools.py from CPython

I'd wonder whether I am expected not to collect the failed tests to another function even if a most part of them pass and the failed ones are all about the same theme.


Enable HTTPS use Custom Certificates

Motivation and context
fix #4767
my docker-compose.https.yml:
# Copyright (C) 2018-2022 Intel Corporation
#
# SPDX-License-Identifier: MIT

services:
  cvat_server:
    labels:
      - traefik.http.routers.cvat.tls=true
      - traefik.http.routers.cvat.entrypoints=websecure

  cvat_ui:
    labels:
      - traefik.http.routers.cvat-ui.tls=true
      - traefik.http.routers.cvat-ui.entrypoints=websecure

  traefik:
    image: traefik:v2.10
    container_name: traefik
    environment:
      TRAEFIK_ENTRYPOINTS_web_ADDRESS: :80
      TRAEFIK_ENTRYPOINTS_web_HTTP_REDIRECTIONS_ENTRYPOINT_TO: websecure
      TRAEFIK_ENTRYPOINTS_web_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME: https
      TRAEFIK_ENTRYPOINTS_websecure_ADDRESS: :443
      TRAEFIK_LOG: "true"
      TRAEFIK_ACCESSLOG: "true"
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./tls.yml:/etc/traefik/rules/tls.yml
      - ./certs:/certs

Login page:

Traefik Dashboard:

Checklist

[x] I submit my changes into the develop branch
[x] I have created a changelog fragment
[x] I have updated the documentation accordingly
[x] I have added tests to cover my changes
[x] I have linked related issues (see GitHub docs)
[x] I have increased versions of npm packages if it is necessary
(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

Summary by CodeRabbit

New Features

Introduced comprehensive documentation for implementing custom SSL certificates in the CVAT environment.
Provided step-by-step instructions for setting up and configuring Traefik to use custom certificates.

Documentation

Added a new file detailing the process of creating a certificates directory, modifying Traefik configuration, and starting CVAT with custom SSL certificates.

@echowxsy , could you please add a line into changelog as well about the great contribution?

@echowxsy Thanks for the contribution!

Could you please fix Remark linter warning?
site/content/en/docs/administration/advanced/custom_certificates.md
  8:202  warning  Line must be at most 120 characters                        maximum-line-length       remark-lint
   13:5  warning  Don’t use mixed indentation for children, remove 2 spaces  list-item-content-indent  remark-lint

warning

Done,I just finished my vacation. so sorry too late.

Could you please fix Remark linter warning?

Done,I just finished my vacation. so sorry too late.

Thank you!


Fetching outdated packages and themes failed.

Prerequisites

[x ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
[Description of the issue]
Steps to Reproduce
Settings > hit Check for updates
Expected behavior: [What you expect to happen]
I expect to get a list of out of date packages and a prompt to update
Actual behavior: [What actually happens]
I get an error that says the following
Fetching outdated packages and themes failed.
when expanded it reads
(node:12285) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
undefined
Reproduces how often: [What percentage of the time does it reproduce?]
100%
Versions
Atom    : 1.15.0
Electron: 1.4.15
Chrome  : 53.0.2785.143
Node    : 6.5.0
OS: Arch Linux.
Atom was install from the Arch Linux repository
You can get this information from copy and pasting the output of atom --version and apm --version from the command line. Also, please include the OS and what version of the OS you're running.
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.

Electron: 1.4.15
Atom was install from the Arch Linux repository

Thanks for reaching out!
We've determined that this issue is being caused by the use of an unofficial build or distribution of Atom. Often these customized versions of Atom are modified versions of the Stable branch of Atom with mismatched versions of built-in components. These updated components are taken from the Beta channel or master branch and then injected into the Stable version and a new Atom package is generated. Because of the way Atom is constructed, using these mismatched components can cause mysterious and hard-to-diagnose problems. You can find out more about why we chose to not support unofficial distributions here.
You may want to subscribe to https://bugs.archlinux.org/task/50357 for updates.

This just happened to me on windows on a official build. I renamed ~/.atom and the issue went away. It would be nice to know what caused it.
When I expanded the error it said undefined from the packagemanager.js file.
\atom\app-1.15.0\resources\app.asar\node_modules\settings-view\lib\package-manager.js:221 Uncaught (in promise) Error: Fetching outdated packages and themes failed.(…)

I have this problem too. OS - debian
Atom    : 1.15.0
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0


questions about function set_truncatedScan

Hi !
I run the 'd01_standard_geometries' with my own dataset, and in those 'Detector Scanning Blind Zone',i am wondering should it be totally dark ?
Attached are the codes including CT detector and volume information and reconstruction results.
I think the part above the yellow cross in the ‘ XZ 384.jpg ‘ image is supposed to be the result of a zero-padding or extrapolation ?
should it be  theoretically  black? If not , can you explain how the function ' leapct.set_truncatedScan(True)  'work ?
question.zip

Hello.  The truncated scan setting only effects how the ramp filter step of FBP is performed.  It can be used to help mitigate artifacts when the object is too wide for the detector, i.e., the projections are truncated on the right and/or left sides of the detector.  It has no effect if the projections are truncated on the top and/ or bottom of the detector (the so-called long object problem).  The sample images you provided seem to indicate that your object does not extend past the right and/ or left sides of your detector, so I don't think this is necessary for you to use.
Now when you perform an FBP reconstruction in LEAP, the backprojector performs zeroth order extrapolation off the bottom and top of the detector.  This helps mitigate artifacts at the axial extents of the object.  This extrapolation has no end and LEAP will continue to assign values at slices that go way beyond the detector if you specify it that way.  This may seem weird, but this is actually helpful when performing iterative reconstructions for the long object problem because these edges can be forward projected and then subtracted off the measured data (the Zeigler method) to prepare the data for iterative reconstruction which mitigates artifacts at the edge slices.
The code you provided shows that you specified a volume that extends well past the axial field of view of your system and thus provides these strange looking artifacts.
Hopefully this all makes sense.  It may also help me if you could explain what you are trying to do.

About this issue, I also see it on my sample of micro coil too. At my case, I  think that this is not actual weird, so I just masked out the outside area with black pixel filling of slice after back-projection.

Please check the difference between the laminography  and standard cone beam.
@kylechampley

Laminography case:

standard cone beam case:

As you can  see the area of none valid has default different pixel,  the first is white and the last is black.
Could you make it same  as like standard cone beam case at laminography too ?

OK, it looks like there are multiple issues being confused here.  In the original post for this issue, the images shown were coronal slices and vertical line structures were caused by the zero-th order extrapolation in the backprojection step of FBP.  Note that this is only with FBP; the backprojection command does not do this.
The images above appear to be axial slices.  The difference in these images is caused by the circular field of view mask.  By default parallel-, fan-, and cone-beam geometry apply such as mask, but modular-beam does not.  If you want the modular-beam geometry reconstruction to apply such a circular mask, the use leapct.set_diameterFOV(d), where d is the appropriate value.  On the other hand if you have a parallel-, fan-, or cone-beam geometry and you do not want this mask applied just do this:  leapct.set_diameterFOV(1.0e16).  Here we have just give a huge value to the diameter of the field of view to make sure no mask would be applied.
With regards to the original post: I will generate a demo script to show why this behavior is useful.

Here is an example of why this extrapolation is performed.  The images below show coronal slices of the FORBILD head phantom reconstructed with FDK.  The image on the left does not use extrapolation in the backprojection, while the image on the right uses the standard extrapolation in FDK.  Notice that the image on the left has four black triangular regions at the edge slices, while the image on the right has uniform intensity everywhere.  As I said before there are also uses of this when prepping data for iterative reconstruction.  I'll make this demo script later this week.

Yes, your set_diameterFOV()  works at this case, But I can see that some residual white circle at the edge of this radius.
Is there any wrong point at my calculation of the FOV.
Below is my calculation.

calcuation at C++ :  pLeap->set_rFOV(0.5 * (numCols - 1) * pixelSize*sod/sdd);
Result of axial slice :

I added some minus extra-radius at my calculation, then it looks good.
=>pLeap->set_rFOV(0.5 * (numCols - 20) * pixelSize*sod/sdd);

Wow, it looks like you are using LEAP directly through C++.  That's cool.  The reconstructable field of view calculation depends on the scanner geometry.  If you want to see how LEAP does this automatically see parameters::rFOV()

Yes right, I am using LEAP directly at C++ and also using the native C++ simple optimizer which supports powell method.
I can see that this minimizer can find more accurate value rather than the sweep method.

@router-2001 did I answer your question/ resolve your issue?

@router-2001 did I answer your question/ resolve your issue?

yes,it makes sense.thanks for your time!


Link to pinout is broken on Voltage Glitcher page

Link to Pinout on https://bolt.curious.supplies/docs/getting-started/voltage_glitching/ is broken.

Fixed, thanks for reporting!


Windows: Add support for Unix sockets

Newer versions of Windows support AF_UNIX stream sockets. This change
adds Windows support for the SockAddr::unix function and the
Domain::UNIX constant.
Since Unix sockets are now available on all tier1 platforms, this also
removes all feature requirement from the SockAddr::unix function.

I've finally addressed your comments and have rebased for 0.5.

Just to clarify: if this is called on a Windows platform that doesn't support UDS, it just returns an error, right?

Right, it will fail with WSAEAFNOSUPPORT.

Thanks @jstarks.


Add horizontal resize of ai chat panel

Ticket: CS-6430
https://github.com/cardstack/boxel/assets/12637010/9a469b2a-cd7b-4502-adbd-cf0362f557c2

I’m not sure of the boundaries of this and other issues, maybe this is 6485, but I noticed I’m unable to scroll the messages container and when I tab to the field to add another message everything shifts upward:

The proximity detection for showing and highlighting the handle is great, I found the snapping at the minimal width a bit jarring, unclear how that could be improved though

I also meant to ask: I’d expect the open/closed state of the panel to be persistent across refreshes, as well as its width. I don’t see an open issue for this and realise it’s not in the issue as defined though!

I’m not sure of the boundaries of this and other issues, maybe this is 6485, but I noticed I’m unable to scroll the messages container and when I tab to the field to add another message everything shifts upward:

The proximity detection for showing and highlighting the handle is great, I found the snapping at the minimal width a bit jarring, unclear how that could be improved though

@backspace , great catch! Thank you for the feedback. I've addressed the scroll issue in the AI Assistant panel and added a collapsible argument to ResizablePanel. By default, this argument is set to true, but if it's set to false, the ResizablePanel won't be collapsed.
https://github.com/cardstack/boxel/assets/12637010/88f5ab38-8474-425a-ba69-1a0c51f9587e

I also meant to ask: I’d expect the open/closed state of the panel to be persistent across refreshes, as well as its width. I don’t see an open issue for this and realise it’s not in the issue as defined though!

@backspace do you think it is better to make the open/closed and width state persistent in this PR?

do you think it is better to make the open/closed and width state persistent in this PR?

I’m uncertain! Let’s just say leave it for now, something to consider for the future.
The scrolling and non-collapse look good, thanks!

I think there should be a limit  how much you can drag this to the left. This happens if you drag it all the way to the left:

Is the ResizeHandler component the thing responsible for rendering the handle? If so, should it be called ResizeHandle instead of ResizeHandler? I usually think of a "handler" as something that responds to events being triggered.

@jurgenwerk I've added minimum length and made collapsibale to false for stack items panel. So we cannot make the stack items panel disappear.
https://github.com/cardstack/boxel/assets/12637010/fc75420a-d067-4d17-8412-e11745f5c1de


antrea-agent sometimes failed to start due to iptables-restore error

Describe the bug
It's found in @alex-vmw's K8s cluster that a few antrea-agents appeared as error once when rolling update.
The log was as below
F0418 01:42:51.650004       1 main.go:57] Error running agent: error initializing agent: failed to initialize iptables: error executing iptables-restore: /sbin/iptables-restore --noflush
It's likely because iptables-restore conflicted with other iptables commands that being executed by kube-proxy at the same time.
iptables-restore doesn't support "--wait" option so kubernetes acquires xtables.lock by itself. We should do the same thing to avoid such conflict.
To Reproduce
There's a chance to happen when rolling update antrea-agent.
Expected

antrea-agent acquires xtables.lock first to avoid conflict.
The log should have clear error reason.

Actual behavior
A few antrea-agents failed once before running.
Versions:
Please provide the following information:

Antrea version (Docker image tag). 0.5.1
Kubernetes version (use kubectl version). If your Kubernetes components have different versions, please provide the version for all of them.
Container runtime: which runtime are you using (e.g. containerd, cri-o, docker) and which version are you using?
Linux kernel version on the Kubernetes Nodes (uname -r).
If you chose to compile the Open vSwitch kernel module manually instead of using the kernel module built into the Linux kernel, which version of the OVS kernel module are you using? Include the output of modinfo openvswitch for the Kubernetes Nodes.

Additional context

According to @alex-vmw's observation, iptables-restore on some nodes (4/154 Nodes) could still fail after acquiring xtables lock:
I0612 05:55:23.866851       1 agent.go:53] Starting Antrea agent (version v0.7.1)
I0612 05:55:23.867770       1 client.go:34] No kubeconfig file was specified. Falling back to in-cluster config
W0612 05:55:23.869904       1 configmap_cafile_content.go:102] unable to load initial CA bundle for: "antrea-ca::kube-system::antrea-ca::ca.crt" due to: configmap "antrea-ca" not found
I0612 05:55:23.874030       1 ovs_client.go:64] Connecting to OVSDB at address /var/run/openvswitch/db.sock
I0612 05:55:24.874336       1 ovs_client.go:83] Not connected yet, will try again in 2s
I0612 05:55:24.876871       1 agent.go:177] Setting up node network
I0612 05:55:24.888633       1 ovs_client.go:105] Bridge exists: 4ea9b20c-b338-48d9-b4e5-e3c0b79323e6
I0612 05:55:24.890256       1 agent.go:597] Using round number 7
I0612 05:55:24.890346       1 ofctrl.go:170] Initialize connection or re-connect to /var/run/openvswitch/br-int.mgmt.
I0612 05:55:25.890736       1 ofctrl.go:185] Connected to socket /var/run/openvswitch/br-int.mgmt
I0612 05:55:25.891044       1 ofctrl.go:247] New connection..
I0612 05:55:25.891089       1 ofctrl.go:254] Send hello with OF version: 4
I0612 05:55:25.891131       1 ofctrl.go:268] Received Openflow 1.3 Hello message
I0612 05:55:25.891482       1 ofctrl.go:285] Received ofp1.3 Switch feature response: {Header:{Version:4 Type:6 Length:32 Xid:3} DPID:00:00:0e:b2:a9:4e:d9:48 Buffers:0 NumTables:254 AuxilaryId:0 pad:[0 0] Capabilities:79 Actions:0 Ports:[]}
I0612 05:55:25.891519       1 ofSwitch.go:84] Openflow Connection for new switch: 00:00:0e:b2:a9:4e:d9:48
I0612 05:55:25.891887       1 ofctrl_bridge.go:207] OFSwitch is connected: 00:00:0e:b2:a9:4e:d9:48
F0612 05:55:26.236511       1 main.go:57] Error running agent: error initializing agent: failed to initialize iptables: error executing iptables-restore: exit status 1
goroutine 1 [running]:
k8s.io/klog.stacks(0xc000460600, 0xc0003fe000, 0xa8, 0x1c5)
        /go/pkg/mod/k8s.io/klog@v1.0.0/klog.go:875 +0xb8
k8s.io/klog.(*loggingT).output(0x2e25100, 0xc000000003, 0xc00004f490, 0x2d65545, 0x7, 0x39, 0x0)
        /go/pkg/mod/k8s.io/klog@v1.0.0/klog.go:826 +0x330
k8s.io/klog.(*loggingT).printf(0x2e25100, 0x3, 0x1cbc45a, 0x17, 0xc0006a1d08, 0x1, 0x1)
        /go/pkg/mod/k8s.io/klog@v1.0.0/klog.go:707 +0x14b
k8s.io/klog.Fatalf(...)
        /go/pkg/mod/k8s.io/klog@v1.0.0/klog.go:1276
main.newAgentCommand.func1(0xc0002eea00, 0xc0000a6360, 0x0, 0x6)
        /antrea/cmd/antrea-agent/main.go:57 +0x1ed
github.com/spf13/cobra.(*Command).execute(0xc0002eea00, 0xc0000e8010, 0x6, 0x6, 0xc0002eea00, 0xc0000e8010)
        /go/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:830 +0x2aa
github.com/spf13/cobra.(*Command).ExecuteC(0xc0002eea00, 0x2da1760, 0xc000000180, 0xc00052df50)
        /go/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:914 +0x2fb
github.com/spf13/cobra.(*Command).Execute(...)
        /go/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:864
main.main()
        /antrea/cmd/antrea-agent/main.go:37 +0x56

There must be some other issues, reopening the issue.

Exit status 1 is used for all errors other than invalid or abused command line parameters, hard to tell the reason of the random failure from current logs.
Created #839 to log error messages printed to stderr.


docs(middleware.mdx): fix code in the Protected Routes example

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[X] Documentation content changes
[ ] infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

No closing ] square bracket
No async when using await
protectedPaths.includes(new URL(event.request.url).pathname) always returns false

What is the new behavior?

Code is syntactically correct apart from getUser function which should be implemented by the user;
function that check if a route is protected works.

Other information

Thank you.