Experimental rendering system using Maui.Graphics, SkiaSharp, and OpenGL

This PR explores feasibility of cutting the dependency on System.Drawing.Common in favor of a rendering system using Microsoft.Maui.Graphics (#1036). Depending on what is discovered here, code here may evolve into the next major version of ScottPlot (version 5).
Goals of this PR

Support back to .NET Standard 2.0 and .NET Framework 4.6.2
no System.Drawing anywhere in the project
nullable support throughout the code base #691
hardware-accelerated rendering in controls using SkiaSharp and OpenGL
stateless rendering system to improve support for multi-threading and testing

size will never be stored - it will be passed-in and the layout will be recalculated on each render
mouse positions or state should not be stored - mouse actions (e.g., click/drag) will be built by controls and passed in

Major Limitations
These limitations are because Maui.Graphics is not fully mature yet, but:

There is no Microsoft.Maui.Graphics.ICanvas.MeasureString()
Microsoft.Maui.Graphics.ICanvas.DrawString() does not support custom fonts

Resources

https://maui.graphics

This is far from done, but I'm going to merge it now so I can work on the CI system (using separate workflows to test ScottPlot 4 vs ScottPlot 5), then I'll open a new PR


Convert spatialExperiment object into Seurat object

Firstly, thank you for the amazing package!
I was wondering how I could convert the SpatialExperiment object generated from format_image_to_spe into a Seurat object. I have data from QuPath but it would be nice to know how to do it also for inForm.
Thank you

Thank you for your interest in our tool.
Unfortunately I am not aware of any function to convert SPE objects to Seurat objects. Seurat has the function to read 10x Visium data as Seurat objects but I'm not sure about their functionalities around spatial proteomics data. Perhaps raise the issue with them?

Great package and excited to try it out. Would it be possible to define the phenotype of the cells based on absence of a marker and presence of another as a combination?
Thank you


[BUG] OpenID redirects to "/" after upgrading opensearch to 2.12.0

Describe the bug
Since I upgraded from 2.11.1 to 2.12.0, I encounter a bug in redirection with openID (keycloak) at the end of authentification process.
Fom https://myUrl.com/clusterName/app/login I click on log in with single sign-on which redirect to https://myUrl.com/clusterName/auth/openid/captureUrlFragment?nextUrl=%2F then at the end of the authentication I'm redirected to https://myUrl.com/ instead of https://myUrl.com/clusterName/
I don't have issue if I tried to connect from an other path, for example if I tried to connect to https://myUrl.com/clusterName/app/home, I'll be redirected to https://myUrl.com/clusterName/app/login?nextUrl=%2FclusterName%2Fapp%2Fhome and then my url for ipd is  https://myUrl.com/clusterName/auth/openid/captureUrlFragment?nextUrl=%2FclusterName%2Fapp%2Fhome
When I was in 2.11.1, opensearch was giving me https://myUrl.com/clusterName/auth/openid/login url for keycloack and everything was working perfectly.
I'm using opensearch with opensearch operator on kubernetes.
OpenSearch Version
OpenSearch and OpenSearch-dashboard are both in 2.12.0 and 2.13.0
opensearch-operator is in 2.4.0
Additional context
Par of my dashboards-config :
opensearch_security.auth.multiple_auth_enabled: true
opensearch_security.auth.type: ["basicauth","openid"]
opensearch_security.cookie.secure: true
opensearch_security.multitenancy.enabled: true
opensearch_security.multitenancy.tenants.enable_global: true
opensearch_security.multitenancy.tenants.enable_private: true
opensearch_security.openid.base_redirect_url: https://myUrl.com/clusterName/
opensearch_security.openid.client_id: ops-clusterName
opensearch_security.openid.connect_url: https://idp.myUrl.com/realms/broker/.well-known/openid-configuration
opensearch_security.openid.header: Authorization
opensearch_security.openid.refresh_tokens: true
opensearch_security.openid.scope: openid profile email
opensearch_security.session.keepalive: true
server.basePath: /clusterName
server.name: clusterName-dashboards
server.rewriteBasePath: true

Looks like a regression introduced by https://github.com/opensearch-project/security-dashboards-plugin/pull/1563
Taking a look. Also related: https://github.com/opensearch-project/security-dashboards-plugin/issues/1823

[Triage] Hi @RobinAdvens thank you for filing this issue. Looks like #1899 will resolve this issue. We can close this when that PR is merged.

https://github.com/opensearch-project/security-dashboards-plugin/pull/1899 was merged


Feature request - Desktop Launcher - make button return to default clock when launch on touch is enabled

I love the Desktop Launcher on Bangle 2 and on Bangle 1 as well.
Sometimes I load it just to look at what apps I have installed OR sometimes it might get triggered by mistake.
When lauch on touch is enabled it would be great if just pressing the button on B2 caused you to exit and load the default clock.
@halemmerich - I thought about implementing but thought I should log this first with you.  I think you might be the original author - am I right ?

I am not the original author, just did some changes.
Since the button currently does nothing in case of direct launch, I like the idea of using it to get back to the clock. It would be better than having to long press every time.

This has been implemented in #1530 by @Rarder44

Thanks!


[Publication]: Unpublish option appears for folders in Change Path pop-up

EPAM AI DIAL chat version
0.12.0
How to reproduce
Steps :

Create chat
create publish request -> Publish request pop-up is displayed
click change Path
select existing folder and hover 3 dots
create new folder and hover on 3 dots

Actual result
3,4 Unpublish option is visible

Expected result
in Change Path dialog folders should NOT have option of unpublish
Confidential information

[X] I confirm that do not share any confidential information

Issue is reproducible if:
in Change path pop-up create sub-folder inside already created folder or inside new folder


remove syslog-ng

Hi @KTodts
do you recall where did you remove syslong in time for 24.3? I forgot which lab was that.
Maybe you can replicate this for this repo as well?

@hellt,
yes sure!
it was this repo


Update dependency and update code to pass tests

Remove redundant dependencies and update tests.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@7ee39ca). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #7   +/-   ##
=======================================
  Coverage        ?   42.99%
=======================================
  Files           ?        5
  Lines           ?      321
  Branches        ?        0
=======================================
  Hits            ?      138
  Misses          ?      183
  Partials        ?        0

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 7ee39ca...93b80b3. Read the comment docs.


[Crash] Game client crashed after adding loottweaker.

MC - 1.10.2
Loottweaker - 0.0.1
Initial Inventory - 1.0.1
Forge - <IP_ADDRESS>.2
Pastebin - http://pastebin.com/V6YCVKTF
I have added loottweaker to modpack and it crashed. By checking i have found that crash caused by these two mods - Loottweaker and Initial Inventory

@Leviathan143 Loottweaker needs to check if the world has loaded before it does its stuff, I have a few mods that reload Crafttweaker before the world has loaded (preinit, init stuff), so they all crash with this).
A simple
if(world !=null)

should do it

@bontavi Sorry about leaving this for so long, github didn't notify me about it until Jared directly pinged me.


Cannot get ref to Modal.

Bug Report
Cannot get ref to Modal using Ref.
Steps
Here is the sample code.
class App extends Component {
  componentDidMount() {
    console.log(this.ref); // null
  }
  render() {
    return (

        <Ref innerRef={(ref) => this.ref = ref}>
          <Modal open={true}>

              This is App

          </Modal>
        </Ref>

    );
  }
}

Expected Result
non-null ref should be printed on the console
Actual Result
the console shows null
Version
0.81.1
Testcase
https://codesandbox.io/s/q9oyyrro44

Modal is rendered with another API directly to document.body, so there is no bug.
The easiest way is a capture ref from child node of Modal:
<Modal open={true}>

This is App

</Modal>

@layershifter Thanks for your reply. But your code doesn't work for me.
Here is my code: https://codesandbox.io/s/1ppjj7r8j
Also, what if it's a Segment instead of div? I cannot even use ref in this case.
<Modal open={true}>
  <Segment>
    This is SimpleComponent
  </Segment>
</Modal>

I've updated example: https://codesandbox.io/s/6xqo6mj0zw

You can't get ref in componentDidMount() because a Modal content will be mounted later.


feat: added support for prisma v5

refs 158386
[ci all-tests]

[ ] run both v4 and v5
[ ] Prisma instrumentation does not support overriding the URL via the PrismaClient

Closing in favor of #1114


Line plot breaks when group not passed

This is fun...need to either throw error, make into implicit groups, do a summary function of some sort, etc.
using Vega

x = [1:100; 1:100]
y = [[1:100] + randn(100); 3.0 + 1.5 * [1:100] + randn(100)]
group = [[1 for i in 1:100]; [2 for i in 1:100]]

lineplot(x = x, y = y)

This is unintended, but is this really a "bug"? Meaning, if a user passes a series of (x,y) pairs with duplicated x values, what should the behavior be?
Anyone have thoughts here? Throw a warning? Let user see messed up looking graph and figure it out themselves?

I get deprecation warnings trying to build x/y, so I don't think this is doing what you think it is?  If a user passes you an unsorted x vector, I think the plot you show is the correct plot to display, so no bug.  If however they pass a vector of vectors, then splitting into 2 series is probably more correct.

Not sure I'm understanding the data you're passing in...can you show an example of vector of vectors?

Compare the "Lines" or parametric plot examples vs the "Vectors w/ pluralized args" example here for an idea of what I mean.  A Vector{Vector} implies distinct series, while a Vector{Float64} implies one series unless explicitly grouped.

So in your case, that's just a different API altogether. You're implicitly grouping when multiple vectors are passed in. The example I show above is what happens if you remove the explicit grouping from the current behavior.
So that's the question. If you do lineplot(x = Vector{Real}, y = Vector{Real}), where x has repeating values, what should the behavior be? It's a data mistake in the case of a single line.
A Vector{Vector} method should be added too (your example).

I disagree that it is a mistake to pass in an x with repeating values.  I do it all the time (again look at the parametric plot example where I draw the infinity symbol).  Gadfly handles this explicitly by allowing you to either pass in a Geom.line which resorts the points by the x input, or Geom.path which leaves it unsorted.

I see what you're saying now. I was implicitly thinking lineplot = function, the old vertical line test for a function from grade school :)
So this isn't a bug, but a Vector{Vector} method that calculates groups should be added.

I still say you shouldn't focus so much on this part of the API... if we implement Vega as a backend to Plots, you'll get a ton of stuff for free.  In order to implement, you basically need to be able to fill in this template (which, for clean backends, is pretty minimal code):
immutable [PkgName]Package <: PlottingPackage end
[pkgname]!() = plotter!(:[pkgname])

# ---------------------------------------------------------------------------

function plot(pkg::[PkgName]Package; kw...)
  d = Dict(kw)
  # TODO: create the window/canvas/context that is the plot within the backend (call it `o`)
  # TODO: initialize the plot... title, xlabel, bgcolor, etc
  Plot(o, pkg, 0, d, Dict[])
end

function plot!(::[PkgName]Package, plt::Plot; kw...)
  d = Dict(kw)
  # TODO: add one series to the underlying package
  push!(plt.seriesargs, d)
  plt
end

function Base.display(::[PkgName]Package, plt::Plot)
  # TODO: display/show the plot
end

# -------------------------------

function savepng(::[PkgName]Package, plt::PlottingObject, fn::String; kw...)
  # TODO: save a PNG of the underlying plot/subplot object
end

# -------------------------------

function buildSubplotObject!(::[PkgName]Package, subplt::Subplot)
  # TODO: build the underlying Subplot object.  this is where you might layout the panes within a GUI window, for example
end

function Base.display(::[PkgName]Package, subplt::Subplot)
  # TODO: display/show the Subplot object
end

To be honest, I'm not sure compatibility with Plots.jl is really one of my design goals with this package. I see where you're coming from with thinking about vega/d3 being a back-end to a generic plotting interface, but for me, this is my opportunity to experiment with plotting grammars other than grammar of graphics or generic plot methods.
If what I'm doing can be shimmed into what you're doing, that's cool, but the learning of vega/d3 is really what I'm after.

Ok, fair enough.  I'll stop pestering you then and move Vega to the back of my priority list.

I think we have similar goals overall, just that I'm "allergic" to functions with dozens of arguments. So I'm experimenting here with how high level/declarative can one be when doing a plot.
Take the wordcloud / colorscheme! for example. Like the rest of my plot functions, I'm trying to make the minimum number of arguments to create that style of plot. Then, there are declarative functions that mutate the plot to apply a different color palette to it.
http://johnmyleswhite.github.io/Vega.jl/wordcloud.html
This seems cognitively easier to me to think of a plot that you continuously mutate (or "sculpt" if you will), but I haven't gotten very far with it yet. OTOH, I see Plots.jl as a means of handling all common visualization ideas into a single function (which could also be cognitively easier than grammar of graphics).
So same goals maybe, different approaches? I certainly value your input over here, I'm not trying to hoard development to just myself :+1:

@tbreloff: I don't want to be too presumptuous, but I worry that you're making a poor use of your time working on Plots.jl, especially given that this thread suggests that you'll need other package authors to change their API's to adapt to the API of Plots.jl. That kind of code synchronization seems intractable both socially and technically. I suspect you'll have more impact on Julia if you pick a different project.

@johnmyleswhite: It's just the opposite... I want package authors to do exactly what they want to do, and I will turn a Plots request into that package's "approach".  Despite the huge differences in plotting packages, in the end they usually overlap functionality by about 90%.  The wordcloud example is a good example of something that you don't see everywhere... I would expect a user to be able to do:
using Plots; vega!()
# populate x vec
wordcloud(x, colorscheme=("Spectral", 11))

And for something as simple as this, it just ends up mapping to the Vega example, but for other things there is lots and lots of similar functionality that is re-coded by everyone "because they have to support it".  If you try this command with another backend, it would tell you "bummer... that's not supported, but just add Vega and rerun the command".
My goal is to remove the API burden so package authors can focus on producing cool functionality however they want to, and the "101 ways to pass in data/inputs/settings" can be abstracted away.  At the same time, I want to make it dead-simple for new users to be able to experiment with many plotting packages without going through the hassle of learning a new API every time just to plot a line and test it out.
I'm sorry to hear some people don't find my time well spent... I see value in it for myself.  Also, when I said " In order to implement, you basically need to be able to fill in this template..." above, I really mean I need to fill in that template.  It's worked out well so far... I have pretty extensive support for many types of inputs and plots for Gadfly, Immerse, PyPlot, UnicodePlots, and Qwt with bare-minimum required dependencies. Some of these actually have more features than they did before... for example I'm starting to support different marker shapes for Gadfly, which has been an open issue there for a while, but is actually not quite as hard to implement as part of Plots.  I'd say it's already proven to be a successful project... more features and backends will only make it better.

Closing in favor of meta issue


Update required for recent versions/updates of Windows 10

Can someone update this for the newer versions/updates of Windows 10 please?

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

ID: 8afd1f96-b008-8b2e-bf3e-89d91f8cca5e
Version Independent ID: 2010bd32-59f6-823c-f193-27439e12798d
Content: .NET Framework system requirements
Content Source: docs/framework/get-started/system-requirements.md
Product: dotnet-framework
GitHub Login: @gewarren
Microsoft Alias: gewarren

Fixed in #20124.


token in non-js file with tab indent cannot be matched properly

i'm talking about golang that use tab officially
an example: https://github.com/go-playground/validator/blob/v9/_examples/simple/main.go

It seems work for me, in the case you provide
Could you please explain it in detail?
A screenshot would be great

screenshot for https://github.com/go-playground/validator/blob/v9/benchmarks_test.go

screenshot for https://github.com/go-playground/validator/blob/v9/_examples/simple/main.go

i can't always reproduce the bug either. when i open these pages first, it seems everything is ok, but after several refreshing and randomly token clicking, something like the screenshots happened

Thanks for your screenshots! I'll take a look at it ASAP

another screenie, but it's vue with tab indentation
https://github.com/JustArchiNET/ASF-ui/blob/master/src/views/modals/BotConfiguration.vue

but also with any wide characters? i doubt RTL languages will work

https://github.com/mrdoob/three.js/blob/93e72ba7b24958ddb0652bd33171edd14ed2d693/examples/webgl_geometry_hierarchy.html#L101-L119
And this


move most of the FF59 deprecated/removed prefs

I used the short-form for the bugzilla links and added the part-info for tickets with multiple parts. If you don't like it, feel free to change it.

I did the deprecated sticky earlier. This is spot on! I can do the other 5 in a separate commit

(part x) that's fine

and added the part-info for tickets with multiple parts

any reason why we don't do this to the whole user.js?

I used the short-form for the bugzilla links

I count 135 instances of "show_bug.cgi?id=" we could remove .. that's 2160 chars (need to check those linking to a comment first)


sbt --client fails on M1 Mac docker instance

steps
On an m1 mac, in a docker instance, e.g. Devcontainer for https://github.com/theIntelligentBook/supercollaborative ,
sbt --client
problem
sbtn attempts to load ld-linux-x86-64.so.2 library despite running on ARM architecture
root@4e6c90a02769:/workspaces/supercollaborative# sbt --client
downloading sbtn 1.4.7
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory

expectation
sbt client runs and connects to (or starts) sbt server
notes
Dockerfile uses openjdk:17-jdk-slim-bullseye as its base, with sbt installed via Coursier (RUN bash -c 'cs install sbt')
Edit: sbt --java-client seems to work, but perhaps could be suggested from the error response or docs?

I get someting similiar running sbt 1.7.0-M2 inside a Ubuntu 22.04 virtual machine on my Macbook Pro M1:
$ sbt --client
/home/mkurz/.sdkman/candidates/sbt/1.7.0-M2/sbt: line 222: /home/mkurz/.cache/sbt/boot/sbtn/1.4.7/sbtn: cannot execute binary file: Exec format error
/home/mkurz/.sdkman/candidates/sbt/1.7.0-M2/sbt: line 222: /home/mkurz/.cache/sbt/boot/sbtn/1.4.7/sbtn: Success

I guess it's because we are currently assuming "Linux" to be Linux on x86_64, whereas you guys are running Linux on ARM?

Yeah, that's why probably.

With sbt 1.8 I get a better error message:
$ sbt --client
/home/mkurz/.sdkman/candidates/sbt/1.8.0/bin/sbt: line 222: /home/mkurz/.sdkman/candidates/sbt/1.8.0/bin/sbtn-x86_64-pc-linux: cannot execute binary file: Exec format error
/home/mkurz/.sdkman/candidates/sbt/1.8.0/bin/sbt: line 222: /home/mkurz/.sdkman/candidates/sbt/1.8.0/bin/sbtn-x86_64-pc-linux: Success

See here:
https://github.com/sbt/sbt/blob/09e06c45f01a72ed1010873a3ba89c0b70689fca/sbt#L174-L176
To solve this we need to generate and host a linux aarch64 binary in the sbtn-dist repo:
https://github.com/sbt/sbtn-dist/blob/develop/.github/workflows/native.yml
Looking at how the scala-cli binary for aarch64 gets build (https://github.com/VirtusLab/scala-cli/pull/1703), I think we can also make use of https://github.com/uraimo/run-on-arch-action.

I build an aarch64 `sbtn´ binary locally, but ran into following error: #7095

I am pretty sure this can be closed now that we have

#7110
#7111
#7112

so this should hopefully be fixed with next sbt 1.8.1 release.


AFURLRequestSerialization: Change to the copied serializer queue.

Summary
Suggested fix for a crash that occurs when copying an
AFHTTPRequestSerializer. The crash is caused by dispatching a block
that modifies the request headers dictionary of the new serializer
instance on the wrong queue - the queue of the serializer being copied
instead of the queue of the new serializer. Due to this error, it happens
that this block may replace the request headers dictionary (i.e. assign
a brand new dictionary and release the existing one) while
simultaneously another block, dispatched by the initializer of the new
serializer on the correct queue, adds a new header field to the existing
dictionary.
Typically the stack trace looks like this:
Crashed: requestHeaderModificationQueue
Exception: message sent to deallocated instance
0  libobjc.A.dylib   0x18ceb01a0 objc_retain + 16
1  AFNetworking      0x1019d3fa0 __55-[AFHTTPRequestSerializer
                         setValue:forHTTPHeaderField:]_block_invoke + 40
2  libdispatch.dylib 0x18d2ea9e0 _dispatch_call_block_and_release + 24

The crash occurs in a chance of about 1/10000 and it can be reproduced
by running [serializer copy] in a simple for loop with more than 10000 iterations.
Details
An AFHTTPRequestSerializer instance provides an interface for getting
and setting the HTTP headers for all requests serialized by that
instance. The headers are saved in a mutable dictionary. Every access to
that mutable dictionary is done via requestHeaderModificationQueue,
that is a concurrent queue, while mutations are performed with a
barrier. This way the queue acts as a Single-Writer-Multiple-Reader lock
that also promises that writes will execute alone and that any
reads/writes that were queued after a certain write will only start
executing after that write completes and get the updated data.
The scenario that leads to the crash:

serializerA is allocated and initialized. A new mutable headers
dictionary and designated queue are created for it - headersA and queueA.
[serializerA copy] is invoked which in turn invokes copyWithZone:.
Inside copyWithZone: a new serializer is created and initialized -serializerB.
Within the initializer of serializerB a new headers dictionary is
allocated along with a designated queue - headersB and queueB.
Also within the initializer setValue:forHTTPHeaderField: is called
which queues a block to run  asynchronously on queueB.
After initializing serializerB the copyWithZone: method continues
to copy headersA and overwrite headersB with that copy.
Before the fix this copying and overwriting is done by dispatching a
block on queueA (and not queueB).
Since the header-setting block was queued on queueB and the copy
block was queued on queueA it is possible that they will will be
scheduled to run simultaneously. If this happens the copy block will
cause the existing headers dictionary to be released while the
header-setting block is still using that dictionary causing the block
to crash.

@dlahyani @byohay @StatusReport
The relevant crashes in Facetune2:
https://fabric.io/lightricks/ios/apps/com.lightricks.facetune2/issues/58ee148a0aeb16625b92bea9?time=last-ninety-days
https://fabric.io/lightricks/ios/apps/com.lightricks.facetune2/issues/588f3a440aeb16625bb0fefe?time=last-ninety-days
https://fabric.io/lightricks/ios/apps/com.lightricks.facetune2/issues/588c32e10aeb16625b9d5dda?time=last-ninety-days

Few comments regarding the commit message / PR description:

I'd move the (~1/10000) to after the words "that occurs" and remove the parenthesis.
It is worth mentioning that every access to the mutableHeaders is done via requestHeaderModificationQueue which is a concurrent queue, and mutations are performed with barrier. This way the queue acts as a Single-Writer-Multiple-Reader lock.
I'd simplify the flow to be just one step describing what happens when [serializerA copy] is called.
In the last step of the "flow before the crash" I'd say: The copying block that copies serializerA.mutableHeaders into serializerB.mutableHeaders is pushed (synchronously) to the requestHeaderModificationQueue.
As we discussed - scenario 2 is not possible because mutations to the dictionary via setValue:forHeaderField: are pushed to the queue with barrier BEFORE the copy block is pushed onto the queue, hence they will necessarily be executed before the copy block.

Is it possible to add a test that replicates the issue?

As @Ner1Co described this is a race-condition that occurs approximately 1 in 10K runs, so i guess it is possible to write a test that copies a serializer and uses it 100K times and make sure it  does not crashes. But this is really not a good approach for testing. Since this queuing and parallelism is an implementation detail and we can not simulate / control this race-condition it is hard to test in a different manner.

I would at least write a test that reproduces this and then verify that the reproduction doesn't crash anymore. Otherwise how do you know it was fixed?

Well as I said the only way we found to reproduce it is to run ~100K
iterations and hope that the race-condition occurs and crashes the tests.
This reproduced the crash with almost 100% success rate. After the fix it
did not crashed anymore within many tries and iterations.
So we can add such test but it does not sound like a good option to me. Do
you think otherwise?
On Wed, 30 Aug 2017 at 18:27 Yaron Inger<EMAIL_ADDRESS>wrote:

I would at least write a test that reproduces this and then verify that
the reproduction doesn't crash anymore. Otherwise how do you know it was
fixed?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/Lightricks/AFNetworking/pull/6#issuecomment-326026901,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHr2f38CEKeJ6CNZT0ZksFDEqWN0tcMxks5sdX9IgaJpZM4PHUpa
.

Ah, so I misunderstood what you said. No need to add a test. Move on :)

Some corrections to the commit message:
fix to a several crashes... -> fix to a rare crash...
message sent to deallocated instance -> message sent to deallocated instance of `mutableHTTPRequestHeaders`:
Typically the stack trace looks like this:
(stack trace)
The flow before the crash: -> The scenario that leads to the crash:

serializerA is allocated. Its headers property points to headersA address.
[serializerA copy] is called somewhere which calls copyWithZone:.
A new serializer is created (let's call it serializerB) with headers property that points to  headersB address.
setValue:forHTTPHeaderField: is called twice from the init of serializerB to set
the User-Agent and Accept-Language headers, which is done by dispatching tasks on the queue requestHeaderModificationQueue of serializerB.
The value of mutableHTTPRequestHeaders of serializerB is overriden by [self.mutableHTTPRequestHeaders mutableCopyWithZone:zone], where self is serializerA (line 582).

serializerB headers reference still points to headersB. The code inside the block will mutate headersB. Then, headersA overrides it.
The headers of serializerB were already overriden by headersA before dispatch_barrier_async of setValue:forHTTPHeaderField:. User-Agent and Accept-Language from the init of serializerB are dispatched. If the headersA had different User-Agent and Accept-Language before, it
will overwrite them.
serializerB headers still reference headersB and the block
copies this reference. Meanwhile, before the blocks are invoked, the reference is changed to headersA
(line 582), so headersB deallocated.
The block is called, the copied reference
self.mutableHTTPRequestHeaders points to headersB which was deallocated, which leads
to the crash.

occur when `dispatch_async` in the copy method... -> occur when `dispatch_sync` in `copyWithZone:`...
should wait to -> should wait for.
is the old queue -> is dispatched on the queue of `serializerA` and not on that of `serializerB`, which means that the copy and the operations in the `init` are not synchronized

Following @byohay's comments, in a more general manner - for me at least it would be easier to understand the core of the issue if the summary would be at the top of the commit description (the dispatch was to the wrong queue, and that we need to access the headers of the source in a thread safe manner). In the other details I'd write the scenario that leads to the crash (not sure that I'd explain the other possible scenarios), preferably with (clean and concise) code that can theoretically reproduce the issue. After reading the message it took me about 5-7 mins to understand exactly what is the issue.
Having said that - big GG on catching this! Not trivial stuff.

Are we going to send a PR to AFN?

Yes. Maybe we will wait to see that it actually eliminates the crashes we were experiencing.


When my eslint configuration file is ".eslintrc.cjs", I run "npx @eslint/config-inspector", I get the following error 🤔

Will there be support for using .eslintrc.cjs later?

As printed, config inspector only works for flat config. eslintrc is not supported.


Facebook API Version v17 is not supported

As mentioned in the title. The Facebook API Version V17 is not supported in the latest docker compose installation.
I get this error, when trying to add "Facebook Marketing" as a source:
general: Error ID:f4621b97d6e047449f9c24ba458577b4: facebook: (#2635) Your app has been upgraded to version v17.0, please use this version or newer. This can be verified in the settings tab on the App Dashboard. (code: 2635; error_subcode: 0, error_user_title: , error_user_msg: ) (#400)

Hi @stormrage-project
Can you please try to set docker-compose to use beta image.
E.g. replace jitsucom/jitsu image with jitsucom/jitsu:beta

@stormrage-project do you use source connector or destination connector?

@stormrage-project do you use source connector or destination connector?

source connector

@hiroszi
Can you please try the latest release: https://github.com/jitsucom/jitsu/releases/tag/v1.44.7


Incorrect storage invalidation option

I believe there is a bug in the storage options object. The documentation references options.invalidation, the code base expects options.invalidate (also referenced in the TS types), and the underlying createCache() method from async-cache-dedupe expects options.invalidation.
References to the code points
Storage object validation - https://github.com/mercurius-js/cache/blob/main/lib/validation.js#L152
Storage object passed directly to async-cache-dedupe - https://github.com/mercurius-js/cache/blob/main/index.js#L43
Usage in async-cache-dedupe - https://github.com/mcollina/async-cache-dedupe/blob/main/src/storage/memory.js#L30
I'm happy to raise a PR for this, just wanted to check I'm not missing something first

thanks for spotting!


Make it docker hub

Please docker hubirzed the image to acces easily by downloading from the store

As per  Oracle Technology Network License Agreement I can't do the following: "make the Programs available in any manner to any third party", because of that you have to download the installers with an Oracle account and build the image. If you find an official source of wls1036 and jdk1.6 installers where you are allowed to download them without logging in, I could upload the image.


Create 2022g artifact

Released upstream: https://github.com/evansiroky/timezone-boundary-builder/releases/tag/2022g

timezone-boundary-builder-2022g


Include Bitwise operators in the documentation

Which issue does this PR close?
Closes #3434
Are there any user-facing changes?
No breaking change. Documentation change only.

Codecov Report

Merging #3436 (ecc34c1) into master (b247204) will decrease coverage by 0.01%.
The diff coverage is n/a.

:exclamation: Current head ecc34c1 differs from pull request most recent head 39fa4bd. Consider uploading reports for the commit 39fa4bd to get more accurate results

@@            Coverage Diff             @@
##           master    #3436      +/-   ##
==========================================
- Coverage   85.62%   85.61%   -0.02%
==========================================
  Files         296      296
  Lines       54469    54487      +18
==========================================
+ Hits        46640    46648       +8
- Misses       7829     7839      +10

Impacted Files
Coverage Δ

datafusion/proto/src/to_proto.rs
52.00% <0.00%> (-0.54%)
:arrow_down:

datafusion/expr/src/logical_plan/plan.rs
77.19% <0.00%> (+0.33%)
:arrow_up:

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


How to resize cloudimg-rootfs/dm-0 partition?

Hello, we are currently attempting to resize the OS Disk for Confidential VM.
We see per lsblk that we have a cloudimg-rootfs volume and df -h shows this on /dev/dm-0
After resizing the OS Disk from the Azure Portal, lsblk shows sda1 to increase to the larger size without issue, but cloudimg-rootfs does not increase.
How do we increase  the size of that volume?
growpart and fdisk fail and resize2fs indicates "Nothing to do!"
Installing cloud-initramfs-growroot and rebooting also does not appear to have an effect.
Repro:
-Create an Ubuntu 20.04 Confidential VM
-Check the box during creation for "Confidential compute encryption"
-Stop the VM after creation
-Increase the size of the OS Disk from 32GB to 128GB and allocate the VM again
Expected:
There should be additional size on the root volume - which we see is mounted at /dev/dm-0 or sda > sda1 > cloudimg-rootfs
Actual:
The dm-0/cloudimg-rootfs volume remains 29GB - attempts to resize it via standard methods like fdisk or gresize2fs fail
ASK:
How can we resize the partition after increasing the size of the virtual disk?

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

ID: 29589a15-bdee-3113-0952-348d42f68a3d
Version Independent ID: 47c0aaec-1f85-8a36-4a92-f7e5db2cd0bf
Content: Azure Confidential virtual machine options on AMD processors
Content Source: articles/confidential-computing/virtual-machine-solutions-amd.md
Service: virtual-machines
Sub-service: confidential-computing
GitHub Login: @mamccrea
Microsoft Alias: mamccrea

@johnem-msft
Thanks for your feedback! We will investigate and update as appropriate.

@johnem-msft
Thank you for your feedback!
I'd recommend working closer with our support team via an [Azure support request] (https://docs.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request). Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
[Teams Q&A forum] (https://docs.microsoft.com/en-us/answers/topics/46488/office-teams-windows-itpro.html) for technical questions about the configuration and administration of Microsoft Teams on Windows.
[Microsoft Teams Community forum] (https://answers.microsoft.com/en-us/msteams/forum?sort=LastReplyDate&dir=Desc&tab=All&status=all&mod=&modAge=&advFil=&postedAfter=&postedBefore=&threadType=All&isFilterExpanded=false&page=1)
Thank you for your time and patience throughout this issue.

I was able to resolve a disk with dm-0 encrypted volume to resolve this issue as follows:
*Presiously resized VM OS Disk from 32GB to 128GB and /dev/dm-0 remained 29G
-Create a snapshot of the OS Disk/Backup the VM
df -h
-Verify that /dev/sda represents the new size, but /dev/sda1 and /dev/dm-0 do not
-Run fdisk: remove and recrate the partition and reboot:
fdisk /sda
p
d
1
n , ,
Do you want to remove the signature?
No
w
-After writing the partition information reboot the VM
-Upon reboot, verified that the dm-0 volume expanded to occupy the entire size of /dev/sda1


gnmi-1.22 controller card port attributes readme

Pull Request Functional Test Report for #2943 / b1bb010534e737579d343b2bc818dd7c4d835336
Virtual Devices

Device
Test
Test Documentation
Job
Raw Log

Arista cEOS

gNMI-1.22: Controller card port attributes
f568c275
Log

Cisco 8000E

gNMI-1.22: Controller card port attributes
cd9a1cb3
Log

Cisco XRd

gNMI-1.22: Controller card port attributes
fc4cee68
Log

Juniper ncPTX

gNMI-1.22: Controller card port attributes
2183ae10
Log

Nokia SR Linux

gNMI-1.22: Controller card port attributes
4bbdc4bf
Log

Openconfig Lemming

gNMI-1.22: Controller card port attributes
95186d7b
Log

Hardware Devices

Device
Test
Test Documentation
Raw Log

Arista 7808

gNMI-1.22: Controller card port attributes

Cisco 8808

gNMI-1.22: Controller card port attributes

Juniper PTX10008

gNMI-1.22: Controller card port attributes

Nokia 7250 IXR-10e

gNMI-1.22: Controller card port attributes

Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.647%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1966

Relevant Lines:
3533

💛  - Coveralls


[Feature] Update pip install

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
Please describe the motivation of this PR and the goal you want to achieve through this PR.
Modification
Please briefly describe what modification is made in this PR.
BC-breaking (Optional)
Does the modification introduce changes that break the backward compatibility of the downstream repositories?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.
Use cases (Optional)
If this PR introduces a new feature, it is better to list some use cases here and update the documentation.
Checklist
Before PR:

[ ] Pre-commit or other linting tools are used to fix the potential lint issues.
[ ] Bug fixes are fully covered by unit tests, the case that causes the bug should be added in the unit tests.
[ ] The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
[ ] The documentation has been modified accordingly, like docstring or example tutorials.

After PR:

[ ] If the modification has potential influence on downstream or other related projects, this PR should be tested with those projects.
[ ] CLA has been signed and all committers have signed the CLA in this PR.

In this PR:

Support build whl with configs in opencompass/(will be updated in another PR)
Support calculate the extraction rate of the prediction when --dump-eval-details
Update claude API, VOLC runner, and LCBench dataset from the internal gitlab version.


Replaying access pattern

I am doing a new version of an existing system and I'd like to put it under the same "stress" level that the current one has.
I grabbed from the access logs a 10 minutes sample of the access and since both systems accept the exact parameters/url I was considering using locust to do it.
I have stats so, for example, Url A receives on average X requests/sec, Url B receives Y requests/sec.
The questions are :

is locust the tool to do it
based on the docs I could not figure it out how to do such a thing

No comments?

If you are trying to replay access logs to test your application, yes this is possible with locust and a wide range of other tools. However, I recommend using the same tool to test application of both versions so you're comparing apples to apples. With locust, you might try something like this:
import re

from locust import HttpLocust, TaskSet, task

# Read your access log and extract the path from each line; use this list
# of paths to request each url
path_pattern = re.compile('REGEX_TO_MATCH_PATH')
with open('access.log') as f:
    lines = f.read().split('\n')

urls = []
for line in lines:
    urls.append(path_pattern.match(line).group(1))

class Tasks(TaskSet):
    @task
    def replay(self):
        self.client.get(urls.pop())

class Locust(HttpLocust):
    min_wait = 0
    max_wait = 0
    task_set = UserTasks


Fix #253 Add Workflow Descriptions in CONTRIBUTING.md

Checklist (Please check before submitting)

[x] I reviewed the Contributing Guide.
[x] I signed and emailed the appropriate Contributor License agreement to<EMAIL_ADDRESS>and copied<EMAIL_ADDRESS>
Describe the contribution
Fix #253
Added short descriptions to each of our workflows.
Expected behavior changes
Users should now know what our workflows are used for.
Contributor Info - All information REQUIRED for consideration of pull request
Ariel Adams, ASRC Federal

CCB:2021-05-12 Approved


Extension: Ionide-fsharp extension does not work

Hi. I tried to use Ionide-fsharp extension with onivim2 but it seems to me it completely does not work at all.
Environment
Ubuntu 20.04
dotnet sdk 5.0.101
Onivim 2 Nightly 19d5f95f
Step to reproduce

Install C# extension with oni2 --install-extension muhammad-sammy.csharp command
download Ionide-fsharp-5.1.0.vsix from https://github.com/ionide/ionide-vscode-fsharp/releases/tag/5.1.0
install ionide plugin with oni2 --install-extension Ionide-fsharp-5.1.0.vsix from download directory
Open a F# project and open any fs file(I tried dotnet new console -lang=F# -n=${project name}.)

Expected Behavior

Auto completion
Warning
Function/variable/module information with hover
Whatever works on VSCode

Observed

Nothing works
From the log, I can find several erros

Unable to parse OutputService method: $append
Unable to parse OutputService method: $reveal
Unhandled method: $registerDebugAdapterDescriptorFactory
Unhandled method: $registerDebugConfigurationProvider

ETC
I tried 0.5.2 but it does not work neither.

Hi @Karfroth ,
It looks like the issue is the extensionDependencies defined in the package.json:
https://github.com/ionide/ionide-vscode-fsharp/blob/ab871e5bcfec001bbc81ef5b331fbc0bb732b1b8/release/package.json#L1568
If I modify that package.json manually - it seems to work for me now. The 0.5.1 version showed an error on startup, but that went away with 0.5.2 - so I'd recommend that one:
Looks like, after making that change, I get basic hover/goto-definition/completion as expected:

The ideal fix would be to have the ionide project publish a version on Open-VSX, with the correct extensionDependencies. This comes up with a few different extensions, though, so I've considering patching Onivim to remap the "ms-dotnettools.csharp" reference to muhammad-sammy.csharp. It'd also be cool if VSCode supported optional dependencies: https://github.com/microsoft/vscode/issues/6384

Hi @Karfroth ,
It looks like the issue is the extensionDependencies defined in the package.json:
https://github.com/ionide/ionide-vscode-fsharp/blob/ab871e5bcfec001bbc81ef5b331fbc0bb732b1b8/release/package.json#L1568
If I modify that package.json manually - it seems to work for me now. The 0.5.1 version showed an error on startup, but that went away with 0.5.2 - so I'd recommend that one:
Looks like, after making that change, I get basic hover/goto-definition/completion as expected:

The ideal fix would be to have the ionide project publish a version on Open-VSX, with the correct extensionDependencies. This comes up with a few different extensions, though, so I've considering patching Onivim to remap the "ms-dotnettools.csharp" reference to muhammad-sammy.csharp. It'd also be cool if VSCode supported optional dependencies: https://github.com/microsoft/vscode/issues/6384


CKAN-wide issue search page

We have pages for dataset issues, organization issues, and now we want to also have 'all issues'. A page for sysadmins and other interested members of the public. Allows you to get a sense of how many issues, what sorts (tags) are popular etc. Otherwise they are effectively siloed.
Maybe could be combined with the organization issues page, with the org being a facet.

I think this would be useful but perhaps for something post version 1? What do you think?


"Transaction with the same hash was already imported." with Parity

deployer script fails with the following error.  This looks similar to https://github.com/raiden-network/raiden/issues/3263 .
DEBUG:raiden_contracts.deploy.contract_deployer:Calling UserDeposit.init() with msc_address=0xBe41B9CE4042B1fdeb0aBC56036Cb29BB0D24181 one_to_n_address=0x4e9444868fb4F1e05b8B06909d876e5fCf9c825E
Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/yoichi/src/raiden-contracts/raiden_contracts/deploy/__main__.py", line 481, in <module>
    main()
  File "/home/yoichi/src/raiden-contracts/venv/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/yoichi/src/raiden-contracts/venv/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/yoichi/src/raiden-contracts/venv/lib/python3.7/site-packages/click/core.py", line 1163, in invoke
    rv.append(sub_ctx.command.invoke(sub_ctx))
  File "/home/yoichi/src/raiden-contracts/venv/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/yoichi/src/raiden-contracts/venv/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/yoichi/src/raiden-contracts/raiden_contracts/deploy/__main__.py", line 79, in wrapper
    return func(*args, **kwargs)
  File "/home/yoichi/src/raiden-contracts/venv/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/yoichi/src/raiden-contracts/raiden_contracts/deploy/__main__.py", line 326, in services
    token_network_registry_address=token_network_registry_address,
  File "/home/yoichi/src/raiden-contracts/raiden_contracts/deploy/contract_deployer.py", line 379, in deploy_service_contracts
    _msc_address=msc.address, _one_to_n_address=one_to_n.address
  File "/home/yoichi/src/raiden-contracts/raiden_contracts/deploy/contract_deployer.py", line 95, in transact
    txhash = contract_method.transact(self.transaction)
  File "/home/yoichi/src/raiden-contracts/venv/lib/python3.7/site-packages/web3/contract.py", line 1151, in transact
    **self.kwargs
  File "/home/yoichi/src/raiden-contracts/venv/lib/python3.7/site-packages/web3/contract.py", line 1454, in transact_with_contract_function
    txn_hash = web3.eth.sendTransaction(transact_transaction)
  File "/home/yoichi/src/raiden-contracts/venv/lib/python3.7/site-packages/web3/eth.py", line 269, in sendTransaction
    [transaction],
  File "/home/yoichi/src/raiden-contracts/venv/lib/python3.7/site-packages/web3/manager.py", line 112, in request_blocking
    raise ValueError(response["error"])
ValueError: {'code': -32010, 'message': 'Transaction with the same hash was already imported.'}

The transaction hash depends on the calldata, nonce and so on.  So we just need to calculate the transaction hash and wait for it to be mined.

Needs investigation maybe together with @hackaugusto


Using leptos_actix::redirect in a server function with JS disabled in Firefox or Chromium results in an empty response

Using leptos_actix::redirect in a server function with JS disabled in Firefox or Chromium results in an empty response.
Leptos Dependencies
From standard cargo leptos new template
use leptos::*;
use leptos_router::*;

#[server(LoginFn, "/serverfn")]
pub async fn login() -> Result<(), ServerFnError> {
    use leptos_actix::redirect;
    redirect("/?some=thing");
    Ok(())
}

#[component]
pub fn App() -> impl IntoView {
    let login = create_server_action::<LoginFn>();
    view! {
        <ActionForm action=login>
            <button type="submit">
                "Login"
            </button>
        </ActionForm>
    }
}

To Reproduce

Disable JS in Firefox or Chromium
Go to /
Click on Login
See blank screen

Expected behavior
Browser should be redirected to /?some=thing.
Screenshots

Additional context
This has worked in most previous versions of Leptos.

Thanks! See the comment in #2507 for an explanation. I tested Axum and it seems like this bug doesn't exist in that integration.

(This has probably been broken since 0.6.0)

yep, although i thought it got fixed around 0.6.7 :stuck_out_tongue_winking_eye:


terraform-providers: add passthru.updateScript

Description of changes
Assuming this actually works it may be a bit noisy with multiple daily PRs but with one provider update per PR (built by ofborg automatically) it shouldn't be too much hassle. Will still need to do an occasional manual update for any broken providers.
cc @Mic92 @zimbatm

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

I'll leave this as a draft until ofborg is fixed.

@ryantm Do we need to do something else for nixpkgs-update here? I can't see anything in the r.ryantm logs since this was merged?

https://r.ryantm.com/log/terraform-providers.ibm/2022-10-01.log
Not sure why it failed, works with maintainers/scripts/update.nix.
That the bot only tried the update because it found it on repology is unexpected, thought it would go through all of terraform-providers.* and create PRs for any that ran the updateScript successfully.

Going back to using the action: https://github.com/NixOS/nixpkgs/pull/194825


Missing LibJS results for module tests

For example https://test262.fyi/#language/module-code or https://test262.fyi/#language/import, may or may not be fixed by https://github.com/CanadaHonk/eshost/pull/1 or https://github.com/CanadaHonk/eshost/pull/2.

It looks like it was fixed with those PRs (check site again now) :)


websocket: Expose websocket event ID

Exposes websocket event ID to websocket reader. This breaks API compatibility by changing the message type for the websocket channel from Message to (String, Message). Useful for deduplication of events if running multiple instances of an application, or for deriving timestamps from event IDs.

Much appreciated!


Add bg/out-of-range annotations to cbg types.

@gniezen

While starting to implement the annotations for SMBG, I realised that it doesn't make much sense to do so. The Bolus Wizard only lets you enter a number in the range of the Contour Next Link (20mg/dL to 600mg/dL). You would want both 20 and 600 to show up as valid SMBG numbers (not "Hi" or "Lo"). If you have a reading outside of this range, it's not automatically transmitted to the pump, and you couldn't enter it into the Bolus Wizard, because you wouldn't know what the number is.
Thoughts?

I vaguely remember coming to the same conclusion while working on SMBG records - that there isn't really a way to get out-of-range numbers, for the reasons you specified. Will you mention something to that effect in the checklist?

@gniezen Can you just re-review? I removed a duplicate const, just want to make sure you're happy with that.

LGTM! I'll merge it in so that I can start a new branch for the CGM timestamp fixes.

  Medtronic Alpha Test - Issue Resolution Card [uploader]


[$250] [QBO] There is no option to enter credentials.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.45-3
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @hungvu193
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1728292694875429
Action Performed:

Go to Workspace => Accounting.
Connect your workspace with QBO.
From QBO dashboard, disconnect Expensify App.
Go back to ND, click the menu from the Accounting page => Sync now.
Notice that's an error shows. Click threedot menu again, notice that you won't see Enter credentials option.

Expected Result:
If there's an authentication error, we should have Enter credentials option from three dot menu.
Actual Result:
There's no Enter credentials option even when we have authentication error.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/e1b8545f-5e6a-4bc6-ac1e-2c3e16a77fb0
https://github.com/user-attachments/assets/a26ef2bf-daa3-4a1a-8d52-cc8011e6b458

Add any screenshot/video evidence

View all open jobs on GitHub
https://github.com/user-attachments/assets/82c25848-cb41-45b3-a370-7d451f2a51fe
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021844020791272244172
Upwork Job ID:<PHONE_NUMBER>272244172
Last Price Increase: 2024-10-09

Issue OwnerCurrent Issue Owner: @

Hi @dylanexpensify, I reported this issue also have good amount of context since I worked on QBO, Xero and reviewed credentials PR. I'm happy to take this one as C+

Thanks for the proposals, everyone! It's clear that we shouldn't hide the Enter credentials option for both Xero and QBO.
@layacat 's proposal here has the correct RCA and straightforward solution.
🎀 👀 🎀  C+ reviewed

@hungvu193 @deetergp , can you check the above proposal please, I feel the selected proposal isn't correct and will cause regression, we want to hide the connection for NETSUITE and SAGE_INTACCT and only show for Xero and QBO:

That's outdated comment, we need to remove it

@deetergp can you assign @layacat so he can start working on the PR?

PR in review

Thanks @layacat - payment sorted.
@hungvu193, please complete the BZ checklist and I'll post the summary for the NewDot manual request

[x] The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/App/pull/48918
[x] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: https://github.com/Expensify/App/pull/48918/files#r1816794572
[x] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:  N/A
[x] Determine if we should create a regression test for this bug: Yes

Regression Test:

Go to Workspace => Accounting.
Connect your workspace with QBO.
From QBO dashboard, disconnect Expensify App.
Go back to ND, click the menu from the Accounting page => Sync now.
Notice that's an error is shown. Click threedot menu again.
Verify that Enter credentials option appears from three dot menu.

Do we 👍 or 👎  ?

Payment summary:
@hungvu193 to be paid $250 for C+ work

$250 approved for @hungvu193


Enable the HTTPS adapter by default

Closes #235
CI builds:
* https://travis-ci.org/pro-src/cloudflare-scrape/builds/533430872
* https://ci.appveyor.com/project/pro-src/cloudflare-scrape/builds/24598491

@Anorov If you have something else in mind, feel free to modify or close this.


Migrate to HIDDriverKit

In the next version of macOS (10.16, or Catalina+1), all kexts that use deprecated APIs will likely not load by default. The solution is to migrate to HIDDriverKit.
From Apple developer support:

All KPIs in IOHIDFamily are deprecated. Clients should use HIDDriverKit instead.

Instead of relying on SoftU2F's kext as we are currently, ideally we would be able to use HIDDriverKit directly.

I'd like to help with this development, although I admit this would be my first attempt at an Apple driver.
I use the project to register secondary devices (javacards) on accounts that are secured with U2F. Yubikeys are registered as the primary hardware device and, as of today, they work across platforms. So CCIDU2F is a great tool for disaster recovery on those yubikey accounts.
But the disasters will probably come when future macOS versions are available, so I'd like to help prep for that :)
I've read through some Apple pages on HIDDriverKit. Do you know what parts of SoftU2F need to be re-interfaced to HIDDriverKit? Or what parts of CCIDU2F rely on it so SoftU2F installation can be avoided entirely?

To be honest, I don't yet have a good idea of what all would be involved. I haven't really looked closely at the source to either the SoftU2F driver kext or the associated client library (other than to make a few minor changes to allow it to be torn down and brought back up more easily).
All that being said, it seems like most of the U2F HID logic (the stuff described here) is in the SoftU2F driver library (the part of SoftU2F source code that I included in this project). The path of least resistance likely involves retrofitting that library to use HIDDriverKit instead of their custom SoftU2F Kext.
On the other side, I can't even find a decent example project using DriverKit, much less an example project using HIDDriverKit.
I really lucked out that GitHub had written SoftU2F. Without their driver and library, I likely wouldn't have bothered writing CCIDU2F.

Thanks again for all your input across projects - I would be making little to no progress otherwise!
I've tracked down some additional resources from Apple on making the kext to system extension transition:

WWDC19 Video | System Extensions and DriverKit (interesting demo; introduces a bug to a system extension and watches the kernel handle it)
Article | Creating a Driver Using the DriverKit SDK

From the article, it looks like system extensions are now bundled with the app directly. I'm looking into the new entitlement grant process with Apple for development & production use, as well. Some chatter on the developer forums says it could be a bit of a pain.
Either way, I'll attempt the replacement of SoftU2F's kexts with HIDDriverKit calls (the retrofitting recommendation). It looks like these are the source files that need adjustment:

SoftU2F/

SoftU2FDriver/

SoftU2FDriver.hpp
SoftU2FDriver.cpp
SoftU2FDevice.hpp
SoftU2FDevice.cpp
SoftU2FUserClient.hpp
SoftU2FUserClient.cpp

SoftU2FDriverLib/

internal.h

Bigger picture -- and I may just need to keep researching -- is the current kext from SoftU2F to allow HID devices to communicate with the browser (the FIDO U2F HID Protocol)? And in the SoftU2F case, the HID device is emulated by software? (Are Bluetooth, NFC, and HID devices all considered CTAP2 communication devices now?)
Does the HID Driver not satisfy NFC connections? There do seem to be some slight differences. From the FIDO U2F NFC Protocol document:

Framing
The NFC protocol shall not use any additional framing (unlike the USB HID protocol, for example). Instead, messages sent to an NFC authenticator shall follow the U2F raw message format as defined in [U2FRawMsgs] in the bibliography. In the NFC protocol, either short or extended length APDU encoding is allowed.

I think I have enough direction to keep going, but please let me know if you think a different route would be more fruitful!

is the current kext from SoftU2F to allow HID devices to communicate with the browser (the FIDO U2F HID Protocol)?

Not exactly. USB-based FIDO tokens are already HIDs—the browsers can communicate with them just fine. SoftU2F works by creating a virtual HID that is controlled by software instead of hardware.

And in the SoftU2F case, the HID device is emulated by software?

Yes.

Are Bluetooth, NFC, and HID devices all considered CTAP2 communication devices now?

Whether a FIDO device uses CTAP1 or CTAP2 is independent of the transport protocol. There are defined protocols for how to use CTAP1 and/or CTAP2 over Bluetooth, NFC, and USB-HID.
As far as the authenticator device is concerned, all FIDO U2F tokens support only CTAP1. Most FIDO2 tokens support CTAP1 in addition to CTAP2, but this is not required.

Does the HID Driver not satisfy NFC connections?

It's not entirely clear to me what you are asking.
NFC devices themselves are not HIDs. CCIDU2F enables a FIDO authenticator that supports CTAP1 over NFC (or anything that looks like a smart-card to the OS, really) to appear as a virtual HID CTAP1 authenticator, allowing it to be used transparently with supported web browsers.
It would be straightforward to also add support for CTAP2 to CCIDU2F, I just haven't had the motivation to implement that yet.
CTAP1 uses APDU framing, so CTAP1 messages can be sent natively over NFC. CTAP2 messages use a custom framing, and so they must be put inside of a special APDU before being sent over NFC. But we aren't concerned with CTAP2 at this point, so I'll stop making things confusing. 😊

There do seem to be some slight differences. From the FIDO U2F NFC Protocol document:

Framing
The NFC protocol shall not use any additional framing (unlike the
USB HID protocol, for example). Instead, messages sent to an NFC
authenticator shall follow the U2F raw message format as defined
in [U2FRawMsgs] in the bibliography. In the NFC protocol, either
short or extended length APDU encoding is allowed.

Yeah, USB doesn't use APDUs, so you can't send CTAP1 frames (or CTAP2 frames) natively over USB. FIDO could have used the CCID protocol, but that was really meant for a different use case (reading smart cards, where only a single process can access the card at a time). So FIDO came up with their own USB transport for U2F/CTAP1. For FIDO2, they extended it slightly to support CTAP2.

Either way, I'll attempt the replacement of SoftU2F's kexts with HIDDriverKit calls (the retrofitting recommendation). It looks like these are the source files that need adjustment:
...

Sounds great!

CCIDU2F enables a FIDO authenticator that supports CTAP1 over NFC (or anything that looks like a smart-card to the OS, really) to appear as a virtual HID CTAP1 authenticator, allowing it to be used transparently with supported web browsers.

I think I have a better idea of what role this project plays in the FIDO flow:
SoftU2F has the benefit of being code-signed by GitHub. Putting the code from SoftU2FLib in this project would currently require disabling system integrity, although I'm this seems less relevant in the world of System Extensions. Then, CCIDU2F translates the CCID interface (contact or contactless smartcard or NFC Tag) to the Virtual HID Device, which can communicate with Chrome.
I've looked at this FIDO specs a bit more. Is this project needed for u2f-javacard on an NFC-capable JavaCard if the OS (whether macOS or Linux) is configured with an NFC Reader? Can modern versions of Chrome use the NFC directly instead of using the CCIDU2F -> Virtual HID method? From the specs it looks like HID, NFC, and Bluetooth are supported, with HID and NFC with the most browser support.

It would be straightforward to also add support for CTAP2 to CCIDU2F, I just haven't had the motivation to implement that yet.

Would you expect a Yubikey 5 NFC, which I suspect is a FIDO2 CTAP2 device, to not work over NFC with CCIDU2F? Should it fall back appropriately? Or should the browser be able to communicate with the Yubikey over NFC natively?
It does appear to me that this driver will need updated in any scenario in order to support a contact card running u2f-javacard, which could only connect via contact reader USB CCID.

Can modern versions of Chrome use the NFC directly instead of using the CCIDU2F -> Virtual HID method?

NFC is not (yet?) supported by Chrome on a Mac. It is supported by Chrome on Android. I have not tested NFC support in Chrome on Windows or Linux.

From the specs it looks like HID, NFC, and Bluetooth are supported, with HID and NFC with the most browser support.

I have not come across any browser on a Mac that supports NFC/CCID. They all seem to only support HID.

Would you expect a Yubikey 5 NFC, which I suspect is a FIDO2 CTAP2 device, to not work over NFC with CCIDU2F?

A Yubikey 5 NFC will work with CCIDU2F with CTAP1/U2F flows only. This means you could potentially use it with your Google Account, but not your Microsoft account (which requires features that CTAP1 cannot satisfy).

It does appear to me that this driver will need updated in any scenario in order to support a contact card running u2f-javacard, which could only connect via contact reader USB CCID.

I think it's worth pointing out that there is no official Apple NFC API on macOS. If a browser ends up adding their own support for "NFC" authenticators, that support would likely apply to all CCID devices. They would basically be doing something similar to what I'm doing in CCID, except without the drivers and HID stuff.
I have been told that Windows 10 already does what CCIDU2F does for macOS, but I haven't experimentally verified this.


Placeholder i18n

Hi,
Localizing the help attribute works perfectly, yet is there a way to do the same for the placeholder automatically? I did not find anything in form_builder.rb, so I suppose it currently does not exist. I also tried to hack it together, but one needs to fix the "real" tag-stuff directly. Is there a another way to do what I want?
Best,
Andreas

To answer my own question ... Rails (at least with 4.2) is capable of doing it by its own. Accoding to @blackchestnut at Stackoverflow, this works and it's actually does:
form_for(@user) do |f|
  f.text_field :first_name, placeholder: true
end

does get translated by
en:
  activerecord:
    attributes:
      user:
        first_name: Your name


fixed missing ctx in readme

There was a missing ctx in the application route

Thanks!

@passionkind  what's up with the new commit? Is it addressing a different issue?

@TheMallen please ignore the second commit. Only the readme fix. I committed the accessToken change by accident

@TheMallen close this one and use this PR https://github.com/Shopify/quilt/pull/331
couldn't revert anymore


Update version: Cloudflare.cloudflared version 2023.7.1

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/113364&drop=dogfoodAlpha

Close with reason: No changes;


[ElasticSan] Upgrade to API version 2024-05-01: Support CRC check for volume groups

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.ElasticSan

The ElasticSan .NET SDK is targeted to release on 9/27.


Major updates: ZM, AO, MZ additions

First major merge of the NASA fork

@WestonAnderson Could you check the MZ notebook?
df = pd.DataFrame.from_records(response.json()) gives only 159 data points for me.


black staging

black entire repo

@p-ferreira We have already merged a black PR into pre-staging, so this is just additional to reduce headache


Create Issue Template for new issues

We should standardize how users submit an issue similar to pycromanager https://github.com/micro-manager/pycro-manager/issues.  This allows for easier tracking of bugs and bug fixes

Note this needs to be done by an admin of the repo.

@mattersoflight I recommend following pycromanager's issue templates:
https://github.com/micro-manager/pycro-manager/tree/main/.github/ISSUE_TEMPLATE

@camFoltz  - thanks for the link. I've updated the issue templates and also included one template for documentation.


Documentation improvements

This is a placeholder issue for tracking planned improvements to documentation by @TiredFingers
Work to be done

[ ] Rename section “Development & Community” to “Contribute”
[ ] Rename “django CMS’s development community” to “Contributor Community”
[ ] Create new sub-section under parent "Contribute" called "How to contribute"
[ ] Move sub-sections "Contributing Code" "Contributing documentation" "Contributing translation" under "How to contribute"
[ ] Remove “Using django CMS” section entirely -> will be reused in a separate user documentation

Commits/PRs

add your commit or PR here

https://github.com/django-cms/django-cms/pull/6999

This PR was failing on the Tests, why was it merged? Failures should never be merged!

@NicolaiRidani something that needs to be done here? Was the failing test resolved?

I'm assuming the tests have been fixed, @NicolaiRidani, can we close this one now?

Looks like it has been handled, please feel free to reopen if needed.


Update the NotHotdog article with some new content and live demo

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sandbox/demos/nothotdog.md
:white_check_mark:Succeeded
View

sandbox/media/buttons/deploy.png
:white_check_mark:Succeeded
View

sandbox/media/buttons/deploy2.png
:white_check_mark:Succeeded
View

sandbox/media/buttons/source.png
:white_check_mark:Succeeded
View

sandbox/media/buttons/source2.png
:white_check_mark:Succeeded
View

sandbox/media/buttons/try.png
:white_check_mark:Succeeded
View

sandbox/media/buttons/try2.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


history.back() don't work after add this plugin

hi
thank you for your great plugin.
but I find something maybe a big problem for me maybe because of cordova-hot-code-push-plugin.
Installed platforms:
android 5.2.1
ios 4.2.0
cordova-hot-code-push-plugin 1.4.0 "Hot Code Push Plugin"
cordova-plugin-device 1.1.2 "Device"
cordova-plugin-whitelist 1.2.2 "Whitelist"
I have 3 pages in my app, A, B and C
A has a link to B, B has a link to C
B and C have history.back()
without cordova-hot-code-push-plugin those 3 pages work well,
but when I add cordova-hot-code-push-plugin, B can not back to A, but C can back to B.
if the page import the cordova.js , history.length =1;
when I remove cordova-hot-code-push-plugin everything works well.
could you tell me what was wrong?
thank you~

/**
 * Initialize default callback, received from the web side.
 *
 * @param callback callback to use for events broadcasting
 */
private void jsInit(CallbackContext callback) {
    jsDefaultCallback = callback;
    dispatchDefaultCallbackStoredResults();
    // Clear web history.
    // In some cases this is necessary, because on the launch we redirect user to the
    // external storage. And if he presses back button - browser will lead him back to
    // assets folder, which we don't want.
    handler.post(new Runnable() {
        @Override
        public void run() {
            webView.clearHistory();
        }
    });
    // fetch update when we are initialized
    if (chcpXmlConfig.isAutoDownloadIsAllowed() &&
            !UpdatesInstaller.isInstalling() && !UpdatesLoader.isExecuting()) {
        fetchUpdate();
    }
}

I find the code here, can you add some control , and do let me clear history by myself ?

Thanks )
As described in the comment to this code - it does clearHistory() in order to prevent user from returning back to the assets folder, when he presses back button.
When application starts - Cordova reads config.xml to get the index (starting) page of your application. By default, this page is loaded from the assets folder. But chcp plugin captures it and redirects webview to the index page on the external storage. In that case, if user will hit the back button - he will be returned to the index page from the assets. That's why clearHistory() method is called.
If you want - just clone the repo and comment out this part of the code. And then just install plugin via git url.


Add name attribute for the tenant table

What does this PR (Pull Request) do?

[ ] This PR fixes #REPLACE_ME OR is not related to any Issue

Which Traffic Control components are affected by this PR?

CDN in a Box
Documentation
Grove
Traffic Control Client
Traffic Monitor
Traffic Ops
Traffic Ops ORT
[x]  Traffic Portal
Traffic Router
Traffic Stats
Traffic Vault

What is the best way to verify this PR?

Go to Traffic Portal, in the tenant page, look for name tag
If this is a bug fix, what versions of Traffic Control are affected?

The following criteria are ALL met by this PR

[ ] This PR includes tests OR I have explained why tests are unnecessary
[ ] This PR includes documentation OR I have explained why documentation is unnecessary
[ ] This PR includes an update to CHANGELOG.md OR such an update is not necessary
[ ] This PR includes any and all required license headers
[ ] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
[ ] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Additional Information

Can one of the admins verify this patch?

Why is this necessary?
Is this related to an issue?
Does this PR include tests? If not, why not?
Does this PR  include documentation? If not, why not?
Does this PR make a changes to CHANGELOG.md, or is that unnecessary?
Does this PR include any and all required license headers?
Does this PR fix a major security vulnerability?


fix fix the unclear error code

Problem Summary:
If errors occur with the arrow SDK, they are being converted to the Status::InvalidArgument error in Doris. However, this is not clear. It would be more appropriate to use the Status::InternalError code instead.
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[x] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[x] Other reason

Behavior changed:

[x] No.
[ ] Yes.

Does this need documentation?

[x] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall


NUTCH-3084 Improve CI by filtering and separating plugin and core test executiion

PR for https://issues.apache.org/jira/browse/NUTCH-3084
This does fundamentally change how the tests are executed. By default, we now no longer run tests. We only run tests if changes have been made to

the core or core tests, or testresources, or
plugins

Thanks @sebastian-nagel


build: add -Xfrontend to -strict-implicit-module-context

When building with the early swift driver we need to add the explicit -Xfrontend to make the option take effect.

@swift-ci please smoke test

@swift-ci please smoke test Linux platform


TeslaMateAgile.PriceHelper Tibber fails

Hi Guys,
I'm getting some errors, is this an issue on my side or Tibber?
teslamateagile_1  | info: TeslaMateAgile.PriceHelper[0]
teslamateagile_1  |       Looking for finished charging processes with no cost set in the 'Home' geofence (id: 1)
teslamateagile_1  | info: TeslaMateAgile.PriceHelper[0]
teslamateagile_1  |       Calculating cost for charges 02/23/2024 08:26:26 UTC - 02/23/2024 08:31:02 UTC
teslamateagile_1  | fail: TeslaMateAgile.PriceHelper[0]
teslamateagile_1  |       Failed to calculate charging cost / energy for charging process 179
teslamateagile_1  |       System.Exception: Mismatch of requested price info from Tibber API (expected: 2, actual: 0)
teslamateagile_1  |          at TeslaMateAgile.Services.TibberService.GetPriceData(DateTimeOffset from, DateTimeOffset to) in /src/TeslaMateAgile/Services/TibberService.cs:line 105
teslamateagile_1  |          at TeslaMateAgile.PriceHelper.CalculateChargeCost(IEnumerable`1 charges) in /src/TeslaMateAgile/Helpers/PriceHelper.cs:line 96
teslamateagile_1  |          at TeslaMateAgile.PriceHelper.Update() in /src/TeslaMateAgile/Helpers/PriceHelper.cs:line 74

Hi there, this error means that Tibber's API returned no data for the query. I am unfortunately unable to test this myself because I don't have a valid Tibber access token anymore.
If you want to take this to Tibber's support and see what they say, this is the raw GraphQL request that would have been sent:
// POST https://api.tibber.com/v1-beta/gql
{
    "query": "\r\nquery PriceData($after: String, $first: Int) {\r\n    viewer {\r\n        homes {\r\n            currentSubscription {\r\n                priceInfo {\r\n                    range(resolution: HOURLY, after: $after, first: $first) {\r\n                        nodes {\r\n                            total\r\n                            startsAt\r\n                        }\r\n                    }\r\n                    current {\r\n                        total\r\n                        startsAt\r\n                        level\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n",
    "operationName": "PriceData",
    "variables": {
        "after": "MjAyNC0wMi0yM1QwNzoyNjoyNi4wMDAwMDAwKzAwOjAw",
        "first": 2
    }
}

This essentially means, starting at 2024-02-23T07:26:26 (UTC) get me the 2 next prices which should cover the full range of your charging session.
Hope this helps! I could have a look and see what I could find with your access token, but it is a very sensitive thing so you should not really give that out to anyone you don't completely trust.

Thanks! I'll check it.
Interesting thing, it's working a one Raspberry Pi4 but not on the Pi5 I'm currently setting up as a replacement for the Pi4. But it's most probably not related to the issue 😅

Pi 4/5 have the same architecture so should be no problem, make sure you're using the latest/same version on both in case it's working on an older version but not on a newer one. Please open a new issue about that one if you need any more help though so we don't clutter this one! 😄

Hi @Chimpepe, did you get a chance to check this out - how did it go?

Hey Matt, sorry for don't getting back to you on this. I don't know why but it works on the next day without any adjustments

Maybe a temporary API issue on Tibber's end then 🤷🏻
Thanks for letting me know, I'll close this issue off then 🙂


CSS styling. Need to add this in css.

.bs-deselect-all {
	overflow: hidden;
}

Can you explain why? What does it? Maybe you can add screenshots of the situation before and after adding it?

Hi,
When the deselect all button is used with custom text, the text is rendered outside the button.
Please check https://jsfiddle.net/bdgg58tv/1/
Maybe the same applies to other buttons too.
With overflow:hidden the text will be trimmed.
Hope I helped.
Regards,
Alex

With overflow:hidden the text will be trimmed.

Which doesn't seem a good behavior to me. Is this still an issue in latest version?


feat: publish artifacts by subdirectory

Description
To be able to set a subdirectory to publish the artifact to, while preserving files outside of the subdirectory.
Motivation
I'd like to create a "staging" environment for development branches or PRs to deploy the changes to.
By separating the deploys by branch name (per subdirectory), PRs can be deployed to a staging environment before published to the main branch directory.

Pages does not do incremental deployments today and does not plan to do it so your "staging" scenario will not work.
We have better plans for preview deployments but no ETA for that yet. github.community is a good place for feature requests.

@yoannchaudet What about publishing multiple versions of documentation? It's very common for a project to need to provide and deploy documentation for multiple branches at the same time.

Pages provides the primitives only for making (semi) atomic deployments. All the content must be provided at deployment time. Later deployments replace everything. We will eventually add support for ephemeral deployments too but we are not planning on supporting long lived deployments like you have in mind.
The build process can do incremental build if it wants but that's really agnostic of Pages.
For the scenario you describe there are a few solutions:

You could create one project site per major version of your documentation. Pages project sites are routed in a path based fashion and available at this URL: <user or org name>.github.io/<repo name>. While a user/org site is published at <user or org name>.github.io. Having to create individual repos to "snapshot" your documentation obviously comes with some drawbacks.

Have your site version aware. I know of this Jekyll plugin that does support it: https://vsoch.github.io/docsy-jekyll/docs/versioning.

The build process can do incremental build if it wants but that's really agnostic of Pages.

What do you mean by this?

I know of this Jekyll plugin that does support it

But how would you accomplish this with the current actions?
Is it possible to download the current deployment, add/update a directory for a specific version then re-upload it?

What do you mean by this?

You have full control over the build process if you use a custom workflow. If you want to cache some artifacts and re-use them from one build to another one, that's up to you. Pages does not need to know how you build your static assets anymore is what I meant.

Is it possible to download the current deployment, add/update a directory for a specific version then re-upload it?

You can do that if you want. There are APIs to download artifacts.
If you use the plugin I was referring to, the idea is for your repository to contain the documentation for all your versions at once on a given branch.
Another strategy if you use branches to snapshot your documentation, you can in your build process run as many builds as you need from all your branches and piece all the artifacts together into one large artifact to upload to Pages. Sphinx works like that (or used to if I recall), that's the static site generator used by the Python doc.

While it is possible to download artifacts, that assumes that the site is updated frequently enough to still have the artifact present (unless it has a needlessly long lifetime). Is it possible to download the current state of the deployment instead?
I'm trying to replace this action with a GitHub-provided action. Unfortunately this feature isn't being accepted, which is a major step back in my opinion. Right now I have two different repositories that I want deployed on the same site, and I need an index page. The only way to do this is to have a single deployment, as far as I can tell. Not having the ability to deploy each bit of the site separately is a major roadblock. I'd prefer not to have to use a third repository, which is the current situation.

That's precisely what I found when digging into it. It's more that I want to eliminate the needless repository, but am unable to do so despite having this action directly from GitHub. There's a few things that aren't supported, and I sincerely wish they were. A third-party script shouldn't be able to do more than an official one, in my opinion.

Respectfully, I disagree. We are home to a lot of open source projects and really don't aim at imposing vendor locks or solving all problems. We provide basic primitives for the most common usage that is being made of Pages. If a third party project is expanding on that, this is welcome.
To get back to your request:

To be able to set a subdirectory to publish the artifact to, while preserving files outside of the subdirectory.

This is unfortunately not something we support out of the box today or that I think we will implement soon.

Naturally not all problems will be solved. I just don't see how the primitives provided here permit this, which is the point I was trying to get across. If there were a way to pull the current deployment, that would probably suffice. Without that, I don't see how these primitives are enough. It's a reasonably common use case, not something that is extremely niche.
For what it's worth, the action I linked does not build on top of GitHub's action, but rather uses the older method that doesn't take advantage of direct deployment. Saying it's "expanding" on this action isn't really the case.

So you are trying to deploy two parts, each from a different repo, could you make a workflow in one that checks out the other repo, and builds both parts, and deploys everything at once?

By itself, yes, but then I still have to send it back to the third repo to publish it as the subdomain directly :smile:
For clarity's sake, I'm going to keep my current setup, as it's clear that this action isn't intended for a use case like mine. Take that as you will.


Sanity.external openliberty-mp-tck test fails on unreleased JDK versions like 22 and 23

Summary
openliberty-mp-tck cannot find a docker image manifest file for unreleased jdk versions.

JDK22: eclipse-temurin:22-jdk
JDK23: eclipse-temurin:23-jdk

Error message
00:27:48       [exec] The test in the build_image() function is openliberty-mp-tck
00:27:48       [exec] #####################################################
00:27:48       [exec] INFO: docker build  --no-cache -t adoptopenjdk-openliberty-mp-tck-test:22-jdk-ubuntu-hotspot-full -f /home/jenkins/workspace/Test_openjdk22_hs_sanity.external_x86-64_linux/jvmtest/external/openliberty-mp-tck/dockerfile/22/jdk/ubuntu/Dockerfile.hotspot.full /home/jenkins/workspace/Test_openjdk22_hs_sanity.external_x86-64_linux/jvmtest/external/
00:27:48       [exec] #####################################################
00:27:48       [exec] Sending build context to Docker daemon  71.68kB
00:27:48       [exec] Step 1/25 : ARG IMAGE=eclipse-temurin:22-jdk
00:27:48       [exec] Step 2/25 : ARG OS=ubuntu
00:27:48       [exec] Step 3/25 : ARG IMAGE_VERSION=nightly
00:27:48       [exec] Step 4/25 : ARG TAG=22-jdk
00:27:48       [exec] Step 5/25 : FROM $IMAGE
00:27:48       [exec] manifest for eclipse-temurin:22-jdk not found: manifest unknown: manifest unknown

Links
https://ci.adoptium.net/job/Test_openjdk22_hs_sanity.external_x86-64_linux/6/console
https://hub.docker.com/_/eclipse-temurin
Details
Looks like we don't make docker images for jdk22 and 23 yet. Will ask George if we need to create the relevant folders in the docker repo so we can start creating + uploading these images.

@gdams - Could you take a look at this, please?

We now only produce official Docker Temurin images for versions that are 'officially released' (GA builds).  As per https://www.java.com/releases/, since JDK22 will only have its first official release in March 2024, and JDK23 in Sept 2024, we should disable the external tests on those versions.
Note: I believe in the past (under AdoptOpenJDK) we were publishing containers of EA builds also (not just GA builds), but since that is no longer the case, exclusion is the right approach (given we have no un-official Docker images to pull.

auto exclude test openliberty_microprofile_tck ver=22+

Workflow triggered by the comment above failed with
  /usr/bin/git push --force-with-lease origin autoTestPR-ieq40se:refs/heads/autoTestPR-ieq40se
  remote: Permission to adoptium/aqa-tests.git denied to github-actions[bot].
  fatal: unable to access 'https://github.com/adoptium/aqa-tests/': The requested URL returned error: 403
  Error: The process '/usr/bin/git' failed with exit code 128

which may be caused by a config change to this repository (see https://github.com/actions/checkout/issues/417#issuecomment-1427951779).  Will need to check Otterdog settings to see if something changed (or if something needs to be changed).
Meantime, will need to create a manual PR to exclude this test target on 22+.

Created but then closed https://github.com/adoptium/aqa-tests/pull/5118, in favour of https://github.com/adoptium/ci-jenkins-pipelines/pull/953.

Thanks Shelley! Closing now.


Added Url Link to freeCodeCamp title

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

@saxenanickk Thanks, and congrats on your first merged pull request to this repo!


Window appears offscreen

If you use ScreenToGif on a second monitor, turn it off, disconnect the monitor and restart ScreenToGif then it will appear off screen. Unlike some offscreen programs, you can't use Alt+Space to get control of the Window. I can't find a way to get it to appear on screen again.

Do you know which window is outside the bounds? (Startup window, recorders or the editor)
Also, is worthy to check if the display is truly disconnected. (Sometimes, after unplugging the monitor from a PC, Windows keeps the secondary screen active)

It's the recorder window. No idea if it was "really" disconnected as far as
windows was concerned. Do you know what code handles opening/positioning
the Window on startup? I'd be willing to try for a PR if I knew where to
start.
On Wed, May 2, 2018, 10:50 PM Nicke Manarin<EMAIL_ADDRESS>wrote:

Do you know which window is outside the bounds? (Startup window, recorders
or the editor)
Also, is worthy to check if the display is truly disconnected. (Sometimes,
after unplugging the monitor from a PC, Windows keeps the secondary screen
active)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NickeManarin/ScreenToGif/issues/319#issuecomment-386179146,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZVUZT0GF34Ko2S1eR_dUiBVKONz26aks5tunB3gaJpZM4TvWiX
.

@jameskraus Which recorder are referring to? The new one or the old one (the one with a small interface or the one with a punctured rectangle)?
Because with the old one, you can press Alt + Space to control the window. See it (my OS has other lanaguage than English):

@NickeManarin it's the old one. That might be a good enough solution to this problem. I haven't run into the problem again, so I haven't prioritized looking into it more.

Oh, that's strange. I'm able to press Alt + Space select "Move" and use my arrow keys to move the window.
Anyway, with the next version of the app, the new code that positions the window will be available.

Hi there! There is a much shorter way to ensure that the recorder window is visible. May I do a PR with my version?

I'm going to close #354 (duplicate). Can we get a fix for this? I can't record a screen because I can't find my recorder.

@kayvanbree Yes. While the fix for this issue is not live yet, you could try deleting the settings file that is usually located inside %APPDATA%/ScreenToGif

@NickeManarin Still can't record fullscreen on my smaller screen (4k and 1080p monitor), but I can use the new UI again. Thanks!

@jameskraus @kayvanbree With the current version of the app, there`s some changes in the way that both of the recorders work.
Still, if a window keeps positioned outside the screen, you can right click the system tray icon of the app and open the troubleshooter to reset the its position.


Is it possible to create a post request sending JSON parameteres to an API REST in Wexflow?

Good evening, everyone.
I have some trouble trying to get a file from an API REST.
What I want to do is to create a post request sending JSON parameteres to an API REST. I don't know if this is possible in Wexflow.
Thank you.

@rocaseres Sorry this feature is not available yet. I will add it in the upcoming version.

@rocaseres
https://github.com/aelassas/Wexflow/wiki/RESTful-API
You can send JSON POST parameters to the variables of a task, it this a solution for you ?
/Cheers

@rocaseres  I have just released the v5.6. It is now possible to create a post request and send JSON payload to an API REST in Wexflow.


Fix url path concatenation

Fixes bug caused by modification of base url during loop iteration.

@thollingsheadesri - I'll review this and get it in probably tomorrow.  Thank you!

Thanks


Add urlencoded to ContentType

Objective
This change simply adds a urlencoded case to ContentType.
Risk
This is purely additive and will not have any impact on compatibility with pervious versions.

Thanks @jagreenwood !


Add content to the "Getting SI Running with MI in Five Minutes" quick…

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? Yes
Ran FindSecurityBugs plugin and verified report? Yes
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? Yes

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


update deps

Thanks for the comment. I believe we can also put minor versions. I just updated the podspec and podfile for my taste and ran tests and the example application for testing; both did not fail. Let me try if i can fix travis

Ok then let's put in the minor versions. That will ensure that projects that depend on this can seamlessly upgrade through all newer minor versions, but explicit action (=verification) is needed on major version number increments. This is how semver was intended, even if it hardly works out in practice 😅
I really appreciate you looking into Travis, that's awesome (not my favourite thing to do 😬).

@svdo Travis is happy now :) Thanks for this cool project

Thanks for your praise! :) I really appreciate how you're making this very easy for me by fixing even Travis, awesome!


Jedis connection pool was created twice and kept in JedisClusterInfoCache

In the low traffic period, all redis nodes' connection num should be the same
As there is minIdle configuration item in JedisPool, for a redis-cluster, all redis nodes' connection min num should be the same.
Several redis nodes' connection num was much higher than others.
In some env, several redis nodes' connection num was much higher than others.
Steps to reproduce:

using hostname:port instead of ip:port when constructing JedisCluster's HostAndPort object.
then you will find the configured redis host's connection num was doubled than others.

Redis / Jedis Configuration
default configuration.
Jedis version: 2.7.2
Redis version: 3.0.5
Java version: 1.7

Oh, it was duplicated with this issue: https://github.com/xetorthio/jedis/issues/1229
Close it.

：D


Input bar during first opening does not follow safeArea on iPhone X.

Please have a look

Hi @AntonPalich ! I  deleted everything from the setupInputContainerBottomConstraint function except self.inputContainerBottomConstraint.constant = self.bottomLayoutGuide.length  and it does not break UI if used with TabBar. Please comment on this.

@alexanderkhitev Consider applications that use tab-bar everywhere but chat. They want to hide it when chat is opened. Does this case still work after your changes?

@AntonPalich I will write to you in some time, as I will check. But the current code breaks the following script, the UITabBarController application has a rootViewController, when we go to ChatViewController and set the following value to hidesBottomBarWhenPushed = true, then we get the result which is in the screenshot above.

@AntonPalich it breaks even ChattoApp. Please have a look at https://monosnap.com/file/2f6jGpYNWsRvhXptRjqLyslGKy61DR

@AntonPalich I sent a new pull request, I did a manual test, everything works as in the demo project and in our project. You can watch the video.

How did you fix this?  In my app, I remove the TabBar, and the bottom of the Chat View, which was pushed, is still starting at the top of the TabBar, not the bottom of the safe area.  This is driving me crazy.


Add CPU_COUNT

Thanks for the PR! Looks like some CI is failing though?

I'm not sure why, but error message shows error: '__cpu_mask' undeclared in musl-libc.
I'll try to fix!

@kubo39 You still interested in driving this PR? I think the solution is to just not expose this on musl targets.

:umbrella: The latest upstream changes (presumably #742) made this pull request unmergeable. Please resolve the merge conflicts.

I'm going to close this due to inactivity, but feel free to resubmit with fixed tests!


Fixed Background from discarding passed Children

Closes just issue #2.

Closing in favor of https://github.com/sircfenner/StudioComponents/pull/4