fix: adds support for nested groups

WIP. Will need to re-write the parser to work better with nested groups without nesting the types to its limits

Can we merge this after review please? This is a very good addition .. This also closes both the issues as they seem to relate to what the author of this PR fixed.

@codeit-ninja  Unfortunately, this hits the limit of what typescript can handle in terms of nested types. Will need to look into flattening some of the structures there but it's a little complicated to get right.

@phenax It seems to work correctly in my project, I dont hit any limitations?
It correctly shows optional groups, in the picture index is marked as optional, in the typed result I correctly see index as string | undefined.

@codeit-ninja it works for some expressions but there are a lot of cases where it ts errors out

@phenax Thats odd, I dont get this warning/error


Shape morph extention idea

The extention would let you use your vector costumes to morph shapes and even color, a block will let you choose vector costume 1 to morph to vector costume 2, this would been useful for creating some nice visual effects and doesn't use too much costumes.
Here's a video showing what shape morphing is
https://www.youtube.com/watch?v=LgpeLoDLHfs
adobe flash has shape morphing and I think it would been cool to have it on turbowarp since it can save time on animating sprites,

This sounds pretty cool! Do you know any JavaScript? That would help you code the features into the extension! (If you don't know how extensions work, there's a great tutorial here. I'd consider reading through everything before getting started and creating test extensions of your own.)

On Sat, 30 Nov 2024 at 22:24, Scratch_Fakemon @.***>
wrote:

This sounds pretty cool! Do you know any JavaScript? That would help you
code the features into the extension! (If you don't know how extensions
work, there's a great tutorial here
https://docs.turbowarp.org/development/extensions/introduction. I'd
consider reading through everything before getting started and creating
test extensions of your own.)
—
Reply to this email directly, view it on GitHub
https://github.com/TurboWarp/extensions/issues/1766#issuecomment-2509389961,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BEKYQUJPGERVVL4I4JXDVQ32DIUHHAVCNFSM6AAAAABSVMXNTCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBZGM4DSOJWGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Unfortunately I don’t know any JavaScript, this post was more of an idea
suggestion, however I hope someone sees my post and starts making one

I know a little JavaScript, but not enough to do this. Sorry! I hope someone can make your idea :)


Add python3 counterpart of colorama

@mingwandroid
Would you consider to use the split python{,2}-colorama PKGBUILD I maintain in Arch Linux [community]?
BTW: There is a 0.3.3 bump :)

I'll take a look at it but I'm very busy with work for the next few weeks so may not get a chance until after that.

Thanks! Not in a hurry :)


Issue: previous message condensing time on ConversationalRetrievalChain

Issue you'd like to raise.
I got a scenario where I'm using the ConversationalRetrievalChain with chat history. The problem is, it was streaming the condensed output of the question. Not the actual answer. So I separated the models, one for condensing the question and one for answering with streaming. But as I suspected, the condensing chain is eating up a time to generate the condensed output of the question, and the actual streaming of the answer is waiting for the condensed question generator.
some of my implementations:
callback = AsyncIteratorCallbackHandler()

q_generator_llm = ChatOpenAI(
    openai_api_key=settings.openai_api_key,
)

streaming_llm = ChatOpenAI(
    openai_api_key=settings.openai_api_key,
    streaming=True,
    callbacks=[callback],
)

question_generator = LLMChain(llm=q_generator_llm, prompt=CONDENSE_QUESTION_PROMPT)
doc_chain = load_qa_chain(llm=streaming_llm, chain_type="stuff", prompt=prompt)

qa_chain = ConversationalRetrievalChain(
    retriever=collection_store.as_retriever(search_kwargs={"k": 3}),
    combine_docs_chain=doc_chain,
    question_generator=question_generator,
    return_source_documents=True,
)

history = []

task = asyncio.create_task(
    qa_chain.acall({
        "question": q,
        "chat_history": history
    }),
)

Any workaround on how I avoid condensing the question to save time? Or any efficient way to resolve the issue?
Suggestion:
No response

Hi @Rijoanul-Shanto....I am also facing the same issue. Did you find any workaround?

Hi @Rijoanul-Shanto....I am also facing the same issue. Did you find any workaround?

Hey @PNBnag007! I didn't have a chance to continue work on this as I got involved in some other tasks :) But here is a discussion with @ninely that might help you a bit: https://gist.github.com/ninely/88485b2e265d852d3feb8bd115065b1a?permalink_comment_id=4586216#gistcomment-4586216
It seems this chain work in that way so we might need to try some other chain or another way.


Crash on monitor disconnection

Issue is similar to closed issue #1158, the bar on my laptop (framework 13 AMD) crashes when a monitor is removed.
$ waybar -l trace
[2024-01-15 20:34:12.299] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/config
[2024-01-15 20:34:12.299] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/config.jsonc
[2024-01-15 20:34:12.299] [debug] Try expanding: $HOME/.config/waybar/config
[2024-01-15 20:34:12.299] [debug] Found config file: $HOME/.config/waybar/config
[2024-01-15 20:34:12.299] [info] Using configuration file /home/sparrows/.config/waybar/config
...
[2024-01-15 20:34:12.639] [info] Bar configured (width: 1920, height: 39) for output: DP-3
[2024-01-15 20:34:16.207] [debug] Output removed: VIZIO, Inc E500i-B1
[2024-01-15 20:34:16.220] [info] Bar removed from output: DP-3
fish: Job 1, 'waybar -l trace' terminated by signal SIGSEGV (Address boundary error)

I'm using waybar version 0.9.24 on swayfx.

Hey, mentioned you on the other issue, #2808. Could you please answer there?
@Alexays could we close this as a duplicate and keep the conversation about this there?


Fix test flakiness in PlayerEventSender

This PR introduces the concept of an AsyncScheduler protocol to control async tasks inside PlayerEventSender in tests.
It also modifies the tests in EventsTests and PlayerEventSenderTests to remove optimizedWait and use this new scheduler, when possible. (tests that use the shouldSendEventsInDeinit flag can't be controlled like this because what is flaky is the autorelease pool)
PlayereventSenderTests also had tests duplicated to test both using deinit and not using deinit, which is not needed because that code path is not touched by those tests.

Stellar work Alberto, this is amazing!


Azure-Core type complete

Type complete

But not mypy clean yet :p

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-core


golang: add errcheck maker

Add errcheck maker with kisielk/errcheck.
This feature is depends on fatih/vim-go for now. Which is better depending on vim-go or copying vim-go's functions?

Which is better depending on vim-go or copying vim-go's functions?

Not sure.  If it's expected/recommended to have the other plugin anyway, I'd depend on it.
But it certainly needs some check to see if the function is available - and could then also fall back to a copied version of the function?!

@blueyed Only 3 functions are needed, so I copied those functions.

👍

Followed up in https://github.com/neomake/neomake/pull/952-

@higebu
Merged through #952.
Thanks!


feat(components): Add some tooltip options to existing components

Requirements
Title of the Pull Requests
Add some tooltip options to existing components
Description of the Change
Add some tooltip options to following components:

oui-switch
oui-calendar
oui-timepicker
oui-inline-adder
oui-numeric

Benefits
Add a tooltip action to components that have button or where there is something to click
Possible Drawbacks
Might be overkill in some cases, to be used with moderation.
Applicable Issues
MANAGER-13561

CDS Report yarn-build#2878.0 ✘

build & test

build ✔
test ✘


feat(trace): add support for events recorder delegate.

As discussed, no need for this recorder delegate, we can extract the events from trace directly.


Support coersions from Nat to ordered semirings in linarith

feat: Assume natural numbers are nonnegative when cast to any ordered semiring inside linarith
Previously this would only work when casting to an integer.

Fixes #7031 (although one of those examples still does not actually work for other reasons).
This is the kind of thing that works now that didn't before:
import Mathlib.Data.Real.Basic
import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
open Real

example (n : Nat) : (-3/5 : ℚ) < n := by linarith
example (n : Nat) : (-3/5 : ℝ) < n := by linarith
example (n : Nat) : 0 ≤ n * π := by nlinarith [two_le_pi]

I'm a bit concerned about performance, since this tactic will now look for an OrderedSemiring instance for any coersion from Nat that's in the local context. I imagine this could be slow when no such instance exists?
My initial approach was to only look for casts to Rat or Real, but I don't think I can explicit mention Real without creating a cyclic dependency.

please add some tests to test/linarith.lean
I will try and do a proper review later so I just added some minor comments for now.
But this looks like a nice addition to me.

!bench

!bench

Thanks again!
bors merge

bors merge


EXT: Incorrect configuration displays a button that doesn't work

Description
When the extension configuration is incorrect I get information and a not-working Go back button.

Expected result
Clicking on the Go back button should redirect me to e.g. list view of the customized resources.

Actual result
Clicking on the Go back button does nothing.

Steps to reproduce
My configuration of the Vertical Pod Autoscaler:
The details configuration is the cause of an error.
Resource
{
  "kind": "VerticalPodAutoscalers",
  "group": "autoscaling.k8s.io",
  "version": "v1"
}

Navigation
{
  "path": "vertical-pod-autoscalers",
  "scope": "namespace"
}

Details
{
"header": [
{ "path": "spec.updatePolicy.updateMode" , "name": "Update Mode"}
],
"body":[
    {
      "name": "Container Policies",
      "path": "spec.resourcePolicy.containerPolicies",
      "widget": "Table",
      "columns": [{ "path": "containerName" }, { "path": "controlledValues" }]
    }
]
}

For now, we have decided not to display a Button.


Master ptx build broken due to "package collision"

This isn't ready to be merged, but rather a way to allow for a discussion of what's going wrong here.
Note that this problem doesn't appear downstream, which is why we didn't see it earlier.

Let’s discuss this during our weekly tomorrow, just so I can see where the problem is. (But, I’m 100% fine with renaming the ptx crates if needed. That sounds cleaner anyway.)


Update 1584-Min-Cost-to-Connect-All-Points.java (Shorter, more readable and followed neetcode's approach)

File(s) Modified: 1-Two-Sum.py, 2-Add-Two-Numbers.py, etc...
Language(s) Used: python, javascript, etc...
Submission URL: _https://leetcode.com/submissions/detail/xxxxxxxxx/_

Thanks, @nguyencongkhai1407!


Add pre_schedule as an optional parameter to the meeting_create action

Per https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/meetingCreate one can add the pre_schedule: true parameter.
Currently we're using v1.1.8 of the app. Ideally we'd love to see this go into v1.1.9.
From the docs:

Whether to create a prescheduled meeting via the GSuite app. This only supports the meeting type value of 2 (scheduled meetings) and 3 (recurring meetings with no fixed time).
true - Create a prescheduled meeting.
false - Create a regular meeting.Default: false

Is there a reason this was omitted other than it's not commonly used?
Thanks!

👍

@kfitzpatrick I honestly don't know why this was omitted. Thanks for the catch! I'll get a new version published soon.

I think it's a fairly recent feature

Thanks @kyleboe !


SessionID cookie implementation, and expose the rooms?

Added a simple method to get all the rooms for a single namespace.
Added the ability to use the "io" cookie for the sessionId if it is present.
If there is an existing way to "list all rooms" for a given namespace, I didn't see it.  Basically I want to be able to do the following.

List all the namespaces.
List all the clients for a given namespace.
List all the rooms for a given namespace.
List all the clients in each room.

All seem in reach with the current code except the third one.  The code written seems to expose that without too much trouble.  Thoughts?

Thanks for so useful session restore method!


Convert-PfxToPem fails with invalid provider type

When I use the Convert-PfxToPem cmdlet, it fails with an error.
Command:
$pwd = ConvertTo-SecureString -string "AAAAA" -AsPlainText -Force
Convert-PfxToPem -InputFile c:\test.pfx  -OutputFile c:\test.pem -Password $pwd

Output:
Invalid provider type specified
... pspki\<IP_ADDRESS>\Client\Convert-PfxToPem.ps1:141 char:3

This is on PowerShell 5.1 on Windows Server 2019.
Any idea why this is failing?

Sounds like the key was loaded into key storage provider. KSP is not yet supported, because the code wasn't updated in a while. As workaround, you can modify Convert-PfxToPem.ps1 file as follows:
Replace line: https://github.com/PKISolutions/PSPKI/blob/c2d95a9af413bce8d71b14ac701bfc0448e9e027/PSPKI/Client/Convert-PfxToPem.ps1#L130
with this content:
$CRYPT_ACQUIRE_SILENT_FLAG = 0x40 -bor 0x00010000

and check if it works. Keep in mind that this change will break the signature on PS1  file.

Thank you for the quick answer. Now the code gets a bit further, but still fails:
The parameter is incorrect
... pspki\<IP_ADDRESS>\Client\Convert-PfxToPem.ps1:147 char:3

This confirms that the key is stored in KSP, not CSP. A bit more work is necessary for complete KSP support. I'll put this on my work list. I can provide you a temporary fix later.

Oh, it would be great if you could provide a temporary fix. I'd really appreciate that!

Things appear to be more complicated.
For some reasons (I have no idea why), X509Certificate2 with "Exportable" flag doesn't enable private key plain text export for CNG keys. The call to NCryptSetProperty can't modify export policy, because it is read-only. I will need more research to find an ability to import the PFX with enabled NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG flag.

Did you happen to get any further with this? I saw this post, which might help in the issue: https://stackoverflow.com/questions/54483371/cannot-export-rsa-private-key-parameters-the-requested-operation-is-not-support/54525572#54525572
It seems to be that Microsoft changed the .net functionality when importing certificates, which doesn't enable the exporting of plain text private keys. When importing the certificate on Windows, it automatically uses this new certificate type RSACngKey instead of RSACryptoServiceProvider. Maybe this can help in resolving this issue?
It would be great if this could be fixed, as we are facing the export error issue as well and would like to be able do it through powershell, rather than somehow manually exporting it to pem, because that does seem to work (I still don't know why).

Did you happen to get any further with this?

nope. I was able to manage some p/invoke stuff, but yet it still doesn't work as expected.

Maybe this can help in resolving this issue?

again, no. Using legacy providers is discouraged and they don't support EC algorithms.


LTN Manager button grayed out

Describe the Bug
Hi, i have a new install of Factorio and tried loading my save from another computer. Something about translating flashed up on initial load and the LTN button is disabled.

All my mods are up to date and work on the other machine:

To Reproduce
Steps to reproduce the behavior:

Load save
LTN Manager button is disabled

Save file & Username
https://sprend.com/download?C=e5b8cd169eda4ed2b89bbea28cad5f73
Log file
factorio-current.log

Tried clearing my %AppData%\Factorio folder and reinstalling the mod, same issue. Factorio 1.1.100 (61920, win64)

Downgrading to 0.4.17 works. Havent tried any versions inbetween.

Nevermind, the button came alive after a minute or so...

Yea, for the technical reason this happens is that its disabled why the dictionary is translating.  This is something flib does, and honestly not something I know that much about except that.


Add styling to toast messages.

Aaron vs Toast
Description
Add toast message support.
Creating toasts via Java
To display a toastMessage server-side, just attach a ToastMessage anywhere in the DOM.
ToastMessage.alert("This is my toast message.").setId("toast-id").getContainerTag();

creates the following div:
<div class="hidden cf-toast-data" id="toast-id"
    canDismiss="true" canIgnore="false" toastDuration="3000" toastType="alert">
    This is my toast message.
</div>

When the page loads, the div will be turned into a rendered HTML message via javascript.
Creating toasts via JS
Toast messages can also be created client-side via javascript...
let newMessage = {
    id: "toast-id",
    canDismiss: true,
    canIgnore: false,
    content: "This is my toast message.",
    duration: 3000,
    type: "alert"
};
toastController.showToastMessage(newMessage);

TODOs

Specify alert types when passing them to the views.

My guess for the browser test failure is due to a timing issue. Giving a more specific selector (instead of just html) might fix it.


Add h3 to dropdown and add tests for h4 and h5

This PR introduces

one new menu item to the toolbar (H3)
Adds h4 and h5 in markdown spec
Adds separate classes in case if want to use it for overriding style
Changes block name from large heading to heading 1, small heading to heading 2

This seems fine to me - thanks!


:boom: Add better type definitions for promises

Here are the changes that I made.

Simplified the type definitions of PromiseConstructor and PromiseConstructorLike.
Provided better type definitions for Promise#then, Promise#catch, and Promise#finally. Playground Link.
Removed PromiseLike<T> from the union T | PromiseLike<T> when the result is awaited, i.e. for allSettled and any.
Changed the type of reason of PromiseRejectedResult from any to unknown for better type safety.
Removed unmodified properties of Body.

Haven't written test cases for these changes yet. Will add tests later when I get the time to do so.

Sorry there is a conflict after I pushed a commit that upgrades TS to 5.0 to master. :sob: These should be fixed by rerunning npm run build:diff.

Sorry there is a conflict after I pushed a commit that upgrades TS to 5.0 to master. sob These should be fixed by rerunning npm run build:diff.

Rebased my changes.

@uhyo Added the tests. The PR is now ready for review.


Cpu core count retrieval and StringUtil date printing capability is missing at utility class

Core count retrieval and StringUtil class are added to Utilities.

Test FAILed.

Test FAILed.

Test FAILed.

Test PASSed.

Test PASSed.

Test PASSed.


install rabbitmq missing from the setup task

invoke setup doesn't install rabbitmq via brew

@sloria The above for 'OSF Setup'


HHH-18241 (was HHH-17804) roll back change to semantics of 'null in ()'

It turns out that SQL databases (IMO wrongly) treat the expression null in (select 1 where false) as false instead of null. And as of JPA 3.2, we're free to interpret null in () consistently with that, which we should do.
So my change made things worse rather than better.
Relevant sections of JPA 3.2 spec are 4.6.5 and 3.11.8.

https://hibernate.atlassian.net/browse/HHH-17804

New issue HHH-18241.


Add an option to "hide" or not download when "upgrade --all" is run.

Description of the new feature / enhancement
Sometimes when we purchased a license or something like that, the license only works for a particular version. And if we update we loose the license, so a way to "upgrade --all" but not including some apps will be great
Proposed technical implementation details
Create a "not show" in the upgrade list, may be to hide any program we dont want to upgrade, so we can add it into a list, and not shown and download when "winget upgrade --all" is run.
Thank you!

Use winget pin add <ID> to exclude a package from winget upgrade --all
https://learn.microsoft.com/en-us/windows/package-manager/winget/pinning


[FS] Remove unused code

This isn't used anywhere. Could serve as a useful reference in the future but prefer not to have it there for now.

Such a pity, I was proud of it at the time :-p

Ha sorry @zeptin , it's nothing to do with the code, I'm sure it's great! It's just not being consumed anywhere :)


Update extensions.xml

Version 0.1.1 supporting latest editor and latest libGDX released

Oh 1.6.5 is up, forgot that. Well, I'll make it compatible and re-push. stand by :)

I think it should be compatible with 1.6.5 because nothing almost changed from previous version. but it says in it's dependencies 1.6.4. Will this work ?

yep, checked it works fine with 1.6.5. But it says in it's gradle dependency 1.6.4 and I can't change that without building new version to maven. So this should do right?

Should I put 1.6.5. here in the extension config?

If there are no API breaking changes for you, go ahead.

Done.

I checked, all works, no API changes that can affect anything

Can you squash the commits please?

I can, but in this particular case it's so much easier to do new PR if thats ok?


make the port webhook is listening on configurable

usecase: in GKE private clusters, by default masters are allowed to talk to the cluster nodes only on 443 and 10250.
so configuring secure_port: 443, will work out of the box without needing to add fw rules

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] DCO signed
[ ] Chart Version bumped
[ ] Variables are documented in the README.md
[ ] Title of the PR starts with chart name (e.g. [stable/chart])

Hi guys, any update on this?

@nrobert13 Please see the failing checks.

/assign

@nrobert13 ping? ptal?

This version of the chart is deprecated. Please could you submit these changes to the upstream jetstack/cert-manager repo so we can get it merged? 😀
/close


Auto-update not working on Mac

On Mac Mojave 10.14.5 the auto-update of Nikola is not working right. It does tell me that there is a new update and that it wants to install a "Helper", I authorize it to do so, but it never does and keeps prompting me to update.
If I do the update manually, then it is quiet until the next update is ready.
I don't know what the reason is, but it is quite annoying...
Nevertheless: great APP!

Do you know what version transition this happened? What version you were in and which one you updated for? Did you download the DMG version or the Zip version?
I'm also on this very same mac version and it worked seamlessly for me. I recently changed for a simple notification when a new version is downloaded to an alert (more common and more effective).

If you are willing to help troubleshoot, can you do the following:

Download the 0.3.4 version here, the dmg version, and place it in the application folder replacing whichever version you have.
Instead of open the app directly, open it from terminal (so we can see the logs). To do so, navigate to Applications/Nikola/Content/Macos and the run ./Nikola. The app should open and details will be seen in the terminal.
Send me the logs and see if the update prompt works this time.

Thanks in advance!

Closing for lack of activity, if issue still persist, please reopen this.


Ensure newline at end of file

Many editors have an option to ensure that the file ends with a newline. This tends to make nicer VCS diffs if you add to the end of the file, and some linting tools will also complain if the file doesn't end in a newline. It would be good to have this option in Spyder too.
Apologies if I've missed either the option or an existing issue for this - I have tried to look for both.

Thanks for the suggestion Thomas. I've marked for 3.1 because we still have a lot to do for 3.0 :-)

Is the idea here to have an option that will check if the file ends in a new line and if not, add it on save?

Yes. that's the idea.

This exists and can be set in the options:

Editor->Source Code->Insert a newline at the end if one does not exist when saving a file

This issue can be closed.

Right, that's been available since Spyder 4.2.0, I think. Closing then.


use flexible numpy version in pyproject.toml

the only version number that matters for ABI interface purposes is the first minor version number. Therefore, use flexible versions here to allow pip to select a newer version of numpy if it so wishes. This speeds up the install time on linux for python 3.9 because a pre-built numpy wheel for 1.19.0 does not exist at that python version, but 1.19.5 does exist.

 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.Naphat Sanguansin seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

(just signed the CLA)

Thanks!


add resource file to the nuspec

https://docs.nuget.org/create/creating-localized-packages

Oh right ! I had to include it with your last pull request :cry:
Thank you @marinkobabic !

@marinkobabic , do you need me to publish a new nuget release with your changes ?

@Liryna No its ok for the moment. Thanks :smiley:


Crash on ePub3 lib - missing ahthors

The ePub3 lib caches if I tried to open a book with sample application and the book does not have authors

First of all, crashing is not good. The ReadiumSDK C++ library includes a "error handler" API, and each native launcher app (iOS, OSX, Android) contains the necessary plumbing to notify EPUB parsing problems via the GUI (e.g. popup dialog).
So, assuming that by "authors" you mean dc:creator, dc:contributor or dc:publisher, then this metadata is optional so your EPUB should be valid.
http://www.idpf.org/epub/301/spec/epub-publications.html#sec-opf-dcmes-optional
By the way, is your ebook EPUB2 or EPUB3?
Are you able / allowed to share the ebook so we can run some tests at our end?
Thanks!

Hello,
When I try to open this book (http://www.imeon-soft.com/Users_Guide.epub) with SDKLauncher-Android, the fatal error occurs and Android kills the application. Here, I copy the output from LogCat
10-02 14:41:22.838: A/libc(13479): !@Fatal signal 11, thread 13479
10-02 14:41:22.838: A/libc(13479): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 13479 (ndroid.launcher)
This book has been created with old version of calibre. I have tried to create a new book with missing author('s) filed but the latest version of calibre manages this field properly and SDKLauncher does not crashes.
How can I use "error handler" API to avoid such crashes? Is there any example snipped in the SDKLauncher-Android

@nikolay-atanasov
Hello,
I get your epub file example.
First your epub is not epubcheck, tags "dc:title" and "dc:language" are missing.
But you are right Readium should not crash.
@danielweck
Hello,
Readium seems to crash when it calls method "EPub3.openBook", this method calls jni method in file "readium-sdk/Platform/Android/jni/epub3.cpp", and the method seems to crash at line 455.
But we have some warnings before crash, due to missing tags in metadata of ePub file, it seems to come from the method "LauncherErrorHandler" line 222 of the same file.
If we replace line 235 => return (bool)b; in "LauncherErrorHandler" method
by =>  return !isSevereEpubError;
Readium don't crash, and in "SDKLauncher-Android" we see alert dialog created in "popSdkErrorHandlerMessage" method in file "ContainerList.java" when we open the book.

@TienHai thank you for your investigation. Any EPUB3 parsing error (including the ones marked as "severe" in the Readium SDK) should be processed by the error handler, giving the user some feedback, and providing an option to ignoring errors or cancelling the ebook loading process. We will look into this. Crashing behaviour is ; without any doubt ; a bug.
However, please bear in mind that at this stage, the "application launchers" are barebones pieces of software that are not production-ready, they are not designed for a polished user experience. They demonstrate how to integrate the Readium SDK at its most basic level. So please do not expect a completely smooth, off-the-shelf commercial-grade product. Feel free to propose improvements too (pull requests are welcome).

Marking critical both because of the crash and because we are weak in general with respect to handling "bad" content.

Related issue: https://github.com/readium/SDKLauncher-Android/issues/137


New canvas_axis=True parameter, when making a screenshot.

🚀 Feature

screenshot should have a parameter canvas_axis=True
Right now, when making a screenshot with canvas_only=True, it automatically adds an axis to the plot.
Sometimes, that could not be wanted, therefore this new parameter.
Motivation
Right now, the screenshot function has the following signature:
def screenshot(self, path=None, *, canvas_only=True, flash: bool = True):
it could get changed to:
def screenshot(self, path=None, *, canvas_only=True, canvas_axis: bool=True, flash: bool = True):

Additional context

Interstingly, when having:
img = viewer.screenshot(canvas_only=True, path= "hello1.png")
plt.rcParams['figure.dpi'] = 150
plt.imshow(img)
plt.savefig('hello2.png')

the file hello1.png will not have the axis, the file hello2.png will have the axis

Right now, when making a screenshot with canvas_only=True, it automatically adds an axis to the plot.

Hi @kolibril13, that axis is getting added by matplotlib (not napari) when you use plt.imshow().  (this is why when you provide path to screenshot, you don't see it, because it's saving the (axis-free) screenshot to disk without going through matplotlib.
If you'd like to use plt.imshow() to show an image without axes, see this tip: https://stackoverflow.com/questions/9295026/matplotlib-plots-removing-axis-legends-and-white-spaces

Thanks a lot, that was an error in thinking from my side.
Really appreciate that you took the time to link me to this side :)


✨多级路由支持

增加默认父级layout,以便支持多级路由。同时增加多级路由配置示例
#250

Types of changes

[x] New feature
[ ] Bug fix
[ ] Documentation change
[ ] Coding style change
[ ] Refactoring
[ ] Performance improvement
[ ] Test cases
[ ] Continuous integration
[ ] Typescript definition change
[ ] Breaking change

Background and context

Solution

How is the change tested?

Changelog

Changelog(CN)
Changelog(EN)
Related issues

增加默认父级layout:default-parent-layout以便支持多级路由
add  default-parent-layout
#250

增加多级路由实例
add mutil router eg.
#250

Checklist:

[ ] Provide changelog for relevant changes (e.g. bug fixes and new features) if applicable.
[ ] Changes are submitted to the appropriate branch (e.g. features should be submitted to feature branch and others should be submitted to master branch)

Other information

@zxiaozhou hihi 感谢PR呀。多级路由功能应该是使用方在vue-router的基础上进行的业务实现，而不是Pro本身缺乏的功能。所以这个Pr我先关闭了哈。同时记得Commit的message遵循一下规范哈。期待下一个Pr。3q


Add Continue client

Adds Continue (https://continue.dev) to the clients page
Motivation and Context
Continue recently added support for MCP. This updates the clients page to reflect that
How Has This Been Tested?
Tested the docs with mintlify dev
Breaking Changes
N/A
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Documentation update

Checklist

[x] I have read the MCP Documentation
[x] My code follows the repository's style guidelines
[x] New and existing tests pass locally
[x] I have added appropriate error handling
[x] I have added or updated documentation as needed

Additional context

Totally fair, "no superlatives" seems like a good principle, appreciate you taking a look! Just accepted the change


Support raw values from serde_json

The motivation here is the same as the one for raw_value in serde_json:
https://docs.rs/serde_json/latest/serde_json/value/struct.RawValue.html
Namely, in case of large payloads that do not have to be processed but just forwarded further, it becomes very CPU and memory intensive to have them parsed into ConstValue and then serialized back to JSON. Please see the test for an illustration.

thanks 🙂


⚠ Bofrost.be has degraded performance

In ae2790a, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 903 ms

Resolved: Bofrost.be performance has improved in b358292.


Error Initialise SDK via fromSigner / fromPrivateKey: "Must call super constructor"

I am getting a reference error when initialising the ThirdwebSDK - "Must call super constructor in derived class before accessing 'this' or returning from derived constructor". This only happen on my deployed site but it the same code I have using works fine on my localhost.
Not sure if anyone getting the same error and know how to troubleshoot this?
References:

I had allowed all domains
No bundle IDs configured

My code looks something like this - which I had tried both fromPrivateKey and fromSigner and they both doesn't even initialise on deployed site. I get the reference error "Must call super constructor in derived class before accessing 'this' or returning from derived constructor" before console logging 'sdk successfully launched'.

onChange={async () => {
            const signer = provider?.getSigner();
            let rolesSet = false;
            if (signer && account === '0x123') {
              if (chainId === item.chainID) {
                try {
                  // const sdk = ThirdwebSDK.fromSigner(signer, '', {
                  //   clientId: 'xxx',
                  // });
                  const sdk = new ThirdwebSDK.fromPrivateKey(
                    'xxx',
                    '',
                    { clientId: 'xxx' },
                  );
                  console.log('sdk successfully launched');
                  const contract = await sdk.getContract(item.contractAddress);
                  console.log('successfully getContract');
                  if (!rolesSet) {
                    await contract.roles.setAll({
                      admin: ['0x123'],
                      minter: ['0x123']
                    });
                    rolesSet = true;
                    console.log('successfully setAll');
                  }
                  await request(api.collection, { method: 'PUT', data: { ...item, setAll: !val } });
                } catch (error) {
                  alert(error);
                }
                actionRef.current?.reload();
              } else {
                alert('Please switch to the network of the collection');
              }
            } else {
              alert('Only admin is allowed');
            }
          }}

@regina-c thanks for opening this issue.
I noticed you do new ThirdwebSDK.fromPrivateKey( in your code, but please note that fromPrivateKey is a static method so no need to add new in that call. Please, just do:
ThirdwebSDK.fromPrivateKey or ThirdwebSDK.fromSigner

@regina-c thanks for opening this issue.
I noticed you do new ThirdwebSDK.fromPrivateKey( in your code, but please note that fromPrivateKey is a static method so no need to add new in that call. Please, just do:
ThirdwebSDK.fromPrivateKey or ThirdwebSDK.fromSigner

I had tried without new in the call and it the same error still occurred.

@regina-c I just tried running:
const sdk = ThirdwebSDK.fromPrivateKey(
        'my-private-key',
        'ethereum',
      );
const address = await sdk.wallet.getAddress();
console.log('address', address);

and it worked for me. Could you confirm the version of the sdk you're using?


text similarity

Hi can I use this system to obtain the similaarity scores of my data set to a given prompts.
If not what best solution could help this problem?
thank you

I am not an author of this library. However, I would share my thoughts.
This library is to fine-tune models (i.e. train models), which can then later used to obtain similarity scores. If you only have a data set and given prompts, then have a look at sentence-transformers library. Use one of the pre-trained models directly. Calculate embeddings of your text data and prompts, then you will be able to calculate similarity between embeddings (e.g. cosine similarity).

Hi Fralik,
thank you for your responce.
I do want to better the model for my usecase in my language
I do have data matching specific categories enough data to train for each category.
But at the end I will only need to specify similarity scores of any user's prompt to all my data categories
So I understand that I can finetune some multilingual model for example 'paraphrase-multilingual-MiniLM-L12-v2'
for my data categories with setfeat
and then use the sentence-transformers library
for the similarity. am I right?
Thank you

Yes, sounds right to me. In SetFit's readme file you are presented with multiple ways of fine-tuning. I think that you need to train using SetFitHead. This is an example where they show that body is fine-tuned with the head. Once you are done with fine-tuning, you can throw away the head and only use the underlying body to get embeddings.

thank you! I will work on that

Hi fralik, thank you for your response. So my use case is to only get the similarity of sentences without labels. what I have is very large datasets of similar and non similar pairs of sentences. So how I should construct this dataset to input to the setfit trainer?
thank you.

@divastar Hello,
I want to briefly elaborate on this issue. SetFit consists of two parts:

A Sentence Transformer body
A classification head

The ST body produces embeddings for sample sentences, and then the classification head chooses a corresponding label. If you don't have labels that you care about, then you won't care much about the classification head. What you really want, is to train a sentence transformer. This can be done via SetFit, but it would be very hacky. My recommended way is to follow the documentation for training a sentence transformer: https://sbert.net/docs/training/overview.html
This documentation shows that you may create training examples like so:
from sentence_transformers import SentenceTransformer, InputExample
from torch.utils.data import DataLoader

train_examples = [
    InputExample(texts=['My first sentence', 'My second sentence'], label=0.8),
    InputExample(texts=['Another pair', 'Unrelated sentence'], label=0.3)
]
train_dataloader = DataLoader(train_examples, shuffle=True, batch_size=16)

The train_examples is a list of InputExample instances, which contain pairs of sentences. The label is then a float between 0.0 and 1.0 indicating the similarity of the two sentences. So, for your dataset of similar pairs you can choose e.g. 1.0, and 0.0 for non-similar pairs.
A full (although minimal) training example is this:
from sentence_transformers import SentenceTransformer, InputExample, losses
from torch.utils.data import DataLoader

#Define the model. Either from scratch of by loading a pre-trained model
model = SentenceTransformer('distilbert-base-nli-mean-tokens')

#Define your train examples. You need more than just two examples...
train_examples = [InputExample(texts=['My first sentence', 'My second sentence'], label=0.8),
    InputExample(texts=['Another pair', 'Unrelated sentence'], label=0.3)]

#Define your train dataset, the dataloader and the train loss
train_dataloader = DataLoader(train_examples, shuffle=True, batch_size=16)
train_loss = losses.CosineSimilarityLoss(model)

#Tune the model
model.fit(train_objectives=[(train_dataloader, train_loss)], epochs=1, warmup_steps=100)

(As copied from the SentenceTransformer documentation)
Once the model has been fitted, you can follow the step for Semantic Textual Similarity, which involves getting embeddings of two sentences and then using cosine similarity to determine how similar the sentences are.
Hope this helps a bit.

Tom Aarsen

Hello tomaarsen,
thank you very much for your response!
I will definitely follow on this.
But one more question: actually I need to compare pairs
of a kind of documents of varying length, which sometimes consist of several sentences
as well as some tabular data that I convert to phrases and add to these documents.
So will this setup still work as well?
Is this model is still the best choice for such a problem?
Thank you

I must say that I'm not certain whether the approach works well with multi-sentence texts. However, I am quite certain that the tokenizer truncates longer inputs to a specific length, usually 512 word pieces (around 300-400 words), but sometimes also 128 word pieces. See some documentation here.


Do you require/request citations?

Hi there,
If a paper utilizes your plot library, is there a certain citation you prefer/require?
Thank you.

I do not require a citation, but I certainly would appreciate if someone cites it.


feat: add 'mix' palette

Combine gruvbox and gruvbox-material palettes to preserve image details while following the gruvbox color scheme.

https://github.com/morhetz/gruvbox
https://github.com/sainnhe/gruvbox-material

The original white and pink palettes are effective for simple images, but struggles with complex details. I integrated all the colors from gruvbox and gruvbox-material. While this approach slightly reduced processing speed, it significantly improved detail retention and remains gruvbox style.
Note: The colors in gruvbox-mix.txt have been processed to remove duplicates and sorted.

simple and awesome addition, I tried locally here and the color palette is indeed smooth. Thank you so much for your contribution :)


Cloud Native playground for AI workloads

This is an initiative under WG AI for a playground where contributors can:

deploy AI workloads
try out different reference architectures
tinker with MLOps pipelines
identify and explore the gaps in deploying AI workloads in cloud native infrastructure
understand how projects like Kubeflow allow you to do the full ML lifecycle: data prep, training, creating/hosting AI/ML artifacts, serving and observability (in a small environment)
provide leadership boards for reference architectures including other details like carbon footprint of hosting AI workloads

This is an umbrella issue and requires a bunch of aspects which need to be considered (the following list is work in progress)

[ ] Identifying the platform to host this playground
[ ] Designing this playground
[ ] Identifying cloud credits for the playground

cc @raravena80 @cathyhongzhang @nikhita

Started https://docs.google.com/document/d/1oIebBZy06SulzQvXykJ7-151n1zrHc4hFo7uormhJuk/edit?userstoinvite=nikitaraghunath%40gmail.com&sharingaction=manageaccess&role=writer to collect input from interested parties

I'd love to contribute on this.


Give the user an option to use predefined urls to download sdists from

Fixes #138
User can provide a mapping of package to download source url in settings.yaml:
download_source:
  torch:
      url:
           - "https://github.com/pytorch/pytorch/archive/refs/tags/${tag}.tar.gz"
           - "https://github.com/pytorch/pytorch/releases/download/v${version}/pytorch-v${version}.tar.gz"
      rename_to: "torch-${version}"
      version_mapping:
           "1.2.0": "2.2.0"

Although you can provide multiple urls, fromager will only pick the first one in which the template was applied. If there was no url whose template fromager could resolve then it will raise an exception
User can optionally rename the downloaded sdist to whatever they want.
The only supported template variables are: version and tag. version is replaced by the version returned by the resolver while tag is extracted from the url of the requirement object of the given package.
Also adds a version mapping that allows you to map a version of a package to some other version that will be used to download the sources for that package

Could you update https://github.com/python-wheel-build/fromager/blob/main/src/fromager/overrides.py#L131 as well, please, to include these new types of overrides.

Sorry, I didn't quite understand what I should add here?

I was thinking of doing something like this myself for two reasons:

triton downloads the source from github in a file named by the version. This would be a reusable way to get the source and give the source archive a sensible name.
sacrebleu upstream builds its source distribution with setuptools, which leaves CHANGELOG.md out of the sdist which means you can't build the wheel from the sdist. Currently, we have a workaround that just creates an empty CHANGELOG.md file. Downloading the source from github instead of PyPI would allow us to build the wheel exactly the same way the upstream does, and of course the rename_to option would have the same application as with triton.


Reference images inside reference links

Given the following markdown (this one found in testing-library/react-testing-library):
[![Build Status][build-badge]][build]

[build-badge]: https://img.shields.io/travis/testing-library/react-testing-library.svg?style=flat-square
[build]: https://travis-ci.org/testing-library/react-testing-library

This is expected:

But instead the following markup is generated (link is after  tag, and extra square brackets are left):
[]build

While I can’t say I’ve ever used the pattern much, it seems that quite a number of packages on npm use this paradigm.
Would love to help on this issue if desired. Thanks!

Fixed in MD4C upstream.
Next time, feel free to open issues there if it can be reproduced with it. :)

Fix patch from upstream (thank you @mity!) & published in v1.1.2


Add latest claro-lang version 0.1.360

Just adding latest version of claro-lang module that was previously added.

@fmeum Thanks for the review, looks like the presubmit test is blocked after I had to make a change to the test project the presubmit points to.


docs(qwik-labs edit link route): fixed qwik labs "edit page" link & so…

…me typo/grammar changes
Fixed "edit this page" button for the Qwik Labs section of the docs & some typos
fixes https://github.com/BuilderIO/qwik/issues/4570
Overview

What is it?

[ ] Feature / enhancement
[ ] Bug
[ ] Docs / tests / types / typos

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Use cases and why

One use case

Another use case

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

Thanks for this @thejackshelton. There are some lint issues, please re-run linter and push changes.

@hamatoyogi it was due to the broken lockfile fix that manu just added. I've pulled his changes and it seems to be fine now.


Fix incorrect README link

Codecov Report
Patch coverage has no change and project coverage change: -0.23% :warning:

Comparison is base (3b15882) 90.20% compared to head (b79c6ef) 89.97%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #747      +/-   ##
==========================================
- Coverage   90.20%   89.97%   -0.23%
==========================================
  Files         111       81      -30
  Lines       16115    14671    -1444
  Branches      565        0     -565
==========================================
- Hits        14536    13200    -1336
+ Misses       1558     1471      -87
+ Partials       21        0      -21

Flag
Coverage Δ

uitests
?

uitests-ios
?

unittests
89.97% <ø> (+0.85%)
:arrow_up:

unittests-ios
?

unittests-rust
89.97% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 30 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Update to current Python versions.

Drop support for Python 2.7, 3.5, 3.6.
Add support for Python 3.9, 3.10, 3.11, 3.12.

Thank you for reviewing this PR. 😃


Link Docker Pulls badge to image on Docker Hub

Codecov Report

Merging #50 into master will decrease coverage by 3.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #50      +/-   ##
==========================================
- Coverage   40.52%   37.44%   -3.09%
==========================================
  Files          22       22
  Lines         422      422
  Branches       13       13
==========================================
- Hits          171      158      -13
- Misses        251      264      +13

Impacted Files
Coverage Δ

...scala/me/snov/sns/response/SubscribeResponse.scala
48.54% <0%> (-12.63%)
:arrow_down:

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 69e1c38...ca7007e. Read the comment docs.

thanks @philgebhardt


Make the one from web.config as the default connection string and fix build failure

Should we also try app settings?


PAM.authenticate should allow for mock returns

Hi!
I'm trying to make use of this library within Spring Security. It's been awesomely easy.
One issue I've run into is that UnixUser's final class modifier makes it so I can mock it via Mockito. This makes it so I essentially can't test my code's use of the library without having access to an actual pam service.
Any chance you could make it non-final?

Hi Busbey - Do you have a sample code to use PAM authenticate with Spring Security? Thanks!

Nope. Haven't looked at any of the PAM stuff in ~3 years.


Streaming causes LLM to always start answers with a rephrased version of the question

Describe the issue
When I enable streaming on the OpenAI model, it causes all answers to begin with a rephrased version of the question.
Example:
Question from user: "How far is the sun?"
Answer streamed from handleLLMNewToken: "What is the distance from Earth to the sun? I don't know."
It's worth noting that the answer streamed token-by-token by handleLLMNewToken is different than the response return by await chain.call. The latter returns { text: " I don't know." }, which is the desired behavior. The problem is that this value can't be streamed. As far as I know the streaming needs to happen from inside handleLLMNewToken like this:
const sendData = (data: string) => {
    res.write(`data: ${data}\n\n`);
  };

const model = new OpenAI({
    openAIApiKey: process.env.OPENAI_API_KEY,
    streaming: true,
    callbackManager: CallbackManager.fromHandlers({
      async handleLLMNewToken(token: string) {
        console.log('handleLLMNewToken', token);
        sendData(JSON.stringify({ data: token })); // stream each token
      },
      async handleLLMStart(llm: any, prompts: string[]) {
        console.log('handleLLMStart');
      },
    }),
  });

Environment
"langchain": "^0.0.51",
"next": "13.3.0",

I am getting this as well for the second and third etc. questions that I ask. Was trying to follow the lex-gpt repo as a guide for edge streaming.
This seems to be due to using ConversationalRetrievalQAChain and chat history. Things seem to be working fine when I use RetrievalQAChain.

Related #842

Having this issue as well after updating to 0.0.61. Looks like handleLLMNewToken when passed to the OpenAI LLM callbacks is returning the tokens from the "standalone question" , not the final result.

Getting the same issue

Related #603

I assume you're using the conversational QA chain, from the docs

It first combines the chat history and the question into a standalone question, then looks up relevant documents from the retriever, and then passes those documents and the question to a question answering chain to return a response.

So i guess it's prompting the LLM to get a summary question that's then fed (with docs) to the LLM again?

Work around i've been using
class EventsHandler extends BaseCallbackHandler {
	private writer: WritableStreamDefaultWriter<string>;
	private stream: WritableStream<string>;
	private question: string;

	private LLMCount = 0;

	constructor({ stream, question }: { stream: WritableStream<string>; question: string }) {
		super();

		this.writer = stream.getWriter();
		this.stream = stream;
		this.question = question;
	}

	isContextQuestion() {
		return this.LLMCount === 0 && chatHistory.size;
	}

	async handleLLMNewToken(token: string) {
		if (!this.isContextQuestion()) {
			await this.writer.ready;
			return this.writer.write(token);
		}
	}
	async handleLLMEnd(output: ChainValues) {
		const result = output?.generations?.[0]?.[0]?.text;
		this.LLMCount = this.LLMCount + 1;
	}

	async handleLLMError(err: unknown) {
		this.writer.releaseLock();
		await this.stream.abort((err as Error).message);
	}
}

Work around i've been using
class EventsHandler extends BaseCallbackHandler {
	private writer: WritableStreamDefaultWriter<string>;
	private stream: WritableStream<string>;
	private question: string;

	private LLMCount = 0;

	constructor({ stream, question }: { stream: WritableStream<string>; question: string }) {
		super();

		this.writer = stream.getWriter();
		this.stream = stream;
		this.question = question;
	}

	isContextQuestion() {
		return this.LLMCount === 0 && chatHistory.size;
	}

	async handleLLMNewToken(token: string) {
		if (!this.isContextQuestion()) {
			await this.writer.ready;
			return this.writer.write(token);
		}
	}
	async handleLLMEnd(output: ChainValues) {
		const result = output?.generations?.[0]?.[0]?.text;
		this.LLMCount = this.LLMCount + 1;
	}

	async handleLLMError(err: unknown) {
		this.writer.releaseLock();
		await this.stream.abort((err as Error).message);
	}
}

Can you elaborate how to implement this workaround? I have not been successful yet

The immediate fix for this issue is to do the following
// construct your chain as before
const chain = ConversationalRetrievalQAChain.fromLLM(new ChatOpenAI({streaming: true, ...}), ...)
// after creating the chain override the LLM in the inner `questionGeneratorChain`
chain.questionGeneratorChain.llm = new ChatOpenAI()

// use the chain

We're working on a better solution

^ To elaborate on the above explanation, the key is to ensure that the llm behind the questionGeneratorChain has streaming equal to false and that the LLM you pass into fromLLM has a handler that implements handleLLMNewToken (passed in as part of callbacks)

@nfcampos I'm assuming this workaround wont work in the context of an agent executor (without reimplementing a lot)? As it seems to use the same LLM for each tool call? I was able to put together a hacky filter to get the final output tokens from the callback for anyone interested:
import { BaseCallbackHandler } from 'langchain/callbacks';
import { EventController } from './event_controller';

export class CallbackHandler extends BaseCallbackHandler {
  name = 'CallbackHandler';
  stream = new EventController<string>();

  private _buffer = '';
  private _isInsideActionInput = false;
  private _hasFoundFinalAnswer = false;
  private readonly _finalAnswerString = '"action": "Final Answer"';
  private readonly _outputString = '"action_input": "';

  handleLLMEnd() {
    if (this._hasFoundFinalAnswer) {
      this.stream.end();
    }
  }

  handleAgentEnd() {
    this.stream.end();
  }

  handleLLMNewToken(token: string) {
    this._buffer += token;

    if (this._isInsideActionInput) {
      this._streamBuffer();
    } else if (!this._hasFoundFinalAnswer) {
      this._findFinalAnswer();
    } else {
      this._findOutput();
    }
  }

  private _findOutput() {
    const startIndex = this._buffer.indexOf(this._outputString);
    if (startIndex !== -1) {
      this._isInsideActionInput = true;
      this._buffer = this._buffer.slice(startIndex + this._outputString.length);
    } else {
      this._buffer = this._buffer.slice(-this._outputString.length + 1);
    }
  }

  private _findFinalAnswer() {
    const isFinalIndex = this._buffer.indexOf(this._finalAnswerString);
    if (isFinalIndex !== -1) {
      this._hasFoundFinalAnswer = true;
      this._buffer = '';
    } else {
      this._buffer = this._buffer.slice(-this._finalAnswerString.length + 1);
      return;
    }
  }

  private _streamBuffer() {
    const endIndex = this._buffer.search(/(?<!\\)"/);
    if (endIndex !== -1) {
      const value = this._buffer.slice(0, endIndex);
      this.stream.publish(value);
      this._isInsideActionInput = false;
      this._buffer = this._buffer.slice(endIndex + 1);
    } else {
      this.stream.publish(this._buffer);
      this._buffer = '';
    }
  }
}

Seeing the same issue, applied the workaround and seems to work.

In the chain's handlers, I differentiate the source of tokens based on the chain's name to determine which tokens should be sent to the client. Below is an example:
const handlers = BaseCallbackHandler.fromMethods({
    handleChainStart(chain) {
        if (chain.name === 'stuff_documents_chain') {
            isStuffDocumentsChain = true
        }
    },
    handleLLMNewToken(token) {
        if (isStuffDocumentsChain) {
            subscriber.next(token)
        }
    },
    handleChainEnd() {
        isStuffDocumentsChain = false
    },
})

Here is the complete code

Any update on this one? It's still giving me rephrased questions.

If you're looking to stream the final result using the ConversationRetrievalQAChain() along with Pinecone, I've set up a deployed example that demonstrates this functionality. You can check it out here: Stream Final Result Example.
GitHub Code : Personal Website Code.
Furthermore, if you encounter any difficulties while working with the ConversationalRetrievalQAChain(), I'm here to assist. Please provide the relevant repository or complete  context that you're working with. This will help us quickly identify and address any bugs or issues you might be facing, ensuring a more efficient debugging process.


a question for hmac code

Hello , why can uninitialized parameters d and ld be directly used in HMAC code?
Thanks.

got it ,  they are input parameters.


What is best way to send emoji to sendInput action?

Description of the new feature/enhancement
Open vscode to edit the settings.json file.
Locate "actions" property in json file and add this one:
      {
            "command": {
                "action": "sendInput",
                "input": "\"🚀\""

            },
            "keys": "ctrl+l"
        }

What I need to do to print emoji would be
        {
            "command": {
                "action": "sendInput",
                "input": "\"`u{1F680}\"\r"
            },
            "keys": "ctrl+l"
        }

Is it the best way to set emoji as argument of sendInput action? Or is there any better way to do that?

The correct way to input an emoji depends on what you are doing. The first one works fine for sending the rocket emoji 🚀 with " on either side. The second one works fine for sending the character code of the rocket emoji in PowerShell's unicode escape format also wrapped in ". Both of those are different from sending the rocket emoji on its own.
What are you trying to do, and what's happening?
Is this the same report as #8808?

The correct way to input an emoji depends on what you are doing. The first one works fine for sending the rocket emoji 🚀 with " on either side. The second one works fine for sending the character code of the rocket emoji in PowerShell's unicode escape format also wrapped in ". Both of those are different from sending the rocket emoji on its own.
What are you trying to do, and what's happening?
Is this the same report as #8808?

For this issue here, I would like to edit settings.json mostly within vscode which support emoji perfectly. So as to my use case, I just want to print emoji by pressing a shortcut key. I thought sendInput action could be my solution. While doing this, I found that I am not able to simply copy 🚀 and paste it into vscode to finish the job. Instead, I have to convert 🚀 into, like you mentioned, PowerShell's unicode escape format ``u{1F680}and wrap it with"` to make it work.
Is it possible to get rid of the convertion step?
For #8808 , I want copy 🚀 and paste it into terminal.
What I desire is:

What I got is:

For this issue here, I would like to edit settings.json mostly within vscode which support emoji perfectly. So as to my use case, I just want to print emoji by pressing a shortcut key. I thought sendInput action could be my solution. While doing this, I found that I am not able to simply copy 🚀 and paste it into vscode to finish the job. Instead, I have to convert 🚀 into, like you mentioned, PowerShell's unicode escape format ``u{1F680}and wrap it with"` to make it work.
Is it possible to get rid of the convertion step?
For #8808 , I want copy 🚀 and paste it into terminal.
What I desire is:

What I got is:

Oh so the real problem here is that fundamentally, the console doesn't support emoji input currently. See #190, #1503. So even if the Terminal knows how to handle emoji correctly, the underlying console is going to mangle them before powershell/cmd has a chance to read them and display them.
/dup #190
/dup #1503

Oh so the real problem here is that fundamentally, the console doesn't support emoji input currently. See #190, #1503. So even if the Terminal knows how to handle emoji correctly, the underlying console is going to mangle them before powershell/cmd has a chance to read them and display them.
/dup #190
/dup #1503

Hi, @zadjii-msft , could you please shed some light on my issue about sendInput ?

For this issue here, I would like to edit settings.json mostly within vscode which supports emoji well. So as to my use case, I just want to print emoji by pressing a shortcut key. I thought sendInput action could be my solution. While doing this, I found that I am not able to simply copy 🚀 and paste it into vscode to finish the job. Instead, I have to convert 🚀 into, like you mentioned, PowerShell's unicode escape format `u{1F680} and wrap it with " to make it work.
Is it possible to get rid of the convertion step?

Is there an easy way to use emoji in settings.json as input for sendInput action?

Hi, @zadjii-msft , could you please shed some light on my issue about sendInput ?

For this issue here, I would like to edit settings.json mostly within vscode which supports emoji well. So as to my use case, I just want to print emoji by pressing a shortcut key. I thought sendInput action could be my solution. While doing this, I found that I am not able to simply copy 🚀 and paste it into vscode to finish the job. Instead, I have to convert 🚀 into, like you mentioned, PowerShell's unicode escape format `u{1F680} and wrap it with " to make it work.
Is it possible to get rid of the convertion step?

Is there an easy way to use emoji in settings.json as input for sendInput action?

Not really - at the end of the day, the console is going to mangle the emoji in the input line. So you should be able to just have emoji directly in the file. However, that won't work today, because of the previously mentioned bugs. The console (and Terminal) can handle emoji output perfectly well, but emoji input doesn't work nearly as well.

Not really - at the end of the day, the console is going to mangle the emoji in the input line. So you should be able to just have emoji directly in the file. However, that won't work today, because of the previously mentioned bugs. The console (and Terminal) can handle emoji output perfectly well, but emoji input doesn't work nearly as well.

Got it. Thanks for the clarification.

Got it. Thanks for the clarification.


Support for MultiDraw functions

Hi! I couldn't find a way to use multi draw indirect functions using glow, I hope I didn't just miss something obvious. Will functions like this be supported eventually? https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glMultiDrawElementsIndirect.xhtml

The multi-draw functions have been around in OpenGL since 2.0 but they are not available in OpenGL ES and WebGL. Under the hood, they don't actually do anything terribly useful, so they're mostly just API surface area bloat; they don't map to fewer draw calls at the GPU driver level.

Chrome implements a multidraw extension for webgl: https://www.khronos.org/registry/webgl/extensions/WEBGL_multi_draw/
It doesn't speed up anything at the driver level but it does reduce the number of times you're going back and forth between wasm and js.

If I'm not mistaken those functions are the only way to execute multiple draw commands generated by the GPU (via SSBOs bound to GL_DRAW_INDIRECT_BUFFER), so they can be useful in that sense. Though I'm not sure if the webgl extension supports that.


Fixed the navbar issue

Short Description
The things that We've brought changes to the website:

Fixed the navbar issue to be at the bottom in every situation
Added id for each contributor in JSON file.
Used id for key values for each card
Developed some parts of contributors' cards

Fixes Issue

Closes #63
Screenshots

Merging it now @AliReza1083


Enforcement of per-VM CPS and flow table size

It is my understanding that per-VM throughput limits are enforced by the NIC on the host. Where/how are per-VM CPS and flow table size limits enforced?

Good question, I'm curious too. Found a coupe clues but it seems like there ought to be more:

ENI meters in P4 model: https://github.com/Azure/DASH/blob/2f7c2f2a88f65bacede8cec8611c3189af70086f/sirius-pipeline/sirius_pipeline.p4#L65
SAI meter attributes: https://github.com/Azure/DASH/blob/2f7c2f2a88f65bacede8cec8611c3189af70086f/SAI/overlay/saidash.h#L968
It's not clear to me if these are just stats counters, or policy enforcement.
@marian-pritsak can you elaborate?

This is a WIP via SDN Eng @jagr


Feature Request: Re-render floating neo-tree on window size change

Hi! I wonder if it's possible for neo-tree to Re-render the floating neo-tree on window size change. Since the "floating window calculation" is already there, maybe we could hook an event to it?
This is before:

This is the current behavior

This is the wanted behavior (automatic)

Thank you very much!

This actually seems like a really strange use case, why would you leave a floating window open while adding a split?  For that matter, how did you even do this? The window is supposed to close automatically as soon as it loses focus.

That's not a split, that a different "desktop window". I use Linux and Awesome Window Manager, I have Super+N to open Neovim.

That's not a split, that a different "desktop window". I use Linux and Awesome Window Manager, I have Super+N to open Neovim. There's a gap between those "windows".

Oh ok, that's completely different then. This can probably be handled with a VimResize event

VimResized exists, but WinResized is not exist yet.
https://github.com/neovim/neovim/issues/11532

Yeah I think VimResized is what we're looking for. I didn't know about that event before opening this issue.


atmos generate backend is requiring the s3 workspace_key_prefix for remote backend

Describe the Bug
I receive the message Backend config for the 'mock-instance-1' component is missing 'workspace_key_prefix' when running atmos terraform generate backend mock-instance-1 -s self-ue2-test.
This field should only be required for s3 backends, not remote backends.
Expected Behavior
I would expect this field not to be required for backends that aren't s3.  As noted below, my workaround is to turn on autogenerate backend, which correctly does not require this field for my remote backend.
Steps to Reproduce
_defaults.yaml
terraform:
  backend_type: remote
  backend:
    remote:
      hostname: app.terraform.io
      organization: <redacted>
      workspaces:
        prefix: app-

catalog entry:
components:
  terraform:
    mock-defaults:
      metadata:
        type: abstract
      backend:
        remote: {}

stack:
import:
  - orgs/self/ue2/eng/_defaults
  - catalog/mock

vars: {}

components:
  terraform:
    mock:
      metadata:
        component: mock
        inherits:
          - mock-defaults
      vars: {}

Running: atmos terraform generate backend mock-instance-1 -s self-ue2-test
Produces: Backend config for the 'mock-instance-1' component is missing 'workspace_key_prefix'
But as I mentioned, autogenerating the backend works, the TF runs, indicating my backend config is correct.
Screenshots
No response
Environment
Mac
Installed atmos via brew - atmos version is 1.30.0
Terrform 1.3.7
Additional Context
I am able to work around this by turning on autogenerate backend, which proceeds with running the terraform, indicating to me that my backend config in atmos is correct.  Apparently this is only an issue when attempting to generate the backend via the cli command specifically.
Please let me know if I'm doing anything wrong here.  Because this works with the autogenerating of the backend, I think my backend config is correct.
Thanks!

Thanks @aknysh!


Adding my name in the interested-technical-writers.md

@googlebot  I signed it!

Hi Kriti! Would you please update your PR to add your name in alphabetical order? It's okay if you only use one name, or you can alphabetize by surname or family name. Thank you!

I do not have a surname, what should I do?

It's okay if you only use one name

Hi @itsIapetus, I think @emckean says it's fine if you do not have a surname here.

Ok sure, thanks!


Small adjustments to simplify tests readability

I tried to simplify the unit tests to the maximum while reading them, but I could not simplify everything and not insert all the tests in PEP8. I'll try another commit.

I really agree with the choice to leave the modules always explicit, but I think in some cases, in the unittest classes for example, it's kind of obvious. But in the socket example, I think it can complicate readability with the large amount of 'socket.anything'. But his argument in this case is entirely valid.
However, I do not agree with the notation adopted by pycharm because the standard defined in PEP8, which is generally adopted by large python projects. For example, I'm using Atom with pylama plugin and my linter is really noisy when the code does not follow the PEP8 standard.
In short, I do not see many problems using 120 characters, but I think that to share with the community we should follow the good practices of python code. Avoiding errors like E501 and adapting the code to not have errors like E122.
I think if we try to use pylint and radon as criteria, we would have good readability and standardization results.
I'm sorry for my English, I do not have fluency and it may be that in the translation something sounded rude.

@z4r4tu5tr4 Thanks for the PR! Really appreciate your contribution.


Thread.sleep() allows for context switching

I think this test would be better served if you took out the sleep/delay and added something that "does work". I forked your repo here and made a simple update that replaces the sleep/delay with a bubble sort. The Gatling tests are drastically different. The all requests to the reactive app die after the pool is saturated. I'd assume that this is expected behavior. As soon as a "reactive" application starts to experience heavy load, some sort of autoscaling should kick in to compensate. Anyway, just food for thought, I thought it was interesting.

Hi James,
thanks for your suggestions - I appreciate you took some time to play with this project! I get your point with context switching and doing some actual work. The point of the project (as mentioned in the README) was mainly to do comparison between non-blocking netty vs blocking tomcat threads in the context of I/O intensive applications (which is the case for most of the "business" apps as they call other APIs or wait for DB queries most of the time). I think Thread.sleep() is a good way to simulate I/O for this purpose.
I totally agree this demonstrates just one part of the problem the reactive apps solve. It would be also great to do a benchmark to demonstrate that reactive approach would do much less context switches for the same scenario. Did your benchmark with bubble sort show different results for netty vs tomcat?
I'll try to check your fork and experiment with that later (if I get some time :) ). Feel free to submit any PR and I'll be happy to check/merge it!
Thanks again for contributing this way!


When's the next release?

The latest release is from Nov 9, 2016 which is almost a year old.
Are there any plans for making a new release anytime soon? I've been looking forward for #1106 since I'm using grid-gap.

Hopefully in the next day or so!
We've been pretty inactive for a while now due to other commitments but the last week or so we've been trying to revive things a bit..

v.1.11.0 just published to npm


AdMobFree crahsed on .prepare()

This is my ionic info result:
cli packages: (/home/user/app/node-v8.9.4-linux-x64/lib/node_modules)
@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0

global packages:
cordova (Cordova CLI) : 8.0.0

local packages:
@ionic/app-scripts : 3.1.6
Cordova Platforms  : android 6.4.0
Ionic Framework    : ionic-angular 3.9.2

System:
Android SDK Tools : 26.1.1
Node              : v8.9.4
npm               : 6.0.0
OS                : Linux 4.13

Environment Variables:
ANDROID_HOME : /home/user/Android/Sdk

Misc:
backend : pro

And this is the cordova plugins:

cc.fovea.cordova.purchase 7.1.3 "Purchase"
com-sarriaroman-photoviewer 1.1.16 "PhotoViewer"
cordova-admob-sdk 0.16.0 "AdMob SDK"
cordova-plugin-admob-free 0.16.1 "Cordova AdMob Plugin"
cordova-plugin-android-downloadmanager 0.5.0 "cordova-plugin-android-downloadmanager"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-camera 4.0.2 "Camera"
cordova-plugin-contacts 3.0.1 "Contacts"
cordova-plugin-device 1.1.7 "Device"
cordova-plugin-fcm 2.1.2 "FCMPlugin"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-ionic-webview 1.2.0 "cordova-plugin-ionic-webview"
cordova-plugin-sms 1.0.5 "SMS"
cordova-plugin-splashscreen 4.1.0 "Splashscreen"
cordova-plugin-statusbar 2.4.1 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-plugin-x-socialsharing 5.4.0 "SocialSharing"
cordova-promise-polyfill 0.0.2 "cordova-promise-polyfill"
cordova.plugins.diagnostic 4.0.5 "Diagnostic"
es6-promise-plugin 4.2.2 "Promise"
ionic-plugin-keyboard 2.2.1   @@"Keyboard"

My problem is, when i try to show the banner it always stopping my apps. I've try to develop admobfree on a separated project, and it works. I'm pretty sure that i've implement the same code, the different is only on android engine version (mine is 6.4.0) & play-services-ads version (mine is 9.0.0) that required by my system. Is that the problem? @ratson

@netidjen try to remove all plugins and run again. backup first

@ivanov84 nothing is change, i already renewing the plugins & android platforms. Any suggestion?

@netidjen not renew. Remove all plugin. Let be only 1 plugin with admob-free. Then add one by one plugin to define after what prepare() crushes.

You probably have a wrong version of Google Play Services. The plugin requires a specific version and if it is different it compiles properly but crashes at prepare. Had this trouble too. You must find references to the services version in your plugins/platforms and change the + instead of version number.
And by the way, the method suggested in the docs to add variable with the preferred version to the config.xml simply doesn't change anything.

@rafaellop Did you mean to edit the gms:play-service-  version on project.properties with "+"? if so, then this is the result:
`FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':processDebugGoogleServices'.

Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 9.0.0.
`

I have exactly same problem. I have Google Play Services SDK version 49, so I added following lines to config.xml but nothing has changed:
    <plugin name="cordova-admob-sdk" spec="~0.16.0">
        <variable name="PLAY_SERVICES_VERSION" value="49" />
    </plugin>

@netidjen I have changed in project.properties
cordova.system.library.4=com.google.android.gms:play-services-base:+
cordova.system.library.5=com.google.android.gms:play-services-ads:+

In the effect you should have the following in the \platforms\android\build.gradle:
dependencies {
 [....]
    compile "com.google.android.gms:play-services-base:+"
    compile "com.google.android.gms:play-services-ads:+"
}

If you don't have + here there are other places you should replace this. Then cordova clean then cordova build. I also had errors if I tried to build without cleaning first.

I noticed that If I use this plugin with the following Google Analytics plugin, this problem happens. If I don't use Admob plugin, I can use Google Analytics plugin. If I don't use Google Analytics plugin, I can use AdMob plugin. But I can't use both of them at the same time.

https://github.com/danwilson/google-analytics-plugin
https://ionicframework.com/docs/native/google-analytics/

@netidjen Do you have same situation? Do you use Google Analytics plugin too?

@coolman7 i have no Google Analytics plugin

@netidjen So we should have different problems.

@rafaellop after doing codova clean & build, the problem is still the same:

What went wrong:
Execution failed for task ':processDebugGoogleServices'.
Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 9.0.0.
`

Check the dependencies in the build.gradle file. This will tell you what versions it tries to link. Then search for the references.

@rafaellop don't you remember that the dependencies in build.gradle is depend on project.properties? Once i change the version in project.propertie, then on build.gradle will be affacted right?

I think so, but project.properties is controlled by plugins so if you update any that modifies it, it will be changed. Unfortunately I don't know better way. I've got on my todo to check this when I build for Android. Would be great if the config.xml params worked like announced but they aren't.

I agree with you sir, but i don't know exactly what version of play-service in build.gradle needed. Since i changed the version from 11.0.4 to 9.0.0 my app crashed when try to show some ads. If i change the version number to "+" then another problem above appears.

It worked fine when I removed plugin cordova-plugin-firebase

I am having the same issue with cordova-plugin-firebase and admob-free uninstalling one of them fix the issue. is there any other way?

As far as I understand common plugin is admob-free. admob-free and google analytics or admob-free and firebase does not work together. I guess the problem should be inside admob-free code.

On the other hand cordova-admob-pro plugin does not have this problem. It can run with cordova-plugin-google-analytics plugin.

I am using cordova-plugin-firebase and cordovoa-plugin-admob-free at the same time and everything works (prepare and launch of banner, interstitial and rewarded video) using the latest version of play-services-base and play-services-ads
PS: If the banner prepare fails, check that you are using a correct size-property of the banner

Any one solve this issue?
I've found this but it didn't help too:
https://github.com/dpa99c/cordova-android-play-services-gradle-release
Nir.

@puffnir Did you use FCM/Firebase plugin?

@netidjen maybe i'm late, anyway this may be usefull to someone else
the conflict it was raised by this plugin which use firebase
https://github.com/phonegap/phonegap-plugin-push
in build.gralde(Module: app) you have to check the dependecies section and change them to a common version:
compile "com.google.firebase:firebase-messaging:11.6.2"
compile "com.google.android.gms:play-services-base:11.6.2"
compile "com.google.android.gms:play-services-ads:11.6.2"
i didn't test this plugin combos:
https://github.com/dpa99c/cordova-android-play-services-gradle-release
https://github.com/dpa99c/cordova-android-firebase-gradle-release
but it seems promising as you can manually set the version for every google service and it should fix every future problem if you change anything in the project without manually changing the versions every time

Any one found the solution???
I tried all the options mention above.
But nothing is working for me :-(

I can just give the advice to use the latest version of the Play Services:
    <plugin name="cordova-admob-sdk" spec="^0.18.0">
        <variable name="PLAY_SERVICES_VERSION" value="+" />
    </plugin>

And afterwards make sure that the version is set in platforms/android/app/build.gradle:
    compile "com.google.android.gms:play-services-base:+"
    compile "com.google.android.gms:play-services-ads:+"

@paulstelzer
Thank you for useful information!
Where should I write following code to?
    <plugin name="cordova-admob-sdk" spec="^0.18.0">
        <variable name="PLAY_SERVICES_VERSION" value="+" />
    </plugin>

cordova-plugin-admob-free does not have platforms/android/app/build.gradle.
Should I create it myself?

Where should I write following code to?
    <plugin name="cordova-admob-sdk" spec="^0.18.0">
        <variable name="PLAY_SERVICES_VERSION" value="+" />
    </plugin>

Like mentioned in the documentation: https://github.com/ratson/cordova-plugin-admob-free#customize-google-play-services-versions-android-only
platforms/android/app/build.gradle should be in your main folder structure

PS: Adding the PLAY_SERVICES_VERSION cannot work sometimes, then edit it in pluigns/corodva-admob-sdk/plugin.xml to <preference name="PLAY_SERVICES_VERSION" default="+"/>
Keep in mind to remove the platforms folder afterwards and re-run cordova platform add android
If you have multiple cordova plugins who each has it's own play services version, use the following plugin:
https://github.com/dpa99c/cordova-android-play-services-gradle-release

same issue. I called prepare funciton and got following message.
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/internal/zzur;
at com.google.android.gms.ads.BaseAdView.(Unknown Source:3)
at com.google.android.gms.ads.AdView.(Unknown Source:1)
at name.ratson.cordova.admob.banner.BannerExecutor$1.run(BannerExecutor.java:70)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
I develop with ionic capacitor.

@gesrt Keep in mind that you have to add everything manually at Capacitor - so you need to add all Java Classes to your project, you need to edit alle gradle files manually. So nothing is done automatically

you'r right. I add following class to gradle. and It works.
```
implementation 'com.google.android.gms:play-services-base:16.0.1'
implementation 'com.google.android.gms:play-services-ads:16.0.0'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'
thank you.

@gesrt  Where exactly are you adding those? in which gradle file?

I had the same problem and i just change the play service version in plugins/cordova-admob-sdk/plugin.xml to:
<preference name="PLAY_SERVICES_VERSION" default="16.0.0"/>
Then remove and add the platform and it works.

Instead of doing all the above solutions I'm still facing the same issue in ionic capacitor. I added + in plugin.xml, deleted and rebuilt www folder and android folder but still the results are same. Can anybody please help me?

Instead of doing all the above solutions I'm still facing the same issue in ionic capacitor. I added + in plugin.xml, deleted and rebuilt www folder and android folder but still the results are same. Can anybody please help me?

THIS FIXED FOR ME:
Add this to build.gradle (Module: android.app)
implementation 'com.google.firebase:firebase-ads:19.6.0'
EXTRA INFO (ionic info)
I work with Capacitor / Angular
Ionic:
   Ionic CLI                     : 6.12.3 (~node/v14.15.0/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.5.2
   @angular-devkit/build-angular : 0.1100.7
   @angular-devkit/schematics    : 11.0.7
   @angular/cli                  : 11.0.7
   @ionic/angular-toolkit        : 2.3.3

Capacitor:
   Capacitor CLI   : 2.4.6
   @capacitor/core : 2.4.6

Utility:
   cordova-res : 0.15.2
   native-run  : not installed

System:
   NodeJS : v14.15.0 (/home/angelcareaga/.nvm/versions/node/v14.15.0/bin/node)
   npm    : 6.14.8
   OS     : Linux 5.8

THIS FIXED FOR ME:
Add this to build.gradle (Module: android.app)
implementation 'com.google.firebase:firebase-ads:19.6.0'
EXTRA INFO (ionic info)
I work with Capacitor / Angular
Ionic:
   Ionic CLI                     : 6.12.3 (~node/v14.15.0/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.5.2
   @angular-devkit/build-angular : 0.1100.7
   @angular-devkit/schematics    : 11.0.7
   @angular/cli                  : 11.0.7
   @ionic/angular-toolkit        : 2.3.3

Capacitor:
   Capacitor CLI   : 2.4.6
   @capacitor/core : 2.4.6

Utility:
   cordova-res : 0.15.2
   native-run  : not installed

System:
   NodeJS : v14.15.0 (/home/angelcareaga/.nvm/versions/node/v14.15.0/bin/node)
   npm    : 6.14.8
   OS     : Linux 5.8


add ut of ads_stream.go

What type of PR is this?
/kind enhancement
What this PR does / why we need it:
add ut of ads_stream.go

/hold

cancel /hold

/hold cancel

cc @nlgwcy

/lgtm
/approve


Don't use obsolete isinff and isnanf functions

GNU libc already marks isinff and isnanf functions as obsolete. They
have been replaced by isinf and isnan macros defined by C99. Since we
already requires C99 in this project, it should be nice if we can
switch to standard macros.
Proposed changes:

Drop the use of non-standard and obsolete isinff and isnanf functions.

Benchmark results:

None

Test suite changes:

None

It currently fails with GCC __builtin_isinf when -O1 or higher is used. I haven't found out why it fails. It works with Clang __builtin_isinf and FreeBSD libc. GNU libc just defines isinf as __builtin_isinf.

I initially used isinf() and isnan(), but those ended up breaking when using GCC because it tried to promote floats to doubles, and the results wouldn't match any more—especially when using GCC vectorisation.
It could very well be a bug in GCC.


Remove individual devs from crate ownership in crates.io

Motivation and Context
Before this PR, our crates in crates.io have two owners: awslabs/rust-sdk-owners, and whoever published the crate for the very first time from the time when crate publication wasn't automated. This PR updates the publisher tool to remove any owners that are not awslabs/rust-sdk-owners, which should fix the crate ownership for all crates with the next release.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

We generally don't leave comments in the code or publish info to our design docs on why these tools exist. Are we doing a disservice to future maintainers or will the need for these tools still be obvious?

We generally don't leave comments in the code or publish info to our design docs on why these tools exist

I don't think this assertion is really true. We have READMEs and comments in our tools, and several of the tools origins are talked about in design docs.
All of this can certainly be improved and expanded on, and a couple of the tools are missing docs outright since they were written in a time when we had zero tools and didn't think we would have so many later on. I also think a central summary of the tools would be useful. These are all things I want to work on as we get closer to closing out release automation.
I'm not really sure what you're alluding to for this specific PR as this is just augmenting the existing crate ownership check that is a part of the publish process. Was there something you had in mind?

@jdisanti I'm sorry, I should have chosen my words more carefully. I was just thinking about providing some central repository with info on what all this stuff does and why it exists. I think this PR is good.


Add Concise Functions

Need to break up functions (i.g. get_data.py, main.cpp) so that they are more readable and not so cluttered. Might need to add additional files.

We need to:

[ ] Modify our main.cpp file and get_data.py file so that our code is broken up into more organized and concise functions
[ ]  Documentation of main.py and get_data.py in docs/processing_data.md.
Add documentation for how the functions operate and how they process data.


Test-DbaServerName does not compare proper case of server name

Is this a feature OR bug:
BUG
System Details
N/A

Output of dbatools version:

N/A

SQL Server version for source/target

Steps to Reproduce
Results of @@SERVERANAME returns "Server1" and the computer name is SERVER1, the current logic does not account for case. So...
$s1 = 'Server1'
$s2 = 'SERVER1'

$s1 -eq $s2

#output will show true

In cases where the collation of the server is set to case-sensitive the above makes a big difference. If for example you create an AG via T-SQL, you can manually specify the replica name. If you use the replica name server1, then you will have issues with system functions that validate the replica name. Most of those functions utilize @@SERVERNAME and matching that on an instance with case-sensitive collation will cause hidden issues.
Expected Results
We should go ahead and check for exact case of the server name to server instance name (@@SERVERNAME output) to prevent mishaps or headaches.

Re-thinking, this is not really an issue with @@SERVERNAME itself but external to how other things are created. Main issue around this matching is when you build the AG and do not match the replica name to the output. May just need to build another command that test the replica names to @@SERVERNAME.


Add support for comma separated headers

Hi,
We noticed that there is a difference in how headers are parsed depending on how multiple headers are passed.
It is ok if they are passed separately:
$ curl localhost:8080 -H "X-Foo:123" -H "X-Foo: 456"

then on the scala side this is represented as Some(NonEmptyList(X-Foo: 123, X-Foo: 456))
but according to the RFC passing them as a comma separated list should be equivalent:
$ curl localhost:8080 -H "X-Foo:123, 456"

However above is represented as Some(NonEmptyList(X-Foo: 123, 456))
Since http4s does already a great job when it comes to parsing low-level http data in every other area we wonder whether it would make sense also to support this case. What do you think?
tested on: 0.23.25

but according to the RFC passing them as a comma separated list should be equivalent

Actually, I'm not sure that the server MUST interpret these values as having two values, "123" and "456", not as a single value "123, 456".

https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.2
A sender MUST NOT generate multiple header fields with the same field
name in a message unless either the entire field value for that
header field is defined as a comma-separated list [i.e., #(values)]
or the header field is a well-known exception (as noted below).
A recipient MAY combine multiple header fields with the same field
name into one "field-name: field-value" pair, without changing the
semantics of the message, by appending each subsequent field value to
the combined field value in order, separated by a comma.  The order
in which header fields with the same field name are received is
therefore significant to the interpretation of the combined field
value; a proxy MUST NOT change the order of these field values when
forwarding a message.


Chromosomal Location for DASHit Guides

Hi,
For tiled guide design, it is valuable to know the location of the guides as well as the sequence of the guides at particular locations so that once guides are generated the experimenter can pick subsets of guides that hit specific locations if needed.
Would it be possible to have the output CSV also contain the chromosomal location that matches to each selected guide?
Thank you so much for the help.

This is implemented in ##46c0650819397a828886ca0607d4e78b1eefeea7


open failed

can i try to open com.koshurboli ... apk  say open failed

Best regards,
Hi BeyTek,
I'm sorry to hear that you're having trouble opening the com.koshurboii....... APK. It seems there might be an issue either with the file download or the way it's being accessed. (I've ensured that there are no errors in it.) I recommend double-checking the file's integrity and ensuring you have the necessary permissions to access it. Additionally, please consider watching the video tutorial carefully for any helpful insights. If the problem persists, feel free to reach out to me directly, and I'll do my best to assist you further.
Best regards,
@koshurboii

Hi BeyTek,
I'm sorry to hear that you're having trouble opening the com.koshurboii....... APK. It seems there might be an issue either with the file download or the way it's being accessed. (I've ensured that there are no errors in it.) I recommend double-checking the file's integrity and ensuring you have the necessary permissions to access it. Additionally, please consider watching the video tutorial carefully for any helpful insights. If the problem persists, feel free to reach out to me directly, and I'll do my best to assist you further.
Best regards,
@koshurboii


Remove missing specialization

Resolves #1005

Closing. See comment and thread here: https://github.com/ossu/computer-science/issues/1005#issuecomment-1072935854


Can't load login background

xrdp version
<IP_ADDRESS>-2
Detailed xrdp version, build options
xrdp <IP_ADDRESS>
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --build=x86_64-redhat-linux-gnu
      --host=x86_64-redhat-linux-gnu
      --program-prefix=
      --disable-dependency-tracking
      --prefix=/usr
      --exec-prefix=/usr
      --bindir=/usr/bin
      --sbindir=/usr/sbin
      --sysconfdir=/etc
      --datadir=/usr/share
      --includedir=/usr/include
      --libdir=/usr/lib64
      --libexecdir=/usr/libexec
      --localstatedir=/var
      --sharedstatedir=/var/lib
      --mandir=/usr/share/man
      --infodir=/usr/share/info
      --enable-fuse
      --enable-pixman
      --enable-painter
      --enable-vsock
      --enable-ipv6
      --with-socketdir=/run/xrdp
      --with-imlib2
      build_alias=x86_64-redhat-linux-gnu
      host_alias=x86_64-redhat-linux-gnu
      CFLAGS=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
      LDFLAGS=-Wl,-z,relro  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
      PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig

  Compiled with OpenSSL 1.1.1k  FIPS 25 Mar 2021

Operating system & version
Centos 8 Stream
Installation method
dnf / apt / zypper / pkg / etc
Which backend do you use?
Xvnc
What desktop environment do you use?
XFCE
Environment xrdp running on
VM
What's your client?
Microsoft RDP Client
Area(s) with issue?
Authentication
Steps to reproduce
I have the following settings in xrdp.ini
ls_background_image=/usr/share/xrdp/background.jpg
✔ Expected Behavior
Background to be loaded
❌ Actual Behavior
background not loaded and I see this in the logs:
[INFO ] Login background not loaded as client has requested PERF_DISABLE_WALLPAPER

Anything else?
This happened after upgrading xrdp.
I had both the logo and background with bmp, but after the upgrade neither the background or logo worked.
I also saw this error regarding the logo:
[ERROR] Error loading /usr/share/xrdp/logo.bmp [Unknown error]
So I changed both to jpg. That solved the problem with the logo, but the background still doesn't work showing:
[INFO ] Login background not loaded as client has requested PERF_DISABLE_WALLPAPER

Upgrading from which version to <IP_ADDRESS>-2?

From 0.9.17

BTW,  this indicates the client requests not to show the background image.  So the client does not want to show a background image, so the background is not showing. It is working as intended pretty normally.
[INFO ] Login background not loaded as client has requested PERF_DISABLE_WALLPAPER

Well, I did no such configuration on the client, and before it always showed. Is there a way to force it to show?
Best regards

Could you tell me again about your client? The question in the issue form asked you to answer the following information but you just answered " Microsoft RDP Client".

What's your client?
If you issue occurs with specific clients, tell us the client app name, app version client os version and platform.

I'm using mstsc with mremoteng, and it seems to have an option for disabling desktop background as you stated.
The saved connection didn't had desktop background enabled (now or before), but it seems that 0.9.17 didn't took that into account so I just assumed it wasn't working. After changing the connection to enable Desktop background it worked.
Sorry for the inconvenience; I will close the issue

Solved 👍

Glad to hear that.


Schedule-and-publish job keeps getting canceled

Similar to #148. We keep retrying a certain compare runs endpoint which never returns inside the DB query timeout:
[2023-09-26 14:05:02,434] INFO in http: unexpected response. code: 500 (retryable), body bytes: <unexpected exception, please report this:
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1965, in _exec_single_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 921, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.QueryCanceled: canceli ...>

Since the 2023-09-26 02:50:00Z run.

Merged a temporary fix (https://github.com/conbench/conbench/pull/1492) but can't deploy it until https://github.com/conbench/conbench/pull/1493 is fixed.

I deployed the fix and let the pipeline run for 45 minutes to clear out the backlog. It seems to be working now!