change(state):  Insert only the first tree in each series of identical trees into finalized state

Motivation
Address part of #4784.
Solution

Insert only the first Sapling and Orchard tree in each series of identical trees into the finalized state.
We don't store Sprout trees by height, only a single tree for the tip, so this PR doesn't optimize the storing of Sprout trees.
Update snapshots.
Simplify the methods that handle the trees.
Correctly retrieve the trees when retrieving by hash or height.

Reviewer Checklist

[ ] Will the PR name make sense to users?

[ ] Does it need extra CHANGELOG info? (new features, breaking changes, large changes)

[ ] Are the PR labels correct?
[ ] Does the code do what the ticket and PR says?

[ ] Does it change concurrent code, unsafe code, or consensus rules?

[ ] How do you know it works? Does it have tests?

this one seems ready to merge? @upbqdn I'll leave it up to you how you want to resolve the final comments :)

All comments are addressed. I noticed there's a bug in the new code that upgrades the database. I'll push a fix tomorrow.

I added a check that checks if the tree roots of the genesis block match the roots of empty trees, and I noticed our proptests currently generate genesis blocks with shielded data, so the trees aren't empty. I'll push a fix in a separate PR.

This again:

Message:  can't upgrade a database that has already been upgraded, or is newer:
disk: 25.0.2
upgrade: 25.0.2
running: 25.1.0
Location: zebra-state/src/service/finalized_state/disk_format/upgrade.rs:390
https://github.com/ZcashFoundation/zebra/actions/runs/5800049030/job/15723531329?pr=7266#step:8:206

That should stop after #7304.

@Mergifyio update


DBZ-7111 Ability to use exiting service account to run Debezium Server pod

https://issues.redhat.com/browse/DBZ-7111

@jcechace Applied, thanks


Alternative to Symfony Httplug Async

This is a alternative to #159
Im not sure which one I like better.
This will check if a PSR17Factory can be found before accepting Symfony's HttplugClient as a candidate.

@Nyholm thanks, it's works for me

This change works for me as well.
But the tests still fail.

Wohoo, the "install tests" are useful. I found a bug =)
We still check for interfaces. Ie, Symfony client does not work without the Http\Message\RequestFactory (interface)

Thank you


docs: auto relaese maven artifacts

DO NOT MEGRE - I'll ping the SECURITY team for review.
The proposed process is -

PMC votes on an RC version, validating that any binaries are reproducible.
After the vote passes, the RM triggers CI to build the 'non-RC' binaries (likely simply by tagging the version), publishing them to a 'staging' environment.
The RM is responsible for rebuilding and checking those non-RC binaries locally before promoting/uploading them to whatever distribution channels we use. Other committers can check this work.

But we can staging the artifacts before voting since it's not released. And verify on the artifacts and "Close" & "Release" once vote passed; "Drop" once vote failed.

Refer to the tickets that we can/should follow later - https://issues.apache.org/jira/browse/INFRA-23996
Policy changes - https://issues.apache.org/jira/browse/LEGAL-647

@markt-asf Thanks for your review!
I'll prepare a new version based on the RC flavor.
BTW, is the "if the release fails, then tag a new version" strategy possible following the ASF policy? I'm scheduling a quick sync with other RMs and we may need more info to make a decision from the project side.

There are two possible approaches:

X.Y.Z-RC1, X.Y.Z-RC2, etc and then once an RC passes that tag gets copied to X.Y.Z
X.Y.Z, X.Y.Z+1, X.Y.Z+2 etc and you only release the versions where the vote passed

Different projects use different approaches. Tomcat uses the second approach. Commons uses the first. In either approach it is the files that are voted on that are released. In the first approach, some renaming of voted on artifacts from X.Y.Z-RCn to Z.Y.Z may be required (and is allowed since it doesn't break hashes or signatures).

@markt-asf I update the description that we first tag with "-rc" suffix and later promote to a formal tag. All automation will determinate tags pattern and do the correct action.
For Maven central - always staging; close and release on passed; drop on failed.
Other platform is out of ASF platform and we will work out a proper model.

repeatable

@markt-asf It mainly follows Maven Reproducible Builds Guide.
The pom.xml of opendal-java inherits apache's parent pom, which has a property:
<project.build.outputTimestamp>2022-12-11T19:18:10Z</project.build.outputTimestamp>

... and then one can download the staging artifacts, pointing the Maven local repository and check Reproducible report.


Multilanguage AUM pass incorrect urlParms to TransformFriendlyUrlToQueryString

Description of bug
By default, running advanced URL format, the resulting URL looks like this:
http://site.com/pagename/param1
The TransformFriendlyUrlToQueryString method that needs to be implemented by providers will see the correct urlParms parameter containing 1 array entry:
urlParms
{string[1]}
string[]
[0] "param1" string
As soon as you enable multiple languages on a site under Admin > Languages, it automatically creates site aliases with entries like site.com/en-us and site.com/en-ca
http://site.com/en-us/pagename/param1
http://site.com/en-ca/pagename/param1
Notice the urlParms parameter is incorrectly populated breaking the parser in the URL extension provider. The URL extension provider is unable to correctly guess and separate between what is actual query parameter and page:
urlParms
{string[3]}
string[]
[0] "en-us" string
[1] "pagename" string
[2] "param1" string
To confirm the inconsistency, the article here http://www.dnnsoftware.com/wiki/extension-url-providers states the urlParms parameter should exclude the page path (and therefore language too).
urlParms : a string array of the URL segments (/segment1/segment2) in the URL "after" the site alias & page path have been matched and removed from the entire URL. In this example, it would be an array of 1 position with 'My-Item' in it.
Please fix this ASAP as it breaks the advanced URL provider badly.
Steps to reproduce

Create a new ExtensionUrlProvider, in that case TransformFriendlyUrlToQueryString needs to be implemented by provider.
In normal situation when multi-languages are not enabled, parameters passed to this function will be correct, i.e. page name and all other prior segments wont be part of parameter list.assuming url was http://site.com/pagename/param1 page name wont be in param list
now if we enable multi-languages params passed to above function now contain lang identifier as well page name
Expected behavior should be even after enabling multi-languages, params passed to

Current result
Custom logic based on params is breaking due to additional language params are passing into the application
Expected result
urlParms should not contain any language code
Affected version

[x] 9.2.2
[x] 9.2.1
[x] 9.2
[x] 9.1.1

@Mohtshum  Is this still a valid issue?


Make an embeddable Donation Card

We can use similar structure to the donate button to also create an embeddable donation card, which would take in a donation ID and create the same UI as the donation card on our main website, except using the shadow DOM in other website contexts. We can use the donation API to get all the requisite information:
https://www.every.org/api/donation/1?nonprofitSlug=givewell&username=omar
That already works with a simple GET request. We can also do it with donation IDs:
https://www.every.org/api/donation/7714ab02-66a0-440c-9121-ce8eba9d04b9

@osdiab which donation card are you referring to?
The idea is to provide another way to the non-profits to show up the donation widget?

This is separate from the donate button, along with #128 - sorry for the confusion. When someone donates on Every.org we show a card representing their donation on our site; we want those cards to be embeddable on other peoples sites too.
before implementing this I want to nail down if we wanna do it with the shadow dom preact technique here, or via an iframe; there are pros and cons to each. So will self assign until it’s ready


qarte: 2.4.0 -> 3.2.0

Things done

[ ] Tested using sandboxing
(nix.useChroot on NixOS,
or option build-use-chroot in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I don't know this package, but it seemed to me like a good example to show how we could use a Python environment instead of setting PYTHONPATH. See https://github.com/FRidh/nixpkgs/commit/8645753b0f73c2a37a58f105b313676caafcbea6.

Thanks. I’ve cherry-picked your commit and tested it on NixOS: it seems to work properly.


Return "404 page not found"

Bug report
System info:
InfluxDB 0.12.2
Ubuntu server 14.04 LTS
Steps to reproduce:

curl -X POST 'http://localhost:8086/db?u=root&p=root' -d '{"name": "stats"}'
404 page not found

help me please.

Please look at the documentation for writing points over HTTP. You need to use the /write endpoint.

@sbhr It looks like you might be trying to use v0.8.x syntax, which is no longer applicable. The link that @e-dard provided above will get you started on the latest version.

I'm sorry not to read the documentation.
Thank you for your answer.


Change max480-random-stuff.appspot.com to maddie480.ovh

The domain name of my APIs changed. The old one redirects to the new one, but we might as well just update the URLs 😅
The ?format=everestyaml parameter is also not required anymore.

The domain name changed again (along with the other references to my nickname), the PR was updated to account for that 😅

The name change was applied manually to the main branch, so this isn't required anymore. 😅


ClamAV don't launch

Amavis fail to start :
2016-07-07 08:16:16,105 INFO spawned: 'freshclam' with pid 259
2016-07-07 08:16:16,153 INFO exited: freshclam (exit status 40; not expected)
2016-07-07 08:16:17,158 INFO spawned: 'clamd' with pid 260
2016-07-07 08:16:17,195 INFO exited: clamd (exit status 1; not expected)
2016-07-07 08:16:19,622 INFO exited: freshclam (exit status 40; not expected)
2016-07-07 08:16:19,812 INFO gave up: freshclam entered FATAL state, too many st                              art retries too quickly
2016-07-07 08:16:20,881 INFO exited: clamd (exit status 1; not expected)
2016-07-07 08:16:21,883 INFO gave up: clamd entered FATAL state, too many start                               retries too quickly

That occur debug mail at each sending mail and no sending at all.

Maybe a solution : ?
root@ohmna2:~# docker exec -ti mailserver clamav
ERROR: Parse error at line 14: Unknown option AllowSupplementaryGroups
ERROR: Can't open/parse the config file /etc/clamav/freshclam.conf
freshclam: ERROR (abnormal termination)
clamd: ERROR (abnormal termination)

Resolved with remove AllowSupplementaryGroups in freshclam.conf and clamd.conf

ClamAV package was updated (AllowSupplementaryGroups option doesn't exist anymore), I will comment this two lines asap.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=826406

Solved with 0.99.2+dfsg-0+deb8u2


Support for the error ConnectionAborted

Details
When too many queries are performed in too short a time interval, I would get this error, adding this key support resolves the error.
error: Uncaught (in promise) ConnectionAborted: An established connection has been abandoned by software from your host computer. (os error 10053)
          numBytesWritten = await this.writer.write(data);
                            ^
    at deno:core/core.js:86:46
    at unwrapOpResult (deno:core/core.js:106:13)
    at async write (deno:runtime/js/12_io.js:107:12)
    at async BufWriter.write (https://deno.land/std@0.97.0/io/bufio.ts:498:29)
    at async writeResponse (https://deno.land/std@0.97.0/http/_io.ts:277:15)
    at async ServerRequest.respond (https://deno.land/std@0.97.0/http/server.ts:87:7)
    at async Response.end (https://deno.land/x/opine@1.4.0/src/response.ts:257:7)

CheckList

[ ] PR starts with [#ISSUE_ID].
[x] Has been tested (where required).

First inclination is that this is either something that should either be handled in the std lib for everyone if indeed it is just an error that can be ignored safely, see https://github.com/denoland/deno/issues/6013 and is referenced here https://github.com/denoland/deno/pull/6155#pullrequestreview-425777082. I've left a comment asking why this wasn't added to the std/http lib.
If it doesn't belong there ( haven't read into what this error is actually implying just yet ) I'm inclined to believe it doesn't belong in Opine either. Have you tried handling this error yourself using an error middleware or via a try {} catch {}?
See https://github.com/asos-craigmorten/opine/blob/main/.github/API/application.md#appusepath-callback--callback

Yes, I tried to handle the error with a try, but unfortunately it doesn’t work.
In fact this error occurs when I refresh the page in my browser too fast, so my theory is that if we refresh the page in the browser too fast (which can happen) the first connection is closed even before the lib has had time to answer it, which returns this error.
In itself, this error does not really have an impact, except that the request interrupted by the client must not be followed up in the lib.

Yes, I tried to handle the error with a try {} catch {}, but unfortunately it doesn’t work.

Do you have a small reproduceable example? I would expect something akin to...
app.use(async (req, res, next) => {
  try {
    await res.end();
  } catch (e) {
    if (!(e instanceof Deno.errors.ConnectionAborted)) {
      next(e);
    }
  }
});

would cover it?

Unfortunately, I cannot isolate this phenomenon which occurs randomly when I spam requests.
I’m looking for...


Fix of a context-sensitive stored XSS in redirection URL

Described in e-mail.

Coverage remained the same at 82.688% when pulling 7df90de9ee4fb26943171e73a6ca8cb570189e98 on asteinhauser:release/3.4.x into b539fa7876ab2c80ad55b12ed357957971cd228c on divio:release/3.4.x.

Coverage remained the same at 82.688% when pulling 394989dc83e60e3170358dc059ae64b458d6c4c7 on asteinhauser:release/3.4.x into b539fa7876ab2c80ad55b12ed357957971cd228c on divio:release/3.4.x.


Ollama speed dropped with setting OLLAMA_NUM_PARALLEL

What is the issue?
After setting OLLAMA_NUM_PARALLEL in Ollama 0.1.38, the speed of single user access has dropped by half, and the GPU utilization rate is only about 50%."
OS
Windows
GPU
Nvidia
CPU
Intel
Ollama version
0.1.38

same problem here :(

Okay, I did a little research on my case, and it doesn't seem to be relevant to this bug after all. I found similar issue with explanations here. Setting num_thread parameter in model file did help to utilize 100% of CPU in my case, but this did not really help to increase performance. Sorry for misleading you. I have been using Ollama not long ago, and until recently I had a server without HT. Your case probably different.

@hugefrog can you share some more details?  What does ollama ps show with/without the parallel setting, and what did you set it to?   We have to multiple the num parallel by the context size when loading into the GPU, so if you're loading a model that just barely fit without parallel, adding parallel might be pushing layers off the GPU and into system memory which could explain the slowdown.  Our goal is to auto-select parallelism in the future based on available VRAM so we can avoid overflowing to CPU.

If you're still seeing performance problems, please make sure to upgrade to the latest version and share the ollama ps output so we can evaluate.

If you're still seeing performance problems, please make sure to upgrade to the latest version and share the ollama ps output so we can evaluate.

Thank you for your response. I have updated Ollama to version 0.1.141 and conducted some test. I found that after setting OLLAMA_NUM_PARALLEL, the storage consumption of the yi:34b-chat-v1.5-q4_K_M model increased from 22GB to 25GB, which exceeds the memory capacity of my nvidia 3090, resulting in a decrease in speed.

@hugefrog that sounds like expected behavior with the current architecture.  In an upcoming release if no parallel setting is defined, we'll auto-detect available VRAM and set a reasonable parallel level that keeps the model fitting in VRAM.


[MDB] Mob difference isn't highlighted

Description
When comparing diff between map changes, mobs aren't highlighted in red.
Steps to reproduce

make a mapping change that deals with mobs
view the diff
cry when you can't tell what mobs are changed

Expected Behavior
All diff is highlighted for ease of viewing and review
Additional Information & Screenshots

Case of object critter to mob critter

Yes that's the issue because they aren't the same, left the critter is an object on the right its a mob

The diff image can only compare visual changes, the exact same issue occurs for VV edits.

Its unlikely this will ever be fixed, paging @MCHSL and @jupyterkat for thoughts.

this would be a huge rework of how the diff is rendered, all for a tiny vv edit

well thats too bad then


a hover-over for all ranking scores is needed in the related searches panel

Hide ranking scores in the search panel
Add a separated page describing the ranking methodology/recommendation methodology on mudrod.github.io site.
Add links to the mudrod.github.io pages at the bottom of the right-hand side recommendation widget

@lewismc @fgreg  Could you please check out the above description to confirm it meets the requirement? Thanks

@quintinali can you show me where the following is implemented?
Hide ranking scores in the search panel

@lewismc Is it necessary to hide those scores assigned to related queries?

No

Ok, thanks. I will remove the first item in the description.

Do you meant to have a link on the last item in "Related Search Panel" to open a new tab to  "mudrod.github.io"?

@lewismc Please answer gxtchen's question above. Thanks.

Yes, something like "Click here for a description of our ranking algorithm(s)." this should open a new tab, NOT navigate the user away from the WebUI.

@gxtchen  Could you please add these links at the right panel after changing it to side-by-side tabs
(row 11 in spreadsheet: when you click on a dataset landing page, the two tabs denoting ‘Related datasets’ and ‘Related Searches’ should be side-by-side tabs instead of underneath)
link to related keyword searches algorithm: https://mudrod.github.io/vocabulary-similarity-algorithm/
link to recommendation algorithm: https://mudrod.github.io/recommendation-algorithms/

Complete https://github.com/mudrod/mudrod/pull/206/commits/8bb5ca69171b3a083a23a26ceb67d0c5602bb108


Combine python and rust projects into a directory by topic

@prrao87 can you see if your rust analyzer is ok using this setup of the pieces directory in order to be able to combine the README files? Right now I'm just experimenting and haven't moved everything. On my end analyzer seems ok with this setup.

Looks good, and it works fine now thanks to the resolver=2 line! I'm away from my computer so can't make the changes to the other directories till later today, but feel free to add the remaining changes to this PR if you have the time 😁.
Managing the docs will be a lot easier now 🎉

I can take care of moving them. Do you have any outstanding work in the old python or rust directories that you want me to keep them around for so you don't end up with conflicts or can I go ahead and remove them?

No outstanding work (still haven't found the time to look into the sqlx stuff).. So I don't think there'll be any conflicts on my end, and even if there are, should be a minor fix .

I'll just be adding a new directory "book" at the root level, next to "pieces" in a new PR soon. That'll be where we can deploy the mdbook from, which won't conflict with the reorg on your end.

I noticed the same regarding dotenvy. Can we just put a copy of .env in both the Python and the rust directories? Keeps things consistent, even if we have to manage two files.
Also, I need to up my type checking game prior to pushing Python code 😅. Have you looked at using pyright? It's what's used under the hood at Pydantic, and a lot of folks seem to be switching to it instead of mypy, so curious to know your thoughts.

Yes, setting it up to have 2 .env files seems like the best solution.
My editor is setup to use pyright as the LSP, and when I initially set it up I tried the type checker. It was really bad about flagging things that weren't real errors so I needed a lot of type ignores. I saw several people having the same issue so I switched back to mypy. To be fair, that was several years ago so it's entirely impossible they have improved things and maybe even made it better than mypy now.

I believe I have everything updated now. When you have time it would be great if you can double check to see if you notice anything I missed.

Looks great! Tested and it all checks out fine. Just added some clarifications to the docs 👍🏽


Add perFilerConfigObject to store pre-processed per-route-config

Description:
Add a new function in filter_factory to allow filter to generate a pre-processed object for per-filter-config.
In VHost, Route, and RouteEntry, add a new function  perFilterConfigObject to retrieve this pre-processed object.
Risk Level: Low

@mattklein123 @rodaine, could you help to review this?  Thanks

As an aside, I don't think this solution will work for Lua which is more complicated. This is because the Lua code must be JITd per-thread and can't be constant global like this data. I will think about about the Lua case but I think we can probably proceed with this as it's blocking a few things.

@mattklein123 for Lua, could the config object own a TLS slot, and store the Lua state in that? Might have to make this non-const, but that wouldn't substantially change the approach.

I actually wonder if we should just kill the other functions and only have this type of config. If the filter just wants the proto they can just store it in a wrapper? WDYT?

+1 to that.

yeah +1 to @rshriram suggestion. We can hold on the fault/buffer PRs until we finish this.

for Lua, could the config object own a TLS slot, and store the Lua state in that? Might have to make this non-const, but that wouldn't substantially change the approach.

Yes, that should work. The only downside to that approach is we would need a TLS slot per route which might be inefficient in the case where we have lots of routes, but, I think that's probably an edge case. IMO I would just leave the signature as const for now since the wrapper really does have to be const. If the implementation does non-const/mutable things under the hood in special cases that's probably OK...

Thanks for the review.  Here is my plan:

not to add another perFilterConfigObject(), change exising perFilterConfig() to return RouteSpecificFilterConfig

In filter_factory,  replace  createEmptyRouteConfigProto() with

Router::RouteSpecificFilterConfigConstSharedPtr
createRouteSpecificFilterConfig(const ProtobufWkt::Struct&)

will add

template
const Derived* perFilterConfigTyped
Thanks

PTAL

I will review tomorrow, but @ggreenway @rshriram I don't think this by itself will work for Lua. The reason being that in order to use TLS and more complicated things, the factory will need access to the FactoryContext. @ggreenway this bring us back full circle and I think we will need to provide the full FactoryContext all the way to the route config, or think of some other cleaner callback way of getting it in.
I would still suggest we just get this in as is and we can figure out the Lua (and maybe WebSocket case after).

Question: can we get similar functionality for tcp ?

I don’t know what gets carried through from SNI filter chain match.

@rshriram for tcp, routes will be defined by the FilterChainMatch, so each route will have a completely independent filter-chain (with config) anyways, so no additional work will be needed.


Cannot record errors / crashes but other metrics fine

Hi there,
I am trying out new relic and am ran into a new issue. Yesterday I had been facing an issue where I couldn't see any data at all. Today I resolved the issue and I see launches, http errors, etc. but the new problem is that I don't see any crashes.
Even if I use NewRelic.crashNow() or throw an error manually and then call NewRelic.recordError() I see nothing.
I also tried  SELECT * FROM 'JS Errors' and I see nothing
I notice that when I throw an error to simulate a crash, and then call NewRelic.recordError(), I see the following log:
2023-04-26 15:23:37.431240-0700 Lingo[61949:16836836] NewRelic(7.4.3,0x600002830080):	NRMAAnalytics.mm:412	-[NRMAAnalytics addCustomEvent:withAttributes:] 	Failed to add event: value exceeded maximum byte size, 4096
How can I get around this?

I also see the following log
New Relic Crash Reporting is DISABLED because it has detected the debugger is enabled.
what do i do about this?

Hello, due to limitations of iOS there can only be one uncaught exception handler at a time (more info here). So if you want to test iOS crashes, you'll have to run in release mode and not debug mode. If you want these iOS crashes to be symbolicated, you'll have to run on a real device and upload the symbols (instructions here).
For recordError, it looks like the event is being dropped for some reason. I can take a look if you're able to share the code to reproduce the error. We are revamping how errors are going to be reported in the next release which should solve these issues.

@kthai-nr got it, I'll work on making sure there's only one exception handler and get back to you. I'll also work on running in Release mode. I've unchecked "debug executable" in XCode already but still no crashes appearing. I'll ensure that the build configuration is Release.
I can't share the code, but it's pretty simple. We have an error boundary component. It catches errors and calls recordError using the original error object.

thanks for your help @kthai-nr! we've determined that the issue was just because we weren't using a prod build. we still didn't get to a point where we could see errors/crashes and tried Release configuration, but must still be doing something wrong in regards to that as there is no other error handler configured in our app


How to create default disk on Ceph

When I use no rootfs in my .tf I will get default disk size of 4 GB:
Once the LXC was created, running again the commad will show:
rootfs: hdd:vm-119-disk-0,size=4G
Now I am wondering how do we define the disk name, especially when using rbd ceph pools.
I tried with #rootfs = "hdd:size=10G" yet that will fail in proxmox for TASK ERROR: unable to parse rbd volume name '10' .
How can I change the disk size for LXC the right way.

From #137
You can set the starting size with:

rootfs = "local-lvm:20" # size in GB


Inconsistent receive and send screens

Describe the bug
copy withing the fields vs below the fields
Screenshots of the changes [optional]

We did this for this reason: #1517
A placeholder is not a label and it's not a hint-text. It should show i.e. an example of what can be input there.
If the text in there gets too long because languages are different it's being cut off and not useful anymore.
To show the whole text on hover is not good UX.
Proposed solution:

align "Receive" accordingly
if the "hint"-text is too small let's i.e. make it bigger

Closing as this is the same as https://github.com/getAlby/lightning-browser-extension/issues/2061 and there's broader discussion there


Cattle shows net-util.sh error when not -ti is missing

If I start a ubuntu:14.04.1 docker image with command /bin/bash but choose "console:no", I get the following error:
: 52ea013e-fad7-4929-abd9-2b65ecf926e1 : Command '['/var/lib/cattle/pyagent/cattle/plugins/docker/net-util.sh', '-p', '2418', '-i', '<IP_ADDRESS>/16', '-d', 'eth0']' returned non-zero exit status 43
Maybe I should use a terminal-interactive setting, but cattle should nicely point that out, I think...

The problem here is that net-util masks the errors from Docker.  If the container fails to start instead of showing the correct error from docker the net-util fails and we show that error.
@cjellick Can you reference the issue that you are using to track this?

I have an umbrella issue for the entire native docker experience feature.
Here's is the comment where I reference all the net-util related bugs explicitly:
https://github.com/rancherio/rancher/issues/47#issuecomment-75267544

@cjellick Not sure if this is fixed as #47 is closed.

Tried to reproduce with v0.61.0-rc3, but I don't see any errors.


Can add a start flag to show the layout border , like android

There are lots of debug flags for the rendering system:
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/rendering/debug.dart
@devoncarew is in the process of exposing many of these in the flutter Atom plugin.
Can you tell me what the Android flag is?  It's possible we could/should respect it anyway?

Yup, the debugger from atom can toggle drawing rectangles around the widgets:

Those options will change and evolve as we figure out which flags are the best things to expose to end users.

Surprised! What plugin should install, I cannot find this tool bar in my atom editor. I haved install dart-lang plugin @0.5.0

Yeah,I found, but paddings and margins can use some color to display

We don't have a specific debug flag for Padding or Margins, since they're just Widgets which know how to draw their children.  We certainly could add some code to RenderPadding to do such, i'm not sure if that's general-case enough for debug.dart. @Hixie?

Padding and margin already do. They just display boxes like any other box. Happy to add more, just let me know what you think it should look like. (Probably in a new bug, one per thing you want.)

Adding something for padding. See https://github.com/flutter/flutter/pull/1158.


Refactor dockerfile

Refactor dockerfile, and its size is about 600MB.
Please read README.md.

Codecov Report

Merging #1978 into dev will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev    #1978   +/-   ##
=========================================
  Coverage     30.28%   30.28%
  Complexity     1367     1367
=========================================
  Files           294      294
  Lines         14999    14999
  Branches       1806     1806
=========================================
  Hits           4543     4543
  Misses        10006    10006
  Partials        450      450

Continue to review full report at Codecov.

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

find some conflicting files


feat: support custom types in extension yamls

Support parsing UserDefinedType (denoted by u!) in extension yaml

I believe @anshuldata is or will be working on a patch to replace the hand parsing with antlr grammar. That should address several gaps in the current function parsing. I'd be inclined to wait until that is merged before trying to solve this gap (as some of it may come for cheap/free).

@jacques-n do you think that will be available next week? We have some stuff internally that's blocked on us being able to handle user-defined types. Aside from potentially redundant work on our end, would there be any harm in updating the hand parser.

@vbarua It's unlikely that something as large as replacing with an antlr grammar will be merged next week as I'm sure that would need significant review and testing. My personal opinion would be that it makes sense to update this if you need it. I doubt there's any harm besides the redundant work.
@jacques-n thoughts?

I think this patch is building debt on debt.
In general, I find it to be a bad habit to accept something we know we're going to delete in a couple of weeks (unless we're fixing a critical regression). It sets a bad precedent for new contributors on how we work. If we know we're going in a certain direction and one contributor wants to go there faster than another, let's just have them take us to the target outcome.
I'm -0 on this patch. I'm not going to block.

Based on

I'm -0 on this patch. I'm not going to block.

I'm going to merge this in.


Change the settings platform DSL to more accurately describe the Gradle architecture

Context
The DSL distinguishes between things that a platforms and things that are architecture modules, and captures some the relationships between these things.
This information is also used to generate an architecture diagram: https://github.com/gradle/gradle/blob/am/arch-2/architecture/readme.md
Contributor Checklist

[ ] Review Contribution Guidelines
[ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[ ] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[ ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass sanity check: ./gradlew sanityCheck
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test and merge

The merge queue build has started. Click here to see all failures if any.


As a HR staff member, I want to view who I have looked at recently when I click the search bar

so that I can easily fetch employees that I have analyzed recently and make my work more convenient.

Not implemented.


Card Documentation

Should be finalized.
Should we also push to get the hub documentation updated as well? Do additional client docs need to be made?

Yes on hub docs, maybe on client docs. When I'm done with this you should definitely review the card docs to see if any essential client stuff is missing.

Card docs done (with exception of blurb on linked payments - need a hand there), need review. Have also asked a few friends from the community for feedback

can i get a review from @LayneHaber @ArjunBhuptani


Line wrapping - Table cell overflow

When the content of a cell in a table is too long, it overflows into the next cell. It would be better to cut it and continue on the next line.

Hi Milosta! cells wrap text automatically, so it looks like a bug. Can you share your code with me so I can find the issue?

Thank you aFelipeSP. I should have specified that it works if the text contains spaces. But it does not work with very long words, such as emails.
Here is a minimal working example.
from pdfme import build_pdf

doc = {
    "style": {
        "margin_bottom": 15,
        "s": 10,
        "page_size": "a4",
        "margin": [60, 35, 60, 35],
    },
    "formats": {
        "title": {
            "b": 1,
            "s": 15,
            "cell_margin_top": 0,
            "cell_margin_bottom": 10,
            "cell_margin_left": 0,
            "cell_margin_right": 0,
            "text_align": "c",
        },
    },
    "sections": [
        {
            "content": [
                {"content": ["Some title"], "style": "title"},
                {
                    "style": {
                        "s": 8.5,
                        "border_width": 0,
                        "margin_top": 0,
                        "margin_bottom": 10,
                        "cell_margin": 3,
                    },
                    "borders": [{"pos": "h1:1000000:1;:", "color": 0.9, "width": 0.5}],
                    "widths": [1, 0.7, 1, 3],
                    "table": [
                        ["Data1", "Data2", "Data3", "Data4"],
                        [
                            "Lorem ipsum dolor sit amet",
                            "Works with spaces present",
                            "Lorem ipsum dolor sit amet",
                            "Lorem ipsum dolor sit amet",
                        ],
                        [
                            "Lorem ipsum dolor sit amet",
                            "DoesNotWorkWithoutSpaces",
                            "Lorem ipsum dolor sit amet",
                            "Lorem ipsum dolor sit amet",
                        ],
                    ],
                },
            ]
        }
    ],
}
filepath = "test.pdf"
with open(filepath, "wb") as f:
    build_pdf(doc, f)

Result looks like this

Unfortunately this is not possible at the moment, and it will not probably be added anytime soon. What you can do is split the strings with python following any condition you like (split every 20 letters for example).


Update application-proxy-faq.md

This was an interesting question from one of our customers that we should document here.

@githubarpyka : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @kenwith - Could you review this proposed update?
If it's approved, I could edit to the following, or as suggested:
### Can a guest user with the Global Administrator or the Application Administrator role register the connector for the (guest) tenant?
No, currently, this isn't possible. The registration attempt is always made on the user's home tenant.

@ktoliver there is an email thread to check with the PM, @japere . I am sure it is correct since @githubarpyka is expert escalation engineer on this one. I will let you know once we confirm with Jasmine ( @japere ) if she agrees.

@kenwith, @ktoliver, This suggestion makes sense to me.

#sign-off
@ktoliver thank you for your updates too, much appreciated. :)


It appears the --only-lookahead option (-c) doesn't work

I runparol -c -f ./src/parser/parol-grammar.par -e ./src/parser/parol-grammar-exp.par -p ./src/parser/parol_parser.rs -a ./src/parser/parol_grammar_trait.rs -t ParolGrammar -m parser::parol_grammar and there's no output (it just changes files)
Actually, I don't see anything printing unless it's in verbose mode. In that case, I see way too much :(
I've tried some other combinations of flags too, nothing seems to work. I'm pretty sure it's broken (or at least super unclear on how to use it).
Consider removing it and switching to the use of the calculate_k tool.

Yes, I agree.
This switch is rather unclear and it's use is dated back in the early stages of parol.
I plan to switch to clap 3.0 soon. In the course of this I will cleanup these quirks.
Hint: In my opinion the decidable subcommand is even better than calculate_k because you can recognize conflicts much better.

Fixed by commit [b302c92f2bcf9b64562ec219f628df5944576c8a]


release for Issue 405 fix?

Version: 1.12.5

Development Environment
NPM
Current Behavior
Issue 405  seems fixed. But can we please have a release that includes that?
// Write example code

Expected Behavior
Update release with Issue 405 fixed

Please include the fix from #437 as well, if making a new release.

@silverskysoft

v1.12.6 was released.


Update stable version in repo from 1.2.13 to 1.2.14

Think about update stable version to 1.2.14
Version: stable=1.2.13 (75 days old) => latest=1.2.14 (17 days old)
Installs: stable=125 (56.05%), latest=18 (8.07%), total=223
Click to use developer portal
Click to edit
Do not close this issue manually as a new issue will be created if condition for update still exists.
Please drop a comment if any reason exists which blocks updating to version 1.2.14 at this time.
Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 1.2.14 but the current stable version is already 1.2.14.
So this issue should be closed.
@mcm1957 for evidence


Publish pre-release packages to github packages

Shall we try Github packages for pre-releases to make consuming them from tooling a little nicer than the zip artifacts?

Great if it works, but I tried to get this working on some of my personal repos a few months ago and I couldn't ever get the upload to work.

Ah fair - it looks like there's some reasonable docs around it now. Shall we merge it and see if we can get master pushing to packages?

Happy to merge to try it once it's green, but if it fails you might need to do a follow up to just comment it out.

Happy to merge to try it once it's green, but if it fails you might need to do a follow up to just comment it out.

Yep going to timebox this and revert it if I can't get it working 😁

I'm going to just set continue-on-error: true so its best effort

Great idea. Who do we beg to make GitHub NuGet feeds public?

Great idea. Who do we beg to make GitHub NuGet feeds public?

They are public here, we just haven't published any yet :)

No way, ok that's awesome! I thought GH had them private only, which would be a pain.

GitHub Packages is not available for private repositories on legacy per-repository billing plans.

We're good for public - for private, someone in the finance/procurement sphere will have to change the billing plan.

I don't understand why the coverage is failing now - it seems to think there are changes where there aren't any 🙃

The builds aren't 100% deterministic, so the coverage varies. Note that the coverage statuses aren't required.

The builds aren't 100% deterministic, so the coverage varies. Note that the coverage statuses aren't required.

Oh righto, awesome. In that case this PR just needs your green tick please, and we can try it out :)

Looks like the same sort of problems I was getting, where the responses aren't helpful at all:
https://github.com/justeat/JustSaying/runs/1091741953?check_suite_focus=true#step:8:8

Hmmm, if we want to keep going down this route, it looks like we might need to authenticate with GPR before attempting the push, as described here. There's an open issue on NuGet with sending the API key directly: https://github.com/NuGet/Home/issues/8580.

@martincostello we explicitly specify nuget when pushing there so I think we could set this up and regular nuget push should still work

You can try that too, but I did a lot of banging my head against a wall trying to get all this working including explicitly configuring NuGet.exe and the .NET Core SDK 😅

You can try that too, but I did a lot of banging my head against a wall trying to get all this working including explicitly configuring NuGet.exe and the .NET Core SDK 😅

Yeah I'm ready to give up if this PR doesn't work


Add results formatting for new Time with Timezone type

This addresses #667

@marregui Requested your review on this, in case you had a nicer idea about how to format microseconds from midnight and seconds from UTC into a string. I did it this way because I'd rather not add an extra time library if I can help it. :sweat_smile:


"data_list" Not Being Populated When Training a Model

Describe the bug
Whenever the command to train a model using a config file is ran, an empty array error is displayed. Investigation into the issue revealed that the "load_data_list" function is never being called, and therefore "data_list" is not being populated. Why data_list is being utilized before being loaded is unknown.
Reproduction

What command or script did you run?

(openmmlab) C:\Users\cmyou\Desktop\MMDetection> python tools/train.py configs/_base_/NewDST/mask-rcnn_r50_fpn.py

Did you make any modifications on the code or config? Did you understand what you have modified?
A new config file was added to train the model using a custom dataset. The config file was written according to this guide: https://mmdetection.readthedocs.io/en/latest/user_guides/train.html#train-a-new-model
What dataset did you use?
A custom coco data set was used.

Environment

Please run python mmdet/utils/collect_env.py to collect necessary environment information and paste it here.

Python: 3.8.18 (default, Sep 11 2023, 13:39:12) [MSC v.1916 64 bit (AMD64)]
CUDA available: False
numpy_random_seed:<PHONE_NUMBER>
GCC: n/a
PyTorch: 2.0.1
PyTorch compiling details: PyTorch built with:
  - C++ Version: 199711
  - MSVC 193431937
  - Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v2.7.3 (Git Hash 6dbeffbae1f23cbbeae17adb7b5b13f1f37c080e)
  - OpenMP 2019
  - LAPACK is enabled (usually provided by MKL)
  - CPU capability usage: AVX2
  - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CXX_COMPILER=C:/cb/pytorch_1000000000000/work/tmp_bin/sccache-cl.exe, CXX_FLAGS=/DWIN32 /D_WINDOWS /GR /EHsc /w /bigobj /FS -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOCUPTI -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_DISABLE_GPU_ASSERTS=OFF, TORCH_VERSION=2.0.1, USE_CUDA=0, USE_CUDNN=OFF, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=OFF, USE_NNPACK=OFF, USE_OPENMP=ON, USE_ROCM=OFF,

TorchVision: 0.15.2
OpenCV: 4.8.0
MMEngine: 0.8.4
MMDetection: 3.1.0+f78af77

You may add addition that may be helpful for locating the problem, such as

How you installed PyTorch [e.g., pip, conda, source]
Other environment variables that may be related (such as $PATH, $LD_LIBRARY_PATH, $PYTHONPATH, etc.)
PyTorch was installed using conda. All relevant files are located on the desktop folder.

Error traceback
If applicable, paste the error trackback here.
 File "<__array_function__ internals>", line 200, in concatenate
ValueError: need at least one array to concatenate

Hi, I have the same value error. Is there any solution?

In VIA 2.0.12 you enter a name and description for each annotation class. The description text is what becomes the "Name" variable in the COCO format. Whatever you have as the description should match 'classes': ('NAME_HERE', ), in the config file.

在 VIA 2.0.12 中，您可以为每个注释类输入名称和描述。描述文本是 COCO 格式的“Name”变量。无论您拥有什么描述，都应该与配置文件中的描述相匹配。'classes': ('NAME_HERE', ),

我的问题已经解决。多谢！

你好，请问你是如何解决的，我更改了coco.py中的classes，但data_list依旧为空

The error indicates that something is wrong with the dataset provided. I would check your coco files and images to make sure the data matches what is in your config file. Sorry I can't provide more useful advice.

在 VIA 2.0.12 中，您可以为每个注释类输入名称和描述。描述文本是 COCO 格式的“Name”变量。无论您拥有什么描述，都应该与配置文件中的描述相匹配。'classes': ('NAME_HERE', ),

我的问题已经解决。多谢！

你好，请问你是如何解决的，我更改了coco.py中的classes，但data_list依旧为空

The error indicates that something is wrong with the dataset provided. I would check your coco files and images to make sure the data matches what is in your config file. Sorry I can't provide more useful advice.

谢谢！之后我发现我的pycharm或者anaconda的安装有些问题，我将其全部删除重装之后，没有再出现这个问题


[BUG] Misaligned symbols on compact mode calendar

Describe the bug
The icons displaying moon phases, seasons and close/popout are misaligned in the compact view:

To Reproduce
Steps to reproduce the behavior:

Configure a calendar
Double click on calendar to minimze
Issue is reproduced

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Foundry Information

Foundry Version: 11.315
Game System: DnD5e v2.1.4
Simple Calendar Version: v2.4.3

Browser (please complete the following information):

Browser Chrome (current)

Does this happen if Simple Calendar is the only module active?
I have not been able to reproduce the icons becoming misaligned

I have analyzed in my instance and I have found out that a certain module adds a pop-out button which can be toggled off to the calendar and sets the styling to "display: block;" which messes with the alignment in Simple Calendar.
Aditionally another module (mine) added a filter to the SC window, which caused the icon to slide out of position. Sorry for the wrong alert here, I have fixed this issue in my module and this should  solve the issue.


Filter what is reported

Thanks for the addon. It does indeed work as expected.
There's only one thing we found lacking from our implementation before that.
For some of the data we rely only on backend validation, so sometimes there are a lot of 422 responses that get sent to rollbar, but are actually expected. The same goes for 401s when a token expires and a few others.
My solution currently is to extend the exposed rollbar service and override the registerLogger method to invoke a method that decides whether to report the error to rollbar or not.
It looks like this:
registerLogger() {
        if (this.get('enabled')) {
            let oldOnError = Ember.onerror || function() {};

            Ember.onerror = (...args) => {
                oldOnError(...args);

                if (this.shouldReport(...args)) {
                    this.error(...args);
                }
            };
        }
    }

And then the shouldReport method inspects the error and decides whether to report it or not.
Is this a good way to go about it?
And would you consider adding something like this ?
If it's in the addon with a default implmentation for the shouldReport method that just returns true, then anyone can simply extend the service and override it to add their own logic.
I can do a PR if you think this is good or have any suggestions on how to handle this case better.

Hi :)
What about this solution? From official Rollbar doc https://github.com/rollbar/rollbar.js#context-1
I think it will help you to filter which kind of errors you want to sent to Rollbar.

Thank you! I din't even notice this in the docs.
Unfortunately Ember Cli seems to filter out functions from the config (or I am doing something wrong).
Any suggestions where to place that without tinkering with the addon?

Nevermind I created a instance initializer and do a configure call to add thecheckIgnore callback. Perhaps it's worth adding that to the docs?
However the args parameter is always undefined. I did a trace with the debugger and it seems to be a problem with rollbar itself. I'll try to verify that and open an issue on their repository. I think this issue can be closed now..

You can configure it in the environment file. like the doc says.
https://github.com/Exelord/ember-rollbar-client#configuration


Make vendorized FontAwesome to work with Sprockets 4, fix failing tests

Resolves #3204

With Sprockets 4 font-awesome.css.erb file is unreadable. Converting it to .scss fixes the issues (huge thanks to @cselmer for help)
Fixed failing tests on Windows (some gems were not installed on x64 machines, also TZ data should be included)
Fixed failing tests for CanCan (kept getting CanCan is undefined at ./spec/integration/authorization/cancancan_spec.rb:5:in class:Ability')
Created manifest file so that dummy app plays nicely with Sprockets 4

Nice, thanks!

Thanks @mshibuya and @bodrovis

Oh, great this was merged :)


Cannot read property 'isPaused' of undefined

TypeError: Cannot read property 'isPaused' of undefined
at queryFirebase (/srv/index.js:116:41)
at
at process._tickDomainCallback (internal/process/next_tick.js:229:7)

Can you clarify which step of the codelab you encountered this error?
Or do you see this issue deploying the washer-done solution project?

Closing the issue as last discussion was 2020. Please reopen if necessary.


Any methods to get chip type in my board? (IDFGH-12015)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
I known that ESP32WROOM32E use chip ESP32-D0WDR2-V3 or ESP32-D0WD-V3, and IO16 is unavailable in ESP32-D0WDR2-V3, how to confirm the chip type?

Fine, I found solution, Here the Command
   esptool.py flash_id


BTC deposit was sent to unknown wallet

Issue description
I was planning to swap BTC for RUNE. Yesterday I transferred .007 Bitcoin from Binance wallet to Asgardex wallet (bc1qhz0ykrtfsuj635r8aw079dpyzuhdhdhl2q7stg).
Transaction ID https://blockchair.com/bitcoin/transaction/1e81a8841ad9aa9cb832f1fbb92998daca1d65cca7da532514ed75a75a8dc4c0
30 minutes later someone, not me, sent my bitcoin to an unknown wallet (bc1qrfu9d02038pf45rqzg5sv56thnvqdpuq2fk5zv).
Transaction ID: https://blockchair.com/bitcoin/transaction/923bc5247118203a29d94363386afcfb997b47c91c93db36c43f40b727ae2b29
How is this possible? Is there anything to be done?
PS I don't know if it's relevant, but I created ticket #1543 last week.

Your Environment

ASGARDEX desktop version:  0.3.3

Operating system and version: Linux Mint v20

Transaction hash(es):

Wallet address(es):

It sounds someone has access to your phrase, keystore or computer. Make sure you have saved your phrase / keystore at a save place (not on your computer or in a cloud, but on a paper for example) and nobody you don't trust has access to it.
Please note it's your responsibility not just to keep your computer save, but also to use your wallet in a secure way.

Hi veado. Maybe I wasn't meant to own RUNE...
What do you think the chances are that I had the inexplicable problem (#1543), and then the very next transaction was "stolen". Have you explored the possibility of these two issues being related? Have you explored the possibility that this is on your end?
No one has physical access to my desktop computer. I have not shared phrase or keystore with anyone. Though not ideal, my seed key is stored on my password manager (Bitwarden), with a strong Master password. I don't see how anyone could have access to it.
Anyway, there doesn't seem to be anything I can do at this point. If you can, investigate if the two tickets are related. Otherwise I'll be on my way.

@fred561 As you know we have double checked #1543 and gave you a feedback twice (in #1543 and at Telegram by @kkkilo). With latest issue you describe here I can't see any relation to ASGARDEX desktop nor to the network. From my side it sounds more like a malicious actor you might not know who has access to your computer or your (private) wallet data.

I get it. Thanks.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_62xvknuamn/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_62xvknuamn/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_62xvknuamn/clone/recipe/meta.yaml:40: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: /tmp/abs_62xvknuamn/clone/recipe/meta.yaml:40: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_62xvknuamn/clone/recipe/meta.yaml:40: missing_description: The recipe is missing a description
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_feialzqxtx/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_feialzqxtx/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_feialzqxtx/clone/recipe/meta.yaml:40: missing_dev_url: The recipe is missing a dev_url
ERROR: /tmp/abs_feialzqxtx/clone/recipe/meta.yaml:40: missing_documentation: The recipe is missing a doc_url or doc_source_url
WARNING: /tmp/abs_feialzqxtx/clone/recipe/meta.yaml:40: missing_description: The recipe is missing a description
Errors were found


GNN fraud detection notebook fix

Description

Add notebook fixes from @tzemicheal
Migrate remaining pandas code to cudf

Closes #1265
By Submitting this PR I confirm:

I am familiar with the Contributing Guidelines.
When the PR is ready for review, new or existing tests cover these changes.
When the PR is ready for review, the documentation is up to date with these changes.

/merge


Refactor sphinx directories

This is a fairly significant refactoring of how directories are used. Let me try to explain.
Previously, the sphinx project was organized into a sphinx project folder with conf.py (either a generated default folder, or the user's /doc folder), sphinx-apidoc was run there (and put its output there). conf.py is wrapped, and placed in a wrapped folder under doc_build, along with any content from the user's /doc folder. Then sphinx-build was run from the wrapped folder, with its output placed in a 'sphinx_output' folder there. Yes this is confusing, at least to me.
This also has the side effect, that if the user defines a custom conf.py and index.rst in their doc folder, and there is c++ in the package, the /doc folder of the package had a 'generated' subdirectory created (and possibly more if python was also present. See ffmpeg_image_transport_tools as an example where running rosdoc2 injects a 'generated' folder). This was going to get worse as I started generating other content into that folder, such as the interface definitions. I was also adding these interface definitions fairly early, only into the 'default' directory if it was created.
It's hard to explain all of this, because it is confusing. It was made more confusing, because many of the relevant subdirectories had ambiguous or changing names in the code.
How is this changed? Generated content is placed immediately within the "wrapped_sphinx_directory" where sphinx-build will be called. No build content is placed into the user's folders. sphinx-apidoc, for example, though it runs in the user's python folder, puts no output there, instead puts it directly into the wrapped_sphinx_directory. The interface documents content, which previously generated content into the default sphinx folder to be copied later into the wrapped_sphinx_directory, is now placed immediately into the wrapped_sphinx_folder. This required re-ordering some operations, like the default index.rst is generated later and placed directly into the wrapped_sphinx_folder.
The PR is divided into three different commits with different purposes. These could be consecutive independent PRs if desired.
The first commit, 'clarify directory naming', only renames variables to be easier to understand. Here are the renames and reasons:

package_src_directory -> python_src_directory: 'package' is ambiguous, elsewhere it means the ROS package, but there it meant the sphinx package (the python directory).
directory -> doc_build_directory in a function call: Don't rename a variable in a function, if the function is single-use.
sourcedir -> sphinx_project_directory: 'sourcedir' is ambiguous
user_sourcedir -> sphinx_project_directory. Again, source is ambiguous, 'user' does not help. Also don't rename in a single use function call.

The second commit, 'refactor to write directly into wrapped directory' changes how the directories are used.
The third commit, 'Add basic C++ test with custom conf.py' just adds a new test case with a custom conf.py and index.rst, also checking that the 'generated' folder does not get created like it did before.
I have considerably more generated content waiting to be PR'd, so it is important the we clarify now where such content should be placed.

Yes I can duplicate this. There is probably a conversion to abs directory missing somewhere. I'll figure it out.

I believe this fixes it.
One thing I want to do is an audit of how relative vs fixed directories are used in rosdoc2. There is no real plan for when one or the other makes sense.


Determine if there is a method to recover stuck tasks automatically

Is there an existing issue for this?

[X] I have searched the existing infra issues

Type of Request
feature request
Infrastructure Environment
Scheduler and LUCI
What is happening?
In rare instances tasks can become stuck in the "In Progress" state. Here is the latest example that was not related to bugs in the scheduler: https://github.com/flutter/flutter/issues/131501
We should look into a method of "resetting" stuck tasks that have been in the "In Progress" or queued state for an inordinate amount of time.
There also may be an issue with the computation of the "Queued" and "Queueing" times shown in the dashboard.
Steps to reproduce
NA
Expected results
NA

workaround: click the rerun button for the tasks.


GetInteriorVehicleData_TRS.md

case 1 (added "isSubscribed: <current_subscription_status>" to the related app) conflicts with case 7 and 11 (without "isSubscribed")

Case 1 - any except error, will update. Thank you

what the happens for the cases:
-case (1) app already subscribed to CLIMATE, but send GetInteriorVehicleData_request with subscribe=true again? Does SDL forward subscribe=true to HMI or just remove it and keep the subscription.
-case (2) app does not subscribe to CLIMATE, but send GetInteriorVehicleData_request with subscribe=false? Does SDL maintain the state as unsubsribed and cut off the subscribe=false in request to HMI or forward it to HMI and wait for HMI's decision?

rc_subsribe.xlsx

Case 1 - SDL forwards subscribe parameter but the subscription status remains unchanged
Case 2 - by default the app is unsubscribed from notifications and if app wasn't subscribed and sends subscribed:false, SDL forwards the parameter but keeps the status of the app unchanged - unsubscribed

rc_subsribe.xlsx

I suggest in those two cases, SDL does not forward subscribe parameter to HMI, otherwise, HMI may response with issubscribe = true/faslse/not present, then SDL shall handle them with more cases in line 10 to 17

Also my understanding of subscription of RC module data is : on SDL side it is per app and per module. on HMI side it is per module only. Thus on HMI side, as long as there is at least one app subscribed to a module, HMI shall send data change notifications to SDL. HMI does not care which app subscribed to the data, it cares whether there is any app subscribed to the data. SDL shall disseminate a notification to multiple apps who subscribed to the same module data.

Added 12, 13 with ignoring "subscribed" parameter in request to HMI in case the subscription status doesn't change.
Your understanding is correct - it is SDL's responsibility to track subscribed/unsubscribed apps to modules and forward module status change notifications appropriately

when an app un-subscribe an existing subscribed module, SDL forwards subscribe=false to HMI. BUT SDL shall un-subscribe the app no mater the HMI response is_subscribed=false or true. (case 8 remain, but case 9 change)
Disagree SDL should not ignore HMI's response and if HMI responded isSubscribed:true, SDL shouldn't unsubscribe the app (btw in HMI_API request to HMI has appID, so maybe there is some logic of storing subscriptions for apps on HMI (maybe only the number of apps).
What if that was the only application subscribed and requests to unsubscribe, HMI didn't unsubscribe (sent isSubscribed:true), SDL will ignore HMI's response, and HMI will keep sending notifications even though there are no apps subscribed on SDL side? SDL should take into consideration HMI responses.

What if that was the only application subscribed and requests to unsubscribe, HMI didn't unsubscribe (sent isSubscribed:true),

In this case, there is a bug in HMI side and shall be fixed. SDL shall ignore the notifications from HMI if there is no app subscribed.

Still disagree - we have the opposite case when SDL considers HMI's response and doesn't subscribe app in case app requested subscribe:true and HMI responded isSubscribed:false. The logic has to be consistent in both ways.

OK. I understand your point about "The logic has to be consistent in both ways."
But I want to understand why (1) HMI will give isSubscribed:false response to subscribe:true request and (2) HMI will give isSubscribed:true response to subscribe:false request. I think both cases are not normal use case, they are exceptions and indicate some errors in the HMI side. Those errors shall be fixed before deliverer. In first case, SDL can do nothing about it as HMI failed to subscribe to the moduletype data change and will not send notifications to SDL. Therefore, SDL must accept the result from HMI and give it back to mobile.

Your understanding is correct - it is SDL's responsibility to track subscribed/unsubscribed apps to modules and forward module status change notifications appropriately

In the second case, SDL can make a decision on its own (as app want to unsubscribe and SDL maintains the subscription status of each app/module inside of SDL) and ignore the isSubscribed in  HMI response and cut off the extra notifications when necessary.

I think both cases are not normal use case, they are exceptions and indicate some errors in the HMI side. Those errors shall be fixed before deliverer.

Both of these cases were present in use cases ( Unsubscribe from RC module status change notification, Subscription on module status change notification alternative flow 1) that you approved and the code was developed appropriatelly
We develop SDL code not HMI but we need to correctly handle any responses from HMI. And if HMI did not unsubscribe from notifications for whatever reason - SDL shouldn't. The same as in case when any error happened on HMI side (case 11)
When I noted that it is SDL responsibility to track subscribed/unsubscribed apps I meant that SDL receives OnInteriorVehicleData notification without appID from HMI, so SDL has to figure out to which app to forward such notification

agree to the keep the current use cases and implementation.
Just want to say when designing the functionality, we need to consider an app developer's perspective to see the whole system, if an app want to subscribe or unsubscribe, the expectation is success, and if it is not success, there shall be a good reason.

Fails on HMI side is a geed reason.
Please advise if I can merge this PR?

@yang1070 if you finished with review please approve this PR

@yang1070 any updates?

looks good, please merge


Should store all data in object as a dict. Then getter and setters just change dict values.

Ideally you should be able to pass a dict to the object and it store the entire contents of that dict. This would mean that reading in a config, altering some parameters and then writing would be "lossless" if you wanted to just add additional unsupported properties of you config.
This would require you to change the init, getters and setters but not that drastically.
Originally posted by @isichei in https://github.com/moj-analytical-services/mojap-metadata/pull/15#discussion_r529445935

Duplicate issue (#7)


narrower type inference of for..in loop variables

Consider the following code:
type RawGoodType =
  | "Coal"
  | "Iron Ore"
  | "Copper Ore"
  | "Iron Bar"
  | "Copper Bar";

type Bundle = {[good: RawGoodType]: number};

class Producer {
  recipe: Bundle;
  output: Bundle;

  canProduce(input: Bundle): boolean {
    for (let good in this.recipe) {
      if (!input.hasOwnProperty(good) || input[good] < this.recipe[good]) {
        return false;
      }
    }
    return true;
  }
}

This produces the output:
src/RawGood.js:18
 18:       if (!input.hasOwnProperty(good) || input[good] < this.recipe[good])
                                                    ^^^^ string. This type is incompatible with
 10: type Bundle = {[good: RawGoodType]: number};
                           ^^^^^^^^^^^ string enum

src/RawGood.js:18
 18:       if (!input.hasOwnProperty(good) || input[good] < this.recipe[good])
                                                                        ^^^^ string. This type is incompatible with
 10: type Bundle = {[good: RawGoodType]: number};
                           ^^^^^^^^^^^ string enum

Which is saying that this fails to type check on input[good] and this.recipe[good] saying that the type of good (string) is incompatible with type string enum. Shouldn't Flow infer that good is a member of the RawGoodType string enum since it is a property of recipe which is an object whose properties must belong to RawGoodType?

This is not an enum issue. It is a bug in our for-in handling: instead of looking up the key set of the object to loop over, we assume the key set is always string.

Related to #935

+1

+1

i tried briefly to fix this and it wasn't too hard to teach it a better type for the left-hand side than just string, but I ran into an issue. consider a case like this:
var x;
if (Math.random() > 0.5) {
  x = { a: 'foo' };
} else {
  x = { b: 'bar' };
}

for (var y in x) {
  x[y];
}

If we infer x to be { a: string } | { b: string}, then y should be 'a' | 'b'. but x[y] will try x['a'] on { b: string } (and x['b'] on { a: string }) and error.
Not sure how we would encode that the type of y depends on which x is chosen.

Facebook: see D4290615. If I have time, I'll try to move it to a (closed) PR for posterity.

@mroch I guess we should also mention enums in the title?

Hi, I came across this when trying to figure out an issue I was coming across, hope you guys don't mind me chiming in!
Is this also the cause of errors when I do something like this:
function test(
  events: {
    [event: number]: {
    }
  }
): void {
  for (const event: number in events) {
  }
}

I'm getting the following error:
for (const event: number in events) {
                  ^ string. This type is incompatible with
for (const event: number in events) {
                  ^ number

From this section in the documentation, I was under the impression that Flow would be smart enough to figure out the explicit type when iterating over an object used as a map with explicit keys, but from @avikchaudhuri's comment, it seems it might be because of the for-in handling?

@dxu when you use some subtype of string (like 'foo' | 'bar') as indexer in theory type could be more precise in for..in loop. It won't be 100% safe though, but that's the nature of map objects.
But, it can never be a number or anything else, because it is string at runtime.

@vkurchatkin

It won't be 100% safe though, but that's the nature of map objects.
Are you thinking it would be unsafe in really old versions of JS, or would there be edge cases that trick Flow's type system even in modern JS?  Like something to do with prototype chains?

Something like this:
const x = {
  a: 1,
  b: 1,
  c: 1
};

const x1: { a: number, b: number } = x;
const map: { ['a' | 'b']: number } = x1;

map has 'a' | 'b' as indexer, but actually has other properties.

@vkurchatkin oh, right.  So it should work with exact shape types right?
const x = {
  a: 1,
  b: 1,
};

const x1: {| a: number, b: number |} = x;
for (let num in x1) {
  const num2: 'a' | 'b' = num
}

I also tried the following and Flow got confused:
const map: {| ['a' | 'b']: number |} = x;

13: const map: {| ['a' | 'b']: number |} = x;
                                           ^ property `a`. Property not found in
13: const map: {| ['a' | 'b']: number |} = x;
               ^ object type
13: const map: {| ['a' | 'b']: number |} = x;
                                           ^ property `b`. Property not found in
13: const map: {| ['a' | 'b']: number |} = x;
               ^ object type

@vkurchatkin, thanks for the response! I understand that at runtime, objects are string-keyed, but my understanding of the documentation (with the below example) was that you could specify key types for accessing objects that are being used as Maps.
So, for example, you could potentially use this for accessing objects as a map with keys being of a custom enum type (or maybe something similar to your | example), or in my case, a number.
I'm confused because this seems to work with my above reasoning:
/* @flow */
function test(
  events: {
    [event: number]: {
    }
  }
): void {
    events['10'];
}

It gives the following error, because events is expected to be a "Map" keyed with numbers, and so you can't access it with strings:
8:     events['10'];
       ^ property `10` is a string. This type is incompatible with
4:     [event: number]: {
               ^ number

Am I misunderstanding something here?

Am I misunderstanding something here?

No, you are not. For Flow events['10'] and events[10] are different, although they are the same for VM.

Consider this code:
/* @flow */

type AllowedNames = 'John' | 'Marc' | 'Peter'

type Employees = {
  [ name: AllowedNames ]: { age: number }
}

const employees: Employees = {
  'Marc': { age: 25 },
  'Peter': { age : 32 }
}

for (const name: AllowedNames in employees) {
  console.log(employees[name].age)
}

It throws:
14: for (const name: AllowedNames in employees) {
               ^ string. This type is incompatible with
14: for (const name: AllowedNames in employees) {
                     ^ string enum

To fix this, we need to dynamically check the values:
/* @flow */

type AllowedNames = 'John' | 'Marc' | 'Peter'

type Employees = {
  [ name: AllowedNames ]: { age: number }
}

const employees: Employees = {
  'Marc': { age: 25 },
  'Peter': { age : 32 }
}

for (const name: string in employees) {
  if (name === 'John' || name === 'Marc' || name === 'Peter')
    console.log(employees[name].age)
}

Well, it isn't much DRY, right?

I'm running into this too. It's driving me a little crazy. I want the specificity of the enum keys, but I can't use them in for-loops because of the narrow type definition of the iterator. So I guess I'll just need to suppress this error and move on.

@dfleury this just worked for me. You can use a Map instead of an object, which allows non-string keys and it appears that the Iterator accounts for Generics and accepts the Enum key values.


Plugin Installation problems

Hello fellows,
Some errors I found while installing the onlyoffice-redmine v1.1.0 plugin:

[ E 2022-04-28 19:39:41.5432 909/Th age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /opt/redmine: The application encountered the following error: expected file /opt/redmine/plugins/onlyoffice_redmine/app/models/file_uitility.rb to define constant FileUitility, but didn't (Zeitwerk::NameError);

[ E 2022-04-28 19:55:15.5457 909/Tm age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /opt/redmine: The application encountered the following error: expected file /opt/redmine/plugins/onlyoffice_redmine/app/models/jwt_helper.rb to define constant JwtHelper, but didn't (Zeitwerk::NameError).

Wouldn't it be correct for the file "file_uitility.rb" to be called "file_utility.rb" and the constants (Class) FileUitility and JwtHelper to be called FileUtility and JWTHelper, respectively?
Why, when installing, are constants FileUitility and JwtHelper expected, instead of FileUtility and JWTHelper?
Redmine Environment:
Ubuntu server 22.04
Apache 2.4.52
Redmine  5.0.0. stable
Ruby  3.0.2-p107 (2021-07-07) [x86_64-linux-gnu]
Rails  <IP_ADDRESS>
Mysql 8.0.28-0ubuntu4
Redmine plugins:
onlyoffice_redmine 1.1.0
Only Office Environment:
Ubuntu server 22.04
Nginx 1.18.0 (Ubuntu)

Exact same errors here on:
Centos 8
Redmine 5.0.2 stable
Apache 2.4.37
ruby 2.7.2p137
Rails 6.1.6
mysql  Ver 8.0.26
onlyoffice_redmine 1.1.0
Additionally this error has been reported elsewhere


chore(release): merge develop to main

Test runs:
https://github.com/splunk/splunk-add-on-for-amazon-web-services/actions/runs/9269557494
https://github.com/splunk/test-addonfactory-repo/actions/runs/9270329208
Changes possibly affecting customers:

add ui_marker to enable splitting UI tests execution
fix for failing upload-artifact@v4 due to multiple artifacts with same name
replace edplato/trufflehog-actions-scan action with official trufflehog action latest release
bump version of workflow-engine-base image to v4.0 (Ubuntu 20 -> Ubuntu 22)

Changes not affecting customers:

wfe-test-runner-action update to v5 and change of the way that browser is determined in k8s
docs and ci related updates

Also note that starting from release v4.16.0 some assets are removed from TA releases:

installation-actions.json
installation-update.json
<TA-release>-_forwarders.spl
<TA-release>-_indexers.spl
<TA-release>-_search_heads.spl

:tada: This PR is included in version 4.16.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Closing braces inside macros are double indented with hard tabs

rustfmt version: rustfmt 0.99.5-nightly (90692a5 2018-09-26)
When hard_tabs is off, it is formatted like this:

macro_rules! foo {
    ($bar: expr, $t: ty) => {
        $bar(|x| {
            if x {
                None
            }
            else {
                None
            }
        })
    };
}

When hard_tabs is on, it is formatted like this:
macro_rules! foo {
	($bar: expr, $t: ty) => {
		$bar(|x| {
			if x {
				None
				}
			else {
				None
				}
			})
	};
}

Closing braces have one more indentation when hard_tabs is on.

I also have the same issue, I think:
from
#[macro_export]
macro_rules! define_invoke_proc_macro {
    ($macro_name: ident) => {
        /// Implementation detail of other macros in this crate.
        #[doc(hidden)]
        #[macro_export]
        macro_rules! $macro_name {
            ($proc_macro_name: ident ! $paren: tt) => {
                #[derive($proc_macro_name)]
                #[allow(unused)]
                enum ProceduralMasqueradeDummyType {
                    // The magic happens here.
                    //
                    // We use an `enum` with an explicit discriminant
                    // because that is the only case where a type definition
                    // can contain a (const) expression.
                    //
                    // `(0, "foo").0` evalutes to 0, with the `"foo"` part ignored.
                    //
                    // By the time the `#[proc_macro_derive]` function
                    // implementing `#[derive($proc_macro_name)]` is called,
                    // `$paren` has already been replaced with the input of this inner macro,
                    // but `stringify!` has not been expanded yet.
                    //
                    // This how arbitrary tokens can be inserted
                    // in the input to the `#[proc_macro_derive]` function.
                    //
                    // Later, `stringify!(...)` is expanded into a string literal
                    // which is then ignored.
                    // Using `stringify!` enables passing arbitrary tokens
                    // rather than only what can be parsed as a const expression.
                    Input = (0, stringify! $paren ).0
                }
            }
        }
    }
}

to:
#[macro_export]
macro_rules! define_invoke_proc_macro {
    ($macro_name: ident) => {
        /// Implementation detail of other macros in this crate.
        #[doc(hidden)]
        #[macro_export]
        macro_rules! $macro_name {
                            ($proc_macro_name: ident ! $paren: tt) => {
                                #[derive($proc_macro_name)]
                                #[allow(unused)]
                                enum ProceduralMasqueradeDummyType {
                                    // The magic happens here.
                                    //
                                    // We use an `enum` with an explicit discriminant
                                    // because that is the only case where a type definition
                                    // can contain a (const) expression.
                                    //
                                    // `(0, "foo").0` evalutes to 0, with the `"foo"` part ignored.
                                    //
                                    // By the time the `#[proc_macro_derive]` function
                                    // implementing `#[derive($proc_macro_name)]` is called,
                                    // `$paren` has already been replaced with the input of this inner macro,
                                    // but `stringify!` has not been expanded yet.
                                    //
                                    // This how arbitrary tokens can be inserted
                                    // in the input to the `#[proc_macro_derive]` function.
                                    //
                                    // Later, `stringify!(...)` is expanded into a string literal
                                    // which is then ignored.
                                    // Using `stringify!` enables passing arbitrary tokens
                                    // rather than only what can be parsed as a const expression.
                                    Input = (0, stringify! $paren ).0
                                }
                            }
                        }
    };
}

I use soft tabs (i.e. spaces for tabs) in my editor, unless that's a specific rustfmt setting I'm unaware of. Pardon if this is an unrelated issue.


How to disable autosave?

Hi,
I don't need to enable autosave feature? How do I disable it?
Thanks,

I did it by overwriting the save function.


Bing AI chatbot

Need to use Microsoft Edge to use the chat
Clutter UI. Too many elements on the search page to get started

Hmm, I thought we can use Bing to calculate multiple sum in different currencies.

This is the starting point I'm using to go to Bing Chat AI.
Must use the Edge Browser
https://www.bing.com/search?q=Bing+AI&showconv=1


AppImage useability verification

@guihkx Hey. I've made some changes to the AppImage builder recently, to facilitate building the development version on Python 3.10. The CI seems to pass now, but I'm not entirely sure if the resulting AppImage application will even work.
Since I don't really have a Linux environment to check that, I'd like to kindly ask you to take a look at the changes, and check if the compiled version still works. If you can and in some spare time, of course. Otherwise, well, I guess someone will file a new issue if it turns out not to be working as expected.
Here's a diff: https://github.com/DevilXD/TwitchDropsMiner/compare/f125bf058ea717d0ab57388c81dc4a6f007e44f1...master

Unfortunately, the AppImage broke with those changes:
$ ./Twitch.Drops.Miner-x86_64.AppImage
Traceback (most recent call last):
  File "/tmp/.mount_TwitchY8a1jo/usr/src/main.py", line 25, in <module>
    from translate import _
  File "/tmp/.mount_TwitchY8a1jo/usr/src/translate.py", line 7, in <module>
    from utils import json_load, json_save
  File "/tmp/.mount_TwitchY8a1jo/usr/src/utils.py", line 26, in <module>
    import yarl
ModuleNotFoundError: No module named 'yarl'

If I had to guess, that error occurs because we're still including Python 3.8 within the AppImage, but the PyPA dependencies were installed with Python 3.10 and are located in a different directory than expected.
You've upgraded the Ubuntu runners from 20.04 (codename focal) to 22.04 (codename jammy), but forgot to update the repositories and GPG keys on the AppImageBuilder recipe here:
https://github.com/DevilXD/TwitchDropsMiner/blob/8cfa43b52bd82e821107b6370503ddc137dd3e19/appimage/AppImageBuilder.yml#L40-L44
In any case, I wouldn't recommend upgrading to 22.04 anyway (unless absolutely necessary), because the AppImage package (and I think the PyInstaller package as well) will stop working for 20.04 users.
And Ubuntu 20.04 will still be officially supported until 2027, so there will definitely be users of this version for quite a while...

Okay, so it looks like I fucked it up real bad :sweat: I probably shouldn't be touching this without your guidance, but the development builds have to use Python 3.10 from now on.
I guess I'm reversing the runner back to ubuntu-20.04, on both PyInstaller and AppImage builders.

we're still including Python 3.8 within the AppImage

To resolve issues with SSL certificates (#386), https://github.com/DevilXD/TwitchDropsMiner/commit/91f2dacbcce14d3dbc7519bcbff61d1da5ebcb00 includes truststore on both, Windows and Linux versions. For it to work though, Python has to be upgraded from 3.8 to 3.10, which I tried to accomplish with the discussed series of commits.
Truststore seems to be installed, indicating the Python upgrade worked, at least partially:

Unfortunately, I am unable to make the appimage-builder use python3.10 instead of whatever else it uses. Nothing in the documentation indicates how the interpreter is chosen, or how it can be changed. Any ideas?

Alright, so if we use Ubuntu 20.04, I think we must use actions/setup-python to install Python 3.10, or maybe use some non-official PPA.
The problem with the first approach is: We have to figure out a way to also include that version of Python within the final AppImage.
You see, the way AppImageBuilder works, is by including packages from the official Ubuntu repositories. For instance, here:
https://github.com/DevilXD/TwitchDropsMiner/blob/b655803bf5270f0b58ec5fa3d0270e6a2049b841/appimage/AppImageBuilder.yml#L46-L48
AppImageBuilder will look at these two packages (gir1.2-appindicator3-0.1, python3-tk), look up every single dependency, and include them in the final AppImage.
But because we're still using packages from Ubuntu 20.04 (focal) here:
https://github.com/DevilXD/TwitchDropsMiner/blob/b655803bf5270f0b58ec5fa3d0270e6a2049b841/appimage/AppImageBuilder.yml#L40-L44
That means version 3.8 of Python gets included in the final AppImage, and not version 3.10.
Anyway, I'll investigate how actions/setup-python works internally, and then I can probably include in the AppImage the Python binaries they're using.
If that doesn't work, then we'll have to stick to plan B (less desirable): We stick to ubuntu-latest (Ubuntu 22.04), get rid of actions/setup-python altogether (they offer Python 3.10 by default), and then do some small adjustments to the AppImageBuilder script.
The drawback to plan B, like I mentioned earlier, is that the app won't run on Ubuntu 20.04 (and derivative distros), but oh well.

If it means greater compatibility, i'm good with plan A. Focal version of python3-tk indicates that only Python 3.8 is supported though, and I'm assuming that's why only that version gets included. The Jammy version of python3-tk seems to be for Python 3.10, but that's available only on Ubuntu 22.04 =/
Whatever actions/setup-python does, it seems to put python3.10 somewhere on the PATH. That should be enough to make everything work, assuming the python3-tk package somehow derives from the python3.10 installation, but it doesn't due to the above. Wouldn't including python3.10 instead solve this? I don't know what happens with tkinter support with that though.
For now, I'm reverting the AppImage section specifically, back to using the default Python 3.8.

Okay, so unfortunately plan B seems to be path of least resistance.
Internally, actions/setup-python downloads a custom Python 3.10 build from here and prepends it to PATH.
And while I could technically include that Python build in the AppImage, it's not really an ideal build to ship to users, because all binaries include debug symbols, a bunch of test cases, and other unnecessary files that just makes the whole thing really annoying to clean up before we can include it in the AppImage.
So, since Python 3.10 is pretty much needed to resolve these certificate issues, my proposal is to simply generate the AppImage on Ubuntu 22.04, and then document it that users should have least glibc 2.35 to run the AppImage with no issues.
By the way, this version increase in glibc does not affect the PyInstaller package, which should still work just fine with glibc 2.31.


Add more test cases to some of our core functionality. Drill into test coverage of files where we don't have proper coverage and fix.

Some of our core functionality has flawed test coverage, we should look into what the biggest are and up our test coverage for those.
Contenders:

packages/tokens-studio-for-figma/src/plugin/setValuesOnVariable.ts

Blockers

Migration to Vitest and Playwright

Pros

Cons

Suggested Actions

Amount of Time to Implement:
Resources


stargazer: 1.1.0 -> 1.2.1

Description of changes

https://git.sr.ht/~zethra/stargazer/refs/1.1.1
https://git.sr.ht/~zethra/stargazer/refs/1.2.0
https://git.sr.ht/~zethra/stargazer/refs/1.2.1
This PR contains a security patch.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.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

[x] Fits CONTRIBUTING.md.

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

I'll open a different PR for 23.11, that branch can only update to 1.1.1.

Thanks!


allow unlimited number of app_nodes

What does this PR do?
Right now there's a hardcoded limit of 3 app nodes. Openshift can support more
than three without issue. This PR will allow that.
I have changed the logic so its more of a sanity check that someone is deploying
with at least one app node.
How should this be manually tested?
Deploy on AWS with 6 app nodes.
Is there a relevant Issue open for this?
No.
Who would you like to review this?
cc: @tomassedovic PTAL

@mmckinst one issue that I ran into was that the cloudformation json would become too large to actually deploy

Now that you mention that I remember running in to the same issue. I think the workaround was to just add more app nodes after the initial install.


dependence on Pydantic

Сould you please up the version of pydantic to 1.10.1?

Sure, will test it and bump in next release

Updated pydantic dependency to use 1.10.2 version in 0.16.0 release


Kafka 6363 add second check for end offset during restore

Added second check to ensure changelog topic is not written to during restore if it is a changelog topic for a state store.
This will be tricky to test, but I've pushed this PR to get feedback on the approach.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

need to close this one

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-test-coverage/270/


ctrl-a, ctrl-e keybindings etc do not work out of the box

I'm migrating from emacs to atom (Linux x64 version). I installed emacs-plus, restarted Atom, opened text file and tried a few emacs keybindings. Ctrl-a does 'select-all' instead of move-to-beginning-of-line.
I've seen the advice to install disable-keybindings package, but it's not clear how to disable only core keybindings that are conflicting with emacs-plus package. I can go to keymap.cson and try to write there something like:
'atom-workspace atom-text-editor':
'ctrl-a': 'editor:move-to-beginning-of-line'
But it's not clear what's the point of emacs-plus then, I can just remap all keys I need in that way. I'm a bit confused about how that package should be used. Whether the expected user's behaviour is to go to keymap.cson and to remap all core keybindings manually or is it to disable all 'Core' keybindings with disable-keybindings package? From my point of view the expected behaviour is "it should just work", but I'm curious now how it should be used.

Please try the latest version.


chore: check websites and docs for broken links

I'll check the docs and marketing sites for broken links with Screaming Frog (will buy a license for this).
Or does anyone have a better solution than the Screaming Frog software?

@DanielRuf maybe you can work with @JeremyEnglert, as I believe he is in helping migrate the Foundation marketing site.

That would be great.
@JeremyEnglert let me know how I can help and if it makes sense to scan the current website(s) for broken links of if I should wait a bit.

The following pages have broken doc links, might requires it's own ticket but this seems like a good place to start.
The Docs links on the following pages goes to https://foundation.zurb.com/docs/ and not to https://foundation.zurb.com/sites/docs/

https://foundation.zurb.com/sites/getting-started.html
https://foundation.zurb.com/sites/download.html/
https://foundation.zurb.com/templates.html
https://foundation.zurb.com/sites/resources.html

@rafibomb I was taking a look at this for #docsthursday and I think it is closed source on ZURB. If you provide access I am happy to fix it. I can also look into some sort of automated tooling to avoid broken links in the future.

@jamesstoneco That would be super helpful! I'm adding you to it.

though we can certainly open-source if the team feels this would be the way forward.

Definitely if we want to make more steps.


Update with-tailwind example.

Updating the with-tailwind example!
Closes TURBO-1716
Things to pay attention to:

[x] Is tasking correct? Are all tasks successful out-of-the-box? Do I hit cache when I'm expecting?
[x] If I add an unused variable in a workspace, do I see a warning in both my editor and when I run turbo lint?
[x] Does auto-importing work across packages?
[x] Anything else wonky in your editor?
[x] Do I get proper hot-reloading in turbo dev?
[x] Anything else that may come up!

There's a tradeoff here. The strategy used in the StackOverflow leaks across package boundaries (the ../../packages/ path) - while the strategy used here can indeed duplicate similar sets of CSS (but this shouldn't matter because of gzip + Tailwind's maximum compile size). (Notably, the ui package uses a ui- prefix for its classes so the styles won't be able to clobber each other.)
Auto-imports are already good to go in this example!
Updating it in #6755! Thanks for letting me know.  (Wrote down that first point in the README)

@anthonyshew Thanks! One quick observation and an additional suggestion:
Observation
This works for me in exports with auto-import:
    "./*": {
      "import": "./src/*.tsx"
    }

This does not work:
    "./*": "./src/*.tsx"

Check out the first of the two, perhaps it works for you too. Unfortunately it does not work if you remove the file extension from the RHS. Thus, it does not cover all your files if you have both JS and TS. Which brings me back to the start, i.e. should I transpile it to JS with tsc after all?
Suggestion
On a similar note: Many people still write in JS (as opposed to only in TS). Do you think you could update the config to support both? I tweaked it on my end to do so by: (i) Including eslint-import-resolver-exports in config-eslint/package.json (and activating it in react.js and next.js in the same folder), and (ii) Forcing Eslint to use "@babel/eslint-parser" for JS files via overrides in config-eslint/react.js.

@anthonyshew I just wanted to point out that importing the css from tailwind twice, like you do in your example, will indeed cause issues in almost all use cases. The reason is that the normalization css rules from tailwind will be duplicated in the output, and the ones from @repo/ui will land after the rules for the main app. As you know, the order of the css rules matter, so this breaks all the formatting.
Example: If you set the color of an h2 element directly on an element via tailwind (in the main app), this color will be overwritten by the @repo/ui/styles.css rules you import in layout.js.
Question: Why do we need to compile those tailwind rules in the build step in @repo/ui? Can't we just import directly from src and let the main app do the tailwind processing?

The ui prefix prevents the problem you're describing: https://github.com/vercel/turbo/blob/9b9c8c0afabde189d85c391de658e08cc490cbe8/examples/with-tailwind/packages/ui/tailwind.config.ts#L6
The approach you're describing is also valid. It does leak externals but, if you're willing to make that tradeoff, it also works.

The ui prefix prevents the problem you're describing: https://github.com/vercel/turbo/blob/9b9c8c0afabde189d85c391de658e08cc490cbe8/examples/with-tailwind/packages/ui/tailwind.config.ts#L6
The approach you're describing is also valid. It does leak externals but, if you're willing to make that tradeoff, it also works.

Hi @anthonyshew . The prefix is not added to the base/default/normalization (call them what you like) rules. They are only added to the component rules.
So, in the single output sheet you might have this order:
// From web's tailwind
h2 { font-size: ... }
.text-lg { font-size: ... }

// From @repo/ui's tailwind
h2 { font-size: ... }
.ui-text-lg { font-size: ... }

I recognize that the class rule takes precedence here, and as such there is no output issue in the example above, however I have experienced problems with certain rules. It seems like a bad idea to mess with the order (and create an incorrect final css sheet) as the order is crucial in CSS. Anyways, as you say, up to each person.
As a side note, the catch-all wildcard in the exports works for me (I got help from the TS team to figure it out):
./:  ./src/
We got full Intellisense, on both the right hand and left hand sides of imports, using that export.


[WIP][HUDI-2439] Refactor commit actions in hudi-client module

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contribute/how-to-contribute before opening a pull request.

What is the purpose of the pull request
(For example: This pull request adds quick-start document.)
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@hudi-bot run azure

This is going to be replaced by #4856.