refactor(cli): improve output aesthetics

Description
This PR is a minor improvement to the CLI output of the development server. While working on a plugin, I wanted to add some useful information to the terminal, and I thought the current output could be improved a bit.
Note: don't feel bad for straight up closing this PR - this is a small proposal and it would be totally fine if it was refused. Also I'm totally open on iterating over the design.
Current output

Output after this PR

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[x] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

Nice! Good to try new things here. Some comments about the changes:

I like the new arrows. I think we could keep them.
I think that it is the right move to dim the "use host to expose" string, that info is not relevant to everyone. And now enough time has passed since we change the default. Probably it is too much dimmed though, I'm afraid we may have a11y issues. Maybe we could light it up a bit?
I like that the addresses are aligned now! Maybe we could also drop the : to make it cleaner?
dimming the starting time is interesting. I don't think we should do it yet. IIUC, the idea is to make it prominent to contrast with other bundlers. Maybe at one point, we could directly remove it? I vote to leave it as it was for now.
For the title, I prefer that it stays as it was. Maybe we should capitalize Vite though.

Perhaps another thing to consider is how this would look with plugins that add other CLI entries, e.g. vite-plugin-inspect and vite-plugin-qrcode. With this change they may look slightly out of place.
Design-wise I still prefer the old one, but mostly for nostalgia reasons 😄

That is a good point @bluwy. Maybe we could merge this PR (with modifications), or other PRs when we are in the Vite 3.0 beta? I think it may help then to have a refreshed CLI look. And plugins and frameworks would also be able to better target the style for the major

The background color of VITE v2.8.4 is to bright and laggs accessibility in contrast

Hey all, there's a lot of valid feedback, thanks!

@bluwy
Perhaps another thing to consider is how this would look with plugins that add other CLI entries

I had the intent to PR vite-plugin-inspect if this was merged to update the design - I didn't know about vite-plugin-qrcode though. That was when I worked on such a feature that I had the idea for this PR actually! Here is an example:

On this note, I found out that the new line at the end of the default logging design denies a potentially interesting design for plugins, which would be to simply add a line after the default ones:

I'm thinking that Vite could offer a basic API to add plugin-specific logging like this, instead of having to hook into configureServer and use server.config.logger.info directly. Maybe I'll explore this in another PR, this is out of scope for this one.

@Shinigami92
The background color of VITE v2.8.4 is to bright and laggs accessibility in contrast

@patak-dev
Probably it is too much dimmed though, I'm afraid we may have a11y issues.

Good point!
I'm not sure how to handle this because I only use standard terminal escape codes, which don't render the same depending on your terminal theme. In this case, I used gray for the dimmed parts to make it consistent between VSC and WT, because VSC doesn't render a different color using the standard dim, while WT uses a different opacity.
1⃣ Here is what it looks like with VSC's default theme:

2⃣ Here is an alternative design which uses bold for non-dimmed parts instead:

@patak-dev
For the title, I prefer that it stays as it was. Maybe we should capitalize Vite though.

Honestly that was the hardest part of the design haha. I took inspiration from Vitest on this one. I like the contrast between the header part and the rest of the data.
3⃣ Here is something that looks more like the current output:

4⃣ Or with an offset:

@patak-dev
I like that the addresses are aligned now! Maybe we could also drop the : to make it cleaner?

5⃣ Something like this?

Personal thoughts on your feedback (thanks again!):

I prefer having a solid background color for the header, but I don't mind not using one and just using a text color. My favorite design in this comment is still 1⃣ but I think 4⃣ is very nice too.
I think it's okay to keep the dimmed parts gray because people with accessibility issues would most likely have themes with more contrasted colors.

For now I changed this PR to use design 4⃣.

From the screenshots, I also like :four: the most

I think design 4 looks great (also 5 to me looks equally good)! And I like your idea of letting plugins like inspect provide other URLs to add to the list.
About using a background, I think it would look better if the font color will be black instead of white. I think Vitest is using that design as a play with the typical PASS, FAIL.
gray being ok for a11y because people may have their terminal theme adjusted could work... I don't know much about a11y in terminals to know, maybe we need to ask for help on this one.
IMO, Vite looks nicer than VITE (maybe it is just that I'm used to it). But the all caps version may work better after 3.0, because we are going to change the default dev port to 4173
VITE
4173

@patak-dev
About using a background, I think it would look better if the font color will be black instead of white. I think Vitest is using that design as a play with the typical PASS, FAIL.

I personally have the feeling like white is clearer - but both gray and white don't pass WCAG AAA anyway :/

@patak-dev
IMO, Vite looks nicer than VITE

I am neutral about the casing of Vite vs VITE, so if you would like me to update the PR to title case instead of upper case, I can :)

(I didn't realize the new port was a leet version of Vite haha)

It is kind of a secret, dont tell others. I vote for all caps 😁

Sorry to throw a wrench in this with another idea, but I'm really digging the |s we added to the new Astro CLI! Here's our output for reference. Also a big fan of using a block background for the framework name; adds some nice emphasis across light and dark themes.

Love it! Also nice to have it as 3.0 so ppl could perceive more on the improvements 🫣

Totally! With this and the new docs, the impression of Vite will be different and that is good not only for the perceived progress. I think it is also good for users to easily identify if they are running v2 or v3 (or are reading the v2 or v3 docs)

We talked about the PR in today's team meeting, let's do this! ❤
@innocenzi let's discuss the 2 vs 4 spaces proposal from @ydcjeff, and then we can merge it. If we have other ideas later, we can continue to iterate. @antfu mentioned today about an API for plugins to inject extra lines like vite-plugin-inspector. We can explore that in a future PR.

Personally I prefer it indented since it creates a sort of block. I like the look of the indentation. That being said I'm totally fine with only two spaces.
Whichever you chose, I'm not home until Monday so I can't update the PR - anyone with write access to the target branch, feel free to update my PR :p
I also dig the idea to provide an API to inject lines to the output! And I agree it's out of scope there and should be discussed in another PR.

I can update the PR to what we decide 👍🏼, don't worry. Thanks again for pushing for this change!
I see your point about creating a block. But to me with fewer spaces you also get a block because the arrows are small and your eyes focus on the start of Local and Network. I just tested and to me, 3 spaces could also work 👀

Haha, I'm fine with either honestly. So if the majority prefers 2, let's do 2. I like 3 as well. :p
Maybe we can vote?

2 spaces, 👍
3 spaces, 🚀
4 spaces, 👀

Haha, I'm fine with either honestly. So if the majority prefers 2, let's do 2. I like 3 as well. :p
Maybe we can vote?

2 spaces, 👍
3 spaces, 🚀
4 spaces, 👀

I'll take the "I'm feeling lucky, let's ship it" option 🎲

Thank you for pushing this to the finish line @innocenzi 🙌🏼
It will make a big diff once we launch v3!


Can't build WalletCore XCFrameworks

Hello!
I'm trying to build the xcframeworks of the library. I've checked out version 3.1.9, installed the dependencies, ran ./bootstrap. Everything finished successfully.
When I try to run either tools/ios-xcframework or tools/ios-build I get an error saying that WalletCoreRs.xcframework could not be found. Am I missing something?
Thank you
~/work/tangem/wallet-core tools/ios-xcframework
Building Docc...
~/work/tangem/wallet-core/swift ~/work/tangem/wallet-core
❌ error: There is no XCFramework found at '/Users/megakoko/work/tangem/wallet-core2/swift/WalletCoreRs.xcframework'. (in target 'WalletCore' from project 'TrustWalletCore')
** BUILD DOCUMENTATION FAILED **

~/work/tangem/wallet-core ./tools/ios-build
Cleanup and init...
~/work/tangem/wallet-core/swift ~/work/tangem/wallet-core
⚙  Generating plists...
⚙  Generating project...
⚙  Writing project...
Created project at /Users/megakoko/work/tangem/wallet-core2/swift/WalletCoreCommon.xcodeproj
~/work/tangem/wallet-core
Building scheme: WalletCoreCommon_macOS, destination: generic/platform=macOS, path: macos-arm64_x86_64
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, name:Any Mac }
{ platform:macOS, variant:Mac Catalyst, name:Any Mac }
❌ error: There is no XCFramework found at '/Users/megakoko/work/tangem/wallet-core2/swift/WalletCoreRs.xcframework'. (in target 'WalletCoreCommon_macOS' from project 'WalletCoreCommon')
** ARCHIVE FAILED **

Building scheme: WalletCoreCommon_iOS, destination: generic/platform=iOS, path: ios-arm64
❌ error: There is no XCFramework found at '/Users/megakoko/work/tangem/wallet-core2/swift/WalletCoreRs.xcframework'. (in target 'WalletCoreCommon_iOS' from project 'WalletCoreCommon')
** ARCHIVE FAILED **

Createing xcframework...
error: the path does not point to a valid framework: /Users/megakoko/work/tangem/wallet-core2/build/ios-frameworks/ios-arm64.xcarchive/Products/Library/Frameworks/WalletCoreCommon.framework

We'd be happy to look into this for you. Kindly file a support ticket here
https://forms.gle/zVGLP7GATPsDHdkH9

Hello!
I'm trying to build the xcframeworks of the library. I've checked out version 3.1.9, installed the dependencies, ran ./bootstrap. Everything finished successfully.
When I try to run either tools/ios-xcframework or tools/ios-build I get an error saying that WalletCoreRs.xcframework could not be found. Am I missing something?
Thank you
~/work/tangem/wallet-core tools/ios-xcframework
Building Docc...
~/work/tangem/wallet-core/swift ~/work/tangem/wallet-core
❌ error: There is no XCFramework found at '/Users/megakoko/work/tangem/wallet-core2/swift/WalletCoreRs.xcframework'. (in target 'WalletCore' from project 'TrustWalletCore')
** BUILD DOCUMENTATION FAILED **

~/work/tangem/wallet-core ./tools/ios-build
Cleanup and init...
~/work/tangem/wallet-core/swift ~/work/tangem/wallet-core
⚙  Generating plists...
⚙  Generating project...
⚙  Writing project...
Created project at /Users/megakoko/work/tangem/wallet-core2/swift/WalletCoreCommon.xcodeproj
~/work/tangem/wallet-core
Building scheme: WalletCoreCommon_macOS, destination: generic/platform=macOS, path: macos-arm64_x86_64
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, name:Any Mac }
{ platform:macOS, variant:Mac Catalyst, name:Any Mac }
❌ error: There is no XCFramework found at '/Users/megakoko/work/tangem/wallet-core2/swift/WalletCoreRs.xcframework'. (in target 'WalletCoreCommon_macOS' from project 'WalletCoreCommon')
** ARCHIVE FAILED **

Building scheme: WalletCoreCommon_iOS, destination: generic/platform=iOS, path: ios-arm64
❌ error: There is no XCFramework found at '/Users/megakoko/work/tangem/wallet-core2/swift/WalletCoreRs.xcframework'. (in target 'WalletCoreCommon_iOS' from project 'WalletCoreCommon')
** ARCHIVE FAILED **

Createing xcframework...
error: the path does not point to a valid framework: /Users/megakoko/work/tangem/wallet-core2/build/ios-frameworks/ios-arm64.xcarchive/Products/Library/Frameworks/WalletCoreCommon.framework

Hello, u need to follow the build instructions as explained in https://developer.trustwallet.com/wallet-core/developing-the-library/building - please let me know if u still have any questions


Scroll bar not working

Scroll bar not working, so I am not able to use your extension.  Can't scroll down to see the snippets. This is all I can see.  Looks like it is a helpful extension once I get it working.  I am on a Mac.  Thanks.
(I am new here, so I hope this is the right place to put this issue.)

Hi @theo333, welcome to Github!
I am also using Mac, but it's weird I've never seen this, I think the CSS may be polluted by some other things.
Could you please provide the version of Brackets, and the name of theme you're using?

Hi @chuyik, thanks for the welcome!  :-)
Theme:  Themes for Brackets Sunburst
Brackets Release 1.2 build 1.2.0-15697
Thanks!

Hi @theo333, I just try to use the theme you mentioned, but nothing really changes. Hope anyone else could help test it.

@chuyik  OK.  Perhaps there is a conflict with some other extension that I have installed.  Would that be a possibility?

@theo333 Yeah, I think so. Maybe you could try to remove some extensions for testing, by doing that, you just need to move some of the extension folders to somewhere else.
Here's steps if you wonder:

Select Help -> Show Extensions Folder
Open user folder, you will see the folders of extensions you've installed
Try to move some of those to other places, and reload your Brackets
Back and forth to test out which is conflicted with

@chuyik Yes,  I will work on this over the next few days and let you know. Thanks for the instructions. Very helpful. Have a great weekend!


Added content for HIP 37 Vote. ID and deadline block TBD

Please review and provide feedback. Also need help with the Unique ID and Deadline block.

What are we waiting for in order to start voting?


Strange System.InvalidCastException on insert 3.1.0, vs 2017, net4.6.2

I'm don't understand why exception happens on last insert
using LiteDB;

namespace WindowsFormsApp122
{
 public class dbTestItem
 {
  [BsonId]
  public int Id { get; set; }
  public int SomeValue { get; set; }
 }

 public static class dbTestItemHelper
 {
  public static bool New(this dbTestItem inItem, LiteRepository inLt)
  {
   return inLt.Insert(inItem);
  }
 }

 static class Program
 {
  static void Main()
  {
   var s = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestDb");
   if (File.Exists(s)) File.Delete(s);
   using (var db = new LiteRepository(s))
   {
    db.Insert(new dbTestItem()); // ok
    var wtfitem = new dbTestItem();
    wtfitem.New(db); // fail: System.InvalidCastException
   }
  }
 }
}

Please. paste error stack strace to be simple to identify the problem

@mbdavid What is the wtfitem.New(db) doing here? Is the New an extension method? Didn't see this before

Yes, New is an extension method. I don't get why this code are not working....

Sorry I didn't see the middle of the code, I thought the New is LiteDB's extension method which I never see before. :(
Seems the report is correct, here is the stack:
System.InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.Boolean'.
   at LiteDB.BsonValue.op_Implicit(BsonValue value)
   at App1.dbTestItemHelper.New(Customer inItem, LiteRepository inLt)
   at App1.MainPage.MainPage_Loaded(Object sender, RoutedEventArgs e)

Type Customer is from your example code; In fact the Insert does work, I can see the data in the db file (as json format:)
{
    "_id": 1,
    "Name": "John Doe",
    "Age": 39,
    "Phones": [
        "8000-0000",
        "9000-0000"
    ],
    "IsActive": true
}

Exception: Specified cast is not valid.

LiteDB.BsonValue.op_Implicit(BsonValue value)
WindowsFormsApp122.dbTestItemHelper.New(dbTestItem inItem, LiteRepository inLt)
First [insert] work and on second [via extension method] fail

Your problem lies here:
  public static bool New(this dbTestItem inItem, LiteRepository inLt)
  {
   return inLt.Insert(inItem);
  }

inLt.Insert(inItem) returns the Id of the inserted object, which is of course an int, not a bool. The implicit casting to bool will fail for this reason.

Hi @fdipuma, you right! I didnt get it. Insert returns BsonValue that contains implicit converter to bool/int/....

Hi! With the objective of organizing our issues, we are closing old unsolved issues. Please check the latest version of LiteDB and open a new issue if your problem/question/suggestion still applies. Thanks!


fix: client name ignored while creating single client.

@Module({
  imports: [
    RedisModule.register({ name: "REDIS", url: redis.host }),

The above snippet creates redis client with uuid instead of 'REDIS'.
This PR fixes an issue where name isn't considered while creating a single client.

Here's a problem. If opt.name is set. then execuse RedisService.getClient() wish no args. It will throw a client not exists error.

Thanks for pointing it out. I'll take a look at that.

Hi,
Now the single client works with / without name.
Please take a look.


LiftRules.localizationLookupFailureNotice is not called on S.loc("xxxxxxxx")

In reference of : http://groups.google.com/group/liftweb/browse_thread/thread/0e5f52077ef15395/a31dacb5110656cc#a31dacb5110656cc

Hello,

So if I overload LiftRules.localizationLookupFailureNotice to log notices
to error log then errors are generated on S.??("xxxxxxxx") but not on
S.loc("xxxxxxxx") or Not Found.
Can we improve lift localization to avoid this?

Lift version : 2.4

At looks like S.loc logs for each resourceBundle that is tried and no
key found. If there are no resourceBundles, no logging occurs.
This does seem a bit odd an in contrast to S.? that only logs once for
the key even if there are multiple bundles.
I'm looking at some other stuff with resources so please open a ticket
and assign it to me (on GitHub)
/Jeppe
S.loc code:

def loc(str: String): Box[NodeSeq] =
    resourceBundles.flatMap(r => tryo(r.getObject(str) match {
      case null => LiftRules.localizationLookupFailureNotice.foreach(_(str, locale)); Empty
      case s: String => Full(LiftRules.localizeStringToXml(s))
      case g: Group => Full(g)
      case e: Elem => Full(e)
      case n: Node => Full(n)
      case ns: NodeSeq => Full(ns)
      case x => Full(Text(x.toString))
    }).flatMap(s => s)).find(e => true)

S.?! code:

private def ?!(str: String, resBundle: List[ResourceBundle]): String = resBundle.flatMap(r => tryo(r.getObject(str) match {
    case s: String => Full(s)
    case n: Node => Full(n.text)
    case ns: NodeSeq => Full(ns.text)
    case _ => Empty
  }).flatMap(s => s)).find(s => true) getOrElse {
    LiftRules.localizationLookupFailureNotice.foreach(_(str, locale));
    str
  }

I am currently working with this feature. One annoying thing about that code you posted: def loc(str: String): Box[NodeSeq] is called every time I use the Loc snippet. The tryo() block swallows Exceptions from getObject(), including the MissingResourceException which would be so helpful to track.
Is it possible to update this in a way that the localizationLookupFailureNotice is called every time a resource is missing?

Please try posting to the mailing list, as comments on really old issues usually require additional context best provided there. We can bring the discussion back here once an active committer understands what's up and expresses a willingness to change things (or if someone decides to submit a PR). Either way, discussion on the mailing list is the first step :)


About simrupt.c code comments

The comment in the produce_data function mentions "skip oldest element if kfifo buffer is full".
But in fact, it seems that when the buffer is full, it will choose not to insert new data, because the implementation of kfifo_in will first confirm whether the size to be put is greater than the remaining size. If it is, the remaining size will be the main one.

Refine the subject of this issue to make it more informative. In addition, you should provide some code snippets to emphasize the case you are concerned about.


[EventRequest] Add event to FindParentCRMAccountForContact in codeunit 7205 "CDS Int. Table. Subscriber"

We want to synchronize only Vendors and Contacts to dataverse.
But the contact is coupled to both a Customer record and a Vendor record.
In that case the account id in dataverse will be filled with the CRM id of the customer.
We would like have an event in the FindParentCRMAccountForContact to deal with this:
    local procedure FindParentCRMAccountForContact(SourceRecordRef: RecordRef; Silent: Boolean; var AccountId: Guid): Boolean
    var
        ContactBusinessRelation: Record "Contact Business Relation";
        Contact: Record Contact;
        Customer: Record Customer;
        Vendor: Record Vendor;
        CRMIntegrationRecord: Record "CRM Integration Record";
        isHandled: Boolean;
        RecordFound: Boolean;
    begin
        // Event>>
        OnBeforeFindParentCRMAccountForContact(SourceRecordRef, Silent, AccountId, RecordFound, isHandled);
        if IsHandled then
            exit(RecordFound);
        // Event<<

    [IntegrationEvent(false, false)]
    local procedure OnBeforeFindParentCRMAccountForContact(SourceRecordRef: RecordRef; Silent: Boolean; var AccountId: Guid; var RecordFound: Boolean; var isHandled: Boolean)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Parallel Tool Calling and LLM Token Streaming Issue

Is there a reason you've been using legacy function calling for OpenAI models in all the langgraph examples instead of tools? Before the latest update with ToolExecutor I did something sort-of similar by subclassing Runnable, overwriting invoke then calling batch on the tool inputs for concurrent execution with a tools agent and that worked fine, but I'm just curious why you aren't promoting the use of tools vs. functions with langgraph like you are for Agents, and adding support for tool_call_ids, etc. With an openai_tools_agent and the new classes something like this gives the correct output:
def execute_tools_concurrent(data):
    agent_actions = data.pop('agent_outcome')
    tool_actions = [ToolInvocation(tool = action.tool, tool_input=action.tool_input) for action in agent_actions]
    outputs = tool_executor.batch(tool_actions)
    full_output = list(zip(agent_actions, outputs))
    data['intermediate_steps'].extend(full_output)
    return data

But for building from scratch in langgraph and appending ToolMessages instead of FunctionMessages to the state, the new classes do not support adding tool_call_ids, so you have to extend those classes. I'm currently adding an attribute to ToolInvocationInterface and ToolInvocation for tool_call_id and extending ToolExecutor to output the following from _execute and _aexecute:
return {"id": tool_invocation.tool_call_id, "output": output}
Then you can do this sort of thing:
...
tool_calls = last_message.additional_kwargs['tool_calls']

actions = [ToolInvocationWithID(
        tool=tool_call['function']['name'],
        tool_input=json.loads(tool_call['function']['arguments']),
        tool_call_id = tool_call['id']
    ) for tool_call in tool_calls]

responses = enhanced_executor.batch(actions)

tool_messages = [ToolMessage(content=str(r['output']), tool_call_id=r['id']) for r in responses]

return {"messages": tool_messages}

This does work, but maybe there's a better way? Am I missing something?

My actual issue is I can't get the LLM token streaming to work. I updated langchain, langchain_openai, and langgraph and copied streaming-tokens.ipynb verbatim and I'm getting no /logs/ output at all from astream_log. Are you sure the implementation with:
async def call_model(state):
    messages = state['messages']
    response = await model.ainvoke(messages)

    return {"messages": [response]}

is correct? Do you need to change it to astream or something to get the tokens?

@tgram-3D for now to get token streaming to work:

initialize your LLM with streaming=True
make sure everything is async

If you're using a callback manager, use the async variety to be safe and propagate it through or else attach it directly as a local callback to the model
Alternatively, use the output astream_log to get token by token streaming

@tgram-3D take a look at:
https://github.com/langchain-ai/langchain/blob/d8c833eff523335beef9791233fc12a8c7235e95/docs/docs/modules/agents/how_to/streaming.ipynb
https://github.com/langchain-ai/langchain/blob/d8c833eff523335beef9791233fc12a8c7235e95/docs/docs/modules/agents/how_to/streaming_callbacks.ipynb
and we have a new solution incoming:
https://github.com/langchain-ai/langchain/pull/16172

@eyurtsev Thank you for the info.
I found out that token streaming from astream_log with the provided configuration works if you are using an Agent as the agent node in LangGraph, but not if you are using ChatOpenAI directly with a wrapper call_model function like in the new examples. I'm sure there's a way around it with that same syntax, but an interim fix until astream_events is ready is to compose it as a chain, e.g.:
model_chain = (lambda x: x['messages']) | model | {"messages": lambda x: [x]}

...

workflow.add_node("agent", model_chain)

This way astream_log recognizes the nested streaming llm call and you can access the individual tokens with:
async for output in app.astream_log(inputs, include_types="llm"):
    for op in output.ops:
        if op["path"] == "/streamed_output/-":
            ...
        elif op["path"].startswith("/logs/") and op["path"].endswith(
            "/streamed_output/-"
        ):
            print(op["value"])

I think you'd need to yield the token outputs in the call_model function so that it is treated as a generator. @eyurtsev anything else required to get the streaming to work?

@hinthornw I'm confident the issue lies with the missing yield. Specifically, in the streaming notebook example, the call_model method merely invokes the results from the LLM chat chain, whereas it ought to yield the results instead. However, when I modified it to yield the results, I found myself unable to retrieve the streamed tokens via the app.stream_logs or apps.stream_events method.
any guidance from your side @elliottshort ?

Any updates for the parallel tool calling? @tgram-3D can you share your code or open a PR?

@gianfrancodemarco A few of the latest notebooks use OpenAI tools and PydanticToolsParser, but enforce calling a specific tool vs. parallel calling - I think.  I'm sure you could use those examples for a much cleaner way to do parallel tool calling, but originally I just modified the ToolExecutor classes to enable appending ToolMessages to the graph:
from langgraph.prebuilt.tool_executor import ToolInvocationInterface, ToolExecutor, ToolInvocation
from typing import Any

class ToolInvocationWithIDInterface(ToolInvocationInterface):
    """Extended interface for invoking a tool with an ID."""
    tool_call_id: str

class ToolInvocationWithID(ToolInvocation):
    """Information about how to invoke a tool."""
    tool_call_id: str

class EnhancedToolExecutor(ToolExecutor):
    async def _aexecute(self, tool_invocation: ToolInvocationWithIDInterface) -> Any:
        if tool_invocation.tool not in self.tool_map:
            return {
                "id": tool_invocation.tool_call_id,
                "error": self.invalid_tool_msg_template.format(
                    requested_tool_name=tool_invocation.tool,
                    available_tool_names_str=", ".join([t.name for t in self.tools]),
                )
            }
        else:
            tool = self.tool_map[tool_invocation.tool]
            output = await tool.ainvoke(tool_invocation.tool_input)
            return {"id": tool_invocation.tool_call_id, "output": output}

    def _execute(self, tool_invocation: ToolInvocationWithIDInterface) -> Any:
        if tool_invocation.tool not in self.tool_map:
            return {
                "id": tool_invocation.tool_call_id,
                "error": self.invalid_tool_msg_template.format(
                    requested_tool_name=tool_invocation.tool,
                    available_tool_names_str=", ".join([t.name for t in self.tools]),
                )
            }
        else:
            tool = self.tool_map[tool_invocation.tool]
            output = tool.invoke(tool_invocation.tool_input)
            return {"id": tool_invocation.tool_call_id, "output": output}

Then you can do parallel calling with batch or abatch as described in my first comment.

I got the same problem (with llm not streaming tokens) and have fixed it with the following workaround:
async def call_model(state, config):  # <- I have added extra parameter "config"
    messages = state['messages']
    response = await model.ainvoke(messages, config=config)  # <- and passing it to model

    return {"messages": [response]}

That way I was able to get my tokens stream from llm

What should be passed as config?

@dmitryrPlanner5D I see. I have a slightly different configuration though:
My node calls a chain. When calling chain.astream_events the tokens are streamed correctly. However, when called within the graph, the same doesn't happen.
Here is the definition of the node I have
async def generate(
        state: GraphState
    ) -> Dict[
        str,
        Union[
            str,
            List[int],
            List[str]
        ]
    ]:

    """
    Generates a response after context has been retrieved.

    Args:
        state (messages): The current state of the agent.
    Returns:
        dict: The output key is filled.
    """

    agent_output = state["agent_outcome"]
    inputs = agent_output.tool_input
    docs = state["docs"]

    output = await chain.ainvoke(
        {
            "input": inputs["standalone_query"],
            "conversation_summary": inputs["conversation_summary"],
            "context": _combine_documents(docs),
        }
    )

    return {"output": output}

The chain is a standard prompt | llm | JsonOutputParser with streaming=True for the llm and llm is bind to a pydantic tool to give cited answers.

@dmitryrPlanner5D Is there a similar trick to allow streaming of the JsonOutputToolParser?
When running chain.astream_events I see events appearing like
on_chain_start
on_prompt_start
on_prompt_end
on_chat_model_start
on_chat_model_stream
on_parser_start
on_parser_stream
on_chain_stream
on_chat_model_stream
on_parser_stream

when instead running graph.astream_events, the events relative to the node running the above chain looks like
on_chain_start
on_prompt_start
on_prompt_end
on_chat_model_start
on_chat_model_stream
on_chat_model_stream
on_chat_model_stream
...
on_chat_model_stream
on_chat_model_end
on_parser_start
on_parser_end
on_chain_end```
Any idea on why the parser does not stream?

Opened a discussion about it https://github.com/langchain-ai/langchain/discussions/20324


mesos - expose config for setting heartbeatMaxFailures to reconnect after master failover

In case of mesos master failover, we need to reconnect to master by re-subscribing.

Description

Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[x] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Codecov Report

Merging #4171 into master will increase coverage by 20.49%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##           master    #4171       +/-   ##
===========================================
+ Coverage   60.67%   81.17%   +20.49%
===========================================
  Files         152      152
  Lines        7291     7292        +1
  Branches      470      472        +2
===========================================
+ Hits         4424     5919     +1495
+ Misses       2867     1373     -1494

Impacted Files
Coverage Δ

...e/openwhisk/core/mesos/MesosContainerFactory.scala
57.4% <0%> (+57.4%)
:arrow_up:

.../scala/org/apache/openwhisk/utils/Exceptions.scala
20% <0%> (-20%)
:arrow_down:

...whisk/connector/kafka/KafkaProducerConnector.scala
72.5% <0%> (-15%)
:arrow_down:

...e/openwhisk/core/containerpool/ContainerPool.scala
92.62% <0%> (+1.63%)
:arrow_up:

.../scala/org/apache/openwhisk/core/entity/Exec.scala
85% <0%> (+1.66%)
:arrow_up:

.../org/apache/openwhisk/core/entity/EntityPath.scala
100% <0%> (+1.88%)
:arrow_up:

...a/org/apache/openwhisk/core/entity/Parameter.scala
95.45% <0%> (+2.27%)
:arrow_up:

.../org/apache/openwhisk/http/PoolingRestClient.scala
90% <0%> (+3.33%)
:arrow_up:

...hisk/core/controller/actions/SequenceActions.scala
92.1% <0%> (+3.5%)
:arrow_up:

...tainerpool/docker/DockerClientWithFileAccess.scala
96% <0%> (+4%)
:arrow_up:

... and 88 more

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 38bfc4b...281521c. Read the comment docs.


headers syncing megaissue

[x] akin getting hangups while syncing headers, see Slack. It needs to better support and handle timeouts/retries (to other servers?)

[x] can't ctrl-C / shutdown while headers are downloading - takes 10+ seconds

[x] make sure headers download percentage starts from 0 if new blocks are being downloaded on startup (to account for any missing blocks since last run). Currently this would show something like 97% if it was almost caught up. Starting from 0 will give a better indication of progress to the user.

[ ] determine source of delay: Between finishing headers download and address subscription, there is a 4 second delay.

019-11-22 10:27:27,515 INFO     torba.client.baseledger:329: Headers sync: 670774 / 670774
2019-11-22 10:27:31,499 INFO     torba.client.baseledger:297: Subscribing and updating accounts.

[x] ? package headers with lbrynet executable. This would auto-extract the headers into the data directory if they don't exist.

Bonus:

[ ] figure out why verification takes 30+ seconds on slower disks

2019-11-25 18:48:36,546 INFO     lbry.extras.daemon.Components:180: remote height: 668566, local height: 671984
2019-11-25 18:49:32,715 INFO     lbry.extras.daemon.Components:220: Header checkpoint verified.

1, 2 and 3 on: https://github.com/lbryio/lbry-sdk/pull/2656

moved last item into its own issue: https://github.com/lbryio/lbry-sdk/issues/2711


Update Badge Doom link

Updated link (for multiplayer etc is)
https://github.com/kilograham/rp2040-doom/releases/tag/defcon32_v1

Doing now!


Half precision error

When I executed EDSR baseline model (x2) training additionally with half precision option, I encountered errors as following.
Could you give me any suggestions to avoid it?
python main.py --model EDSR --scale 2 --save EDSR_baseline_x2_half --reset --precision half
Making model...
Preparing loss function:
1.000 * L1
[Epoch 1]       Learning rate: 1.00e-4
Skip this batch 2! (Loss: inf)
Skip this batch 3! (Loss: inf)
Skip this batch 4! (Loss: inf)
Skip this batch 5! (Loss: inf)
Skip this batch 6! (Loss: inf)

Hello.
We do not support half-precision training, since it is not that straightforward.
For example, ADAM optimizer does not work well with half-precision, and gradient accumulation & update are also inaccurate.
There are several papers handling low-precision training, so you can find them if you have to train the network with half-precision.
What you can do is half-precision test, which requires half memory without performance drop.
Also, in some advanced GPUs, half-precision is much faster than the single-precision.
Thank you.

Thanks for your detailed and fast response.


On branch x86_64 My bad for muOS!

modified:   PortMaster/pylibs/harbourmaster/platform.py

What has happened here? I cant merge this. 🐢 🤔

Have I made a mistake or GitHub the issue?
The changes are easy to redo. It was the testing and understanding that took longer 😂
Should I do a new PR?


Rename "NEXT_PUBLIC_MOONSTREAM_DB_URL" to "NEXT_PUBLIC_MOONSTREAM_DB_API_URL"

NEXT_PUBLIC_MOONSTREAM_DB_URL is a very scary name, and indicates a direct connection to the database.
What this variable actually contains is the URL of the API that current returns the Moonstream DB status.

Also it requires to change secret in deployment Repo


Indicators for LoRaWAN gateways

Indicators for LoRaWAN gateways
Add color indicators under the configuration section for the LoRaWAN gateways to show a status, where green is connected and red is disconnected.

Completed in #16


Boas 11 correcting lint issues in api

Describe your changes

Issue ticket number and link
Type of change 🧩

[ ] 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 not work as expected)
[ ] Documentation update
[√] Other (please explain in the description section above)

Checklist before requesting a review

[√] I have performed a self-review of my own code
[√]I have double checked this work does not include any hardcoded secrets or passwords
[√] I have made corresponding changes to the documentation
[√] I have provided details on how I have tested my code
[√] I have referenced the ticket number above
[√] I have provided a description of the ticket
[√] I have included unit tests to cover any testable code changes

The apps/api/package-lock.json file should not exist – this was removed from the develop branch but is now back again. This causes the npm ci task to fail (see pipeline logs)

The apps/api/package-lock.json file should not exist – this was removed from the develop branch but is now back again. This causes the npm ci task to fail (see pipeline logs)

That is a good point, we can create a separate PR to remove this

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

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

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

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

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

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

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

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

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

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

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


Update requirements and README

Small PR that does the following:

Updates the README to be more descriptive
Adds progressbar to requirements.txt

Since these are very minor changes I'm going to go ahead and merge.


Add main section in package.json

When using this module from a CommonJS module, it would be useful if package.json has a main section. By adding it, I can easily require this module like var DraggableNumber = require('draggable-number.js');.

Thanks 👍


Docs need screenshot :)

:+1:
Or at least make the sample available e.g. on github.io
Thanks!

Fixed in https://github.com/chartjs/chartjs-plugin-annotation/releases/tag/v0.5.6


Add Configuration for StabilityAI's StableCode-Completion-Alpha-3B Model

Add Configuration for StableCode-Completion-Alpha-3B Model.
Description
This pull request adds a new configuration for the stablecode-completion-alpha-3b model from StabilityAI and Restructured code related to StabilityAI models configurations.
Related Issue
This PR addresses issue #427.
Screenshots

I'd like to highlight that the provided example above became functional only after I made modifications to the __init__ method of the tokenizer. These changes involved manually setting the self.bos_id and self.eos_id to the value 0, which is the specific value used by this tokenizer.

Here's the error that occurred when I kept everything unchanged, along with a snapshot of the contents of the tokenizer_config.json that I printed:

Could you also push your tokenizer changes? You could make them default to 0 if the fields don't exist.
Although in this case, they seem to have these fields in a different file than normally: https://huggingface.co/stabilityai/stablecode-completion-alpha-3b/blob/main/generation_config.json

Yes ofc! but I just want point out that this might not be suitable for all cases, as different tokenizers could use different IDs for BOS and EOS tokens.

That's true, then maybe add support for falling back to generation_config.json if it exists

Screenshot of a generation example of stablecode-completion-alpha-3b-4k model

LGTM! Pushed some fixes. Thank you for working on this

My Pleasure :3


Redo test files bigger.json and famcov.json

these files were hand edited to use better node normalized values. this actually corrected a couple tests in test_graph_coalescer.py but created a failure in test_bigs.py.
these files should be rebuilt using to hopefully sync various curies derived from the latest normalization services.

This has largely been completed. there remains an issue wilf self referencing nodes in the covid data that must be addressed so the tests dont fail.

self referencing nodes will be addressed in another issue.


[T5A2][F10-B2]Joel Foo

Review in tutorial

@jaeoheeail :  Accept the PR since it is reviewed at tutorial. Proceed to close the PR.


Feat: Add navbar in AgroBlog page

Describe the feature
Adding the navbar in the AgroBlog page so user can directly jump to page or section he want to move
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Suchitra-Sahoo can you please assign this task to me?


Cant build or load projects when not running terminal/IDE as administrator

Describe the bug
Trying to build a clean template generated with dotnet new waypoint and running dotnet fake build (after dotnet tool restore) i get the following error when running in a non-elevated shell. Everything works fine in an elevated shell.

There was a problem while setting up the environment:
-> symlink C:\Users\kevin\.nuget\packages\microsoft.netcore.targets\3.1.0 -> C:\Users\kevin\source\repos\WaypointTest2\packages\docs\Microsoft.NETCore.Targets failed with error : [1] with output :
    and error : You do not have sufficient privilege to perform this operation.
   StackTrace:
        at Microsoft.FSharp.Core.PrintfModule.PrintFormatToStringThenFail@1637.Invoke(String message) in E:\A\_work\130\s\src\fsharp\FSharp.Core\printf.fs:line 1637
        at SymlinkUtils.makeDirectoryLink(String target, String source)
        at Paket.NuGet.downloadAndExtractPackage@1045-6.Invoke(String _arg17)
        at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvokeNoHijackCheck[a,b](AsyncActivation`1 ctxt, FSharpFunc`2 userCode, b result1) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 417
        at <StartupCode$FSharp-Core>.$Async.Return@1066.Invoke(AsyncActivation`1 ctxt) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 1066
        at <StartupCode$FSharp-Core>.$Async.Return@1066.Invoke(AsyncActivation`1 ctxt) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 1066
        at Microsoft.FSharp.Control.AsyncPrimitives.unitAsync@589.Invoke(AsyncActivation`1 ctxt) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 589
        at Microsoft.FSharp.Control.AsyncPrimitives.unitAsync@589.Invoke(AsyncActivation`1 ctxt) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 589
        at Microsoft.FSharp.Control.AsyncPrimitives.unitAsync@589.Invoke(AsyncActivation`1 ctxt) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 589
        at Microsoft.FSharp.Control.AsyncPrimitives.unitAsync@589.Invoke(AsyncActivation`1 ctxt) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 589
        at Microsoft.FSharp.Control.AsyncPrimitives.unitAsync@589.Invoke(AsyncActivation`1 ctxt) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 589
        at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 109
     --- End of stack trace from previous location where exception was thrown ---
        at Microsoft.FSharp.Control.AsyncResult`1.Commit() in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 349
        at Microsoft.FSharp.Control.AsyncPrimitives.RunSynchronouslyInCurrentThread[a](CancellationToken cancellationToken, FSharpAsync`1 computation) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 870
        at Microsoft.FSharp.Control.AsyncPrimitives.RunSynchronously[T](CancellationToken cancellationToken, FSharpAsync`1 computation, FSharpOption`1 timeout) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 890
        at Microsoft.FSharp.Control.FSharpAsync.RunSynchronously[T](FSharpAsync`1 computation, FSharpOption`1 timeout, FSharpOption`1 cancellationToken) in E:\A\_work\130\s\src\fsharp\FSharp.Core\async.fs:line 1151
        at Paket.RestoreProcess.Restore@834-10.Invoke(Unit unitVar0)
        at Paket.Utils.RunInLockedAccessMode[a](String lockedFolder, FSharpFunc`2 action)
        at Paket.RestoreProcess.Restore(String dependenciesFileName, RestoreProjectOptions projectFile, Boolean force, FSharpOption`1 group, Boolean ignoreChecks, Boolean failOnChecks, FSharpOption`1 targetFrameworks, FSharpOption`1 outputPath, Boolean skipRestoreTargetsExtraction)
        at Fake.Runtime.FakeRuntime.paketCachingProvider(FakeConfig config, String cacheDir, Dependencies paketApi, Lazy`1 paketDependenciesFile, FSharpOption`1 group) in D:\a\1\s\src\app\Fake.Runtime\FakeRuntime.fs:line 345
        at Fake.Runtime.FakeRuntime.runScript(PrepareInfo preparedScript) in D:\a\1\s\src\app\Fake.Runtime\FakeRuntime.fs:line 596
        at Program.runOrBuild(RunArguments args) in D:\a\1\s\src\app\Fake.netcore\Program.fs:line 156

Ionide fails to load the projects as well when run in non-elevated VSCode (i guess this is because it tries to run dotnet restore?). It works here aswell when running vscode elevated.

To Reproduce
Steps to reproduce the behaviour:

install latest waypoint template (dotnet new -i waypoint)
create clean new template (dotnet new waypoint)
open  in non-elevated vscode
dotnet tool restore and then dotnet fake build in non elevated shell

Expected behaviour
project builds and can be loaded in vscode
Environment (please complete the following information):

OS: Windows 10 Pro 1909 18363.836
Ionide version: 4.11.0
VSCode version: 1.45.1 (user setup)
dotnet SDK version: 3.1.201

This is bit surprising - I'm not running Code or my terminal in elevated mode usually.
As a workaround in paket.dependencies file change line with storage: symlink to the storage: packages


Add more currencies and update some Electrum servers

Just a regular update from https://github.com/jl777/coins
Changes: https://github.com/jl777/coins/compare/ea1c8c7b5135a4e39021fae8bc08934588f24e4c...74bd464e6a353f1ace064a631b3798cc64fcbff7
I have manually tried all the new coins and they seem to work.
Added currencies:

GBX
SMART
STAK
MAC
MNX
CALL
VRSC
CC
FTC
POLIS
XMCC
XZC

I know a lot of people have requested VRSC. Did you manage to make a trade? I can deposit but not seeing anything in the order book.

I've been trying to buy some VRSC all day, but the orders just stay at Open status.

Have you seen anything in the order book? It could just be their are no Bobs.

Yep, got the same order through now and having the same problem, trying to find out the owner of the Bob on Discord.


Unresolving a flag which you subscribe to results in dashboard notification of "deleted user resolved flag"

Describe the bug
If one unresolves a flag one is subscribed to, one gets a notification saying a deleted user unresolved the flag.
To Reproduce
Steps to reproduce the behavior:

Find a resolved flag and add a comment to it or subscribe to it.
Unresolve the flag.
Your dashboard will show that "deleted user" unresolved the flag.

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

Context

OS: Mac OS Big Sur
Browser FF 93

Additional context
https://forum.inaturalist.org/t/flag-resolved-by-a-deleted-user/11160

This should be resolved now. The dashboard notification will no longer say a deleted user resolved the flag, and will also list details about the flag and the fact that it is "unresolved"


Release Google.Cloud.Dialogflow.V2 version 3.4.0

Changes in this release:

Commit 5dba1ca:

fix: fix validation result docs
feat: add language code to streaming recognition result
docs: update environment docs

Commit 281077c: docs: fix typos

Created release for Google.Cloud.Dialogflow.V2-3.4.0


Implement live layer for DeleteExecutor

Following the pattern established in ReadExecutor, this live layer should delete matching rows from a connection.

I would like to try this one!

Delete executor implemented in: https://github.com/zio/zio-sql/pull/281


Model Size of RT-2-X

Thanks for the great work!
May I know how large is the RT2-X here? 55B?
thx!

It's 55B.


Transparent background of image

As per https://twitter.com/Gadgetoid/status/829006029052579840
Transparent background makes text hard to read.
Need to remove transparency and replace with white / grey?

Use this http://stackoverflow.com/questions/9166400/convert-rgba-png-to-rgb-with-pil

Thanks to @Gadgetoid for the report.


Term base (glossary) converted to TM to train Opus-Cat

Hello
I'm doing some MT post editing (no idea which MT engine was used) and I'm still amazed that although MT has come a long way, it is so inconsistent when it comes to individual words, even where the strings are almost identical.
I've noticed this with Opus as well even after training it (it has some effect but...)
So I'm now wondering if I took a Termbase and imported it into memoQ as source and target, and then exported the job as a TMX, what would be the effect if I then trained Opus with a set of TMs including the TM that was created from the Termbase.as described above.
Would this have a major effect on the performance of Opus?
Thanks in advance for your views

It would probably have some effect, but I'm not sure if the isolated term translations would affect the choices that the NMT system makes when translating the terms in the context of full sentences.
If you include the glossary multiple times over in the training material, it will probably have an effect: I once fine-tuned a model to correct the translation of the word corona in Finnish by just fine-tuning with a single repeated sentence where the correct translation was used, and that seemed to affect instances of corona in all contexts. But there is bound to be some degradation in the overall performance of the model if you fine-tune again and again with the same glossary.
There's quite a lot of research on including terms in NMT, but I don't anyone has the silver bullet yet. It's just a very difficult job to do given the black-box nature of NMT.

Hello Tommi and all
I've come back to this as I'm now doing a job with a trained Opus MT engine
In the TM used to train the engine, the word "sortiment" (Swedish) occurs 6 times, always translated as "range" (English)
The word "assortment" never occurs in the TM's target segments, whether as a translation of "sortiment" or elsewhere.
Yet Opus MT with the trained engine still translates "sortiment" as "assortment"😠
So my first thought was that maybe Opus is not using the right trained engine in memoQ  I therefore both "prioritized" and clicked on "use as override model" to eliminate this possibility
I also went to memoQ setttings and made sure the language pair was sv to en (Swedish to English) and not fr to en (French to English)
But each rerun gives the same result. "Sortiment" gets translated as "Assortment"😠
How can I be sure that Opus is using the trained MT engine? In memoQ, I can see the Fiskmö MT plugin giving hits in real time but the MT engine used is not indicated. (could this be improved?)
The other possibility is simply that like many other MT engines, FiskMô is not great on individual words/small phrases but how many times does it need to see in a TM that "sortiment" = "range" before it gets the message?
What do you think?

Hello again
Another example today
"Läs mer"  or a close variant like "Här kan du läsa mer " always translated as "read more" or "you can read more..." 21 (twenty-one) times in the TM used to train Fiskmö. "Learn" is never used in any identical or similar construction or at all in the TM
Yet FiskMö has translated it as "learn more"
So I'm really starting to think that Opus did not use the trained MT engine but how can I check this please?
Thanks

Hi,
Sorry about the late reply, just now going through OPUS-CAT issues.
I tested the issues you mention, and weirdly the translations from the standard models seems to produce "range" for "sortiment" and "read more" for "läs mer". For some reason the fine-tuning process has increased the probability of the other translations you mention ("assortment"/"learn more"). Could there have been some problems with the fine-tuning process, how do the progress graphs look like for these models?
You're right that identifying the model that is producing the translations in memoQ is difficult at the moment, but you can always verify what translations the model produces by using the Translate with model functionality in the engine.
-Tommi

Hello Tommi
The graph looked okay but I did reinstall the MT engine and it is working better this time in relation to what I said before. But it does now have more examples to use as the TM was updated after the last job
I have another job this week where I will probably use OPUS for a different client and another chance to see if this happens
thanks for all your help
Dave


[BUG] Created date of joined video does not match the created date of first video.

Describe the bug
The joined video is using "modified date" of first file as "created date" for the joined file. which make it hard to utilize auto-sync function in post process apps.
To Reproduce
Steps to reproduce the behavior:
I just drag the folder into reelsteedy joiner and join multiple clips, this happen every time.
Screenshots

Desktop (please complete the following information):

OS: MacOS (M1)
Version 13.5.1
ReelSteady Joiner Version : 1.3.1

GoPro camera and files information
(If applicable)

GoPro Model: GoPro Hero 11 mini
GoPro Files info: refer to screenshot

[IMPORTANT] Logs (attach log file)
You can find the log files by opening ReelSteady Joiner > Settings Button > Open Logs
GX010583_5 Sep 2023 09-57.log
GX010585_5 Sep 2023 10-16.log

I understand that from what you say, you are not interested in the creation date of the "..._joined.mp4" file being edited automatically, right? Do you need the actual creation date of the file to be preserved? That is, the system date at the time the "..._joined.mp4 file is generated.

Yes, it seems reasonable to me, so I'm going to add an option to disable date editing. Since it is not a bug, I will edit the issue to make it a feature request. As soon as the new version with this option is available, I will let you know.

Added in new version 1.3.2 available now


SSLError  HTTPSConnectionPool  Max retries exceeded with url: /oauth/token Caused by SSLError('bad handshake: SysCallError(0, None))

Summary
The problem that I am having is showing up after user enters their credentials at the Auth0's lock screen. When I looked at Auth0 Dashboard's log section I can see users can login successfully ( I see both Success Exchange, Success Login ). Then call back function is triggering the callback call. At that point production and test(localhost) environments differs from each other.
In localhost I can see the status code 302 Found status code on the localhost but not in the production server. In production server I am seeing the status code 500 INTERNAL SERVER ERROR.
When I checked the server side I saw it was failing at the token line of the callback function
@app.route('/callback')
def callback_handling():
     code = request.args.get('CODE_KEY')
     get_token = GetToken('AUTH0_DOMAIN')
     auth0_users = Users('AUTH0_DOMAIN')
     token = get_token.authorization_code('AUTH0_CLIENT_ID'], ['AUTH0_CLIENT_SECRET', code, 'AUTH0_CALLBACK_URL')   # FAILING HERE #
     user_info = auth0_users.userinfo(token['access_token'])
     .....
     ...
     ..
     return redirect('/some_path')

When I checked the credentials they all look what they are supposed to be. So in the server logs I am seeing this keywords in the servers.
ERROR in app: Exception on /callback
raise SSLError(e, request=request)
SSLError: HTTPSConnectionPool(host='my_domain.auth0.com', port=443): Max retries exceeded with url: /oauth/token (Caused by SSLError(SSLError('bad handshake: SysCallError(0, None)',),))

I am thinking server might be rejecting the certificate or something and after seeing this link thought opening issue might be helpful.
Ubuntu 16.04, Python 2.7.12, certifi 2<IP_ADDRESS>
Expected Result
In the callback function returns token
token = get_token.authorization_code('AUTH0_CLIENT_ID', 'AUTH0_CLIENT_SECRET', code, 'AUTH0_CALLBACK_URL')
Actual Result
SSLError: HTTPSConnectionPool(host='my_domain.auth0.com', port=443): Max retries exceeded with url: /oauth/token (Caused by SSLError(SSLError('bad handshake: SysCallError(0, None)',
Reproduction Steps
import requests

System Information
$ python -m requests.help

python -m requests.help
{
  "chardet": {
    "version": "3.0.4"
  },
  "cryptography": {
    "version": "1.2.3"
  },
  "idna": {
    "version": "2.6"
  },
  "implementation": {
    "name": "CPython",
    "version": "2.7.12"
  },
  "platform": {
    "release": "3.13.0-43-generic",
    "system": "Linux"
  },
  "pyOpenSSL": {
    "openssl_version": "1000207f",
    "version": "0.15.1"
  },
  "requests": {
    "version": "2.18.4"
  },
  "system_ssl": {
    "version": "1000207f"
  },
  "urllib3": {
    "version": "1.22"
  },
  "using_pyopenssl": true
}

This command is only available on Requests v2.16.4 and greater. Otherwise,
please provide some basic information about your system (Python version,
operating system, &c).

Thanks for this report! I think we need to see a bit more of the actual Requests code. It seems like the server is rejecting the handshake but it's hard to know more without seeing your requests call.

Hi Lukasa,
The code below is being called by token = get_token.authorization_code('AUTH0_CLIENT_ID'], ['AUTH0_CLIENT_SECRET', code, 'AUTH0_CALLBACK_URL') function which is located in my callback function.
import json
import requests
from ..exceptions import Auth0Error

class AuthenticationBase(object):

    def post(self, url, data=None, headers=None):
        response = requests.post(url=url, data=json.dumps(data),
                                 headers=headers)
        return self._process_response(response)

    def get(self, url, params=None, headers=None):
        return requests.get(url=url, params=params, headers=headers).text

    def _process_response(self, response):
        try:
            text = json.loads(response.text) if response.text else {}
        except ValueError:
            return response.text
        else:
            if 'error' in text:
                raise Auth0Error(status_code=text['error'],
                                 error_code=text['error'],
                                 message=text['error_description'])
        return text

More deeper
instancemethod: <bound method GetToken._process_response of <auth0.v3.authentication.
 get_token.GetToken object at 0x7f4ff00a8450>>

――――――――――――――――――――――――――――――――――――――――
def _process_response Found at: auth0.v3.authentication.base

def _process_response(self, response):
    try:
        text = json.loads(response.text) if response.text else {}
    except ValueError:
        return response.text
    else:
        if 'error' in text:
            raise Auth0Error(status_code=text['error'],
                error_code=text['error'],
                message=text['error_description'])

    return text

Closer look to exception's traceback
[Fri Aug 18 09:57:12.535170 2017] [wsgi:error] [pid 14121]   File "/usr/local/lib/python2.7/dist-packages/auth0/v3/authentication/get_token.py", line 49, in authorization_code
[Fri Aug 18 09:57:12.535300 2017] [wsgi:error] [pid 14121]     headers={'Content-Type': 'application/json'}
[Fri Aug 18 09:57:12.535315 2017] [wsgi:error] [pid 14121]   File "/usr/local/lib/python2.7/dist-packages/auth0/v3/authentication/base.py", line 10, in post
[Fri Aug 18 09:57:12.535366 2017] [wsgi:error] [pid 14121]     headers=headers)
[Fri Aug 18 09:57:12.535378 2017] [wsgi:error] [pid 14121]   File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 112, in post
[Fri Aug 18 09:57:12.535463 2017] [wsgi:error] [pid 14121]     return request('post', url, data=data, json=json, **kwargs)
[Fri Aug 18 09:57:12.535475 2017] [wsgi:error] [pid 14121]   File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 58, in request
[Fri Aug 18 09:57:12.535493 2017] [wsgi:error] [pid 14121]     return session.request(method=method, url=url, **kwargs)
[Fri Aug 18 09:57:12.535501 2017] [wsgi:error] [pid 14121]   File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 508, in request
[Fri Aug 18 09:57:12.535746 2017] [wsgi:error] [pid 14121]     resp = self.send(prep, **send_kwargs)
[Fri Aug 18 09:57:12.535759 2017] [wsgi:error] [pid 14121]   File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 618, in send
[Fri Aug 18 09:57:12.535775 2017] [wsgi:error] [pid 14121]     r = adapter.send(request, **kwargs)
[Fri Aug 18 09:57:12.535782 2017] [wsgi:error] [pid 14121]   File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 506, in send
[Fri Aug 18 09:57:12.535964 2017] [wsgi:error] [pid 14121]     raise SSLError(e, request=request)
[Fri Aug 18 09:57:12.535991 2017] [wsgi:error] [pid 14121] SSLError: HTTPSConnectionPool(host='domain.auth0.com', port=443): Max retries exceeded with url: /oauth/token (Caused by SSLError(SSLError('bad handshake: SysCallError(0, None)',),))
[Fri Aug 18 09:57:12.536003 2017] [wsgi:error] [pid 14121] None

Any thoughts?
Thanks

Hrm, it's not super apparent what's happening here. SysCallError is an odd one, but I suspect this is the result of the TLS connection being shut down. Are you familiar enough with Wireshark or tcpdump to get me a packet capture of the connection attempt?

Problem solved! I was thinking that is something related with certificates and started to look into certifi in the beginning but problem is about pyOpenSSL when I compared the local and production pyOpenSSL versions, saw big version gap. Steps we followed

uninstalled pyOpenSSL-0.15.1

installed pyOpenSSL-17.2.0

and it works now. Thank you for all your assistance. You can mark issue as solved 😄

Thanks!

EZ
use and randomize proxies

https://stackoverflow.com/q/24323858/13476428
This solution fixed the issue by syncing the openssl versions
if
--with-brewd-openssl
doesn't work try uninstalling python and then install openssl and reinstall python with homebrew with steps mentioned in the link

Just use verify=False to ignore the SSL.
import requests

#old code
response = requests.get(url)

#new code
response = requests.get(url,verify=False)

@albayraktaroglu The solution is not working for me. i have upgraded to 18.0.0 but still getting error.
**SSLError**
HTTPSConnectionPool(host='firebasedynamiclinks.googleapis.com', port=443): Max retries exceeded with url: /v1/shortLinks?key=key (Caused by SSLError(SSLError("bad handshake: SysCallError(-1, 'Unexpected EOF')",),))

@albayraktaroglu Same story. Upgrading pyopenssl does not works for me. 👎

See my comment on May 14th.
From what I get Python needs to reference the right version of openssl. To ensure that I uninstalled both python and openssl and followed the link for reinstallation


Feat: Add option for generating docs without examples

usage: .\doc\make.bat html-noplot
This is helpful if you want to generate docs without having to run Mechanical for examples @ansys/pyansys-core

I think It would be helpful to document this in either the contributing guide or the development mode installation section as a note for anyone looking to contribute without building examples locally. Additionally, adding this information to our dev docs, including a link to the Sphinx Gallery configuration and a note about the plot gallery option, would be beneficial.


Use of anonymous function  for debug logs, breaks the documentation.

Description:
The recommendation is to an anonymous function to add debug logs. However, when we add an anonymous function, it breaks the documentation.
For example, take the http_cache.bal which results following warning in build time.
warning: ballerina/http::caching/http_cache.bal:22:5: no such documentable parameter 'cache'
warning: ballerina/http::caching/http_cache.bal:26:5: no such documentable parameter 'isShared'
warning: ballerina/http::caching/http_cache.bal:23:5: no such documentable parameter 'policy'
warning: ballerina/http::caching/http_cache.bal:62:28: undocumented return parameter

Closing since this is not valid now with the new design of API docs[1].
[1] https://ballerina.io/learn/api-docs/ballerina/


Implement http2 macros

Implement HTTP2_DIE_IF_NULL and HTTP2_UNREACHABLE: https://quiche.googlesource.com/quiche/+/refs/heads/master/http2/platform/api/http2_macros.h
This two interfaces doesn't have clear documentation about their usage. But at a glance, HTTP2_DIE_IF_NULL(ptr) is used as a function to check if passed-in argument is a nullptr, if not return the pointer, see its usage in chromium code: https://cs.chromium.org/chromium/src/net/third_party/quiche/src/http2/hpack/decoder/hpack_whole_entry_buffer.cc?type=cs&g=0&l=22, and HTTP2_UNREACHABLE() is used as a function too: https://cs.chromium.org/chromium/src/net/third_party/quiche/src/http2/decoder/http2_frame_decoder.cc?rcl=9e84364c1893473f994688884920e9a32d7e02df&l=73
Risk Level: low
Testing: Added new test in test/extensions/quic_listeners/quiche/platform:http2_platform_test
Part of #2557

/assign @mattklein123


ci: add dependabot.yml

Description
Add native Github dependabot config.

:tada: This PR is included in version 6.0.0-beta.5 :tada:
The release is available on:

v6.0.0-beta.5
GitHub release

Your semantic-release bot :package::rocket:

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


Update machine-tags.md

Adding note about maximum number of allowed characters

minor edits. Otherwise good to go.


fix: fal app openapi metadata

@badayvedat should i re-deploy svd/sdxl?

yes!

@isidentical yes!


[Bug]:  Failed to launch the browser process!

Bug description
    const browser = await puppeteer.launch({
        // executablePath: path.resolve('/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'),
        args: [
            '--no-sandbox',
            '--disable-setuid-sandbox',
            '--disable-dev-shm-usage',
            '--disable-accelerated-2d-canvas',
            '--disable-gpu'
        ],
        headless: true,
        devtools: false
    });

Puppeteer version
8.0.0
Node.js version
v12.13.0
npm version
6.12.0
What operating system are you seeing the problem on?
macOS
Relevant log output
Error: Failed to launch the browser process!
/home/work/xxx/node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome: symbol lookup error: /usr/lib64/libgdk_pixbuf-2.0.so.0: undefined symbol: g_bytes_unref

TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md

    at onClose (/home/work/xxx/node_modules/puppeteer/src/node/BrowserRunner.ts:222:9)
    at Interface.<anonymous> (/home/work/xxx/node_modules/puppeteer/src/node/BrowserRunner.ts:208:50)
    at Interface.emit (events.js:215:7)
    at Interface.EventEmitter.emit (domain.js:476:20)
    at Interface.close (readline.js:403:8)
    at Socket.onend (readline.js:180:10)
    at Socket.emit (events.js:215:7)
    at Socket.EventEmitter.emit (domain.js:476:20)
    at endReadableNT (_stream_readable.js:1183:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
Done in 5.00s.

centos 6.10

https://github.com/electron-userland/electron-prebuilt/issues/182 is related.

We no longer support Node 12, please try this again with the latest version of Puppeteer and Node 14+.


Concentrated Liquidity schema not defined. Returns "value is not a valid enumeration member"

When attempting to run the solver-template-py with a recent live mainnet auction json, it returns a bunch of errors:

field required (type=value_error.missing)
value is not a valid enumeration member

This is because the uniswap class in uniswap.py and the schema.py have not defined this type of AMM yet.

Great issue! Thanks for reporting. Any chance you'd like to submit a update to support such liquidity type?

Do you think the class Uniswap in uniswap.py, can handle it with some changes? Or you think a new class is needed altogether?

Do you think the class Uniswap in uniswap.py, can handle it with some changes? Or you think a new class is needed altogether?

That is a great question. I am not familiar with this new liquidity type "concentrated liquidity" (my best guess is that it's a model for uniV3). Perhaps it's time for some new models here. cc @marcovc


Can't read chinese subtitle in R

I am using R to perform the function get_caption.
Tried the code on numerous url links but none of it works on videos with chinese subtitle. I am sure that the subtitle is available in all this videos.
https://www.youtube.com/watch?v=4HLSBvlv0Ug
https://www.youtube.com/watch?v=oE0yPwT-c3Q&t=1s
https://www.youtube.com/watch?v=uIqegdIwtW0&t=72s

Hi @eyedu,
please elaborate on what exactly you are executing and what the output is. This is a python module and there is no get_caption function.

Hi, Thanks for getting back to me.
I was trying to run the package in R for any videos with chinese subtitles and I always get the same error message.
I am sure that the video comes with caption but I just don't know why it didn't work. I try to use python to do the same action but it didn't work as well.
Please see my R code below.

url <- ("https://www.youtube.com/watch?v=4HLSBvlv0Ug&t=85s")
caption <- get_caption(url)
Error: youtube_transcript_api._errors.NoTranscriptFound:
<... omitted ...>omali")

st ("Southern Sotho")
es ("Spanish")
su ("Sundanese")
sw ("Swahili")
sv ("Swedish")
tg ("Tajik")
ta ("Tamil")
tt ("Tatar")
te ("Telugu")
th ("Thai")
ti ("Tigrinya")
ts ("Tsonga")
tr ("Turkish")
tk ("Turkmen")
uk ("Ukrainian")
ur ("Urdu")
ug ("Uyghur")
uz ("Uzbek")
vi ("Vietnamese")
cy ("Welsh")
fy ("Western Frisian")
xh ("Xhosa")
yi ("Yiddish")
yo ("Yoruba")
zu ("Zulu")

If you are sure that the described cause is not responsible for this error and that a transcript should be retrievable, please create an issue at https://github.com/jdepoix/youtube-transcript-api/issues. Please add which version of youtube_transcript_api you are using and provide the information needed to replicate the error. Also make sure that there are no open issues which already describe your problem!
See reticulate::py_last_error() for details

I am still not sure what get_caption does, but seeing that code I would assume that you are using the url as a video id. The video id for https://www.youtube.com/watch?v=4HLSBvlv0Ug&t=85s is 4HLSBvlv0Ug.

Hi Jonas, thanks for getting back to me, I used python re-run the code and this is what I got.
from youtube_transcript_api import YouTubeTranscriptApi
YouTubeTranscriptApi.get_transcript("4HLSBvlv0Ug")

NoTranscriptFound                         Traceback (most recent call last)
<ipython-input-3-fcae0a96a7d8> in <module>
      1 from youtube_transcript_api import YouTubeTranscriptApi
      2
----> 3 YouTubeTranscriptApi.get_transcript("4HLSBvlv0Ug")

~/opt/anaconda3/lib/python3.8/site-packages/youtube_transcript_api/_api.py in get_transcript(cls, video_id, languages, proxies, cookies)
    130         """
    131         assert isinstance(video_id, str), "`video_id` must be a string"
--> 132         return cls.list_transcripts(video_id, proxies, cookies).find_transcript(languages).fetch()
    133
    134     @classmethod

~/opt/anaconda3/lib/python3.8/site-packages/youtube_transcript_api/_transcripts.py in find_transcript(self, language_codes)
    177         :raises: NoTranscriptFound
    178         """
--> 179         return self._find_transcript(language_codes, [self._manually_created_transcripts, self._generated_transcripts])
    180
    181     def find_generated_transcript(self, language_codes):

~/opt/anaconda3/lib/python3.8/site-packages/youtube_transcript_api/_transcripts.py in _find_transcript(self, language_codes, transcript_dicts)
    213                     return transcript_dict[language_code]
    214
--> 215         raise NoTranscriptFound(
    216             self.video_id,
    217             language_codes,

NoTranscriptFound:
Could not retrieve a transcript for the video https://www.youtube.com/watch?v=4HLSBvlv0Ug! This is most likely caused by:

No transcripts were found for any of the requested language codes: ('en',)

For this video (4HLSBvlv0Ug) transcripts are available in the following languages:

(MANUALLY CREATED)
 - zh-TW ("Chinese (Taiwan)")[TRANSLATABLE]

(GENERATED)
None

(TRANSLATION LANGUAGES)
 - af ("Afrikaans")
 - ak ("Akan")
 - sq ("Albanian")
 - am ("Amharic")
 - ar ("Arabic")
 - hy ("Armenian")
 - as ("Assamese")
 - ay ("Aymara")
 - az ("Azerbaijani")
 - bn ("Bangla")
 - eu ("Basque")
 - be ("Belarusian")
 - bho ("Bhojpuri")
 - bs ("Bosnian")
 - bg ("Bulgarian")
 - my ("Burmese")
 - ca ("Catalan")
 - ceb ("Cebuano")
 - zh-Hans ("Chinese (Simplified)")
 - zh-Hant ("Chinese (Traditional)")
 - co ("Corsican")
 - hr ("Croatian")
 - cs ("Czech")
 - da ("Danish")
 - dv ("Divehi")
 - nl ("Dutch")
 - en ("English")
 - eo ("Esperanto")
 - et ("Estonian")
 - ee ("Ewe")
 - fil ("Filipino")
 - fi ("Finnish")
 - fr ("French")
 - gl ("Galician")
 - lg ("Ganda")
 - ka ("Georgian")
 - de ("German")
 - el ("Greek")
 - gn ("Guarani")
 - gu ("Gujarati")
 - ht ("Haitian Creole")
 - ha ("Hausa")
 - haw ("Hawaiian")
 - iw ("Hebrew")
 - hi ("Hindi")
 - hmn ("Hmong")
 - hu ("Hungarian")
 - is ("Icelandic")
 - ig ("Igbo")
 - id ("Indonesian")
 - ga ("Irish")
 - it ("Italian")
 - ja ("Japanese")
 - jv ("Javanese")
 - kn ("Kannada")
 - kk ("Kazakh")
 - km ("Khmer")
 - rw ("Kinyarwanda")
 - ko ("Korean")
 - kri ("Krio")
 - ku ("Kurdish")
 - ky ("Kyrgyz")
 - lo ("Lao")
 - la ("Latin")
 - lv ("Latvian")
 - ln ("Lingala")
 - lt ("Lithuanian")
 - lb ("Luxembourgish")
 - mk ("Macedonian")
 - mg ("Malagasy")
 - ms ("Malay")
 - ml ("Malayalam")
 - mt ("Maltese")
 - mi ("Māori")
 - mr ("Marathi")
 - mn ("Mongolian")
 - ne ("Nepali")
 - nso ("Northern Sotho")
 - no ("Norwegian")
 - ny ("Nyanja")
 - or ("Odia")
 - om ("Oromo")
 - ps ("Pashto")
 - fa ("Persian")
 - pl ("Polish")
 - pt ("Portuguese")
 - pa ("Punjabi")
 - qu ("Quechua")
 - ro ("Romanian")
 - ru ("Russian")
 - sm ("Samoan")
 - sa ("Sanskrit")
 - gd ("Scottish Gaelic")
 - sr ("Serbian")
 - sn ("Shona")
 - sd ("Sindhi")
 - si ("Sinhala")
 - sk ("Slovak")
 - sl ("Slovenian")
 - so ("Somali")
 - st ("Southern Sotho")
 - es ("Spanish")
 - su ("Sundanese")
 - sw ("Swahili")
 - sv ("Swedish")
 - tg ("Tajik")
 - ta ("Tamil")
 - tt ("Tatar")
 - te ("Telugu")
 - th ("Thai")
 - ti ("Tigrinya")
 - ts ("Tsonga")
 - tr ("Turkish")
 - tk ("Turkmen")
 - uk ("Ukrainian")
 - ur ("Urdu")
 - ug ("Uyghur")
 - uz ("Uzbek")
 - vi ("Vietnamese")
 - cy ("Welsh")
 - fy ("Western Frisian")
 - xh ("Xhosa")
 - yi ("Yiddish")
 - yo ("Yoruba")
 - zu ("Zulu")

If you are sure that the described cause is not responsible for this error and that a transcript should be retrievable, please create an issue at https://github.com/jdepoix/youtube-transcript-api/issues. Please add which version of youtube_transcript_api you are using and provide the information needed to replicate the error. Also make sure that there are no open issues which already describe your problem!

Hi @eyedu, I think the error message is fairly descriptive here: as you did not specify which language you want, the English transcript is requested, however, there is no English transcript. Just add the language you want: YouTubeTranscriptApi.get_transcript("4HLSBvlv0Ug", languages=['zh-TW'])


Error messages with infix operators

The infix operators introduced in this library are incredibly useful! They've dramatically improved the readability and expressiveness in my projects as I continue to use them more and more. I've run into some difficulties when using them, though, and hoping you could help. Often times I'll get errors when using an infix operator, but the errors are quite unhelpful. They tend to look like the following:
error: cannot convert value of type '(Any?) -> Preferences' to expected argument type '(_) -> _'

The compiler just spits out _ instead of telling me which error type it is expecting. If I remove the infix operators and write out the problematic line the "long way," then usually the error messages are quite helpful, and I can easily find my mistake. Have you seen this before? Is there a way to fix this?

This is unfortunately the way the Swift compiler diagnoses things. It's gotten better over the years, but the best way to work around obscure errors, in our experience, is to give the compiler as much type information as possible, at least temporarily while debugging.
Going to convert this to a discussion for now. Sorry for the quite long delay :)


Add missing years to release note

Context
Add missing years to release note
Link to Trello card
Related to https://trello.com/c/uXoZ1vmm/4661-api-v11-add-documentation-on-how-to-add-new-minor-versions-to-the-vendor-api
Things to check

[x] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] Required environment variables have been updated added to the Azure KeyVault

 Support: add autocomplete to search for providers


Fix LDC

Moves part of the env file back.  Otherwise, this will break ldc.
Actually, this doesn't work either.  the env file won't get picked up if you move it.

Actually, this doesn't work either. the env file won't get picked up if you move it.

The point is that you'd now have to run your docker-compose commands from the docker directory. Why does ldc require that the .env file be a directory above the docker directory (where all the relevant docker files live)? What's the benefit to removing it from that directory?

Supported in kitware/ldc@6cfe55ec4781540eb4a07ce3cd70355e0f122a79


documentation and release version

Documentation and final version to be ready for release.

Coverage remained the same at 100.0% when pulling 039d792939304782a6ead12d1a25adf2550f0f69 on documentation into 04dda683457fd4b060598607522aae7aedbbb334 on v3-feature-branch.


tf 2.15.0.post1 complains about tf.keras.optimizers.Adam to be not trackable

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
v2.15.0-2-g0b15fdfcb3f 2.15.0
Custom code
Yes
OS platform and distribution
Linux Ubuntu 22.04
Mobile device
Linux Ubuntu 22.04
Python version
3.11.7
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
12.2.140
GPU model and memory
NVidia 3080 with 10240MB
Current behavior?

define  a model and a Keras Adam optimizer

import tensorflow as tf
import keras

inputs = keras.Input(shape=(37,))
x = keras.layers.Dense(32, activation="relu")(inputs)
outputs = keras.layers.Dense(5, activation="softmax")(x)
model = keras.Model(inputs=inputs, outputs=outputs)

optimizer = tf.keras.optimizers.Adam(0.001)

create a checkpoint

ckpt = tf.train.Checkpoint(
            step=tf.Variable(1, name="step"),
            optimizer=optimizer,
            net=model,
        )

Output error

ValueError: `Checkpoint` was expecting optimizer to be a trackable object (an object derived from `Trackable`), got <keras.src.optimizers.adam.Adam object at 0x7f836446dad0>. If you believe this object should be trackable (i.e. it is part of the TensorFlow Python API and manages state), please open an issue.

Standalone code to reproduce the issue
import tensorflow as tf
import keras

inputs = keras.Input(shape=(37,))
x = keras.layers.Dense(32, activation="relu")(inputs)
outputs = keras.layers.Dense(5, activation="softmax")(x)
model = keras.Model(inputs=inputs, outputs=outputs)

optimizer = keras.optimizers.Adam(0.001)

ckpt_actor = tf.train.Checkpoint(
            step=tf.Variable(1, name="step"),
            optimizer=optimizer,
            net=model
        )

Relevant log output
{
	"name": "ValueError",
	"message": "`Checkpoint` was expecting optimizer to be a trackable object (an object derived from `Trackable`), got <keras.src.optimizers.adam.Adam object at 0x7f836446dad0>. If you believe this object should be trackable (i.e. it is part of the TensorFlow Python API and manages state), please open an issue.",
	"stack": "---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[10], line 1
----> 1 ckpt_actor = tf.train.Checkpoint(
      2             step=tf.Variable(1, name=\"step\"),
      3             optimizer=optimizer,
      4             net=model
      5         )

File /dpt/.pyenv/versions/miniconda3-3.11-23.11.0-2/envs/meos-nbd/lib/python3.11/site-packages/tensorflow/python/checkpoint/checkpoint.py:2200, in Checkpoint.__init__(self, root, **kwargs)
   2198 if isinstance(converted_v, weakref.ref):
   2199   converted_v = converted_v()
-> 2200 _assert_trackable(converted_v, k)
   2202 if root:
   2203   # Make sure that root doesn't already have dependencies with these names
   2204   child = trackable_root._lookup_dependency(k)

File /dpt/.pyenv/versions/miniconda3-3.11-23.11.0-2/envs/meos-nbd/lib/python3.11/site-packages/tensorflow/python/checkpoint/checkpoint.py:1548, in _assert_trackable(obj, name)
   1545 def _assert_trackable(obj, name):
   1546   if not isinstance(
   1547       obj, (base.Trackable, def_function.Function)):
-> 1548     raise ValueError(
   1549         f\"`Checkpoint` was expecting {name} to be a trackable object (an \"
   1550         f\"object derived from `Trackable`), got {obj}. If you believe this \"
   1551         \"object should be trackable (i.e. it is part of the \"
   1552         \"TensorFlow Python API and manages state), please open an issue.\")

ValueError: `Checkpoint` was expecting optimizer to be a trackable object (an object derived from `Trackable`), got <keras.src.optimizers.adam.Adam object at 0x7f836446dad0>. If you believe this object should be trackable (i.e. it is part of the TensorFlow Python API and manages state), please open an issue."
}

Hi @Binjian ,
I was able to reproduce this issue on Colab using TF v2.15, TF-nightly, Please find the gist here for reference.
Thank you!

@Venkat6871 ,
thank you for the response! Based on you label "keras", I was able to track down an issue in keras back in 2021:
https://github.com/keras-team/keras/issues/14776
It seems to relate to the way Keras implemented its trackable interface of optimizers. I couldn't find the documentation for the typing of the trackable interface.

Hi @Binjian ,
Could you close this issue as it is fixed in latest version of TensorFlow. Please feel free to reopen the issue if you still have a concern. Here i am providing gist for your reference.
Thank you!

Many thanks for the reminder. My bad.

Hello, this bug has been fixed in Keras 3.1.1. Optimizers are now trackable. TensorFlow 2.16 uses the latest version of Keras. So if you use TensorFlow 2.16, you should find that the bug is fixed.

Hi, I encountered exactly the same issue for tensorflow 2.16.1. Here's a simplified version of the code that reproduces the problem:
import tensorflow as tf optimizer = tf.keras.optimizers.SGD(learning_rate=0.01) tf.train.Checkpoint(optimizer=optimizer)
Could you please confirm if TensorFlow 2.16.1 has addressed this bug? If not, do you have any suggestions or workarounds?
Thank you for your assistance.

Hello, this bug has been fixed in Keras 3.1.1. Optimizers are now trackable. TensorFlow 2.16 uses the latest version of Keras. So if you use TensorFlow 2.16, you should find that the bug is fixed.

Hi, I encountered exactly the same issue for tensorflow 2.16.1. Here's a simplified version of the code that reproduces the problem: import tensorflow as tf optimizer = tf.keras.optimizers.SGD(learning_rate=0.01) tf.train.Checkpoint(optimizer=optimizer) Could you please confirm if TensorFlow 2.16.1 has addressed this bug? If not, do you have any suggestions or workarounds?
Thank you for your assistance.

I think I found the issue.
I am using tensorflow 2.16.1 gpu-jupyter docker image, and the keras inside was the old version 3.0.5 with bug. So I have to upgrade it to the newer version 3.1.1 and the error was fixed.


Update angular dependencies to final version

Hello,
I think it'll be good to update angular dependencies to the final version (2.0.0).
Thank for this repo, it is the better I've found ;)

Thx for that, I pushed a new version with your changes (1.3.2) to npm


Invalid data, chunk must be a string or buffer, not object on phonegap-plugin-push installation

Actual Behaviour
Plugin "phonegap-plugin-push" already installed on android.
Plugin "phonegap-plugin-push" already installed on browser.
Adding phonegap-plugin-push to package.json
Saved plugin info for "phonegap-plugin-push" to config.xml
(node:77521) UnhandledPromiseRejectionWarning: TypeError: Invalid data, chunk must be a string or buffer, not object
    at WriteStream.Socket.write (net.js:714:11)
    at WriteStream.stream.write (/Users/Santosh/.nvm/versions/node/v8.11.1/lib/node_modules/cordova/node_modules/ansi/lib/newlines.js:36:21)
    at Object.<anonymous> (/Users/Projects/test/tss/plugins/cordova-plugin-fcm/scripts/fcm_config_files_process.js:80:24)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
(node:77521) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:77521) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Reproduce Scenario (including but not limited to)
Steps to Reproduce
cordova platform add<EMAIL_ADDRESS>cordova plugin add phonegap-plugin-push

Cordova CLI version and cordova platform version
cordova --version   :8.0.0
cordova platform version android    :    7.1.1

Plugin version
cordova plugin version | grep phonegap-plugin-push   # e.g. 1.5.3

@santosh-hegde as you can see in the stack trace this error is actually coming from cordova-plugin-fcm. Please open an issue on their repository:
    at Object.<anonymous> (/Users/Projects/test/tss/plugins/cordova-plugin-fcm/scripts/fcm_config_files_process.js:80:24)

@macdonst, This was working until last night. When I updated my project, phonegap-plugin-push  forcing me to upgrade to android cordova 7.1.0.
cordova-plugin-fcm last updated 11 months ago. I don't think its FCM issue.

@santosh-hegde well all I can tell you is what I see in the error message you posted which is plugins/cordova-plugin-fcm/scripts/fcm_config_files_process.js:80:24. That says an error is being thrown from column 24 of line 80 of the file fcm_config_files_process.js which has been included by the cordova-plugin-fcm plugin.
If you just upgraded your project to cordova-android 7.1.0 then the cordova-plugin-fcm plugin probably has an issue with that version of cordova-android.
As you said that plugin hasn't been touched in 11 months so I think it's abandoned. I sent a PR to the repo 2 weeks ago to fix some stuff but it has gone unmaintained.
You should probably re-evaluate what you are using cordova-plugin-fcm for. If you can live without it remove it from your project, if you can't then you'll need to downgrade to an earlier version of cordova-android and the push plugin.

@macdonst ,
When I downgrade to cordova-android to 6.5 and install ionic cordova plugin add phonegap-plugin-push,
I'm getting the below error.
Installing "phonegap-plugin-push" for android

Plugin doesn't support this project's cordova version. cordova: 6.5.0, failed version requirement: >=7.1.0

How can I make it work?. I'm fine with older version. But phonegap is not letting me.

@santosh-hegde when you run:
ionic cordova plugin add phonegap-plugin-push

it will always pick the latest version. You need to specify an earlier version like:
ionic cordova plugin add<EMAIL_ADDRESS>


Fix Redirect issue when using baseURL

Closes  #1583
Before submitting the PR, please make sure you do the following

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts

Will add unit tests.
pnpm test is currently not working.

@benmccann I'm facing this error when trying to run pnpm test
><EMAIL_ADDRESS>test /Users/sidv/dev/kit/packages/adapter-static
> uvu test test.js

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'uvu' imported from /Users/sidv/dev/kit/packages/adapter-static/test/test.js
Did you mean to import<EMAIL_ADDRESS>    at packageResolve (internal/modules/esm/resolve.js:655:9)
    at moduleResolve (internal/modules/esm/resolve.js:696:18)
    at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:810:11)
    at Loader.resolve (internal/modules/esm/loader.js:86:40)
    at Loader.getModuleJob (internal/modules/esm/loader.js:230:28)
    at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:56:40)
    at link (internal/modules/esm/module_job.js:55:36)
/Users/sidv/dev/kit/packages/adapter-static:
 ERROR<EMAIL_ADDRESS>test: `uvu test test.js`
Exit status 1
 ERROR  Test failed. See above for more details.

I added uvu as a devDependency in adapter-static and it works now.
Didn't know I can go into a package and run those specific tests only.

Should I be adding tests to packages/kit/test/apps/basics/src/routes/routing/_tests.js ?

Seems like all the tests are running with a config with empty paths.base.
Got this when I grepped the output after logging the config being passed to the tests.
"base": "",
"base": "",
"base": "",
"base": "",

Is there any tests which utilise 2 configs which I can refer to ?

I think you need to create a new top-level-app so to speak (below tests) where you can create a svelte.config with a baseUrl

@dummdidumm Tried creating a new app, but it's failing when I try to load /basePath/valid.
I'm adding that folder into this PR. I've named it aa-routing just so that it's run first and I can see failures fast.

@Rich-Harris the Options tests have been modified. But they still won't pass as the base path is not properly used in the dev and build servers.
I tried adding the base config in vite server, that did fix some tests, but broke others.
When I tested this with my app, index page would not load and threw The server is configured with a public base URL of /mermaid-live-editor/ - did you mean to visit /mermaid-live-editor/mermaid-live-editor instead? which came from a vite middleware.
https://github.com/sveltejs/kit/pull/1584/files#diff-ed48923f0655f935bee505cdcbf40212129ff49a89c2c9d752bd63aa1e6282c4

Ah, of course — the base path isn't reflected locally during dev (or ideally during preview — https://github.com/sveltejs/kit/issues/1154 / https://github.com/sveltejs/kit/pull/1155), and as such the tests shouldn't account for it.
We could change that behaviour so that the base path is reflected, I haven't spent much time thinking about which is preferable. Either way, in the meantime we should a) remove the tests from this PR, and b) remove all the base occurrences in cli.js, leaving just the changes in load_config and client/router.js.

Raised https://github.com/sveltejs/kit/pull/1608 with just the changes mentioned.

@sidharthv96 thanks for you contribution. I merged your other PR together with a related one. If you'd like to continue with this one it would need to be rebased now

@sidharthv96 did you want to rebase and continue with this PR or close it?

@sidharthv96 this PR would still need to be rebased. I may close this PR as stale if I don't hear from you. In that case we can always reopen later

Ah, of course — the base path isn't reflected locally during dev (or ideally during preview — #1154 / #1155), and as such the tests shouldn't account for it.
We could change that behaviour so that the base path is reflected, I haven't spent much time thinking about which is preferable. Either way, in the meantime we should a) remove the tests from this PR, and b) remove all the base occurrences in cli.js, leaving just the changes in load_config and client/router.js.

@Rich-Harris should the behaviour be changed to reflect base path ?

Now that I take another look at this I'm actually unclear what problem it solves. #1583 appears to be a duplicate of #1476, which was fixed by #1666. Am I missing something, or can this be closed? Thanks

I'm going to go ahead and close this since there hasn't been any response. We can reopen if necessary


Norml

https://github.com/theislab/scanpy/issues/301

Thank you for this! I added several comments in the the code!

If you're not able to figure out matieralize_as_ndarray, that's fine. That's for the distributed part, which can come at a later stage. Important is that the old normalize_per_cell function continues to work as expected.

Hi, @falexwolf .
Now the functions work with dask and zappy.

This is awesome, Sergei! :D


python3Packages.aiohttp-socks: 0.8.1 -> 0.8.4

Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

30 packages built:

electrum
electrum-grs
electrum-grs.dist
electrum-ltc
electrum-ltc.dist
electrum.dist
maigret
maigret.dist
matrix-commander
matrix-commander.dist
mirage-im
opsdroid
opsdroid.dist
pantalaimon
pantalaimon-headless
pantalaimon-headless.dist
pantalaimon.dist
python310Packages.aiogram
python310Packages.aiogram.dist
python310Packages.aiohttp-socks
python310Packages.aiohttp-socks.dist
python310Packages.matrix-nio
python310Packages.matrix-nio.dist
python311Packages.aiogram
python311Packages.aiogram.dist
python311Packages.aiohttp-socks
python311Packages.aiohttp-socks.dist
python311Packages.matrix-nio
python311Packages.matrix-nio.dist
weechatScripts.weechat-matrix

Already on staging-next: https://github.com/NixOS/nixpkgs/commit/df2813e2d2882d7e2977be602a684a03afd2bc9f