frr: fix cross compilation and add advanced options

Description of changes
FRR did not cross-compile from x86-64 to aarch64, because the cli interface helper clippy, needs to be compiled with the build host toolchain. After some failed experiments inside default.nix, I concluded, that it would we cleaner to add a small helper package, which can the be built with the native toolchain and reference clippy from there. As this is frr internal, I did not expose it to all-packages.nix.
SNMP is used with net-snmp-config to obtain the compilation flags. It did not get this working without binfmt, as it either is called in the native form and returns e.g. x86-64 libs, which do no link on aarch64 or it is in aarch64 form, which does not execute without binfmt. Therefore I made snmp support conditional on a working host or binfmt toolchain.
For networking purposes the exposed options of the package where to small, I added most networking relevant options, like route replacement semantics and made it possible to disable most of the daemons if hardening is a need (e.g. only BGP supported).
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

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

1 package built:

frr

Waiting for CI, that's pretty good already, thanks!

@RaitoBezarius


Outdated docs

Hello, I'm trying to implement PACT in a project using JVM. I tried to follow the walktroughs/workshops, but it seems they are all outdated!
For example, the next classes don't exist in recent versions:

ConsumerPactTestMk2
PactProviderRuleMk2

Example: https://github.com/DiUS/pact-jvm/tree/master/consumer/pact-jvm-consumer-junit
the recommended way is thus not available.
Trying to create a tests implementing the base abstract class (ConsumerPactTest) doesn't work. The newer pact-jvm-release has 2 versions of the 'RequestResponsePact'. One in 'au.com.dius.pact.model.RequestResponsePact' but also one in 'au.com.dius.pact.core.model.RequestResponsePact'.
This makes it so that you cant implement the 'ConsumerPactTest'-interface because the interface requires you to return pact.model.RequestResponePact but the PactDslWithProvider builder you receive returns pact.core.model.RequestResponsePact.

You must have mixed different versions of the Pact-JVM libraries.
au.com.dius.pact.model.RequestResponsePact -> 3.5.x or 3.6.x (3.6.13 is the latest)
au.com.dius.pact.core.model.RequestResponsePact -> 4.0.x (4.0.0-beta.6 is the latest)
You can't mix 3.5, 3.6 and 4.0 versions.
Which workshops are you using? If it is https://github.com/DiUS/pact-workshop-jvm/blob/step4/consumer/build.gradle then that is based on 3.5.14

Also, in 4.0.x versions the classes are just ConsumerPactTest and PactProviderRule


Change Twitter/ X logo to white

Description
This PR fixes #1367
Notes for Reviewers
I fixed the Twitter/ X logo. Now its white when its hovered instead of blue
Signed commits

[x] Yes, I signed my commits.

can i know what is missing? I wrote the signoff on vs code commit message but i don't know why it wasn't correct

I don't know. Can you?


Avoid moving an Input Map action above any builtin action

Fixes #79989
This PR enables the _action_reordered function to reject the request if the action is being moved above any builtin action or between builtin actions.

Could you rebase so we can run the CI again (which failed probably for unrelated reasons)?


j is out of scope here

Is it supposed to be in the for loop a few lines up?
https://github.com/creationix/jsonparse/blob/b2d8bc6db4f6be3f276752b3b9f882b1945afede/jsonparse.js#L172

var isn't scopes to blocks like let/const, so this declaration should be available until the end of the function

Well today I learned :)
I haphazardly threw your code in ChatGPT and asked it to make it Typescript. I kinda like going through and hunting the things that need "fixing" once I change js to ts
I'm here in your repo from https://github.com/stephenplusplus/jsonl which uses it as a dependency

not my code! just happened to have github notifications enabled for this repo from a very long time ago


Skip cache using useResource hook

Without using the react hooks you can do something like that to skip the cache:
const state = await resource.refresh();

But is it possible to skip the cache using the useResource hook? The example below returns the movie object from the cache.
const client = useClient();
const resource = client.follow("movie", {id: id});
const {loading, error, resourceState, setResourceState} = useResource(resource);

Interesting idea. Usually I would recommend to people to try and figure out why they need it (can you invalidate the cache in another way? why does it need to be refreshed?)
However, I think there's valid reasons to want this. For instance, if you expect that the server may have had a state change (perhaps by another user).
So, makes sense to me a s a feature request; and this is something that should probably be extended to other hooks like useCollection


feat(kms): add supported providers func

Signed-off-by: Furkan<EMAIL_ADDRESS>Cross ref: https://github.com/sigstore/cosign/pull/1475/files
To provide better UX for the consumer clients to check whether given provider exist or not.

Summary

Ticket Link

Fixes
Release Note

FYI: This might have some overlap with https://github.com/sigstore/sigstore/pull/276 -- I'm fine if this gets merged first, in either case one of us will have to rebase.

Awesome it worked! 🎉
(just kidding, I definitely knew it would work 😅 )


FreeBSD support

I would very much like to see FreeBSD support upstream, so am submitting this issue to track.
I have prototyped adding FreeBSD CI vi Cirrus-CI and will clean up and submit the patches if there's a willingness to add support.
Example CI run: https://cirrus-ci.com/task/6608512263651328

FreeBSD is certainly a relevant operating system and we want to support it. SafeSide is focused on CPU misbehavior, so there is no reason to restrict its coverage only to some operating systems. At the same time we would really like the FreeBSD community to participate in here. However, we won't have too much time to invest in supporting specifically the FreeBSD and we cannot commit to some systematic quality control on FreeBSD beyond your CI - FreeBSD will be in a similar position as currently MacOS or Windows. If you provide us with the FreeBSD CI, we will do our best in order not to break it.
There are some examples that should work on FreeBSD right out of the box - Spectre v1 PHT, Spectre v1 BTB SA, Spectre v4 or recursive Ret2spec. Some other examples should work just with deleting the Linux ifdefs and extending the CMake configs - e.g. L1TF, Meltdown-DE or Meltdown-AC. The rest of the examples would probably require some work to be done - mostly those using kernel modules or some specific Linux syscalls (modifying the LDT, pinning threads on cores, etc.). You are welcome to port existing demonstrations to FreeBSD as well as create new ones.


[Bug] The client receives an application offline change notification, but channel.close is not triggered 100% of the time

Pre-check

[X] I am sure that all the content I provide is in English.

Search before asking

[X] I had searched in the issues and found no similar issues.

Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
Dubbo Java: 3.2.3
JDK8
Use K8s
Steps to reproduce this issue
Provider and Consumer config:
<dubbo:application name="${spring.application.name}" logger="slf4j" register-mode="all"  metadata-type="remote" >
<dubbo:parameter key="qos.enable" value="false" />
</dubbo:application>
other config property:
dubbo.registry.parameters.register-consumer-url : true
dubbo.application.serialize-check-status : DISABLE
dubbo.application.enable-empty-protection : true
dubbo.provider.prefer-serialization : hessian2
dubbo.provider.serialization : hessian2
I'm from dubbo 2.7.8 upgrade to 3.2.3, found that when the provider referrals, consumers occasionally trigger org.apache.dubbo.remoting.exchange.support.header.ReconnectTimerTask rewiring (only once), The provider itself closes the channel. But I've looked through the code, and if nacos is notified to go offline, the client will destroy the old DubboInvoker, triggering the channel shutdown and leaving the ReconnectTimerTask empty.
My situation now is that I see the log org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory class has come in, also found that destroy the invoker corresponding log, However, the Close netty channel log did not find that although the application offline notification came, it did not close the channel.
Because in the process of gradual launch, the logs I give you are all test environments, all in the 3.2.3 version. The production environment is basically 2.7.8, and only one application is 3.2.3
——————————————————————————————————————————————————
我是从dubbo 2.7.8升级到3.2.3,发现当提供者下线的时候，消费者偶尔触发org.apache.dubbo.remoting.exchange.support.header.ReconnectTimerTask的重连（仅一次），是因为provider自己关闭channel了。但我浏览过代码，如果通知了nacos下线，client会将旧的DubboInvoker销毁，从而触发channel关闭以及将ReconnectTimerTask的任务置空。
现在我的情况是，我看日志org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory类有进来，也发现destroy invoker对应的日志，但是Close netty channel 的日志并没有发现，那就是虽然应用下线通知过来了，但是并没有关闭channel。
What you expected to happen
I think org.apache.dubbo.rpc.protocol.dubbo.ReferenceCountExchangeClientcounter problem, lead to can not close the channel. Because my local online and offline is normal, only in the test environment and online environment is repeated, just look at the log can not see the problem
Anything else
2024-11-22T14:53:36,348+0800 [DUBBO] destroy invoker[DefaultServiceInstance{serviceName='order', host='<IP_ADDRESS>', port=11060, enabled=true, healthy=true, metadata={dubbo.endpoints=[{"port":11060,"protocol":"dubbo"}], dubbo.metadata.revision=e9aa0faa8181f81a787a5ce1362ce1c7, dubbo.metadata.storage-type=remote, timestamp=1732256698869}}, service{name='com.xxx.xxx.client.rpc.OrderRuleCheckRpcService',group='uat',version='null',protocol='dubbo',port='11060',params={side=provider, heartbeat=30000, release=3.2.3, methods=check,checkAndThrowEx, logger=slf4j, deprecated=false, dubbo=2.0.2, threads=20, interface=com.xxxx.xxxx.client.rpc.OrderRuleCheckRpcService, service-name-mapping=true, threadpool=cached, timeout=1000, generic=false, revision=1.0.0, serialize.check.status=DISABLE, serialization=hessian2, retries=0, metadata-type=remote, application=order, prefer.serialization=hessian2, dynamic=true, enable-empty-protection=true, group=uat},}] success. , dubbo version: 3.2.3, current host: <IP_ADDRESS>
2024-11-22T14:53:36,348+0800 [DUBBO] 1 deprecated invokers deleted., dubbo version: 3.2.3, current host: <IP_ADDRESS>
2024-11-22T14:53:36,349+0800 [DUBBO] serviceKey:uat/com.xxxx.xxxx.client.rpc.OrderRuleCheckRpcService Instance address size 2, interface address size 3, threshold 0.0, dubbo version: 3.2.3, current host: <IP_ADDRESS>
2024-11-22T14:53:36,349+0800 [DUBBO] Received invokers changed event from registry. Registry type: instance. Service Key: uat/com.xxxx.xxxx.client.rpc.OrderRuleCheckRpcService. Urls Size : 2. Invokers Size : 2. Available Size: 2. Available Invokers : <IP_ADDRESS>:11060,<IP_ADDRESS>:11060, dubbo version: 3.2.3, current host: <IP_ADDRESS>
It does not make sense that these logs are triggered, but Close  Netty channel does not occur.
触发了这些日志，但是并没有发生Close Netty  channel,  这并不合理。
Are you willing to submit a pull request to fix on your own?

[X] Yes I am willing to submit a pull request on my own!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Normally it will be also notifyed by RegistryDirectory, because it is dual registration(interface & instance). when all of them finished destory, the count of ReferenceCountExchangeClient will be zero, so it will be destory.

@laywin That is now the Destory of the ServiceDisCoveryRegistrydirectory, but the Destroyunovokers triggered by the registryDirectory did not print the destruction log. That is, nowadays, all INVOKEER destroyed. ReferenceCountexchangeClient's counter is not 0, and it will not netty client close. How should I check why it is not ruined? Intersection Normally, ServiceDiscoveryRegistryDirectory and RegistryDirectory will be triggered? Or is there any ready -made case for reference?
——————————————————————————————————————————————————————
那现在就是触发了ServiceDiscoveryRegistryDirectory的destory，但是在RegistryDirectory触发的destroyUnusedInvokers 却没有打印销毁日志。那就是现在没有调用完所有invokeer销毁，ReferenceCountExchangeClient的计数器不为0，就不会netty client close. 我应该怎么排查为什么会没有销毁完呢？？正常来说ServiceDiscoveryRegistryDirectory和RegistryDirectory都会被触发吧？或者有什么现成的案例提供参考？

when provider shutdown, in consumer side you can watch the network connect (netstat -apn | grep 20880)

@TerryLam2010 Can you test on the latest Dubbo 3.2 version. We have fixed several concurrency issues in 3.2

@AlbumenJ I am using Dubbo 3.2.3 in the test environment. The issue is that the instance-level offline notification for the ServiceDiscoveryRegistryDirectory has come, but the interface-level notification for RegistryDirectory has not, resulting in the counter of ReferenceCountExchangeClient not being zero.Could you tell me how the refreshInvoker in RegistryDirectory can be triggered? Is there a sequence of events between ServiceDiscoveryRegistryDirectory and RegistryDirectory?
——————————————————————————————————————————————————————
我在测试环境就是使用3.2.3的dubbo，现在的问题就是ServiceDisCoveryRegistrydirectory实例级的下线通知来了，但是RegistryDirectory 接口级的通知没有，导致ReferenceCountExchangeClient的计数器不为0。能不能跟我说下，RegistryDirectory的refreshInvoker怎么才能被触发呢？ServiceDisCoveryRegistrydirectory和RegistryDirectory 有没有先后关系？

@AlbumenJ I am using Dubbo 3.2.3 in the test environment. The issue is that the instance-level offline notification for the ServiceDiscoveryRegistryDirectory has come, but the interface-level notification for RegistryDirectory has not, resulting in the counter of ReferenceCountExchangeClient not being zero.Could you tell me how the refreshInvoker in RegistryDirectory can be triggered? Is there a sequence of events between ServiceDiscoveryRegistryDirectory and RegistryDirectory? Due to some class deletion issues, I cannot upgrade beyond version 3.2.3. The maximum version I can currently use is 3.2.3. Can you tell me what code was modified to fix this problem? Regarding the provider going offline, I am not directly executing "ApplicationModel.defaultModel().destroy()". Instead, I first execute "Offline offline = new Offline(ApplicationModel.defaultModel().getFrameworkModel()); offline.execute(null, null);", and after waiting for 10 seconds, I then execute "ApplicationModel.defaultModel().destroy()." —————————————————————————————————————————————————————— 我在测试环境就是使用3.2.3的dubbo，现在的问题就是ServiceDisCoveryRegistrydirectory实例级的下线通知来了，但是RegistryDirectory 接口级的通知没有，导致ReferenceCountExchangeClient的计数器不为0。能不能跟我说下，RegistryDirectory的refreshInvoker怎么才能被触发呢？ServiceDisCoveryRegistrydirectory和RegistryDirectory 有没有先后关系？ 由于一些类删除问题，导致我不能再升级超过3.2.3。现状能使用最大的版本只能是3.2.3。能否告诉我，修改了什么代码从而修复这个问题。对应provider下线，我不是直接执行 ApplicationModel.defaultModel().destroy() 的。而是先执行了 Offline offline = new Offline(ApplicationModel.defaultModel().getFrameworkModel());offline.execute(null, null); 等待了10秒之后才执行 ApplicationModel.defaultModel().destroy()。

We have fixed couple of bugs about connections in 3.2.x and it is hard to figure out which. :)


Style

Updates for PEP8 and other small things.

(the kind of editing I can do in a conference room while jet-lagged)


Support for getResponseHeaders

Hi!
First of all, thanks for this lib, it's made testing our Mithril code a lot easier!
We're bumping into an issue with xhr.getResponseHeader in the fake xhr object. Are there plans to add it? Should I go try a pull request? :)

Hi Carlos, glad you're finding it useful. I'm focusing on other project work at the moment so yes, feel free to add a pull request. A very useful addition!
I probably will get round to extending the library. It served my earlier purpose, but I admit it is a bit spartan. Better mocking, headers and expectation reporting would make it more useful in the mainstream.


United Ossetia

quote from the wiki
"South Ossetian secessionist authorities demand independence or unification with North Ossetia"

This is already in the mod via national reunification. Nort Ossetia must be independent,

I just played as south Ossetia and north Ossetia and there is no event event when north Ossetia is independent (not sphere, not vassal)

There is a decision - form_union_nation.
But looking on it Ossetians are not set to have union core. Will make the south ossetian the union core for them.


Self-hosted dnscrypt-server timeout

Hi everybody,
hopefully somebody can help me out. About a year ago I started using the dnscrypt-server docker container and it worked perfectly. After an update a few months ago I am getting a timeout to my server and I really don't know what is the problem.
Using this docker command:
sudo docker run --name=dnscrypt-server -p 8888:443/udp -p 8888:443/tcp \
--ulimit nofile=90000:90000 --restart=unless-stopped \
-v /home/xxx/docker/dnscrypt-server/keys:/opt/encrypted-dns/etc/keys \
jedisct1/dnscrypt-server init -N prxxxxx.tech -E 24.xxx.xxx.xxx:8888

The firewall of the server and the router are both properly configured (+ it already worked in the past), I already tried to reset all my server keys with no success.
Maybe I missed some important information concerning updating/upgrading.
Thank you!

What files do you have in /home/xxx/docker/dnscrypt-server/keys?

These files, were generated by the container when it was initialized:

New keys were created because the previous keys were not present in the directory.

Yeah, I know. But with new keys it is not working either. (Of course I changed the client configs accordingly)
On 24 November 2019 14:23:45 CET, Frank Denis<EMAIL_ADDRESS>wrote:

New keys were created because the previous keys were not present in the
directory.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/DNSCrypt/dnscrypt-server-docker/issues/76#issuecomment-557888128

Maybe scrape Docker and use the server directly? https://github.com/jedisct1/encrypted-dns-server
(sorry I don't know much about Docker)

I would like to run it as a docker container as it is much easier to deploy...
I really do not understand why I am not able to reach the container from the outside as it seems to work properly according to the logs (firewall and everything is properly configured, all other containers can be reached from the outside)
Also tried to add the --cap-add=NET_ADMIN with no success.

-p 8888:443/udp -p 8888:443/tcp sounds fishy. If you changed the port to 8888, maybe it should be -p 8888:8888/udp -p 8888:8888/tcp.

Ok wow, thank you, that worked.
Thought that 443 is the internal docker port and it would not adapt to port changes. (Read through other issues here etc.) But it turns out, that it adapts automatically.


python310Packages.vector: adjust inputs

Description of changes
Fix build (https://hydra.nixos.org/build/205483689)

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

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

7 packages built:

av-98
jrnl
python310Packages.ansiwrap
python310Packages.papermill
python310Packages.vector
python311Packages.ansiwrap
python311Packages.papermill

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

7 packages built:

av-98
jrnl
python310Packages.ansiwrap
python310Packages.papermill
python310Packages.vector
python311Packages.ansiwrap
python311Packages.papermill


Oblique glyphs not completely shown: clipped at xAdvance

For oblique glyphs, the xAdvance can be to the left of the right side of the glyph's bitmap bounding box. I'm including a test example which is just the SOLIDUS glyph from the FreeMonoBoldOblique24pt7b font. Clicking on the "+xAdv" input element of the Customizer page will reveal more of the glyph bitmap. But then the xAdv is being incorrectly set.
(I have my own diagnostic scripts for annotating the GFXfonts which I'm using to draw the bitmaps inline in the headers, as shown).
const uint8_t FreeMonoBoldOblique24pt7bBitmaps[] PROGMEM = {
0x00,0x00,0x00,0x60,0x00,0x00,0x0F,0x00,
0x00,0x01,0xF0,0x00,0x00,0x3E,0x00,0x00,
0x03,0xE0,0x00,0x00,0x7C,0x00,0x00,0x0F,
0x80,0x00,0x00,0xF8,0x00,0x00,0x1F,0x00,
0x00,0x03,0xE0,0x00,0x00,0x3E,0x00,0x00,
0x07,0xC0,0x00,0x00,0xF8,0x00,0x00,0x1F,
0x80,0x00,0x01,0xF0,0x00,0x00,0x3E,0x00,
0x00,0x07,0xE0,0x00,0x00,0x7C,0x00,0x00,
0x0F,0x80,0x00,0x01,0xF8,0x00,0x00,0x1F,
0x00,0x00,0x03,0xE0,0x00,0x00,0x7C,0x00,
0x00,0x07,0xC0,0x00,0x00,0xF8,0x00,0x00,
0x1F,0x00,0x00,0x01,0xF0,0x00,0x00,0x3E,
0x00,0x00,0x07,0xC0,0x00,0x00,0xFC,0x00,
0x00,0x0F,0x80,0x00,0x01,0xF0,0x00,0x00,
0x3F,0x00,0x00,0x03,0xE0,0x00,0x00,0x7C,
0x00,0x00,0x07,0xC0,0x00,0x00,0xF8,0x00,
0x00,0x07,0x00,0x00,0x00,  // 0x2F '/' (28 x 38) @(3,-32) +28
// [   .........................**.]
// [   ........................****]
// [   .......................*****]
// [   ......................*****.]
// [   ......................*****.]
// [   .....................*****..]
// [   ....................*****...]
// [   ....................*****...]
// [   ...................*****....]
// [   ..................*****.....]
// [   ..................*****.....]
// [   .................*****......]
// [   ................*****.......]
// [   ...............******.......]
// [   ...............*****........]
// [   ..............*****.........]
// [   .............******.........]
// [   .............*****..........]
// [   ............*****...........]
// [   ...........******...........]
// [   ...........*****............]
// [   ..........*****.............]
// [   .........*****..............]
// [   .........*****..............]
// [   ........*****...............]
// [   .......*****................]
// [   .......*****................]
// [   ......*****.................]
// [   .....*****..................]
// [   ....******..................]
// [   ....*****...................]
// [   ...*****....................]
// [0  ..******.................>..]
// [   ..*****.....................]
// [   .*****......................]
// [   .*****......................]
// [   *****.......................]
// [   .***........................]
};

const GFXglyph FreeMonoBoldOblique24pt7bGlyphs[] PROGMEM = {
  {0, 28, 38, 28, 3, -32} // 0x2F '/':SOLIDUS
};

const GFXfont FreeMonoBoldOblique24pt7b PROGMEM = {
    (uint8_t *)FreeMonoBoldOblique24pt7bBitmaps,
    (GFXglyph *)FreeMonoBoldOblique24pt7bGlyphs,
    0x2F, 0x2F, 47
};

It seems that the GFXGlyph definition is not right then, it should be :
const GFXglyph FreeMonoBoldOblique24pt7bGlyphs[] PROGMEM = {
  {0, 28, 38, 31, 3, -32} // 0x2F '/':SOLIDUS
};

No ?
Or should we add the xOff automatically to the adv param (so as to make 31 ?). Is it what your diagnostic tool does ? I'm curious ... :)

No, the glyph definition is correct.
The fields are {bo,w,h,xa,xo,yo}.
{0, 28, 38, 28, 3, -32}
not
{0, 28, 38, 31, 3, -32}
It's an oblique font, so all the glyphs are slanted to the right, and adjacent glyphs can have overlapping bounding boxes. Because this glyph's xAdvance doesn't escape its bounding box, the following glyph will be tucked a little under this one. Some glyphs even have negative xOffset, so they can draw to the left of the origin and reach into their predecessor's box. It's all supposed to be anticipated by the font designer. They shouldn't overwrite each other's pixels as long as all the clustered chars are from the same consistent font.

Ok, if I understand correctly, I should replace xadvance in this line :
https://github.com/tchapi/Adafruit-GFX-Font-Customiser/blob/master/index.html#L128
with xadvance + xoffset — wdyt ?

I don't think that's right. (My JS sux, sorry)
you need the union of 2 boxes, so it's more like:
  var box_l = Math.min(0, xo);
  var box_t = Math.min(0, yo);
  var box_r = Math.max(xa, xo+w);
  var box_b = Math.max(ya, yo+h);
  for (var px_y = box_t; px_y <= box_b; ++px_y) {
    var grid_y = i - box_t;
    for (var px_x = box_l; px_x <= box_r ; ++px_x) {
      var grid_x = px_x - box_l;

      // paint grid cell (grid_x, grid_y) as logical pixel (px_x, px_y)
    }
  }

Hmm. Except for the min/max calculations that I had missed, I think your loop is somehow equivalent to mine. I've created a branch with new modifications including yours: https://github.com/tchapi/Adafruit-GFX-Font-Customiser/tree/feature/xoffset
The forward / backward overlapping pixels are red-ish so it's easy to spot them. I'm always displaying xadvance + xoffset pixels for the characters.
As for the other issue, if you can have a look, that'd be great !
Thanks again !

The bounds are still not right, I think.
Here try this:
https://billydonahue.github.io/Adafruit-GFX-Font-Customiser/
And feed it this test file:
https://billydonahue.github.io/Adafruit-GFX-Font-Customiser/test/BangOblique24pt7b.h
src is on branch:
https://github.com/BillyDonahue/Adafruit-GFX-Font-Customiser/tree/mark_points_fix_bounds

Ok, good, I get it. It was close. Thanks so much !
Very good idea to add the two limits, I'll just change it to lines instead of cell borders, so as to keep the table cell widths consistent.
Is it ok for you if I put your name and Github profile link in the readme file, under "Contributors" ?

great. that was fun. thanks
On Wed, Jun 3, 2020 at 5:18 AM tchap<EMAIL_ADDRESS>wrote:

Ok, good, I get it. It was close. Thanks so much !
Very good idea to add the two limits, I'll just change it to lines
instead of cell borders, so as to keep the table cell widths consistent.
Is it ok for you if I put your name and Github profile link in the readme
file, under "Contributors" ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tchapi/Adafruit-GFX-Font-Customiser/issues/9#issuecomment-638073354,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACBWORDX5OHEMXAO4FLHGG3RUYINJANCNFSM4NQDI6IA
.

--
ǝnɥɐuop ʎllıq


[regression test]Optimize testUniqueModelSchemaKeyChange

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

LGTM

run buildall

run buildall


Ignore home package.json no license field

Issue: Fixes #3446
If the /home/user folder contained a package.json without a license field, the installation of getstorybook is cancelled. This warning is thrown regardless of anything in the current folder that you're running getstorybook in.
Reproduction would be to create a package.json without a license field in your home directory, initialize a project that would normally work with getstorybook, like through create-react-app, and then run getstorybook.
This is caused by the checking of the version of the generator dependencies which resulted in the warning being thrown and thus existing the installation at https://github.com/storybooks/storybook/blob/3539625d7f801a0fee1fb8c58f1ff57016c9513f/lib/cli/lib/latest_version.js#L34
(Thanks to @sunilhari for pointing this out).
In fact, if you for whatever reason have a package.json at your home directory without a license field (or anywhere along the path towards the current directory), the warning will be thrown at any yarn command. The result of actually running the command, however, is then outputted after the warning:

What I did
Using the knowledge from the screenshot above, I basically added an array of warning texts that will not stop the entire installation process.
This fix is entirely based on yarn and I did not check yet how this works with npm and if there are any differences. But I wanted to open this PR in order to see whether this solution is desired before spending more time on it.

I did not check yet how this works with npm

Please do that

Should we maybe just ignore "type": "warning"?

@Hypnosphi

Please do that

Running npm info babel-runtime version does not raise a warning for a missing license field in package.json in the home directory, so this is an yarn only issue as far as I can observe. Nonetheless, I also did a full getstorybook installation with npm, and all of it works.
While I did this, I noticed that the checking of the package versions is always done with yarn if it's installed (https://github.com/storybooks/storybook/blob/master/lib/cli/lib/latest_version.js#L4), and that the --use-npm flag is only pointed at the installation of dependencies. Is this intended? I'm not sure if old versions of yarn will cause issues with it, like what was seen with issues related to https://github.com/storybooks/storybook/pull/3453.

Should we maybe just ignore "type": "warning"?

That would be easier yes, but is every warning from yarn/npm/both ones that can be ignored for the installation of storybook? Asking because I don't have sufficient knowledge of all specifics of both package manager to be able to answer that.

While I did this, I noticed that the checking of the package versions is always done with yarn if it's installed (https://github.com/storybooks/storybook/blob/master/lib/cli/lib/latest_version.js#L4), and that the --use-npm flag is only pointed at the installation of dependencies.

It would make sense to include --use-npm check to has_yarn helper (and probably rename it to use_yarn
https://github.com/storybooks/storybook/blob/master/lib/cli/lib/has_yarn.js

is every warning from yarn/npm/both ones that can be ignored for the installation of storybook?

In this particular helper we only want to catch the fact that a package isn't published.

In this particular helper we only want to catch the fact that a package isn't published. User will still see the warnings when the actual installation will happen.

Makes sense, will change it to ignore yarn warnings in general then.

It would make sense to include --use-npm check to has_yarn helper (and probably rename it to use_yarn

Does it make sense to put this change into another PR, or should I include it here?

I'm ok with both, please do whatever you're more comfortable with

I will do it in another PR as at first glans it looks like the change will not be very trivial, isn't necessarily related to the original issue, and I don't want to block this patch cuz of it.

info.type === 'error' would be more explicit

Changed it


[1.0.0] Series.filter fails for for multidimensional keys in Spark mode

The following works just fine:
import thunder
series = thunder.series.fromrandom((100, 20), engine=sc)
# series.shape returns (100, 20)
series.filter(lambda v: v[0]>0).toarray()

However the following fails:
import thunder
series = thunder.images.fromrandom((20, 10, 10), engine=sc).toseries()
#series.shape returns (10, 10, 20)
series.filter(lambda v: v[0]>0).toarray()

The problem stems from that fact that Series.filter implicitly assumes that only the first dimension is distributed. However, when coming from an Images object via Images.toseries(), the keys (and the distributed portion of the underlying BoltArray) remain multi-dimensional.
The fix:
Change to Base._filter and Series.filter so that  Series.baseaxes get passed along to BoltArray.filter

After further consideration, a full fix to this problem actually relies on have a distributed sparse array -- something that Bolt does not currently support.
For now, one fix would be to add a Series.flatten method. This will linearize the keys so that filter can then subsequently be applied.

Fixed with labels in #263


Remove extra word in tutorial text

original reads '...so let's wrap our the two elements of our row indexer (the list of carriers and the list of origins) in a tuple...'
remove first 'our'
edited reads '...so let's wrap the two elements of our row indexer (the list of carriers and the list of origins) in a tuple...'

Thanks!


[Question] Webview font size is auto adjusting as system font size

I wrote a simple webpage. This page only contains marquee element.
<style>
  #text {
      padding: 0;
      font-size: 65vh;
  }
</style>
<marquee behavior="scroll" scrollamount="50" id="text">hello world</marquee>

And I wraped this page as a webview in React Native.
export default function App() {
  return (
    <WebView
      source={{ uri: `https://marquee-page-url.com`}}
    />
  );
}

It works like the below image. It works perfectly.

But if I change system (Android's) font size, than it works wrong. The font is too big.

I'm suspecting that system font size is effecting webview's font size. I want webview's font size to be fixed. How to do this?

Have you tried textZoom?

@TheAlmightyBob Thanks. it works! Maybe next time I should look at props list :)

Hi, just tested, but works only on Android... not iOS.

@echagnas My understanding is that scaling to the system font size is simply not a feature of the iOS webview and would need to be addressed by the web page (or there are some possible workarounds out there using javascript injection)

@TheAlmightyBob Are u able to scale based on system font size in iOS?

@anniewey Not currently. My team is exploring options there but hasn't yet landed on one, and currently it looks like the options involve changing the original web content and/or using Javascript injection... i.e. there doesn't seem to be a feature of the WebView itself for it.

Have you tried textZoom?

This worked for me in Android, Thanks.


Ensure enough space in the serialization buffer

Sorry about that @enebo!
Fixes #646

@kddnewton it's no problem at all.    Very quick turnaround too.
I think you will need to fix this in two more places: yp_string_list_append and yp_buffer_append assuming you can get a length greater than 2*capacity in those cases.

I think we're okay in those places because in those places we're just adding one at a time.


Fix infinite loop in workspace selector caused by integer overflow 💀

Describe your PR, what does it fix/add?
Fix infinite loop in workspace selector caused by integer overflow 💀
When NEXTSPACE == npos, i++ at the end of the loop turns i into 0 again 💀
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Is it ready for merging, or does it need work?

somehow never happened to me lol


How to show evaluation value of every category?

Using the default mode,this evaluation value shows like this:

Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.500

Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.775

Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.503

Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.312

Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.410

Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.559

Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.516

Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.611

Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.617

Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.428

Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.562

Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.658

I want to get the every category's P and R . Is there a method to get the result except changing the code in coco_util.py ?

https://mmdetection.readthedocs.io/en/latest/GETTING_STARTED.html#analyse-class-wise-performance

Did you solve this problem?


Setting nixpkgs.config in a module doesn't seem to work anymore

I have some infrastructure in my nixos config to allow only specific unfree packages (to avoid accidental unfree use). Therefore I need to set nixpkgs.config.allowUnfreePredicate in my config, but the value it is set to doesn't seem to work anymore.

When using flake-utils-plus cases like these can be specified in two areas:

For channel-specific configuration (i believe this is what you are looking for) https://github.com/gytis-ivaskevicius/flake-utils-plus/blob/master/examples/fully-featured-flake.nix#L46-L48
Or globally (applied to all channels) https://github.com/gytis-ivaskevicius/flake-utils-plus/blob/master/examples/fully-featured-flake.nix#L63-L66

Yes, I found that, but I build up a list of allowed packages in the nixos modules for my machines, which I don't have access to at that point.

Interesting use case, admittedly I don't really see much point in doing something like that but ill look into it regardless. I obviously have not tested it but fix should be as simple as this:
Replace this code block: https://github.com/gytis-ivaskevicius/flake-utils-plus/blob/master/systemFlake.nix#L75-L85
with:

{config, ...}:  {
networking.hostName = name;
      nixpkgs = {
        pkgs = selectedNixpkgs;
        config = selectedNixpkgs.config // config.nixpkgs.config;
      };

      system.configurationRevision = mkIf (self ? rev) self.rev;
      nix.package = mkDefault selectedNixpkgs.nixUnstable;
    }
    ```

(two lines changed, will test it out once I am available)

That doesn't seem to work. I think the problem is caused by the pkgs = selectedNixpkgs; line. The config applied in nixpkgs.config doesn't seem to apply to it, but only to the nixpkgs that is used for nixpkgs.lib.nixosSystem. When I remove the pkgs = selectedNixpkgs line (and manually add the overlays I use) it works as expected.

As of commit states... I Will fix the breaking stuff later, but I am quite happy with the new implementation/dataflow of it

Pushed some changes, fixed channels switching, few other changes.
What's unfortunate is that it seems that I will not be able to implement nixpkgs.config.xyz with the addition of channel patching (User will be forced to pick one of these features), but we will see. I Will give it some more thought overnight
The next release is planned for the weekend.

Ah, that is unfortunate, the easy patching was one of my main reasons for starting to use this. Am I correct in thinking that this is the main blocker for the combination? Do you know what the underlying issue is?

Yes, @chvp, you are correct. More specifically because of this https://github.com/NixOS/nix/issues/4669.
But here is a solution to your specific problem:
TL;DR: implement explicit unfree package definitions in different manner
How?
in your flake.nix
inputs.nixpkgs.input = nixpkgs;
inputs.nixpkgs.overlayBuilder = channels: [
    (final: prev: { unfree = channels.unfree; })
];

inputs.unfree.input = nixpkgs;
inputs.unfree.config.allowUnfree = true;

(untested, should more or less work, might have a typo or two)
And instead of building some fancy array of allowed packages now, you can define unfree packages by typing pkgs.unfree.google-chrome
This achieves the same result while being much simpler, easier to implement, and resulting in fewer lines of code

Hmm, that is an interesting alternative for making the unfree packages explicit. I'll try that out tomorrow. Thanks for the issue on nix, I subscribed to it to keep updated.

It took a while before I was able to get to it, but your solution doesn't seem to work. It refuses to evaluate because of unfree packages.

I got a strong feeling that this is going to be one of the limitations of Nix (patching + dynamic configuration). Will need to look into it more :/


[Test] Cypress static code analysis test

Motivation and Context

We want to have an E2E test to make sure that static code analysis works for a student participating in a programming exercise.
Description

This PR adds another programming exercise test, which creates a programming exercise with static code analysis enabled. SCA can reduce up to 50% (5 points) . The test imitates a student and enters code, which passes all tests of the exercises, but contains some SCA issues. It then makes sure that all SCA issues are shown in the feedback to the student and that it is transparent which issue caused how many points to be reduced.
Steps for Testing

Tests are executed by bamboo, so only code reviews are required
Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Tests still pass after resolving merge conflict

I added some suggested improvements and merged develop. The tests still pass

Tests still pass after the changes


Streamline render

The goal of this is to make the renderer API as simple as possible, but also as extensible as possible for consumers when extending withRender(). Edge cases can just extend withProps() and use propsUpdatedCallback().

Beware this still has the issue mentioned in #1104 (which was only merged in 5.x-docs).

Good point, thanks @freeman. I think we'll merge that soon to get these aligned then begin on docs again.


Perhaps spark-xml should ignore prefixes?

Given a schema like this:
<?xml version="1.0"?>
<xs:schema xmlns="urn:xsd:people" targetNamespace="urn:xsd:people" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="People" type="People"/>
    <xs:complexType name="People">
        <xs:sequence>
            <xs:element name="Person" type="Person" minOccurs="1" maxOccurs="10000"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="Person">
        <xs:sequence>
            <xs:element name="Name" type="xs:string"/>
            <xs:element name="Age" type="xs:int"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>

Then all of the following are valid instances:
<People xmlns="urn:xsd:people" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:xsd:people People.xsd">
  <Person><Name>Alice</Name> <Age>20</Age> </Person>
  <Person><Name>Bob</Name><Age>30</Age></Person>
  <Person><Name>Charlie</Name><Age>40</Age></Person>
</People>

<a:People xmlns:a="urn:xsd:people" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:xsd:people People.xsd">
  <a:Person><a:Name>Alice</a:Name><a:Age>20</a:Age></a:Person>
  <a:Person><a:Name>Bob</a:Name><a:Age>30</a:Age></a:Person>
  <a:Person><a:Name>Charlie</a:Name><a:Age>40</a:Age></a:Person>
</a:People>

<b:People xmlns:b="urn:xsd:people" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:xsd:people People.xsd">
  <b:Person><b:Name>Alice</b:Name><b:Age>20</b:Age></b:Person>
  <b:Person><b:Name>Bob</b:Name><b:Age>20</b:Age></b:Person>
  <b:Person><b:Name>Charlie</b:Name><b:Age>20</b:Age></b:Person>
</b:People>

At the moment, each xml file would have to be read with a different configuration. Unfortunately, according to the xml specification the prefix is user-defined and can be redefined at any element. For these reasons, client code would have to read the entire file and determine all prefixes ahead of time before configuring spark-xml (perhaps multiple times). Given that spark-xml does not support namespaces, and never can without performance implications by virtue of the xml specification, then perhaps it should ignore the prefix?
For example, given a start element <Person> then <Person>, <a:Person>, <b:Person>, <foo:Person> etc. would all match.

I see. I think this is a reasonable suggestion. Maybe we can add an option to deal with this. Thanks for your kind and detailed explanation.

Ah yes adding an option is a very good idea. Then we don't break previous behaviour.

Hm, I guess https://github.com/databricks/spark-xml/issues/74 is related. I will leave this command as a reminder.

If we add below logic,  i feel can resolve the problem.
import scala.xml._
val a = ns1:b/
A standard query would return simply all b elements:
a \ "b"
res0: scala.xml.NodeSeq = NodeSeq(, , , <ns1:b xmlns:ns1="www.ns1"/>)
To query for the specific namespace, two options are possible. The first option:
a \ "b" filter (e => e.namespace == "www.ns1")

I have this very specific issue now - every new file can arrive with a different namespace prefix. Ignoring the prefix would solve the problem for me, but in general the row tag may be appear in different namespaces only one of which defines a record. Then this approach will lead to an error. What about using an XML parser to find records? It could be given an XPath expression with namespace URI and thus remove the dependency on a prefix.

I've been thinking about this, and realise ignoring the prefix may not be as straightforward as it seems.
Despite the fact the W3C XML Recommendation  states that the colon character should not be used except for namespace purposes, column is still an allowed character for element names in the XML spec.
I think this means you still need knowledge of which namespaces have been registered further up in the hierarchy for each record, in order to be able to correctly ignore namespaces. Otherwise you will introduce a tiny edge case in documents which have colon being used as an element name character. Of course, it's a pretty weird thing to do - this edge case could be deemed acceptable and dealt with by documentation.

Do we have any updates with Name space, or should we use custom XPATH expression.
Please suggest.

Hi, is this issue fixed?

Placing back tick is a may be a temporary solution
suppose we read a xml through spark-xml api and got  element/column ns0:Item in dataframe then use column name as  ns0:Item
for example spark.sql("select ns0:Item from table")

Hi, Is this issue resolved ? using Java

I'm not sure it's an issue. The same tag names with different prefixes are different elements, and it seems correct to treat them as such. You can freely rename the resulting columns in Spark.

yes, but there could be a scenario where there are thousands of xmls being published from 100 different publisher systems, each having a different namespace alias. Having said that, they are all same xml's with root or child tag

I'm not sure it's an issue. The same tag names with different prefixes are different elements, and it seems correct to treat them as such. You can freely rename the resulting columns in Spark.

yes, but there could be a scenario where there are thousands of xmls being published from 100 different publisher systems, each having a different namespace alias. Having said that, they are all same xml's with root or child tag

I'm having the same issue.
I process large xml files with hundreds of fields. the prefix is usually the same but in a small percentage of the cases many different prefixes are used. My fallback solution is currently to use regexes to replace (most of) the unsupported namespaces in those xml files that were rejected by the initial spark run and process them in a second spark run.
Having an ability to ignore the namespaces would be highly appreciated.

Got it - "same" field just under different namespaces. What you could do now is just rename the columns, dropping the "namespace:" prefix if it exists

Thanks for the suggestion
I forgot to mention though that I apply a predefined schema to the spark read process that only knows about the fields with the main prefix. In principle I could duplicate the fields in the schema for each possible prefix and rename the columns in spark but - if I remember well - having a much larger predefined schema would incur a performance hit and secondly since the fields are hierarchic/nested renaming them may not be trivial. Therefore I currently do the renaming step with a simple regex outside of spark and xml

I get it, OK this seems like a reasonable option. Are you in a position to work on a PR? I can probably look at it too, just may take a bit to get to.

Yes I should free up some time for it. If you have any advice as to where to relevant code is and what edge cases etc to keep in mind feel free to let me know

In the course of figuring out where to point you, I just investigated. So, one weird thing is, the code already ignores namespaces! But, the XML parser is set to ignore namespaces too. So it puts any namespace prefixes into the element name as if they're part of the name and not namespace. Hence the current behavior.
One quick fix is simply to make the XML parser namespace-aware. That makes it work as you intend, I believe. (Ironic: making it namespace aware enables the code to ignore the namespaces.)
There's a catch though, when made namespace-aware, the parser will demand to know the namespace declarations in any XML fragment it sees. So you'd have to re-declare the namespace on every row tag, or somewhere within it. I don't think that matches anyone's use case here?
If not, then, I fall back to having the code manually ignore namespaces, which, again ironically means leaving the XML parser as namespace-unaware and then trying to snip them out in the code. This may be a better solution anyway - not much code and preserves current behavior.

Hi Sean, good to see the code is already mostly there!
Indeed, in my own use case the namespaces are only declared at the top level of the xml document, they are not declared within the row tags. (Btw even my row tag has a namespace that can hopefully be ignored).
So I agree with your fallback solution: ignoring namespaces then simply means that 1) we don't have to declare the possible namespaces anywhere and 2) the namespaces are stripped from the field names before matching them to the predefined schema.
Many thanks!

(Anyone,) Let me know if the change in #501 seems to work for you, if you can build and test it.

Cool I will test it, probably somewhere this weekend

Hi Sean,
I tested #501 on my project and it works as expected on first sight. I noticed that I had quite some logic to work around this namespace issue so I will happily remove these lines as soon as the fix is released :-)
Two issues I noticed: you already mention in the docs that the rowTag is not supported, and since my rowTag has a namespace I will have to keep some of the pre-spark regex replacement logic. Secondly attribute namespaces are not yet stripped either.

Good point, I added support for handling attribute namespaces too.
Yeah, handling the rowTag is harder unfortunately. That part of the code is buried in the Hadoop InputFormat where it's scanning text pretty manually to pick out XML to even parse with a parser. It's possible I'm sure, just complicated. I might at least merge this much for now.

Agreed, the current solution (without support for the rowTag) should cover most of the needs so it makes sense to release a new version already.
Many thanks to get this implemented!

@srowen Thanks for the implementation. Are we also releasing this version to Maven Central repo ?

Yes I think there are enough small changes to justify a new release this week.

I just put out 0.11.0 with this change. https://github.com/databricks/spark-xml/releases/tag/v0.11.0
Should show up in Maven shortly.

Thanks @srowen

Many thanks @srowen ! I upgraded my code base to 0.11.0 and all seems to work as expected. A huge simplification of my code base and hopefully a improvement in speed as well since the schema is only half the size now.


Git repo name doesn't match Cabal package name

The project's .cabal config should probably be updated to match the the new Git repo name. As is, it's a bit confusing, e.g., if you have to specify a build target. I found myself staring at the screen wondering what the error was after typing
stack ghci coinbase-pro-exchange:test-coinbase

before I realized the package name hadn't been updated. We should also consider renaming the existing build targets (e.g., test-coinbase) to be more obvious and consistent (test-coinbase-pro-exhange is at least consistent, but why not just test?)
And while we're here, I'll mention that I think the repo name is a bit odd, with the "exchange" part seemingly there only because for some reason the project formerly got renamed from gdax to coinbase-exchange rather than to coinbase-pro. I think calling it something like haskell-coinbase-pro makes the most sense. That said, renaming the repo means everybody using it has to update remotes in git, so if we do want to change the name, it'll be least disruptive to do it as soon as possible.

I believe the word "exchange" is just a historical artifact at this point. In the beginning, when Coinbase did not have an exchange, it already had an API for its wallet. Now, we are just stuck with this word.
Let's change the name of the repo to: "haskell-coinbase-pro" as you suggested. It makes it very clear what the code is about.

I already changed the repo name. That's painful and should be done early. changes in the files can follow now.

OK, I'll make the necessary changes in the package config files and README shortly.
FYI, for anybody who might be out there following along, to update to the repo's new URL, use git remote set-url. If you've cloned the repo in the usual way, run:
git remote set-url remote https://github.com/dimitri-xyz/haskell-coinbase-pro.git

Thanks for fixing this!


Prevent segfault early on in TDD cycle per issue #116

Also adjust strlen argument as mentioned by @patricksjackson, also in issue #116

Fixes #116

I haven't tested this out but it seems that the options used in indent.sh differ from the Linux style, not only by -i3 but also by -nut, which may be where the difference is caused. If this is the case I would suggest changing either the rule in indent.sh, or the suggested command in README.md that uses the -linux option.

LGTM :+1:
I'll merge it myself in a few days if the other maintainers don't weigh in by then. My only mild concern is getting someone to confirm that the new strncmp argument is a good idea.

I'm questioning whether the + 1 will actually do anything.  The documentation for strncmp() states that it will terminate whenever a null terminator is reached in either string.  So, wouldn't it just stop as soon as it gets to the end of dna?
Otherwise, looks good to me.

@palisaide The point of that extra 1 is to make sure that rna is the same length as expected. e.g. if rna = "ABC" and expected = "AB" then without the +1 it wouldn't find the difference. (I just confirmed that this is the case).
I now realize though that since we're already relying on both dna and expected to be valid NULL-terminated strings, replacing the strncmp with just a call to strcmp is probably better anyways. It's safe as long as we know one of the strings is valid.

@patricksjackson & @palisaide, please expand my commit message for f5ba2f6 above to see reasoning about further changes I have made.

@palisaide @patricksjackson this looks good to me. Is there any reason not to merge?


SetState missing to reactivate records

I can use an update operation to change State and Status but that works only for active records.
If I want to reactivate a closed record, a call to SetState is required.
Am I missing something or is that method not implemented in the driver ?

The driver does not have any specific implementation but it only uses STK  The driver does not have any specific implementation but it only uses SDK underneath so if SDK can do it, the river should be able to do it otherwise cannot.

Yes, SDK can reactivate closed quotes / salesorders / invoices, using SetStateRequest.
Apparently the driver does not implement a specific usage of SetStateRequest. Thus it is possible to deactivating a record by updating statecode and statuscode, but that won't work for reactivating a record.
Would you implement a specific SetState function that would execute a SetStateRequest ?

Could you share your code so that I can see the detail. As I said, I didn’t implement anything for the driver and no plan to do so in the future too. Everything should come from SDK itself

Sorry for my late answer.
Here is how I have to deal:

recreate a CrmService Client object
CrmServiceClient service = new CrmServiceClient("Url=https://xxxxx.crm4.dynamics.com<EMAIL_ADDRESS>Password=zzzz; AuthType=Office365");
//service.Dump();

later use that CrmServiceClient to execute a SetStateRequestMessage
int state = lect.statecode;
int status = lect.statuscode;
if (state != 0)
{
service.Execute(new SetStateRequest { EntityMoniker = new EntityReference(entete, lect.Id), State = new OptionSetValue(0), Status = new OptionSetValue(-1) });
}

Is there a way to get a CrmServiceClient object directly in the Linqpad connection without recreating it ?
If not, It could be great to add a SetState function to the connection object.
Thanks.

Finally, after exploring how the plugin creates objects and how it works, the best is to go on creating a separate CrmServiceClient and use it.
My fear to change the connection in the query but keep the wrong organization in my CrmServiceClient object has been solved by that code:
string cnnUrl = this.BaseUri.Scheme + "://" + this.BaseUri.Host;
CrmServiceClient service = new CrmServiceClient("Url=" +cnnUrl + "<EMAIL_ADDRESS>Password=zzzzzz; AuthType=Office365");

Yeah, the driver is based on WebAPI, not SDK. I am sorry to bring up SDK part that I am confused with another (old) driver which actually using SDK underneath. Anyway thanks !


Update proxy wording.

Because I got twitter questions. Hopefully this provides more clarity.

This is a dup of the changes made on https://github.com/aspnet/Docs/pull/6537.


[Portuguese] Localize 'Service Proxy'

Signed-off-by: Vasu Singh<EMAIL_ADDRESS>Describe your changes
Related issue number https://github.com/cncf/glossary/issues/1224
Checklist before opening this PR (put x in the checkboxes)

[x] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

Hello @vasucp1207! Thanks for your contribution!


Use a variable for the default font-weights

Right now Bootstrap uses the hardcoded font weights bold and normal.
Websites might use different weights such as medium or thin or use light as default weight instead of normal.
If Bootstrap used settings variables for $font-weight-normal and $font-weight-bold the user could easily override the default values or use numerical weights.
This would also help #18605.
Those two lines could be added to the _variables.scss:
$font-weight-normal: normal;
$font-weight-bold: bold;

All occurrences of font-weight: normal; would be replaced by font-weight: $font-weight-normal. The same applied for font-weight: bold;.
Foundation uses a similar approach.
I could create a pull-request for this.

X-Ref: #16170


Migrating from 5.7

I'm trying to use smooch.io
http://docs.smooch.io/javascript/#authenticating-users-optional
which does not work in the current version of jwt, what would the latest jwt expect instead of the old options of:
    {         headers: {             alg: 'HS256',             typ: 'JWT',             kid: KEY_ID         }     }
be?

Headers (plural) was renamed to header (singular) in 6.
El lun., may. 2, 2016 6:53 PM, OHomer Rilak<EMAIL_ADDRESS>escribió:

I'm trying to use smooch.io
http://docs.smooch.io/javascript/#authenticating-users-optional
which does not work in the current version of jwt, what would the latest
jwt expect instead of the old options of:
{
headers: {
alg: 'HS256',
typ: 'JWT',
kid: KEY_ID
}
}
be?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/auth0/node-jsonwebtoken/issues/197

Thanks, I thought so. Were there any other changes? Changing it to header doesn't give an error, but gives a result that is not accepted by smooch. While with 5.7 it works

You are not required to upgrade to the very latest version, if 5.7 works
okay for you, you might want to pin to ^5.7.0. There isn't any security
patch vulnerability in those versions.
The v6 has few changes to make the life easier for newcomers. here is the
change log:
https://github.com/auth0/node-jsonwebtoken/blob/master/CHANGELOG.md
El lun., may. 2, 2016 9:28 PM, OHomer Rilak<EMAIL_ADDRESS>escribió:

Thanks, I thought so. Were there any other changes? Changing it to header
doesn't give an error, but gives a result that is not accepted by smooch.
While with 5.7 it works
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/auth0/node-jsonwebtoken/issues/197#issuecomment-216403679


SW-5122 Create CurrentTimeline component which houses phase information in the module list header

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#2437  👈
#2436
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @nickgraz and the rest of your teammates on  Graphite


Some cleanup

While I was working on the unit tests trying to figure things out I refactored a few places in the tested code paths to understand them better and make sure they weren't the problem.  They weren't, but I decided I liked the result.
Should be mostly non-semantic, though I'm not 100% certain, especially in regard to the ?.Wait() calls. Those lines were changed in this manner because the editor complained that they were async functions being called synchronously. Now they should still be synchronous in functionality but with a proper call to Wait. Some cases I propagated the async status up the call chain until I hit an API layer or where there were too many callers for my tastes.
When correctly merged with the unit tests PR #48, which isn't a clean merge, it still passes all the tests.  Whichever gets reviewed and merged first I'll rebase the other to clean it up.

Given
this.HandleNeighborUp(neighbor)?.Wait();

The equivalent syntax is
Task temp = this.HandleNeighborUp(neighbor);
if (temp != null) {
    temp.Wait();
}

The original syntax was
this.HandleNeighborUp(neighbor);

which results in https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference//error-messages/because-this-call-is-not-awaited-the-current-method-continues-to-run

Isn't that the whole point of making it async though?

In general, you don't get a proper sync call from just calling an async method in an undecorated manner as it is in the unpatched code. Nor do you get a fire-and-forget "thread-like" call. In fact the actual behavior is decidedly unintuitive. Consider the following:
async Task HandleNeighborUp(N neighbor) {
...
}
...
doA(); // Executes first
this.HandleNeighborUp(neighbor); // Called when the current function returns.
doB(); // Called second.

Whereas
doA(); // Executes first
await this.HandleNeighborUp(neighbor); // Called second, and after it is done and C# is ready, then moves on with the rest of the function.
doB(); // this called last.

Using Wait is similar to the immediate above. See https://stackoverflow.com/a/15151444/7363787  However after reading https://stackoverflow.com/questions/9343594/how-to-call-asynchronous-method-from-synchronous-method-in-c I see that in the case of exceptions WaitAndUnwrapException() might be cleaner for debugging. However, after further reading of the responses on that page and  http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html I find myself concerned about deadlocking the code.  However if that's the case the solution is neither this patch nor the original code, but either completing the async infection or purging it.
As to the use of ?., I decided to not go digging and verify if the Task returned could be null.  If it is, this construct will make sure that no NRE happens. If it's not null it'll do what needs doing.

After further thought, I'm retracting this PR: the original code is more dangerous than I originally thought as it hides exceptions, but this PR exchanges that undesirable behavior with another: possible deadlock.

In general, you don't get a proper sync call
I don't understand why it was (or still is) considered a good thing to make it synchronous at all in this case. It's desirable for the caller not to be blocked here on the HandleNeighborUp. (Adding the Wait is in fact very undesirable.)


Allsky website folders seem to be made in the wrong place

Environment

Camera:  RPi HQ
OS: Bookworm
Allsky version: v2023.05.01_04
Pi 5 8 GB

Bug Description
I seem to have a recent issue with my Allsky website. I had it working, and two nights of Timelapse, keograms, and star trails were uploaded fine. They were visible and could be viewed!
However, starting on 07/22/2024, the new files failed to show. When I went in and looked, the files were created alright, but in the log (attached) they were failing to upload. This is the line form the log (attached):
2024-07-23T05:02:13.309714-04:00 raspberrypi5 allsky[2646584]: ===== Uploading '/home/cuastropi5/allsky/images/20240722/keogram/keogram-20240722.jpg'
2024-07-23T05:02:13.433085-04:00 raspberrypi5 allsky[2646607]: Upload output from '/home/cuastropi5/allsky/images/20240722/keogram/keogram-20240722.jpg:
2024-07-23T05:02:13.433445-04:00 raspberrypi5 allsky[2646607]:    cp: cannot create regular file '/home/cuastropi5/allsky/html/keograms/keogram-20240722.jpg': No such file or directory

In my ftp-settings.sh I have the following set
	# How will files be uploaded?
PROTOCOL="local"

	# The directory where the current image should be copied to.
IMAGE_DIR="/home/cuastropi5/allsky/html/"
WEB_IMAGE_DIR=""

	# The directory where the timelapse video should be uploaded to.
VIDEOS_DIR="/home/cuastropi5/allsky/html/videos"
VIDEOS_DESTINATION_NAME=""
WEB_VIDEOS_DIR=""

	# The directory where the keogram image should be copied to.
KEOGRAM_DIR="/home/cuastropi5/allsky/html/keograms"
KEOGRAM_DESTINATION_NAME=""
WEB_KEOGRAM_DIR=""

	# The directory where the startrails image should be copied to.
STARTRAILS_DIR="/home/cuastropi5/allsky/html/startrails"
STARTRAILS_DESTINATION_NAME=""
WEB_STARTRAILS_DIR=""

This is the same setup I had that had been working. However, now when I go into those folders, the subfolders for videos (and the like) are nested under another Allsky folder. Like so /home/cuastropi5/allsky/html/allsky/videos/. I tried reinstalling via cuastropi5@raspberrypi5:~/allsky/website $ ./install.sh and it ran fine saying my old website was  moved and to check my settings. But with this new install, the path is still /home/cuastropi5/allsky/html/allsky/videos/.
So is this the true path that should be used? If so, any thoughts on why did my website originally work with folders in the path /home/cuastropi5/allsky/html/videos/?

Log / configuration files
allsky.log

All the local Website files are in ~/allsky/html/allsky, so your ftp-settings.sh file need to be fixed.
Look in the Allsky Website settings page for an example - it's at the end of the "ftp-settings.sh settings" section.
Would you please run cd ~/allsky/html;  ls -FC ?    I'd like to see what else is in that directory.

Ahh ok, I can update those. Is there a way to force previously made videos/trails etc to upload if they exist? or do you have to manually add the ones that failed to upload?
Are there any thoughts why it worked the first two nights but not since?
I've listed the contents of the directory below:
cuastropi5@raspberrypi5:~ $ cd ~/allsky/html;  ls -FC
allsky/  allsky-OLD/  cgi-bin/  config/  css/  documentation/  favicon.ico  image.jpg  includes/  index.php  js/  lib/  public.php

Interesting, I don't see any of the startrails, keograms, etc. in ~/allsky/html.  Did you delete them?
The easiest way to upload the older ones would have been to move them from ~/allsky/html/startrails/* to ~/allsky/html/allsky/startrails.
To "upload" prior files:
generateForDay.sh --upload DATE

replacing "DATE" with one of the directory names in ~/allsky/images, e.g.,
generateForDay.sh --upload 20240723

would upload (really, just a copy in your case) yesterday's files.

Glad you got it working!
This will be easier in the next release - there will be 2 settings for local websites - "days to keep" and "Use local website".  All the directory names that cause a LOT of issues like yours are gone!  And there's no need to "install" it.
I'm closing this Issue since it's resolved.


Improve bluealsa_delay heuristics

The current method can be quite uneven when reporting buffer fullness.
VLC is confused by this and keeps dropping in and out of avsync
recovery. This patch provides a more even response which VLC likes
better.

Many thanks for this PR, I will try to review and test it in the next week or two.

Is there any chance this could get merged into the released code at some point? It's particularly important for Raspberry Pi, as VLC used with Bluetooth is basically broken without it.
Many thanks.


➕ add peft to common requirements

Adding PEFT to requirements-common.txt so that it's usable in all vllm builds.

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

I think peft requires accelerate, which we don't want to require for all builds of vllm. See this PR where we had to revert an issue caused by this https://github.com/vllm-project/vllm/pull/7521

@prashantgupta24 wonder if we could look at removing the dependency on PEFT? Maybe we could just add a simplified version of the load_peft_weights in a utils file?

closing in favor of https://github.com/vllm-project/vllm/pull/8162


[AdaptiveCards- Schema Explorer]: 'Try it Yourself' link does not adopt the high contrast theme.

https://microsoft.visualstudio.com/OS/_workitems/edit/35904426

As per the comment mentioned in the below bug, closing this issue.
https://microsoft.visualstudio.com/OS/_workitems/edit/35904426


feat(matrices): store input matrices in hdf5 format instead of tsv

This code only works if we first migrate every existing tsv file to hdf format.
I've created a python migration script that I've used on my local env and it made the matrices folder go from 8.5GB to 3.1.
To use it you need to give as an argument the absolute path of the existing matrix folder.
Obviously, it needs to be ran while the app is down.
We need to test it on integration and recette env first.
What could go wrong ? Not enough space on the machine to copy the folder in the first place.
On integration, we use only 52MB, on recette it's around 9GB and the production size should be around 10/20 times more than recette-env (based on results of filesystem endpoint). We should probably ask the CORS-N team to get the real info.
script_migration_hdf5.zip

Hi @MartinBelthle,
Given that the script successfully reduces the size of the matrices folder and needs to be run while the app is down, I was thinking it might be a good idea to integrate this script into the application startup process—specifically during the FastAPI setup phase.
This way, the migration would happen automatically each time the app starts. Since the script won’t do anything once all the TSV files have been converted to HDF5, it wouldn’t matter if it runs multiple times. If it doesn’t find any TSV files, it simply won’t perform any actions.
Of course, we'd need to ensure there’s enough space for the migration, especially on production where the data size could be much larger. Testing on integration and recette environments first, as you suggested, would be crucial.
What do you think about this approach?
Here is a possible implementation using a FastAPI event:
from fastapi import FastAPI

app = FastAPI()

def migrate_tsv_to_hdf5():
    print("Migrating TSV files to HDF5 format...")

@app.on_event("startup")
async def startup_event():
    migrate_tsv_to_hdf5()
    print("Startup event completed.")

Indeed I think that's a better way to do it.
I'll try to implement this behavior.

I believe that with the new solution Laurent proposed, this PR is mature and can be reviewed.

Seen with Sylvain, we have to discuss on this


Adopt ARROW-7011

https://issues.apache.org/jira/browse/ARROW-7011
An Arrow 1.0.0 new API to do float-to-decimal conversions.

close in #240


Allow container reuse opt-in via API

Hello all,
I've enabled support for container reuse in Quarkus dev-services in Quarkus:

https://github.com/quarkusio/quarkus/pull/25367

It's working great, many thanks for the nice improvement; althought so far I've only enabled it for selected containers, specifically the ones running relational databases people use for testing.
I'm aware - and have documented - that people need to enable this opt-in by setting the relevant property in the .testcontainers.properties  configuration file.
This seems like a wise choice since the feature is currently experimental; yet people in our community have been asking to have this working by default on selected, cherry-picked containers, so it would be nice for us to have a way to opt-in for a particular container without people needing to edit the core configuration file.
I understand it's possibly not a good time to do so, but eventually as the feature is considered more mature I'd love to see a way for the API to give a stronger hint to the Testcontainer core that a particular container really should be reused.
Proposal
One approach could be for the withReuse method to accept a three-state enum rather than a boolean, like { OFF|ON|According_to_config }.
Additional consequences
The logic to stop containers in Quarkus also needs to know if the container is allowed to be reused. So I suspect some other methods will need to be adapted to support this as wel, such as isShouldBeReused and possibly others.
Many thanks for the consideration!   Reported on suggestion from cc/ @kiview at Devoxx :)

Hi @Sanne,
Thanks for the extensive feedback!
The reason for it being opt-in is because, if users "hardcode" it, they will end up having it on CIs too, and it leads to dangling/uncontrolled containers. And the withReuse method serves as a flag that "This container can be reused**" (because some logically can't and this is up to the user to decide).
So it isn't about the feature being experimental, but rather CI safety. I understand that devservices are unlikely to be used on CIs, but it is also not a "regular" usage (although an amazing one!)
Would appreciate your ideas of how to address this safely 👍

Hi @bsideup ! sorry for the delay :)
Ok interesting; in my case I was actually hoping for containers to be "leaked" (intentionally) on our CI run.
If you look at the Quarkus build jobs, you'll see we have > 1,000 Maven modules - and that's just counting the primary repository. A dozen of which will need to run a PostgreSQL container, another dozen will need a DB2 container, Elasticsearch containers, etc..  in a variety of combinations and profiles.
While the PostgreSQL is awesome at quick start, others such as DB2 take north of 10 minutes to boot; validating a PR takes us about 4 hours. Today we're starting containers "imperatively" via specific github action profiles to save time; this is error prone and often gets out of sync as rules need to match the build expectations; more importantly, it implies we're not testing with Testcontainers.
I might have misunderstood some things about Ryuk - what is its purpose? I thought this was a registry to ~control reuse, and terminate lingering containers after some timeout?  I actually meant to ask about that.
In short I'd be totally fine to "leak" containers on our CI to allow better reuse, even across builds. Ideally perhaps with Ryuk terminating them in background if there's been no "start request" issued in hours - but that also doesn't feel necessary as most of our CI nodes are spawn brand new for each job.
A pending, separate problem would be to do a little resource management; I doubt our test nodes can keep all those containers "alive" at the same time.

Fair enough, thanks for all explanations!
I'll close this now, hopefully a better proposal will emerge in time :)

Hey guys, If I understood correctly, this feature is not unstable already and can be marked as official behaviour.
So I'd remove unstable API in code and added extended javadoc for this, and a paragraph in the docs, that in this way we are trying to make the settings of the re-use of containers explicit to users from the outside.

XenServer-SDK-24.32.0.zip


Import pinboard rss — Categories have a space as separator

I try to import a pinboard.in RSS Feed but they have no separator like a comma. Just a space but when I import the tags into categories he do this:
Data:
tagA tagB tagC
he create just one category: tagA tagB tagC
Any chance to say whats the separator or another workaround?

This isn't possible with Feed Me at the moment. Your only option is to write a script to pre-process this data, and then output it for Feed Me to import it.
We have plans in the future to implement these sorts of hooks for certain fields to implement your own logic. You could create your own BaseFeedMeFieldType that extends from CategoriesFeedMeFieldType with your own custom logic.

Late to this one, but you can actually use Feed Me & Craft to transform your data in a Craft template first (i.e. not importing), and then run the actual import against your new feed.
Twig gives you most of PHP's tools to do what you need to do, e.g. explode a value into an array, then loop through and add commas, etc.

@ldstevens Not a bad idea, it does require a bit of DIY, but more than happy to post some example code

This has been improved in Feed Me 3.x.


Sprite transform display anomaly (P:S versus PS>)

Describe the bug
Compare these two renditions of the same game:
https://clementsparrow.github.io/Pattern-Script/src/play.html?p=b81a790a66fda61d8192888ca2da072d
https://puzzlescriptnext.polyomino.com/play.html?demo=patt/hat_tricks
Something is awry in the PSNext rendition of the AX group of tagged objects (see screenshot below)
Reproduction Steps
Use URLs above
What did you expect would happen?
The two games should look identical
OS & Browser version, desktop/mobile
MAC Safari & Chrome
I've checked java console - there are no errors reported
Screenshots, example projects, other relevant issues, etc.

I correctly guessed the problem. It's because objects A2-A5 do not explicitly state they are copies of A1 (P:S is clearly more forgiving if you do this). It can be easily fixed in the PSNext editor as shown in the screenshot below. This is a very minor anomaly between the two forks, quite possibly not worth fixing. Although I would still recommend updating the GIST used by "play.html?demo=patt/hat_tricks" so the visuals are correct.

Well spotted. I've played that game multiple times and never noticed.
I'll fix it if I reasonably can. It's hard to be sure with some of these, because the 'correct' behaviour of P:S is not defined.

Fixed in 24e01

Post vector rewind.
Cannot find any sign it was ever fixed.

Really fixed in 24f22


investigate additional aws integrations

customers encountered issues when running the install-ack-sc-memdb.sh script. the filter was not present when using curl to pull the script in the workshop environment. im guessing the s3 bucket wasn't synced/updated?

closing until we encounter this issue again


fix transforms that use path

This PR allows the following to work with path in the same way that brfs does it.
var fixtures = require('bulk-require')(path.join(__dirname, '/fixtures'), '*.json')

Any chance this could get merged?


Incorrect usage of  in sample code

 Let's celebrate!
<button @click="balloonsReward">
  Click me!
</button>

There's an error in the sample code: it says  incorrectly.

Ah yes! Thank you 😊


Do you have an example of document loader for microsoft ion or element?

Hi @OR13 , do you have an example of document loader for Microsoft ion or element that using the verifiable credential?

I find its best to write the documentLoader from scratch and make sure it handles all contexts you care about with no network requests... and all did methods you care about with minimal networks requests to infrastructure you control.
here is an example:
https://github.com/decentralized-identity/JWS-Test-Suite/blob/main/implementations/transmute/services/documentLoader.js
If the did method is defined correctly, it should behave the same way.
for example:
A key used to authenticate: https://github.com/transmute-industries/sidetree.js/blob/main/packages/test-vectors/src/did-method/v1-did-method-secp256k1-operations.json#L106
A key used to issue: https://github.com/transmute-industries/sidetree.js/blob/main/packages/test-vectors/src/did-method/v1-did-method-secp256k1-operations.json#L109

To answer your question directly... you can configure your documentLoader to use a any DID Method resolver you trust, including the universal resolver at DIF.

@thomas-tran if you are trying to use these libraries with ION, you may find this PR helpful: https://github.com/transmute-industries/verifiable-data/pull/115
Closing this issue, but always feel free to open other issues for any new questions.


Guidance on Higher Level Abstractions (Use Cases)

From sample use cases,

These can be used in the same way as architectural patterns, and can be conceptualized as an additional "higher-level" abstraction of those patterns.

It appears AWS's intention is for companies to contribute to aws-cdk and aws-soultions-contructs. If a company needs a higher level abstraction with reusability, would that be a good enterprise library for a company? I can import the other two, but I need to copy and paste the third from AWS.
aws-serverless-image-handler is what I'd imagine a "higher level" abstraction that could be shared would look like. It follows "The client should have the option (but not requirement) to provide any props used within the construct", but doesn't fit with "Constructs should be decomposed to their smallest architecture" design guidelines.
Did notice that the readme actually lists this as an aws-solutions-constructs pattern. (it isn't)
const { ServerlessImageHandler } from '@aws-solutions-constructs/aws-serverless-image-handler';

Use Case
Ex. I recently needed a "SNS to SQS to Lambda to Secret" for some alerting infrastructure. I see my team and my company using an identical pattern in 100's of apps. (or as foundational elements in 100 accounts)
Ex. Pre-CDK tech like Elastic Beanstalk translated more directly into CDK
I think there will be a lot more patterns like this. This is too complex for an aws-solutions-constructs pattern, but definitely looks like a use case.
If our developers are using aws-solutions-constructs well (and contributing back), I hope the majority of their time coding infrastructure will be making things that look more like the "use cases."
Proposed Solution
More guidance on creating "higher level" abstractions and a better understanding of AWS's intentions for "higher level" abstractions.
Other

[ ] :wave: I may be able to implement this feature request
[ ] :warning: This feature might incur a breaking change

This is a :rocket: Feature Request

The code under Use Cases is just meant to be examples of how to use Solutions Constructs to create larger architectures, they are not constructs themselves and are not decomposed  to their smallest architecture. The Serverless Image Handler is actually a clone of an older version of the full AWS Solution Serverless Image Handler. The import code you cite in the README appears to be an error (or at least misleading), as the examples are not published to npm - we will look into that.
We certainly encourage customers to make their own higher level constructs, encompassing both L2 CDK constructs and our L3 Solutions Constructs. AWS publishes higher level abstractions through our AWS Solutions Library(many of which are built with Solutions Constructs). Solutions Constructs will continue to focus on small constructs that can be combined in a variety of ways to cover more use cases.
I'm not sure I covered all your questions, please let me know if there are areas that I missed. Thanks.

I totally understand that those are examples.
Internally, we have something similar to the AWS Solutions Library for things that are more specific to our work. It looks almost the same. "Here's a little code and little explanation, copy and paste what you need." What happens when you need to use a specific solution from something like AWS Solutions Library, hundreds of times in a hundred accounts? We are seeing some of those patterns emerge.
One option is a packaged library with things that look a bit like aws-serverless-image-handler. It is definitely a further abstraction than an aws-solutions-constructs construct, but it meets some qualities ("The client should have the option (but not requirement) to provide any props used within the construct") that would help it be more reusable.
AWS Solutions Library may never need to be reusable, but for a specific company, I believe, we will have slightly larger patterns that we use over and over again in different accounts.
Ex. The architect designs a beautiful C4 model. The developer starts looking at the different levels and notices, "This looks like the AWS Solutions Library/Internal Solutions Library example I saw. In fact, I've already done this in 15 other repositories in 15 accounts. Wow, aws-solutions-constructs made that so easy, but I'm still copying and pasting code. I think I'm ready for a higher level component."
What is your guidance for making that sort of library? The kind of advice I'm looking for:

Don't use "experimental" aws-solutions-constructs (which I assume that they will be stable at some point)
Just try to follow all the aws-solutions-constructs ideas, except "Constructs should be decomposed to their smallest architecture"
It's a bad idea, don't do it at all. You've missed X, Y, and Z fundamental ideas!
I have no idea. We are just focusing on aws-solutions-constructs, try it out and let us know what you think

The only bullet point for which I can give an iron clad answer is the third one - we think it's a great idea!
How you design yours is something you will discover over time - the more specific and complete a construct is the less effort it will be to use, but the fewer use cases it will cover. Solutions Constructs explicitly try to be as generic as possible to be useful to the largest audience and to enable composition with multiple constructs to create any architecture you want. The trade-off is that each construct individually only solves "part" of an architecture. That goal wasn't immediately clear to us when we started and you'll notice we have some constructs from early on that don't meet our "smallest architecture" criteria (e.g. aws-lambda-sqs-lambda).
It sounds like you have already identified some higher level use cases that are repeated in your organization - I'd start with those, see the response they get and refine you guidelines as you go along. Also check out the approach some other Construct libraries out there that others besides AWS are publishing - there's a prominent one here.
We launched our library with every construct marked Experimental and basically haven't returned to the issue yet - it comes up often and we're close to moving them all to stable. I can't guarantee that there won't be a breaking change to any we have published so far, but it's very unlikely (and since versions have to be explicitly stated, a new version with a breaking change won't break your build until you upgrade). I think it is very safe to go ahead use the Experimental Solutions Constructs - and I think you'll see them transition to Stable soon.


Depoyment defaults to first item when filter filters out all items

When filtering items in the resource deployment dialog if you type in a query that filters out all resources then it'll still have the "first" item selected silently in the background and allow the user to continue. The continue button should be disabled if there aren't any visible selected resources.

@aasimkhan30 Please triage for Oct release


[Bug] For google sheet datasource, on successful connection user gets redirected back to same page

Description
User get redirected back to same editor page for google sheet datasource on successful connection
Steps to reproduce the behaviour:

Create New Google sheet datasource
Click Continue
Follow all steps

Important Details

Version: [Cloud]
OS: [MacOSX]
Browser [chrome, safari]
Environment [release]

@nidhi-nair the issue still persists User gets redirected back to the same editor page for google sheet Datasource on successful connection

fixed with https://github.com/appsmithorg/cloud-services/pull/30 & https://github.com/appsmithorg/cloud-services/pull/31


KaTex equations overflow into ToC on smaller screens

Past Issues Searched

[X] I have searched open and closed issues to make sure that the bug has not yet been reported

Issue is a Bug Report

[X] This is a bug report and not a feature request, nor asking for support

Describe the bug
Large inline KaTex equations overflow into the ToC.
Expected behavior
KaTex equation should be responsive and confined to the 'content' section of the page
Screenshots

Environment
- OS: Windows
- Browser: FireFox / Chrome
- Browser Version: 116.03 / 116.0

Fixed by 4cb7089


Bad Requests when opening App in Teams

Hello,
When attempting to open the app after deploy I am met with large amounts of white space. When inspecting the traffic I see 3 bad requests being sent to SharePoint and Graph which I believe is what is causing the blank space.

HTTP/1.1 400 Bad Request
Content-Length: 3490
Content-Type: text/html; charset=utf-8
Date: Mon, 15 Jul 2024 21:58:23 GMT
Server: Microsoft-IIS/10.0
Cache-Control: private
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET

Runtime Error

Server Error in '/' Application.

 Runtime Error

         Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

        Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>

        Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>

For the Graph requests...
HTTP/1.1 400 Bad Request
Transfer-Encoding: chunked
Content-Type: application/json
Content-Encoding: gzip
Vary: Accept-Encoding
Strict-Transport-Security: max-age=31536000
request-id: 5c565874-52ec-49cc-9720-673c9d38b396
client-request-id: b46382f9-1626-9969-af8d-88e7d7e49715
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"North Central US","Slice":"E","Ring":"4","ScaleUnit":"000","RoleInstance":"CH01EPF00007336"}}
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Location, Preference-Applied, Content-Range, request-id, client-request-id, ReadWriteConsistencyToken, Retry-After, SdkVersion, WWW-Authenticate, x-ms-client-gcc-tenant
Date: Mon, 15 Jul 2024 21:58:24 GMT
and
HTTP/1.1 400 Bad Request
Transfer-Encoding: chunked
Content-Type: application/json
Content-Encoding: gzip
Vary: Accept-Encoding
Strict-Transport-Security: max-age=31536000
request-id: 7f3ab65f-a96f-4f52-9a9d-71b1a30caab5
client-request-id: 7098cef7-48f8-66fc-e9f6-6ae24a0454d4
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"North Central US","Slice":"E","Ring":"4","ScaleUnit":"000","RoleInstance":"CH01EPF00007336"}}
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Location, Preference-Applied, Content-Range, request-id, client-request-id, ReadWriteConsistencyToken, Retry-After, SdkVersion, WWW-Authenticate, x-ms-client-gcc-tenant
Date: Mon, 15 Jul 2024 21:58:24 GMT

@clarkec2 , thanks for reporting this issue.
Please launch Teams in your browser, then access the developer tools and open the TEOC app. Share the console logs and network traces to assist in troubleshooting the issue.
Additionally, please provide us with the manifest files.

We were able to fix it, it was an issue with the SP site used. Now when attempting to test the app I am unable to use the location field, no matter what is inputted the field automatically clears itself. The button in the box also doesnt work and it will not pop up any thing so I cannot create an incident for testing.  Also when attempting to setup the Map viewer I am met with an error stating that the service is being migrated/deprecated, is there an alternate key that can be used? Azure Maps possibly?

@clarkec2 ,
The Location Field does not rely on a Bing Maps or Azure Maps subscription. It seems you may have forgotten to add permissions to access the Calendar. The link provided below should help resolve this issue. After granting the necessary permissions, please check if the location picker field in the app is functioning correctly.
https://github.com/OfficeDev/microsoft-teams-emergency-operations-center/wiki/Deployment-Guide#6-add-permissions-for-office-365-exchange-online

That did appear to be the case, we consented to the missing permission, and re uploaded the app, however the Location input is still broken. Same behavior as before, auto clears anything inputted and the map button is not working.

@clarkec2 ,
Please clear your cache and attempt the process again. If the issue continues, open Teams in your browser, then open developer tools. Next, launch the TEOC app and attempt to replicate the problem. Kindly share the console and network logs from the developer tool.