Rendered OSX label font sizes on diagrams differ from Windows/Linux

Version of Archi
4.7.1
Operating System
OSX 10.15.5, Windows 10, Ubuntu Linux 20
Expected Behaviour
Rendering across platforms should be (mostly) similar especially in terms of layout
Actual Behaviour
Sorry for another rendering issue, I basically want to check if my observation is normal or may be it is just a local problem.
I am running Archi on OSX (macbook pro retina or external 1080p display) and Windows 10 and I am suffering from portability of my diagrams due to very different font size rendering on my Mac and my Windows box. Basically the OSX fonts for labels (I am using Segoe UI regular 9 on both environments) in diagrams seem to be rendered much smaller than on windows and linux (checked on Ubuntu). Many of my diagrams created on OSX look awful on Windows because the labels do not fit into the bounding boxes of diagram objects.
Steps to Reproduce the Behaviour
I am attaching a screenshot showing same diagrams on three different platforms. Object sizes was 110x62 px, font used is Segoe regular in different sizes. As shown OSX font sizes seem to by size 2-3 smaller than the ones on Windows and Linux (I tried to highlight this with the red arrows in the picture).
What I would first like to check is if this is a "normal" issue due to the behaviour of the different platforms or something cause by my OSX config.

Yes, it's due to Mac having different DPI (72 not 96). The font information is saved with the font height in the model file but rendered differently on Mac.
Not sure how to work around this.

Not sure how to work around this.

I have to have a look at this. I thing we might have to define "Archi's DPI" and not rely on OS's DPI. I'll investigate...

Thanks for looking into it. I was playing a bit around with the code and it looks like there is already an adjustment for windows. Using the same for Mac resolves the issue for me. I just modified the respective code in AbstractDiagramModelObjectFigure and AbstractDiagramConnectionFigure and FontFactory.getAdjustedWindowsFont to do the adjustment also for Mac:
(code snipped for AbstractDiagramModelObjectFigure)
 public void setFont(Font f) {
        if(PlatformUtils.isWindows() || PlatformUtils.isMac()) {
           f = FontFactory.getAdjustedWindowsFont(f);
       }
        super.setFont(f);    }
Wouldn't that be a proper workaround or would that have other side effects I do not see ?

It would mean that Mac users would now see all fonts larger compared with the same font in another app. "Lucida Grande 12" in Archi would look more like Lucida Grande 15 in another app.

I cannot speak for other users but I would definitely prefer this over portability issues with diagrams. Especially since eclipse anyway never feels like other native OSX apps. Furthermore, wouldn't the same apply already for windows users with custom font DPI settings ?
If I get @jbsarrodie right this would also get into his direction of thought like having an Archi DPI over OS DPI. May be as a mitigation to the issue you mention it could be made configurable via a preference to give the user a choice ?

I disagree. If a user sets a font to Arial 12 the user expects to see Arial 12 on that system. If they now see a bigger font then they are not seeing Arial 12, they are seeing something like Arial 15. This would have huge impact on existing Mac models and would be an unwelcome surprise to Mac users! As a Mac user myself I would be confused, I would be saying "hang on, this isn't Arial 12!"
BTW - the same happens with other apps. If I have a MS Excel sheet using Arial 12 font it will appear smaller on Mac than on Windows.
BTW 2 - imagine the other way around setting all fonts to 72 DPI - all Windows users now start seeing smaller fonts.

Ok, I see you are at the other end of the preferences :-) I think it still would be great to have the choice to have better portability vs. native font size accuracy. It is currently very difficult to share diagrams in a team which uses a mix of OS platforms- (un)fortunately this is a "trend" in IT organisations. Especially now having new working models with more home office etc. in place.
Regarding excel you are completely right, the only difference is that it also preserves the overall layout of the column ie. if a string on OSX fits into a column it also fits later on Windows.

I agree about portability but where it falls down is having set one font size but actually showing another. Apps that take the different DPI into account are displaying the font at its proper size but are adjusting the the size of the UI objects to match (like Excel)

Thinking out loud...

Store the font height as font height * system DPI
When loading font height from model file, divide the height by system DPI

Example:

Windows user sets font to Arial 12. Font height is stored as 12 * 96 = 1152

Windows user loads model. Font = 1152 / 96 = 12

Mac user loads model. Font = 1152 / 72 = 16

Mac user sets font to Arial 12. Font height is stored as 12 * 72 = 864

Mac user loads model. Font = 864 / 72 = 12

Windows user loads model. Font = 864 / 96 = 9

Thinking out loud...

Same...

If a user sets a font to Arial 12 the user expects to see Arial 12 on that system

I tend to disagree. In fact font size only makes sense when printing a document because at the end it is based on physical paper size (1pt is 1/72 inch) and doesn't make sense anymore on modern OS because what we produce is shown on screen but DPI is not always related to the real physical size of the screen. Same font size on different applications on the same OS don't always look the same. I did lots of tests when we were working on the zoom issue and even on windows, Arial 12 doesn't have the same "screen" size on Word, Excel, Archi, Chrome...
The only important thing related to font is that they appear the same on the same application, whatever the OS. If I write a letter on Word under Windows, then I expect this letter to look the same on MacOS.

If they now see a bigger font [...]. This would have huge impact on existing Mac models and would be an unwelcome surprise to Mac users!

For me that's the only real issue, and this is about not being disruptive for existing models. But this doesn't mean we can't change anything.

I agree about portability but I don't think we should allow the user to set one font size but display a different font size, this would be confusing.

What is confusing is that the overall layout (text and figure) is not preserved: If I choose a specific font size for my text to fit without wordwrapping, I expect this to be the same on all OS.
I think that we should either set an arbitrary DPI for Archi itself (easy), or figure size should also be expressed in pt and zoomed according to OS DPI (not easy).

Store the font height as font height * system DPI
When loading font height from model file, divide the height by system DPI

I think that's a good solution, maybe the best. This would allow people to "see" font size like they are used to on other applications (even if this doesn't really make sense), and keep the overall diagram layout consistent across OS.
We just need to be careful and make sure that people working on the same model with different versions of Archi still see the same thing, or else "migrating" the model would be a one way operation.

We just need to be careful and make sure that people working on the same model with different versions of Archi still see the same thing, or else "migrating" the model would be a one way operation.

There would be migration and backwards-compatible issues for sure.
Possible:

Save a Feature as <feature name="dpi" value="72"> for the object
If present do the calculation

The next time we have an Archi UI sprint we might consider this.

I'm investigating a bit more on these font rendering discrepancies between OS.
FWIW, On my MacBook Pro running Ventura, most applications tend to render fonts the same way, but there's one exception: Outlook. Outlook tend to show the font bigger and it even seems to me the scaling factor is 96/72 (ie based on the DPI of Windows and MacOS). More than that: funny things happen if I copy some text from some app (e.g. TextEdit) and paste it into Outlook: the size on the screen stays the same, but the font size is changed to make this happen (e.g. what's set as 16pt in TextEdit becomes 12ps in Outlook). Reverse is true too (copying from Outlook and pasting in TextEdit keep the visual size but the font point number is increased).
So one can conclude that Outlook uses its own DPI settings which is 72, shows text using this setting, and does the conversion depending on the OS it runs on when copying/pasting to/from other apps.

I hit this when handing off of a diagram that used a custom font. It was modeled on a mac, but when moving to windows, font sizing was way off. It makes the diagram unusable without a jarchi script to reduce the font sizing by 20-30%.
Mac OS - Font Size 13

Windows OS - Font Size 13

@jbsarrodie I think I might have a solution. At least what I've implemented works...
When a user sets a font in Archi, Eclipse SWT creates a FontData string which is different for each platform:
Mac - 1|Times New Roman|13.0|0|COCOA|1|TimesNewRomanPSMT
Windows - 1|Times New Roman|10.125|0|WINDOWS|1|-27|0|0|0|400|0|0|0|0|3|2|1|18|Times New Roman
Linux - 1|Sans|12.0|0|GTK|1|
So there is a platform name in the string - |COCOA|, |WINDOWS| or |GTK| and from this we know on what platform the user set the font.
So all we have to do when rendering the font is look for this platform name and...

If we are on Mac and the string contains |WINDOWS| or |GTK| then scale the font height by 96 / 72
If we are on Windows or Linux and the string contains |COCOA| then scale the font height by 72 / 96

And we can display the new font height in the Font Chooser widget in Properties. For example, if we are on Windows and the font has been created on Mac with a height of 13 then we see 10 in the font chooser which is the effective height. Conversely, if we are on Mac and the font has been created on Windows with a height of 10 then we see 13 in the font chooser.
I think I will implement this for Archi 5.4 beta with an option to turn it off in Preferences.

Here's some screenshots of before and after using the same model on Windows and Mac
Present state
Windows:

Mac:

With the new fix
Windows:

Mac:

I will gladly test this on windows/Mac as soon as it is available. I have some views that I constructed to verify the font size test cases.
One test I have is to export the view as image to compare the resulting image size (in pixels) across platforms. If this works, I would expect those to be much closer than they are today.
Do you see similar exported images sizes with your test? Vs before?
Looks very promising.
Scott Griffith

Do you see similar exported images sizes with your test? Vs before?

The screenshots above are exported images.

Thx. I downloaded each image above and the EXIF dimensions are all the same before and after between platforms. I don't have same results. my Mac vs win result in different image geometry in current version

Thx. I downloaded each image above and the EXIF dimensions are all the same before and after between platforms. I don't have same results. my Mac vs win result in different image geometry in current version

The exported image size has nothing to do with the font height (this issue) or the platform. The image size depends on the host's scaling and native DPI. Mac is typically 2x scale because it uses a retina display. Windows image size will depend on the monitor device settings.

The workaround/fix/adjustment is now in Archi 5.4.0 beta 7. See https://forum.archimatetool.com/index.php?topic=1541.msg7969#msg7969

I did some 5.4 beta 7 interop testing of visual quality between Mac/Windows.  My test case and observations are included in this image and in the attached model.  It is worth noting that I started with the 4 notes in upper left as my baseline.  Test case on it's own view to test exporting.  Then passed it back and forth between mac -> win -> mac -> win... and so on while recording results.

I also included my basic model below for others to observe and record their findings.
Conclusion:

when an element specifically has a specified font (different than the Archi default display font for views), the beta7 code works well in resizing the fonts within the element.  When using the defaults (and the defaults are aligned between mac/windows... Say Verdana 12, this solution does not seem to scale the font as thought.  This take us back to the original observation of font/size on platform 1 does not equal font/size on platform 2 due to DPI differences.

I also made some observations about image export dimensions and resolution.  I had assumed that "export images at double scale" would double their effective resolution but it seems to only change their dimensions and the original data is scaled up causing pixelization.  Not sure if that is the intent.  Am I interpreting this correctly?

Thanks for considering my results here and hope it helps validate your assumptions.
My concern about this approach is... If we set a standard internally that headings are Arial 24 and body text is Arial 12, then the scaling function will result in fonts settings that don't meet our standard.  I am guessing others would see this and potentially change the elments to the standard on a different platform (which would be wasted effort as it would just be adjusted again on the other platform).  So.. I could live with it but it would take some explaining internally.
thanks for all your efforts here.
Archi - 5.4 Beta 7 Test Results.archimate.zip

Thanks for the feedback.

when an element specifically has a specified font (different than the Archi default display font for views), the beta7 code works well in resizing the fonts within the element.

That's the only case where this new feature works. See https://github.com/archimatetool/archi/issues/655#issuecomment-2286508281

When using the defaults (and the defaults are aligned between mac/windows... Say Verdana 12, this solution does not seem to scale the font as thought.

That's right, because we're back to the original problem. Internally the font is not stored and so the font that is used is the one you set. In this case nothing is stored in the model file to say what the font is or on what platform it was set. When the model is loaded it uses that font without any adjustment, Ideally you'd set the default to be different on each platform to compensate. That's why the default font on Windows is "Segoe UI 9" and on Mac is "Lucida Grande 12".

I also made some observations about image export dimensions and resolution....

If you are using a hi-dpi monitor (2x retina for example) images need to exported with the double scaling set on as the monitor is used to render on.
The root issue here is that diagrams use pixels while fonts use points. This is a problem inherent in the Eclipse frameworks used and can be seen on other tools that use these frameworks (Modelio, Sirius, etc).

There is actually a "solution" to this problem and we discussed it in earlier comments in this thread - set the de facto DPI to 96 and adjust font size on all cases based on that. So the formula is:
If platform DPI != 96 then multiply font height by 96/DPI
(In fact we already do this on Windows when scaling is set to 125%, 150% or 175% and the DPI is not 96 but 120, 144, 168.)
The fonts will look the same size on all platforms and the only impact would be on Mac. A caveat is the comment I made here:

It would mean that Mac users would now see all fonts larger compared with the same font in another app. "Lucida Grande 12" in Archi would look more like Lucida Grande 15 in another app.

And the biggest issue is backward compatibility for Mac users as fonts would now appear bigger so you'd have to set the default font to something like Lucida Grande 9 instead of 12 and probably adjust existing font sizes to be smaller.
In fact you can try this now:

If you are using Archi 5.4. beta 7 make sure to turn off the new setting "Adjust font height for each platform", otherwise use Archi 5.3.
On the Mac version of Archi ensure Arch is not running and edit the file Archi.app/Contents/Eclipse/Archi.ini (right click on the Archi app to "Show Package Contents" to get to this file)
Add this line to the end of the Archi.ini file and save it:
-Dcom.archimatetool.adjustFontSize=true
Launch Archi

And:

Set the default font on Windows and Mac versions to the same, say Arial 10.
Create a model on Windows and set fonts for objects as required
Open the same model on Mac and compare font sizes

As I said, the big issue is managing backward compatibility for existing models on Mac, because all fonts will now appear bigger.

I'll do some testing on the above approach and see if this works for us.
Pixels vs points. This whole topic seems like a chapter right out of Flatland by Edwin Abbott.
Thanks for your detailed response.

Having spent more time experimenting with font scaling I've come to the conclusion that the implementation in Archi 5.4 beta 7 is not the ideal solution for the reasons mentioned in https://github.com/archimatetool/archi/issues/655#issuecomment-2294508841 and because of other issues.
I think what works is what was already proposed in https://github.com/archimatetool/archi/issues/655#issuecomment-665574505 (and what some users are already using by setting the property -Dcom.archimatetool.adjustFontSize=true)
I have a build of Archi 5.4 that adds a new preference on Mac - "Scale fonts on Mac". This is effectively the same as the com.archimatetool.adjustFontSize property but exposed in Archi's Preferences. The default is "off". If set to "on" then fonts are scaled on Mac as we do already on Windows if the display scaling and DPI is not 96. Also, if this is set to on the default View font on Mac is "Lucida Grande 9" instead of "Lucida Grande 12" to compensate (the user will have to manually click the "Default" button in Preferences, Appearance, Fonts, Diagram Objects and Connections.)
If this is implemented the main problem is backward compatibility on existing models. By making the default preference "off" font scaling on Mac is opt-in, but it doesn't solve the problem of how to handle Views that have been created on Mac with the old font scaling.

The new implementation is now in Archi 5.4 beta 8. See here for more details.

The new implementation is now in Archi 5.4.


Create 0000-01-02-BenIsTrying.md

this a pull request to compare the differences between this branch and the main branch.


Missing License

Am I right to assume this is also released under the Apache 2.0 license?

I added it.
Feel free to take the code - I will not do anything further with it. This is more a gist than anything else.


refactor(windows): start logging sooner, add more logs for wintun.dll setup

This ended up being redundant since I'm trying to solve it another way in #3430


AbstractMethodError: ResponseParserRegistrar.getProperty since RestAssured 4.3.0

Problem with RestAssured 4.3.0.
OK with 4.2.0 and 4.1.1.
I get java.lang.AbstractMethodError: io.restassured.internal.ResponseParserRegistrar.getProperty(Ljava/lang/String;)Ljava/lang/Object; errors on every call to RestAssured.get(...), RestAssured.given(), etc:
java.lang.AbstractMethodError: io.restassured.internal.ResponseParserRegistrar.getProperty(Ljava/lang/String;)Ljava/lang/Object;
	at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:309)
	at io.restassured.internal.ResponseParserRegistrar.<init>(ResponseParserRegistrar.groovy:44)
	at io.restassured.RestAssured.createTestSpecification(RestAssured.java:1448)
	at io.restassured.RestAssured.given(RestAssured.java:653)
	at io.restassured.RestAssured.get(RestAssured.java:720)

Sample project: https://github.com/jonathanlermitage/spring-mvc-tiny-sample -> change rest-assured.version from 4.1.1 to 4.3.0 in pom.xml, then run mvn verify.
Tested with jdk8 and jdk11 on Windows 10 x64.
Edit 2020-04-22: my bad, I was still using Groovy 2 dependency (picked from Spring Boot bom). Forcing Groovy 3 fixed the issue for me. So, I think this issue is not related to RestAssured, I simply should have checked my dependencies tree, sorry.

@johanhaleby I am also experiencing same issue after upgrading version from 3.3.0 to 4.3.0

Same problem after upgrading from 4.2.0 to 4.3.0 on jdk 11 with given() method

For some reason when you look at source code of version 4.2.0
There is getProperty
But in 4.3.0 there is no such thing
I can't find reflecting change when comparing those releases

I suspect that it's due to the update of Groovy. Is the stacktrace the same for everyone?
java.lang.AbstractMethodError: io.restassured.internal.ResponseParserRegistrar.getProperty(Ljava/lang/String;)Ljava/lang/Object;
	at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:309)
	at io.restassured.internal.ResponseParserRegistrar.<init>(ResponseParserRegistrar.groovy:44)
	at io.restassured.RestAssured.createTestSpecification(RestAssured.java:1448)
	at io.restassured.RestAssured.given(RestAssured.java:653)
	at io.restassured.RestAssured.get(RestAssured.java:720)

Finally, it may be a problem with transitive dependencies.
If I run mvn dependency:tree | grep groovy on a Spring Boot 2.2.6, I still see Groovy 2.5.10.
Forcing any Groovy transitive (groovy, groovy-xml...) version to 3.0.2 fixed the issue for me.

@johanhaleby yes, the stack trace is same .

I rewrote the entire class from Groovy to Java but now I get another error. It seems really strange, maybe it has something todo with JUnit 5? Or a bug in groovy.

@johanhaleby are you sure to use Groovy 3? Could you show a project/code sample?

@jonathanlermitage No I'm not sure, but I suspect it when I run the https://github.com/jonathanlermitage/spring-mvc-tiny-sample  project.

HMmm! When I run mvn dependency:tree in the root of the https://github.com/jonathanlermitage/spring-mvc-tiny-sample project I get this:
...
\- io.rest-assured:rest-assured:jar:4.3.1-SNAPSHOT:test
[INFO]    +- org.codehaus.groovy:groovy:jar:2.5.9:test
[INFO]    +- org.codehaus.groovy:groovy-xml:jar:2.5.9:test
[INFO]    +- org.apache.httpcomponents:httpclient:jar:4.5.10:test
[INFO]    |  +- org.apache.httpcomponents:httpcore:jar:4.4.13:test
[INFO]    |  \- commons-codec:commons-codec:jar:1.13:test
[INFO]    +- org.apache.httpcomponents:httpmime:jar:4.5.10:test
[INFO]    +- org.ccil.cowan.tagsoup:tagsoup:jar:1.2.1:test
[INFO]    +- io.rest-assured:json-path:jar:4.3.1-SNAPSHOT:test
[INFO]    |  +- org.codehaus.groovy:groovy-json:jar:2.5.9:test
[INFO]    |  \- io.rest-assured:rest-assured-common:jar:4.3.1-SNAPSHOT:test
[INFO]    \- io.rest-assured:xml-path:jar:4.3.1-SNAPSHOT:test
[INFO]       +- org.apache.commons:commons-lang3:jar:3.9:test
[INFO]       +- com.sun.xml.bind:jaxb-osgi:jar:<IP_ADDRESS>:test
[INFO]       \- org.apache.sling:org.apache.sling.javax.activation:jar:0.1.0:test
[INFO]          \- javax.activation:activation:jar:1.1.1:test

Could it be that Spring has declared Groovy versions in their master pom? This has been a source of issues before. REST Assured require Groovy 3 from version 4.3.0.

@johanhaleby yes, this project still uses Groovy 2. Simply override the "groovy.version" property to use Groovy 3, and it works.

Simply override the "groovy.version" property to use Groovy 3, and it works.

OK, then that is the issue! You must use Groovy 3.0.2 and above when using REST Assured 4.3.0.

I'm going to close this issue now, thanks for reporting and for sharing the solution. If you don't agree let me know :)

For Maven projects, the code below works well with Spring Boot projects:

3.0.7
4.3.3

org.springframework.boot
spring-boot-starter

org.springframework.boot
spring-boot-starter-test
test

io.rest-assured
spring-mock-mvc
test

groovy
org.codehaus.groovy

org.codehaus.groovy
groovy
${groovy.version}

org.codehaus.groovy
groovy-xml
${groovy.version}

org.codehaus.groovy
groovy-json
${groovy.version}

io.rest-assured
json-path
${rest-assured.version}
test

io.rest-assured
xml-path
${rest-assured.version}
test

For Maven projects, the code below works well with Spring Boot projects:

3.0.7
4.3.3

org.springframework.boot
spring-boot-starter

org.springframework.boot
spring-boot-starter-test
test

io.rest-assured
spring-mock-mvc
test

groovy
org.codehaus.groovy

org.codehaus.groovy
groovy
${groovy.version}

org.codehaus.groovy
groovy-xml
${groovy.version}

org.codehaus.groovy
groovy-json
${groovy.version}

io.rest-assured
json-path
${rest-assured.version}
test

io.rest-assured
xml-path
${rest-assured.version}
test


Fuller MockFs to facilitate tests of the cacheable finder

Bug: 62455338
Test: m -j blueprint_tools # which runs the unit tests
Change-Id: I5ab2650459a1dae0d5d076faf411ec2d053c743d

The MockFs that finder needs is completely disjoint from what blueprint needs.  I think you should create your own MockFs alongside finder that serves your needs without complicating the one used by blueprint.

So we're not concerned that splitting the mock file systems means that if something else (most likely another test) needs a mock filesystem, then there would be two mock filesystems to choose from, neither of which having the full feature set?

We can reconcile them later if it turns out both are needed, but I don't expect many things in the system to care about timestamps, since that is normally ninja's job.

What's simpler about splitting MockFs into two? It seems to me that the primary advantage of splitting it is instead a decrease in risk - it prevents a MockFs change relating to Finder from breaking Glob. However, that seems to me to instead be a reason to add dedicated tests of MockFs.
This patch also adds the ability to modify the filesystem (this version adds the ability to rename a file; I also implemented deletion and recursive deletion but haven't uploaded it yet). I also noticed recently that I'm going to want to add support for symlinks and for file/directory permissions too.

Mostly keeping the complexity out of blueprint if it is unnecessary.  The MockFs in blueprint is less than 100 lines, and mostly trivial, and is used to test some fairly complex code in Glob.  You are adding 400 more lines that blueprint doesn't need, and your test doesn't need much of the existing code.

Oh. Is the reason to want to keep complexity out of the MockFs from blueprint/pathtools/fs.go because it's used in several places via ctx.MockFileSystem?

(that seems like a good reason to me; just clarifying what it was that I didn't know previously)


feat: remove extraneous webview

This PR resolves MOPLAT-524
Description

There is this special webview that is used only in one place, and it is only used for markdown. I replaced it with actual markdown.
Look at the diff here, things between wowowowo are the webview/markdown.
Before

After

To check this, I build a quick little button on the admin menu. Shake, tap Navigate to..., and enter the following URL:
https://www.artsy.net/auction/van-ham-modern-post-war-and-contemporary/info
Then you can see this markdown.
PR Checklist

[ ] I tested my changes on iOS / Android.
[ ] I added screenshots or videos to illustrate my changes.
[ ] I added Tests and Stories for my changes.
[ ] I added an app state migration.
[ ] I hid my changes behind a feature flag.
[ ] I have prefixed changes that need to be tested during a release QA with [NEEDS EXTERNAL QA] on the changelog.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

I wondered that too. I saw last blame was 2 years ago so I just dismissed it as "probably the markdown component was not great yet". it was before palette v3 even so I wouldn't be surprised. though I'll take a look at the PR now.

https://github.com/artsy/eigen/pull/4121
I see no further explanation so I'll blame it on markdown not looking as we would like.


canOverrideExistingModule issue

getting this issue to set canOverrideExistingModule=true

How to resolve this issue ?

have this issue too

Check your MainApplication.java to see if you have the camera lines installed twice


Add some phpdoc cs rules

📚  Description
I added the following rules to .php_cs.dist file:

phpdoc_add_missing_param_annotation (src) -> Add some mixed arguments on functions.
phpdoc_annotation_without_dot (src)-> Remove the dot from the @param tags.
phpdoc_summary (src)-> Add a final dot on PHPdocs summaries.

The phpdoc_annotation_without_dot doesn't affect the PHP summaries, and the only available rule for this purpose is phpdoc_summary which add the final dot. So, I think it is the most suitable solution. 🙂
Changes

Apply mentioned cs fix rules.
Remove some useless @params and descriptions.
Fix some incorrect @param names (src/php/Destructure.php).

Good job. I merged it!


sterm randomly? chooses serial port

When I have more than one target connected, the sterm command does not use my selected target's port, it seems to choose alphabetically.
mbed sterm --baudrate 115200
Will often just connect to the "other" target even though I did set the target.
mbed config target NUCLEO_F401RE
This config should tell the sterm component in the toolchain to use the desired target if I have 2 targets, in my case namely:
mbedls
DISCO_L475VG_IOT01A[0] | E:          | COM18
NUCLEO_F401RE[0]       | D:          | COM15
A note: supplying a -m  flag to the command gets ignored/not parsed; a separate class of problem, but might just be fixable in a single ticket.

Internal Jira reference: https://jira.arm.com/browse/MBOCUSTRIA-192

Thank you for raising this issue. Please note we have updated our policies and
now only defects should be raised directly in GitHub. Going forward questions and
enhancements will be considered in our forums, https://forums.mbed.com/ . If this
issue is still relevant please re-raise it there.
This GitHub issue will now be closed.

Apologies, this was closed in error by the automated bot - re-opening.

Internal Jira reference: https://jira.arm.com/browse/IOTBTOOL-468


Correct is clock struct example

@TylerMSFT
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


x/crypto/ssh: performance issues after #24942 was fixed

Hi there, I am not sure what @ianlancetaylor or @mikioh and other maintainers of golang would do about reverting this commit:
https://github.com/golang/go/commit/60e3ebb9cba900f7b2f559b472726cee47e823c0
And this discussion:
https://github.com/golang/go/issues/24942#issuecomment-382955295
But I just wanted to express what I have been seeing happening with this change affecting performance on an SSH connection.
What version of Go are you using (go version)?

$ go version 1.11

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/davidrenne/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/davidrenne/Atlona-Dev"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/0_/nswys1md33gflzj54n8r415r0000gn/T/go-build038885308=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
#24942 and this commit
https://github.com/golang/go/commit/60e3ebb9cba900f7b2f559b472726cee47e823c0
Has caused extreme slowness in an SSH connection we are making to a CISCO video codec device using this library to make the connection:
https://gist.github.com/davidrenne/1254918151e1c8eda592928f1b72b5d5
On line 162:
sshConn, chans, reqs, err := ssh.NewClientConn(conn, address, config)
This takes an extreme amount of time to return for some reason and hangs because of this commit @fraenkel added to set it to non blocking.
We have been upgrading golang since June 2016 in our project which maintains network connections to SSH, Telnet, TCP, Websocket, UDP and more, but now we are stopped in our tracks a little bit with the upgrade path and seemingly stuck on 1.10.8.  In that build, our customers will experience quick connections to SSH to this CISCO device in question.
I have build golang from source to find which commit is causing this issue for us and for sure when I go to 68c10286c795e286c3efaa7df6d52d12af446d57 (syscall: avoid extra syscall on send/recvmsg on Linux) we do not see any issues in connecting slowly.  The SSH connection is made quickly, but when I go to one commit ahead to 60e3ebb9cba900f7b2f559b472726cee47e823c0, its back to being unacceptably slow.
Here is the link in the tree where this commit happened to cause some issues for our product:
https://github.com/golang/go/commits/release-branch.go1.11?before=efa061d9f5d52846dfc3dda40eaf8eccfeeae8d2+1365
What did you expect to see?
SSH connection performance like 1.10.8.
What did you see instead?
Slowness taking several minutes (for this device I am triaging at least) for the line of code
sshConn, chans, reqs, err := ssh.NewClientConn(conn, address, config)

To return back to the caller.

/cc @hanwen

this looks like an issue in the networking code. You could run with debugHandshake to see what is going on .
I would also suggest to remove the keepalive stuff. SSH has its own keepalive mechanism which would be preferable. Just do like here:
https://go.googlesource.com/crypto/+/df01cb2cc480549d72034218dd98bf97671450ac/ssh/session_test.go#578

OMG @hanwen thanks for such a quick turn around, I will play around a bit.  Thank you!

@hanwen yes it seems that the TCP keep alive we were using was the culprit for some reason hanging up on the SSH side, when we dont see the same issue on other TCP connections.  I am able to connect quickly on 1.12.5 now with the keepalive code taken out.
I also added your keepalive in its place and hoping it keeps the connections open for most devices
		if _, err :=<EMAIL_ADDRESS>true, nil); err != nil {
			if terminal.OnError != nil {
				terminal.OnError(terminal, err, "Failed to keepalive")
				conn.Close()
			}
			time.Sleep(time.Millisecond * time.Duration(RECONNECTION_TIME))
			continue
		}

Thank you very much for your help @hanwen, you did your good deed for the day!  Now go get a beer on me!  ;-)
I wish I just understood why that non-blocking commit conflicted with the github.com/felixge/tcpkeepalive package on SSH.  A lot of this stuff is new territory for me personally.  I did set debugHandshake and I will use that in the future for any SSH related packet issues, that is a very helpful logging flag to set when you have to debug a connection handshake.


Cache spack packages to avoid lengthy delays on startup.

Please document the new option in the README specifying how to use it.

I've added a configuration section in the README for the configuration options that we make use of.


Supported compilers, architectures, language versions

I could not find any documentation regarding targeted (supported) compilers/architectures/languages/etc. Did I miss something?
If not, my needs/proposal would be:

Compilers:

Latest version of GCC
Latest version of Clang

Architectures:

x86_64 on Linux
MIPS 32 bit on Linux
ARM 32 bit on Linux

Language versions:

C99/C11: Fully supported
C90: Only for what might become a 1.x maintenance branch (#487). No longer supported in master, relieving the project from its restrictions.
C++: While Wakaama contains no C++ code, it must be usable from a C++ project.

My primary use is on a non-Linux system using the IAR compiler. It isn't practical to add my environment as supported, but I would not like to see any gcc/clang extensions used or Linux assumed outside of the examples. I would like for this to continue to be usable on constrained devices where running Linux isn't possible or practical.

My primary use is also on a non Linux system. On the embedded devices i think we run it with free rtos or bara bone on the mcu and then we also run it as a server as a library on iOS. I think there is also some (non linux) desktop use for testing as well.

My primary use is on a non-Linux system using the IAR compiler.

Which architecture? ARM? Something with less than 32 bits?

It isn't practical to add my environment as supported, but I would not like to see any gcc/clang extensions used or Linux assumed outside of the examples.

Regarding the extensions: How about adding a build configuration to CI which builds the "library" parts using -Wpedantic and "-Werror"?
Regarding non-Linux targets: Do you need Wakaama, client and/or server, to work with freestanding C implementations? Or is there some kind of OS?

I'm currently using an Arm Cortex-M3 based system, so 32-bit.
A CI build of the library parts with -Wpedantic and -Werror would probably be helpful.
I'm currently using an RTOS, but would like to see it continue to be possible to use it without an OS. As an example, adding mutexes (provided by the implementer) for thread safety would be OK, but requiring multiple threads would not. The mutex functions could then do nothing in a no-OS environment.

PR #575 will ensure Wakaama can be built with C99 (and C11) as well as keeping GNU specific compiler extensions out of the code base.

@rettichschnidi @sbernard31 can we close this?

From the points I wanted to address, just "C99/C11: Fully supported" and "x86_64 on Linux" have been fully implemented. Everything else is still open and/or implemented partially. Also, I'd like to have some kind of documentation about the decisions taken - having #586 would help with this.


fix compile warning add FreeTap() declaration and a conditional compiling

fix compiling warning "implicit declaration" of Console.c and BridgeUnix.c
Changes proposed in this pull request:
Your great patch is much appreciated. We are considering to apply your patch into the SoftEther VPN main tree.
SoftEther VPN Patch Acceptance Policy:
http://www.softether.org/5-download/src/9.patch
You have two options which are described on the above policy.
Could you please choose either option 1 or 2, and specify it clearly on the reply?
I am ok with option 1

You just need to pot whether you prefer option 1 or 2. :)

Small tip. Everyone usually selects Option 1 :)

I AM OK with option 1

when will my code be merged into upstream?
------------------ Original ------------------
From:  "Dmitry<EMAIL_ADDRESS>Date:  Thu, Dec 7, 2017 09:52 PM
To<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS><EMAIL_ADDRESS>Subject:  Re: [SoftEtherVPN/SoftEtherVPN] fix compile warning add FreeTap()declaration and a conditional compiling (#363)
Please, select an option from link mentioned in your initial message - otherwise patch coudln't make it to the upstream.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@moatazelmasry2, could you please take a look if it could be merged now?

@paskal please check my commits and give me some advice.

@youxiaojie I am not a maintainer, it's better to ask @moatazelmasry2 opinion. However, from my POV it's quite complex - at least you should write a summary, what your merge request is about.

@moatazelmasry2 , could you give me some advice about my commit?

Hi @youxiaojie thanks for the hard work. I'm still in christmas/new year's mode. and will  be back on 8th of january. Will try to get it done then. Promise :)

@youxiaojie yes please try to make it clear. Best to separe this pull request into multiple PRs where each one does exactly one thing only. Thanks


Improve Log module code coverage

Description:
As per codecov, coverage is now 59%, and need to increase to above 80%

Closing since this is fixed in https://github.com/ballerina-platform/module-ballerina-log/pull/150


Repo sync for protected CLA branch

The pull request is created from main638082568457934482sync_temp to main to fix git push error for protected CLA branch

Learn Build status updates of commit d1fa930:
:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Benchmark List Option

Currently, there isn't a neat way (I know of) to list available benchmarks for your dacapo build. #66 refers to a now unavailable option flag -l which listed available benchmarks. Something like that seems quite useful. As far as I know, at the moment you're forced to look at the source at the correct commit/branch to find them.

I was using an old version :facepalm:


Hide popups triggered by hovering after moving the cursor away

They might block the thing you actually wanted to interact with.
https://user-images.githubusercontent.com/17426603/164512624-f5af3b76-9995-4767-a799-0dbd7897e221.mp4

This already happens if the mouse strays 100px away from the floating menu. Are you just suggesting that we reduce the stray distance?
https://github.com/GraphiteEditor/Graphite/blob/master/frontend/src/components/widgets/floating-menus/FloatingMenu.vue#L185

Hide popups triggered by hovering

@bjorn3 When are popups triggered by hovering?

This already happens if the mouse strays 100px away from the floating menu. Are you just suggesting that we reduce the stray distance?

When it is triggered by hovering I think it should hide as soon as you move to the left or right of it. Or not show up on hover at all. If you actually click on it 100px of stray space makes sense.

@bjorn3 When are popups triggered by hovering?

I didn't click in the recording in the issue description.

I didn't click in the recording in the issue description.

Can't seem to reproduce this - can you give more details?

You're describing the behavior where drifting your mouse to a neighboring widget that creates a floating menu switches over to that floating menu? If that's the case, that behavior is only supposed to happen in limited circumstances (inspired by Blender) where you drift to horizontal neighboring widgets, like File, Edit, Layer, Document, View, Help as well as entries in the options bar or other horizontal layouts of related widgets. It shouldn't happen in different rows arranged vertically like in the properties panel.

Can't seem to reproduce this - can you give more details?

I just reloaded the page and can't reproduce it anymore either.

It shouldn't happen in different rows arranged vertically like in the properties panel.

Correct, that is one of many places where it inappropriately does that. If I recall correctly, I never finished my implementation which was supposed to restrict it to a common direct parent for sibling widgets.

@bjorn3 is that the root of the issue you reported here? I'd like to rename the issue if so, and file it in the next sprint.

I think the root issue was graphite somehow getting stuck into thinking I had the left mouse button down or something like that. Reloading fixed it.

Were you running the live editor or running it locally? I think the bug you're describing, if I understand what you are saying, is caused by live reload.

I was using https://editor.graphite.rs/

Ok. If you do manage to precisely reproduce it and list the steps, that would be awesome.

Tried a couple of things. I can't reproduce this. Should I close the issue?

I think for now we should probably close it but if you end up finding more information, please feel free to reopen the issue in the future.


[5.4] created some tests for AbstractPaginator class

There is really no need to do all this reflection and such. To test pagination we can just load some records in the database, call the paginate method, and then render the links to make sure they are correct.

right well, that's was just the unit testing part, I've tried to do integration test, but it looked too weird to me so I just deleted it :)


NIFI-8142 Add "on conflict do nothing" feature to PutDatabaseRecord

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Enables X functionality; fixes bug NIFI-YYYY.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically main)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

I don't know why my push action cannot trigger any check. Maybe I should close this PR and create another one?

I don't know why my push action cannot trigger any check. Maybe I should close this PR and create another one?


I made another account to use as a bot in order to keep TenShino as a…

… human account

I realize my explanation might be unclear, so here's some context: https://manifold.markets/TenShino/will-i-return-to-regular-leagues-be
In short, I manually ran a script for a few months to save time betting in sports markets, all the API calls got noticed and I was marked as a bot. I talked with James and offered to make another account to run the script so that one would get labeled as a bot and I could keep Ten Shino as a human account.

@jahooma could you review this

Cool, sounds good!


Uncaught TypeError: Cannot read property 'getSelectedBufferRanges' of undefined

[Enter steps to reproduce:]

...
...

Atom: 1.37.0 x64
Electron: 2.0.18
OS: Unknown Windows version
Thrown From: atom-chinese-converter package 1.0.1
Stack Trace
Uncaught TypeError: Cannot read property 'getSelectedBufferRanges' of undefined
At C:\Users\Tianmo\.atom\packages\atom-chinese-converter\lib\chinese-converter.js:80

TypeError: Cannot read property 'getSelectedBufferRanges' of undefined
    at Object.sc2tc (/packages/atom-chinese-converter/lib/chinese-converter.js:80:29)
    at HTMLElement.chineseConverterSc2tc (/packages/atom-chinese-converter/lib/chinese-converter.js:50:51)
    at CommandRegistry.handleCommandEvent (~/AppData/Local/atom/app-1.37.0/resources/app/static/<embedded>:11:349922)
    at CommandRegistry.dispatch (~/AppData/Local/atom/app-1.37.0/resources/app/static/<embedded>:11:348397)
    at AtomEnvironment.dispatchApplicationMenuCommand (~/AppData/Local/atom/app-1.37.0/resources/app/static/<embedded>:1:718183)
    at EventEmitter.t (~/AppData/Local/atom/app-1.37.0/resources/app/static/<embedded>:1:726106)
    at emitThree (events.js:136:13)
    at EventEmitter.emit (events.js:217:7)

Commands
     -0:11.1.0 chinese-converter:sc2tc (atom-pane.pane.active)

Non-Core Packages
atom-chinese-converter 1.0.1
chinese-translator 1.1.2

Can you show me the steps, how you produce the error?


Flickering cursor

My cursor is flickering when I'm typing text in insert mode. Is it possible no to draw signs when inserting text and do it only when leaving insert mode or saving the buffer?

Are you sure it is gitsigns causing the flickering?
If the hunk headers don't change during insert mode, then the signs aren't redrawn because they will be the same, so the flickering is probably due to something else.
Have you also tried increasing config.update_debounce, the default is pretty short.

Indeed, that was my statusline having read @+ in one of its expressions and spawning /usr/bin/xsel -o -b per each key stroke.
Sorry for bothering you with this and thank you very mach for the great plugin

I experience the same, can you help me how you resolved the issue?

Firstly, are you sure the flickering is caused by gitsigns? Please determine this first.

@mkujbus obviously I've changed problematic expression, that was my self-made status line. This shows that cursor flickering occurs when neovim has performance bottleneck somewhere


rollup: emitFile error when importing css files outside of cwd directory

Describe the bug
fileName can transform a short_id ?

Reproduction
not need
System Info
rollup: 3.5.0
mac OS

Used Package Manager
pnpm
Logs
No response
Validations

[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

Could you provide a reproduction?

Could you provide a reproduction?

@graup https://github.com/winixt/vanilla-extract-bug

This seems to be a problem with cwd. If you remove the cwd argument or set it to the src directory instead of the hello directory, it works.
Still it should be possible to fix, if someone is interested in opening a PR.

IMO this seems more like a misconfiguration issue rather than something worth fixing.
If you wanted to fix this in the rollup plugin, you'd need to convert the relative path id, e.g. ../index.css.ts.vanilla.css, to something valid. You could resolve the relative part of the path to the actual path, e.g. src/index.css.ts.vanilla.css, but at that point you've essentially just derived what the cwd should have been in the first place, i.e. src.
The complexity added by supporting this use case doesn't really seem worth it, especially for something that can be trivially fixed by configuring the plugin correctly. Unless there's some simple way to support this, I don't see why we should.
Please re-open this issue if there's a valid use case for supporting this.


Non-polymer molecule recognised as polymer in selections

For instance in PDB 4jjk, for ligand molecule FOL. If I use selection string: :A and polymer, the FOL molecule is included in the selection, when it shouldn't because it is not part of the protein chain.

The inclusion of FOL is a bug. It is wrongly recognised as an amino acid. The assignment of what an amino acid is needs to be enhanced to fix this. As a workaround I added FOL to a list of group names that are not amino acids.
The polymer selection keyword is (currently) just a shortcut for protein or dna or rna. I agree that polymer should be more specific and only select members of polymeric chains.

When available, the chemCompType is now used (78b0b3757e5d93515bd6c7194a03d035e0558d59) for determining the molecule type (e.g. protein, dna, rna). This should remove most false positives. When support for entity data lands (#61), it may also be used for determining polymers.

When available the entityType is now used to select polymers. Entities currently parsed from MMTF and mmCIF files (eafd38b81599fd3addc891a56e4dc77a8c7e72e8).

With #61 done, polymers are correctly recognised for standard PDB, mmCIF, MMTF files.
Pending now, is support for recognising polymer chains in other files types (GRO, PSF, MOL2) and non standard PDB, mmCIF, MMTF files that lack polymer/entity annotation.


probability of reducing the Contentview Size MateialTextField

The TextField Material is very good, but it is so big, I would like to reduce its height property (from the ContentView, not the TextField), any suggestions?

Did you solve this issue?


On master this produces errors like:
../../src/arrow/type.cc:175:7: error: code will never be executed [-Werror,-Wunreachable-code]
      << "Must be microseconds or nanoseconds";
      ^~

On what system configuration to you get this issue? I haven't seen the unreachable error here with either gcc 4.8, 7.3, or 8.2

I see, with clang-7. Can you add information about this to the PR description?

Hm. How important is it for this to go into the 0.13 release?

Doesn't that revert the previous non-ignore bug?

@wesm I'd say it's important that we can build in release config with clang-7
@fsaintjacques This doesn't evaluate expressions in release: https://github.com/apache/arrow/pull/4027/files#diff-04220e5f8662d031cedc678c7d48c00cR91

The problem with this is -DBUILD_WARNING_LEVEL=CHECKIN. I do not think we ever set as a goal to have a build that passes with -Werror in release mode with this BUILD_WARNING_LEVEL

The build works fine for me locally with PRODUCTION warning level. I'm inclined to not fix this

Ah, I see. In that case this can wait

Yes, my vote is to close as Won't Fix if others have no objections. We can add documentation that CHECKIN warning level is only meant for debug builds


Could not find or load main class org.apache.maven.wrapper.MavenWrapperMain

Hi!!!
I tried to run from Cygwin but it throws me the next exception:
Could not find or load main class org.apache.maven.wrapper.MavenWrapperMain
Please, Can anyone help me with this problem?

It looks like maybe your wrapper.jar is corrupted. Please try again with a fresh clone, and open an issue in the project that you cloned (which isn't this one I think) if it doesn't work. Also, please don't use screenshots for code or logs (markdown formatting is available in github).


Player FPS;Memory;Plugin;Misc not working

Hello,
On my grafana dashboard, some graphs are not loading since a while.
I tried to drop the Oxide mesurement serie to see if it was changing this but that changed nothing.
This is actually hapenning for "Misc Time Warnings, Plugin Hook Times, Player FPS and Player memory."
All the other graphs of the dashboard are loading fine.
No other Issues opened for this so I look to be the only-one, I dont know what can be the issue from my side, if you got an idea ?
Thanks anyway

Hi, this can be due to partial database writes.
Check your server console for http error responses emitted by the plugin and enable debug logging in the config to see the raw response for influx for further information.
Also, ensure you have followed step 2 in the readme, if you do not there will be partial write errors eventually, which can result in this behavior you have described.

I've just released a new version which should resolve this issue, please update and let me know how it goes.

Hi
Step 2 is was made following the readme.
I Updated the plugin yesterday, but the issue is still the same
Im gonna delete the DB & remake one to see if it works. Thanks anyway !

Deleted the DB & re made a new one and all is fine now


support qwen2.5:72b-instruct function call

qwen2.5:72b-instruct now support function call
Returned its own unique data format, but currently ollama 0.3.11 does not correctly return formatted data for function calls

Can you provide a program/script that demonstrates the problem?
A quick test using the raw API returned tool calls as expected.  I used this payload:
{
  "model": "qwen2.5:72b-instruct-q4_K_M",
  "stream": false,
  "messages": [
    {
      "content": "What is the weather in Example State, zip 12345, in degrees Celsius?",
      "role": "user"
    }
  ],
  "tools": [
    {
      "function": {
        "description": "Use this tool to get the weather.",
        "name": "weather_lookup",
        "parameters": {
          "properties": {
            "temp_units": {
              "description": "What units to use for the temperature.",
              "enum": [
                "fahrenheit",
                "celsius",
                "kelvin"
              ],
              "type": "string"
            },
            "zip_codes": {
              "description": "An array of zip codes to get the weather for.",
              "items": {
                "description": " A 5 digit USA zipcode string",
                "type": "string"
              },
              "type": "array"
            }
          },
          "required": [
            "zip_codes"
          ],
          "type": "object"
        }
      },
      "type": "function"
    }
  ]
}

and got the following consistent results:
$ for i in {1..20} ; do curl -s localhost:11434/api/chat -d "$(cat 6929.prompt)" | jq -c .message.tool_calls ; done | sort | uniq -c
     20 [{"function":{"name":"weather_lookup","arguments":{"temp_units":"celsius","zip_codes":["12345"]}}}]

$ curl -s localhost:11434/api/version
{"version":"0.3.11"}

@chenfolingithub if you're still having trouble, please share an example so we can assist.


F6 doesnt work

Hello i want to change the command excute i have this issue :

CategoryInfo          : ObjectNotFound: (nastran:String) [], CommandNotFoundException
FullyQualifiedErrorId : CommandNotFoundException"

How can i change the code of this command ? thanks

Hi @zineddine999 , the F6 keybind that comes packaged with this extension assumes you have the nastran executable on your system path variable. I will update the README.md to state this explicitly. i.e. you need to be able to open any command window and execute nastran -v successfully. If you update your system path to include the path to your nastran executable, it should work. For reference, the path to my 2021.4 nastran executable looks like this:
C:\appl\MSC\Nastran\20214\bin

For what it's worth, you can also overwrite the F6 keybind by editing your keybindings.json file to do whatever you want. See here for vscode documentation on custom keybinds. See here for a helpful reference on vscode variables. Using this as a guide, adding something like this could do something similar and would overwrite the F6 keybind:
{
        "key": "F6",
        "command": "workbench.action.terminal.sendSequence",
        "args": {
          "text": "C:/PATH/TO/NASTRAN/nastran ${file}\u000D"
        }
}

@zineddine999 Can you confirm this solution works for you? If not, can you provide more information on your issue?

Oh sorry, it works. Thank you


Reduce amount of logging messages

Instead of writing a message every time saved, there should be one message in the beginning that states the location of the handout.

This is actually useful, e.g. because text messages should show up in the terminal. But it's easy to disable with
import logging
logging.getLogger('handout').setLevel(logging.ERROR)

As discussed in #11, doc.add_text() should always print so you can use it to replace print() where needed. Besides this, the path to the index.html could be printed once in the beginning to make it easy to open the handout in the browser. All other messages will be hidden by default (e.g. log level info).


Add a contributor's guide and CONTRIBUTORS file

Make it more obvious and more central for who is contributing or has contributed to this repository.

Added the all-contributors bot.
@all-contributors please add @JessyD for code

Try again bot...
@all-contributors please add @JessyD for code

@all-contributors check

@all-contributors generate

@all-contributors please add @ericearl for bug, code, content, data, design, ideas, maintenance, projectManagement, review

@all-contributors please add @Arshitha for bug, content, ideas

@all-contributors please add @dmoracze for data

@all-contributors please add @agt24 for content, ideas

@all-contributors please add @tsuipen for ideas, projectManagement


Font settings lost after an auto update. (And can not recover manually. )

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.66.2
OS Version: Windows 10.0.19042

Steps to Reproduce:

Cascadia Code is working and working correctly before.
Did not touch the computer for a weekend and VS code auto updated.
Cascadia Code is somehow lost in settings.json and not working anymore.
Can not recover by adding the font again.

Suggestions: I have encountered lots of newly baked bugs due to auto updates in the past. If the stability and quality can not be ensured. How about change the default behavior to not auto update?

I just tested this under Windows and I can enable Cascadia Code font without problems. Any additional steps?

After reinstalling the font and resetting vscode font settings for several times, Cascadia Code is working again. I am not sure what caused and fixed the problem. During the whole process, Cascadia Code was working fine in Windows terminal.

I'm happy you were able to resolve the problem. I have heard of this once before and it got resolved by uninstalling the font, restarting the PC, and installing the font again. I am not sure what would cause a working font to become unusuable... Maybe there was also a Windows update in the meantime 🤷 . In any case, we (VS Code) delegate all font rendering to the browser (Chromium) and don't really interact with the OS directly for font reading, etc, so there's no change we can possibly do in VS Code itself to improve this. If you notice this happening again, please also check how Chrome or Edge behave.

After a system reboot. Cascadia code is lost again in vs code... And it is working fine in other applications (e.g. windows terminal).

I wrote a simple html page and Cascadia Code is not working in Edge... Should I report this issue to the Cascadia Code repo or even send feedback to Windows? (I guess I should just switch to a mac. )

@chemwolf6922 Please report to https://bugs.chromium.org/p/chromium/issues/list?q=topics (Edge is also built with Chromium, just like VS Code)


CSV Export Function

Function used to export CSV file containing portfolio performance after using rule/relationship, if 2 data series are passed through the data is saved in one file and data can be distinguished by index values

@Cal231995 - can you try the script out with @NikolaR01 's assistance?
@NikolaR01 - can we add usage of the script to the repo's readme examples to show people how to easily export results.

@Cal231995 - can you try the script out with @NikolaR01 's assistance?
@NikolaR01 - can we add usage of the script to the repo's readme examples to show people how to easily export results.

Sure, I'll get it up first thing in the morning

@Cal231995 - can you try the script out with @NikolaR01 's assistance?
@NikolaR01 - can we add usage of the script to the repo's readme examples to show people how to easily export results.

yes sir. already tried this with sample data last time. will try again for his version. Thanks

Thanks @NikolaR01 and thanks for reviewing, @bi-kash and @Cal231995 .


error: bundling failed: Error: Unable to resolve module react-dom

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

Expected Behavior
Want to use Components without error

Current Behavior
I am try to use SelectField, but i am get error like this:
error: bundling failed: Error: Unable to resolve module `react-dom` from[26/392]
blint/www/react-native/AirbinderB2B/node_modules/material-ui/MenuItem/MenuItem.j
s`: Module does not exist in the module map

This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
  1. Clear watchman watches: `watchman watch-del-all`.
  2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
  3. Reset Metro Bundler cache: `rm -rf $TMPDIR/react-*` or `npm start -- --rese
t-cache`.  4. Remove haste cache: `rm -rf $TMPDIR/haste-map-react-native-package
r-*`.

  at UnableToResolveError (/home/blint/www/react-native/AirbinderB2B/node_modu
les/metro/src/node-haste/DependencyGraph/ModuleResolution.js:772:5)
    at ModuleResolver.resolveDependency (/home/blint/www/react-native/AirbinderB
2B/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:311:171
9)
    at ResolutionRequest.resolveDependency (/home/blint/www/react-native/Airbind
erB2B/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:96:
16)
    at DependencyGraph.resolveDependency (/home/blint/www/react-native/Airbinder
B2B/node_modules/metro/src/node-haste/DependencyGraph.js:269:4352)
    at /home/blint/www/react-native/AirbinderB2B/node_modules/metro/src/DeltaBun
dler/traverseDependencies.js:201:36
    at next (native)
    at step (/home/blint/www/react-native/AirbinderB2B/node_modules/metro/src/De
ltaBundler/traverseDependencies.js:256:306)
    at /home/blint/www/react-native/AirbinderB2B/node_modules/metro/src/DeltaBun
dler/traverseDependencies.js:256:536
    at /home/blint/www/react-native/AirbinderB2B/node_modules/metro/src/DeltaBun
dler/traverseDependencies.js:256:217
    at addDependency (/home/blint/www/react-native/AirbinderB2B/node_modules/met
ro/src/DeltaBundler/traverseDependencies.js:256:92)
    at /home/blint/www/react-native/AirbinderB2B/node_modules/metro/src/DeltaBun
dler/traverseDependencies.js:237:9
 BUNDLE  [android, dev] ./index.js ▓▓▓▓▓▓▓▓░░░░░░░░ 54.0% (604/822), failed.

Steps to Reproduce (for bugs)

Clear watchman watches: watchman watch-del-all.
Delete the node_modules folder: rm -rf node_modules && npm install.
Reset Metro Bundler cache: rm -rf $TMPDIR/react-* or npm start -- --reset-cache.
Remove haste cache: rm -rf $TMPDIR/haste-map-react-native-packager-*.

Your Environment

Tech
Version

Material-UI
^0.20.0

React
16.2.0

React-Native
0.52.2

@blackinitial We have been porting the component on the v1-beta branch. We have reimplemented it from the ground-up.
We encourage people starting with Material-UI to go with v1-beta. The master branch is in a low maintenance mode. We don't plan any work on it. However, we still do our best to review and merge pull requests that fix bugs on this branch.

@oliviertassinari - Where did SelectField go in the new V1 of Matieral-ui.  I too was looking to use the SelectField and get the same error as the OP.  Is there a replacement in V1?  It seems like maybe some of the menu components, but I am not sure.

@ProfessionalAmateur https://next.material-ui.com/demos/selects/.


Activity timeline Histogram not displaying when activities are added via the API

See https://github.com/NASA-AMMOS/aerie-ui/pull/436#issuecomment-1478743389

@camargo I think you added activities via the API that didn't exist within the bananation model. These activities appear in the list and timeline but not in the histogram. Do we care about supporting activity types that do not exist within the model?

@AaronPlave hmm, I was seeing this in the Demo mission model using activity types in that model. I'm surprised the API even allows adding directives with activity types not in the model tbh.

Oh ok interesting. Yeah not sure why the API allows that. Wasn't able to repro the issue when I used activity types that did exist, maybe I should try with the demo mission model? Not sure I know where to find that one.

You can use this. demo.jar. And actually using this script I was able to see the issue.

Can you show me on your machine at some point? Not seeing this issue with the demo model + that script.

Kapture 2023-04-13 at 11.51.15.webm

@AaronPlave Update. I'm only seeing this if the plan is 7 days long.

Exactly 7 days long?

Ok so i can reproduce this using the python script but not the hasura API explorer strangely

Aha issue seems to be when you add activities that fall outside of the plan bounds. Causes some funky behavior with histogram, will put in a patch.


Generating an executable function/contract from EVM bytecode?

Is it possible to pass raw bytecode into the Solang compiler and outgoing a WASM blob that can be executed in a standard rust program?
We have a Solidity smart contract that we've created using raw EVM assembly. We'd like to execute a function on this contract in Rust. The thinking is to first compile this contract into eWASM using Solang and then somehow execute it in Rust (in a WASM sandboxed environment).
Any information is helpful!

solang itself does not know anything about EVM, so this is currently not possible using solang. This is not something we're planning to do.
I think there is an evm to wasm converter, see #658


don't use 1.im and 0.im

Use 1im and 0im or 1.0im and 0.0im if you need to enforce a floating-point type (note that e.g. 2.4 + 0im will already promote to Complex{Float64}).  The reason is that the 0.im syntax may soon be disallowed in Julia 0.6 (JuliaLang/julia#16339).

Thank you for the warning. I changed the code accordingly.


feat: Add support for extra args to be passed to the git commit command

As the name of the PR explains I added a few lines to support some extra arguments to be passed to the git commit command.
For example, say I want to execute git commit with --no-verify using oc I simply cannot do it,
What I added makes you able to do oc --no-verify and it  translates to git commit -m ${generatedText} --no-verify

I could add a small doc section for it if approved

Sure bro give me a minute

@di-sukharev here's the Doc

@nader-zouaoui really awesome feature! could you solve the conflict pls and let's merge it


Agree approach for encoding probabilistic data in the CF convention

As a developer I want to encode probabilistic data (thresholds, percentiles, pdfs, cdfs, etv etc) in a CF-compliant manner, so that all our data is CF-compliant and uses a consistent approach
Related issues: #54, #69, #102
Optional extra information text goes here
Acceptance criteria:

Agreed approach with Mark Hedley (AVD team)
Agree what forms of probabilistic data we will address first
sign off by ???
documented in wiki pages, etc

See also this comment from Jonathan Flowerdew
https://github.com/metoppv/improver/pull/49#issuecomment-305209846

Most of the issues with this are captured on confluence in Temporary conventions for probabilistic data under Developer resources.
There are a lot of problems already cropping up, and more we haven't come across yet. The main things we need conventions for, both for cubes and NetCDF files, that we have come across so far:

percentiles
probabilities and thresholds
spot data
Combinations of these things
Ancillary files
A way of combining useful metadata when different models are merged, like total number of ensemble members and which models they come from
Provenance metadata

We should also pay attention to how Iris currently handles some of these things, as if we want to change/ignore default Iris behaviour then that could require some work.


Ignite 4667 Throw exception on starting client cache when indexed types cannot be loaded

The ticket is resolved, closing PR.
Please close PRs for your resolved tickets and other non-needed PRs.
Alternatively, ask a committer

to use GitHub UI (committer can associate accounts here: https://gitbox.apache.org/setup/ )
or ./scripts/apply_pull_request.sh from Apache Ignite source.
or mention in commit message 'Fixes #(a number of PR)'.

These methods will automatically close PR.
Feel free to reopen this PR if it is anyway actual.


Rename Notes enum to NoteName

Description

Rename Notes → NoteName or BaseNote.
(optional) Rename Note → NoteSpelling.

Example
Before:
Note(Notes.b, Accidental.sharp)

After:
Note(BaseNote.b, Accidental.sharp)

Advantages

Clearer class intent.

Drawbacks

Longer names.

Acknowledgements
@plammens for suggesting the change.

I don't know wheteher if it's already implied, but I would also add renaming all of the relevant variables/fields: Note's note should become baseNote (so that note.note -> note.baseNote), etc.

Sure, thanks for the clarification!


Custom Forms not recompiling when making changes in tailwind config

I cant figure out why but changing customForms (or anything in the tailwind config file for that matter) will result in a recompile but no actual changes being seen on the tailwind-custom-form components. They do however get picked up by other components using the updated config themes.
I am using next and removing the .next folder which has the build in it and running again will result in the changes being picked up.
Why are the changes reflected in everything other than the custom-forms and how do I make customForms update without having to delete the build folder every time I make a change?

Found out "twin.macro": "^1.7.0", was the problem
Needed to use like this
  className: 'form-input w-full',
})`
  ${(props) => props.pad && tw`pt-5`};
  ${(props) => props.error && tw`border-error border-0 border-b`};
`

rather than like this
export const TextInput = styled.input`
  ${tw`form-input w-full`}
  ${(props) => props.pad && tw`pt-5`};
  ${(props) => props.error && tw`border-error border-0 border-b`};
`


How does the cross-modal retrieval implement?

Hi, dear authors
May I ask how does the cross-modal retrieval implement, I'm very interested in this application, thank you.

Hi, sorry for the late reply, you can find some references here. thanks
https://github.com/salesforce/ULIP/issues/29#issuecomment-1593968139


Where method and where function

I implemented cupy.where partially, and Where function for chainer.

LGTM!


Unable to save: "...not called Looper.prepare()"

Describe the bug
(Sorry if this is a duplicate; I did search both closed and open issues)
When trying to save any format (jpg, png, etc), the following error pops up:
Something went wrong: Can't create handler inside thread that has not called Looper.prepare()
To Reproduce
Tap the save button
Expected behavior
One would expect the image to be saved
Screenshots

Smartphone (please complete the following information):

Device: Samsung J5
OS: Android 7.1.1 unrooted

Which saving settings did you use?

I did not change any settings in the app (save for theme/appearance later on)

Okay, i will look

looked through the code, there no handlers at all, is it happens on latest beta? Also which screens are affected

thank you for checking
the version is 2.5.1 (105) installed via F-Droid app
define screen please, it happens whenever I try, e.g. edit/single edit, create/draw etc

Could you check on the lastest beta please?

yes, beta works fine
thanks!

Nice 🐸


add sml/kmeans

add sml/kmeans

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA

Thanks for contributing KMeans algorithm. The correctness of this algo seems ok to me, here are some optimization tips and     recommendations:

you can use the feature of broadcast in jax.numpy to avoid for-loop in fit and predict method
you can avoid some redundant .T op in fit method.
I find you use something like float compare trick(< eps) rather equal op directly. Maybe it's a good idea for ABY3 protocol, because mul is cheap,  but if you use CHEETAH, maybe the total cost of your implementation will be larger?(I think you can do some more experiments under more config, e.g. CHEETAH, FM128, etc.)
maybe you can add some doc and comment about the details of your implementation?

you can refer to my #todo note for my recommendations.
import jax
import jax.numpy as jnp

class KMEANS:
    def __init__(self, k, data_len, max_iter=300, tol=1e-4):
        # todo: some doc about your hyper-param
        self.k = k
        self.max_iter = max_iter
        self.tol = tol
        self.init_params = jax.random.randint(jax.random.PRNGKey(1),shape=[self.k],minval=0,maxval=data_len)
        self._centers = jnp.zeros(())

    def fit(self, x):
        """Fit KMEANS.
        # todo: some doc about you implementation

        Parameters
        ----------
        x : {array-like}, shape (n_samples, n_features)
            Input data.

        Returns
        -------
        self : object
            Returns an instance of self.
        """

        centers = jnp.array([x[i] for i in self.init_params]) # k,p
        for i in range(self.max_iter):
            # print(f"iter: {i+1:3d}/{self.max_iter}\r")
            # C = []
            # for j in range(self.k):
            #     C.append(x - centers[j])
            # C = jnp.array(C)
            # todo: use broadcast
            C = x.reshape((1, x.shape[0], x.shape[1])) - centers.reshape((centers.shape[0], 1, centers.shape[1]))

            C = jnp.argmin(jnp.sum(jnp.square(C), axis=2), axis=0)

            S = jnp.tile(C,(self.k,1))

            # todo: simple simplify
            # ks = jnp.array([i for i in range(self.k)])
            ks = jnp.arange(self.k)

            # todo: simple simplify
            # equals_raw = (S.T - ks.T).T
            equals_raw = (S.T - ks).T

            # todo: maybe more experiments about two implementation ?
            equals = jnp.less(jnp.square(equals_raw), self.tol)
            # equals = jnp.equal(equals_raw, 0)

            # centers_raw = []
            # for j in range(self.k):
            #     centers_raw.append(jnp.multiply(x.T,equals[j]).T)
            #     # centers_raw.append(jnp.multiply(x.T,equals[j].T).T)
            # centers_raw = jnp.array(centers_raw)
            # todo: use broadcast
            centers_raw = x.reshape((1, x.shape[0], x.shape[1])) * equals.reshape((equals.shape[0],equals.shape[1],1))

            equals_sum = jnp.sum(equals,axis=1)
            centers_sum = jnp.sum(centers_raw, axis=1)
            # todo: simple simplify
            centers = jnp.divide(centers_sum.T, equals_sum).T
            # centers = jnp.divide(centers_sum.T, equals_sum.T).T

        self._centers = centers
        return self

    def predict(self, x):
        """result estimates.

        Parameters
        ----------
        x : {array-like}, shape (n_samples, n_features)
            Input data for prediction.

        Returns
        -------
        ndarray of shape (n_samples)
            Returns the result of the sample for each class in the model.
        """
        centers = self._centers
        # todo: can use broadcast, leave this for you
        y = []
        for j in range(self.k):
            y.append(x - centers[j])
        y = jnp.array(y)
        y = jnp.argmin(jnp.sum(jnp.square(y), axis=2), axis=0)
        return y

I make revisions based on the suggestions. The comparison with eps  is also used to avoid the impact of possible  small errors in some MPC schemes, and a strict equality comparisons may get things wrong in some case, I think.

I make revisions based on the suggestions. The comparison with eps is also used to avoid the impact of possible small errors in some MPC schemes, and a strict equality comparisons may get things wrong in some case, I think.

Thanks for your revisions, the algorithm part seems good to me.
However here still exists some minor errosr: for emul and test file, your params do not change to the newest version, please must make sure your program can runs correctly before doing commits.
Besides, I highly recommend that you compare your output with the plaintext sklearn  output just like https://github.com/secretflow/spu/pull/240 do in both emul and test file.(You can use sklearn.datasets.make_blobs to generate very distinct datasets).
Finally, you say "The comparison with eps is also used to avoid the impact of possible small errors in some MPC schemes", but I think it's not a problem at all. You can find the dtype of  the matrix S and ks are both int, so SPU can do it lossless. The integer equal will call a2b which costs a lot, but for fxp less, msb is sufficient(of course, one more mul).So I think for aby3 protocol, comparison with eps will do better, but if you runs in cheetah, I am not sure which way can do better(for mul is much more expensive for cheetah, maybe you can do some more experiments about this).

Thanks for your suggestions and I add sklearn.datasets.make_blobs.
I do experiments on the using of  equal and compare with eps. The results (in seconds) is shown in the table.
It seems the results of the two methods are similar for smaller sample sets, . When the data volume is large, it appears that the advantage of compare with eps in ABY3 is smaller than that of equal  in CHEETAH, so maybe using equal is better.

| aby3 |   | cheetah |
-- | -- | -- | -- | --
n_samples | equal | compare with eps| equal | compare with eps
100 | 0.12 | 0.12 | 0.12 | 0.12
1000 | 0.44 | 0.42 | 0.44 | 0.41
10000 | 2.52 | 2.45 | 2.54 | 2.47
100000 | 27.81 | 27.93 | 26.01 | 28.05

Thanks for your suggestions and I add sklearn.datasets.make_blobs. I do experiments on the using of equal and compare with eps. The results (in seconds) are shown in the table. It seems the results of the two methods are similar for smaller sample sets, . When the data volume is large, it appears that the advantage of compare with eps in ABY3 is smaller than that of equal  in CHEETAH, so maybe using equal is better.
aby3	 	cheetah
n_samples	equal	compare with eps	equal	compare with eps
100	0.12	0.12	0.12	0.12
1000	0.44	0.42	0.44	0.41
10000	2.52	2.45	2.54	2.47
100000	27.81	27.93	26.01	28.05

Thanks for doing elaborated experiments! All other things are good to me!
But I am confused how you run your experiments?( In my thoughts, cheetah is much much slower than aby3, but the output seems similar. )

Thanks for your suggestions and I add sklearn.datasets.make_blobs. I do experiments on the using of equal and compare with eps. The results (in seconds) are shown in the table. It seems the results of the two methods are similar for smaller sample sets, . When the data volume is large, it appears that the advantage of compare with eps in ABY3 is smaller than that of equal  in CHEETAH, so maybe using equal is better.
aby3	 	cheetah
n_samples	equal	compare with eps	equal	compare with eps
100	0.12	0.12	0.12	0.12
1000	0.44	0.42	0.44	0.41
10000	2.52	2.45	2.54	2.47
100000	27.81	27.93	26.01	28.05

您好，我最近发现之前emul部分的代码有点问题，即在运行emul程序之前，是需要先将数据load到PYU上的，但之前emulation并没有提供相应的api；所以如果使用了自定义数据，实际上emul部分都是在明文下运行的，具体可以参考：（其实主要就是调用一下emulator.seal哈）
https://github.com/secretflow/spu/blob/main/sml/linear_model/simple_sgd_emul.py
我理解这个修改以后，cheetah和aby3就会有比较明显的性能区别了～
Thanks

我修改了代码，这是新的结果，看起来两种方法仍然是接近的，并且aby3比cheetah快很多，使用equal是没问题的。

| aby3 |   | cheetah |
-- | -- | -- | -- | --
n_samples | equal | compare with eps| equal | compare with eps
100 | 1.10 | 1.10 | 11.26 | 11.30
200 | 1.60 | 1.48 | 15.34 | 15.81
1000 | 2.02 | 2.01 | 56.49 | 56.65
2000 | 2.94 | 2.93 | 87.91 | 88.89


Alpha off yet again?

Just me that's down again?
Errors:
Cannot connect to host cloud.alphaess.com:443 ssl:default [Connect call failed ('<IP_ADDRESS>', 443)]
200, message='Token is Expire', url=URL('https://cloud.alphaess.com/api/Account/RefreshToken')
Are the Alpha guys playing games with us?

Looks like it's back - don't know what happened for those few hours.


Enable “SELECT FOR UPDATE” Statement

Background: https://airtable.com/tblD3oZPLJgGhCmch/viw1DKmbKhg2MIECH/recnmogESIC5147Jf
Description: This feature is implementing SELECT FOR UPDATE statement, making it usable by application developers. At the moment, SELECT FOR UPDATE explicitly does not do anything when executed. In its implemented state, SELECT FOR UPDATE provides one exclusive access when executing an UDPATE statement.
The important problem is retry errors because our customers consistently express it as a pain point. As of September 2019, 4.5% of our customers’ long-running clusters experience transaction retry errors. Application developers are accustomed to other databases, such as Oracle, that cause less cases of contention that are the root cause of these errors.
As a result, their applications are not setup to handle the additional retry errors that are inherent to our design. Customers have the burden of added application logic to handle this case. While this expected behavior and best practices for handling is well-documented (https://www.cockroachlabs.com/docs/stable/advanced-client-side-transaction-retries.html
), it’s still a pain point for customers because this type of change feels invasive.
Team: John Kendall, Nathan VanBenschoten
Github Tracking Issue: https://github.com/cockroachdb/docs/issues/6000

Estimated scope of work:

Write new docs for SELECT FOR UPDATE statement, with examples showing how it works
Maybe update architecture docs storage layer (via another issue) re: new concurrency control package that (AIUI as of this writing) is enabling this SQL work
Update various transaction retry loop docs (including example app pages) to mention and link to SFU docs
Update various SELECT query docs to mention and link to SFU docs

See also:
https://github.com/cockroachdb/cockroach/pull/45159


Email Recovery Unimplimented

Due to time and resource constraints; this item has been bumped to the next iteration due to its low priority

Bumped again


Image extraction from broken files

As reported by @SchulzDan, image extraction from some broken txt/mcd files failed with the following error:
dan@dschulz:~$ steinbock preprocess imc images --hpf 50
img/20210915_ZTMA256_exhaustion_stain_DS_17.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_18.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_19.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_20.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_21.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_22.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_23.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_24.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_25.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_26.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_27.tiff
img/20210915_ZTMA256_exhaustion_stain_DS_28.tiff
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 194, in run_module_as_main
    return run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/app/steinbock/steinbock/__main.py", line 5, in <module>
    steinbock_cmd_group(prog_name="steinbock")
  File "/opt/venv/lib/python3.8/site-packages/click/core.py", line 1137, in call
    return self.main(args, kwargs)
  File "/opt/venv/lib/python3.8/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/opt/venv/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/venv/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/venv/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/venv/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, ctx.params)
  File "/opt/venv/lib/python3.8/site-packages/click/core.py", line 763, in invoke
    return __callback(args, kwargs)
  File "/app/steinbock/steinbock/_env.py", line 90, in check_steinbock_version_wrapper
    return func(*args, kwargs)
  File "/app/steinbock/steinbock/preprocessing/cli/imc.py", line 182, in images_cmd
    for (
  File "/app/steinbock/steinbock/preprocessing/imc.py", line 213, in preprocess_images_from_disk
    with TxtParser(txt_file) as txt_parser:
  File "/opt/venv/lib/python3.8/site-packages/imctools/io/txt/txtparser.py", line 27, in _init
    self.acquisition_data = self.parse_acquisition(filepath)
  File "/opt/venv/lib/python3.8/site-packages/imctools/io/txt/txtparser.py", line 42, in _parse_acquisition
    long_data, channel_names, channel_labels = TxtParser._parse_csv(filepath)
  File "/opt/venv/lib/python3.8/site-packages/imctools/io/txt/txtparser.py", line 103, in _parse_csv
    header_cols = pd.read_csv(filepath, sep="\t", nrows=0).columns
  File "/opt/venv/lib/python3.8/site-packages/pandas/util/_decorators.py", line 311, in wrapper
    return func(args, *kwargs)
  File "/opt/venv/lib/python3.8/site-packages/pandas/io/parsers/readers.py", line 586, in read_csv
    return _read(filepath_or_buffer, kwds)
  File "/opt/venv/lib/python3.8/site-packages/pandas/io/parsers/readers.py", line 482, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "/opt/venv/lib/python3.8/site-packages/pandas/io/parsers/readers.py", line 811, in __init
    self.engine = self.make_engine(self.engine)
  File "/opt/venv/lib/python3.8/site-packages/pandas/io/parsers/readers.py", line 1040, in _make_engine
    return mappingengine  # type: ignore[call-arg]
  File "/opt/venv/lib/python3.8/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 69, in __init
    self.reader = parsers.TextReader(self.handles.handle, **kwds)
  File "pandas/libs/parsers.pyx", line 542, in pandas._libs.parsers.TextReader.__cinit
  File "pandas/_libs/parsers.pyx", line 642, in pandas._libs.parsers.TextReader._get_header
  File "pandas/_libs/parsers.pyx", line 843, in pandas._libs.parsers.TextReader._tokenize_rows
  File "pandas/_libs/parsers.pyx", line 1917, in pandas._libs.parsers.raise_parser_error
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

Check:

Can the files be repaired somehow?
Is the information recovery strategy (txt for mcd) working as expected?
Can the console output be improved?

Copies of broken files have been requested.

Verified. This originates from the specific local setup, which adds a file called _____.txt to the raw data directory/zip file. To not implement setup-specific exceptions, the suggested path forward is to just "clean up" the error message (specifically, to include the affected file name).


Update branding to 3.1.8

FYI builds are failing known reasons and @wtgodbe is working on the resolution

/azp run


Methods from Derived Classes Not Bound in ClearScript

I may have misunderstood how binding works in ClearScript, but I'm encountering an issue where methods from derived classes are not accessible. We have a method createElement that returns an object of type IElement. However, the actual object being returned is an instance of a derived class, HtmlDivElement, which inherits from IElement. The problem is that ClearScript only binds methods and properties from IElement and its ancestors. This results in methods specific to HtmlDivElement being inaccessible from JavaScript.
Example:
public interface IElement
{
    void SetAttribute(string name, string value);
    string GetAttribute(string name);
}

public class HtmlDivElement : IElement
{
    public void SetAttribute(string name, string value)
    {
        // Set attribute logic
    }

    public string GetAttribute(string name)
    {
        // Get attribute logic
        return string.Empty;
    }

    public void SetDivSpecificMethod()
    {
        // Method specific to HtmlDivElement
    }
}

JavaScript Example:
var div = document.createElement("div");
div.setAttribute("id", "myDiv");

// This fails because methods specific to HtmlDivElement are not bound
div.setDivSpecificMethod(); // Error: setDivSpecificMethod is not a function

Question:
How can I ensure that ClearScript binds methods from the derived class (HtmlDivElement) so that they are accessible in JavaScript? Is there a way to expose these methods while keeping the inheritance structure intact?

Hi @herki18,
The behavior you're seeing is by design. It's an effect of a ClearScript feature called type restriction, which enhances the ability of script languages to consume strongly typed .NET APIs.

// This fails because methods specific to HtmlDivElement are not bound
div.setDivSpecificMethod(); // Error: setDivSpecificMethod is not a function

That's right. The variable div is effectively of type IElement. If this were C# code, you couldn't call SetDivSpecificMethod without casting, and the same applies to JavaScript.
Type restriction is important for .NET member binding. Suppose you wanted to pass div to a .NET method overloaded as follows:
void DoSomething(IElement element);
void DoSomething(HtmlDivElement element);

Without type restriction, the first overload would be inaccessible, and that's just the tip of the iceberg. .NET APIs often rely heavily on precise type tracking for correct member binding, ambiguity resolution, type inferencing, generic type and method instantiation, etc.
That said, ClearScript does give applications the following controls over type restriction:

Members whose return type is object are exempt from type restriction.
HostFunctions.cast is a script-callable type casting function.
ScriptMemberAttribute.Flags can disable type restriction for an individual member via ScriptMemberFlags.ExposeRuntimeType.
ScriptEngine.DisableTypeRestriction provides control at the script engine level.

Good luck!

Please reopen this issue if you have additional questions about this topic. Thank you!


Add date as property on Match

Closes #214

@Alek050 Do you know why the codecov patch is failing? I'm not sure how to add coverage to the two lines it says its missing

Hi @Swopper050
I am not really sure what is happening, Codecov has been working poorly lately but have not seen this before. However, I think you do not have the latest version of develop merged in your branch. In match.py, the methods shots_df, passes_df, and dribbles_df are calculated differently on Alek050/databallpy/develop than on your code. Could you try pulling and merging develop in you branch and rerunning the actions after this change?

@Alek050 I think I branched from main. Should be updated now.

Looks like it fails on some of the lines I updated in an earlier PR, but back then Codecov was not working properly. I'll approve the PR.


python310Packages.simplisafe-python: 2022.07.1 -> 2022.11.0

Description of changes
https://github.com/bachya/simplisafe-python/releases/tag/2022.11.0

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

3 packages built:

home-assistant-component-tests.simplisafe
python310Packages.simplisafe-python
python39Packages.simplisafe-python


Poedit not finding gettext inside attribute

Hi!
I have something like this in my .twig file:
<input type="text" class="form-control" name="s" id="search" value="{{ searchquery }}" placeholder="{{ __('ENTER YOUR CITY', 'WK') }}" required>

And scanning twig files with Poedit not showup gettext inside placeholder attribute. Any advice?
Poedit setup as in tutorial https://github.com/jarednova/timber/wiki/Text-Cookbook#generating-po-files-using-poedit

Sadly Poedit could not search in stings, but xgettext can. Take a try.


[Dev] Add top-level .editorconfig for C++, Python...

Describe the enhancement requested
See https://editorconfig.org/
Some languages such as Python, C++, bash... are used in various parts of our repository, a top-level .editorconfig would help maintain a consistent style at least for the basics (such as indentation).
Component(s)
C++, Developer Tools, Python

We should check our style by pre-commit even if we have .editorconfig.

The EditorConfig spec is extremely basic for now, it mostly only covers indentation and line endings. But it would help working on multiple projects with different indentation settings.

It seems pretty unintrusive and useful :+1:

Issue resolved by pull request 44870
https://github.com/apache/arrow/pull/44870