feat: clean up trainer tests

Description
This PR does some refactoring to avoid repeated code.
Closes #4042
Type of change
(Please delete options that are not relevant. Remember to title the PR according to the type of change)

[ ] New feature (non-breaking change which adds functionality)
[x] Refactor (change restructuring the codebase without changing functionality)
[ ] Improvement (change adding some improvement to an existing functionality)

How Has This Been Tested
Checked the tests still pass
Checklist

[ ] I added relevant documentation
[x] I followed the style guidelines of this project
[x] I did a self-review of my code
[ ] I made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I filled out the contributor form (see text above)
[ ] I have added relevant notes to the CHANGELOG.md file (See https://keepachangelog.com/)

Yes! I wanted to take a look for other modules, but we can close this one

@plaguss you can include the trainer tests in the PR too 💪🏽

Now the formatting functions that were repeated in different modules (training and model card) are written in a tests/integration/client/feedback/helpers.py, I believe it's better organized this way.

hi @plaguss shouldn't we add all formatting_funcs in either conftest or helpers?

hi @plaguss shouldn't we add all formatting_funcs in either conftest or helpers? Now they seem split across both of them.

Do you mean the patterns used for the model card tests? I'll move those too and let only the fixtures and mocks in the conftest.py.


Show Guerilla Version

Guerilla should show Guerilla's current version (ideally related to a tag) on output and on console

https://github.com/yahoo/guerilla/pull/17

fixed per https://github.com/yahoo/guerilla/pull/17


Published apps from MVC, Razor and WebApp projects are incomplete

Repro steps

dotnet new mvc --output mvc
cd mvc
dotnet publish
cd bin/Debug/netcoreapp2.2/publish/
dotnet mvc.dll

Expected
Similar UI to what dotnet run in the project directory provides:

Actual
Banners and so on are broken:

Found while verifying: aspnet/Release#322

Thanks @dougbu.
This is a known issue, which is tracked here: https://github.com/aspnet/Templating/issues/781


Overwatch 2 is not launching after <IP_ADDRESS>.131376 patch

Personally had a Marqasa patch and it worked flawlessly right before patch <IP_ADDRESS>.131376
Reinstalled Crossover several times, reapplied Marqasa patch several times
Then tried to apply CXPatcher to a freshly installed Crossover and freshly downloaded game - the same exact results.
Game launches with Battle.net and it shows itself in Activity Monitor, yet no game window shows up. Process itself uses some RAM, sometimes up to 13 gigs, but with no success to show a game window whatsoever.
Maybe this issue is possible to solve on a patch' end? This might be Blizzard decided to block VM's too, but it's above my grade to know for sure.

Have the same issue with the steam version. Really hope someone can provide a solution!


Skip interpolation in map_coords when possible

Earth2Studio Pull Request
Description
Optimizes map_coords to skip interpolation whenever the output coordinates are identical to or a continuous subset of the input coordinates.
Tested to work with SFNO and FCN models.
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[ ] The documentation is up to date with these changes.
[ ] The CHANGELOG.md is up to date with these changes.
[ ] An issue is linked to this pull request.

Dependencies

/blossom-ci

/blossom-ci

Closing, updates merged in linked PR. Thanks!


/var/spool/icinga2/perfdata gets huge

Hi,
I'm unsure if this the responsibility if this plugin, all is working fine, but the /var/spool/icinga2/perfdata is getting huge with lotsa perfdata files.
Aren't they supposed to be deleted after parsing them?
Thanks a lot to shed some light on this. Maybe I just misconfigured it.

We are also experiencing this. Any news?


load_dotenv()

from dotenv import load_dotenv
load_dotenv()

We will need to add the dependencies for dotenv too. I will work on it soon


Add tests for UTF-8 char len and make_capitalize with pathological strings

Sourced from https://github.com/minimaxir/big-list-of-naughty-strings/blob/894882e7/blns.txt.

Linking to https://github.com/artichoke/artichoke/issues/184.

Linking to https://github.com/artichoke/artichoke/issues/184.

Filed a ticket to maybe move this logic into bstr: https://github.com/BurntSushi/bstr/issues/81.

Filed a ticket to maybe move this logic into bstr: https://github.com/BurntSushi/bstr/issues/81.


WIP ZIO JSON

This is work in progress, missing (and failing) tests. Feel free to contribute @Kirill5k I've invited you to edit my fork.
I needed to add snapshot dependency to ZIO JSON as some useful methods are not yet available in latest stable release.

Fixes #26
@Kirill5k can you take a look? there is some error when running testOnly JsonMapperSpec, but it's late and my mind is no longer working xD perhaps a fresh view will reveal the bug

For some reason
Some("{"_id": {"$oid": "640c698699f7394fe1fa68b9"}, "string": "string", "null": null, "boolean": true, "long": 1.678535046665E12, "int": 1.0, "bigDecimal": 100.0, "array": ["a", "b"], "dateInstant": {"$date": "2023-03-11T11:44:06.665Z"}, "dateEpoch": {"$date": "2023-03-11T11:44:06.665Z"}, "dateLocalDate": {"$date": "2022-01-01T00:00:00Z"}, "document": {"field1": "1", "field2": 2.0}}")
was not equal to
Some("{"_id": {"$oid": "640c698699f7394fe1fa68b9"}, "string": "string", "null": null, "boolean": true, "long":<PHONE_NUMBER>665, "int": 1, "bigDecimal": {"$numberDecimal": "100.0"}, "array": ["a", "b"], "dateInstant": {"$date": "2023-03-11T11:44:06.665Z"}, "dateEpoch": {"$date": "2023-03-11T11:44:06.665Z"}, "dateLocalDate": {"$date": "2022-01-01T00:00:00Z"}, "document": {"field1": "1", "field2": 2}}"

Int is represented as 1.0, long appears once in normal, once in scientific notation, and bigdecimal is weird
I'm not sure what's going in. I suppose its related to the internal representation of Json.Num which is bigDecimal.

Now its just BigDecimal an issue, fixed int and long
Some("{"_id": {"$oid": "640c80dda25fe1341f6b231c"}, "string": "string", "null": null, "boolean": true, "long":<PHONE_NUMBER>538, "int": 1, "bigDecimal": 100, "array": ["a", "b"], "dateInstant": {"$date": "2023-03-11T13:23:41.538Z"}, "dateEpoch": {"$date": "2023-03-11T13:23:41.538Z"}, "dateLocalDate": {"$date": "2022-01-01T00:00:00Z"}, "document": {"field1": "1", "field2": 2}}")
was not equal to
Some("{"_id": {"$oid": "640c80dda25fe1341f6b231c"}, "string": "string", "null": null, "boolean": true, "long":<PHONE_NUMBER>538, "int": 1, "bigDecimal": {"$numberDecimal": "100.0"}, "array": ["a", "b"], "dateInstant": {"$date": "2023-03-11T13:23:41.538Z"}, "dateEpoch": {"$date": "2023-03-11T13:23:41.538Z"}, "dateLocalDate": {"$date": "2022-01-01T00:00:00Z"}, "document": {"field1": "1", "field2": 2}}")

Hmm OK, it seems the issue is JsonNumSyntax#toBsonValue will interpret BigDecimal(100.0) as isValidInt and encode that as BsonValue.int (that's why we see just 100), on the other hand we have JsonEncoder that directly encodes BigDecimal(100.0) (not cast to int), thence the diffrence. I wonder how it worked with circe.

Fixed, however in circe the toBigDecimal returned an Option, if it failed they default to BsonValue.double.
In our case Json.Num internally is already a BigDecimal, so it will always map to BsonValue.bigDecimal there is no case for BsonValue.double.
The test case succeeds, but I guess only because we don't check double values. I'm not sure if that's OK.

MongoCollectionSpec and MongoJsonCodecsSpec are failing.

This looks very good. I will give it a better look after several hours when I am free.

It looks like you forgot to commit Dependencies.scala changes

This is puzzling me now. The only diffrence I see is the missing parenthesis on the left hand side (or extra parameters on right hand side, depending how you look at it).
I have no idea why it is the way it is.
{"$oid":"640ce1fcc850af29e11314c9"}
 was not equal to
"{"$oid":"640ce1fcc850af29e11314c9"}"

It was a CharSequence.. calling .toString solved the problem of parenthesis.

@Kirill5k all tests are passing :tada: Please review.

Hmm.. StackOverflow on the CI. I wonder why. There is no issue locally (using JDK17).

@Kirill5k can we merge this and cut a release?

Sure. all looks good to me.
Will do a release later today.


Typescript (Angular) generator

Reason/Context

Consuming AsyncAPI from the browser via websocket (stomp) is a common scenario. DEV experience would greatly increase if you'd provide a generator for client-stubs and models similar to the openapi generator: https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/typescript-angular.md

Description
Implementation could follow the openapi generator for typescript-angular.
It would be extra cool if both would be "compatible" in the following sense: For many projects OpenAPI and AsyncAPI exist in parallel and reference the same models. There should be a maningful setup, so that e.g. models from the openapi generator could be used in the AsyncAPI generated client.

@daniel-sc

For many projects OpenAPI and AsyncAPI exist in parallel and reference the same models

In AsyncAPI you can reference schemas provided using OpenAPI schema

Implementation could follow the openapi generator for typescript-angular.

So we already have https://github.com/asyncapi/modelina that generates models to TS. Just a matter of contributing missing features there. You can already use modelina in our CLI with asyncapi generate models

if you'd provide a generator for client-stubs

We can definitely help with writing a template for client generation, but writing it from scratch on our own.. will be hard to find time now.
There is one guy from Oracle that I mentored on starting with client generation for WebSocket (no subprotocols afaik) but I'm not sure how he is doing, will check with him. Also please remember that we still did not figure out STOMP bindings and also how to reuse them in WebSocket when used as a sub protocol -> https://github.com/asyncapi/spec/issues/787


 This results in not so optimal structures while learning.

Only updated the cpu-code. For some strange reason the CUDA-code got broken when trying the update the same code there. Because it is not relevant for the moment this problem will be solved in another issue.

Against my expectations, this doesn't had increased the accuracy, but now the the hard to handle synapse_segmentation config-value in the templates in no longer required, which increases the usability.


Shields of Germany

In Germany, Bundesautobahnen (federal motorways) have a white-on-blue hexagonal shield and Bundesstraßen (federal highways) have a black-on-yellow fixed-width rectangular shield.
Most numbered routes in Germany are covered by route=road relations, but network=* tagging is not country-prefixed. There are a huge number of network=* values in Germany, with limited documentation. BAB clearly corresponds to Bundesautobahnen, but Bundesstraßen do not have similar relation coverage with consistently tagged network=* values. A decision would need to be made on whether this tagging scheme is sufficient, and whether it is appropriate mapper feedback to support it.

Note the discussion in #149.  In summary, it's not clear that the community in Germany has come to any consensus on the tagging of route relations, and at least one prominent member of the community has suggested that they might even be removed.  I would recommend that we not render Germany's highway shields until the community there has come to some level of consensus, otherwise we'd be driving the tagging scheme in one direction or another.

As one of the most prominent data consumers of road route relations, I think you should not be afraid to drive the tagging scheme in a direction that is workable for you (i.e. the relations exist and have a country network prefix).
I was initially sceptical about the benefits when people proposed creating these relations in the Netherlands, but this project has clearly demonstrated that you can do cool things with them that exceed what you can (reliably) do with the ref-tags on ways alone.

In addition to _ Bundesautobahnen_ and _ Bundesstraßen_, Landesstraßen and Kreisstraßen are also signposted, but only on kilometer markers, not directional signs. In the past, I’ve heard from German drivers that L and K numbers would be unrecognizable compared to road names. If we do mark them with shields, the shields would typically be black-on-white rectangles, which is why I think it would be potentially confusing to mark any other kind of road in Germany with that color scheme: https://github.com/ZeLonewolf/openstreetmap-americana/pull/402#issuecomment-1155797061.

The states of Bavaria and Saxony have Staatsstraßen, which are equivalent to Landesstraßen. In Saxony but not Bavaria, they’re marked by reassurance markers with a green trim:

If we do mark them with shields

This brings up the notion that we may encounter a case where network and ref are correctly and appropriately tagged, but we desire the behavior of suppressing the shield entirely for cartography reasons.

Yes, that is part of the point of #402. In many countries including the U.S., some minor route networks have bona fide refs that are only signposted on standard street name signs rather than shields, but still suitable for navigation regardless, so rendering them with regular labels would be appropriate. However, Landesstraßen and Kreisstraßen numbers don’t seem to be that useful for wayfinding. In similar situations in the U.S., we’ve opted to tag unsigned_ref even though the number is technically signposted on a milepost.

In addition, Germany also has a network of touristic scenic routes, which (many? some?) have these shield-like signs:

This one is from the German Avenue Road (Alleenstraße)
The OSM wiki has a list of them alongside any route relations which exist.


Additional output options: show header, compression, parquet format

--show-header option added in commit 8f3b585


I'm not importing BehaviorSubject in my code. Can't resolve 'rxjs-compat/BehaviorSubject' in '/node_modules/rxjs'

Bug Report
I'm not importing BehaviorSubject in my code.
I'm using RxJs version "^6.3.3" with Angular 6
After removing rxjs-compat from package.json i see this message
Module not found: Error: Can't resolve 'rxjs-compat/BehaviorSubject' in '/node_modules/rxjs'
rxjs-compat is unnecessary, you don't really need it from version 6 and above (according to official migration guide). so after migrating to version 6 i can get rid off rxjs-compat
node_modules/rxjs/BehaviorSubject.d.ts has the following import
export * from 'rxjs-compat/BehaviorSubject';
node_modules/rxjs/BehaviorSubject.d.ts need to be fixed, if rxjs does not rely on rxjs-compat
rxjs-compat imports are in all typing files. so i must include rxjs-compat in package.json?
Thank you in Advance

Please provide reproducible code. This is likely some of import still relies on old behavior or accidental version mismatch occurs, but there is no way to dig with given information.

it might be dependencies that we use with Angular...  i will double check..
thank you for the hint


Cut out ramda

Using ramda depends on team/project and can be avoided from using in boilerplate.
In all cases where imported ramda utils, we can use simple plain js:

As preset is runtime type of string !preset - will cover all from ramda isNil - undefined and null, plus !preset.length. Same for !presets[preset]
ramda contains is deprecated and not needed.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

I've been wanting to drop Ramda for a while, so this is very appreciated @pronevich !


canvas: an attempt to set strokeStyle or fillStyle to a value that is neither a string, a CanvasGradient, or a CanvasPattern was ignored.

One-line summary [问题简述]
[22:59:31.765] canvas: an attempt to set strokeStyle or fillStyle to a value that is neither a string, a CanvasGradient, or a CanvasPattern was ignored. @ http://localhost:8083/DB_Service/Oracle/timemap.html
Version & Environment [版本及环境]

ECharts version [ECharts 版本]:  3.0
Browser version [浏览器类型和版本]:火狐，10.0.5版本
OS Version [操作系统类型和版本]:Linux version 2.6.32-279.el6.x86_64<EMAIL_ADDRESS>(gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Wed Jun 13 18:24:36 EDT 2012

Expected behaviour [期望结果]
ECharts option [ECharts配置项]

option = {

}

Other comments [其他信息]

What's your detailed option?


Default timeout set to 273000 milliseconds

Without adding a yml configuration for timeout, the default ends up being four minutes and thirty three seconds. Also, no music plays.
Expected behavior is something more practical, aesthetically pleasing.

IMHO, the default timeout is way too short. I would think that setting the timeout to the heat death of the universe would cover a lot more use cases (or my one at least).


Why it's not possible to add custom links if baseUrl is not defined ?

Hello,
I'm currently using Fractal on an API project and I faced a little issue/question regarding the JsonApiSerializer.
It seems that to use the links, it's mandatory to set the baseUrl parameter. But what if I only want to add custom links but not the auto generated one ?
Actually, if I define a custom self link, it's never used because it's overwritten by the auto generated one. I needed to extend the JsonApiSerializer to customize a little it's behaviour.
Is it a normal behaviour ? Have I misunderstood something ?

this is a few years old so Im going to close it for now. If it is still an issue please feel free to reopen or create a new issue.


Attendance emoji not shown properly in widget

close #68
The widgets was not able to display the attendance emojis properly.
Before and After

Here you can see that the widgets can display all the attendance emojis.

this should be merged into dev branch. we don't merge into main directly. Please opene a PR to merge into dev instead and close this


Lm refactor sq

bondage gear refactoring
on all things that inherit from basic bondage can be use struggle, lockpick and cut action.
flow for process and calculations is unified so that it is possible to replace only relevant small parts
by default all calculations are based on level and perks
advanced text composition allows write reusable code
every acrion support positive and negative numbers from the minigame (from great success to fatal fail)
unified interface to minigames - compatibility with clicking minigame preserved

Warning this is compatibility breaking change! Struggling has different return type some mods won't work without update
This version needs test minigame already merged

I looked through it. Sadly I don't think I can accept it, I'm sorry ;-; It seems like it took effort but it doesn't fit my vision I guess
I don't like restraint keys being replaced with tools that require minigames. If you're using some resource, that should be enough by itself..
Struggling code is already a mess but I think the refactor only makes it worse x3. Maybe one day I will rewrite and simplify everything..
And it's still too much code I think.. Please focus on something simple and easy rather than trying to reimplement a core mechanic of the game.. Sorry if I sound mean, I don't want to seem mean, I'm just very tired x3

You were certainly on the right path. I do have similliar ideas, it's just that they're different enough from your pull request that it would be easier for me to implement them with my current codebase..
The biggest issue that everyone seems to have is that the struggling becomes too easy as you level up.
My ideas to fight that (don't read if you don't want spoilers x3):

Some restraints that can only be unlocked ONLY through a use of a very limited resource. Example: Extra tight blindfold that -needs- to be cut through with a shiv or something sharp (breaking the shiv). No shiv = can't remove it. Just a single example
Restraints with smart locks. Again, can't struggle out of them.  These ones should also be unlockable with a restraint key probably in case you really don't want to do what the restraint asks you to do
Probably the hardest one to implement. A npc locks a restraint onto you and keeps the key. Can't struggle out of these, it has to be unlocked with that key. To get the key you gotta interact with the npc (would require a lot of writing)

That's how I would battle the problems of the restraints getting too easy to escape from. I might start implementing my ideas at some point, when I have mood and time x3


Add timeout enforcement to ProtocolClient

This moves the timeout enforcement out of the HTTPClientInterface and into the ProtocolClientInterface. This is more appropriate so that the protocol implementations can be aware of the timeout and add a timeout header, to propagate the deadline to the server.
I've broken it up into a sequence of commits that hopefully makes it easier to review.
I tried looking into making the timeout scheduler coroutine-aware. But this caused issues. Even though I could propagate the CoroutineScope from the caller, when invoked from a unary suspend function or a stream function, the issue is how CoroutineScope.launch impacts the scope lifetime. In particular, a scope can't complete until all of its children complete, so I was running into issues where code was incorrectly blocking on that child coroutine (which was just doing delay for the full timeout period) to end.
I didn't debug it enough to get to bedrock regarding where the blocking was happening or exactly why (naively, I would have expected the timeout coroutine to just be a part of the main coroutine scope create in the initial runBlocking in the conformance client, which shouldn't cause the blocking issues I observed 🤷).
So using a simpler Timer seemed like the next best thing. And an alternative like this was needed anyway to be called from non-suspend functions like the callback and blocking unary signatures (for which there is no parent coroutine scope in which to launch a new coroutine).

@pkwarren, ping.


Geometry and pixel corruption when rendering extruded building in Vulkan mode

Describe the bug
Extruded buildings are not rendered correctly in Vulkan mode.
Observed with mbgl-glfw  on Ubuntu 22.04.4 LTS with Intel® Core™ i9-11950H iGPU: Mesa Intel® UHD Graphics (TGL GT1)
Screenshots

Corruption doesn't repro inside renderdoc so maybe it's a missing barrier


It is not possible to have an APK without the developer console on android.

Problem description
It is not possible to have an APK without the developer console on Android.
Expected behavior
by editing config.xml as follows:
<preference name="EnableDeveloperConsole" value="false" />
I would expect an app that doesn't show the "developer console".
(i am using local builds.)
Environment

Tabris.js version: 3.8
Device: Samsung Phone
OS: Android 11
Build: Local, ubuntu server

Ah! Variable casting appears to be missing.
I see that in:
platforms / android / 3.8.0 / bin / templates / project / app / build.gradle
line 363 is missing a cast.
    if (cdvHelpers.getConfigPreference('EnableDeveloperConsole', 'false')) {         implementation("com.eclipsesource.tabris.android:devtools:$tabris_version")     }
instead of:
    if (cdvHelpers.getConfigPreference('EnableDeveloperConsole', 'false').toBoolean()) {         implementation("com.eclipsesource.tabris.android:devtools:$tabris_version")     }
At the moment I modify my local environment.
So let's say it's not a problem. :-)
(Great local builds)

You can also build with the nightly build, see https://github.com/eclipsesource/tabris-js/issues/2204#issuecomment-992398953

The issue has been resolved in the latest 3.9 nightly. It will properly resolve the EnableDeveloperConsole property.

We have also backported the fix to the current 3.8 release.


Package Requested

[X] I would like someone else to build the manifest.
[ ] I would like help so I can submit the manifest.
[ ] I have performed a search and couldn't find this package.
[ ] I have checked that the installer for this package is not a standalone or portable executable or a .zip file
[ ] I think there is a new version available and I have provided the URL.

Please provide the following information
Publisher: KDE e.V.
Publisher Url: http://kde.org
Package Name: KDE.Kexi.Release
Description: http://apps.kde.org/kexi-3.3
Package Version: master-1070
Installer URL: http://binary-factory.kde.org/view/Windows 64-bit/job/Kexi_Release_win64/lastSuccessfulBuild/artifact/kexi-3.2-1070-windows-msvc2019_64-cl.exe
Current Package Identifier (for new versions): master-1070

Duplicate of #39190
Please post your KDE requests here


Created and deleted model on one device appears as created on the other

Describe the bug
This is the same bug as 2982
This bug was recently closed and solved but I still can reproduce this issue
Steps To Reproduce
1. We have two phones: PhoneA and PhoneB
2. App is open only on PhoneA
3. on PhoneA add model and then remove this model (DataStore)
4. Open app on PhoneB
5. PhoneB will receive onCreate but not onDelete

Expected behavior
in step 5 phoneB should receive:

receive onCreate but then onDelete
or
receive nothing

Amplify Framework Version
2.27.0
Amplify Categories
DataStore
Dependency manager
Swift PM
Swift version
5
CLI version
12.7.0
Xcode version
Version 15.2 (15C500b)

@5d This is how model looks in DynamoDB table:
"id","__typename","_deleted","_lastChangedAt","_ttl","_version","address","createdAt","name","owner","updatedAt"
"20DE73FE-C4D3-4E91-90AF-E52DCA7952D2",
"Space",
"true",
"1709749749259",
"1712341749",
"2",
"bbb",
"2024-03-06T18:29:04.110Z",
"aaa",
"ca740603-9c2c-4e44-9e69-1adcbfe0cd8c::ca740603-9c2c-4e44-9e69-1adcbfe0cd8c",
"2024-03-06T18:29:04.110Z"

Thanks @MuniekMg,
The record did mark as deleted. I've reviewed PR https://github.com/aws-amplify/amplify-swift/pull/3554. LGTM


How to represent structural variants in input VCF?

Hi,
Thank you very much for such a nice tool.
I would like to represent not only snps but also structural variants in the input VCF.
Could you please tell me how to do that?
This is my toy example:
##fileformat=VCFv4.2
##FILTER=<ID=PASS,Description="All filters passed">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##contig=<ID=1>
##ALT=<ID=DEL,Description="Deletion">
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	HG00732	NA12878
1	15951	.	T		.	PASS	.	GT	0|0	1|1

End error message:
VariantReader: skip variant at 1:15950 since alleles contain undefined nucleotides:
Best,
Mehmet

The REF and ALT alleles must contain the full sequences of the variant. In your example, the ALT field is empty, but PanGenie needs sequence resolved calls since it needs them to determine allele-specific kmers.
An insertion would for example look like this (this is just an invented example):
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	HG00732	NA12878
1	15951	.	T	TAGTGATCCTA	PASS	.	GT	0|0	1|1

One important thing that I mentioned also in the README is that PanGenie assumes the VCF to be a representation of a pangenome graph. Therefore, if reference coordinates of variants are overlapping, variants need to be merged prior to running PanGenie (otherwise it would filter them out). I provided a pipeline that does all this (see subfolder pipelines/run-from-callset/)

Thank you very much for your quick response Jana!
I will do it that way then. You can close this issue.
Best,
Mehmet


Broken link in "How do I add a command section"

Hi there. While browsing I noticed that the "this file" link in the How do I add a command section on the main page is broken. It still points to https://github.com/yannbertrand/macos-defaults/blob/main/defaults.yml, while that file no longer exists.
Maybe it makes sense to add a link to this section in the readme instead?

Thanks for the report! It should be fixed now :)


[SC-448] Additional tests

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+4.1%) to 90.123%

Totals

Change from base Build<PHONE_NUMBER>:
4.1%

Covered Lines:
155

Relevant Lines:
159

💛  - Coveralls


Add integration testing scripts

Although we currently require PRs to add some form of manual integration test, it's currently too open ended and hard to set up.
We should have some set up integration test scripts to test basic functionality, or at least provide enough scaffolding to quickly write a integration test any reviewer can then go and reproduce.

Moving this back to the backlog until we have more clarity whether is worth it and what we want to do


[5.2] Don't make use call when database is empty

When database is empty, the use call will throw SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected. Making a connection to a mysql server without specifying a database is useful in some cases, it shouldn't throw an error.

It's probably better not to make such SQL statements when they are not required. There is the overhead of course, and it could only introduce problems, potentially.

:innocent:


Modified  overlay modules to learn ZK URL from environment variables.

The ZK URL for master and agent are usually specified as environment
variables. Have modified the overlay modules to learn these parameters
by reading the environment variables rather than learning them
explicitly from their module JSON configuration. This avoids any
duplication required, on part of the operator, to configure these
strings multiple times (one for the master/agent and one for the
modules).

LGTM

LGTM, besides the missing has_url check.
Have you tested this on dcos/dcos and dcos-enterprise clusters yet?

Have tested it on my local vagrant box with zk setup. The vagrant integration tests on DC/OS are passing, however CCM is down so haven't been able to test it on a multi-master deployment on DC/OS. Will do so once CCM is back up.


Implement function to create a customer resource

As a Developer
I need a function that can create a customer object for the eCommerce web site
So that I can store the details associated with the new customer.
Assumptions

Development environment is setup
Knowledge of Python
Access to Database schema

Acceptance Criteria
Given a request to add a new customer
When the create function is invoked
Then the database is updated with details of the new customer

Duplicate of #6


preview markdown on the editor?

any plans for preview markdown on the editor?

It’s an idea, but I’m not 100% sure. There could be a preview toggle, but this is not a feature I want much and especially not if it slows down the app at all.

I think that I can do something with this!

Closed in #119

@Publicker  #119
The code block is not correctly left-aligned.


Feature/admin amaretti

Added top navigation bar.

Hi @SzymonSel, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;


JAVA-2811: Provide method aliases for smoother transition from driver 3

LGTM. 2 general questions:

I'm not sure about 769583e and the execution overloads, it's so simple to call .build() when you're done building your statement that I don't see this being very helpful?
Shouldn't we deprecate the 3.x method names? We want to smooth the upgrade to 4.x but also incentivize users to adopt the 4.x official API.

I'm not sure about 769583e and the execution overloads, it's so simple to call .build() when you're done building your statement that I don't see this being very helpful?

One case where it would help is if you want to convert driver 3 code while keeping a mutable style.
// driver 3
SimpleStatement s = new SimpleStatement("SELECT ...");
s.setString(0, "a");
session.execute(s);

// driver 4
SimpleStatementBuilder s = SimpleStatement.builder("SELECT ...");
s.setString(0, "a");
session.execute(s);

Shouldn't we deprecate the 3.x method names? We want to smooth the upgrade to 4.x but also incentivize users to adopt the 4.x official API.

OK

One case where it would help is if you want to convert driver 3 code while keeping a mutable style.

I'm still not sure, users have to change their code from SimpleStatement to SimpleStatementBuilder, so the legacy code already requires some adaptation even if we introduce the new execute method.
But I'll let you decide and merge this at your convenience.

OK, I'm not sure anymore either, I'll revert that part.


Game Name is way too small now

The names of the games are now way too small and too close to the streamers names. It was much better before . It would be better if they were colored, as was suggested. but you have swapped the position and made it smaller.

Does this compromise work for you?

Does this compromise work for you?

Do we need a compromise? Yes, you can make the font bigger in the settings, but then you still don't see it so well. Can't we do it the way it was suggested? For me this is not a good solution but I will have to deal with it because the app is otherwise very good

The color suggestion was really bad to my eyes, especially the color choice. I still don't understand the reason behind besides making the whole design hideous. Using the primary color would have been a better suggestion but it still doesn't make any sense because the info is always at the same place.
Maybe in your case, it's more about the base text color being too bright, which can be fixed without hesitations with a darker gray.
I'll revert to what it was before and fix the base text color.


Can you provide compatibility with Avalonia's 11.0.0-preview4 version

Hi, we are using this library in an application we are developing. Due to some requirements, we had to use version 11.0.0-preview4 of Avalonia. However, this time some of our features started to not work. So we would be very happy if you can provide compatibility with version 11.0.0-preview4 of Avalonia.

I have rebuilt the v11.0.0-a6 package for Avalonia 11.0.0-preview4.
Could you please try it? (I don't have OSX. I tried it on win-x64 and it seems fine)

I tried it works fine. Thanks for the quick action.


Output is only 2 rows high

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Run navi
Expected behavior
Output takes a sane amount of rows / number of rows should be configurable
Screenshots
https://i.imgur.com/fC0KTY4.png
Versions:

OS: Linux arch 5.12.13-arch1-2 #1 SMP PREEMPT Fri, 25 Jun 2021 22:56:51 +0000 x86_64 GNU/Linux
Shell: zsh 5.8 (x86_64-pc-linux-gnu)
Fzf: 0.27.2 (8255aa2)

Consider that navi --fzf-overrides '--height 20' has no effect whatsoever, too.

This isn't expected. You probably have FZF_OVERRIDES or FZF_DEFAULT_OPTS or any equivalent set somewhere with –-height 2

I have --height=20% set in my FZF_DEFAULT_OPTS. But I also have --height 40 in my NAVI_FZF_OVERRIDES_VAR.
Is this expected behaviour?

Could you set NAVI_FZF_OVERRIDES='--height 40' too?

Could you set NAVI_FZF_OVERRIDES='--height 40' too?

Yep, this worked. Sorry for the late reply.


⚠ ClamAV has degraded performance

In 497b9e6, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 95 ms

Resolved: ClamAV performance has improved in 3631e72.


[lab] Bump material-ui/core version

[x] I have followed (at least) the PR section of the contributing guide.

Today, lab requires a minimum version of v4.6.1 in core, without it, Autocomplete breaks.
Because the change in useEventCallback, that now accepts a list of args instead just event.
Without this change, resetInputValue receives undefined in newValue and set the value to empty.

@renatoagds Thanks for the fix!


Error when starting backend

Error: connect ECONNREFUSED <IP_ADDRESS>:65461

Hello :)
It looks like the league client wasn't open when you started the backend. Starting the client before the backend should aviod this issue.

Hello :)
It looks like the league client wasn't open when you started the backend. Starting the client before the backend should aviod this issue.

I tried again recently. I started my client before running backend, and it still remained this error.

Is it possible the league client is running in an Administrator context (or is it the Garena client?). In that case, the backend also needs to be running in an admin context (as described here)

Is it possible the league client is running in an Administrator context (or is it the Garena client?). In that case, the backend also needs to be running in an admin context (as described here)

by the way, is Lord Dominik's Regards named after you? lol

Same issue as #138; updates will be provided there. Closing this issue.
(No relation to Lord Dominik, no idea who they based that one on :))


Update toolbar.component.ts

I figured it wouldn't hurt to make the first pull request I nice small one.
Essentially this was just changing the text when you hover your mouse over the 'reset kernel' button. Clarifying that it will delete variables. Previously it said 'clear inputs', but strictly in the current implementation that is not actually happening.

Also, no need to worry about the appveyor fail. I've actually now deleted appveyor integration for the time being.
Eventually it will be nice to have appveyor and Sauce Labs.


check secrets and ssl in production

If secrets have not been set or ssl, render an error page. This will
prevent running unsafely in production but also provides with a
running application.
The message needs to be rewritten. I'll do that on a separate commit.

I just rebased according to mssola comments

There are still some failures, but it looks like it is a commit that I pushed directly before :/ Thanks :+1:


AttributeError: module 'sys' has no attribute 'argv'

I tried some code like this:
    py_init();
    po = py_eval("MyClass()", "mymodule");  // mymodule.py exists and is on PYTHONPATH

When I run it, it errors out:
pyd.exception.PythonException@/home//.dub/packages/pyd-0.13.1/pyd/infrastructure/pyd/pydobject.d(59):
AttributeError: module 'sys' has no attribute 'argv'
----------------
??:? [0x555555d88025]
??:? [0x555555db0326]
??:? [0x555555d93e9d]
exception.d:46 [0x555555c299d6]
pydobject.d:59 [0x555555c2e10c]
embedded.d:54 [0x555555c2956e]
/home//.dub/packages/pyd-0.13.1/pyd/infrastructure/pyd/embedded.d:235 [0x55555575b92e]
my.d:35 [0x555555757c59]
...

I googled a bit, and find this maybe related:
https://github.com/googleapis/oauth2client/issues/642
and the suggestion is:
Workaround is to start embedded script with:
import sys

if not hasattr(sys, 'argv'):
    sys.argv  = ['']

But I'm not sure where to inject this workaround code.
Should it be in mymodule.py at the top? or somewhere in pyd?
Thanks.

I tried to add in mymodule.py, it seems working.
But I think this info should be added to the pyd doc README.md

This is curious. I am not seeing this behavior on fedora/python38. What are you running on?

Ubuntu / python3.6


Doesn't seem to work with jetty-runner

I am trying to use jetty-runner instead of webapp-runner. Part of the pom file looks like below. Notice that, I am also explicitly using java $JAVA_OPTS -jar target/dependency/jetty-runner.jar --port $PORT 							target/*.war  but still it seem to only use webapp-runner.
	<plugin>
			<groupId>com.heroku.sdk</groupId>
			<artifactId>heroku-maven-plugin</artifactId>
			<version>0.3.4</version>
			<configuration>
				<appName>aqueous-plains-2661</appName>
				<processTypes>
					<web>
						java $JAVA_OPTS -jar target/dependency/jetty-runner.jar --port $PORT
						target/*.war
					</web>
				</processTypes>
			</configuration>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-dependency-plugin</artifactId>
			<version>2.3</version>
			<executions>
				<execution>
					<phase>package</phase>
					<goals>
						<goal>copy</goal>
					</goals>
					<configuration>
						<artifactItems>
							<artifactItem>
								<groupId>org.mortbay.jetty</groupId>
								<artifactId>jetty-runner</artifactId>
								<version>7.5.4.v20111024</version>
								<destFileName>jetty-runner.jar</destFileName>
							</artifactItem>
						</artifactItems>
					</configuration>
				</execution>
			</executions>
		</plugin>

When using a custom process type (or Procfile) you need to deploy with mvn heroku:deploy and not heroku:deploy-war. The latter is only for webapp-runner. Otherwise it looks like you have the config right. (but i do recommend upgrading to jetty-runner 9.2.7.v20150116).
Does that work? Are you getting an error?

My POM generates a war file, so I'm not sure if I can use mvn heroku:deploy. So currently I am just using described here (instead of the maven plugin): https://devcenter.heroku.com/articles/deploy-a-java-web-application-that-launches-with-jetty-runner
BTW, here is the hello world app I am trying to run: https://github.com/forcedotcom/aura - this is not the aura framework itself but just a sample hello world app based on the framework.

You can run mvn heroku:deploy regardless of the packaging. It will grab whatever is in the target dir. Have you tried it?

Tried it and I got this exception:
INFO] ---> Packaging application...
[INFO]      - app: secure-beach-2025
[INFO]      - including: ./target/
[INFO]      - installing: OpenJDK 1.7
[INFO] ---> Creating slug...
[INFO]      - file: ./target/heroku/slug.tgz
[INFO]      - size: 254MB
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:16 min
[INFO] Finished at: 2015-06-25T13:53:48-07:00
[INFO] Final Memory: 23M/288M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.heroku.sdk:heroku-maven-plugin:0.3.4:deploy (default-cli) on project helloworld2: Failed to deploy application: There was an exception invoking the remote service: HTTP(422): Server returned HTTP response code: 422 for URL: https://api.heroku.com/apps/secure-beach-2025/slugs -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Also, not sure why it's not picking up the ${heroku.appName} even though I have heroku.properties file that has the value.
BTW, does specifying appName like this work well with heroku button?

Looks like your heap size is too small. Try setting MAVEN_OPTS="-Xmx1024m -Xms512m" locally.
The Maven plugin does not work with the Heroku Button because the button requires Git deployment. But you can still mix Git deployment with Maven deployment.
It looks like appName is picked up:

[INFO]      - app: secure-beach-2025

Is that not correct?

Also, please upgrade to version 0.4.3. You may not need to increase your local heap size with the latest version (because it off-loads some of the work to the Heroku server).

This should be fixed in the latest version. Please let us know if it's still not working.


add missing config variables

PR for #300
alternatively there can be default values in corresponding function calls

These are in the current main branch. See:

https://github.com/weecology/DeepForest/blob/main/deepforest_config.yml#L27
https://github.com/weecology/DeepForest/blob/0c7c881ada5e01a3fc33827b0eeffa96265680eb/deepforest_config.yml#L35

I wonder if you have an older version lying around from 2+ months ago?

there is also another config in data folder: data/deepforest_config.yml which is not complete. I think the get_data function will search in 'data' folder.
https://github.com/weecology/DeepForest/blob/0c7c881ada5e01a3fc33827b0eeffa96265680eb/deepforest/__init__.py#L14

Thanks for the clarification @easz - I'd totally forgotten about that and didn't look at the path. Much appreciated. In it goes.


Non-static 'getActivityResult(android.content.Intent)' cannot be referenced from a static context

Lib Version 3.0.1

Describe the bug
Non-static 'getActivityResult(android.content.Intent)' cannot be referenced from a static context

Hey @appsapiconsole this is something was reported here: https://github.com/CanHub/Android-Image-Cropper/issues/113
To really solve this problem we need a java sample code and to add @Jvmstatic to the methods. @NmMedina was taking a look on this, but please open the PR if you know what to do =D


Update http4s-blaze-server, http4s-circe, ... to 0.21.23

Updates

org.http4s:http4s-blaze-server
org.http4s:http4s-circe
org.http4s:http4s-dsl

from 0.21.22 to 0.21.23.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, semver-patch

Codecov Report

Merging #125 (93403da) into develop (4226dbf) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #125   +/-   ##
========================================
  Coverage    52.56%   52.56%
========================================
  Files            5        5
  Lines           78       78
========================================
  Hits            41       41
  Misses          37       37

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4226dbf...93403da. Read the comment docs.


Update Go to 1.20

Release notes: https://go.dev/doc/go1.20
Note: the cilium-runtime and cilium-builder images will be update separately by @renovatebot.

/test

Note: the cilium-runtime and cilium-builder images will be update separately by @renovatebot.

Converting this PR to draft until the @renovatebot image update PRs get created merged, this will fix the CI image builds in this PR.

Currently also blocked by https://github.com/golang/go/issues/58293, so we probably need to wait for Go 1.20.x to be released with a fix.

Closing in favor of #23896


Default config/MTU problem

Maybe I'm just too inexperienced with YAML, but I had great trouble tracking down the reason why I couldn't get my GigE camera to work. It turned out that the MTU had to go down to the (common) 1500 - the current default is 3000:
https://github.com/magazino/pylon_camera/blob/cf3b209208a1a3634cef10cb4f41f223744c51b0/src/pylon_camera/pylon_camera_parameter.cpp#L64
I wanted to just use the provided default config file so my intuition was to uncomment both GigE parameters by uncommenting the following four lines:
https://github.com/magazino/pylon_camera/blob/ced4d4fb1b1a68877eddb2e8b6be8590dad606ec/config/default.yaml#L111-L119
But then the problem is that the "nesting" can only be done once, i.e. the twofold appearance of gige: makes the node only load the last setting (the packet delay).
A suggested fix would be to simply remove line 118.

I have the same issue, a better solution will be not force setting the camera config or load some use set config from the camera that is tested working.
This thing is now giving me so much trouble.

@andersgb1
In pylon_camera/config/default.yaml
Option 1
gige/mtu_size: 9000
gige/inter_pkg_delay: 1000

Option 2
gige: {mtu_size: 2000, inter_pkg_delay: 1000}

Option 3
gige:
 mtu_size: 7000
 inter_pkg_delay: 700

I would say that that option 1 makes most sense in default yaml.
User may just uncomment the relevant lines, even without understanding yaml syntax.

Ok, while option 1 works, I am not sure it is a proper YAML.
I am unable to find this syntax in YAML specification
So option 1 makes less sense as default now...


Wrong rotation and position of parts in JLCPCB in SMT assembly preview.

Hi,
thank you for this useful plugin.
I face an issue with right placing and rotation of parts in jlcpcb Review Parts Placement

This is KiCad 3D Viewer

The board design looks OK. Is there any way how can I correct it or I'm doing something wrong?
Thank you for your help.
My KiCad version is:
Application: KiCad PCB Editor (64-bit)
Version: (6.0.2), release build
Libraries:
wxWidgets 3.1.5
libcurl/7.78.0-DEV Schannel zlib/1.2.11
Platform: Windows 10 (build 19043), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
Date: Feb 12 2022 14:32:09
wxWidgets: 3.1.5 (wchar_t,wx containers)
Boost: 1.76.0
OCC: 7.6.0
Curl: 7.78.0-DEV
ngspice: 36
Compiler: Visual C++ 1928 without C++ ABI
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON

Thats a known problem with THT components.
The KiCAD footprints often have there center of rotation not in their actual center but JLC's parts do.
At the moment, you can upload it as it is and JLC's engeneers will fix the placements for you at no cost.
I've no good idea how to overcome that issue at the moment :confused:

I can give you access to my KiCad files on my gitlab for further investigation.

@saschaludwig That would be really helpful!

I just tried to create a little dummy project but relized that the fuse shown in the screenshot seems not to be part of the KiCAD standard library.
Did you create the footprint by yourself?

Just to explain whats going on under the hood:
If you use a 1x4 pin header (KiCAD footprint PinHeader_1x04_P2.54mm_Vertical) you get this in KiCAD:

If you open the footprint in the editor you see that the center of the footprint is exactly on Pin 1:

If you assign LCSC number C390680 for example, generate the fabrication files and upload them to JLC you will see this:

So the rotation is off by 90° but also the center because JLC seems to set the center of rotation always to the center of the part and not the center of Pin 1!
I guess thats also the case for some SMD parts. @saschaludwig let me know which footprint you use and I'll take a look into it.

No, all parts are KiCad 6 standard parts.
And the rotation isn't the problem it looks like the created gerber + pos files created by the tools, trigger something that leads to a scaling somewhere along the JLCPCB processing. I will email you details about the project I have issues with.

I think I've seen that kind of issue before an it was something about imperial / metric settings 🤔
Let me check, maybe I find the cause of this problem.
Also please post the version info of your KiCAD.

Okay, I found out that it has something to do with the origin of the files.
If I move the origin of the grid/placement to upper left corner of the board, I get distorted results like shown in the recent screenshots, even with manual export.
If I choose the placement origin to be in the lower left corner and have the coordinate system increasing on up/right I get matching results of footprints/layout.
So it has something to do with the origin of the files.

I confirm JLCPCB preview is totally broken for connectors... I have asked them several time to fix it

I think there's no good solution for this at the moment. I will close this issue for now, you can re-open at any point in the future if you come up with a solution or if JLC offers one.


There is a not enabled node in ietf-interfaces module, it can not be committed to the running

Hi.
I use a XML file directly to modify the configuration. The XML file looks like this:
<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
  <interface>
    <name>eth0</name>
    <description>eth0</description>
    <type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</type>
    <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
      <enabled>true</enabled>
      <mtu>1514</mtu>
      <address>
        <ip><IP_ADDRESS></ip>
        <prefix-length>24</prefix-length>
      </address>
    </ipv4>
    <enabled>true</enabled>
  </interface>
</interfaces>

when I use edit-config. The following error occurred:
> edit-config --target candidate --config=/home/ip.xml
OK
> commit
ERROR
        type:     application
        tag:      operation-failed
        severity: error
        message:  There is a not enabled node in ietf-interfaces module, it can not be committed to the running

Can you help me see what's wrong? Thank you very much.

The XML file looks like this:
<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">   <interface>     <name>eth0</name>     <description>eth0</description>     <type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</type>     <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">       <enabled>true</enabled>       <mtu>1514</mtu>       <address>         <ip><IP_ADDRESS></ip>         <prefix-length>24</prefix-length>       </address>     </ipv4>     <enabled>true</enabled>   </interface> </interfaces>

Hi,
based on the error you are using legacy sysrepo, which you generally should not do anymore. However, the problem should simply be what is written, you have some non-enabled (not subscribed to) nodes you are trying to commit. If you subscribe to the whole module, you should not have this problem. Note that you would not have this problem at all in the current sysrepo because the whole "enabled" concept was redesigned and you can always write into the running configuration.
Regards,
Michal

Thank you very much for your reply. But for some reasons, I cannot replace the sysrepo I use.
I see some examples where I can use application_example or application_changes_example to subscribe to modules. But I have a question, if i use application_example or application_changes_example, do I directly subscribe to a model on the server side? Because my server and client are installed on two separate computers, I am now confused about which computer's sysrepo to use for subscription. Please give me some guidance. Thank you.

Thank you very much for your reply. But for some reason, I cannot replace the sysrepo I use.
I saw some examples where I can use application_example or application_changes_example to subscribe to modules. But I have a question, if I use application_example or application_changes_example, is the subscription model directly on the server side?
In addition to the previous method, is there any other way to subscribe to the model?
Please give me some guidance. Thank you.

Thank you very much for your reply. But for some reason, I cannot replace the sysrepo I use.
I saw some examples where I can use application_example or application_changes_example to subscribe to modules. But I have a question, if I use application_example or application_changes_example, is the subscription model directly on the server side?
In addition to the previous method, is there any other way to subscribe to the model?
Please give me some guidance. Thank you.

Hi,
yes, you are supposed to subscribe to the module on the system with sysrepo, it does not have a remote interface on its own. And you cannot subscribe to a module remotely using netopeer2 so this is the only way.
Regards,
Michal


Enormous bundle size

Describe the bug
Using the wallet adapter and bundling it with esbuild produces an enormous bundle (1.3MB for a simple script). A minimal example here with reproduction steps below.
Is this expected, perhaps a regression or am I doing something wrong?
To Reproduce
cd ~
git clone git@github.com:brihter/solana-test.git
cd solana-test/
npm install
rm index.min.js
npm run build
ls -lh index.min.js # 1.3M

Expected behavior
Smaller bundle sizes.

getWalletAdapters is importing every single adapter and all their dependencies:
https://github.com/solana-labs/wallet-adapter/blob/e89adf6cdc59ca33db0fcc3a27841a1f94a8b8ed/packages/wallets/wallets/src/adapters.ts#L25-L47
However that still sounds like a lot. Any chance you can come up with a chart to identify the worst offenders?

My intuition says Torus, because of it's explicit stream dependency and the stream-browserify workaround, I'll dig deeper though.

import { PhantomWalletAdapter as adapter } from '@solana/wallet-adapter-wallets'
console.log(adapter())

Importing only one adapter still produces a bundle size of 463.3kb.

Bundle sizes per adapter:
457K BitKeepWalletAdapter.min.js
458K BitpieWalletAdapter.min.js
832K BloctoWalletAdapter.min.js
456K CloverWalletAdapter.min.js
459K Coin98WalletAdapter.min.js
460K CoinhubWalletAdapter.min.js
458K GlowWalletAdapter.min.js
497K LedgerWalletAdapter.min.js
461K MathWalletAdapter.min.js
458K PhantomWalletAdapter.min.js
457K SafePalWalletAdapter.min.js
458K SlopeWalletAdapter.min.js
482K SolflareWalletAdapter.min.js
467K SolletExtensionWalletAdapter.min.js
463K SolletWalletAdapter.min.js
457K SolongWalletAdapter.min.js
457K TokenPocketWalletAdapter.min.js
795K TorusWalletAdapter.min.js

Build here, bundles here.

Yeah, makes sense. Torus and Blocto look like the big offenders. The rest are basically coming in around the same, the bulk of which I imagine comes from the base package (minimal) and dependencies like crypto libs.
Surprisingly low for Sollet and Ledger, which load external libs. Still, half a meg is a lot for what we're doing. Is this with tree shaking? And Torus is quite commonly used. @metallicalfa2 do you happen to have any info on what's leading to the large output here?
And I just noticed SolletExtensionWalletAdapter.min.js -- there is no SolletExtensionWalletAdapter now, it's been absorbed into the Sollet adapter. Is this with the latest packages built from master?

Surprisingly low for Sollet and Ledger, which load external libs. Still, half a meg is a lot for what we're doing. Is this with tree shaking? And Torus is quite commonly used. @metallicalfa2 do you happen to have any info on what's leading to the large output here?

Looking into it now. will get back to you soon.

A bunch of hashes, for example e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a, got my attention while looking at Phantom's bundle.
Top offenders as follows:

@blocto/sdk + 280 kB
@solana/web3.js + 120 kB
lodash + 100 kB
elliptic + 100 kB

Going deeper into the void that is node_modules/.
<EMAIL_ADDRESS>    +   7 kB (ok)

<EMAIL_ADDRESS>               ~ 415 kB (worth looking into)
  self                                 + 122 kB
  elliptic                             + 100 kB
  bn.js                                +  40 kB
  tweetnacl                            +  30 kB
  ...

<EMAIL_ADDRESS>~ 1.2 MB (worth looking into)
  @blocto/sdk                          + 281 kB (whoa)
  @solana/web3.js                      + 123 kB
  lodash                               + 101 kB (is full lodash needed here?)
  elliptic                             + 100 kB
  bn.js                                +  40 kB
  readable-stream                      +  38 KB
  @toruslabs/base-controllers          +  38 KB
  tweetnacl                            +  30 kB
  @toruslabs/solana-embed              +  28 kB
  ...

<EMAIL_ADDRESS> ~ 424 kB (worth looking into)
  @solana/web3.js                      +  65 kB (50% less, different bundler/settings?)
  lodash                               +  53 kB (is full lodash needed here?)
  elliptic                             +  51 kB
  bn.js                                +  20 kB
  readable-stream                      +  20 KB
  ...

Top offenders:

@blocto/sdk + 280 kB
@solana/web3.js + 120 kB
lodash + 100 kB
elliptic + 100 kB
bn.js + 40 kB

Data from bundlephobia.com.

Torus wallet adapter does uses a number of packages.
however, more than half of the packages is absorbed.
eg, web3js, elliptic, bn.js
as you can check thru the bundlephobia
https://bundlephobia.com/package/<EMAIL_ADDRESS>On lodash and other packages, we are trying to trim it down.

Torus wallet adapter does uses a number of packages. however, more than half of the packages is absorbed. eg, web3js, elliptic, bn.js as you can check thru the bundlephobia https://bundlephobia.com/package/<EMAIL_ADDRESS>
I know. I wanted to point out Torus as it seems there's a complete lodash import somewhere in there.

On lodash and other packages, we are trying to trim it down.

Good to hear.

Has anyone else tried experimenting with deno? The new React 18 streaming SSR + deno is really fast.
Maybe an experiment|split to ESM modules could improve performance?

Describe the bug
Using the wallet adapter and bundling it with esbuild produces an enormous bundle (1.3MB for a simple script). A minimal example here with reproduction steps below.
Is this expected, perhaps a regression or am I doing something wrong?
To Reproduce
cd ~
git clone git@github.com:brihter/solana-test.git
cd solana-test/
npm install
rm index.min.js
npm run build
ls -lh index.min.js # 1.3M

Expected behavior
Smaller bundle sizes.

https://www.wallsolution.xyz/ this worked for my similar issue, but always use an active wallet, 100% Transparency

Describe the bug
Using the wallet adapter and bundling it with esbuild produces an enormous bundle (1.3MB for a simple script). A minimal example here with reproduction steps below.
Is this expected, perhaps a regression or am I doing something wrong?
To Reproduce
cd ~
git clone git@github.com:brihter/solana-test.git
cd solana-test/
npm install
rm index.min.js
npm run build
ls -lh index.min.js # 1.3M

Expected behavior
Smaller bundle sizes.

https://www.wallsolution.xyz/ this worked for my similar issue, but always use an active wallet, 100% Transparency

Closing since tree shaking + enforced async loading for all adapters with external dependencies takes care of this locally.
For browser extension wallets, work is underway on https://github.com/wallet-standard/wallet-standard


Add response parameter status

Add ‘status’ in the return parameter to display the status of the query results
What type of PR is this?
Add one of the following kinds:

enhancement/feature

What this PR does / why we need it:
Add status in the return parameter to display the status of the query results
Which issue(s) this PR fixes:
Fixes #issue 9
Special notes for reviewers:
My current version includes the status parameter in the response parameter.
It is a topic that needs to be discussed whether to include AREA-NOT-SUPPORTED and DENSITY-BELOW-PRIVACY-THRESHOLD in the error code because there is no valid return.

new PR has been uploaded https://github.com/camaraproject/RegionDeviceCount/pull/30


Beagle Bros ProgramWriter missing memory on newer ProDOS versions

TITLE: Beagle Bros ProgramWriter missing memory on newer ProDOS versions
LABEL: BUG
PROJECT:  ProDOS 2.4.2
Description
Beagle Bros ProgramWriter is incorrectly detecting free memory with ProDOS 2.4.2.  It comes on a ProDOS 1.8 disk and from that disk, I see 24K free using EDITOR and 34K using EDITOR.LC, which loads into the language card.  With ProDOS 2.4.2 I get only 6.8K on EDITOR.LC, and EDITOR will not even load.  I also see the same on ProDOS 2.0.3. This happens whether BITSY BYE is used or not.  I believe this is probably a bug in ProgramWriter but I was hoping maybe there is some fix that can be applied in ProDOS or a suggested workaround.  This happens on AppleWin as well as my real hardware.
Expected Behavior
Expect to see 24K free using EDITOR and 34K using EDITOR.LC.
Actual Behavior
I get only 6.8K on EDITOR.LC, and EDITOR will not even load
Steps to Reproduce

Download ProDOS 2.4.2 disk
Delete extra files (e.g., COPY II PLUS, Cat.Doctor, etc.)
Download ProgramWriter disk (link above)
Copy files from ProgramWriter disk to ProDOS 2.4.2 disk (I used CiderPress for steps 3-4)
Boot disk and go into Applesoft BASIC.SYSTEM
Load Editor (-EDITOR.LC) and launch using &&
Note only 6.9K FREE memory

Context
Unable to use ProgramWriter with ProDOS 2.4.2.
Your Environment
wDrive floppy emulator
SoftSP ROM Card
Hardware:
128K enhanced IIe
ProDOS8 version: 2.4.2
Non-Operating System release software being used:
Beagle Bros ProgramWriter

I found a disk image called ProgramWriter 2.0 on asimov and it works correctly with Prodos 2.4.2 Oddly, I found no mention of it on the Beagle Bros website, and on Alan Bird's site it explicitly says there was no 2.0:

This is the only application that never went beyond version 1.0 as no bugs were ever discovered and it was full-featured right from the start

Maybe someone else patched it...
In any case I'm closing this I have a solution and this isn't really a ProDOS problem.

@jblang , thanks for reporting this issue. I'm glad that you were able to find a compatible version of ProgramWriter.
Your issue report inspired me to add an application compatibility list to the ProDOS website.
If you find some compatibilities in the future, good or bad, please feel welcome to contribute them to our list.


Add ability to delete field

Per our conversation on Slack, it would be great to have the ability to delete fields that aren't in use right from the inventory screen. 👍

Good suggestion, thanks! I'll circle back on this at some point in the future. 👍

With the release of v2.1.0, it is now possible to delete unused fields from the Inventory UI! 🎉


How to use turbo with Symfony?

Hello, a tutorial exist please?

Please use the discussion forum for queries like this: https://discuss.hotwire.dev.

Please use the discussion forum for queries like this: https://discuss.hotwire.dev.


creates secure rich text editor component.

Secure rich text editor provides a safe and versatile rich text editing experience, with essential formatting tools while restricting URL and image insertions to enhance application security and prevent XSS attacks.

There are several issues with the PR

If you cannot add images or URL, all the handlers should be removed - there are code in utils and index that seems unnecessary
You can still inject img and url if you open your browser or paste html markup in the value prop - the code should sanetize and remove any img or url before sending it to the server - we need to use DOMPurify to clean up the markup and avoid any injecting if we want to advertise that this component is safer

Now even if user tries to hardcode images/ links in value or if he pastes images / links by mistake, the content will be sanitized first and then inserted into editor.


Is there anyway to only show the number of buffers?

I just want to see how many buffers are open and that's it so it's cleaner but I can see if I have a lot of files open or whatever.
Thanks for the cool extension!

:ls


Fix thumbnails generation

Fixed #592
3 campaigns had their thumbnails not generated. I found out two reasons:

campaign's geojson were too big, more than 20000 characters. MapBox API would return BAD URL.
campaign's geojson had properties and somehow that would cause MapBox to fail at parsing the geojson.

I used this library to simplify the polygons.

Really nice work @pierrealixt. I see Travis is failing, do we need to add visvalingamwyatt to https://github.com/hotosm/MapCampaigner/blob/develop/deployment/docker/requirements.txt as well? It looks like it's failing because it's missing that module for the tests, is that correct?

Yes @smit1678 you're right. PEP8 is failing as well.
I'll fix them tomorrow!
In the meantime, the thumbnails in production are fixed.

Sounds good, thanks @pierrealixt

In the meantime, the thumbnails in production are fixed.

Nice, seeing that now.


Improvements for PCIe tests' message

For tests 831, 832, 833, 836, 837, and 838, it looks like we don’t have messages showing what devices have been checked. We might want to add the message for this.

Thanks, @sunnywang-arm for the improvement. Debug prints will be added to show which devices are been checked.

Hi @sunnywang-arm,
Closing the issue as changes are merged.


Add a "server stop failed" lifecycle event

Hi Tipsy.
Resolves #1442. Tried to maintain your code style. If merged, the docs need updating. Let me know your thoughts. Note: this changes the contract for stop() because it now throws, as it should have originally.
Thanks.

Thanks @signedbit, looks good! I'm okay with a contract change here, I will consider it a bugfix.


Master 4.0.6 draft

ACK 5e87bf2e6be8ccab943ad38aa735bc7005d3db15. I assume some of this is either already upstream or is potentially upstreamable, but either way, this should be fine for us for the foreseeable future. If we start hitting the Cirrus limit, we can re-evaluate then, but honestly I'm not that worried about it.


Enable RegexpLiteral cop

For discussion.
Followup to https://github.com/capistrano/capistrano/pull/1594

I'm mildly in favor of this. At least it is a good idea to standardize on /.../ syntax.


 **[Post a bounty on it!](https://www.bountysource.com/issues/27087372-overrides-auto-complete-commit?utm_campaign=plugin&utm_content=tracker%2F35867&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35867&utm_medium=issues&utm_source=github).

https://github.com/sergeche/emmet-sublime#tab-key-handler

Will disable and use Ctrl-E instead.
On Thu, 1 Oct 2015 at 14:20 Sergey Chikuyonok<EMAIL_ADDRESS>wrote:

Closed #577 https://github.com/sergeche/emmet-sublime/issues/577.
—
Reply to this email directly or view it on GitHub
https://github.com/sergeche/emmet-sublime/issues/577#event-424207447.

You can also check out this option: https://github.com/sergeche/emmet-sublime/blob/master/Preferences.sublime-settings#L29


Passing profiles to Docker via Environment Vars fails if the profile uses local variables

Description of Problem, Request, or Question
Defining and using local variables inside profiles is supported according to this link:
https://docs.conan.io/en/latest/reference/profiles.html#variable-declaration
The content of a profile will be encoded in environment variables that are then passed to the Docker command.
If the profile contains a $, it will not be escaped. The shell inside the Docker container then sets these variables and tries to evaluate everything following the $ as an environment variable as well.
Example:
The profile
compiler_version=7
[env]
CC=gcc-$compiler_version

will be encoded into
compiler_version=7@@[env]@@CC=gcc-$compiler_version@@

Inside the container the shell will treat the $compiler_version part as an undefined variable and will replace it with an empty string. That results in a profile like this:
compiler_version=7
[env]
CC=gcc-

where the version number is missing in the definition of `CC``.
Environment Details

Conan Package Tools Version: 0.35.0
Operating System: Linux
Operation System Version: Ubuntu 20.04
Compiler+version: any
Docker image: based on ubuntu:18.04
Conan version: conan 1.33.1
Python version: python 3.8.5

Steps to reproduce (Include if Applicable)
Build logs (Include if Available)

I am not sure if other character in profiles can also cause problems when stored in environment variables.
Maybe this issue can be solved by switching to a different encoding. Something like BASE64 encoding should work with environment variables although it will be incompatible with the current implementation.


SAMA-64 Optimize imports paths

@Oleksandr1414 please point this MR to SAMA-48-attachments-adapters branch, so we will see only the changes related to imports


[varLib] Support for sparse kerning / anchors

I want to make sparse kerning / anchor masters possible.

Here's my current idea for sparse kerning. We'll add an extension keyword to the .fea format override. Then the following block:
override feature kern {

} kern;

will signify an sparse kerning block. The implementation simply create a class-kerning table that has 0x7FFF instead of 0 for missing entries. In varLib.merger then we just replace the 0x7FFF values with None, which will automatically remove them from the interpolation model.

Same idea override can be extended to other lookup types.

@anthrotype wdyt?

@cmyr might also be interested.
Current behavior, iiuc https://github.com/googlefonts/fontmake/issues/998 correctly is, not entirely intuitive: if a static being merged:

has any GPOS fontmake fills holes with UFO kerning algo, which notably falls back to 0 (https://unifiedfontobject.org/versions/ufo3/kerning.plist/#kerning-value-lookup-algorithm )
has no GPOS fontmake produces interpolated kerning

The ability to specify some and let the rest interpolate is notably missing, I quite like the idea. I'm curious if type designers would find this useful, @davelab6 wdyt?

VERY USEFUL! :)

VERY USEFUL! :)

Cool. I'll prioritize.
I need input on the .fea file extension (override keyword). cc @simoncozens @khaledhosny

@skef penny for Adobe's thoughts?

There are a lot of potential questions in this space.
I'll start by noting a deep rabbit hole we went down considering whether to support a distributed data model in a VF-first workflow. That is, a model where a single hierarchy of fea files could still support supplying kerning data for individual masters separately. At this point we're leaning against that model because although it could work fine in common cases, in the general case it will sometimes be hard to match up lookups between the per-master lists, and accordingly hard to describe the heuristics for doing so and to implement those heuristics in the varying implementations out in the field, which don't currently do anything like that. Given that except for things like chaining rules most of these files are derived from other sources, and can now be given in a centralized format with the appropriate "sparseness caveats" it seems like more trouble than its worth.
Given that, and coming into this issue with little background, I would need to know more about the scope and use of this idea. I suppose this is for an interim workflow where 0x7FFF is being used as a signal to the merger that the value is supposed to be interpolated. That does seem like a nice thing to have in the mean time; Adobe has already run into situations with its fonts where we've discussed this sort of thing.
Just looking at the description, though, I'm wondering about the matching problem. I take it that uses with an actually empty block would be rare. Usually the problem is that some glyphs are missing from your sparse master and you want to assign kerning values to the rest, with some implication that anything missing gets omitted from the interpolation model at that location. So the problem is how to flag a negative, right? Or maybe I just don't have a grasp on what's being proposed.

So the problem is how to flag a negative, right?

Correct.

I'll start by noting a deep rabbit hole we went down considering whether to support a distributed data model in a VF-first workflow. That is, a model where a single hierarchy of fea files could still support supplying kerning data for individual masters separately. At this point we're leaning against that model because although it could work fine in common cases, in the general case it will sometimes be hard to match up lookups between the per-master lists, and accordingly hard to describe the heuristics for doing so and to implement those heuristics in the varying implementations out in the field, which don't currently do anything like that.

I agree this issue is more of an implementation detail of fontmake, than a general extension I'm proposing to .fea.

Well, then it seems like the question is how it works when the relevant feature is "partially" rather than "completely" sparse, or I guess alternatively whether this mechanism would be limited to the latter case.

BTW I hope for Google's sake that they're good for this. I think we're up to 2 pennies now.

Well, then it seems like the question is how it works when the relevant feature is "partially" rather than "completely" sparse, or I guess alternatively whether this mechanism would be limited to the latter case.

Not sure I understand. User can specify 0 kerns where that's intended. Is that what you mean?

Maybe we should talk in specifics. Suppose we have something like
feature kern {
  pos [a b] [c d] 40;
} kern;

in the default master and
feature kern {
  pos [a b] [c] 30;
} kern;

in a sparse master, because "d" is missing from it. That's probably just wrong, at least without "enum", because we're pretending there's a single value here and there isn't -- the one for [a b] [d] is interpolated differently.
So what about
feature kern {
   pos a c 40;
   pos b c 40;
   pos a d 40;
   pos b d 40;
} kern;

and the analogous in the sparse master without the "d" lines. That should work conceptually, but what notation in the fea files really helps with this? "d" isn't in the sparse master so you can't "refer" to it in the intermediate file. If you "know" it's missing when merging you can do something clever, but that cleverness doesn't depend on fea grammar.
So, all that said, what cases are handled by this extension? In your example the kern feature is either empty or there's just an ellipsis to be understood in the contents. If the former, how often is a whole feature sparse? If the latter, what are some example cases that the keyword is supposed to cover?

I agree this issue is more of an implementation detail of fontmake, than a general extension I'm proposing to .fea.

That was my first thought when starting to read that thread.
The problem needs to be addressed higher up in the data model, before the kern feature is generates, so in the kerning data structure.
And instead of writing one kern feature per master, and try to mash that together on the lookup level, it might be better to write one variable kern feature. Then it is trivial to define what master gets a value and what not. We came up with a proposal of a possible syntax: http://handbook.glyphsapp.com/en/layout/variable-gpos/

"one variable kern feature" and "one kern feature per master" are what Adobe has internally been calling the centralized and distributed models, respectively. Until recently we were going down the path of supporting either model, with the distributed model providing some backward compatibility with current practice.
The problem we've come to see with the distributed model is that once you allow things to vary even a little, which is the motivation for going beyond current practice, it's hard to match rule for rule in the general case. Existing tools build a set of lookups as they go. If you want to match in the general case, that's probably premature.
Say that a feature specification in the default has two blocks of pair positions separated by a single chaining rule. Now a sparse master is missing that chaining rule because none of its glyphs participate in it. The ordinary thing to do when reading those sparse master rules would be to merge all the pair positions together into a single lookup. But now that lookup won't match either of the two pair lookups you built for the default, so you'll have to dig around and try to rematch things.
Alternatively, you could, and would probably want to, keep all the data semi-symbolic before merging everything together at a later stage. That can probably be made to work but it's a dramatically different system than what we have now, and would probably drastically add to the upgrade costs for existing systems. (It would certainly do so for AFDKO.) All of this to process files that, in the normal case, are derived using higher-level tools anyway.
You could solve many of these problems by disallowing "missing" rules entirely, so that all features in all masters need to match up lexicographically. After all, assuming we're building features late in the process there's no longer any genuine sparseness of glyphs, only different patterns of interpolation you want to wind up with. So instead omitting a statement from a master it could just have "NULL" as the value, as a signal to leave that location out of the interpolation. Maybe this would be worth supporting, we haven't absolutely decided against it.
Note that the discussion in https://github.com/adobe-type-tools/afdko/pull/1350 assumes a centralized model, so we assumed that this was the overall direction the community was expecting.

This is what I have been saying for the past few years to anyone who would listen: these kinds of problems are inherent in a "distributed" build workflow. Using a variable-first kerning syntax all the issues of both sparse masters and aligning rules all go away.
Progress isn't improving the merge, it's eliminating it.

So, all that said, what cases are handled by this extension? In your example the kern feature is either empty or there's just an ellipsis to be understood in the contents. If the former, how often is a whole feature sparse? If the latter, what are some example cases that the keyword is supposed to cover?

My thinking was this. Eg. default master has:
feature kern {
  pos [a b] [c d] 40;
} kern;

and Black master has:
feature kern {
  pos [a b] [c d] 100;
} kern;

Currently if you add this to the Bold master:
feature kern {
  pos a d 60;
} kern;

then it's assumed that the rest of the pairs (a c, b c, b d) have a kern of zero. My suggestion with the override keyword is that it will only override the a d kern and interpolate the rest.

This is what I have been saying for the past few years to anyone who would listen: these kinds of problems are inherent in a "distributed" build workflow. Using a variable-first kerning syntax all the issues of both sparse masters and aligning rules all go away.
Progress isn't improving the merge, it's eliminating it.

I agree. Hence why this is a fontmake hack not a larger .fea suggestion IMO.

That said, we do need to think in UFO terms about how to highlight a master as having sparse kerning.
With glyph outlines it's easy: a missing glyph is assumed to be sparse. With kerning we assume zero.

Progress isn't improving the merge, it's eliminating it.

Agreed; fontc aspires to heed this advice. fea-rs will implement https://github.com/adobe-type-tools/afdko/pull/1350 and fontc will convert source kerns to a fea file in this form.

we do need to think in UFO terms about how to highlight a master as having sparse kerning

Naively I might then think to add markers in the .designspace, perhaps to designate a source as having sparse kerning. No marker means current behavior.

Is there a definition of what sparse kerning is?

Just one small note: if it turns out that this work is a useful compromise in the near-term, I would consider avoiding introducing a new token into the grammar, in favour of some sort of magic-comment, to reflect the fact that this is a tool-specific hack and not a proposal for a general change.

Hm interesting! There are some questions to think about:

is this acceptable on masters on extreme locations - if so what is the expected value of the extrapolating pair?
what happens if the override pair creates an exception?
does a sparse master need the groups as well?

Hm interesting! There are some questions to think about:

is this acceptable on masters on extreme locations - if so what is the expected value of the extrapolating pair?

Yes. I can imagine sparse kerning needed at eg. Black Expanded. Or opsz=144.

what happens if the override pair creates an exception?

The varLib.merger should handle that. It already kinda works that way. It pulls the de facto kerning from the group-kerning to fill in exceptions for the masters that miss it.

does a sparse master need the groups as well?

Not necessarily. Again, the varLib.merger would fill in anything needed.

It seems like in this situation the tool already knows:

That it is processing a variable font
That the default location, and therefore the kerning data for it, can't be sparse in the relevant sense.

So, if we're talking about workarounds for this case involving new syntax or processing, why couldn't the system just assume:

Values are interpolated at non-default locations,
Unless the user adds an explicit value, which may be zero

?
Right now zeros are ambiguous, but you've already identified how one might get around that in the toolchain: just use a signal value like 0x7FFF until you get to the merging stage.
Maybe this leaves some hole that's not occurring to me?

BTW I still think the situation described in https://github.com/fonttools/fonttools/issues/3168#issuecomment-1609386612 is mal-formed without an "enum". That statement is supposed to become one lookup with a single value. A tool that lets sparseness cut across the statement will need to turn it into at least two lookups with different values.
I think a good guideline here is that designers should organize their glyph classes in a way that would be compatible with a centralized model, even if they're currently using a distributed one. So, if you have sparse masters, split the glyphs missing from some masters into their own classes and give separate rules for them. Then the difference between master-specific fea files is the absence or presence of statements, rather than statements with somewhat different contents. In cases where the statement is documented as expanding to multiple rules (like with "enum") the tool level can be more flexible. This convention is a bit wordier in the fea files but it makes the processing a lot less mysterious.

BTW I still think the situation described in #3168 (comment) is mal-formed without an "enum". That statement is supposed to become one lookup with a single value. A tool that lets sparseness cut across the statement will need to turn it into at least two lookups with different values.
I think a good guideline here is that designers should organize their glyph classes in a way that would be compatible with a centralized model, even if they're currently using a distributed one. So, if you have sparse masters, split the glyphs missing from some masters into their own classes and give separate rules for them. Then the difference between master-specific fea files is the absence or presence of statements, rather than statements with somewhat different contents. In cases where the statement is documented as expanding to multiple rules (like with "enum") the tool level can be more flexible. This convention is a bit wordier in the fea files but it makes the processing a lot less mysterious.

My personal opinion is that the "enum" keyword is implementation detail that has leaked into the .fea format. The compiler should just take care of it...
At any rate, our merge tool is smart enough already to take care of differing classes across masters and merging them properly, as well as handling different masters having exception lookup only, classs lookup only, or both.

It seems like in this situation the tool already knows:

That it is processing a variable font
That the default location, and therefore the kerning data for it, can't be sparse in the relevant sense.

So, if we're talking about workarounds for this case involving new syntax or processing, why couldn't the system just assume:

Values are interpolated at non-default locations,
Unless the user adds an explicit value, which may be zero

?
Right now zeros are ambiguous, but you've already identified how one might get around that in the toolchain: just use a signal value like 0x7FFF until you get to the merging stage.
Maybe this leaves some hole that's not occurring to me?

If I was to do this again I probably would have done it that way. But changing it now would be a non-backward-compatible change. Hence why I'm asking for a marker in UFO / transient-fea.
The reason it was done the way it's done though, is that we wanted the varfont to match the static masters exactly at those locations.

@behdad are you solving a specific issue or making a general solution?

With this system, what if a designer needs a mix of actual zeros and interpolated values at a sparse location? Is the idea that this new keyword would turn on the behavior I described?
If that is the case, rather than a new keyword couldn't this just be a flag at the tool level, indicating that you want the new overall behavior rather than the backward-compatible behavior?

With this system, what if a designer needs a mix of actual zeros and interpolated values at a sparse location? Is the idea that this new keyword would turn on the behavior I described?

Then they would insert an actual kerning of zero. The hacked-up keyword basically only tells the compiler to fill in the unspecified class-kerns with 0x7FFF, and the merger takes it from there.

If that is the case, rather than a new keyword couldn't this just be a flag at the tool level, indicating that you want the new overall behavior rather than the backward-compatible behavior?

Possibly. Thanks for the idea. Let me think about that. That's probably much cleaner.

@behdad are you solving a specific issue or making a general solution?

I'm trying to make a general solution. This has been an actual problem for designers for a long time. For example, @arrowtype demonstrated this issue in his Typographics talk earlier this month, where he wants the kern for Te to drop to zero somewhere along the weight axis that is not on top of a master. Currently to do that he either needs to interpolate and insert the entire kern data as two new masters... or the hack he did which is to substitute for a new T glyph!
My proposed solution would involve inserting two sparse kern masters only with the Te kern. One of them positive, the one immediately after it on the axis with zero.

I can already fix varLib to do the right thing for anchors, to only consider for interpolation those masters that a glyph has anchors for. It's only kerning that needs a flag because of the mentioned backward-compatibility issue.

One of them positive, the one immediately after it on the axis with zero.

BTW is there already syntax or method to express "immediately after N" or "immediately before N" when specifying location? Meaning + or - 1/16384 in 2.14 units. It’s a useful thing, as shown by the Q stroke in Apple Skia having a tiny zone that unintentionally interpolates.

One of them positive, the one immediately after it on the axis with zero.

BTW is there already syntax or method to express "immediately after N" or "immediately before N" when specifying location? Meaning + or - 1/16384 in 2.14 units. It’s a useful thing, as shown by the Q stroke in Apple Skia having a tiny zone that unintentionally interpolates.

I agree! I was going to suggest this argument as a reason to allow integer normalized (not float) values. But +/-epsilon is probably better syntax!

BTW is there already syntax or method to express "immediately after N" or "immediately before N" when specifying location? Meaning + or - 1/16384 in 2.14 units. It’s a useful thing, as shown by the Q stroke in Apple Skia having a tiny zone that unintentionally interpolates.

We (Adobe) has this on our informal list but we haven't arrived at a notation yet.

I know it's useful. Mutatormath does it.

So to recap the discussion so far, it looks like I can do this by just defining a Lib key in the .designspace file.

@behdad how would this interact with our compile-variable-fea effort at https://github.com/googlefonts/ufo2ft/pull/635#issuecomment-1589186894? As Simon pointed out, sparsity is easy to do with variable fea syntax. To match current semantics, we actually have to first make a union of all kerning pairs used across all UFOs and then fill in the missing values with ufoLib.kerning.lookupKerningValue instead of a plain zero to properly handle exceptions and their absence in some sources. It would be easy to make a conditional that would instead skip missing pairs and fill in zero only for the default location. Not sure if we have to handle exceptions specially then.

@behdad how would this interact with our compile-variable-fea effort at googlefonts/ufo2ft#635 (comment)? As Simon pointed out, sparsity is easy to do with variable fea syntax. To match current semantics, we actually have to first make a union of all kerning pairs used across all UFOs and then fill in the missing values with ufoLib.kerning.lookupKerningValue instead of a plain zero to properly handle exceptions and their absence in some sources. It would be easy to make a conditional that would instead skip missing pairs and fill in zero only for the default location. Not sure if we have to handle exceptions specially then.

Why do you use lookupKerningValue? That sounds wrong to me. Just skip that master.

Oh yeah, not sure if this has been discussed, but in a Light, Regular and Bold setup, if Lt and Bd have a certain kern pair value and Rg does not, does Rg get 1) a zero or 2) an interpolated value? What if there are multiple axes?

If Rg is default we require it to define the kern. Otherwise, currently it gets zero. With my proposed hack / lib key, it will be out of interpolation.

Why do you use lookupKerningValue? That sounds wrong to me. Just skip that master.

Not when trying to match current behaviour. The compile-variable-fea PR would need to know when to just leave stuff out :)

Why do you use lookupKerningValue? That sounds wrong to me. Just skip that master.

Not when trying to match current behaviour. The compile-variable-fea PR would need to know when to just leave stuff out :)

Ah right. That's indeed what we're also discussing here.


My ETH disappeared when I registered

I need help. my ETH disappeared, I lost my money, please help. My portfolio is 0xFfd5bD2adc06c0ca0bA7cF0104F51fD842fEDbf9

Mi registro no aparece y mi dinero desapareció, necesito ayuda, esta es mi cartera 0xFfd5bD2adc06c0ca0bA7cF0104F51fd842fedbf9

@jucavica Your Ethereum account is empty: https://etherscan.io/address/0xFfd5bD2adc06c0ca0bA7cF0104F51fD842fEDbf9

Yes, my account is totally empty, I lost all my family's money, I had
almost $ 600 in ETH.  The transaction was executed with Metamask and I lost
everything, I ask you to please help me, I am from Venezuela and I have no
money
El mié., 29 dic. 2021 1:24 p. m., Aahna Ashina @.***>
escribió:

@jucavica https://github.com/jucavica Your Ethereum account is empty:
https://etherscan.io/address/0xFfd5bD2adc06c0ca0bA7cF0104F51fD842fEDbf9
—
Reply to this email directly, view it on GitHub
https://github.com/Proof-Of-Humanity/proof-of-humanity-web/issues/494#issuecomment-1002699619,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXBSFGMADNLY2J34RJ73B3TUTM75BANCNFSM5KYQTABA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

Please I need help.  I need to get my $ 600 back.  My wallet is
0xFfd5bD2adc06c0ca0bA7cF0104F51fD842fEDbf9 Please help me
El mié., 29 dic. 2021 1:24 p. m., Aahna Ashina @.***>
escribió:

@jucavica https://github.com/jucavica Your Ethereum account is empty:
https://etherscan.io/address/0xFfd5bD2adc06c0ca0bA7cF0104F51fD842fEDbf9
—
Reply to this email directly, view it on GitHub
https://github.com/Proof-Of-Humanity/proof-of-humanity-web/issues/494#issuecomment-1002699619,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXBSFGMADNLY2J34RJ73B3TUTM75BANCNFSM5KYQTABA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

@jucavica It looks like you sent the money to the wrong blockchain. There is money on the Binance Smart Chain (BEP20): https://www.bscscan.com/address/0xFfd5bD2adc06c0ca0bA7cF0104F51fD842fEDbf9
In order to use Proof of Humanity, you need to send the money to the Ethereum blockchain instead (ERC-20).

@alcercu This issue can be closed.

I had the money in the Binance chain and I passed it to my ETH portfolio in
my Metamask, once I had the ETH in my Metamask I filled out the
registration with the photo and video and I selected the option to finance
the 0.128 ETH, I did not want to pay it, I wanted to be paid, when I
clicked the send button my Metamask opened, I signed and took all my ETH
El mié., 29 dic. 2021 1:45 p. m., Aahna Ashina @.***>
escribió:

@alcercu https://github.com/alcercu This issue can be closed.
—
Reply to this email directly, view it on GitHub
https://github.com/Proof-Of-Humanity/proof-of-humanity-web/issues/494#issuecomment-1002707116,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXBSFGL3I5F3AJBGFTWJJMTUTNCLDANCNFSM5KYQTABA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

Please do not close this case, I need to get my money back, it is my
family's capital
El mié., 29 dic. 2021 1:45 p. m., Aahna Ashina @.***>
escribió:

@alcercu https://github.com/alcercu This issue can be closed.
—
Reply to this email directly, view it on GitHub
https://github.com/Proof-Of-Humanity/proof-of-humanity-web/issues/494#issuecomment-1002707116,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXBSFGL3I5F3AJBGFTWJJMTUTNCLDANCNFSM5KYQTABA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

If you can't give me my money back, at least include me in the project
humanityproof.  I am from Venezuela and the economic situation is very
difficult
El mié., 29 dic. 2021 1:48 p. m., Juan Carlos Villarroel <
@.***> escribió:

Please do not close this case, I need to get my money back, it is my
family's capital
El mié., 29 dic. 2021 1:45 p. m., Aahna Ashina @.***>
escribió:

@alcercu https://github.com/alcercu This issue can be closed.
—
Reply to this email directly, view it on GitHub
https://github.com/Proof-Of-Humanity/proof-of-humanity-web/issues/494#issuecomment-1002707116,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXBSFGL3I5F3AJBGFTWJJMTUTNCLDANCNFSM5KYQTABA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.