Error inserting list of objects with identity column using mybatis.

I am trying to insert a list of Person objects in mybatis mapper xml which has identity column (id).
Person.java
Class Person{
int id;
String name;
String level;
//getters and setters
}

Department.java
class Department{
List<Person> persons;
//getter and setter
}

The mapper xml, Person.xml is as below,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.person.PersonDao">
<insert id="savePersonList" parameterType="Department">
<foreach item="person" index="index" collection="persons">
INSERT INTO person (name, level)
values( 'John', 'A')
</foreach>
</insert>
</mapper>

The id column in person table is an identity column. I am using MS SQL Server. The id column for person table is auto generated. But I have no way of mentioning it as part of the foreach loop and getting the below exception while inserting records in person table,
org.springframework.jdbc.UncategorizedSQLException: Error getting generated key or setting result to parameter object. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: The statement must be executed before any results can be obtained.
; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; The statement must be executed before any results can be obtained.; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: The statement must be
executed before any results can be obtained.
I need to be able to insert the list of persons into the person table successfully.
Please help!

Hi @anu8085 ,
Probably, your sql is wrong.
About sql of bulk inserting on SQL Server, please refer to Microsoft SQL Server language reference page.

https://msdn.microsoft.com/en-us/library/ms174335.aspx
https://msdn.microsoft.com/en-us/library/dd776382.aspx

SQL Server allow following format sql:
INSERT INTO person (name, level) VALUES ('John', 'A'),('Mike', 'B'), ....;

Note:
Limit size of list is 1000.
Thanks.

I think @kazuki43zoo is right.
This does not seem like a bug.


Normalize newlines on paste

The browser represents newlines in HTML as spaces, and collapses multiples spaces.
This PR normalizes pasted content. The aim being for the HTML to be as close as possible to its representation in the browser.

@peyerluk could you review this? This should generate a new patch version.


Users/ersciple/m98unittests

More coming soon... wanted to go ahead and get some out of the way.

Reviewed offline w/ Ting.


Migration error on fresh local start

Everytime I make a fresh start (clean mysql), I receive this error from migrations:
Failed to add the foreign key constraint. Missing unique key for constraint 'rules_root_uuid_foreign' in the referenced table 'rules'

Not sure why. It's not a big deal since I can manually fix directly on database, but I think it should be fixed (or maybe I'm missing something, I don't  know)

What version of MySQL are you running? Have not been able to reproduce this one

@pushchris Hmmm, weird.
Maybe it's specific on this 8.0.39 on mac/arm64?
mysql  Ver 8.0.39 for macos14.4 on arm64 (Homebrew)
I will try with again with the Docker version

Yes, confirmed. It works with the dockerized MySQL. I'm closing it.


[WIP] stuck on node-gyp-build when installing @graphql-codegen/cli with 'npm'

Hi !
I'm working on a rails/graphql server generator and at the same time on a front-end typescript generator (with react).
This morning I wanted to make the installation of @graphql-codegen/cli automatic and I noticed that in this installation there was an infinite loop.
I tested manually in a new repository the installation of this package, and I have an infinite loop on this line
❰vincent❙~/test-front❱✔≻ npm install --save-dev @graphql-codegen/cli
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>this library is no longer supported
><EMAIL_ADDRESS>install /Users/vincent/test-front/node_modules/bufferutil
> node-gyp-build

When i retry to install this package with npm install --save-dev @graphql-codegen/cli it works.
So, i'm working on this issue, and I saw that when I restart the installation, the modified files are only: package.json and package-lock.json

I didn't try to restart my computer, but it was to report my bug while waiting to work on it.
My setup:
macOs Catalina version 10.15.7 (19H2)
npm 6.14.8
Thank's

@vcheloudiakoff I don't think it's coming from codegen or it's deps. Codegen itself doesn't run or build anything native as far as I know.
Please share a reproduction of that issue.

after restarting my computer, it works !
I don't know if there is a way to reproduce that issue, so i think that this post can be closed.
Thanks


overflow: auto displays scrollbars during animation

windows chrome 102.0.5005.63
https://codesandbox.io/s/naughty-butterfly-ze3mcu?file=/src/App.js
When overflow is auto, the scroll bar will flicker during animation
Subsequent animation flickers after scrolling scrollbar manually

Not sure there is a good solution to this other than setting your styles appropriately. I dont think we can make any reliable determination of what the users desired styles are here. For example, we could put overflow: none durring the animation, but that would make the parent's scrollbars pop on/off during animation when there should be a scroll bar. Open to suggestions though.

@justin-schroeder  And the first animation after moving the scroll bar will be abnormal

@ty-bt Did you figure out a solution for this?

Not sure there is a good solution to this other than setting your styles appropriately. I dont think we can make any reliable determination of what the users desired styles are here. For example, we could put overflow: none durring the animation, but that would make the parent's scrollbars pop on/off during animation when there should be a scroll bar. Open to suggestions though.

@justin-schroeder why not do the following:

determine if the container has overflowing content or not for each axis (e.g. is p.scrollHeight > p.offsetHeight)
only if there is no overflowing content, we can safely add overflow: hidden until the animation finishes.


dedupUMI

Including option to deduplicate UMIs as a flag in both AlignUMIquant and Pigpen. This requires reads to have UMIs appended to the read header by UMI_tools extract
@taliaferrojm, Take a look!

I think this is mostly good, but from what I can see, if you use dedup, the list of bams gets renamed as samplebams. If not, it stays as starbams. This leads to some messy if/else statements later which are kinda unneccesary because the parameters used in those downstream steps are the same whether or not you used dedup.
Is it easier and cleaner to, at the end of the deduplication function in pigpen.py, rename that list of bams as starbams? Then nothing much downstream needs to change, at least in terms of variable names.


Metadata link in layer and service detail page doesn't work

The id in GetRecordById request should be the uuid.

could you fix it? thanks

When I changed the id to uuid in layer detail page template, it worked. But in service detail page, I got the following exception:
<ows:Exception exceptionCode="NotFound" locator="id">
ows:ExceptionText
No repository item found for '['ea01b545-95b1-47f5-8c2e-871b5bfb17de']'
</ows:ExceptionText>
</ows:Exception>

it may be related to the pycsw configuration. @tomkralidis any hint?

Fix issued in PR #278.  Note the pycsw plugin is implemented with Layers as the core model to query, so I've put a workaround for services for CSW GetRecordById queries.

thanks @tomkralidis


Initial examples landing page for website

This first version of the Examples landing page includes initial images for
Gameroom and Grid in the new images subdirectory.
Replace the separate Gameroom and Grid links with a single Learn More button
at the bottom. Also reformat to reduce logo size, center the Learn More button, etc.
The initial brute-force approach probably needs more work.
Signed-off-by: Anne Chenette<EMAIL_ADDRESS>

Closing this draft pull request.  The real changes will appear in a PR shortly.


fix(rust): improve markdown help renderer

fixes #4547

I created an issue for the refactoring of environment variables: https://github.com/build-trust/ockam/issues/4549


Migration to .net standard and .net core

The most projects should have no problems to be migrated to .net standard and .net core. This should give us some performance improvements and of course a better cross-platform support.
Basically, library projects should be migrated to .net standard and executeables to .net core.
Of course, some tools with WinForms UI probably have to stay with .net 4.6.1 for now. In the future there might be compatibility packs to migrate them as well.

I already started migrating and I'm already pretty far. Most changes are easy, some are a bit tricky and require more work than I thought.
Some examples:

SignalR changed its API on server and client side at .net standard/core

I need to adapt some TypeScript code again
MUnique.log4net.SignalR needs to be updated

NancyFx is still beta for .net standard/core, self hosting changed to using Kestrel
Rhino.Mocks is incompatible with .net standard/core. Replacing it with Moq.

At the moment only the first of this points is left to be solved. Apart of that, the server is already working like a charm 😅

See also #60

Completed with #60.
Some hints:

If you have built the project with visual studio before, delete the whole bin folder before building/starting with .net core. Otherwise, it may find some old/incompatible DLLs in the bin folder during build/runtime.
To build it, you need the .net core sdk 2.0 (or higher) and the TypeScript SDK 3.0.1 (or higher)


IP Setting

How do you use the IP Settings ?

The description is here. I don't use it myself, the feature was donated
https://github.com/gerritv/Grbl-Panel/pull/13
Essentially it is a wifi device that looks like a serial port to Grbl. You enter IP address and prot number of the connection in Grbl Panel.


condensed table?

Would be nice with condensed tables with less padding and eventually smaller text  perhaps
table class="small" and table class="condensed"
or
table class="condensed small"

Added to dev branch for 1.4.


Linter is crashing

As i replaced the UTF-8 cookie the flake8 linter crashed in atom. Any one having any fix for this ?

I'm not sure I understand, could you provide a reproduction?

Upon placing this
-- coding: future_fstrings --
The Flake8 Linter in Atom editor is crashing.  I am not able to reproduce the results now. Hence ill close the issue.


OnViewDestroyed is called multiple times even before view get destroyed

I have 3 Fragments, Splash->Introduction->Login using Single Activity Architecture.
the IntroductionFragment got a ViewPager2 and LeakCanary shows a memory leak because of the adapter so I have to set it to be null in OnDestoyView()
so here is the code I use
private val binding by viewBinding(FragmentGetStartedBinding::bind,
    onViewDestroyed = {
        it.imagesViewPager.adapter = null
    })

however what happens that the view pager shows the images then 'OnViewDestroyed' gets called from your library clearing the adapter before leaving the fragment
GIF showcasing the behavior :
https://gyazo.com/fdf0e31fdb9a9ae4bd64714c42d1ce17

That's what I'm currently using to avoid the memory leak.
 override fun onDestroyView() {
        //because of ViewPager2's adapter memory leak, can't be accessed via binding at this state
        view?.findViewById<ViewPager2>(R.id.imagesViewPager)?.adapter = null
        super.onDestroyView()
    }

Yeah, I've faced same issue as well. I have two fragments (list of items and details page), let's call them A and B.
When I navigate A -> B onViewDestroyed of A fragment is called as intended. But when I do popBackStack inside B fragment and navigate to A fragment again onViewDestroyed of A fragment is called right after onViewCreated

have the issue been solved ?

I hope yes. The fix will be in 1.5.2. The artefacts are processing by Maven Central right now


Not Working

crash-2017-04-07_00.06.22-client.txt
Works when Stand alone but not with any mods added.

Take it to the feedback repo, https://github.com/TheCBProject/Feedback

Infact this is a long standing matter overdrive issue, they fire events for a custom texture atlas that shouldnt fire events.


Connection should have references to supported client links (if any)

An Connection that spans ConnectionEndPoints that terminate the LayerProtocol usually supports one or more Links in the client layer. It is desirable to model this association directly rather than have to infer it from the CEPhasClientNEPs and LinkTerminatesOnNEP associations

TAPI Call 6/6/2017:  Agreed Since the ONF Core IM already has the FcSupportsLink association, it should be rather trivial to include this in TAPI.


Error when hovering within achievements and TSM addon enabled

Getting the following error when hovering over certain achievement criteria in the achievement frame and TSM and idTip are enabled:
Message: .../AddOns/idTip_CommunityFork/clients/dragonflight.lua:92: GetAchievementCriteriaInfo(achievementID, criteriaIndex [,countHidden]), criteria not found
Time: Sat Nov 19 13:02:22 2022
Count: 2
Stack: .../AddOns/idTip_CommunityFork/clients/dragonflight.lua:92: GetAchievementCriteriaInfo(achievementID, criteriaIndex [,countHidden]), criteria not found
[string "@Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua"]:769: in function <...Ons/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:725>
[string "=[C]"]: ?
[string "=[C]"]: in function `GetAchievementCriteriaInfo'
[string "@Interface/AddOns/idTip_CommunityFork/clients/dragonflight.lua"]:92: in function <.../AddOns/idTip_CommunityFork/clients/dragonflight.lua:86>
Locals: errMsg = ".../AddOns/idTip_CommunityFork/clients/dragonflight.lua:92: GetAchievementCriteriaInfo(achievementID, criteriaIndex [,countHidden]), criteria not found"
isBugGrabber = nil
tsmErrMsg = nil
oldModule = nil
private =  {
globalNameTranslation =  {
}
FormatErrorMessageSection =  defined @Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:525
ErrorHandler =  defined @Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:134
origErrorHandler =  defined @Interface/AddOns/WagoAnalytics/WagoAnalytics.lua:70
hitInternalError = false
CreateErrorFrame =  defined @Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:544
num = 0
SanitizeString =  defined @Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:518
AddonBlockedHandler =  defined @Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:502
GetStackLevelInfo =  defined @Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:344
ParseLocals =  defined @Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:396
ignoreErrors = false
errorReports =  {
}
IsTSMAddon =  defined @Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:478
localLinesTemp =  {
}
GetStackInfo =  defined @Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:313
}
MAX_STACK_DEPTH = 50
OLD_TSM_MODULES =  {
1 = "TradeSkillMaster_Accounting"
2 = "TradeSkillMaster_AuctionDB"
3 = "TradeSkillMaster_Auctioning"
4 = "TradeSkillMaster_Crafting"
5 = "TradeSkillMaster_Destroying"
6 = "TradeSkillMaster_Mailing"
7 = "TradeSkillMaster_Shopping"
8 = "TradeSkillMaster_Vendoring"
9 = "TradeSkillMaster_Warehousing"
}

Okay I think I finally figured out what was going on with achievements, I think it had to do with blizzard using a framepool and the hooks that were being placed were 'caching' the index of the criteria it was created for instead of representing the actual current criteria that's being hovered over. I believe this should be fixed in the next release.


Support ITypeRewriter and IDocumentRewriter on regular schemas

The IDocumentRewriter and ITypeRewriter interfaces allow you to programmatically rewrite parts or all of your schema. Currently these are only supported in stitched schemas, but not regular ones.
These interfaces are useful for adding cross cutting concerns across an entire schema in a convention based approach.
One use case we have in mind is to apply a piece of validation middleware to all fields that take arguments. Doing it this way means it happens automatically and creates a "pit of success".

With the introduction of the new type- and schema-interceptor adding cross-cutting functionality is now possible.


Node.js  uvwasi team Meeting 2023-08-02

Time
UTC Wed 02-Aug-2023 18:00 (06:00 PM):

Timezone
Date/Time

US / Pacific
Wed 02-Aug-2023 11:00 (11:00 AM)

US / Mountain
Wed 02-Aug-2023 12:00 (12:00 PM)

US / Central
Wed 02-Aug-2023 13:00 (01:00 PM)

US / Eastern
Wed 02-Aug-2023 14:00 (02:00 PM)

EU / Western
Wed 02-Aug-2023 19:00 (07:00 PM)

EU / Central
Wed 02-Aug-2023 20:00 (08:00 PM)

EU / Eastern
Wed 02-Aug-2023 21:00 (09:00 PM)

Moscow
Wed 02-Aug-2023 21:00 (09:00 PM)

Chennai
Wed 02-Aug-2023 23:30 (11:30 PM)

Hangzhou
Thu 03-Aug-2023 02:00 (02:00 AM)

Tokyo
Thu 03-Aug-2023 03:00 (03:00 AM)

Sydney
Thu 03-Aug-2023 04:00 (04:00 AM)

Or in your local time:

https://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+uvwasi team+Meeting+2023-08-02&iso=20230802T1800
or https://www.wolframalpha.com/input/?i=06PM+UTC%2C+Aug+02%2C+2023+in+local+time

Links

Minutes Google Doc: https://docs.google.com/document/d/1cajaT3jo34dkgKGqvHYtFjC0eKfFOOmJeNYWel6pcH0/edit

Agenda
Extracted from uvwasi-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/node

WASI preview 1: fd_readdir ignores cookie argument #47193

nodejs/uvwasi

What's new with uvwasi in 2023 #201
Implement 4 stubbed out socket methods #200
Changes to WASI spec in snapshot_preview2 #59

Invited

uvwasi team: @nodejs/wasi

Observers/Guests
Notes
The agenda comes from issues labelled with uvwasi-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.
Joining the meeting

link for participants: https://zoom.us/j/91612484369
For those who just want to watch:
youtube admin page: https://www.youtube.com/my_live_events?filter=scheduled

Minutes from the meeting:
Node.js  uvwasi team Meeting 2023-08-02
Links

Recording:  https://www.youtube.com/watch?v=JEtdCvWhiTo
GitHub Issue: https://github.com/nodejs/uvwasi/issues/223

Present

Blaine Bublitz: @phated
Michael Dawson: @mhdawson
Oscar Spencer: @ospencer

Agenda
Announcements
*Extracted from uvwasi-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/node

WASI preview 1: fd_readdir ignores cookie argument #47193

No update

nodejs/uvwasi

What's new with uvwasi in 2023 #201

Michael to post news on socket implementations

Implement 4 stubbed out socket methods #200

PR ready to land!

Changes to WASI spec in snapshot_preview2 #59

Nothing to discuss on that this week
Oscar, team working to finalize spec in next few weeks. September timeframe may be a good time to start implementing bits and pieces.

Q&A, Other
Upcoming Meetings

Node.js Project Calendar: https://nodejs.org/calendar

Click +GoogleCalendar at the bottom right to add to your own Google calendar.


fix: CJK characters are garbled after decryption

I'm from Asia and I found that CJK characters are garbled after decryption.
Because during decryption, parameters of decipher.update does not contain outputEncoding.
Test code:
import { decrypt, encrypt } from './nip04.js'

const main = function() {
  let priv = '3277614521b0dba8ec930e64ff4ea5bb2709dfd67d35586b8b380d0beeb420c1'
  let pub = '8643c759c757bbaf06eae40ac4454627ec44731a7f48a4ba04244b68fd028999'
  let txt = '苟利国家生死以，岂因祸福避趋之'
  let cipText = encrypt(priv, pub, txt)
  let r = decrypt(priv, pub, cipText)
  console.log(r)
}

main()

Result:

After repair:

Good catch! Thank you very much.

Released in 0.24.1.


Assigning VM roles

Hi,
Regarding this tutorial, if you are attempting to follow the steps and have a VM (in my case an server with AD roles) then you must first ensure that you enable managed identity fiirst, as the VM will not appear as a selectable resource (in point 7).
To enable the option, select the VM goto Identity in the blade, and set the status to on (system assigned).

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

ID: 0767c7b6-16b1-c687-6190-9c7eb2776826
Version Independent ID: d4f9ccd2-6673-31bc-f72b-cbf061b942d8
Content: Tutorial: Use managed identity to access Azure Resource Manager - Windows - Azure AD
Content Source: articles/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-arm.md
Service: active-directory
Sub-service: msi
GitHub Login: @barclayn
Microsoft Alias: barclayn

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

@zjakub1 Thanks for the feedback. We have made updates to the article

#please-close


Mongo collection standards

The Meteor style guide does not include Mongo collection standards. This should be fleshed out moving forward.

According to "Is there a convention to name collection in MongoDb?" on SO[0], the general conventions are:

lowercase names : avoids case sensitivity issues, MongoDB collection names are case sensitive.
plural : more obvious to label a collection of something as the plural, e.g. "files" rather than "file"
no word separators : Avoids issues where different people (incorrectly) separate words (username <-> user_name, first_name <-> firstname). This one is up for debate according to a few people around here but provided the argument is isolated to collection names I don't think it should be ;) If you find yourself improving the readability of your collection name by adding underscores or camelCasing your collection name is probably too long or should use periods as appropriate which is the standard for collection categorization.
dot notation for higher detail collections : Gives some indication to how collections are related. For example you can be reasonably sure you could delete "users.pagevisits" if you deleted "users", provided the people that designed the schema did a good job ;)

http://stackoverflow.com/a/9868505
As for the third point, I would recommend against including spacers in collection names, and requiring them for fields etc, but that's my personal preference.

Too bad there isnt a more official or widely accepted set of guidelines. I would be inclined to propose the following:
*Collections
-camelCased
-Plural
-No word separators
*Fields
-camelCased
-Plural if array based, otherwise singular
-No word separators.

fwiw I'd be fine with that.

@ajax-wcd Any thoughts?

Fine by me.

Ill update the readme and submit a PR tonight.

PR was merged. yay.


Replicating results

Hi,
Thank you for sharing your work.
I am wondering, is the training code you've provided enough to replicate your results?
I am having a very low score with your implementation at test evaluation (at competition).
Thank you for your time

Hi
The training code is merely an example of how to load/train a model. For a detailed description of the parameters used in the experiments in the paper I refer you to the following paper: https://onlinelibrary-wiley-com.ezp1.lib.umn.edu/doi/full/10.1002/rob.21902.
Hope this helps.
Nicolai

Ah, thank you! I'll look into it.
The link is behind the university system, here is the arxiv link to anyone who might be interested.
https://arxiv.org/abs/1810.09499


Errors with visualization

First of all I thank you for good job.
When the file is started visualize.py the following error occurs:
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py", line 1407, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Shape mismatch in tuple component 1. Expected [769,769,3], got [1024,2048,3]
[[{{node batch/padding_fifo_queue_enqueue}}]]
I tried to resize, but it did not help. When I change the size to [1024,2048] the following error appears.
However, the first image is successfully processed.
Traceback (most recent call last):
File "visualize.py", line 335, in
tf.app.run()
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "visualize.py", line 320, in main
train_id_to_eval_id=train_id_to_eval_id)
File "visualize.py", line 183, in _process_batch
colormap_type=FLAGS.colormap_type)
File "/code/ShuffleNetV2/utils/save_annotation.py", line 33, in save_annotation
label, colormap_type)
File "/code/ShuffleNetV2/utils/get_dataset_colormap.py", line 389, in label_to_color_image
raise ValueError('label value too large.')
ValueError: label value too large.

When I change the size to [1024,2048] the following error appears.
However, the first image is successfully processed.
Traceback (most recent call last):
File "visualize.py", line 335, in
tf.app.run()
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "visualize.py", line 320, in main
train_id_to_eval_id=train_id_to_eval_id)
File "visualize.py", line 183, in _process_batch
colormap_type=FLAGS.colormap_type)
File "/home/3030/SgibnevI/prj/Marker/code/ShuffleNetV2/utils/save_annotation.py", line 33, in save_annotation
label, colormap_type)
File "/home/3030/SgibnevI/prj/Marker/code/ShuffleNetV2/utils/get_dataset_colormap.py", line 389, in label_to_color_image
raise ValueError('label value too large.')
ValueError: label value too large.

Hello @thepuremind,
Can you try the following setting? It is better to use 1025, 2049 as the model is much more accurate on odd dimensions. Also colormap_type should be set to cityscapes. I will be fixing the default values in the script.
python visualize.py \
    --model_variant=shufflenet_v2 \
    --output_stride=16 \
    --vis_logdir=./vis_dir \
    --checkpoint_dir=./your_checkpoint_dir \
    --dataset=cityscapes \
    --dataset_dir=./your_dataset_dir \
    --colormap_type=cityscapes \
    --vis_crop_size=1025 \
    --vis_crop_size=2049

Hello @thepuremind,
There was a bug on the ground truth visualization for the ignore labels. Thank you for pointing out. 1ca269e should fix the error.

@sercant thanx!
Your comment helped solve this problem.


Upgrade gems for Dec 17, 2021

Major versions:

[ ] newrelic_rpm: 7.0.0  ->  8.2.0
[x] sanitize: 5.2.3  ->  6.0.0
[ ] selenium-webdriver: 3.142.7  ->  4.1.0

Minor versions:

[ ] aws-sdk-s3: 1.95.0 ->  1.109.0
[ ] aws-sdk-ses: 1.38.0 ->  1.44.0
[ ] capybara: 3.35.3 ->  3.36.0
[ ] html-proofer: 3.19.1 ->  3.19.3
[ ] httparty: 0.18.1 ->  0.20.0
[ ] json: 2.5.1  ->  2.6.1
[ ] jwt: 2.2.3  ->  2.3.0
[ ] listen: 3.5.1  ->  3.7.0
[ ] redis: 4.2.5  ->  4.5.1
[ ] resque: 2.0.0  ->  2.2.0
[ ] resque-heroku-signals: 2.0.0  ->  2.2.0
[ ] test-unit: 3.4.1  ->  3.5.2
[ ] tinymce-rails: 5.8.1  ->  5.10.2
[x] webdrivers: 4.6.0  ->  4.7.0
[x] webmock: 3.13.0 ->  3.14.0

Patch versions:

[ ] apipie-rails: 0.5.18 ->  0.5.19
[x] haml_lint: 0.37.0 ->  0.37.1
[x] puma: 5.5.1  ->  5.5.2
[ ] rack-mini-profiler: 2.3.2  ->  2.3.3
[ ] rspec-rails: 5.0.1  ->  5.0.2
[x] will_paginate: 3.3.0  ->  3.3.1

(can we rebase this?)


[ui-core] Use default theme

Bundle size will be reported once CircleCI build #579 finishes.

  Generated by :no_entry_sign: dangerJS against 023aaaf09e135c84f4c5c90ea9d21b5a2c3f7df4

Bundle size will be reported once CircleCI build #596 finishes.

  Generated by :no_entry_sign: dangerJS against 167f9b37294f54a20c9ed00f97a0f967667abcc3

Bundle size will be reported once CircleCI build #603 finishes.

  Generated by :no_entry_sign: dangerJS against 8da5f57cee051a7a4d761aa48543cea4948c7d9a


⚠ ClamAV has degraded performance

In 0236aaa, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 71 ms

Resolved: ClamAV performance has improved in 56d8ed4 after 7 minutes.


Compilation failure/Bump git-repository version

Trying to compile knope 0.7.0 from source (i.e. via cargo install knope) fails with the following error:
error[E0063]: missing field `expected_checksum` in initializer of `git_index::decode::Options`
  --> /Users/mbryant/.cargo/registry/src/github.com-1ecc6299db9ec823/git-repository-0.33.0/src/repository/worktree.rs:80:13
   |
80 |             git_index::decode::Options {
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `expected_checksum`

Since knope current uses git-repository 0.33.0 and the latest is 0.35.0, I imagine bumping the version would fix the error.
The crate also mentions the below, but I'm not sure if it would cause more issues:

This crate is now named 'gix' and not available under this name anymore

Should be fixed by #383


[BUG] - Duplicates in "list_devices.py" example

I am seeing this behaviour on "list_devices.py" example (Platform Section)
OS: WIndows Server 2016
Carbon Black Cloud Products: Audit & Remediation
Python Version: 3.9.1
Describe the bug :
When results are printed to screen (showing the list of the devices) it randomly duplicates an entry, but keeping the total number of devices correct, so some devices are not shown and instead other devices are duplicated.
I've included the script in a scheduled task to refresh every 10 minutes the devices list, and I noticed that duplicated devices are never the same.

@MarkTheTiger Can you provide the CLI you are using which causes the issue you have mentioned? It's possible that if you are sorting on a property that is updated when we page through the results it could be adjusting the list which would cause a Device to be outputted twice

Hi @avanbrunt-cb,
I took the example "list_devices.py" and runned it directly from Atom recalling Python (using atom-python-run, without a CLI).
After that, I also launched the script via Powershell 5.1 .

Did you provide any arguments to the script?

No, just ".\list_devices.py" in powershell, in atom runned pressing F5.

@MarkTheTiger I've found that the devices request applies a sort on last_contact_time by default so because of our current pagination if you have a few thousand devices it takes a little bit of extra time to process all of the devices. I have a workaround for now but will look into adding a set_rows function to allow this to be more easily configured.
The workaround is to change the line 56 to the following
devices = list(query._perform_query(max_rows=10000))

This will set the query to retrieve the max number of devices available in one request instead of paginating.


Sortable.min.js contains no code

Reproduction
https://github.com/SortableJS/Sortable/blob/master/Sortable.min.js
Scenario
Users may still be importing sortablejs from GitHub.

I'm surprised there's no way to upvote issues, but yes, please fix this, as it would save time and unnecessary confusion, as not everyone checks the content of a file they are copying into their project folders and then they wonder why things don't work.
A note to everyone else - get into a habit of looking at the third-party code you are using.


Per-project Setting does not work since v3.0.0

Before 3.0. upgrade I was able to define a list of disabled packages in a per-project basis. Since v3.0.0 it stop working. projects.cson is
[ { title: "Test project" group: "jmail" paths: [ "C:\xampp\htdocs\test_project" ] icon: "icon-chevron-right" settings: "*": core: disabledPackages: [ "atom-bootstrap3" "atom-bootstrap4" "language-smarty" "rest-client" "Remote-FTP" ] devMode: false template: null } ]

Me too - is still broken in 3.20

I'm new to using Atom, but I believe my issue is similar. I want to configure the path settings for php-debug per site. The config.cson settings looks like:
  "php-debug":
    PathMaps: [
      "/var/www/site;/Users/jnettik/Sites/site"
    ]

I would assume the projects.cson setting would be:
    settings:
      "php-debug.PathMaps": [
        "/var/www/path;/Users/jnettik/Sites/path"
      ]

It would be handy to be able to tie the debugger pathing to it's project settings, and not have to define them globally. Thank you for any help you can give!

Hmm, the tests I did got it working, but it's not working for me either now. Will have a look at it

So, please update and try again :)

I'm still having issues with the php-debug plugin on this. I add my path maps as a project setting and nothing happens. Move the same setting over into my config.cson and it works fine. Am I doing something wrong when moving the path maps into projects.cson?

It works now!! 😂
Thank you :)

@jnettik It could be that the php-debug package only looks at that config.cson and not at the settings from atom.

Good to know. I will reach out on that project. Thank you for your quick replies and work on this.

@jnettik I looked at the package page and it should read from it, but could be that it doesn't listen for changes and the settings from your project is added after it has read it's setting.


Fix for 2 deli edge cases

Fixing 2 deli edge cases that could cause document corruption / data loss. I commented in the code what's happening here.
I could remove the code comment and put them in this pr description if others prefer that.

Gary, thanks for the quick pr. Are you planning to add any tests? Thanks!

Gary, thanks for the quick pr. Are you planning to add any tests? Thanks!

I don't have any plans to add tests, at least in this repo.
It's unfortunate but the deli tests in this repo are fairly simple and there are no existing test utilities/infrastructure to test changes like this. Fully testing deli would be a large project on its own.


[DDW-298] Add acceptance tests for update mechanism

This PR adds acceptance tests for the NodeUpdateNotification.js component's rendering behavior when a node update is made available. Two test scenarios include one where the node update is postponed and another when the update is accepted.
Todo:

[x] Mocks an API call making a node update available.
[x] Checks that all UI elements in the notification, including the update's version number, have rendered properly.
[x] Scenario 1: Tests functionality for postponing (declining) an update.
[x] Scenario 2: Tests functionality for accepting a node update and that the Daedalus electron window has closed.
[x] All tests after "Scenario 2" fail

Review Checklist:
Basics

[x] PR is updated to the most recent version of target branch (and there are no conflicts)
[x] PR has good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[x] CHANGELOG entry has been added and is linked to the correct PR on GitHub
[x] Automated tests: All acceptance tests are passing (npm run test)
[x] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (npm run dev)
[x] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (npm run package / CI builds)
[x] There are no flow errors or warnings (npm run flow:test)
[x] There are no lint errors or warnings (npm run lint)
[x] Text changes are proofread and approved (Jane Wild)
[x] There are no missing translations (running npm run manage:translations produces no changes)
[x] UI changes look good in all themes (Alexander Rukin)
[x] Storybook works and no stories are broken (npm run storybook)
[x] In case of npm dependency changes both package-lock.json and yarn.lock files are updated

Code Quality

[x] Important parts of the code are properly documented and commented
[x] Code is properly typed with flow
[x] React components are split-up enough to avoid unnecessary re-rendering
[x] Any code that only works in Electron is neatly separated from components

Testing

[x] New feature / change is covered by acceptance tests
[x] All existing acceptance tests are still up-to-date
[x] New feature / change is covered by Daedalus Testing scenario
[x] All existing Daedalus Testing scenarios are still up-to-date

After Review:

[ ] Merge PR
[ ] Delete source branch
[ ] Move ticket to done on the Youtrack board

@MarcusHurney looks like all tests after the one which applies the update fail (due to chrome unavailable). We need to fix that!

@nikolaglumac @DominikGuzei
When you're reviewing this and run npm run test, you'll notice that the accept node update scenario shuts down the window and there is a message in the console saying that a session id must be present for one of electron's or spectron's window methods that runs when the window is opening or closing via app.start() or maybe app.quit(), I'm not sure when it runs. It doesn't cause any of the tests to fail nor does it have any direct consequence on our suite of tests, but just keep any eye out for it and see what you think.

@MarcusHurney is this ready to be reviewed?

@DominikGuzei AFAIK it should be ready. Please see last comment @MarcusHurney posted in this thread...

@nikolaglumac from my side this PR is ready for merging!


Combination proxy host & stream

I may be barking up the wrong tree here,  but I think what i'm wanting is a combination proxy/stream host.
What i'd effectively like to do is run (for instance) a ssh server on ssh.mydomain.com:443, which would then proxy to 10.1.2.x:22.  it seems to achieve this at present, i'd need to set up the stream host on 443 which would take over port 443 for my "whole" IP, rather than just traffic heading into ssh.mydomain.com...
This is all to get around pesky corporate firewalls blocking port 22 (and other useful ones!)
So is it

do-able at present, i'm just being a dunderhead
a product enhancement
not able to be done within the scope of this project

Blunt answer: 1 and 3.
There are ways of achieving SSH over HTTP(S) but all the guides I've found are not nice or easy. More like hacks and they depend on the firewall your company is using. Google for "SSH over HTTP" if you're curious.

Just reading the issues backlog and found #164 which has products you might be able to deploy.


Instarepl doesn't use my existing connection

I'm trying to use instarepl with my project but instead of using my project, it always creates its own connection.
Steps to reproduce:

Load a project folder and open a source file in the editor.
Connect to it with Ctrl+Enter.
Wait for connection to be completed.
Ctrl+Space, select Instarepl: Open a clojure instarepl
Wait, it's making a new connection again (undesired).
Try to evaluate (require 'my-project.core) anyway, which fails with java.io.FileNotFoundException: Could not locate myproject/core__init.class or myproject/core.clj on classpath.
Go to View -> Connections, see one connection for my project and another one called "LightTable-REPL" of type lein-light-nrepl.

I'm running Light Table 0.8.1 on Arch Linux x86_64.

Though I don't have much experience with the Instarepl plugin, I am fairly sure that evaluation via Ctrl-Enter and Crtl-Shift-Enter are independent of the Instarepl plugin. They should be from the Clojure plugin. As such, they would likely have their own connections.
Regarding the failure mentioned when evaluating a project with the Instarepl, is there a repository available to test this against?

@sbauer322 I only pressed those to establish a connection, it really has nothing to do with the plugin.
As for repository, lein new will do, as it's like this with any project.

Thanks, I'll give it a try this weekend!

Thank you, @sbauer322 .
I've just now tested again on Windows 10 Pro x64 and the problem was reproduced.

I was able to reproduce this problem. From what I gather, the Instarepl was meant largely for quick, small prototyping that does not make use of dependencies. It looks like the Instarepl has some severe limitations with regards to working with projects.
Unfortunately, I don't have a solution and the plugin is in need of a maintainer... despite how popular it appears to be. As such, I am doubtful a fix will be inbound any time soon. That said, the Light Table team would be happy to assist anyone interested in working on the plugin.
The suggested work around would be to use the inline evaluations (e.g., Ctrl-Enter and Ctrl-Shift-Enter) rather than the Instarepl.
Relevant other issues:

https://github.com/LightTable/ClojureInstarepl/issues/14
https://github.com/LightTable/Clojure/issues/55
https://github.com/LightTable/LightTable/issues/1997

I am closing this issue as the Instarepl is limited with regards to accessing projects and because the problem concerns the Instarepl plugin rather than Light Table's core.
Please feel free to open a separate issue in the Instarepl plugin's repo.


Add environ for device.launchApp

For now, we can launch the app with launchArgs
await device.launchApp({launchArgs: {arg1: 1, arg2: "2"}});

but in many cases, it's easier to pass in environment variables, like this
await device.launchApp({environ: {API_URL: 'http://localhost:3000'}});

as launchArgs require parsing, while environment variable can be read directly with simple key. So I think it would be nice to add support for launching the app with environment variables.

What is your use case here?
Remember, with Detox you should be testing your app as close to what the user experience is. The user cannot set environment variables (or launch arguments).

@LeoNatan the use case we had at Envoy is, we sometimes needs to set a different configuration value for testing purpose, such as API_URL mentioned above, which is a perfect example. Surely user cannot set the environment variable, nor change the launch arguments, but the problem is just because so, we cannot change things like API_URL to a local API server that servers mock API endpoints via user interface, we need to change it via environment or launch argument.

Besides API, there is also stuff we need to mock via feeding a different environment variable to the app. For example, our Envoy sign-in app supports badge printing, to test the badge printer, there is no way we make the iPad really print the badge out and somehow ensure the badge printing is correct.
In that case, we will need to feed in an environment variable telling the app to use a mock printer module, and talk to our local HTTP server instead, and the HTTP server is running with our tester, so that we can check the parameters sending to the mock printer server, and we can see if it's working as expected. Like this
BADGE_PRINTER_TYPE=MOCK
BADGE_PRINTER_HOST=http://localhost:4567

Likewise, we have to mock PubNub, that's also done with a mock API server doing long polling.
For more details, we have a blog post for it
https://envoy.engineering/embedded-web-server-for-ios-ui-testing-8ff3cef513df
Anyway, in short, that's not for user interaction, it's more for changing the configuration to make some untestable thing testable for our use case.

https://github.com/wix/detox/blob/master/docs/Guide.Mocking.md

"Currently supports only RN 0.44" :(

We have a mocking recommendation, but unfortunately it is only supported on a very old RN version (0.44). Hang in there.

@leeor besides mocking, we also have use case for operations such as resetting key chain, for example, before certain test case, we want to reset the key chain, then we pass in
RESET_LOGIN=1

when the app reads this part, it will clear the key chain before launching the app. We can also set some variable, like access key
ACCESS_KEY=MOCK_ACCESS_KEY

As for our use case, it's not possible to reset key chain via user interface, we do have reset login, but that needs to be done via a toggle in Settings app.

Any reason not to use launch arguments? There is a similar API you can use to test whether a launch argument exists.


Add the option to override the user agent

Hi,
First of all thank you for this amazing plugin.
In this PR I hope to add the ability to override the user agent in order to make this plugin more applicable to my use case.
Kind regards,
Majed

Hi @Majed6 thanks for the PR
Small question - why do you need both the checkbox and the text field for the user agent - can we just check if there is a value in the textfied and if so set the user agent as you did ? Also did you test is locally ? if yes can you write a small comment on how to test it so I can also check on my local machine - thanks again for the PR

Hi,
Thank you for accepting the feature request. The goal of the checkbox is :

A better UX If the user wants to toggle between having the user agent overwritten or not without having to retype the field every time.
If the user wants to set the user agent to an empty value.

We can test it by asking google what is our user agent or visiting websites like https://www.whatismybrowser.com/detect/what-is-my-user-agent/

Also I see that we can enable the user agent check box without setting a user agent String - so better to validate this and block the user in such case ( saying this in case we can't remove the check box you added )

This is intended to allow empty value.
Also the text field can be edited without checking the box to allow the user to type in the user agent and ooverwrite at a later time when needed.

I would like to generalize this feature even further by making an overwrite headers table instead as follows:
+--------------+---------------+--------------------+--------+
|  URI Regex   |    Header     |       Value        | Enable |
+--------------+---------------+--------------------+--------+
|mydomain\.tld | User-Agent    | some use case      | []     |
| .*localhost  | Authorization | my secret value    | [X]    |
| .*           | User-Agent    | Firefox user-agent | []     |
+--------------+---------------+--------------------+--------+

I haven't done tables before and I'm not really sure how well this will go , so I'll get back to you on that by Sunday. Do you mind having such level of customization? I have achieved my use case with the current PR but I'm thinking about futureproofing the plugin.

@Majed6 I think it is better to have the text field for the agent only - in case the user wants to change the user agent he needs to enter the user agent there and it will persist the next time he will open the settings.
In case he wants the default he only needs to remove the string from the text field.
If it is ok with you I will push a commit to your branch with my suggestion and you will be able to see what I mean.
Let me know.
And again thanks for contributing to this project.

@Majed6 I think it is better to have the text field for the agent only - in case the user wants to change the user agent he needs to enter the user agent there and it will persist the next time he will open the settings.
In case he wants the default he only needs to remove the string from the text field.
If it is ok with you I will push a commit to your branch with my suggestion and you will be able to see what I mean. Let me know.
And again thanks for contributing to this project.

Absolutely go for it. 👍

Hi,
I managed to make it future proof for all headers. I'll do a few tests and refactoring of the new code and create a separate PR for you to choose from. Below is a picture of what it would look like.

Here is the PR https://github.com/Jonatha1983/GIdeaBrowser/pull/64 . I prefer it over this PR since it does what I need and cover future needs. Pick the implementation that you like. Thanks again for being receptive to feature requests in your plugin.

Closed in favor of #64


Voucher list

Creating the page to view all vouchers

[x] Enable the "My Vouchers" button in the wallet Tab to take to a new page

[ ] Fetch vouchers from the API (TBD)

[ ] The list should be "infinite scrollable", see API for pagination

No need to implement the "Check" link yet, that is done in #16

In this part, when you add the "CHECK" in the corner, how will it work? Is to know if I just put a text saying that in all the boxes or is something else.

I guess it could say 'OPEN' instead. It is the button that should be used for #16

https://pub.dev/packages/infinite_scroll_pagination


layer: update email address for Pierre-Jean Texier

Signed-off-by: Pierre-Jean Texier<EMAIL_ADDRESS>

Hi @texierp ,
we have started to track Community maintainer in a single place.
You can see what being a community maintainer means here:
https://github.com/mendersoftware/meta-mender-community/wiki/Community-maintainers
Would you be ok that we add the email<EMAIL_ADDRESS>as the maintainer for meta-mender-atmel?

Hi @TheMeaningfulEngineer ,

Hi @texierp ,
we have started to track Community maintainer in a single place.
You can see what being a community maintainer means here:
https://github.com/mendersoftware/meta-mender-community/wiki/Community-maintainers

Oh nice ;) , thanks for the feedback.

Would you be ok that we add the email<EMAIL_ADDRESS>as the maintainer for meta-mender-atmel?

Yes, fine for me, should I send a PR ?

@texierp

Yes, fine for me, should I send a PR ?

No need, thanks. I'm owning keeping track of the maintainers, and have updated you in the table.

Merging this now.

@texierp
I've missed this.
Would you like to be the maintainer for meta-mender-nxp also?
Just noticed the other file in the PR.

@texierp
I've missed this.
Would you like to be the maintainer for meta-mender-nxp also?

Yes, no problem for me :)


Capture exit code when Vite process is killed

[ ] I have tried upgrading by running bundle update vite_ruby.
[x] I have read the troubleshooting section before opening an issue.

Description 📖
Running bin/rails assets:precompile --trace on CircleCI, my build ends with:
Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification
Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification
Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification
Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification

Build with Vite failed! ❌

With no further message as to why. Adding some debugging to lib/vite_ruby/io.rb reveals that when vite build is run, stderr contains only the warning messages, but wait_threads.value is pid 11560 SIGKILL (signal 9), so presumably something on CircleCI is killing it (OOM killer?).
vite_ruby should output the return code of the vite build command in addition to stderr when the build fails to make it easier to diagnose the problem.
Reproduction 🐞
Run bin/rails assets:precompile --trace, when it gets to the vite part, kill -9 the vite process. Result:
Build with Vite failed! ❌

With no explanation why.

Thanks for your contribution, released in vite_ruby-3.2.9.


MHub / IDC - Implementing the nnUNet Task005 Prostate MR (ADC, T2) Model

I updated my implementation of the nnUNet Prostate MR (Task005) model.
The model takes two input series:

ADC
T2

The current default config uses a FileStructureImporter that accepts the following input structure (note that study is optional):
├── Patient1/
│   ├── study1
│   │   └── ADC
│   │   │   └── *.dcm
│   │   └── T2
│   │   │   └── *.dcm
│   └── study2
├── Patient2/
│   └── ADC
│   │    └── *.dcm
│   └── T2
│        └── *.dcm

NOTE: above implementation makes use of the static instance meta annotation (see FileStructureImporter.structures in config/default.yml), which is not yet available in mhubai/base:latest.
To use the patient/strudy structure only, change to:
FileStructureImporter
    structures:
    - $patientID/$studyID@instance/$part@/dicom@dicom

To use the patient/ structure only use:
FileStructureImporter
    import_id: patientID
    structures:
    - $patientID@instance/ADC$part@/dicom@dicom
    - $patientID/T2$part@/dicom@dicom

@LennyN95 here is the meta.json file : nnunet_task05_meta.json
Regarding the segdb codes, I did not see anything for the prostate zonal regions -- output labels for this models.
You could use these codes :
PROSTATE_PERIPHERAL_ZONE | Peripheral zone of prostate | C_BODY_STRUCTURE | T_PROSTATIC_PZ_STRUCTURE |   |
where T_PROSTATIC_PZ_STRUCTURE = 279706003
PROSTATE_TRANSITION_ZONE | Transition zone of prostate | C_BODY_STRUCTURE | T_PROSTATIC_TZ_STRUCTURE |   |  where T_PROSTATIC_TZ_STRUCTURE = 399384005
Here is my dcmqi json file for converting these SEGS to DICOM for reference :
task05_nnunet_dcmqi.json
For licensing purposes, heres the nnUNet task05 dataset.json, being a bit more explicit about their licensing scheme.
dataset_task05.json

Thx @ccosmin97,
Following your suggestion, I added the two new substructures to our SegDB with commit 9f922e1f.

Regarding the dicom conversion, which MR scan did you use as reference, I guess T2?

I am a bit confused here, do you mean the resampling scheme to get identical geometry between the T2 and ADC volumes?
In that case, I used the T2 as a fixed grid to resample the ADC volume.
If you are referring to the dicomseg conversion of potential manual annotations, in my use case (ProstateX, QIN-Prostate-Repeatability collections) they always refer to the T2 volume.

I think it is worth highlighting that this model was trained on co-registered T2 and ADC volumes, so any resampling scheme on ADC and T2 sequences that are not co-registered is sub-optimal. I did do resampling of ADC to T2 during my analysis because registration of ADC and T2 volumes was out of scope for the collections analyzed.

I think it is worth highlighting that this model was trained on co-registered T2 and ADC volumes, so any resampling scheme on ADC and T2 sequences that are not co-registered is sub-optimal

Yes @ccosmin97, I therefore build a Resampler Module that will resample ADC to T2's spacing. Is that what you mean?

I think it is worth highlighting that this model was trained on co-registered T2 and ADC volumes, so any resampling scheme on ADC and T2 sequences that are not co-registered is sub-optimal

Yes @ccosmin97, I therefore build a Resampler Module that will resample ADC to T2's spacing. Is that what you mean?

@LennyN95  That's what I did for my analysis, perfect.
For these multi-modal models that assume co-registered inputs, maybe it is a good idea to add a more generic resampling scheme in the future, where the user can choose the fixed resampling grid. In this case, it is the T2 image, but it also could be the ADC one or a fixed arbitrary grid. Motivation is these choices are purely experimental, trying to conform to same-size inputs.
I do not think there is a perfect way to design this resampling scheme, it is case-specific. In my case, resampling to the higher resolution, i.e. T2, makes more sense, also because the T2 image has better prostate tissue contrast compared to ADC, so we do not want to degrade/resample the T2 image.
I believe in your Resample module, it all boils down to the 'fixed' plastimatch argument, where here you specify 'path_to_t2.nii.gz' but it could also be a fixed grid-like '250,250,30' -- x,y,z voxel size

@LennyN95 A quick follow-up on the model testing :
Here is the workflow I wanted to test:

Build the base mhub image
build the model image -- nnunet_prostate_zonal_task05
Try on dicom test data following the structure you mentioned

Even though step 1 and 2 completed 'successfully', i.e images were built, it seems that some paths were not set up properly. Here are some logs about the building of the model image:

When I try to run inference, it looks like no models ID were found inside the model container. I will investigate more, the issue is probably on my side.

Yes, the resampling could be generalized. However, it's a static, model-specific task (e.g., various models might utilize various sampling techniques, but whatever sampling technique is used, it will be fixed for inference), right?
Importing model definition from Mub models repository.
Regarding the error, this is expected; the model has not yet been accepted. Therefore, you need to specify the repository and branch name during the build:
docker build -t dev/nnunet_prostate_zonal_task05 \
   --build-arg MHUB_MODELS_REPO="https://github.com/MHubAI/models::m-nnunet-prostate" .

Yes, the resampling could be generalized. However, it's a static, model-specific task (e.g., various models might utilize various sampling techniques, but whatever sampling technique is used, it will be fixed for inference), right?

It is model specific indeed. However, in this model case, no sampling technique was recommend in particular, since they assumed that the ADC and T2 images are co-registered. Any resampling decisions are outside of the model scope, but necessary in case of non co-registered data, such as my case. That's why I mentioned a more generic sampling scheme(T2 to ADC, ADC to T2, fixed grid applied for both), up to the user. As a start, resampling ADC to T2 image is ok. Overall I agree with a fixed sampling strategy for inference, as long as it was recommended by the author of the model, which is not the case here, this resampling strategy is purely motivated by my specific use-case.

Okay in that case, for Mhub we shouldn't apply any resampling in the default case.
If we propose some specific sampling strategy these should always be motivated and evaluated by some analysis. Do you have any statistics of model performance that we could rely on?
I don't like the idea to leave this to the user without guidance, getting this wrong is quite easy and getting it right requires extensive testiness and evaluation. So if we allow for flexibility here, then it should be well documented in the Model Card and outsourced into alternative workflows. What do you think?

@LennyN95
I tested the current PR with one sample from IDC which can be downloaded using s5mcd using the following command:
~/Downloads/s5cmd_latest/s5cmd --no-sign-request --endpoint-url https://s3.amazonaws.com cp 's3://idc-open-data/cf61e842-f0f6-4a3a-9a35-671acf207b91/*' .
It contains 2 sequences, one T2 and one ADC, from QIN-Prostate-Repeatability, patientID equal to PCAMPMRI-0002.
I modified the FileStructureImporter.structure from :
FileStructureImporter
    import_id: patientID
    structures:
    - $patientID@instance/ADC$part@/dicom@dicom
    - $patientID/T2$part@/dicom@dicom

to
FileStructureImporter
    import_id: patientID
    structures:
    - $patientID@instance/ADC$part@dicom/dicom@dicom
    - $patientID/T2$part@dicom/dicom@dicom

Here is the complete default.yml -- renamed to .json for uploading.
With this change, the rest of the converters and runners worked as expected, producing a segmentation mask with the expected geometry and orientation.
Regarding the actual segmentation result, I did not have time to check if it is similar to my previous analysis results, it might be slightly different since I did used  --tta False during inference (default is True -- like in the default workflow).

@ccosmin97 I updated my implementation and added a new customizable parameter disable_tta, default value false.
You can disable TTA by modifying the default.yml (or try with a custom config):
ProstateRunner:
   disable_tta: true

Or you can set the attribute from the cli:
docker run --rm -t --gpus all \
-v /abs/dicom/in:/app/data/input_data:ro \
-v /abs/out/:/app/data/output_data \
dev/nnunet_prostate_zonal_task05 \
--config:modules.ProstateRunner.disable_tta=false

Can you please try both versions (so we can set the appropriate default value)?

@ccosmin97 I updated my implementation and added a new customizable parameter disable_tta, default value false.
You can disable TTA by modifying the default.yml (or try with a custom config):
ProstateRunner:
   disable_tta: true

Or you can set the attribute from the cli:
docker run --rm -t --gpus all \
-v /abs/dicom/in:/app/data/input_data:ro \
-v /abs/out/:/app/data/output_data \
dev/nnunet_prostate_zonal_task05 \
--config:modules.ProstateRunner.disable_tta=false

Can you please try both versions (so we can set the appropriate default value)?

Thank you @LennyN95 !
It would also be valuable to have the model type as an option: -- model 3d_fullres/2d/...

Updated @ccosmin97. Note that I changed the TTA configurable from disable_ttato use_tta (default false) to use the same parameter names as in our NNUnetRunner implementation.

NOTE: The model is tested & can be pushed.
@ccosmin97 Any updates or objections from your side before we move ahead?

@LennyN95 Thank you for working on this! I will in the following few days -- this week:

I will update the meta.json to include information and justification about the resampling scheme
Re-test the branch once again

/review

@LennyN95 I added evaluation results and the used resampling scheme justification to the meta.json.
Details are in my fork, in this commit. I could create another PR or something else if that helps.
Testing is next.

@LennyN95 I was testing out the task05 branch and got this error log for NiftiConverter.log :

'Read-only file system' --> Did I mess something in the docker configuration? Did this happen before?
By replacing the structure in FileStructureImporter in the default.yml from :
  - $patientID/$studyID@instance/$part@bundle@dicom
  - $patientID@instance:studyID=none/ADC$part@bundle@dicom
  - $patientID@instance:studyID=none/T2$part@bundle@dicom

to :
    - $patientID/$studyID@instance/$part@dicom@dicom
    - $patientID@instance:studyID=none/ADC$part@dicom@dicom
    - $patientID@instance:studyID=none/T2$part@dicom@dicom

I do get the desired output though.

You need the newest base image for the @bundle to work, can you check if you have the latest :)? Your fix works too (just one @dicom would be enough) but that wouldn't hold for some edge cases.

You need the newest base image for the @Bundle to work, can you check if you have the latest :)? Your fix works too (just one @dicom would be enough) but that wouldn't hold for some edge cases.

Thanks, that did it! I built the base image locally from your branch, which had a commit to the base image 2 months ago.
It run successfully, I will finalize testing for this model and the 2 others tomorrow/Thursday -- based on your template for submitting model testing.

@LennyN95
testing one one sample was successfull, results look like what is expected, and DICOM SEG metadata also looks right.
Here is the template:
Unless you have further comments/additions, the only thing left is to incorporate these changes into the m-nnunet-prostate meta.json file. I can submit a code review if that helps.
/test
sample:
  idcv: Data Release 17.0 December 04, 2023
  data:
    - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.3671.4754.165941479363091869002475812419
        aws: s3://idc-open-data/0c341066-954b-4076-aa9d-aef460b6ab12
        path: test_data/PCAMPMRI-00003/T2/
    - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.3671.4754.179470327513803829437549550387
        aws: s3://idc-open-data/6bbd50a9-e7fa-44fd-947c-13fa1d2eb4f8/
        path: test_data/PCAMPMRI-00003/ADC
reference:
    url_output: https://www.dropbox.com/scl/fi/vsgt82id8m712e5wbsby6/output.zip?rlkey=jy7vz011uboyauo0q9e3ds0b0&dl=0
    url_input: https://www.dropbox.com/scl/fi/z4yaunck470pwal70yrck/input.zip?rlkey=rzixexi0ckrk3mkkd7ysr9d9c&dl=0
notes:
This model takes a multi-modality input, namely T2 and ADC sequence. The model input also needs to be sorted by patientID, at the very least. Steps below are included to show how to create the input model case folder :
mkdir -p test_data/PCAMPMRI-00009/
mkdir -p test_data/PCAMPMRI-00009/T2/
s5cmd --no-sign-request --endpoint-url https://s3.amazonaws.com cp 's3://idc-open-data/0c341066-954b-4076-aa9d-aef460b6ab12/*' test_data/PCAMPMRI-00003/T2/
mkdir -p test_data/PCAMPMRI-00009/ADC/
s5cmd --no-sign-request --endpoint-url https://s3.amazonaws.com cp 's3://idc-open-data/6bbd50a9-e7fa-44fd-947c-13fa1d2eb4f8/*' test_data/PCAMPMRI-00003/ADC/

mkdir -p out_data
MHUB_OUTPUT_DIR=out_data
docker run dev/nnunet_prostate_zonal_task05:latest -v test_data/PCAMPMRI-00009/:/app/data/input_data:ro -v $MHUB_OUTPUT_DIR:/app/data/output_data

docker run -v /home/exouser/Documents/mhub_task05_exp/test_template/test_data/:/app/data/input_data:ro \
-v /home/exouser/Documents/mhub_task05_exp/test_template/out_data/:/app/data/output_data \
dev/nnunet_prostate_zonal_task05:latest --workflow default

Thx Cosmin! I'll integrate the meta changes and run our new test pipeline.
The template needs to be exactly as in the documentation for our automation to work, I'll post and try below.

/test
sample:
  idcv: Data Release 17.0 December 04, 2023
  data:
    - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.3671.4754.165941479363091869002475812419
        aws: s3://idc-open-data/0c341066-954b-4076-aa9d-aef460b6ab12
        path: PCAMPMRI-00003/T2/
    - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.3671.4754.179470327513803829437549550387
        aws: s3://idc-open-data/6bbd50a9-e7fa-44fd-947c-13fa1d2eb4f8/
        path: PCAMPMRI-00003/ADC
reference:
    url: https://www.dropbox.com/scl/fi/vsgt82id8m712e5wbsby6/output.zip?rlkey=jy7vz011uboyauo0q9e3ds0b0&dl=0


am/pm marker case sensitive in DateFormat

Originally opened as dart-lang/sdk#20453
This issue was originally filed by<EMAIL_ADDRESS>
What steps will reproduce the problem?

create a DateFormat with a pattern containing the am/pm marker
parse a String containing the AM marker in lowercase

What is the expected output? What do you see instead?
The marker recognized as AM. Instead I get an exception.
What version of the product are you using?
intl 0.11.4
On what operating system?
Windows 7
What browser (if applicable)?
n/a
Please provide any additional information below.
Here a sample code reproducing the issue:
import 'package:intl/intl.dart';
void main() {
  String value = "2:52 am";
  DateFormat format = new DateFormat("hh:mm a");
  DateTime date = format.parse(value);
  print(date);
}

 Comment by alan-knight

I think there's a slippery slope here that we can't really deal with. We go by the data that we're provided, and there are a lot of possible variations, just in English, e.g. we could handle lowercase, but what about a.m./p.m.? Handling the possibilities for all languages/locales would be very difficult, and you might need to start handling canonicalization of unicode characters, which we don't have available in the browser right now.
It seems like what you'd really want is an equivalent to ICU's lenient parsing mode, but the internationalization people say that even that usually isn't adequate and isn't that widely used. So the parsing here should probably be reasonably treated as reliably parsing what the formatter emits for a particular locale, but not a general purpose parser. The preferred mechanism for getting dates/times from the user is to use a picker rather than parsing arbitrary strings.

Added WontFix label.

 Comment by sgjesse

Added Area-Pkg, Pkg-Intl, Triaged labels.

This comment was originally written by<EMAIL_ADDRESS>
I'm not parsing the date from an user but from a service which is not under my control.
A solution can be to Lower case the entire String but the parser requires the time zone code in upper case. So the issue is not easily manageable.


REFACTOR: EDB configuration example for DCIR setup

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

Project coverage is 82.58%. Comparing base (8313136) to head (6262d4b).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #917   +/-   ##
=======================================
  Coverage   82.58%   82.58%
=======================================
  Files         160      160
  Lines       20988    20988
=======================================
  Hits        17332    17332
  Misses       3656     3656

@hui-zhou-a Can you have a look at this PR now that #903 is merged ?


fix pure hole child folding into a parent

replace seek_data/seek_hole using fiemap to loop through data extents
add a test case that fold pure hole into parent

@yasker @sheng-liang

I will merge this one for now, just to unblock @sangeethah . But we need to do code cleanup/refactor for sparse-tools after this merged.


App.import is not a function. Including ember-cli-swiper in an addon dependecy

After creating an addon and including ember-cli-swiper as one of the dependencies I'm getting the following error when I run "ember server" or "ember test"
app.import is not a function TypeError: app.import is not a function
Similar issue and possible solution
https://github.com/ember-cli/ember-cli/issues/3718
https://github.com/tomdale/ember-network/pull/7/files

I agree this is an issue.
I've been able to get around the issue locally with the suggestion in ember-cli/ember-cli#3718 which is essentially updating the index.js to call:
this._super.included.apply(this, arguments);
instead of
this._super.included(app);
I'm running a slightly different configuration because we are using engines (which are technically addons) but I still think this applies.

The suggestion DegreeDev made, is already reflected in a commit some days ago. I will create a new release with that in a few hours.

fixed in e210f272a1b7d85f75c470a4651b9c45d7fdafb4 and released in d352674e6403ad578a8e00729cafd318bbad48df (0.6.0)


Hotfix/repair jenkins

Description
Second attemps to fix the node-fetch issue. According to documentation, the LTS version of node supports it's own fetch, so we shouldn't need to import it anymore in the script file and also we could remove the dep from the package.json file.
closes Add ticket reference here
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[ ] Attached issue to pull request
[ ] Changelog entry
[ ] Code is clear and sufficiently documented
[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

Processing this pull request

Merged into branches master, iso5, iso6 in 0ee8b6c90fa8e8a7126c99902958889a77f72570


Compiler Linker Error with XCode 4.2.1

I have included the API folder in my project and added the API folder to the Build Settings - "header search paths"  (hope that's OK? ) - and then I used the GridView classes in one of my own files. Now, the project won't compile. I get these errors :-
Apple Mach-O Linker(Id) Error
"OBJC_CLASS$_GMGridViewCell", referenced from:
As you can tell, I am new to iOS development but I am hoping someone can tell me how to fix this compiler error?
Thanks in advance.

Check if your GMGridView folder is blue or yellow?
If it if blue, that means you have to use full path, like:
#import "GMGridView/GMGridView.h"

The folder is called API and it's blue. Although when I include the folder name, compiler throws an error. File not found.
Is there a wiki on how to install/use gmgridview in a Xcode project ? That would be quite useful I think.

Please delete them from Xcode and add again. Notice: select "Create groups for any added folders", NOT "Create folder references for any added folders"


[CERT-TEST-FAILURE]

Feature Area
Other
Test Case
N/A
Reproduction steps
Python scripts are not printing the outgoing frames when sending commands, we only see the incoming responds printed out. visibility of the outgoing frames was a request made from the SVE1 of Matter for reviewer confidence that the step is sending what we need it to send. Please re-enable this.
Bug prevalence
Every Python script
GitHub hash of the SDK that was being used
5b4f8004662d00bdb111367fec7d3ea978c23372
Platform
other
Anything else?
No response

https://github.com/project-chip/connectedhomeip/pull/28179 added python tracing bits, but using the updated trace decoder. This however should make reading things simpler than the trace_decode. Unsure if this was plumbed through test execution though.

@SamCullen-Element could you give me an example on a test you run where you need this info?
I am trying to make sure that I make it available in a way that is useful. A command as well as actual usage/requirements would help since the tracing data is slightly different between chip-tool and the tracing that we have out of the box in python.

Is this a cert blocker or a feature request?

I merged #28785 which should enable --trace-to json:<path> and --trace-to json:log output for both outgoing and incoming data frames for python ... finding out where to place these in command line arguments is what is needed though.
Could you give me a concrete example to try out (for example a color control test execution) so that I can provide what arguments have to be added to the test run (or if it does not work to actually fix it)?


Add client-supervior.crt and client-supervior.key to the rotation list

K3s tracking issue for:

https://github.com/rancher/rke2/issues/5652

Validated using latest commit id 3f906bee79cb32072bea061cbbf4e38142343c66 on master branch
Environment Details
Infrastructure
Cloud EC2 instance
Node(s) CPU architecture, OS, and Version:
cat /etc/os-release
NAME="SLES"
VERSION="15-SP5"
VERSION_ID="15.5"
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP5"

Cluster Configuration:
Single node
Config.yaml:
cat /etc/rancher/k3s/config,yaml
write-kubeconfig-mode: "0644"
cluster-init: true
secrets-encryption: true

Steps to reproduce the issue  and validate

Copy config.yaml
Install k3s
Check the certs in the tls dir and the backup dir

Replication results:
ec2-user@ip-172-31-9-108:~> k3s -v
k3s version v1.29.3+k3s1 (8aecc26b)
go version go1.21.8

ec2-user@ip-172-31-9-108:~> sudo diff -sr /var/lib/rancher/k3s/server/tls /var/lib/rancher/k3s/server/tls-1712865517 | grep -i identical |grep supervisor
Files /var/lib/rancher/k3s/server/tls/client-supervisor.crt and /var/lib/rancher/k3s/server/tls-1712865517/client-supervisor.crt are identical
Files /var/lib/rancher/k3s/server/tls/client-supervisor.key and /var/lib/rancher/k3s/server/tls-1712865517/client-supervisor.key are identical
ec2-user@ip-172-31-9-108:~> sudo ls -l /var/lib/rancher/k3s/server/tls|grep supervisor
-rw-r--r-- 1 root root 1181 Apr 11 19:57 client-supervisor.crt
-rw------- 1 root root  227 Apr 11 19:57 client-supervisor.key
ec2-user@ip-172-31-9-108:~> sudo ls -l /var/lib/rancher/k3s/server/tls-1712865517|grep supervisor
-rw-r--r-- 1 root root 1181 Apr 11 19:58 client-supervisor.crt
-rw------- 1 root root  227 Apr 11 19:58 client-supervisor.key

Validation results:
ec2-user@ip-172-31-2-226:~> k3s -v
k3s version v1.29.3+k3s-3f906bee (3f906bee)
go version go1.21.8

ec2-user@ip-172-31-2-226:~> sudo diff -sr /var/lib/rancher/k3s/server/tls /var/lib/rancher/k3s/server/tls-1712865631 | grep -i identical |grep supervisor
ec2-user@ip-172-31-2-226:~> sudo ls -l /var/lib/rancher/k3s/server/tls |grep supervisor
-rw-r--r-- 1 root root 1189 Apr 11 20:00 client-supervisor.crt
-rw------- 1 root root  227 Apr 11 20:00 client-supervisor.key
ec2-user@ip-172-31-2-226:~> sudo ls -l /var/lib/rancher/k3s/server/tls-1712865631 |grep supervisor
-rw-r--r-- 1 root root 1185 Apr 11 20:00 client-supervisor.crt
-rw------- 1 root root  227 Apr 11 20:00 client-supervisor.key


Label is ignored/incorrect in resource picker parameter (from JSON)

Hi,
I've followed the documentation: Create a JSON list resource parameter (Content source) to create a parameter of type Resource picker. The name of the parameter is Applications and the data comes from a JSON list with labels defined (content is the one from the example):
[
    { "value":"/subscriptions/<sub-id>/resourceGroups/<resource-group>/providers/<resource-type>/acmeauthentication", "label": "acmeauthentication", "selected":true, "group":"Acme Backend" },
    { "value":"/subscriptions/<sub-id>/resourceGroups/<resource-group>/providers/<resource-type>/acmeweb", "label": "acmeweb", "selected":false, "group":"Acme Frontend" }
]

In the next Resource parameter options section, the value for {Applications:label} is shown to be acmefrontend. However, all I get in the preview AND when used in a query is this: /subscriptions/<sub-id>/resourceGroups/<resource-group>/providers/<resource-type>/acmeauthentication

This query
traces
| where message == {Applications:label}

is translated to this:
traces
| where message == /subscriptions/<sub-id>/resourceGroups/<resource-group>/providers/<resource-type>/acmeauthentication

All works fine if the type is changed to Dropdown, however, for my workbook I really need the Resource picker type. This is incredibly frustrating..

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

ID: 8961ac12-6dfd-7ff9-373f-cd45d779122d
Version Independent ID: fdd7bf95-c008-744c-432a-1b38bc10cddb
Content: Azure Monitor workbook resource parameters - Azure Monitor
Content Source: articles/azure-monitor/visualize/workbooks-resources.md
Service: azure-monitor
Sub-service: visualizations
GitHub Login: @AbbyMSFT
Microsoft Alias: abbyweisberg

@johschmidt42
Thanks for your feedback! We will investigate and update as appropriate.

@johschmidt42 thank you for the feedback.
@AbbyMSFT, could you please review this and share your thoughts. Thank you

@johschmidt42, upon further review of the issue it appears that this is not primarily related to the doc. We use GitHub issues as the primary channel for customer and community feedback about the Azure documentation.
Could you please post this question on Microsoft Q&A, so that our technical community can review it and help with this issue.
Apologies for the inconvenience.


Fix margin auto with smaller parent lead to negative position

This PR fixes #978, where a smaller parent in combination with margin: auto on bigger children lead to a negative position.
Include tests to prevent future regressions.

@SidharthGuglani Which concerns from your side are in place to having this merged?

@jacobp100 I thought about this one more.
If the surfaces are wanting to use as a test for "big enough to be representative" already had margin: "auto" broken without someone noticing, we should probably just make this fix.

Yeah, I’d highly doubt anyone was relying on the incorrect behaviour. Would be really good to get this in - I’ve personally not used auto margins in RN since I hit this bug maybe 3 years ago?

Yeah, I’d highly doubt anyone was relying on the incorrect behaviour. Would be really good to get this in - I’ve personally not used auto margins in RN since I hit this bug maybe 3 years ago?

I finally got around to running the production A/B test on the Facebook app, for the fix for “auto” flexBasis, margin, etc no-oping in Fabric.
Turns out in that example, there were tens of millions of users who hit the code to parse the props that no-op, along with code relying on it which caused those users to see a 1% drop in an important e-commerce metric for us 🙃.
So… I think I’m going to go back to, as a rule, putting any behavior change behind an errata before we can prove it is not relied on in real world usage. Given enough code, it’s surprising what ends up showing up.

FYI @nicoburns, I know you had asked before what I meant when I said “run an experiment”, where I think you had interpreted it as running a lot of tests. This is an example of what I meant, where we turn something on for a percentage of users, and can measure how often a condition is hit and whether user behavior changes.

FYI @nicoburns, I know you had asked before what I meant when I said “run an experiment”, where I think you had interpreted it as running a lot of tests. This is an example of what I meant, where we turn something on for a percentage of users in very large apps with many users, and can measure how often a condition is hit and whether user behavior changes.

Hmm... interesting. I think that does give me a better idea of what "run an experiment" means. I think I had imagined these apps having relatively comprehensive e2e tests, and "run an experiment" would consist of running those rather than enabling the code for production users. I wonder if it would be possible to use a similar mechanism to surface future compatibility warnings to the owners of the affected apps, such that the "errata" could be removed after a certain grace period has elapsed?
(although I would still personally take a "freeze and fork" approach to developing a new version of the algorithm which would avoid this problem entirely as existing conservative users can just stick with the frozen version, and after an initial "experimental" period while it catches up with web implementations, the forked version can piggyback on browsers' web compatibility testing).

mechanism to surface future compatibility warnings to the owners of the affected apps, such that the "errata" could be removed after a certain grace period has elapsed?

That’s the rough plan. I have many more details in https://github.com/facebook/yoga/issues/1247


FR: Make auto-gen avatar representative of all users

I noticed that the system automatically generates avatars for all users using the male sprites from the dicebear avatars, these were added in eb6667505c01d476ef3d151b1c5dcb51ce697ea4. While this is useful in graphically identifying users, I think in its current form it is somewhat problematic, since these avatars do not represent all possible users of the tool.
I'd propose one of the following two solutions:

Switch to the human sprites of the same theme, these sprites combine both female and male avatars to create a more complete representation. This still has the downside that the gender of the generated avatar will often not correspond to the gender of the user.
Switch to one of the more abstract avatar packs, for example identicons or robot like avatars. I think this is the best solution, since it avoids unnecessarily gendering your users in their avatar. This way you can not get the gender wrong, also for people who identify as non-binary.

I hope you will take this issue into consideration, please let me know what you think :)

@wiki-user thank you, that's wonderful. I actually have the same question with you. I asked this question to dicebear and didn't get a response. At the time only male was available. Now that you point to me there are other options, I am going to switch to them, thank you!

@wiki-user DiceBear new version and human/identicon/robot still not working, filed https://github.com/DiceBear/avatars/issues/49
I will switch immediately when there is a good alternative. Stay tuned

I asked this question to dicebear and didn't get a response.

We are very sorry, if we missed a question. What exactly is the question?
It is important that always the same versions are used for @dicebear/avatars and the sprite collections.
Also note the slightly modified API since version 4.0.0

We are very sorry, if we missed a question. What exactly is the question?

@FlorianKoerner thank you for joining the discussion. I remember a while ago (5month~ish) when I first add avatar, I asked somewhere I couldn't find about DiceBear at the time did not support both men and women in its random avatar.

Also note the slightly modified API since version 4.0.0

Oh, ok let me try

I remember. Then a new collection called "human" was added. See:
https://github.com/DiceBear/avatars/issues/31
I had made a merge request for the code adjustments. See: #165

Closed by #165


Correction for raw affiliation , Regards croisés sur le droit social,

Correction needed for raw affiliation , Regards croisés sur le droit social,
raw_affiliation_name: , Regards croisés sur le droit social,
new_rors:
previous_rors: 014nzh720
works_examples: W4365454022
contact: 577a1e5587280b35c6d9e7ceaeda7e60:613a3a82cd37cc07fd2fa3d2edab30 @ univ-nantes.fr

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


Extracting content inside the bounding boxes

How can I crop the content inside the bounding boxes of each type?
I want to use the mask and crop the content on the real image to extract this text.

Hello @talalz94 , I am not sure if I got your issue correctly.
Did you mean how to crop the BBox region? Or that you want to perform OCR and extract the text that lies within that BBox?
Kindly clarify.

Yes, for e.g I will run the SWT algorithm to extract the text from the boxes like the image below:

Then I will run the OCR on the individual text fields that are extracted rather than the whole document because OCRs work well for structured lines of texts and not when text fields are randomly placed.

Ohh ok, well once you have the coordinates of the BBox you can use any image library such as opencv or PIL to crop that very specific portion of the image, and then send it off to an OCR engine/service for text extraction.
As of now SWTLoc doesn't include cropping function, but once you have your BBox coordinates that won't be that hard to do (just google how to). I may include this feature in the next release 🙂

Hello @talalz94 , SWTLoc v2.0.0 now has the saveCrop feature which allows you to generate crops of the input image.
In v2.0.0,
For Transforming the input image :
!pip install swtloc
from swtloc import SWTLocalizer

imgpath = rawimage_path+'issue14/issue14.png' # Image Path
respath = rawimage_path+'issue14/results/' # Results Folder Path
swtl = SWTLocalizer(image_paths=imgpath)
swtImgObj = swtl.swtimages[0]
# Stroke Width Transform
swt_mat = swtImgObj.transformImage(text_mode='lb_df',
                                   minimum_stroke_width=2, maximum_stroke_width=20,
                                   maximum_angle_deviation=np.pi/4,
                                   gaussian_blurr_kernel=(7, 7),
                                   include_edges_in_swt=True)

For Localizing Letters :
# Localize Letters
localized_letters = swtImgObj.localizeLetters(maximum_pixels_per_cc=5_000,
                                                acceptable_aspect_ratio=0.22,
                                                localize_by='min_bbox')

For Localizing Words:
# Localize Words
localized_words = swtImgObj.localizeWords(localize_by='bbox')

For Saving Crops:
from swtloc.configs import (IMAGE_SWT_TRANSFORMED,
                            IMAGE_ORIGINAL)

word_iterator = swtImgObj.wordIterator(localize_by='bbox')  # Returns a generator over all the localized words
word, _, _ = next(word_iterator)   # Keep iterating over a word to find the word of interest
word_label = word.label

swtImgObj.saveCrop(save_path=respath, crop_of='words', crop_key=word_label,
                   crop_on=IMAGE_SWT_TRANSFORMED, crop_type='bubble')
swtImgObj.saveCrop(save_path=respath, crop_of='words', crop_key=word_label,
                   crop_on=IMAGE_ORIGINAL, crop_type='bbox')

These are some of the crops so generated :

For more details on v2.0.0, have a look at : Usage Notebook

With the last comment, I am closing this issue. Feel free to re-open this issue should you stumble upon some other issue :)


Backup does not include the latest preview file

Describe the bug
The backup contains the minimal possible data store, but the preview file under each watch directory is missing.
When the web page changes (md5 changed), it cannot find the corresponding last change preview file, and thus the diff cannot be performed. Which cause the change notification cannot to be sent out.
$ tree
.
├── 206ff6aa-0bb3-448f-9197-83bec8770eb0
│   └── history.txt
├── secret.txt
├── url-list.txt
├── url-list-with-tags.txt
└── url-watches.json

# The preview file f170179b-43a8-434d-9e4f-defca84c44a8 is not included in the backup
$ cat 206ff6aa-0bb3-448f-9197-83bec8770eb0/history.txt
1666427158,/datastore/206ff6aa-0bb3-448f-9197-83bec8770eb0/f170179b-43a8-434d-9e4f-defca84c44a8

Version
v<IP_ADDRESS>
To Reproduce
Steps to reproduce the behavior:

docker-compose up a new pod
Setup global notification
Watch the "http://www.quotationspage.com/random.php" with default settings
Wait for the initial check to be done
Backup
docker-compose down the pod
docker-compose up a new pod, but using the backup as data store source (the latest preview file in the watch dir is missing)
Recheck the page manually
Web page changed, but the last preview file is not found in the backup data store.
The web UI prompted the previous change file cannot be found (No such file or directory)
Diff cannot be performed and the notification cannot be sent out.

If we check again, we can get the diff and notification, but we still missed the initial change diff and notification.
Expected behavior
The backup should include the latest preview file (to minimize the backup; full preview files are also acceptable) so that next time the web page got changed, we can get an exact diff, and the notification can be sent out.
I believe the current implementation will include the history.txt file solely, all preview records will be included inside the file, but the actually preview files are missing.
Screenshots
TBD.
Desktop (please complete the following information):

OS: Ubuntu 22.04 LTS
Browser: Chrome
Version: 107.0.5304.87 (Official Build) (64-bit)

Preview the watch right after step 7

Preview the watch right after step 8

fixed in https://github.com/dgtlmoon/changedetection.io/commit/72834a42fd1be52a9502b49ae6c5cba8880e350e :) waiting on new version release

Glad to hear, how long it will take for the next release version?

@leiless should be available now :) please update, let me know if this solves the problem

I'm using tag <IP_ADDRESS> now, the problem has been resolved.
The history.txt now using relative paths.
$ tree backup
backup
├── 600ed413-e0b7-426e-aba9-6dd8d9a876da
│   ├── 5ba8989e-a56a-41ec-bbf7-ae12e9aa5ab1.txt
│   └── history.txt
├── a9e6d212-b081-4555-9cf0-08f44b16db01
│   ├── 72e831c8-6327-4aa2-9ad1-21e3da4d5e98.txt
│   └── history.txt
├── secret.txt
├── url-list.txt
├── url-list-with-tags.txt
└── url-watches.json

2 directories, 8 files


Function seems to be imported from nowhere

Hi, I found this line of code:
        csv_file = os.path.join(folder_path, f'{version}', kg_evaluation_filename_format.format(publication_no=publication_no))

Line 112, in create_KG_evaluation_csv.py
Seems like the kg_evaluation_filename_format was imported from nowhere, does it affect anything?

@thanhchauns2 kg_evaluation_filename_format was initialized in line 103 in create_KG_evaluation_csv.py


Remove GetAllLocksets (unused) and fix typo in GarnetServerMonitor

Removing dead code and fixing a typo in the GarnetServerMonitor.

Even though GetAllLocksets is unused, it is a very useful tool/method used to debug issues with locking. Is there a good reason to get rid of it? If not, it would be better to retain it.


Set CREATE_BREAKAWAY_FROM_JOB flag for job container processes

We don't want to inherit the job object of whatever process is running the job container code (the containerd-shim
generally but this would apply for any process). Set the CREATE_BREAKAWAY_FROM_JOB flag on job container processes
to prevent this from happening. The job object itself will also need to have the JOB_OBJECT_LIMIT_BREAKAWAY_OK limit
set for this to take affect.
Signed-off-by: Daniel Canter<EMAIL_ADDRESS>

@kevpar


Add publish make targets for mqtt

This commit adds the publish-service, publish-service-overwrite, publish-all-services, and publish-all-services-overwrite make targets. The latter two targets publish for all architectures. I changed the ARCH assignment to use Lazy set if absent so we could use the publish-service and publish-service-overwrite targets for the publish-all-services* targets, DRYing up the code a bit. These new targets are based on make targets in the v1 branch of achatina as well as current services repo.
Tested that all make targets function properly.
Signed-off-by: Clement Ng<EMAIL_ADDRESS>

Superseded by #14


sntp_getserver retrieves blank ip with DNS (IDFGH-1914)

https://github.com/espressif/esp-idf/issues/3756
Environment

Development Kit:  ESP32-Wrover-Kit
Kit version (for WroverKit/PicoKit/DevKitC): v1
Module or chip used:  ESP32-WROOM-32
IDF version (run git describe --tags to find it):
v4.0-beta1-134-gef17d8bba
Build System:         CMake
Compiler version (run xtensa-esp32-elf-gcc --version to find it):
1.22.0-80-g6c4433a
Operating System:    macOS

Problem Description
SNTP does not retrieve an IP address.
This was fixed in https://github.com/espressif/esp-idf/commit/fa02598b5c978402c1013b22ca81919beded97f3 but forgotten to be backported to release/v4.0
The commit title says it was meant to be for 4.0, but the merge happened to 4.1 (see: https://github.com/espressif/esp-idf/commit/fa02598b5c978402c1013b22ca81919beded97f3)

@sieren Thanks for reporting, we will look into. Thanks,

Hi @sieren!
I have checked the behavior of sntp_getserver(0) should return valid ip on v4.0. It works as expected. I think your branch was not updated whole (See updating-to-a-release-branch). Please run git submodule update --init --recursive.
(To fix this issue we updated the lwip submodule).

@KonstantinKondrashov youre right, it's on the current lwip. However I'm still running into the same issue.
namespace ntp
{

  NTPSync::NTPSync(const std::string timeZone) :
    mTimeZone(timeZone)
  {
    initialize_sntp();
  }

  void NTPSync::syncTime()
  {
    time_t now;
    struct tm timeinfo;
    time(&now);
    localtime_r(&now, &timeinfo);

    obtain_time();
    // update 'now' variable with current time
    time(&now);

    char strftime_buf[64];
    setenv("TZ", mTimeZone.c_str(), 1);
    tzset();
    localtime_r(&now, &timeinfo);
    strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
  }
} // namespace ntp

static void obtain_time(void)
{
    // wait for time to be set
    time_t now = 0;
    struct tm timeinfo = { };
    int retry = 0;
    const int retry_count = 10;
    while (sntp_get_sync_status() == SNTP_SYNC_STATUS_RESET && ++retry < retry_count) {
        ESP_LOGI(TAG, "Waiting for system time to be set... (%d/%d)", retry, retry_count);
        const ip_addr_t*ip = sntp_getserver(0);
        printf("SNTP Server IP: %s\n", ipaddr_ntoa(ip));
        vTaskDelay(2000 / portTICK_PERIOD_MS);
    }
    time(&now);
    localtime_r(&now, &timeinfo);
}

static void time_sync_notification_cb(struct timeval *tv)
{
    ESP_LOGI(TAG, "Notification of a time synchronization event");
}

static void initialize_sntp(void)
{
    ESP_LOGI(TAG, "Initializing SNTP");
    sntp_setoperatingmode(SNTP_OPMODE_POLL);
    char serverName[] = "pool.ntp.org"; // Should be const, blame the sntp API.
    sntp_set_time_sync_notification_cb(time_sync_notification_cb);
    sntp_setservername(0, serverName);
    sntp_init();
}```

The code in question is pretty much the one taken from https://github.com/espressif/esp-idf/blob/master/examples/protocols/sntp/main/sntp_example_main.c but wrapped in C++.

I (5304) tcpip_adapter: sta ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (5305) wifi station: got ip:<IP_ADDRESS>
I (5307) NTP: Waiting for system time to be set... (1/10)
SNTP Server IP: <IP_ADDRESS>
I (7313) NTP: Waiting for system time to be set... (2/10)
SNTP Server IP: <IP_ADDRESS>
I (9313) NTP: Waiting for system time to be set... (3/10)
SNTP Server IP: <IP_ADDRESS>
I (11313) NTP: Waiting for system time to be set... (4/10)
...```

@sieren
Probably you have to use sntp_getserver(0) after updated of time.
My test - [test_sntp_getserver.zip] (https://github.com/espressif/esp-idf/files/3651007/test_sntp_getserver.zip) - patch for sntp example.
Can you use sntp_getserver (0) after getting the time? What is the purpose to get this in a loop?

Can you use like this?
static void obtain_time(void)
{
    // wait for time to be set
    time_t now = 0;
    struct tm timeinfo = { };
    int retry = 0;
    const int retry_count = 10;
    while (sntp_get_sync_status() == SNTP_SYNC_STATUS_RESET && ++retry < retry_count) {
        ESP_LOGI(TAG, "Waiting for system time to be set... (%d/%d)", retry, retry_count);
        vTaskDelay(2000 / portTICK_PERIOD_MS);
    }
    time(&now);
    localtime_r(&now, &timeinfo);

    // get ip after that loop
    const ip_addr_t*ip = sntp_getserver(0);
    printf("SNTP Server IP: %s\n", ipaddr_ntoa(ip));
}

Thanks for the assistance. The example shipped with ESP-IDF works for me, so I suppose the culprit is somewhere in my code or sdkconfig. I'll keep on digging and will close this.

The issue was
     char serverName[] = "pool.ntp.org";
    sntp_set_time_sync_notification_cb(time_sync_notification_cb);
    sntp_setservername(0, serverName);

serverName probably goes out of scope and the sntp client only holds a reference.
-    char serverName[] = "pool.ntp.org"; // Should be const, blame the sntp API.
-    sntp_setservername(0, serverName);
+    sntp_setservername(0, "pool.ntp.org");

was the fix.


Sa 02 functional

Codecov Report

Merging #39 (9f5fbf8) into main (22af091) will increase coverage by 4.86%.
The diff coverage is 83.58%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main      #39      +/-   ##
============================================
+ Coverage     80.06%   84.93%   +4.86%
+ Complexity      185      174      -11
============================================
  Files            18       17       -1
  Lines           597      551      -46
  Branches        113      119       +6
============================================
- Hits            478      468      -10
+ Misses           54       14      -40
- Partials         65       69       +4

Impacted Files
Coverage Δ

...ller/controllerComponent/ControllerInterface.scala
33.33% <ø> (ø)

...lerComponent/controllerBaseImpl/ChessCommand.scala
78.26% <35.71%> (ø)

...wg/se/chess/model/gameDataComponent/GameData.scala
66.66% <50.00%> (ø)

...n/scala/de/htwg/se/chess/util/CommandInvoker.scala
76.47% <60.00%> (+8.04%)
:arrow_up:

...ain/scala/de/htwg/se/chess/util/ChainHandler.scala
60.00% <63.63%> (-10.59%)
:arrow_down:

src/main/scala/de/htwg/se/chess/model/Piece.scala
80.00% <66.66%> (+3.33%)
:arrow_up:

.../chess/model/fileIOComponent/FileIOInterface.scala
66.66% <66.66%> (+66.66%)
:arrow_up:

src/main/scala/de/htwg/se/chess/model/Tile.scala
92.59% <75.00%> (-0.27%)
:arrow_down:

...ameDataComponent/gameDataBaseImpl/ChessBoard.scala
61.53% <76.47%> (+7.37%)
:arrow_up:

...ollerComponent/controllerBaseImpl/Controller.scala
94.11% <83.33%> (ø)

... and 6 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Float precision loss

When ever we do:
[JavaLangFloat valueOfWithNSString:"0.5"]
I inspect the float generated in XCode. The NSNumber behind float is 0.5
[JavaLangFloat valueOfWithNSString:"0.3"]
I inspect the float generated in XCode. The NSNumber behind float is 0.3000002
The floats are losing precision. Is this expected behavior

j2objc uses the same floating point support as Android and OpenJDK: sun.misc.FloatingDecimal. This ensures that Java parsing behaves the same across platforms. That doesn't mean it's identical to how NSNumber defines floating point, as there are subtle differences.
If you need the Java definition of floating point, use java.lang.Float and Double; but if you need the iOS definition, use NSNumber.