TCPSocket server.address?

UDPSocket has server.address can TCPSocket also?
I need to know what host I'm listening on so that I can advertise it over MDNS for other peers to connect to me.

Hi @alanshaw the reason address is not exposed is because underlying implementation that is based of TCPServerSocket.webidl does not exposes the address. Right now we actually workaround bug in that and use nsIServerSocket.idl which also does not seem to expose it (to JS). It is exposed for native though, and has following comment:
https://github.com/mozilla/gecko-dev/blob/796058f4eb4185333278c2ef789c52466d26c0c4/netwerk/base/nsIServerSocket.idl#L203-L212
/**
  * Returns the address to which this server socket is bound.  Since a
  * server socket may be bound to multiple network devices, this address
  * may not necessarily be specific to a single network device.  In the
  * case of an IP socket, the IP address field would be zerod out to
  * indicate a server socket bound to all network devices.  Therefore,
  * this method cannot be used to determine the IP address of the local
  * system.  See nsIDNSService::myHostName if this is what you need.
  */

Which suggest me that maybe what you actually looking for is nsIDNSService.myHostName which could be a separate API.
Does that make sense or am I missing something ?

@alanshaw Also ServiceDiscovery API actually does not need to be given an address for advertising it will advertise your michaine's addresses itself.

Does that make sense or am I missing something ?

That all makes total sense :D
So, right now when I listen on a port using TCPSocket it binds to all available network addresses - right?
Being able to find out the available network addresses sounds very useful. I actually really need this for the IPFS libdweb transport module I'm working on.
In IPFS we split out discovery and transport and you can have multiple discovery and transport methods. Each transport needs to be able to provide the address(es) it's listening on to other discovery modules so that it can be communicated to other peers.
So while my IPFS libdweb discovery module will advertise these addresses, we might have a different discovery module that doesn't, so the transport needs to be able to provide them.
Less important, but couldTCPSocket allow me to chose which address to listen on (which could be all of them - <IP_ADDRESS>)?

That all makes total sense :D
👍

Being able to find out the available network addresses sounds very useful. I actually really need this for the IPFS libdweb transport module I'm working on.

Can you please provide more context please. I took a look at the source but it's very difficult for me to gather without context.
Note: I would like to limit API surface we expose and if we expose something we should have really good reason to do so, and one that I can justify during security review. A failure to do that would mean we'll have to take it out which would be more painful than not having this in first place. Given that all the existing Gecko internal APIs do not expose socket address makes me think there must have being reasons to do so.
I would encourage trying to frame the goal instead of specific request, in my experience it's helps eliminate disagreement on specific points and rather put participants on same team trying to solve problem.

In IPFS we split out discovery and transport and you can have multiple discovery and transport methods. Each transport needs to be able to provide the address(es) it's listening on to other discovery modules so that it can be communicated to other peers.

What are the other relevant discovery methods in the context of WebExtension ?

So while my IPFS libdweb discovery module will advertise these addresses, we might have a different discovery module that doesn't, so the transport needs to be able to provide them.

BTW you can get addresses from announced services as well.

Less important, but couldTCPSocket allow me to chose which address to listen on (which could be all of them - <IP_ADDRESS>)?

Underlying implementation in Gecko does not provide a way to specify an address, that being said comment linked in previous comment says:

In the case of an IP socket, the IP address field would be zerod out to indicate a server socket bound to all network devices.

Which unless I misunderstand suggests that default is binding all of them.

@alanshaw To be more clear, I'm not against any of the requests stated. I'm also happy to followup with a Gecko networking team with a request to expose:

Address that TCP socket is currently bound to
A way to bind TCP socket to specific network address

But I need to have a clear justifiable use cases supporting my request, otherwise it will just discredit this effort and make further requests more difficult. So please help me define the use cases so it's easier to have this conversation.

I think that discovering your IP address will require something similar to STUN, just exposing the IP address of your TCP server won't be enough. Plus, computers could have multiple network interfaces.

Disclaimer: Not arguing just trying to understand if I'm missing something, as I want have legitimate case to make to networking team that I can myself elaborate.

Our goal is to allow direct p2p communication over a TCP socket, but how can one browser initiate a conversation with another browser if it does not know the address of the other?
The Service Discovery API can be used to advertise the addresses of the browser that is providing a TCP socket service. So, provided the TCP Socket API and the Service Discovery API are used together, the other browser can discover the address and connect directly to it.
In other words, right now the two APIs have to be coupled and mandate discovery and communication over a local network.

From what I've understood p2p protocols across the board do local discovery for connecting peers on local network and remote discovery for connecting with peers on remote network.
In case of local discovery I've seen protocols use either:

Custom UDP broadcasting, in which case only port info is necessary as receiver can see address(es) of the broadcasting socket and there for connect to the broadcasting host on the advertised port. (I believe that is what SSB does)
DNS-SD which is essentially the same as above except message exchange protocol has being specd out and standardized (_this is what libdweb exposes, and go IPFS uses, Dat also uses this but in spec incompatible manner).

So unless there is different discovery method on local network, if there is please make sure to point out, I find argument of coupling pretty weak. Counter argument could be that advertising an address(es) adds redundant data to the payload.
I wonder what happens if say my laptop switches to  different network while TCP port is listening on some port. Will socket get closed, or is address going to change ?

Discovery over the wider internet is not possible. MDNS cannot be used to announce our address across networks so to advertise our service outside of a local network we'd need to know what address(es) our service is bound to.

As of remote discovery I do not know if knowing local address buys you anything. As I understand it you need to do Hole_punching, which echos what @RangerMauve said. I believe WebRTC uses STUN / ICE to accomplish exactly that.
Only case where that is not true is when node is running on the server and I it's probably fare to assume that using Firefox is probably a not right tool.

In the context of a p2p node running in a web extension, I can think of two cases when we might want to do this, but there may be many more:

If our browser was connected directly to the wider internet, we might want to inform a known rendezvous server of the address.

I believe in such scenario still requires hole punching, rendezvous server will need to figure out address of the node from the initial connection to it. There for including internal network addresses would not be very useful.

If our browser knew of a relay node that was connected to the wider internet we might want to register a circuit relay address with the node to allow it to forward traffic for us. We'd need to know the addresses we're listening on to be able to do this.

I think same applies here as well, relay node will need need to detect circuits address as internal network address would likely be mapped.

It's arguable that these cases are workarounds for true p2p communications so are perhaps outside the scope of the libdweb library.
I don't necessarily think those use cases are out of scope, but I also fail to see how exposing address(es) here will enable those use cases, maybe except few cases where node isn't behind the NAT, but that is so rare that I fear building for that assumption will do more harm than good.
Am I missing something ?

I also don't think these are particularly common use cases right now but (1) might become more commonplace due to IPv6.

Does IPv6 makes it possible to avoid hole punching ? If that is the case that might provide a good reason to make a case for providing IPv6 info for the socket if that network interface is available.

The only other reason I can think of for including an API to access the network address(es) our TCP socket is listening on is that someone could simply use the Service Discovery API to announce a fake service, discover themselves and in doing so discover their network interface addresses. i.e. they can already get the information by other means.

It very well could be that after security review we would have to hide that info as well,  and we may have to make address opaque object that you could connect to but not necessarily tell what the address is.

Is there a significant security gain to be had from not including an API to get the network interface addresses if you're able to self discover anyway?

I do not know, but in my experience being conservative is a winner. During security reviews I always get overwhelmed  by number of threats I overlook. It could be that this is different, but I absolutely need a solid argument why we need this, why not is usually best way to loos argument.

Right now I can work around not having an API for this by using the self discovery method...it's worth noting that the workaround might not work - corporate network policy might forbid that type of traffic.

So in light of the workaround, maybe this API is for libdweb v2 and we can park it for now?

I am still not sure why do you need to workaround it. As I understand IPFS uses dns-sd for local discovery (go implementation and js one is non standard version of it but hopefully it can be addressed) why not just use address(es) from discovery ?

Part of the drive for this is due to integrating libdweb with existing defined interfaces for IPFS discovery and transport modules where the contract requires transport modules to provide the full address of where the service is listening so that it can be advertised by the discovery modules.

Unless there is a reason that is overlooked, it seems to me that existing contract requirements were not taking use case that libdweb outlined into account and maybe it's good reason to consider if those requirements need updating.
This also makes me wonder how does other transports like WebRTC or WebSocket deal with this, it seems like they'd face same limitation, no ?

There's a category of people who will use libdweb who will need to integrate with existing systems like I am - I believe that if I've come across this there will be others who also need it.

I understand that diverging from API exposed by nodejs would make integration with existing systems more problematic, but then again I am almost certain that counter argument I'll hear will be: nodejs is designed to operate in privileged context and has a very different security constraints than browser does.
@alanshaw What does IPFS do with an address from the discovery ? Does it just discard it ?
Here is an idea that might make integration with existing IPFS requirements without changing them that would avoid unreliable self discovery.
What if libdweb based transport announced address as  :¯\_(ツ)_/¯: and on receiver of announcement derived actual address from the dns-sd replacing :¯\_(ツ)_/¯: with actual address.

I had a brief conversation with an author of the TCPServerSocket implementation in gecko and was told that leaving out address was not intentional and from that conversation it appears to me that patch to add it will be accepted (as long as it meets completeness criteria).
There for I have submitted Bug 1485086 to tackle this.
@alanshaw please note that even if we do expose address, chances are we might need to take it out later on due to security concerns that might be raised, so I would still encourage to revisit IPFS transport requirements.

In an effort to make this a truly community effort I would like to invite community to lead this effort. It's likely going to be multiple leg process, here is an overview that could be a good starting point:
In theory libdweb wraps existing gecko APIs defined by following interfaces:

TCPSocket
TCPSocketEvent
TCPSocketErrorEvent
TCPServerSocket
TCPServerSocketEvent

In practice though only client socket does, as discoverd Bug 1474150 made server one fairly unreliable. As a workaround current implementation uses polyfills TCPServerSocket API via nsIServerSocket XPCOM that pretty much follows native TCPServerSocket implementation in gecko
So in order to expose address on the server socket one would just need to follow instruction conveniently provided for nsIServerSocket.getAddress native only (implies not callable from JS) method.
So tackling this would involve multiple steps:

Contributor would need to patch polyfills TCPServerSocket and add address field by following instruction suggested at nsIServerSocket.getAddress.

Take a Bug 1485086 and do the same thing for native TCPServerSocket implementation in gecko.

Note: I would not want to take just 1. without someone tackling 2. as we'll get rid of polyfill as soon as
Bug 1474150 resolved, which consequently would break this API once again.
I am happy to provide all the necessary guidance.

Additional detail to consider (my comment from bug 1485086

Comment under nsIServerSocket.getAddress suggests following:

Returns the address to which this server socket is bound. Since a server socket may be bound to multiple network devices, this address may not necessarily be specific to a single network device. In the case of an IP socket, the IP address field would be zeroed out to indicate a server socket bound to all network devices.  Therefore, this method cannot be used to determine the IP address of the local system. See nsIDNSService.myHostName() if this is what you need.

Am I wrong at interpreting that as socket will bind to all available network interfaces ? And if so would not nsINetworkInfoService.listNetworkAddresses be better choice than suggested nsIDNSService.myHostName ?

Migrated to https://bugzilla.mozilla.org/show_bug.cgi?id=1485086


Isn't there a way to NOT use EventStore?

I'm trying to build an application that uses SQL Server to read data from, so I don't need the EventStore to be used, I noticed in your example TodoDDD in the project Application which only needs the UnitOfWork and not EventStore, it also creates ES client and adds it to the endpoint configuration.
Why do I need to initialize ES if I will not use it? I tried not to it throws an exception:
2020-08-17 12:05:06.976 ERROR Moving message '4920b48b-5ac6-4e4f-a3fc-ac1a0095b7b1' to the error queue 'error' because processing failed due to an exception:
StructureMap.StructureMapConfigurationException: No default Instance is registered and cannot be automatically determined for type 'Aggregates.Contracts.IStoreEvents'

There is no configuration specified for Aggregates.Contracts.IStoreEvents

1.) new StoreEntities(*Default of IMetrics*, *Default of IStoreEvents*, *Default of IStoreSnapshots*, *Default of IOobWriter*, *Default of IEventFactory*, *Default of IVersionRegistrar*, *Default of ITrackChildren*)
2.) Aggregates.Internal.StoreEntities
3.) Instance of Aggregates.Contracts.IStoreEntities (Aggregates.Internal.StoreEntities)
4.) new RepositoryFactory(*Default of IStoreEntities*)
5.) Aggregates.Internal.RepositoryFactory
6.) Instance of Aggregates.Contracts.IRepositoryFactory (Aggregates.Internal.RepositoryFactory)
7.) Container.GetInstance<Aggregates.Contracts.IRepositoryFactory>()
8.) Lambda: Invoke(value(Aggregates.Internal.Container+<>c__DisplayClass7_0`1[Aggregates.UnitOfWork.IDomain]).factory, value(Aggregates.Internal.Container))
9.) Instance of Aggregates.UnitOfWork.IDomain
10.) Container.GetInstance<Aggregates.UnitOfWork.IDomain>()

   at lambda_method(Closure , IBuildSession , IContext )
   at StructureMap.Building.BuildPlan.Build(IBuildSession session, IContext context)
   at StructureMap.BuildSession.BuildNewInSession(Type pluginType, Instance instance)
   at StructureMap.Pipeline.ContainerSpecificObjectCache.buildWithSession(Type pluginType, Instance instance, IBuildSession session)
   at StructureMap.Pipeline.LifecycleObjectCache.<>c__DisplayClass5_0.<Get>b__0(Int32 _)
   at StructureMap.Pipeline.LazyLifecycleObjectCacheExtensions.<>c__DisplayClass1_1`2.<GetOrAdd>b__1()
   at StructureMap.Pipeline.LazyLifecycleObject`1.CreateValue()
   at StructureMap.Pipeline.LazyLifecycleObject`1.get_Value()
   at StructureMap.Pipeline.LazyLifecycleObjectCacheExtensions.GetOrAdd[TKey,TValue](ConcurrentDictionary`2 cache, TKey key, Func`2 valueFactory)
   at StructureMap.Pipeline.LifecycleObjectCache.Get(Type pluginType, Instance instance, IBuildSession session)
   at StructureMap.BuildSession.ResolveFromLifecycle(Type pluginType, Instance instance)
   at StructureMap.SessionCache.GetObject(Type pluginType, Instance instance, ILifecycle lifecycle)
   at StructureMap.SessionCache.GetDefault(Type pluginType, IPipelineGraph pipelineGraph)
   at StructureMap.BuildSession.GetInstance(Type pluginType)
   at StructureMap.Container.DoGetInstance(Type pluginType)
   at StructureMap.Container.GetInstance[T]()
   at Aggregates.Internal.Container.Resolve[TResolve]() in D:\a\Aggregates.NET\Aggregates.NET\src\Aggregates.NET.StructureMap\Internal\Container.cs:line 116
   at Aggregates.Internal.UnitOfWorkExecutor.Invoke(IIncomingLogicalMessageContext context, Func`1 next) in D:\a\Aggregates.NET\Aggregates.NET\src\Aggregates.NET.NServiceBus\Internal\UnitOfWorkExecutor.cs:line 52
   at Aggregates.Internal.CommandAcceptor.Invoke(IIncomingLogicalMessageContext context, Func`1 next) in D:\a\Aggregates.NET\Aggregates.NET\src\Aggregates.NET.NServiceBus\Internal\CommandAcceptor.cs:line 41
   at NServiceBus.ScheduledTaskHandlingBehavior.Invoke(IIncomingLogicalMessageContext context, Func`2 next)
   at NServiceBus.InvokeSagaNotFoundBehavior.Invoke(IIncomingLogicalMessageContext context, Func`2 next)
   at Aggregates.Internal.ExceptionRejector.Invoke(IIncomingLogicalMessageContext context, Func`1 next) in D:\a\Aggregates.NET\Aggregates.NET\src\Aggregates.NET.NServiceBus\Internal\ExceptionRejector.cs:line 48
   at Aggregates.Internal.ExceptionRejector.Invoke(IIncomingLogicalMessageContext context, Func`1 next) in D:\a\Aggregates.NET\Aggregates.NET\src\Aggregates.NET.NServiceBus\Internal\ExceptionRejector.cs:line 99
   at Aggregates.Internal.SagaBehaviour.Invoke(IIncomingLogicalMessageContext context, Func`1 next) in D:\a\Aggregates.NET\Aggregates.NET\src\Aggregates.NET.NServiceBus\Internal\SagaBehaviour.cs:line 31
   at NServiceBus.DeserializeMessageConnector.Invoke(IIncomingPhysicalMessageContext context, Func`2 stage)
   at NServiceBus.InvokeAuditPipelineBehavior.Invoke(IIncomingPhysicalMessageContext context, Func`2 next)
   at NServiceBus.ProcessingStatisticsBehavior.Invoke(IIncomingPhysicalMessageContext context, Func`2 next)
   at NServiceBus.TransportReceiveToPhysicalMessageConnector.Invoke(ITransportReceiveContext context, Func`2 next)
   at NServiceBus.MainPipelineExecutor.Invoke(MessageContext messageContext)
   at Aggregates.Internal.Dispatcher.SendLocal(IFullMessage message, IDictionary`2 headers) in D:\a\Aggregates.NET\Aggregates.NET\src\Aggregates.NET.NServiceBus\Internal\Dispatcher.cs:line 117
Exception details:
        Message ID: 4920b48b-5ac6-4e4f-a3fc-ac1a0095b7b1

Yes there is - the example is in the Presentation part of the project.  The web api doesnt need to talk to event store so it uses the configuration option "SetPassive" like so
public static IServiceCollection AddAggregatesNet(this IServiceCollection services, EndpointConfiguration configuration)
        {
            Aggregates.Configuration.Build(c => c
                   .Microsoft(services)
                   .NewtonsoftJson()
                   .NServiceBus(configuration)
                   .SetUniqueAddress(Defaults.Instance.ToString())
                   .SetPassive()
                   .SetRetries(20)
               ).Wait();

            services.AddSingleton<IHostedService>(provider => new AggregatesService(provider));

            services.AddSingleton<IMessageSession>(_ => Aggregates.Bus.Instance);

            return services;
        }

SetPassive will not insert behaviors which communicate with event store and will not process commands or events.
Will events from eventstore not be updating the sql server? Typically thats the design.  In the todo example the Application does still need EventStore - in fact it receives events to update its state via the store. Typically a sql server would need the same? Unless you are updating the sql database via some other process

I have this Application project which will need to listen to the events triggered in the domain model (via Apply<>) to update the read model, but I thought why to use the EventStore in the project? I can create handlers for all events that DM is triggering and update the DB using EF .

The clients like Application receive events from the event store.  So it needs a connection to the event store to receive those events.
This diagram outlines the relationship
https://github.com/charlessolar/eShopOnContainersDDD/raw/master/img/overview.png


Deprecate v2alpha1

Deprecating v2alpha1 formatter version.
Related integration tests were removed. Documentation updated.
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Has Docs included if any changes are user facing
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[ ] Meets the Tekton contributor standards (including
functionality, content, code)
[ ] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
Deprecation of v2alpha1

/ok-to-test

/retest

/lgtm


docs: Add FalkorDB Chat Message History and Update Package Registry

This commit updates the documentation and package registry for the FalkorDB Chat Message History integration.
Changes:

Added a comprehensive example notebook falkordb_chat_message_history.ipynb demonstrating how to use FalkorDB for session-based chat message storage.

Updated libs/packages.yml to register FalkorDB as an integration package, following LangChain's new guidelines for community integrations.

Notes:

This update aligns with LangChain's process for registering new integrations via documentation updates and package registry modifications.

No functional or core package changes were made in this commit.

Seasons greetings Everyone 🎄

I'm making another pull request with the provider page included from the start. I made a mistake by not adding it and now the Vercel keeps failing


JMX Metrics | prometheus

Hi Team,
I am exporting  the kakfa metrics through JMX,In the promethus what is the name i should configure in targets,when kafka cluster is in k8s through kafka-in-a-box helm charts in legacy mode.I have tried broker1-external & broker1-internal,i have used pod ip,nothing worked. Please help me here.
scrape_configs:
- job_name: 'kafka'
scrape_interval: 10s
static_configs:
- targets:
- 'broker1-external:9101'
Thanks,
Bharath Reddy

Hi Team,
Any update on above request?
Thanks.


add(tools): react-with-class

Name
Link

react-with-class
https://github.com/antomics/react-with-class

Utility function for creating primitive React components with a set of classes, props or variants.
Note: It's not directly tailwind related, but it's very helpful and is designed to work well with tailwind-like utility classes.
I didn't add it to the bottom, because it's similar to the clb library and I believe it's better for them to be logically grouped together.

[x] My item is in the right category
[x] My item is logically grouped below similar items
[x] My item's name and description respects the conventions of the list
[x] My item is awesome
[x] My item is in line with the Tailwind brand usage guidelines
[x] I have read and followed the contribution guidelines

Thank you!


Can not connect clickhouse after publishing a prep flow to Tableau Server

Dear Analytika:
I'm very like your JDBC driver of tableau, it helps me a lot. It work perfectly on client, but there is a issues on server.
I would like to create a flow with a Clickhouse data source in Prep. The data source connector is work so I can see my data on Prep. But when I publish my flow to tableau server and run the flow, the error occurs.
The error message is nothing but only say "connect error". I tried publishing my desktop sheet to server, and it can work. Only the data source in flow is not worked.
Environment:
Tableau Server: Linux 2021.4.4
Prep: 2021.4.4 (on Windows)
JDBC driver: Release v0.3.2-patch6

Hi @kaihg
I was able to reproduce your case.
Additional tests would be required
(CH ODBC Connector by Altinity,
other connectors from the Gallery).
You could do test the ODBC, too.

Hi @yurifal
I tried the ODBC connector by Altinity, but there was the same issue. I also tried the default ODBC, JDBC connctor by Tableau, still error like the image.

The JDBC Analytika failed after all.
But all the 4 output worked on my windows client.
What can I provide to you to solve this problem?

Did you do tests on Server using the same flow
(with the four different outputs inside, as on your screenshot)?
Could you please try every connection in it's own flow?
Having the outputs in the same flow would result in error anyways.

I split the test flow into 4 single flows, and the general ODBC, JDBC connector flow test is success.
The ODBC connector by altinity still failed on server.

The error message means "Failed to connect to 「」".
When I try the connection on Web UI, it seems success like this:

And the JDBC connector by Analytika is as same as that.

Could you please try every connection in it's own flow?
The tableau connector worked, but isn't for Analytika.

@kaihg Hi! We have good news. If you want to run Prep flows on Tableau Server you need to place connector (.taco file) here:

[Tableau_Server_Installation_Directory]/data/tabsvc/vizqlserver/Connectors/
[Tableau_Server_Installation_Directory]/data/tabsvc/flowprocessor/Connectors/
[Tableau_Server_Installation_Directory]/data/tabsvc/flowqueryservice/Connectors/(if directory exists)
[Tableau_Server_Installation_Directory]/data/tabsvc/flowminerva/Connectors/(if directory exists)

If the changes do not take effect immediately, you may need to restart the server.

@artshevchenko Thank you, the problem has solved !


[ZT] WARP profiles

Main content updates are on this page: https://ranbel-device-profiles.cloudflare-docs-7ou.pages.dev/cloudflare-one/connections/connect-devices/warp/warp-settings/


Add keyboard support to dropdown.js

For peer review only: Looking for feedback
This PR adds proper keyboard support to dropdown.js, based on keyboard interaction rules from WAI-ARIA Authoring Practices for Menu
Some highlights:

Enter, Space, and Up/ Down Arrow keys will display menu, placing focus on first menu item
Up/ Down arrow keys cycle focus through items
Tab, Esc, and Left Arrow keys dismiss menu, placing focus back on trigger
Letter keys [a-z] cycle focus through items that begin with that letter

Also updated are all dropdown examples to encourage good a11y habits.
Additions:

Add role="separator" for divider items
Add role="heading" for header items
Add aria-disabled="true" to disabled items

Once this has been reviewed, I can add proper unit tests.

I'm going to leave this for @patrickhlauke to figure out. Ping me on slack when you want me to look more closely at js

Has there been any consideration for allowing use of <button>s instead of <a>s here? Consider a dropdown menu that does not need href support to trigger other actions on the page. This would require some styling changes.

I ask because keyboard enter and space keys don't seem to work on an <a> tag when you don't provide an href and I don't want to put an href='#' in there.

Buttons instead of anchors won't be doable in v3, but could in v4.

So is that a change that is slated for v4 then?

Bootstrap 3 is no longer being officially developed or supported.
All work has moved onto our next major release, v4. As such, this issue or pull request is being closed as a "won't fix." For additional help and support, we recommend utilizing our community resources. Thanks for your understanding, and see you on the other side of v4!
<3,
@mdo and team


feat: Ensuring that PRs are linked and estimated

It simply checks the following 2 conditions:

PR is linked to the issue or is linked to epic or is labeled as adhoc
PR is estimated or its linked issue is estimated

Test

@fnesveda @drobnikj, how would you rate the annoyance of this check?
There is one benefit for everybody:

With this, there won't be any need for fixes for the computation of capitalization at the end of the quarter.

One befit for me and the team leads:

We will have an exact overview of an unplanned work

But it might be slightly annoying. You create a PR and get an error quickly when you setup something badly. Perhaps we could add a 30 seconds sleep to the first run for each PR so that the developer gets time to configure everything (link issue/epic and estimate) after the PR gets created.
Perhaps we should not run this on DRAFTs.

@fnesveda

I would definitely add a delay to the first run, maybe even 2 minutes, to have time to find the epic/issue and link it

Could you help me to brainstorm how to do this effectively? :)
I could simply sleep for 2 mins. But that will consume units, right?
But in fact, with the base 2 core actions on Linux, it's $0.008/minute. And we have <1000 PRs per quarter. So if we execute these only once with sleep for each PR then it's 1000 * 0.008 * 2 / 3 = $5 per month which is fine I guess.
I tried to implement this with stupid simple logic: https://github.com/apify/pull-request-toolkit-action/pull/9/commits/a120b2b09a4b5448651d31b8c2ccf34110e11137#diff-4fab5baaca5c14d2de62d8d2fceef376ddddcc8e9509d86cfa5643f51b89ce3dR52

I would not do this for draft PRs, only when they're marked as ready for review

Done

I'm not sure about writing the review as comment, maybe having the action fail would be enough
every other reviewer will get a notification about the comment too, not just the PR author
the PR author will get 2 notifications - one about the failing action and one about the comment
then the review will just be left hanging there, maybe it could be deleted once the action passes?
it will be slightly annoying that you'll have to rerun the action manually when you link an issue / add an estimate, because the workflow won't be rerun on its own

Y. Two notifications are annoying but on the other hand, it's easier for me to see the comment rather than open an action log. Not sure here. Ideally, you should be always able to pass this and beware of them so I'd now focus on point one giving you time to sent this up correctly.


Amuse installation issue

Hello, I am attempting to install amuse on a brand new mac and am running into some issues. I believe all prerequisites are properly installed, however, when I run pip install mpi4py I get the following:
ERROR: Could not build wheels for mpi4py, which is required to install pyproject.toml-based projects
Further, when I run pip install amuse-framework I get:
ERROR: Could not build wheels for amuse-framework, which is required to install pyproject.toml-based projects
I am not sure if this is related to the mpi4py issue or if both are caused by the same thing, but I think everything else is installed correctly. Please let me know if you have any suggestions.
On a separate note, I tried doing a development build and cloned the directory and installed it. However, when I navigate to it and run ./configure I get: configure: error: C compiler cannot create executables
If I navigate to config.log, I find the following, though I am not sure if it is enlightening:
gcc version 11.2.0 (MacPorts gcc11 11.2.0_3)
configure:3012: $? = 0
configure:3001: gcc -V >&5
gcc: error: unrecognized command-line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3012: $? = 1
configure:3001: gcc -qversion >&5
gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3012: $? = 1
configure:3032: checking whether the C compiler works
configure:3054: gcc    conftest.c  >&5
ld: library not found for -lSystem
collect2: error: ld returned 1 exit status
configure:3058: $? = 1
configure:3096: result: no
I am happy to proceed with either method of installation if one problem is easier to fix.

hmm, if the compiler doesn't work, it will also fail for mpi4py - have you tried to compile any simple hellow world c program with gcc?

I think the essential bit is "library not found for -lSystem"..if I google for this, it seems to be a common error on mac when the enironment is not setup correctly; I cannot test this, but maybe you can try some of them?
e.g.: https://stackoverflow.com/questions/56156520/gfortran-error-ld-library-not-found-for-lsystem-when-trying-to-compile
(also: when it does work to compile a program is that the same version (11.2.0)?)

I think its a system config issue, and propose to close this issue w/o further feedback.


Ability to display job status by ID

Im looking at using this for long lived web requests where the initial response to the client is a 202, and the client will check back to see status.  Is there a way to be able to look up a job's status given only the job ID?

Any update on this topic?
I am requesting to know the status of a Job from its ID, and to return, for instance, the following states:

does not exist,
its in queue,
its in processing,
already finished
Any help, please?


Update filtering response behavior

This strengthens the recommendation for filtering
from MAY => SHOULD. Additionally, it requires implementations
which do not implement filtering to return an error when they
are unable to fulfill a client request. Clients that work with
implementations which do not support filtering who receive this
error should retry the request without a filter query parameter.
Would love feedback about the following:

Is SHOULD the right level here? I still don't like the inconsistent behavior this could result in, and I would love feedback on whether it should go to MUST. I don't see a reason to let registries choose to implement filtering or not and make clients handle the fallback cases.

Adding xref to #80

An implementation might not support filtering as it is simply a static website - in which case it would not be possible to return a 400. So it would be nicer to just let a client that cannot filter return all results, and expect the client to work this out. We have not previously ruled out static websites for hosting registries.

static sites: considering the type of indexing required for referrers, and all the other aspects we're adding, is a static site realistic?

That's an interesting point @justincormack. I think it applies to some of what we're talking about in #82 as well. In general, I agree we should strive to create APIs that are as simple as possible. I wasn't aware that hosting a registry as a static website was a specific tenant of the OCI API spec, but it's definitely a useful lens to use when thinking about changes. Are there any example implementations that you're aware of that use a static site today?
In that case, it seems like it might be best to close this PR in favor of the way things were originally.

Is a static site really practical? Particularly for this usecase? If we think its more than an exercise of the imagination, yes. But, I don't see the practicality of implementing a static site that indexes content. The value of the error handling Michael provided seems more valuable than the "risk" if there is any.
A real-world example would possibly influence that

Why is it not possible? You just statically provide the output of all the references, its not much different from making a static blog that has lookups by keywords. While its not an explicit aim, I find any http based tool that cant be implemented as a static site to potentially be not well designed.
Here is a static registry example https://github.com/NicolasT/static-container-registry

@michaelb990, @sajayantony, what do you think?

I think I agree with @justincormack that we don't need this to be required. For small registries, the value isn't very high and keeping it optional will (hopefully) encourage clients to implement filtering as well.


Rollup Plugin

Describe the feature
It would be nice to have a Rollup plugin for SWC.
Babel plugin or link to the feature description
N/A

I think there's already one out there, but it's not official and I don't have a link to it.

I think there's already one out there, but it's not official and I don't have a link to it.

Yeah I think there is a rollup-plugin-swc but an official one would be pretty cool

Yeah I think there is a rollup-plugin-swc but an official one would be pretty cool

Closing, looks like there's an userland fulfills ecosystem.


Add shortcuts/no-neck-pain.nvim

Checklist:

[x] The plugin is specifically built for Neovim, or if it's a colorscheme, it supports treesitter syntax.
[x] The lines end with a .. This is to conform to awesome-list linting and requirements.
[x] It's not already on the list.
[x] The title of the pull request is Add/Update/Remove `username/repo`  when adding a new plugin.
[x] The description doesn't start with A Neovim plugin for.., or A plugin for...
[x] The description doesn't mention that it's a Neovim plugin, it's obvious from the rest of the document.
[x] Neovim is spelled as Neovim (not nvim, NeoVim or neovim), Vim is spelled as Vim (capitalized), Lua is spelled as Lua (capitalized).

Thanks for this awesome repository!

sorry for the ping @tversteeg, is there anything needed on my end to merge the PR?

Can you apply the suggestion I proposed? Or change the description to your liking in a similar way.


OSCAR from Inria group

Adding a Dataset

Name: OSCAR (Open Super-large Crawled ALMAnaCH coRpus), multilingual parsing of Common Crawl (separate crawls for many different languages), here.
Description: OSCAR or Open Super-large Crawled ALMAnaCH coRpus is a huge multilingual corpus obtained by language classification and filtering of the Common Crawl corpus using the goclassy architecture.
Paper: here
Data: here
Motivation: useful for unsupervised tasks in separate languages. In an ideal world, your team would be able to obtain the unshuffled version, that could be used to train GPT-2-like models (the shuffled version, I suppose, could be used for translation).

I am aware that you do offer the "colossal" Common Crawl dataset already, but this has the advantage to be available in many subcorpora for different languages.

PR is already open here : #348
The only thing remaining is to compute the metadata of each subdataset (one per language + shuffled/unshuffled).
As soon as #863 is merged we can start computing them. This will take a bit of time though

Grand, thanks for this!


Reference CoreUI CodeIgniter template

I've developed a CodeIgniter 3 user register/login system based on top of CoreUI and I really hope that CodeIgniter developers will found it extremely helpful.

Hi @rehmatworks, thanks for this PR! Unfortunately, your repo doesn't exist anymore, that's a pity.


Persist Commands containg device info

PR https://github.com/edgexfoundry/go-mod-core-contracts/pull/110 need to merged first.
Device Profile have commands saved in denormalized way inside the Profile itself.
When Device is added, DeviceProfile commands are used as template for creating for
new commands. For easy, fast search these commands have reference to the device they belong
via deviceName and deviceId properties.
When the device is deleted, these commands are cleaned up.
Command service does not anymore get commands from device.DeviceProfile.commands
It use a new function in metadata service: restGetCommandsByDeviceId.
It is added via PR https://github.com/edgexfoundry/go-mod-core-contracts/pull/110
Command service will be rewriten and requests optimized once it has its
own persistence layer.
Fix: https://github.com/edgexfoundry/edgex-go/issues/1268, https://github.com/edgexfoundry/edgex-go/issues/1272, https://github.com/edgexfoundry/edgex-go/issues/1273
Signed-off-by: difince<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@54c6330). Click here to learn what that means.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master    #1423   +/-   ##
=========================================
  Coverage          ?   17.07%
=========================================
  Files             ?       78
  Lines             ?     8761
  Branches          ?        0
=========================================
  Hits              ?     1496
  Misses            ?     7114
  Partials          ?      151

Impacted Files
Coverage Δ

internal/core/metadata/rest_device.go
0% <0%> (ø)

Continue to review full report at Codecov.

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

The problem is fixed by adding new metadata endpoint restGetCommandsByDeviceId as well as adding new func in CommandClient interface (go-mod-core-contracts up updated)
I thought to update command service to use the new device.commands  when working on https://github.com/edgexfoundry/edgex-go/issues/1274. But because of a missing test in blackbox testing (nevertheless the issue for missing  test is opened and  assigned to me) I haven't realized it is an immediate work and without Id, no one could issue a command towards a device.


Add support for new client reset functionality

Currently actually just async open.

@tgoyne Is this ready or is anything missing?
I assume we still keep this branched to support OS release without it?

Status: Works as intended for Cocoa needs. Likely needs additional changes to support other SDKs. @cmelchior

This is now up-to-date with latest master/core/sync. IIRC there were more things I wanted to test related to it, but nothing that would actually block merging this.


[BUG]Job in AzureML Workspace can't authenticate with Azure.Identity 1.13.*

Library name and version
Azure.Identity 1.13.*
Describe the bug
We have a .NET pipleine job in AzureMl workspace that works just fine with Azure.Identity 1.12.1
But if we upgrade to 1.3.* the job fails to authenticate.
We were using DefaultAzureCredential() and having read the breaking changes for 1.13.0 I changed this to use a chained credential like this
var credentials = new ChainedTokenCredential(new EnvironmentCredential(), new ManagedIdentityCredential(azureClientId), new AzureCliCredential());
This works fine with 1.12.1, in this particular context we would expect it to pick up the ManagedIdentityCredential, the method is called in other contexts too, which is why the EnvironmentCredential is in the chain.
The error we see in the logs in AzureML looks like this:
Unhandled exception. Azure.Identity.AuthenticationFailedException: ManagedIdentityCredential authentication failed: [Managed Identity] The error response was either empty or could not be parsed.. Error response received from the server: Invalid secret token header: .
See the troubleshooting guide for more information. https://aka.ms/azsdk/net/identity/managedidentitycredential/troubleshoot
---> MSAL.NetCore.<IP_ADDRESS>.MsalServiceException:
ErrorCode: managed_identity_request_failed
Microsoft.Identity.Client.MsalServiceException: [Managed Identity] The error response was either empty or could not be parsed.. Error response received from the server: Invalid secret token header: .
at Microsoft.Identity.Client.ManagedIdentity.AbstractManagedIdentity.HandleResponseAsync(AcquireTokenForManagedIdentityParameters parameters, HttpResponse response, CancellationToken cancellationToken)
at Microsoft.Identity.Client.ManagedIdentity.AbstractManagedIdentity.AuthenticateAsync(AcquireTokenForManagedIdentityParameters parameters, CancellationToken cancellationToken)
at Microsoft.Identity.Client.Internal.Requests.ManagedIdentityAuthRequest.SendTokenRequestForManagedIdentityAsync(ILoggerAdapter logger, CancellationToken cancellationToken)
at Microsoft.Identity.Client.Internal.Requests.ManagedIdentityAuthRequest.GetAccessTokenAsync(CancellationToken cancellationToken, ILoggerAdapter logger)
at Microsoft.Identity.Client.Internal.Requests.ManagedIdentityAuthRequest.ExecuteAsync(CancellationToken cancellationToken)
at Microsoft.Identity.Client.Internal.Requests.RequestBase.<>c__DisplayClass11_1.<b__1>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.Identity.Client.Utils.StopwatchService.MeasureCodeBlockAsync(Func1 codeBlock)    at Microsoft.Identity.Client.Internal.Requests.RequestBase.RunAsync(CancellationToken cancellationToken)    at Microsoft.Identity.Client.ApiConfig.Executors.ManagedIdentityExecutor.ExecuteAsync(AcquireTokenCommonParameters commonParameters, AcquireTokenForManagedIdentityParameters managedIdentityParameters, CancellationToken cancellationToken)    at Azure.Identity.MsalManagedIdentityClient.AcquireTokenForManagedIdentityAsyncCore(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)    at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted[T](ValueTask1 task)
at Azure.Identity.MsalManagedIdentityClient.AcquireTokenForManagedIdentity(TokenRequestContext requestContext, CancellationToken cancellationToken)
at Azure.Identity.ManagedIdentityClient.AuthenticateAsync(Boolean async, TokenRequestContext context, CancellationToken cancellationToken)
at Azure.Identity.ManagedIdentityCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
StatusCode: 403
ResponseBody:
Headers:
--- End of inner exception stack trace ---
at Azure.Identity.CredentialDiagnosticScope.FailWrapAndThrow(Exception ex, String additionalMessage, Boolean isCredentialUnavailable)
at Azure.Identity.ManagedIdentityCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted[T](ValueTask1 task)    at Azure.Identity.ManagedIdentityCredential.GetToken(TokenRequestContext requestContext, CancellationToken cancellationToken)    at Azure.Identity.DefaultAzureCredential.GetTokenFromSourcesAsync(TokenCredential[] sources, TokenRequestContext requestContext, Boolean async, CancellationToken cancellationToken)    at Azure.Identity.DefaultAzureCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)    at Azure.Identity.CredentialDiagnosticScope.FailWrapAndThrow(Exception ex, String additionalMessage, Boolean isCredentialUnavailable)    at Azure.Identity.DefaultAzureCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)    at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted[T](ValueTask1 task)
at Azure.Identity.DefaultAzureCredential.GetToken(TokenRequestContext requestContext, CancellationToken cancellationToken)
at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.SetResultOnTcsFromCredentialAsync(TokenRequestContext context, TaskCompletionSource1 targetTcs, Boolean async, CancellationToken cancellationToken)    at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.GetAuthHeaderValueAsync(HttpMessage message, TokenRequestContext context, Boolean async)    at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted[T](Task1 task)
at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.TokenRequestState.GetCurrentHeaderValue(Boolean async, Boolean checkForCompletion, CancellationToken cancellationToken)
at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.GetAuthHeaderValueAsync(HttpMessage message, TokenRequestContext context, Boolean async)
at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted[T](ValueTask1 task)    at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AuthenticateAndAuthorizeRequest(HttpMessage message, TokenRequestContext context)    at Azure.Security.KeyVault.ChallengeBasedAuthenticationPolicy.AuthorizeRequestOnChallengeAsyncInternal(HttpMessage message, Boolean async)    at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted[T](ValueTask1 task)
at Azure.Security.KeyVault.ChallengeBasedAuthenticationPolicy.AuthorizeRequestOnChallenge(HttpMessage message)
at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory1 pipeline, Boolean async)    at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)    at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.Process(HttpMessage message, ReadOnlyMemory1 pipeline)
at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory1 pipeline)    at Azure.Core.Pipeline.RedirectPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory1 pipeline, Boolean async)
at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
at Azure.Core.Pipeline.RedirectPolicy.Process(HttpMessage message, ReadOnlyMemory1 pipeline)    at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory1 pipeline)
at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory1 pipeline, Boolean async)    at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory1 pipeline, Boolean async)
at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
at Azure.Core.Pipeline.RetryPolicy.Process(HttpMessage message, ReadOnlyMemory1 pipeline)    at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory1 pipeline)
at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory1 pipeline)    at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory1 pipeline)
at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory1 pipeline)    at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory1 pipeline)
at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory1 pipeline)    at Azure.Core.Pipeline.HttpPipeline.Send(HttpMessage message, CancellationToken cancellationToken)    at Azure.Core.Pipeline.HttpPipeline.SendRequest(Request request, CancellationToken cancellationToken)    at Azure.Security.KeyVault.KeyVaultPipeline.SendRequest(Request request, CancellationToken cancellationToken)    at Azure.Security.KeyVault.KeyVaultPipeline.GetPage[T](Uri firstPageUri, String nextLink, Func1 itemFactory, String operationName, CancellationToken cancellationToken)
at Azure.Security.KeyVault.Secrets.SecretClient.<>c__DisplayClass15_0.b__0(String nextLink)
at Azure.Core.PageResponseEnumerator.<>c__DisplayClass0_01.<CreateEnumerable>b__0(String continuationToken, Nullable1 pageSizeHint)
at Azure.Core.PageResponseEnumerator.FuncPageable1.AsPages(String continuationToken, Nullable1 pageSizeHint)+MoveNext()
at Azure.Pageable1.GetEnumerator()+MoveNext()    at Azure.Extensions.AspNetCore.Configuration.Secrets.AzureKeyVaultConfigurationProvider.Load()    at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList1 providers)
at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
at Microsoft.Extensions.Hosting.HostBuilder.InitializeAppConfiguration()
at Microsoft.Extensions.Hosting.HostBuilder.Build()
at Program.$(String[] args) in /build/src/Wtw.Model.Deployment.Worker/Program.cs:line 4
at Program.(String[] args)
Expected behavior
We would expect the code that works with Azure.Identity 1.12.1 to still work
Actual behavior
see above in Bug description
Reproduction Steps
Run a .NET executable as a pipeline job in AzureML workspace
Environment
The job is a pipeline job that runs in AzureML workspace and is responsible for deploying endpoints

Hi @lenniehwtw-new
Would you mind providing the logging output (with any secrets redacted) after reproducing this with logging enabled?

My pipeline job is running now, will return shortly with the requested logs.....

Here is the std out log with EventLevel.Verbose
std_log.txt

Hi @lenniehwtw-new - From the logging it appears that based on the definition of the MSI_ENDPOINT environment variable, it is attempting to authenticate as if we are in a CloudShell environment.
[Informational] Azure-Identity: False MSAL <IP_ADDRESS> MSAL.NetCore .NET 8.0.10 Linux [2024-10-31 19:55:02Z - 4201235e-4763-44a5-b901-df304eab9aad] [Managed Identity] Cloud shell managed identity is available.
[Verbose] Azure-Identity: False MSAL <IP_ADDRESS> MSAL.NetCore .NET 8.0.10 Linux [2024-10-31 19:55:02Z - 4201235e-4763-44a5-b901-df304eab9aad] [Managed Identity] Creating cloud shell managed identity. Endpoint URI: http://localhost:46809/MSI/token
<...>
[Verbose] Azure-Identity: False MSAL <IP_ADDRESS> MSAL.NetCore .NET 8.0.10 Linux [2024-10-31 19:55:02Z - 4201235e-4763-44a5-b901-df304eab9aad] [HttpManager] Sending request. Method: POST. Host: http://localhost:46809. Binding Certificate: False
[Informational] Azure-Core: Request [e5731ca7-155d-4254-8c0a-d92d038c4494] POST http://localhost:46809/MSI/token
ContentType:REDACTED
Metadata:REDACTED
Content-Type:application/x-www-form-urlencoded
x-ms-client-request-id:e5731ca7-155d-4254-8c0a-d92d038c4494
x-ms-return-client-request-id:true
User-Agent:azsdk-net-Identity/1.13.1 (.NET 8.0.10; Debian GNU/Linux 12 (bookworm))
client assembly: Azure.Identity
[Warning] Azure-Core: Error response [e5731ca7-155d-4254-8c0a-d92d038c4494] 403 Forbidden (00.0s)
Date:Thu, 31 Oct 2024 19:55:02 GMT
Content-Type:text/plain; charset=utf-8
Content-Length:29

Could you gather some logs from the older version that works so that we can compare? I'm curious if it attempted the same http://localhost:46809/MSI/token endpoint.

std_log.txt
Attached is the logs from exactly the same code with Azure.Identity 1.12.1

Thanks @lenniehwtw-new -
This appears to be a regression introduced by our underlying dependency Microsoft.Identity.Client (MSAL). Could you please create an issue over in their repo and link this issue for context?
The problem seems to be that Azure ML Studio uses similar environment variables to other hosting environments such as Azure App Service. In our previous implementation, we attempted to detect Azure App Service's environment variables before CloudShell. Because CloudShell uses a subset of the environment variables, it will be wrongly detected if it is attempted first in an AzureML environment and fails to add the value of the MSI_SECRET env var in a required header named secret.

Issue raised
MSAL Issue 4984


adding page parameter to search function

Updating search function to match tweepy documentation

Doesn't the endpoint use max_id and since_id to page through results? I don't see page documented for that endpoint.

page is an outdated parameter that was removed with https://github.com/tweepy/tweepy/commit/2098078d8634012c92e9f00a0fdfd9ea07b2236b in Tweepy 2.1.
It is no longer a valid parameter for the standard search API.
Instead, the documentation for the parameter should be removed. See #1199.


Advanced - Accessibility (A11y): add name attribute to fix the forms

Hi !
When working on form validation with Advanced - Accessibility (A11y), I realised the forms for accessibility do not work as it misses a name attribut to the input tag.
See error in console below:

With my fix, the validation on form works properly:

oh oops, thanks very much @coralieco


can cxxopts parse command tokens?

I couldn't find this information in the documentation or examples.
I need to parse options, but it should be able to recognize command tokens, for example:

command token followed by arguments:

myprog cmd1 --argument1 arg1 --argument2 arg2 ...

command token preceded with options and followed by arguments:

myprog --option1 opt1 --option2 opt2 cmd2 arg1 --option2 arg2 ...

There should be only one or zero command tokens allowed.

Please consider expanding documentation (or README), because the above situation isn't covered in README.

It can't parse commands options like that. It seems sufficient to me to only document features that exist, rather than to list a whole bunch of things that it can't do.

Please consider this a feature request then.
You can for example look at what command line does docker accept, it does process sub-commands, see here for example: https://docs.docker.com/engine/reference/commandline/docker/

Thanks for your answer. Bye.


Fix DRPolicy redirect issue after creation

/assign @GowthamShanmugam @SanjalKatiyar

@SanjalKatiyar , @GowthamShanmugam Please review

/hold for complete testing

/hold cancel
tested with 4 cases

Rebase with latest master
Run yarn format
Run yarn lint-fix
Run yarn i18n

This PR has some lint errors, please fix

there is a lint error/warning is in master branch its appearing for every pr.
TopologyNavigation.tsx 42:5  warning  React Hook React.useCallback has a missing dependency: 'controller

/approve

/cherry-pick release-4.13


Dirty fix for request authorizers...

Api gateway with a request authorizer must have an AuthorizationType value equal to 'CUSTOM' and not 'REQUEST'.

Description
Support Request authorizer type with correct apu gateway authorizationType.
This is a dirty hack.
I am not very familiar with zappa's internal code.
Maybe this can/should be moved somewhere else in the code.
GitHub Issues
https://github.com/Miserlou/Zappa/issues/1159

Coverage decreased (-15.6%) to 58.393% when pulling e0479305c3cf51090e2f806614f047db632d04eb on M0dM:master into d99c193e32733946fb52a4f9b2bdfd1d2929ba49 on Miserlou:master.

Coverage decreased (-15.6%) to 58.393% when pulling e0479305c3cf51090e2f806614f047db632d04eb on M0dM:master into d99c193e32733946fb52a4f9b2bdfd1d2929ba49 on Miserlou:master.


Add info on whether permissions are live right away after 'Save', need browser refresh, log out/in etc

Kindly request adding (on any page about changing permissions) info on on whether logged-in users should experience the change right away, or they need to refresh their browser, need to log out/in (re-authenticate) and/or something else.

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

ID: c15d5cf2-b5cc-01cd-03d4-e9f8bf6750fc
Version Independent ID: c15d5cf2-b5cc-01cd-03d4-e9f8bf6750fc
Content: Assign user permissions - Dynamics 365 Customer Insights
Content Source: ci-docs/permissions.md
Service: customer-insights
GitHub Login: @NimrodMagen
Microsoft Alias: nimagen

Thanks for your comment, @raoulteeuwenPE. This issue has been assigned to the doc author for review.

Hello @raoulteeuwenPE - I've queued a fix to clarify that in docs that goes live in a few days. After speaking with the product team, I want to share here too. It can take up to 15 minutes to fully propagate the changes to permissions. To see changes reflected in the user interface, users should refresh the browser window that runs the application.
I'm closing the issue but feel free to open a new one or reopen it if you have additional questions.
Thanks,
Michael


PANIC: unprotected error in call to Lua API

hi, followed your instructions but receive the following error:
PANIC: unprotected error in call to Lua API (NightScout.lua:59: attempt to perform arithmetic on a nil value)

hi, i have the same error! what did u do to resolve the problem?

I haven’t been able to solve it. I am still looking for a code that works with Arduino or LUA to display Nightscout values


Allow the DynamoDB metadata store to send changes made to DynamoDB as storage events.

Allow the DynamoDB metadata store to send changes made to DynamoDB as storage events.
Implement the following watch function.
https://github.com/mosuka/phalanx/blob/6ac57943b65dbedcf2504ba8459f3ffb7346bb6c/metastore/storage_dynamodb.go#L108-L126
It would be better if it could be implemented in the same way as the etcd metadata store.
https://github.com/mosuka/phalanx/blob/6ac57943b65dbedcf2504ba8459f3ffb7346bb6c/metastore/storage_etcd.go#L65

@mosuka I don't think this can be achieved just using dynamodb as it is a little leaner on these sort of features than etcd.
DynamoDB could be paired with DynamoDB streams, lambda and a service which provides filtering of events like eventbridge, which also requires SQS to enable polling see project below.
Overall you end up with quite a few serverless components to do the same thing, each of which plays it's part.
It would be good to understand the volume of changes you would be monitoring, this kind of dictates how things will scale cost wise, and which services to use.
This https://github.com/spezam/eventbridge-cli is a good example of using eventbridge paired with SQS to enable selective monitoring for events.

@wolfeidau
Thanks for the comment.
I will try to use this as a reference.

@mosuka I found this recently, worth digging into how it works just to give you more context about how dynamodb streams can be used.
https://github.com/aws-samples/serverless-lifo-queue-demonstration


VDP-2: added java generator

added java generator to pex-openapi project.
Since java generator for openapi-generator-maven-plugin doesn't support oneOf added a small tweak to generator configs to put object when encountering oneof

Please only mention settings.xml authentication.
Let's not start explaining to us internally how you use maven

Approved based upon jira comment


Issues about the python version

the python version I use is 3.6.13,  when I ran "pip install git+https://github.com/wilson1yan/VideoGPT.git", I found  "p~=0.8.1" in the requirements.txt can not be installed.
could you tell me the need python version to run the code ?

"torchtext~=0.8.1"

I used python 3.7, but the installation process seemed to work fine for me with python 3.6.13 as well.
torchtext 0.8.1 also seems to support python 3.6

ok, maybe there are some compatibility problems between torchtext 0.8.1 and windows , https://github.com/pytorch/text/issues/1379 .
I think I may try a lower version of the torchtext and see what it will happen.


🥸 this emoji  can't convert

🥸 this emoji  can't convert

and this one ..
🥲
lol

same problem with 🥸

Probably happening as the emojis have not yet been included in the emoji list, https://emojipedia.org/disguised-face/ seems to have been introduced with emoji 13 in 2020 while this project only supports upto emoji 11 https://github.com/vdurmont/emoji-java/releases/tag/v5.0.0

same problem with 🫓

It is possilbe to create a copy of emoijs.json (see resources directory) and add the missing emnoticons. The updated json file will be picked up automatically if you put it on your classpath.


mdbook: 0.4.12 -> 0.4.15

changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0415
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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

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

[x] Fits CONTRIBUTING.md.

For future releases RUST_LOG= override could be removed if https://github.com/rust-lang/mdBook/pull/1777 is merged.

Thank you!


Fix back button issue 404 not found

I think this happens because nginx is serving the web app as a static asset and when we go back nginx says it cannot be found but should be delivering the vue web app.

fixed by changing nginx to deliver sites-enabled not just static files


Disabling the MarkersAndPaths module doesn't remove pathing CornerIcon.

From reporter (Presac)

Is it intentional the icon for the markers is always visible even when the module is not activated? When deactivating the module, it removes all submenues of "All Markers" but not the icon.

This icon has been moved over to the Markers & Paths module.  An update to remove this icon from the PathingService will be needed.
There may come a time where it is appropriate for the PathingService to own this CornerIcon again, but to help make things less confusing for users (especially since there is only a single module at the moment which takes advantage of the PathingService), I think it's best to move ownership to the module - at least for now.


File Management Issue: Unable to rename UPPERCASE file same name to lowercase.

Description
Error when trying to rename a file the same name but from UPPERCASE to lowercase due to using the same name.
Steps to reproduce

open site assets and upload a file such as FILEEXAMPLE.png
rename the file to the same filename but lowercase fileexample.png

Current result
Error a file already exists with that name
Expected result
ability to rename a file case sensitivity
Affected version

[x] 9.2

Affected browser

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Internet Explorer
[ ] Edge

This is not Dnn specific, same happens in windows. I know for one that when this happens in windows, you need to rename it to something else, then rename it back with the original name but with the case you want. Windows file names are kinda half case sensitive, they display with a proper case but are treated case-insensitive otherwise, so you cannot rename by only changing the case.

Closing this issue as per previous comment, this is a filesystem limitation and not a Dnn issue.


DMP-3674: Fix PATCH /admin/security-groups/ to correctly remove u…

DMP-3674
Bugfix per DMP-3674.
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

Closing and replacing with PR https://github.com/hmcts/darts-api/pull/1838 as this PR is not reporting Jenkins status correctly.


rand_range function gives the same every time the first value.

For example
func _ready():
____print(rand_range(0, 10))
Obtain
0.207684
Godot 1.1 Beta

Why would you want different results from the same seed?

I did not find this other applications, but to do what he tried to do.

func _ready():
randomize()
print(rand_range(0, 10))
There, all better.

Wow. Martho42, thank you, it works. But it's strange.

this is normal and expected behavior, call randomize() to change seed.


<style> completions and html custom data completions not provided in some cases

I have a project that provides completions for the class attribute using custom data format. Volar provides those completions (aaa) when class attribute value is empty or after a space but not when there is already a character inserted (even if it matches the completion).
Here is a screencast (it's supposed provide both aaa and aaa-local in both cases:
https://github.com/vuejs/language-tools/assets/153197/79774956-cd1c-4b05-82e8-ac89d094e943
Note also the inconsistent behavior with providing component-local aaa-scoped completion. It's provided when the custom data completions are not provided and vice-versa.
Note2: In the 2.0.6 version the component-local classes are not suggested at all which seems like a separate bug. I've made the video using 1.x version.
Steps:

Clone repo: https://github.com/rchl/vue-completions-bug
install dependencies
Open App.vue
Trigger completions within the class attribute when value is
a) empty
b) "a"

The issue is most likely around https://github.com/volarjs/volar.js/blob/15cf7fd2940938fb47c33a1db98d0173168064ee/packages/language-service/lib/languageFeatures/complete.ts#L150-L154 where it exits early and doesn't ask services for completions.

@johnsoncodehk what is the logic for determining which service returns the mainCompletion supposed to be in https://github.com/volarjs/volar.js/blob/15cf7fd2940938fb47c33a1db98d0173168064ee/packages/language-service/lib/languageFeatures/complete.ts#L169 ? It feels a bit random that it's set to URI of the current virtual document based on whichever service returns completions first. It seems to result in completions being omitted.

Not setting the cache.mainCompletion so that the caching logic is never used makes things work as expected in this case at least. I suppose it might result in some duplicates, at least according to the comments in the code, but I'm not sure how to trigger that case. None of the tests fail either with that change.
Is the old Volar repo, before being split into separate repos, available somewhere? As it is now it's impossible to blame the lines and find the reasoning for any change since the history was lost during the transition.

This issue mixes several problems.

parseCssClassNames did not capture aaa in the following code.

.aaa,
.bbb {
  color: blue;
}

This was fixed in https://github.com/vuejs/language-tools/commit/3be60c650b6bbea52ee6d315e6314b931d84701d#diff-f24244b7d2c995ef747db56b1010b8f4a484b8c458f6fe93d7db3d8691e7fe9aR3.

TS virtual code prevents HTML completion because its embedded level is deeper than HTML virtual code. This is solved by setting completion.isAdditional = true.

class="" does not trigger completion, this is solved by generating additional virtual code.


Godeps: bump appc to 0.7.1 and goaci

appc/spec v0.7.1 was released. Unfortunately, the tag was not pushed but I assumed it will point to https://github.com/appc/spec/commit/818ac4d0073424f4e0a46f45abaa147ccc1b5a24 and updated the Godeps accordingly.
I modified manually Godeps.json so the Comment field says v0.7.1 instead of v0.7.0-24-g818ac4d. This is just a comment so it causes no problems and it will be accurate when the tag is pushed.

LFAD.

Tests fail because they take more than the current timeout (20min) and they get killed.
We should do something about TestFetch, it takes more than 7 minutes (more than 10 on my computer).

I increased the timeout to 30m so we can test until #1544 gets fixed.


Support skip-tls-verification for https output

Hi.
On staging we use self signed certificates for InfluxDB and we need skip TLS certificate verification. Could you check pull-request and decide apply changes or not. I understand it's insecure and need be careful with such options.
Thanks.

@gunnaraasen I applied changes to transport constructor. Maybe should add some other options to http.Transport constructor (like in http.DefaultTransport)? What do you think? Thanks.

@alexdemidov This looks good, thanks!
Can you update your changes to have them occur in the newHTTPBackend and newSimplePoster functions that got merged with the buffering update?

@joelegasse I have merged this pull-request with master branch. Could you have a look, please?

@alexdemidov This looks good. Thanks again.

Thank you.


Xcode 9 pod install 集成weexSDK 编译报错

Undefined symbols for architecture arm64:
"OBJC_CLASS$_GLKView", referenced from:
objc-class-ref in WeexSDK(WXCanvasComponent.o)
"OBJC_CLASS$_GLKTextureLoader", referenced from:
objc-class-ref in WeexSDK(WXCanvasComponent.o)
"OBJC_CLASS$_GLKBaseEffect", referenced from:
objc-class-ref in WeexSDK(WXCanvasComponent.o)
"_GLKTextureLoaderApplyPremultiplication", referenced from:
-[WXCanvasComponent getTexture:] in WeexSDK(WXCanvasComponent.o)
"_GLKMatrix4Identity", referenced from:
-[WXCanvasComponent viewDidLoad] in WeexSDK(WXCanvasComponent.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Showing All Messages
"OBJC_CLASS$_GLKView", referenced from:
  objc-class-ref in WeexSDK(WXCanvasComponent.o)

"OBJC_CLASS$_GLKTextureLoader", referenced from:
  objc-class-ref in WeexSDK(WXCanvasComponent.o)

"OBJC_CLASS$_GLKBaseEffect", referenced from:
  objc-class-ref in WeexSDK(WXCanvasComponent.o)

"_GLKTextureLoaderApplyPremultiplication", referenced from:
  -[WXCanvasComponent getTexture:] in WeexSDK(WXCanvasComponent.o)

"_GLKMatrix4Identity", referenced from:
  -[WXCanvasComponent viewDidLoad] in WeexSDK(WXCanvasComponent.o)

ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Other linker Flags -ObjC 已添加

This PR/issue doesn't received response since Weex migrated to Apache two years ago and this repository is no longer active yet.
Feel free to ask question in new repository and thanks for your contribution.

This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.


Added user "forseti-db-admin" to the database and switch to using "forseti-db-admin" to connect to the db in the application

GCP documentation on mysql users: https://cloud.google.com/sql/docs/mysql/users
Under section "User privileges"

Users created by using the Google Cloud Platform Console have the same privileges as the root user. When you create a user by using the MySQL Client, you must grant that user privileges with the GRANT statement.

In our case we are creating it through GCP instead of MySQL Client so it will contain same privileges as root user.


[github-actions] border router tests failing

Console/log output

https://github.com/openthread/openthread/actions/runs/666906173
https://github.com/openthread/openthread/actions/runs/666900234

The Build OTBR Docker step is failing:
FAILED: src/agent/CMakeFiles/otbr-agent.dir/ncp_openthread.cpp.o
/usr/bin/c++  -DOPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE=0 -DOTBR_ENABLE_BACKBONE_ROUTER=1 -DOTBR_ENABLE_DBUS_SERVER=1 -DOTBR_ENABLE_DUA_ROUTING=1 -DOTBR_ENABLE_MDNS_MDNSSD=1 -DOTBR_ENABLE_SRP_ADVERTISING_PROXY=1 -DOTBR_PACKAGE_NAME=\"OPENTHREAD_BR\" -DOTBR_PACKAGE_VERSION=\"0.3.0\" -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I../../include -I../../src -Ithird_party/openthread/repo/etc/cmake -I../../third_party/openthread/repo/etc/cmake -I../../third_party/openthread/repo/include -I../../third_party/openthread/repo/src/posix/platform/include -I../../third_party/openthread/repo/src -Wall -Wextra -Werror -Wfatal-errors -Wno-missing-braces -std=c++11 -MD -MT src/agent/CMakeFiles/otbr-agent.dir/ncp_openthread.cpp.o -MF src/agent/CMakeFiles/otbr-agent.dir/ncp_openthread.cpp.o.d -o src/agent/CMakeFiles/otbr-agent.dir/ncp_openthread.cpp.o -c ../../src/agent/ncp_openthread.cpp
../../src/agent/ncp_openthread.cpp: In member function 'otbrError otbr::Ncp::ControllerOpenThread::Init()':
../../src/agent/ncp_openthread.cpp:110:5: error: 'otCliUartInit' was not declared in this scope
     otCliUartInit(mInstance);
     ^~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.

@wgtdkp , yes, we are waiting on https://github.com/openthread/ot-br-posix/pull/722, but that is experiencing CI failures as well.

Resolved by https://github.com/openthread/ot-br-posix/pull/722


RuntimeError / EOFError on import

I am trying to use my dev branch, processing locally (Mac OSX), to extract a timeseries.  There seems to be a problem with multiprocessing setup in the environment.  I don't know what this has to do with the actual iceutils package, but it raises an error from the very first import.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/spawn.py", line 125, in _main
    prepare(preparation_data)
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/runpy.py", line 263, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/runpy.py", line 96, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/Users/lizz/Documents/Research/Gld-timeseries/helheim-extract_ts.py", line 5, in <module>
    import iceutils as ice
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/site-packages/iceutils/__init__.py", line 12, in <module>
    from . import tseries
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/site-packages/iceutils/tseries/__init__.py", line 8, in <module>
    from .solver import *
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/site-packages/iceutils/tseries/solver.py", line 7, in <module>
    import pymp
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/site-packages/pymp/__init__.py", line 14, in <module>
    import pymp.shared as _shared
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/site-packages/pymp/shared.py", line 15, in <module>
    _MANAGER = _multiprocessing.Manager()  # pylint: disable=no-member
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/context.py", line 57, in Manager
    m.start()
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/managers.py", line 579, in start
    self._process.start()
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/context.py", line 283, in _Popen
    return Popen(process_obj)
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 42, in _launch
    prep_data = spawn.get_preparation_data(process_obj._name)
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/spawn.py", line 154, in get_preparation_data
    _check_not_importing_main()
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/spawn.py", line 134, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
Traceback (most recent call last):
  File "helheim-extract_ts.py", line 5, in <module>
    import iceutils as ice
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/site-packages/iceutils/__init__.py", line 12, in <module>
    from . import tseries
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/site-packages/iceutils/tseries/__init__.py", line 8, in <module>
    from .solver import *
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/site-packages/iceutils/tseries/solver.py", line 7, in <module>
    import pymp
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/site-packages/pymp/__init__.py", line 14, in <module>
    import pymp.shared as _shared
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/site-packages/pymp/shared.py", line 15, in <module>
    _MANAGER = _multiprocessing.Manager()  # pylint: disable=no-member
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/context.py", line 57, in Manager
    m.start()
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/managers.py", line 583, in start
    self._address = reader.recv()
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/connection.py", line 250, in recv
    buf = self._recv_bytes()
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/connection.py", line 414, in _recv_bytes
    buf = self._recv(4)
  File "/opt/anaconda3/envs/iu-gld/lib/python3.8/multiprocessing/connection.py", line 383, in _recv
    raise EOFError
EOFError

Something you've seen before?

That looks to be an issue with Python 3.8 and pymp. I recreated your environment on my laptop, and I get the same error with this minimum working example script:
#!/usr/bin/env python3

import pymp
import sys

def main():
    print('hello world')

if __name__ == '__main__':
    main()

I looked into the pymp code, and I can see where the use of multiprocessing violates the current Python 3.8 idiom.
I went ahead and forked the pymp repository and made some changes to the code. Checkout this branch here. Install it manually using python3 setup.py install, and then see if the above test script works out for you.

I installed your forked version of pymp into my local environment.  Ran the test script and it produces the same error.
When you say you recreated my environment, do you mean you copied a package list from somewhere on mrschippy?  Where I am getting the error is in my local environment.  I'm attaching a requirements list from pip freeze.
iu_gld-requirements.txt

Uh oh. Can you double check that the code in the pymp/shared.py file matches the changes I made in my pymp master branch? You can find the location in python using:
import pymp
print(pymp.shared.__file__)

When I originally posted this comment, I linked to the wrong branch, so hopefully that didn't throw you off.
For your environment, I installed a clean version of Miniconda on my laptop, created a virtual environment with python 3.8, and installed the prerequisites for iceutils. It looks like our pip freeze outputs are identical, except for tqdm.

Okay, indeed the code didn't match.  I don't really understand why, since I had cloned your pymp repository to local and it doesn't show any changes.  Anyway, I removed and reinstalled it.  Now the code in pymp/shared.py matches and the minimal test script works.
I think this resolves the error for the moment.  It might be worth leaving the issue open, though, since for now the user still has to do a special package installation (not via conda or pip) in addition to the main iceutils setup.

Glad that works. Yes, I'll definitely leave this open since pymp seems to not have been updated in a couple of years, and I'll likely have to implement something based on multiprocessing. Which is a bummer, because I liked pymp :(

Finally addressed this with 4a50111fb6234a6ecebeba9dc0096666a39a1efc by folding in pymp directly into iceutils with proper modification for Python 3.8 compatibility.


Added the ability to create contact

Fixes #10

Added the ability to create contact
Moved global constants to src/contacts folder

Assigning for the review and merging the PR.


Add methods to create/remove fragment marks on the score

PR #211 is an initial implementation. Finally, the class name is FragmentMark.
For now, the implementation is reduced to the necessary minimum and current implementation only deals with line marks. The idea is that you can start using it and detecting uncovered needs, and, meanwhile, I will continue developing the drawing of the other mark types (brackets, etc.).
The creation methods are reduced to those providing timepos. I don't like the idea of offering additional alternatives for positioning, such as measure and measure,beat. Timepos is the basic and all the others requires transforming the arguments into a timepos. So for now, I would prefer this simple API. Using the other is just doing:
// note/rest position for measure, beat
TimeUnits timepos = ScoreAlgorithms::get_time_pos(measure,beat);
pInteractor->add_fragment_mark_at_note_rest(timepos);

// barline for measure iMeasure
TimeUnits timepos = ScoreAlgorithms::get_time_pos(iMeasure+1, 0);
pInteractor->add_fragment_mark_at_barline(timepos);

Re-positioning the marker
Unless really needed, I will not implement methods for re-positioning the marker. For different reasons, its is simpler to delete and re-create the marker at the new desired position than to implemet methods for moving the mark. In practice the difference is minimal:
// if repositioning is allowed
mark->move_to_note_rest(TimeUnits timepos);

// in current situation
pInteractor->remove_mark(mark);
mark = pInteractor->add_fragment_mark_at_note_rest(timepos);

Using logical units or Tenths
Current implementation uses logical units (cents of one millimeter) for specifying line thickness and extra height. But I am going to change this to use tenths. For now, I have preferred to commit the current code, so that you can start using and testing it. But please note that this will be changed.
Now I will update the documentation and then I will continue developing FragmentMark.


Show Merkle tree

For educative mode, showing the Merkle tree in some way would be nice. 4 digits of each tx hash, with full hash onHover. Still would be very wide with 2k tx blocks.
Maybe have the Merkle root expandable to its parent hashes down to the transactions.
Or the reverse: "show Merkle proof" for each transaction?
Or with the horizontal paging to see only 5 steps at a time?

$20 from me for a fix. Thumbs up if you want to bump the bounty with an equal amount.


TIMESTAMP <=> DATE fail at bind time

related to #52
Now, the exception is thrown at bind time, i.e. during rel_project() thanks to the bind argument of ScalarFunction().
library(duckdbrfuns)

con <- duckdbrfuns:::duckdb_con()

time <- as.POSIXct(Sys.Date(), tz = "UTC")
date <- Sys.Date()

in_df <- tibble::tibble(x1 = time, x2 = date)
in_rel <- duckdb:::rel_from_df(con, in_df)

exprs <- list(
  duckdb:::expr_function(
    "r_base::==",
    list(
      duckdb:::expr_reference("x1"),
      duckdb:::expr_reference("x2")
    )
  )
)

out_rel <- duckdb:::rel_project(in_rel, exprs)
#> Error: {"exception_type":"Invalid Input","exception_message":"Comparing times and dates is not supported : TIMESTAMP <=> DATE"}

Created on 2024-04-19 with reprex v2.1.0

856 failing tests 🙀 🙀 🙀

856 failing tests 🙀 🙀 🙀

I believe this is just a duckdb-r version mismatch, see #74


Getting started..

Hi!
I have just tried out your dotnetnuke docker image.
With the container running, and having set up a hosts entry, I seem to be hitting IIS but not hitting the site:

Any ideas?

Hi @dazinator I have not actually gotten around to finishing this container. I think I may be missing some features to be configured on the container.
Sorry for the delayed response, thanks for trying out my container. I should have an update on this soon.
Best


Organize the app state (front-end) using Context API

Additional resources:
https://github.com/chingu-voyage6/grad.then/issues/246#issuecomment-397822082

Hi, what states are there that need to be managed?

For now we have the state of components stored in the container components.
Like this:

There are almost 2 different purposes for data stored there:

presentational (to show or not some UI),
for handling app data (user search queries, data from API).

Ok, so can we break it into two different contexts?
In layouts?
Just bear in mind that in Gatsby v2 layouts is being removed, I can't remember the structure now as I'm currently in react-static land 🙃
Anyway I think the general idea is that you split your contexts by grouping them so:
import React from 'react'
// Context is made up of two things
// Provider - Single as close to top level as possible
// Consumer - Multiple have multiple consumers
export const PresentationalContext = React.createContext()

export class PresentationalProvider extends React.Component {
  state = {
    item1: 1,
    item2: 2
  }

  // add function here
  functionHere = () => {
    this.setState({
      item1: 2,
      item2: 3
    })
  }
  render() {
    return (
      <PresentationalContext.Provider
        value={{
          ...this.state,
          functionHere: this.functionHere
        }}
      >
        {this.props.children}
      </PresentationalContext.Provider>
    )
  }
}

and the same for the app data, then when you need the data you wrap the consumer around the main component of where you want to use the data.


Added password generator shell file to exercises folder

Closes: #364
What is the purpose of the change

Added a shell file to generate a random 30 character password

@all-contributors please add @Jonathanlemon as contributor for code


Fix  / Update Bee Docker Compose files

To improve DX of setting up bee using docker compose by adding additional preconfigured .env.example files (or additional docker compose files) for different modes / setup

ultralight
light
full
multiple
mainnet
testnet

what is the context of this?
there is no description.

@istae my bad, forgot to update here because there was a DevRel issue tracking for the same.
wdyt? can i a push a PR for review when it is ready?
https://github.com/ethersphere/DevRel/issues/209

sure @rampall


Test to confirm that loading recovers from bad JSON

This is a test case recommended in our signing code review.

👍


AQCU-838: Change label of WQ Measurement in report legend

Updated the label for WQ measurements on UV Hydrographs.

Coverage remained the same at 88.34% when pulling 82739b1bf8b8f6340ca8399d40813c35c7e7e5ca on zmoore-usgs:feature/new_label into d28ce6b8017377c8921bc432d3a01f6037686991 on USGS-R:master.


Enhanced visibility for promtool test rules with JSON colored formatting

Problem statement
promtool executes prometheus test cases. In case of discrepancy between test cases, it shows output of expected (exp) value & received (got) values.
A failed test case output looks something like below snippet. Identifying the exact differential output between exp & got values is equivalent to finding a needle in haystack, especially when there are multiple failed test cases.
Unit Testing:  loki.all.rules.test.yml_global
  FAILED:
    alertname: LokiRingUnhealthy, time: 40m,
        exp:[
            0:
              Labels:{alertname="LokiRingUnhealthy", app="loki-service", cancel_if_apiserver_down="true", cancel_if_cluster_status_creating="true", cancel_if_cluster_status_deleting="true", cancel_if_cluster_status_updating="true", cancel_if_outside_working_hours="true", cancel_if_scrape_timeout="true", container="service", name="service", namespace="loki", pod="loki-service-676b8c897b-rq29", severity="page", topic="observability"}
              Annotations:{description="Loki pod loki-service-676b8c897b-rq298 (namespace loki) sees 1 unhealthy ring members"}
            ],
        got:[
            0:
              Labels:{alertname="LokiRingUnhealthy", area="services", cancel_if_apiserver_down="true", cancel_if_cluster_status_creating="true", cancel_if_cluster_status_deleting="true", cancel_if_cluster_status_updating="true", cancel_if_outside_working_hours="true", cancel_if_scrape_timeout="true", container="service", name="service", namespace="loki", pod="loki-service-676b8c897b-rq298", severity="page", topic="observability"}
              Annotations:{description="Loki pod loki-service-676b8c897b-rq298 (namespace loki) sees 1 unhealthy ring members"}
            ]

Proposal
This PR aims to fix this issue by developing enhanced readability with JSON colored formatting.
Current workflow

Proposed workflow
This PR introduces --diff flag.
./promtool test rules loki.all.rules.test.yml_global --diff

Reproduction steps
git clone https://github.com/rewanthtammana/prometheus -b promtool-test-rules
cd prometheus/cmd/promtool
# Download sample files for tests
wget https://gist.githubusercontent.com/rewanthtammana/d4315690bc80012cc01b1ff4dc88a80f/raw/19bfe81c7b8b6737d9a30a781aafb273717222ed/loki.all.rules.test.yml_global
wget https://gist.githubusercontent.com/rewanthtammana/564cf6493ca546f2cffc1fa5f80cc576/raw/948546cba1dedffa4f04f51552e83d228b4fe574/loki.all.rules.yml
# Download packages & run promtool
go get -v ./...
go build -o promtool .
./promtool test rules loki.all.rules.test.yml_global --diff

Conclusion
This new workflow enables end user to easily visualize, debug & understand more about the failed test cases.
Closes https://github.com/prometheus/prometheus/issues/7568, https://github.com/prometheus/prometheus/pull/11738

/assign @roidelapluie

@roidelapluie I've made the discussed changes. Please have a look!

@roidelapluie The CI errors are unrelated to this PR changes. For example, there's a linting error detected in tsdb/tsdbutil/dir_locker_testutil.go. I fixed it.
--- FAIL: TestQueryConcurrency (1.64s)

Please let me know if there's anything I can do to help.

I executed the tests locally & everything is good. It's some permission issue on Github action that led to CI failure.

linting error detected in tsdb/tsdbutil/dir_locker_testutil.go. I fixed it.

Please put unrelated changes in a separate PR.
I've made one - #13343.

@bboreham I've reverted the unrrelated changes.

Thanks; I believe #13344 is now the best option to clean up the CI failures.

Thanks a ton, @LeviHarrison! I've made all the suggested changes. Let me know your thoughts.

@rewanthtammana if you could just add [Experimental] in the flag description (like this https://github.com/prometheus/prometheus/blob/fc463706303c82ad3511392cf8729d2daf2474d2/cmd/promtool/main.go#L236) this should be good to go. We want to mark it as such because we intend to make the colored diff formatting it the default in the future, without needing the flag.

Thanks for pointing that @LeviHarrison. I've updated the code.

LGTM, thanks!


Add awswrangler.s3._list module's stub file for better type checking.

Feature or Bugfix

Feature

Detail

I've added a stub file ("awswrangler/s3/_list.pyi") for awswrangler/s3/_list.py. The main purpose is to prevent Pylance and mpy from raising Incompatible types in assignment (expression has type "Union[List[str], Iterator[List[str]]]", variable has type "List[str]") when I type-hinting List[str] for a for just a sample function like belows:

import awswrangler as wr
from typing import List
directory_list: List[str] = wr.s3.list_directories(path="s3://udacity-dend",)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 7133a968d21cc7ccbe274d0eedcd9c2401952f50
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: daf47d00a71191d2f65b2bb0028b6504bd271a8e
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


thrift client api modification

With the schema refactoring #343 the external thirft API might be changed.

Related suggestion #356.

See #431.


Unable to compile

I think code in the tutorial is not the same that repository.... i am unable to compile
\login-with-metamask-demo\node_modules\ts-node\src\index.ts:500
[start:backend ]     return new TSError(diagnosticText, diagnosticCodes)
[start:backend ]            ^
[start:backend ] TSError: ⨯ Unable to compile TypeScript:
[start:backend ] src/services/users/controller.ts(12,23): error TS2345: Argument of type '"" | { where: { publicAddress: string | ParsedQs | string[] | ParsedQs[]; }; } | undefined' is not assignable to parameter of type 'FindOptions | undefined'.
[start:backend ]   Type '""' is not assignable to type 'FindOptions | undefined'.

I think code in the tutorial is not the same that repository

Yes, that's correct. See the "Important Note" in the README.
Would you like to create a PR to fix the compile error (it shouldn't be hard).

Yep, i noticed the "Important Note" ;)
I meant the current code is unable to start, i can create a PR but no changes from master, simply clone->yarn install->yarn start
and got the error