RFC 0212 - A handshaking requirements

RFC 0212 mostly covers the batch message retrieve flows of an edge agents. Batch pickup protocol can be called with an parameter - batch_size and it returns batch messages accordingly. All the queued messages can be retrieved with calling status-request and retrieve the total unread message and than calling batch pickup.
Scenario
Let's assume that, this protocol is being used for an mobile edge agent and mobile edge agent retrieves all the unread messages with batch protocol. Each time the application opens, agent sends status request and than call batch pickup. Because of there is no stable endpoint for mobile edge agents, mobile agent uses return-route for reading response from same channel.
For a large amount of queued message, mobile edge agent face with a problem during the processing the messages it retrieved from the message_holder via batch-pickup protocol. Although there might be a message store infrastructure in the mobile agent, it might be common that users could close the application in the middle of an operation. Because of all the messages were sent to the edge agent they will not be stored no longer and it cause lost of messages which can not be processed.
Suggestion
There should be a handshaking mechanisms for delivered messages.
In previous conversations about it, it said that it will be very, very close to IMAP by @dhh1128  PR Conversation But in practical use, we are facing with this problem a lot and we lost a lots of data which should be delivered to mobile devices.

IMAP separates the retrieval of messages from the deletion of messages. Thus, it doesn't matter if the user closes the application in the middle of a retrieval, because retrieval doesn't change what would be retrieved next time. What I'm suggesting is that RFC 0212 should work the same way.
Instead of:

Mobile edge agent asks for messages 1-10 and begins retrieving them
Other side records that messages 1-10 have been fetched and can be deleted from the queue.
Other side begins transmitting messages 1-10
Mobile agent disconnects after message 7, so messages 8-10 are lost

We should do:

Mobile edge agent asks for messages 1-10 and begins retrieving them
Other side begins transmitting messages 1-10
Mobile agent disconnects after message 7.
Mobile agent reconnects.
Mobile agent notices that has fetched messages 1-7, so it tells the other side that those messages can be deleted.
Mobile agent asks for messages 8-10.
Messages 8-10 are retrieved.
Mobile agent tells other side to delete messages 8-10.

I started working on an updated version of this protocol a couple of months ago that does exactly this. It separates retrieval from deletion of messages. See https://hackmd.io/BFh1ZQN4SNWxLgybqzazkA
I never got around to fully write it out, but will update it to a full RFC.
@denizgunseli @dhh1128 any remarks on the approach as specified in the Hackmd?

@TimoGlastra , the "Messages Delete" part is the missing part of the protocol. Rest of them looks almost the same. So we can add this to protocol for solving this problem, right @TimoGlastra  and @dhh1128?

Delete is not the only issue with 0212.
One problem that affects both 0212 and @TimoGlastra 's hackMD linked protocol: Both speak of message IDs, but there is some issue with that name and mental model. The ID of a DIDComm message is within the plaintext portion, encrypted during transit. This is fine for the mobile agent which is able to decrypt the message, but useless for the mediator, who cannot. The ID used for coordinating messages cannot be a Message ID, and the name used should reflect that. We should use another name, and define it's meaning, to clear that confusion.
In 0212, the retrieval by ID is a partial solution, and I should have argued against including it at the time. There is no way present to list the IDs of the messages waiting, and therefore no way to discover which messages should therefore be retrieved. I'm mostly in favor of removing that portion of 0212 until a full solution is proposed.
Thoughts on how to clean this up?

@TelegramSam Although the mediator can't decrypt the inner message, it is wrapped inside a forward message that it can decrypt, and that message will also contain an @id. So if the ID of the forward message were to be used it would in fact be a Message ID, just not the @id of the inner message.
But I get your point, message_ids can be confusing.

I'm mostly in favor of removing that portion of 0212 until a full solution is proposed.

We could add a message to query message metadata. This will give you a list of message IDs with other useful data per message (message size, date received, recipient key, ...)
This would allow a mobile agent to introduce a feature that for example only downloads large messages on wifi (like the "download only headers for large messages" feature outlook has/had in their mail client)

To explain more clearly what I mean with Id, I attached the image above. Step-by-step business flow is explained below:
Step 0 ) Initial step. A message is created by cloud agent or any routing message is received by cloud agent to forward to related edge agent. In this step, received routing messages will be converted to route message and than will be packed. At the end of this step there will be a packed message to send to edge agent.
Step 1) If the target agent is an edge agent, message can not be sent so it is transfered to pickup protocol (after a number of retry).
Step 2) Pickup protocol will create a record for storing this message within the wallet until the target agent requests it or becomes reachable by cloud agent. After storing the record it will have an unique id.
Step 3)  When the target edge agent becomes reachable or requests the message [with id or batch request] pickup protocol will send this pickup message to recipent.
Step 4) Edge agent will receive the message as encrypted.
Step 5) Edge agent will unpack the message and read pickup message within it.
Step 6-a) Edge agent will process the message like any regular encrypted messages they receive.
Step 6-b) Edge agent will create a pickup delete request with using the id of received pickup message
Step 7) Edge agent will pack the delete request
Step 8) Edge agent will send the packed message to the cloud agent
Step 9) Edge agent will unpack the message
Step 10) Id will be appeared after unpack and cloud agent will delete it from wallet with using this id (or mark it as delivered)
With this journey, message will be stored or routed as encrypted but both target and router will use same identifier for packed messages also with this functionality this feature will handle multiple time sending problems for both routing and undelivered message journeys.

I think this issue has been addressed with the addition of Pickup Protocol v2: https://github.com/hyperledger/aries-rfcs/tree/main/features/0685-pickup-v2
If there's other issues related to this topic please open a new issue.


Show "Loading" instead of "No items" if the directory is not empty but the items are still loading

Please describe the problem you're trying to solve
Currently, if you navigate to a directory in a particularly slow file system, yazi will show "No items" until it has loaded some directory entries. This looks just like an empty directory would, but happens regardless of if the directory is actually empty.
Would you be willing to contribute this feature?

[ ] Yes, I'll give it a shot

Describe the solution you'd like
Yazi should show something like "Loading" instead of "No items" until it actually knows that the directory is empty, or until we have some actual directory contents to show.
Additional context
No response

Should be fixed in https://github.com/sxyazi/yazi/pull/1439


TAJO-1274: Merge separate pages of getting started document into a singl...

...e page.
Please see the issue https://issues.apache.org/jira/browse/TAJO-1274.
I've merged the multiple small pages into a single page.
Here is the generated page. http://people.apache.org/~hyunsik/TAJO-1274/getting_started.html

+1

+1


Introduce gsbucket component

Today we would like to introduce a gsbucket component. This component should have parameters similar to minio so both current and minio could be used interchangeably

[x] Add terraform
[x] Make bucket location optional (if not set derived from provider
[x] Make access and secret key optional (if not set then created by terraform)
[x] Make access and secret key as sensitive tf vars
[x] Add import script as bucket not idempotent

There is a dependency on latest terraform extension


Test and fix for HHH-10690

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

The fix looks fine, although the hbm mappings exhibit this problem too.  I'll add a test case using hbm for full test coverage.

@sebersole After applying @beikov's fix we end up creating a single entry in the JPA Metamodel where AbstractEntity will either specify the id/data types as either Integer/String or Long/Integer or some combination.  This means the other concrete entity implementation has incorrect metamodel values.
@beikov checked against EclipseLink and in this situation, when you query either of the two concrete entity's for their id attribute for example, the declaring type is the concrete entity class and the java type reflects the parameterized type.
I propose as part of building the metamodel, we have a second attribute resolution phase we do in AbstractManagedType#lock() that will look for parameterized attributes and build a list of overridden attributes.  This override list would only apply to methods that don't query declared attributes in the metamodel.
This way when inspecting AbstractEntity, the types returned are Serializable as we'd expect but for each concrete entity type in the metamodel, the id and data attributes would be overridden and calling
getAttribute( "id" ) for example would return Integer for type-1 and Long for type-2 entities.
Do you have any concerns or questions if we tackle this in this manor instead?

@MappedSuperclass
public class AbstractEntity<ID extends Serializable, E extends Serializable> {
  private ID id;
  private E data;
}

@Entity
public class ConcreteEntity1 extends AbstractEntity<Integer, String> {
}

@Entity
public class ConcreteEntity2 extends AbstractEntity<Long, Integer> {
}

The JPA spec says nothing about how to handle this.  But I agree that how you say EclipseLink handles that situation seems reasonable - namely to use the type bound by the concrete class when reporting the "id type".  I think we also want to make sure that works with normal attributes too then.

I am adding the following method and todo comments to 6.0's org.hibernate.persister.entity.spi.EntityPersister contract:

	/**
	 * Access to information about the entity identifier, specifically relative to this
	 * entity (in terms of Java parameterized type signature in regards to all "id attributes").
	 * Generally this delegates to {@link EntityHierarchy#getIdentifierDescriptor()} via
	 * {@link #getHierarchy()}.  We'd want to override the value coming from
	 * {@link EntityHierarchy#getIdentifierDescriptor()} in cases where we have a
	 * MappedSuperclass to the root entity and that MappedSuperclass defines the identifier
	 * (or any attributes really) using a parameterized type signature where the attribute
	 * type has not been concretely bound and is instead bound on the root entity.
	 *
	 * @todo (6.0) : we should consider doing the same for normal attributes (and version?) as well
	 * 		in terms of cases where generic type parameters for an entity hierarchy have not
	 * 		been bound as of the root entity
	 *
	 * 	@todo (6.0) : how should we handle the attribute as defined on the MappedSuperclass and the attribute defined on the subclass (with the conretely bound parameter type)?
	 * 		I mean specifically.. do we mark the MappedSuperclass attributes (somehow) as having an "unbound" attribute type and
	 * 		mark the subclass attribute as being a "bridged" attribute?
	 *
	 * @since 6.0
	 */
	IdentifierDescriptor getIdentifierDescriptor();

Much of the discussion there relates to this condition.  So essentially what I am proposing is treating these attribute in a fashion similar to how the compiler does with "bridge methods".  So here we have 2 distinct entity hierarchies (ConcreteEntity1 and ConcreteEntity2) each sharing the same super type as a MappedSuperclass (AbstractEntity).  So the java doc discussion essentially asks how we should specifically model this.  I propose that we:

Define the attributes for id and data on MappedSuperclass(AbstractEntity) but to somehow mark them as having "unbound" parameter types (<ID> and <E>).
*Re-*define these attributes on EntityPersister(ConcreteEntity1) and EntityPersister(ConcreteEntity2) to report the bound types (Integer,String) and (Long,Integer) and somehow mark them as "bridge attributes", possibly with a reference to the super unbound attribute it "bridges".
However, who should we report as the owner of these attributes on EntityPersister(ConcreteEntity1) and EntityPersister(ConcreteEntity2)?  EntityPersister(ConcreteEntity1) and EntityPersister(ConcreteEntity2) seem the most reasonable, especially if we give these "bridge attributes" reference to the unbound attribute it "bridges".

Anyway, would love to hear y'alls thoughts...

Based on what @beikov discovered with EclispeLink, the declared owner is the type which binds the attribute's type in the hierarchy.  To me that would also mean should we have the following example, the "bridge attributes" would be bound by BaseEntity and not SomeEntity.  That seems the most reasonable.

@MappedSuperclass
public class AbstractEntity {
  @Id
  private ID id;
  private D data;
}

@MappedSuperclass
public class BaseEntity extends AbstractEntity<Long, String> {
  private Integer value;
}

@Entity
public class SomeEntity extends BaseEntity {
}

@Naros What you said is exactly what I said :)  You just created a new example.  So right, I also believe that the type which first binds the type parameters should be reported as the declarer of the attribute.  Further I strongly believe that it is an error for these type parameters to remain unbound before we reach the root entity.
Anyway, taking your new example (although the same exists in @beikov's original example as well) the question is really how to handle reporting the attribute when the application grabs the MappedSuperclass.  I.e., again using your example, I think we all agree that the following are all true:
IdentifiableType abstractEntityType = (IdentifiableType) emf.getMetamodel().managedType( AbstractEntity.class );
assert abstractEntityType.getId( Object.class ).getDeclaringType() == abstractEntityType;
try {
    // this throws an IllegalArgumentException...
    abstractEntityType.getId( Long.class );
}
catch(IllegalArgumentException ignore) {}

IdentifiableType baseType = (IdentifiableType) emf.getMetamodel().managedType( BaseEntity.class );
assert baseType.getId( Object.class ).getDeclaringType() == baseType;
assert baseType.getId( Long.class );.getDeclaringType() == baseType;

EntityType entityType = emf.getMetamodel().entity( SomeEntity.class );
assert entityType.getId( Object.class ).getDeclaringType() == baseType;
assert entityType.getId( Long.class );.getDeclaringType() == baseType;

Additionally I proposed that abstractEntityType#getId and baseType#getId return completely different attribute instances but that they would know about each other.  The return from abstractEntityType#getId would understand that it is "virtual", "unbound", .  Additionally the return from baseType#getId would understand:

That it is a "bridge" attribute in that it binds the type parameter
The "virtual" attribute it "covariantly overrides"

My concern here TBH is how to handle calls to IdentifiableType#getDeclaredId.  Do both abstractEntityType and baseType reply that they declare the id?  That seems wrong to me.  In this vein, another option is that we do not consider an attribute as declared until its type parameters are bound and that the declarer is the class that binds the type.  That would mean that in terms of this new example, abstractEntityType would actually report not knowing about an id attribute.  This approach IMO has a lot of merit.

Additionally, if we were to take the route of not considering an attribute as declared until its parameterized type is bound then I would still consider that attribute understanding the fact that it bridges a "virtual attribute" defined on a particular super class.

Here's another interesting case to consider as well...
@MappedSuperclass
public class AbstractEntity<ID extends Serializable, D> {
  @Id
  private ID id;
  private D data;
}

@MappedSuperclass
public class BaseEntity<ID extends Number> extends AbstractEntity<ID, String> {
  private Integer value;
}

@Entity
public class SomeEntity extends BaseEntity<Long> {
}

Although EclipseLink fails some of the tests, I think this should be the appropriate behavior
        EntityType<ConcreteEntity1> entity1 = metamodel.entity(ConcreteEntity1.class);
        EntityType<ConcreteEntity2> entity2 = metamodel.entity(ConcreteEntity2.class);
        EmbeddableType<ConcreteEntity1Id> embeddable1 = metamodel.embeddable(ConcreteEntity1Id.class);
        EmbeddableType<ConcreteEntity2Id> embeddable2 = metamodel.embeddable(ConcreteEntity2Id.class);

        assertNotNull(embeddable1);
        assertNotNull(embeddable2);
        assertEquals(embeddable1, entity1.getIdType());
        assertEquals(embeddable2, entity2.getIdType());

        // Id can be found by concrete subtype
        assertEquals(entity1.getAttribute("id"), entity1.getId(ConcreteEntity1Id.class));
        assertEquals(entity2.getAttribute("id"), entity2.getId(ConcreteEntity2Id.class));

        // But also by any upper bound
        // NOTE: EclipseLink fails here
        assertEquals(entity1.getAttribute("id"), entity1.getId(Serializable.class));
        assertEquals(entity2.getAttribute("id"), entity2.getId(Serializable.class));

        // Not allowed to use concrete subtype on supertype
        // NOTE: EclipseLink fails here
        try {
            entity1.getSupertype().getId(ConcreteEntity1Id.class);
            fail("Should not be allowed to query the id by concrete subtype!");
        } catch (IllegalArgumentException e) {}
        try {
            entity2.getSupertype().getId(ConcreteEntity2Id.class);
            fail("Should not be allowed to query the id by concrete subtype!");
        } catch (IllegalArgumentException e) {}

        // But the upper bound should work
        // NOTE: EclipseLink fails here
        assertEquals(entity1.getSupertype().getAttribute("id"), entity1.getSupertype().getId(Serializable.class));
        assertEquals(entity2.getSupertype().getAttribute("id"), entity2.getSupertype().getId(Serializable.class));

        // Attributes have concrete types on subtypes
        assertEquals(embeddable1.getJavaType(), entity1.getAttribute("id").getJavaType());
        assertEquals(embeddable2.getJavaType(), entity2.getAttribute("id").getJavaType());

        // But have the upper bound type on the supertype
        // NOTE: EclipseLink fails here
        assertEquals(Serializable.class, entity1.getSupertype().getAttribute("id").getJavaType());
        assertEquals(Serializable.class, entity2.getSupertype().getAttribute("id").getJavaType());

        // Attributes are not considered as declared
        try {
            entity1.getDeclaredId(ConcreteEntity1Id.class);
            fail("Subtype should not declare the id!");
        } catch (IllegalArgumentException e) {}
        try {
            entity2.getDeclaredId(ConcreteEntity2Id.class);
            fail("Subtype should not declare the id!");
        } catch (IllegalArgumentException e) {}
        try {
            entity1.getDeclaredAttribute("id");
            fail("Subtype should not declare the id attribute!");
        } catch (IllegalArgumentException e) {}
        try {
            entity2.getDeclaredAttribute("id");
            fail("Subtype should not declare the id attribute!");
        } catch (IllegalArgumentException e) {}

        // But the declaring types are the concrete subtypes
        assertEquals(entity1, entity1.getAttribute("id").getDeclaringType());
        assertEquals(entity2, entity2.getAttribute("id").getDeclaringType());
        assertEquals(Type.PersistenceType.ENTITY, entity1.getAttribute("id").getDeclaringType().getPersistenceType());
        assertEquals(Type.PersistenceType.ENTITY, entity2.getAttribute("id").getDeclaringType().getPersistenceType());

        assertTrue(entity1 == entity1.getAttribute("id").getDeclaringType());
        assertTrue(entity2 == entity2.getAttribute("id").getDeclaringType());

        // Except if they got queried from the supertype
        assertEquals(entity1.getSupertype(), entity1.getSupertype().getAttribute("id").getDeclaringType());
        assertEquals(entity2.getSupertype(), entity2.getSupertype().getAttribute("id").getDeclaringType());

        // Attributes are different
        assertTrue(entity1.getAttribute("id") != entity2.getAttribute("id"));
        assertNotEquals(entity1.getAttribute("id"), entity2.getAttribute("id"));

        assertTrue(entity1.getAttribute("id") != entity1.getSupertype().getAttribute("id"));
        assertTrue(entity2.getAttribute("id") != entity2.getSupertype().getAttribute("id"));
        assertNotEquals(entity1.getAttribute("id"), entity1.getSupertype().getAttribute("id"));
        assertNotEquals(entity2.getAttribute("id"), entity2.getSupertype().getAttribute("id"));

@beikov I completely disagree with:
// But the upper bound should work
// NOTE: EclipseLink fails here
assertEquals(entity1.getSupertype().getAttribute("id"), entity1.getSupertype().getId(Serializable.class));
assertEquals(entity2.getSupertype().getAttribute("id"), entity2.getSupertype().getId(Serializable.class));

I do not know how EclipseLink fails, but I agree that this should be a failure.

@beikov I also disagree with:
// But the declaring types are the concrete subtypes
...

// Except if they got queried from the supertype
...

// Attributes are different
...

I guess it comes down to how you view "declaring" an attribute in terms of "binding" its type.  To me, at some level, those are one in the same.
And the more I think about it, the more I hate the idea of returning different attributes for the same attribute...  Even saying it sounds counter-intuitive ;)
I lean more and more to my second option where we simply say that the these attributes are declared on the class that does the type binding - i.e. SomeEntity, ConcreteEntity1, ConcreteEntity2 in our examples.  Here, querying for an attribute against a super type where the attribute has a yet-unbound type should not be allowed.

@sebersole EclipseLink fails at entity1.getSupertype().getId(Serializable.class). This should work since the type variable on the supertype has the upper bound Serializable, but EclipseLink does something weird here, I guess it has a bug.
If you don't return different attributes how would you handle the different type bindings? Or do you mean non-different in the sense that equals would be true for attributes queried from different subtypes? I guess the fact that getDeclaringType() returns the concrete subtype is debatable, since it is in fact declared in the supertype, but refined in the subtype.
But not making the attribute accessible/discoverable in the supertype feels kind of wrong.

Well see you keep saying that "it is in fact declared in the supertype" which is exactly what I am arguing - the way that JPA defines its metamodel, I think it is easy to argue that an attribute is not truly declared until its type is bound.

Long story short... I think you are making the assumption (which is reasonable on the surface) that declared here in JPA means the same thing as normal Java usage.  That is actually the premise also of my first proposal.  So in that approach there would in fact be 2 attributes in the hierarchy and they would in fact be different instances.
But that is what I am saying make no logical sense.  I mean just ask yourself logically... "does it make sense that when I query for an attribute named id at different points in the hierarchy that I get back completely different attributes?"  That's where I start having problems with this first approach and started looking at alternative approaches.

TBH I think retrieving different attributes depending on where it has been queried in the hierarchy is a lot better than having to manually resolve type variables like it is requried in Java Reflection, but that's just my opinion.
My main concern is that attributes which depend on type variables currently have the upper bound type as java type and that leads to embeddable id types bound via type variables not being available in the metamodel. Whether the declaring type should be the supertype or the subtype should definitely be decided by the EG since both approaches seem reasonable, it just seems nicer to return a declaring type for which an attributes type variable has been resolved.

I tend to agree with @sebersole when he says "... that an attribute is not truly declared until its type is bound."

I am starting to wonder whether allowing this to report the different resolved types at each subclass[1] would be the best.  I think it certainly has more work involved, so I think we should consider the feasibility of implementing that for 6.0.  Is it feasible?
[1] E.g., to use the example above... Long for id and String for data when retrieved from SomeEntity, but Serializable and Object, respectively, when retrieved from AbstractEntity

That's the approach that has my vote, @sebersole

in my opinion if doable it would be the best approach

@dreab8 Yes but the "doable"-ility is what concerns me :)

@sebersole I have the same concern for this reason i say if doable :)

The one concern you had previously was equality.
In 5.2, I played with the idea that an attribute maintained a list of AttributeBindings which defined the declaring class, type, and other context specific values.
When a managed type returned attributes, if an attribute had a single AttributeBinding, it returned that attribute instance as-is.  In the cases where multiple bindings were found, I used a decorator to delegate the appropriate binding methods to the right binding based on managed type or merely delegate to the underlying attribute.
This worked nicely for allowing object equality, but obviously didn't support reference equality.

@Naros yes, but the equality problem was in regards to having 2 distinct PersistentAttribute references for the various "type resolution levels".  Here I am discussing something else; here we'd have just the one PersistentAttribute reference, but we'd be able to ask something (something external to the attribute itself) to resolve its type relative to a specific hierarchy class.

Is this delayed until 6.0 or perhaps even integrated into 6.0 or just a stale PR for 5.x?

AFAICS, it's something that needs fixing but we need some work to be done.

Closing this as the JIRA issue was now closed as well.


[feat] add SeekSlider UI component to preview animation

UI component is a standard slider for now:

Builds on #98

Pull Request Test Coverage Report for Build 920643250

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

Totals

Change from base Build 920616466:
0.0%

Covered Lines:
2

Relevant Lines:
2

💛  - Coveralls


cf revisions no longer reports EXPERIMENTAL notice [v7]

Description of the Change
This commit changes the cf revision and cf revisions commands to no longer print a notice that the command is experimental.
Why Is This PR Valuable?
The cf revision and cf revisions commands were introduced over 4 years ago and are no longer experimental.
Applicable Issues
n/a
How Urgent Is The Change?
Not urgent.
Other Relevant Parties
None
Related PRs

#3060 - v7 (this PR)
#3061 - v8
#3062 - main

Since it is removing the Experimental warning, I am not sure we can consider this a new feature, it is more housekeeping now.

@joaopapereira I did not say anything about a new feature. Removing EXPERIMENTAL from the cli output is a change to the output.

Negative test assertions removed (including one whole file that contained nothing but).
Moved the revisions and revision command into the APPS section of the cf help output.

Updated PR to incorporate @Samze's feedback on the main version of this PR:

cf revision remains in EXPERIMENTAL status.
cf revisions is no longer in EXPERIMENTAL status.
cf rollback is no longer in EXPERIMENTAL status.


Paper shadows and elevation

Specifications of Paper elements.
https://zalando.invisionapp.com/d/main#/console/10454474/225718499/preview

Add blur value to make pop-over arrow tip visible again

Elevation for popovers (paper-shadow-6) has been added in #32. Closing and removing from project.


Handle Duplicate clauseId from Copy/Paste

Is your feature request related to a problem? Please describe.
Incorporate any clause specific logic here from markdown-editor Issue 88
Currently, a uuidv4 is assigned to each clause template added into the markdown of the contract. Copying and pasting should recognize that as already existing and create a new uuidv4
Describe the solution you'd like
Possibly register multiple onPaste handlers on the underlying Slate editor. These are likely chained by the call to next(). Test what happens on paste of HTML which contains an existing clause <div>.
When a clause template is pasted, TSv2 should check to see if a clause template exists in the pasted text. If so, check if that clause template is already in the contract. If so, assign a new uuidv4 to this clause template.
Describe alternatives you've considered
A good starting point should be SlateJS's onPaste plugin
Already in the code here
Additional context
N/A

Further issues should consider:

Handling different transfer.type situations

Editor instance (Slate) to another editor instance (Slate)
Raw HTML (Chrome to VSCode to Chrome)
Editor instance (Slate) to Google Docs and back (recognize <clause> formatting)

Ensure onPaste handlers are not doubling up work for any transfer.type cases

@accordproject/cicero-ui/src/plugins/ClausePlugin
@accordproject/markdown-editor/src/SlateAsInputEditor

What fragment.type results when copying pasting from one editor to another instance of an editor?

fragment as a transfer.type is a Slate DOM block fragment, not HTML anymore, so copying and pasting from the same editor into itself should be a fragment
However, copying pasting from one editor to another instance of an editor may result in HTML or fragment, needs experimentation

Preserve formatting, if H1 in HTML, we should be preserving the formatting

Slate has a mechanism for mapping from HTML tags to Slate blocks here


error while changing the nodes and export the data

Hi,
While I change the nodes to tweet and I want to export it I face the below error. Could you please support me?

I think that what you want to do is this:
twarc2 network Network-Science.jsonl --nodes tweets --format gexf Network-Science.gexf
If you do not pass the format, the output is in html format. Therefore, in your first command you are basically converting the jsonl to html. Then, the second command fails because it founds that Network-Science.jsonl is no more a jsonl, but an html file.


Load emmatables like objects not through the loader

It's weird loading them like they are because they're just empty classes
I feel it's better to just instantiate them.

Done


av.AVError: [Errno 11] Resource temporarily unavailable

win7 x64, ffmpeg zeranoe 3.3.1 x64 shared+dev, cpython 3.6.1.
pyav built and installed as described (setup.py install --ffmpeg-dir=...).
when trying to run examples\show_frames_opencv.py, I get the following:

Traceback (most recent call last):
File "P:\pyav\examples\show_frames_opencv.py", line 13, in
for frame in packet.decode():
File "av\packet.pyx", line 106, in av.packet.Packet.decode (src\av\packet.c:2868)
File "av\stream.pyx", line 116, in av.stream.Stream.decode (src\av\stream.c:3312)
File "av\codec\context.pyx", line 330, in av.codec.context.CodecContext.decode (src\av\codec\context.c:6421)
File "av\codec\context.pyx", line 210, in av.codec.context.CodecContext._send_packet_and_recv (src\av\codec\context.c:4689)
File "av\codec\context.pyx", line 232, in av.codec.context.CodecContext._recv_frame (src\av\codec\context.c:4989)
File "av\utils.pyx", line 101, in av.utils.err_check (src\av\utils.c:2444)
av.AVError: [Errno 11] Resource temporarily unavailable>

(and also TabError: inconsistent use of tabs and spaces in indentation)
might this be an incompatibility between pyav and ffmpeg 3.3.1? do I need an older ffmpeg?

figured it out. EAGAIN can be -35 or -11, so this needs a few changes in av/codec/context.pyx
once I've figured out how to work with pull requests, I'll make one for this

fixed with 85fbff7f7664c52dbc6a1d5c08eaed10b71371a3


Moving to Immutable Objects

Hello,
The upgrade guide at https://github.com/yahoo/fluxible-router/blob/master/UPGRADE.md is the great document and it helped me a lot on upgrading to the recent fluxible.
However, it can improved further with the list of all the objects that became immutable. I.e. I found that the parameters passed in action function of the route are now immutable and instead of using something like
    customer :{
        method : 'get',
        path : '/customer/:id',
        page : pages.customer,
        action : function(context, payload, done){
          context.executeAction(getCustomerDetails, {filters : payload.params}, done);
        }
    }

I now have to use
filters : payload.get('params')

Thanks!

Will make a not of this in the guide. Thanks!

Added in https://github.com/yahoo/fluxible-router/commit/d300795ab8a3950b511df9898b22f24298caeb00


Telescope Extension

This plugin provides an example plugin configuration using Telescope in the README; to newcomers it may seem a bit complicated. Is it possible to make a Telescope extension for this plugin instead? I think it would be a lot easier for people to make one call to telescope.load_extension() than fiddle with the example config.

Taken care of by #187, so I'm going to close this now.


docs(getting-started): use yarn instead of npm

Hi @l4u Thanks for this PR, it is greatly appreciated :)
I was wondering if yarn should be presented as the only way or as one of the way. Not everyone is yet aware of the existence of yarn. What do you think?

Related to https://github.com/facebookincubator/create-react-app/pull/1275

Did a minor tweak, thanks.


Revert commits related to client_message_id.

I pushed a bunch of commits that attempted to introduce
the concept of client_message_id into our server, as
part of cleaning up our codepaths related to messages you
sent (both for the locally echoed case and for the host
case).
When we deployed this, we had some strange failures that
appeared related to #5779.  We didn't get to the bottom
of exactly why the PR caused havoc, but I decided there
was a cleaner approach, anyway.

Automated message from Dropbox CLA bot
@showell, it looks like you've already signed the Dropbox CLA. Thanks!

I verified the revert and merged this.


remove duplicated validate-checksums target

Issue #, if available:
Description of changes:
I cant remember or figure out why there were two targets for checksums.  I remember there being some weirdness around updating checksums but that has long since been fixed/removed.  Im pretty sure we can clean this up now since they were the same target, minus the if which should def be there.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/override distribution-tooling-presubmit
/override harbor-helm-tooling-presubmit
/override harbor-tooling-presubmit


IN PROGRESS: Tshirt/create class

Current progress creating the class for the T-shirt model, as a PR for public accessibility/visibility.
Work is very much incomplete and still in progress.  This should almost certainly not be merged/approved as-is.

It isn't perfect, but the bulk of the class has been created.
One particular thing that needs attention still is that the groundwater reservoir Qgw value is being calculated raw from the equation given in the doc/T-shirt_model_description.pdf document.  It is specifically:
double Qgw = params.Cgw * ( exp(params.expon * state.Sgw / params.Sgwmax) - 1 );
The other reservoir flow equations are of the form:
Q = C * (S - S_fc) / (S_max - S_fc)
The latter lends itself to inferring the constructor parameters for our reservoir and reservoir outlet classes, but it is not apparent to me how to do this with the former.

It isn't perfect, but the bulk of the class has been created.
One particular thing that needs attention still is that the groundwater reservoir Qgw value is being calculated raw from the equation given in the doc/T-shirt_model_description.pdf document. It is specifically:
double Qgw = params.Cgw * ( exp(params.expon * state.Sgw / params.Sgwmax) - 1 );
The other reservoir flow equations are of the form:
Q = C * (S - S_fc) / (S_max - S_fc)
The latter lends itself to inferring the constructor parameters for our reservoir and reservoir outlet classes, but it is not apparent to me how to do this with the former.

I would check with Fred on this one. If the equation for groundwater is indeed the former, then I could subclass the Reservoir_Outlet class into the 2 separate implementations.

@robertbartel Showing conflicts in test/CMakeLists.txt.  This may be due to a recent merge of other code. Can you take a look?

@hellkite500, FYI, I have changes we talked about yesterday added to the branch for this PR, including the realization implementation.

Once PR #72 gets approved, I'll need to rebase the changes here and then update the Tshirt class(es) to incorporate using the new reservoir outlet types.

@robertbartel just merged #72.


Port postgres fix 15701 to 7.48.x

What does this PR do?
Port 15701 to 7.48.x
Motivation
Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Changelog entries must be created for modifications to shipped code
[ ] Add the qa/skip-qa label if the PR doesn't need to be tested during QA.

Recommendation from agent-integration tooling squad is to disregard the validation error for license headers as this is a corner case.

Vivekanand Ilango
There is a failure with validating license headers. The corresponding file was removed from master. Is there a way around it?
[@ofek], [@Alex Lopez], can you please have a look at this? This is needed to complete the release of a fix before triggering 7.48.0-rc.3
Alex Lopez
I don’t think there’s an easy solution for that validation error. The proper solution would probably involve being able to pass the reference branch to the validation command, and making the github action set that for a PR. Not sure it’s worth it for such an edge case.
Vivekanand Ilango
So, in this case disregard the validation error and merge the change?
Ofek Lev
agreed, just merge
Vivekanand Ilango
Thanks for the confirmation both 🙌


[983] Update task list section heading in build, in line with prototype

Context

https://trello.com/c/ylnBNeHE/983-update-task-list-section-heading-in-build-in-line-with-prototype

Changes proposed in this pull request

Update copy

Guidance to review

 Update task list section heading in build, in line with prototype


Eliminate memory mapped file in array pool cache entry

In favor of simpler CreateFile/SetFilePointer/ReadFile calls

Ryan and I worked on this offline.  The overall perf improvements turned out to be modest, and this would make it so we can't use the ArrayPool reader on Linux/OS X in the future so we are not merging it.


Safari problem

Hello, thanks for great plugin.
Working great.
I have only one problem with Safari browser.
On first load of the page it calculates wrong height.
Than after resizing the window it's as it should be.
Where can be the problem?

Same problem

I had the same problem, turned out to be that it doesn't play well with  elements. I changed my  to a  and that fixed the problem for me.

I can't reproduce the issue. Can you provide more information? Which version of Safari? Can you send me some example code?

I came here looking for an already made solution as I wrote my own plugin and have had these issues with safari both desktop and ios. It may be helpful to note that safari doesn't seem to populate the height of elements in time. Just using jquery, either $(function(){}), $(window).on('load',function(){}), or even as a callback to a function; unless I set a timeout on the function I am calling it sets an incorrect height. I realize that this isn't your plug-in code i'm dealing with just bugs i have observed with the browser. For what it's worth I hope it's helpful. In order to fix my issue I was thinking of checking the element to see what it's current height was and if it was 0 set a timeout to recall the function to execute again.However, the issues described above are exactly what i'm experiencing using just jquery. ;) If I can help in any way i'd love to.

Thanks for the additional info @zanderi.
Can you tell me if you see the issues on http://brm.io/jquery-match-height-demo/?
All tests pass for me on Safari.
As I can't reproduce this issue, I still need someone to provide a working example.

@liabru I cannot the example is solid. More additional info in my case is that the elements displaying issues in these browsers are those that are added dynamically using Knockout JS. I can try setting up your demo to load through Knockout and see if it portrays the same behavior.

More information: bug present in opencar default theme 2
I solve problem by setting parameters:
  byRow: true,
  property: 'min-height',
  target: null,
  remove: false

I'll try to reproduce working example.

got the same issue today. I will try my best to figure out, what's wrong

I got this issue today, just figure its about font load. In my case, if some font fail to load it will cause the plug in calculate wrong height.

I'm going to guess that the issue might be covered by the Known Limitations section of the readme?

@liabru Yes, I knew it.
Just want to tell another about this problem, so they can check their own problem and fix it.

Adding 'jQuery( document ).ready(function()' fixed it for me.

with Safari, it seems that it is working "only" partially. it works only with certain window widths.
can you please troubleshoot this https://github.com/maustyle/safari-match-heights ??
thank you


WeightNormalization not working with TensorBoard histograms

System information

TensorFlow version 2.1.0
TensorFlow-Addons version 0.9.1
Python version 3.6
Is GPU used? yes

Describe the bug
I am using the WeightNormalization wrapper in a keras model and I want to monitor the weights and gradients using tensorboard; but I believe the use of this boolean parameter
https://github.com/tensorflow/addons/blob/master/tensorflow_addons/layers/wrappers.py#L104
which checks whether the layer has been initialised; is causing the tensorboard histogram generation to fail. I changed it to a tf.dtype.int32 with shape (1,) which solved the issue but this seems a bit hacky.
Code to reproduce the issue
I am using the model.fit_generator() function with
callbacks = [ tf.keras.callbacks.TensorBoard(write_grads=True,histogram_freq=1,log_dir="...")]

on a model which includes the WeightNormalization which trains fine without the tensorboard callback
(I don't think the write_grads is doing anything, but that's a separate issue)
here is the actual error message
InvalidArgumentError: Value for attr 'T' of bool is not in the list of allowed values: float, double, int32, uint8, int16, int8, int64, bfloat16, uint16, half, uint32, uint64
	; NodeDef: {{node WriteHistogramSummary}}; Op<name=WriteHistogramSummary; signature=writer:resource, step:int64, tag:string, values:T -> ; attr=T:type,default=DT_FLOAT,allowed=[DT_FLOAT, DT_DOUBLE, DT_INT32, DT_UINT8, DT_INT16, DT_INT8, DT_INT64, DT_BFLOAT16, DT_UINT16, DT_HALF, DT_UINT32, DT_UINT64]; is_stateful=true> [Op:WriteHistogramSummary] name: causal_conv2d_3/weight_normalization_42/initialized_0/

The current implementation of WeightNormalization is very hacky. The biggest problem is that we remplace the layer's kernel attribute by a tensor, and in the graph. So if some tool expects the inner layer to have a kernel tf.Variable, well, it crashes.  I tried to fix it in https://github.com/tensorflow/addons/pull/1789 but I don't think the variable g is going to get updated with this fix.


2021 Volume version of Visio has "LTSC" in it's name but Project doesn't have it.

https://config.office.com/deploymentsettings
On this site, if I select O365 Enterprise + Visio LTSC Pro 2021 (Volume) + Project Pro 2021 (Volume)
LTSC term is not included for Project in the mentioned site and neither when product installation is finished.
So why is it that when Visio and Project both belong to the same license and update channel?
Is there some valid reason or did developers just forget to add LTSC term with Project?

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

ID: d40c96f3-1c97-b538-ef82-ffbf0eef204d
Version Independent ID: 2d6883b5-1b5c-dc16-9999-17d0652bfa48
Content: Supported scenarios for installing different versions of Office, Project, and Visio on the same computer - Deploy Office
Content Source: DeployOffice/install-different-office-visio-and-project-versions-on-the-same-computer.md
Service: o365-proplus-itpro
GitHub Login: @DHB-MSFT
Microsoft Alias: danbrown

@WindowsAddict   The Project team decided not to use the LTSC naming convention for their 2021 version/release.


Check Send/Sync

We currently only implement Send on most structs when threading is enabled, but perhaps that restriction is unnecessary?

Problem: SSL Context is only Sync if the RNG is Sync


feat: add tracepoint program example and tests

This patch adds an example and integration tests for a tracepoint eBPF program, and resolves #306

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1203941183705395

So I'm fairly certain this is blocked on some sort of aya bug
I loaded this with a rust userspace program here -> https://github.com/astoycos/net-ebpf-playground/tree/add-trace
And everything worked as expected
The only difference was that we're (bpfd) currently using a version of aya that's a bit behind main, so let's hold on this until I can investigate a bit more
Otherwise it looks good to go! :)

Blocked on #11 :)

Let's see if update to aya:main fixes things

Rebased to pick up https://github.com/aya-rs/aya/commit/d7d6442671a38098613b1a0accea0c08272d9fc0 from Aya

Thanks for looking! I'm going to make sure your changes fixed the issue in my stripped down example and then come back and re-investigate this PR
I think we'll still also need to explicitly Pin the Link in BPFD as well @dave-tucker

Yep. Also you might want to wait for https://github.com/aya-rs/aya/pull/523 😆

I think we'll still also need to explicitly Pin the Link in BPFD as well @dave-tucker

Yep we'll need to so we don't lose state on bpfd restart.

Tested locally and CI looks good

/LGTM


[Feature Request] Change LCARS clock theme colors

[Feature Request] Because the LCARS clock has three main theme colors it would be cool if you could change those colors in the settings of the app.

Would be cool to keep the original colors as default. Also currently parts of the watch-face are drawn using a background image so you have to redraw those round corners etc. manually...


Proposals for technical extension of cnc.js

Hi cheton,
I'm not using cnc.js V. 1.3 so long like mach3 because I have some suggestions for new versions of your cnc.js.

Live folder watch for uploading gcode
Macros which can start sample/safed gcode
Informing when a updated version is available and select update from the menu
button for reboot (sudo reboot)
shutdown (sudo halt)
a menu point link to a own bash scripts..

This is would I suggest and that would be really nice add ons or widgets.
Is there something similar integrated shame on my. I haven't found that allready :D
Christoph

Live folder watch for uploading gcode

A watch directory will help you to import new files faster. I may add this feature in a future release.

Macros which can start sample/safed gcode

Macros are supported in v1.6.

Informing when a updated version is available and select update from the menu

Yes! I'm planning on adding update notifications to inform new updates.

button for reboot (sudo reboot)
shutdown (sudo halt)
a menu point link to a own bash scripts..

I think the above three can be combined into one by selecting a menu item to trigger custom scripts from UI.

Yes that sounds really nice!
I use a precomposed raspberry image with installed cnc.js. I think i made a own image. Than it's easyer to update.
Custom menu is a good idea. I think much people using only cnc.js on the raspberry for the own cnc machine.
I think I add a kiosk mode which will only show a browser with cnc.js and that runs on the raspberry with a small touch lcd.

Could really use the shutdown and reboot option for my raspberry pi though the GUI.

With the 1.7.0 release, it will notify users when a new version (e.g. 1.7.x, 1.8.x) is available to download.

Now there is a "update found" message. Whats about with an "update" button? Something like this:

By now the Electron app (i.e. executable installer .exe, .dmg) should be able to perform an update internally, but I have not yet implemented it to the app. It might be added in a future version.
For Node.js installation, I can try to force the update by running npm install -g cncjs@latest on the server side, but this may encounter failed update for certain reasons, maybe the software was installed using a different account, or a different installation path.
Do you have any recommendations for this? Trigger a custom script to update package might be a solution to it.

mhmm... sorry I have no solution for this. I understand the problems with the installation path because a update script could help I think.
This is the update-script from octoprint: https://github.com/foosel/OctoPrint/blob/master/src/octoprint/plugins/softwareupdate/scripts/update-octoprint.py but its python and no node. It can not help.
First of all the software have to check the path where it is installed. On a raspberry I got with npm install -g cncjs@latest always the error with the serialmodule... I have to perform a  sudo npm install -g cncjs --unsafe-perm.
I hope anybody of other users have a solution? Should we open a new enhancement issue?

OctoPrint's update script use git to update its source code, but that's not the case with the cnc software.
How about passing a command-line option to specify a path to the update script? For example:
$ cnc --update-script="/path/to/update-script.sh"

Then the web interface will be able to perform an update when the update script is available to use.

After a fresh installation the path is "/usr/lib/node_modules/cncjs/bin" - the script can check the path for the executable and if not found the user can input the real path.
Or in the update page on the site the user can change the path.

The watch directory support is added in the 1.8.5 release. You can check out the usage below:
Usage
 $ cnc --watch-directory /home/pi/watch

Instead of passing command line options for --watch-directory and --allow-remote-access, you can create a ~/.cncrc file that contains the following configuration in JSON format:
{
  "watchDirectory": "/path/to/dir",
  "allowRemoteAccess": false
}

Then you can browse the watch directory to select a G-code file to load:

The support for running shell commands is added in 95698ebceed2257edcd4900a247ed66ef0b6ed24, and later it will be published in 1.8.10 release. An example configuration (i.e. ~/.cncrc file) will look like below:
{
    "state": {
        "checkForUpdates": true
    },
    "commands": [
        {
            "text": "Reboot",
            "command": "/sbin/reboot"
        },
        {
            "text": "Shutdown",
            "command": "/sbin/shutdown"
        }
    ],
    "macros": [],
    "users": []
}

@slimline33,
To perform an upgrade, you can run pm2 start cnc to monitor cnc process, and add "Update" command in ~/.cncrc to trigger an update from UI. Once an update has been completed, it will kill the cnc process, then pm2 will automatically start the process again:
{
  "commands": [
    {
      "text": "Update (root user)",
      "command": "sudo npm install -g cncjs@latest --unsafe-perm; pkill -a -f cnc"
    },
    {
      "text": "Update (non-root user)",
      "command": "npm install -g cncjs@latest; pkill -a -f cnc"
    }
  ]
}

@cheton hi, i have installed cncjs using npm and would like to add a custom widget to it. Going by the tutorial i have to create a directory under src/widgets but i can't find the "src" directory.

Hi @cheton how do i add a custom widget to an npm installation of cncjs because i can't find the "src" directory even in node_modules

The "src/widgets" folder you mentioned is located in cncjs-widget-boilerplate:
https://github.com/cncjs/cncjs-widget-boilerplate
You can follow the development guide to mount the default widget for testing

https://github.com/cncjs/cncjs-widget-boilerplate#development
Development
Run npm run dev to start a local development server for development, then connect to http://localhost:5000 and wait until bundle finished.
You can specify a mount path to test your widgets with CNCjs:
cnc -vv --mount /widget:/path/to/cncjs-widget-boilerplate/dist

Mounting from a remote server is also supported:
$ cncjs --mount /widget:https://cncjs.github.io/cncjs-widget-boilerplate/v1/

Just walk through the instruction to learn how to load a custom widget:
https://github.com/cncjs/cncjs-widget-boilerplate#configure-cncjs


Updated the Locations

The redirected locations were showing errors. Fixed it by entering proper paths

You may disregard these recommendations if you used the Edit on GitHub button from dvc.org to improve a doc in place.

❗ Please read the guidelines in the Contributing to the Documentation list if you make any substantial changes to the documentation or JS engine.
🐛 Please make sure to mention Fix #issue (if applicable) in the description of the PR. This causes GitHub to close it automatically when the PR is merged.
Please choose to allow us to edit your branch when creating the PR.
Thank you for the contribution - we'll try to review it as soon as possible. 🙏

@jendefig can you check this PR?

Hi @Sayanta66 thanks. Can you clarify what errors you're seeing and give an example?

Please reopen this if I missed something. Thanks for the interest though!


Run kubectl-debug from private docker registry (not just https://hub.docker.com/)

Hi, i really like the tool guys, but is there a way to run this from private docker registry (like nexus) that is inside corporate network.
The reason for this question is that i have some k8s clusters that doesn have access to hub.docker.com (every image is being downloaded from private registry) and want to use this awesome tool.
so basically i pulled both debug-agent:latest and netshoot:latest and pushed to my private docker registry (Sonatype Nexus) and prepared the cfg file ~/.kube/debug-config
agentImage: myregistry:myport/debug-agent:latest (...) image: myregistry:myport/netshoot:latest
ive also modified yaml manifest for debug-agent daemonset and changed Image: to point to image in my private registry
But when starting kubectl-debug i get:
pulling image myregistry:myport/netshoot:latest... Pulling repository myregistry:myport/netshoot starting debug container... error execute remote, Internal error occurred: error attaching to container: Error: No such image: myregistry:myport/netshoot:latest error: Internal error occurred: error attaching to container: Error: No such myregistry:myport/netshoot:latest
I saw that there is possibilty to configure the kubectl-debug-registry-secret but it seems its also only for private repositories in official DockerHub registry.
Is it possible to run it this way ? Are You planning to support this ? I know the easiest solution would be to open traffic to hub.docker.com but i cannot do that on some of our k8s clusters for security reasons.
I was looking long time for such image to debug inside a running container, and never had before found one that contains all the needed troubleshooting tools and also to be so lightweight, already been able to debug bunch of containers (on other k8s clusters that have wide access to official dockerhub registry)
Any feedback would be much appreciated!
Cheers

Pulling from private repository with credential is expected to be supported, what is the output of the log of debug-agent?

I have the save problem, we use a private repository(like harbor), I configure this in ~/.kube/debug-config but doesn't work
RegistrySecretName: myregistrysecret
RegistrySecretNamespace: myregistrysecret_namespace

and I check the debug-agent pod yaml , i doesn't mount imagePullSecrets in pod, like this

@junjieyjj The secret is consumed by the plugin and the plugin will send an authstr to agent.

@junjieyjj @lukjaw Could you please try out v0.2.0-rc, which has the auth issue fixed

The content key in your imagePullSecrets must be "authStr", can you check it?
Like this:
# kubectl get secret kubectl-debug-registry-secret -o yaml
apiVersion: v1
data:
  authStr: xxxxxxxxxxxxxxxxxxxxxxxx
kind: Secret

@junjieyjj @lukjaw Could you please try out v0.2.0-rc, which has the auth issue fixed

This version doesn't seem to fix the issue, it still gives No such image error
echo -n '{Username: reigstryUsername, Password: reigstryPassword}' > ./registrySecret.txt
kubectl create secret generic kubectl-debug-registry-secret --from-file=./registrySecret.txt

cat ~/.kube/debug-config
agentImage: <domain name, not ip>/k8s/kubectl-debug-agent:latest

image: <domain name, not ip>/k8s/nicolaka-netshoot:latest

RegistrySecretName: kubectl-debug-registry-secret
RegistrySecretNamespace: default

registrySkipTLSVerify: true

error is
# kubectl debug test-pod
Waiting for pod debug-agent-pod-a84170f6-7854-11ec-8dee-0cc47a07c582 to run...
Forwarding from <IP_ADDRESS>:10027 -> 10027
Forwarding from [::1]:10027 -> 10027
Handling connection for 10027
                             Start deleting agent pod rancher-6bc4964776-lmkxt
error execute remote, Internal error occurred: error attaching to container: Error: No such image: <domain name, not ip>/k8s/nicolaka-netshoot:latest
error: Internal error occurred: error attaching to container: Error: No such image: <domain name, not ip>/k8s/nicolaka-netshoot:latest

@aylei Hi, the newest version works like a charm, thanks :)


forward deltas == backward deltas?

The deltas are identical in both directions
I do not know if this is intended. I do not see it justified in the paper. This means, that backward deltas do not apply to backward mask. I have noticed you have inverted masks twice for backward input processing:

first you invert masks when sending an argument to parse_rec function;
then you reverse masks again in parse_delta in if dir_ == 'backward'

So whatever bidirectional thing you calculate, the deltas do not align, so the temp decay is wrong, so the gammas... and so on.
Allow me to suggest creating tests using single dimensional data.

I encountered the same question, it seems to be wrong.


Feature/guardians

🗃 Github Issue Or Exmplanation for this PR. (What is it supposed to do and Why is needed)
https://github.com/JoinSEEDS/seeds_light_wallet/issues/371
Chain Calls

Add permissions for guard.seeds
Init guardians (set up guardians)
Recover account (sign recovery)
Cancel recovery
Execute recovery (will work when enough signers)

✅ Checklist

[ ] Github issue details are up to date for people to QA.
[ ] I have tested all my changes.

🕵♂ Notes for Code Reviewer
Technical explanations to help your peers review your work - including environments, credentials, etc.
🙈 Screenshots
For all UI changes

description 1
description 2

img1
img2

👯♀ Paired with
@github-handle or "nobody" if you did not pair.

I think will leave this be and just use the API PR for the functionality


Fine tune soft timeout  (#8218)

Pull request opened by the merge tool on behalf of #8218

Merged into branches iso7 in cd727ac8312b0b05262acaee2f06280cb0d7131c


[DOCS] fix keytool cli doc format issues

Description
[DOCS] fix keytool cli doc format issues

Test plan
How did you test the new or updated feature?

Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

[ ] Protocol:
[ ] Nodes (Validators and Full nodes):
[ ] Indexer:
[ ] JSON-RPC:
[ ] GraphQL:
[ ] CLI:
[ ] Rust SDK:
[ ] DOCs:

Thank you very much @jsrzx for fixing these layout issues!


EnsembleLearnerCensusIncome.ipynb issues

https://github.com/awslabs/amazon-sagemaker-examples/blob/master/introduction_to_applying_machine_learning/ensemble_modeling/EnsembleLearnerCensusIncome.ipynb

Needs to have default bucket set.

Created PR to fix this: https://app.reviewnb.com/awslabs/amazon-sagemaker-examples/pull/1493/files/


Is it possible to let users smoothly use the Garden client from within the container context?

Users will try to test their published entrypoint from the notebook context. There's weird/unintuitive behavior where you can't click through to the Globus login from the notebook in your browser.
Make this easier/clearer if we can. Or if we can't, make it clear that it's impossible.
Assumptions:

Acceptance Criteria
Given..., when..., then...

I just tried this to get a sense of the issue and it worked without a hitch. Gonna close this, but happy to re-open if/when we get repro steps.


Unable to connect Nucleo to Transparent Gateway

Hi I tried to connect a Nucleo to a transparent gateway which was setup following this tutorial and it didn't work.

I followed the tutorial here to set up the edge gateway and supplied the rootCA in my Azure IoTHub
I setup the Nucleo following this tutorial: https://github.com/Azure/azure-iot-device-ecosystem/blob/master/get_started/stm32cube-stm32nucleo-c.md
I appended contents of the rootCA to the file C:\Programming\STM32CubeFunctionPack_AZURE1_V3.2.2\Projects\Multi\Applications\Azure_Sns_DM\Inc\certificates.h
I compiled the code and flashed it to the nucleo
I started it up and used Tera Term to supply WIFI credentials and the ConnectionString with the added [...];GatewayHostName=....
I am getting the following errors:
C:/Programming/STM32CubeFunctionPack_AZURE1_V3.2.2/Middlewares/Third_Parties/mbedtls/library/ssl_tls.c (2846): mbedtls_ssl_flush_output() returned -30848 (-0x7880)

C:/Programming/STM32CubeFunctionPack_AZURE1_V3.2.2/Middlewares/Third_Parties/mbedtls/library/ssl_cli.c (1045): mbedtls_ssl_write_record() returned -30848 (-0x7880)
7. If I remove the GatewayHostName from the ConnectionString the Nucleo connects directly to the IoTHub in the cloud successfully

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

ID: 71acc49c-a23e-493f-c3f5-4ec46846616c
Version Independent ID: bd3abb8d-1b48-0efd-f6a4-1b3f7a12c039
Content
Content Source
Service: iot-edge

@eifinger Thanks for the feedback, could you post your issue in this forum ? https://social.msdn.microsoft.com/Forums/azure/en-US/home?forum=azureiothub


F/prettier

Assignee Tasks

[x] added unit tests (or none needed)
[x] written relevant docs (or none needed)
[x] referenced any relevant issues (or none exist)

This PR adds automatic Prettier support.

On commit, [JS, JSX, JSON, CSS, SCSS, MD] files will be prettified, and [JS, JSX] files will be fixed via ESLint.
Files in .prettierignore including the bundle and package-lock.json will be ignored.
Rules will be set according to .editorconfig and .prettierrc.yml.
Conflicting ESLint rules have been turned off via eslint-config-prettier override.
The source code has been run through Prettier.

I'm torn.
On the one hand, I'm lukewarm on automatic code formatters (because they have no respect for poetry), blended with a concern about student confusion that there's something rewriting their source from under them.
On the other hand, I see a lot of code that makes me cry.
@tmkelly28

I feel similarly. If I was working with people who put care into their formatting choices I’d not bother. But I’ve gradually found myself reflexively running Prettier on every student-written module I review because until I do the structure is buried under a mess of random indentations and bracket locations.
An alternative might be to make the repo set up for prettification but stop short of automatically running it on every commit. Make it an easy opt-in choice.

I would much rather this be an opt-in feature. I'd rather tell students who need it to opt-in rather than annoy students who don't.
Somewhat related note, I'm not a huge fan of some of the style decisions happening with this pull request (I like to keep my curly braces tight, dislike trailing commas, and keep a space after function keyword), but we can maybe bikeshed over that stuff later.

Hi @tmkelly28. OK, I'm happy to adjust it to be an opt-in feature.
Re: style decisions, Prettier by design affords very little in the way of customization, in the expectation that all engineers have small differences of opinion when it comes to style choices, and that the time is better spent just writing code however they want and passively allowing a system to normalize it, than forcing people to actively format their code according to a linter. I also do not agree with every single thing Prettier does, but for me the benefit is in completely letting go of such considerations and focusing entirely on logic. That being said, here is this PR's .prettierrc, which lists practically all relevant possible choices for configuration (plus their corresponding defaults):
+# printWidth: 80 # 80
+# tabWidth: 2 # 2
+# useTabs: false # false
+semi: false # true
+singleQuote: true # false
+trailingComma: all # none | es5 | all
+# bracketSpacing: true # true
+# jsxBracketSameLine: false # false
+# arrowParens: avoid # avoid | always

As you can see, I've turned on semi: false, singleQuote: true, and trailingComma: all (as opposed to none) – the latter because it leads to cleaner git diffs. But I'd be happy to discuss changing any or all of these settings.

Updated to be opt-in. Also re-formatted using stated preference of no space in brackets.

👍

Lockfile sync'd.
The open questions with this PR are as follows:

Is it worth including this to make it easy to opt into it for groups that need or want it? Pro: it would be difficult for groups to integrate Prettier into their project without this PR, as they'd have to reinvent this code themselves from scratch. Con: it adds more noise to package.json / more magic that students don't understand.
If it is indeed merged, are the settings satisfactory? (Keep in mind, the whole reason behind Prettier having very few settings is to remove the possibility of too much bikeshedding.)


StudentGroup Api documentation missing in swagger

There is no proper structure of api in swagger documentation.

use json syntax. It's working.
You can give input in json format.
Get all the student Group and see the output there will be json result. Follow it while hitting save or update api.


Mean formulas return 0

Plugin Name with version
2.2.9
JSpreadsheet version
v10.x
Describe the bug
The average formulas retrieve 0;

Reproduction steps
1.
2.
3.
...

Hi,
Thanks for this issue. It's fixed on verison 2.2.10 of formulas statistics
Thanks

When the version 2.2.10 of formulas statistics will be available?


[feat] Use RegressionTestMeta in the build system classes

Closes #2030.

Codecov Report

Merging #2095 (aec2ca1) into master (5e3f976) will decrease coverage by 0.06%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #2095      +/-   ##
==========================================
- Coverage   86.74%   86.67%   -0.07%
==========================================
  Files          52       52
  Lines        9258     9211      -47
==========================================
- Hits         8031     7984      -47
  Misses       1227     1227

Impacted Files
Coverage Δ

reframe/core/buildsystems.py
96.10% <100.00%> (-0.24%)
:arrow_down:

reframe/utility/typecheck.py
94.54% <0.00%> (-0.91%)
:arrow_down:

Continue to review full report at Codecov.

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


Not sure what to do here,  module.runner.module.cache[0].aws_s3_bucket.build_cache

recent upgrade to the newer version of this project,
My most recent error has given me a bit of a set back.
Some assistance would be appreciated if you could
thank you much

today,
i learned how to count,
sorry peeps, thats on me.


TypeError: Cannot read property 'apps' of undefined

Describe the bug
I am getting this error when I use initAuth() on _app.js :
index.js:315 Uncaught TypeError: Cannot read property 'apps' of undefined
    at F (index.browser.js:1)
    at init (index.browser.js:1)
    at initAuth (initAuth.js:6)
    at Module../pages/_app.js (_app.js:5)
    at Module.options.factory (react refresh:8)
    at __webpack_require__ (bootstrap:25)
    at fn (hot module replacement:61)
    at (index):5
    at route-loader.js:207

Version
0.13.3
Expected behavior
I shouldn't be getting this error...
Additional context
I followed the get started setup. And I am pretty sure all the credentials are correct. This is my initAuth.js:
import { init } from 'next-firebase-auth'

const initAuth = () => {
  init({
    debug: true,
    authPageURL: '/auth',
    appPageURL: '/',
    loginAPIEndpoint: '/api/login', // required
    logoutAPIEndpoint: '/api/logout', // required
    firebaseAuthEmulatorHost: 'localhost:9099',
    // Required in most cases.
    firebaseAdminInitConfig: {
      credential: {
        projectId: 'boledu-next-chakra',
        clientEmail<EMAIL_ADDRESS>        // The private key must not be accesssible on the client side.
        privateKey: process.env.FIREBASE_PRIVATE_KEY,
      },
      databaseURL: 'https://boledu-next-chakra-default-rtdb.firebaseio.com',
      // projectId: 'boledu-next-chakra',
      // clientEmail<EMAIL_ADDRESS>      // // The private key must not be accesssible on the client side.
      // privateKey: process.env.FIREBASE_PRIVATE_KEY
    },
    firebaseClientInitConfig: {
      apiKey: "AIzaSyDmaIOijzC4rj_5tw6bKNz_OIklQcF-TQk",
      authDomain: "boledu-next-chakra.firebaseapp.com",
      projectId: "boledu-next-chakra",
      storageBucket: "boledu-next-chakra.appspot.com",
      messagingSenderId: "714029934222",
      appId: "1:714029934222:web:f948c5b2c7d5c05cd60bdf",
      measurementId: "G-255D1C2H8C"
    },
    cookies: {
      name: 'BoleduApp', // required
      // Keys are required unless you set `signed` to `false`.
      // The keys cannot be accessible on the client side.
      keys: [
        process.env.COOKIE_SECRET_CURRENT,
        process.env.COOKIE_SECRET_PREVIOUS,
      ],
      httpOnly: true,
      maxAge: 12 * 60 * 60 * 24 * 1000, // twelve days
      overwrite: true,
      path: '/',
      sameSite: 'strict',
      secure: false, // set this to false in local (non-HTTPS) development
      signed: true,
    },
  })
}

export default initAuth

I am guessing it must be an error with initializing the admin sdk? In the generated private key file there are also keys such as private_key_id or client_id, which are not included in the example. Is that the reason I am getting this error?

I had the same problem, and I had to downgrade my firebase to 8.9.1 and it worked

Thanks that fixed it. It would be nice if the installation guide was updated to:
npm install<EMAIL_ADDRESS><EMAIL_ADDRESS>
Would have saved me some time!


Build failure: python312Packages.pymupdf @ 1.24.10 on Darwin

Steps To Reproduce
Steps to reproduce the behavior:

On Darwin, nix-build -A python312Packages.pymupdf
Observe: the checkimports step fails (pymupdf fitz)

This failure does not happen on Linux-x86_64.
Build log
       > Executing pythonImportsCheckPhase
       > Check whether the following modules can be imported: pymupdf fitz
       > /nix/store/f0nb70gf98frbdpmc3vgdlqh6cp0k0a9-python-imports-check-hook.sh/nix-support/setup-hook: line 15: 25083 Killed: 9               /nix/store/ybnf7k6i9p244bbhsbxizqk65z58cwyr-python3-3.12.6/bin/python3.12 -c 'import os; import importlib; list(map(lambda mod: importlib.import_module(mod), os.environ["pythonImportsCheck"].split()))'

Additional context
The failure happens for both pymupdf and fitz -- commenting each one out individually still triggered the error.
Notify maintainers
@teto
@emilazy for Darwin
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"aarch64-darwin"`
 - host os: `Darwin 24.0.0, macOS 15.0.1`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.18.5`
 - channels(root): `"nixpkgs"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixpkgs````

Add a :+1: reaction to issues you find important.

This issue happens due to pymupdf loading the tesseract library which is not codesigned.
This can be seen in the crash report in macOS Console.App:
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               python3.12 [28717]
Path:                  /Volumes/VOLUME/*/python3.12
Identifier:            python3.12
Version:               ???
Code Type:             ARM-64 (Native)
Parent Process:        fish [14635]
Responsible:           iTerm2 [11013]
User ID:               502

Date/Time:             2024-11-01 05:23:33.0894 +0100
OS Version:            macOS 15.0.1 (24A348)
Report Version:        12

Time Awake Since Boot: 1000000 seconds
Time Since Wake:       1038260 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGKILL (Code Signature Invalid))
Exception Codes:       UNKNOWN_0x32 at 0x0000000102690000
Exception Codes:       0x0000000000000032, 0x0000000102690000

Termination Reason:    Namespace CODESIGNING, Code 2 Invalid Page

VM Region Info: 0x102690000 is in 0x102690000-0x1028c0000;  bytes after start: 0  bytes before end: 2293759
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      mapped file                 10235c000-102690000    [ 3280K] r--/rwx SM=COW  Object_id=ef68854c
--->  mapped file                 102690000-1028c0000    [ 2240K] r-x/rwx SM=COW  Object_id=ef68854c
      VM_ALLOCATE (reserved)      1028c0000-1029c4000    [ 1040K] rw-/rwx SM=NUL  reserved VM address space (unallocated)
[...]

The last file accessed before loading pymupdf (via sudo fs_usage -f filesys python3.12):
[...]
05:27:36  open              daajpvv-tesseract-5.3.4/lib/libtesseract.5.dylib    0.000021   python3.12
05:27:36  fcntl                                                                 0.000001   python3.12
05:27:36  close                                                                 0.000001   python3.12
05:27:36  stat64            daajpvv-tesseract-5.3.4/lib/libtesseract.5.dylib    0.000002   python3.12
05:27:36  stat64            daajpvv-tesseract-5.3.4/lib/libtesseract.5.dylib    0.000002   python3.12
05:27:36  open              daajpvv-tesseract-5.3.4/lib/libtesseract.5.dylib    0.000009   python3.12
05:27:36  fcntl                                                                 0.000001   python3.12
05:27:36  close                                                                 0.000001   python3.12
05:27:36  exit                                                                  0.000018   python3.12

I'm pushing a PR to fix the underlying tesseract issue in a minute.


Decorator one to one

:tada: This PR is included in version 3.0.0-beta.24 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Please reconsider printing out BTC donation banner

I really think you should reconsider printing out the BTC donation banner.

@functorism I like that a reaction is already coming in, could you please elaborate on what the objection is exactly?

I think you're more than justified to have the donation call out in the README, of course
That it gets printed out downstream for users use of this library is however indeed spammy, in my opinion. For example the banner got flashed to me when I ran my tests, so I had to scroll past the rather large donation banner to view my test output.
I just don't have an expectation that functional libraries I install will pollute my stdout/stderr with information not pertaining to execution.

Thats a fair point, experiment concluded, thanks for the engagement :)


version bumps and cleanups

Motivation: I want everything modernized before I take a stab at adding Scala 3 support.
About the Scala.js upgrade, it's true that upgrading to 1.4.0 means users must use 1.4.0 as well, but I checked in with Seb about that recently and he says don't think about it just do it, as he has said a number of times before. It's considered normal in the Scala.js world that in order to upgrade your libraries you may need to be on latest Scala.js first.

OKAY WHO'S AROUND TO MERGE THIS BAD BOY

Note that #391 and #386 should be closed.

Scala.js 1.5.0 released already, see #395

I've added a commit with a 1.5.0 upgrade.

can somebody review/merge this?

Hi @SethTisue, I'm guessing this changes in scalajs means in the next release of twirl we should bump to 1.6.0 (we're now on 1.5.x).

@ignasi35 I don't think so. I have not seen other libraries doing that.

Hey, I am currently working on a couple of Play pull requests and I think Play will need a 2.9 release at some point this year anyway. I don't think Play will be able to support upcoming JDK's (in particular Java 17 LTS in September) and probably also Scala 3 in it's 2.8.x branch and at the same time stay binary compatible... So I think it makes sense to think about a Play 2.9 release... then we could include libraries with major releases (twirl, play-json, play-ws,...), drop stuff (Scala 2.12? sbt 0.13 was removed already from the master branch and interplay)


Iterate over pre-generated config options for each project in load_data command

Context
At the completion of Issue https://github.com/AlexsLemonade/scpca-portal/issues/740, Project::create_computed_file and Sample::create_computed_file will both contain a loop which iterates over all common.GENERATED_PROJECT|SAMPLE_DOWNLOAD_CONFIGURATIONS and calls ComputedFile::get_project|sample_file on each of the individual download_configurations within a multithreaded environment.
Problem or idea
At this point, we can move this logic to the load_data command and out of Project::create_computed_file and Sample::create_computed_file, where the logic currently lives. Additionally, we will be able to move references to these methods out of Project::load_data, where they are currently being called from.
Then, we'll be able to rename Project::load_data to Project::load_metadata, as the Project model will now only be responsible for the parsing and saving of metadata objects and not File Computation.
Solution or next step
Once Issue https://github.com/AlexsLemonade/scpca-portal/issues/740 is closed by PR https://github.com/AlexsLemonade/scpca-portal/pull/776 there will be more clarity as to which way this will be carried out.

The solution looks something like this:

# load_data.py
def load_data(...):
        ...

        projects_metadata = metadata_file.load_projects_metadata(
            Project.get_input_project_metadata_file_path()
        )

        for project_metadata in projects_metadata:
            scpca_project_id = project_metadata["scpca_project_id"]

            ...

            if not utils.list_s3_paths(Path(scpca_project_id), recursive=False):
                logger.warning(
                    f"Metadata found for '{scpca_project_id}' but no s3 folder of that name exists."
                )
                return

            ...

            project = Project.get_from_dict(project)
            project.save()

            ...

            project.load_metadata(**kwargs)

            def on_get_file(future):
                if computed_file := future.result()
                    computed_file.process_computed_file(clean_up_output_data, update_s3)
                connection.close()

            samples = Sample.objects.filter(project__scpca_id=project.scpca_id)
            locks = {}

            with ThreadPoolExecutor(max_workers=max_workers) as tasks:
                for config in common.GENERATED_PROJECT_DOWNLOAD_CONFIGURATIONS:
                    tasks.submit(
                        ComputedFile.get_project_file,
                        project,
                        config,
                        project.get_download_config_file_output_name(config),
                    ).add_done_callback(on_get_file)

                for sample in samples:
                    for config in common.GENERATED_SAMPLE_DOWNLOAD_CONFIGURATIONS:
                        tasks.submit(
                            ComputedFile.get_sample_file,
                            sample,
                            config,
                            sample.get_download_config_file_output_name(config),
                            sample_lock=locks.setdefault(sample.get_lock_name(config), Lock()),
                        ).add_done_callback(on_get_file)

            project.update_downloadable_sample_count()
            project.save()
            ...


This will resolve https://github.com/yepsua/filament-range-field/issu…

…es/4
This will resolve https://github.com/yepsua/filament-range-field/issues/4

Thanks for your code contribution @devadattas :)


Set default active for credential

Signed-off-by: Maggie Chen<EMAIL_ADDRESS>https://github.com/stolostron/backlog/issues/24372

/hold

/unhold


Make the check for stale extension healthchecks enabled by default

For backwards compatibility reasons https://github.com/gardener/gardener/pull/2266 made the check for stale extension healthchecks disabled by default. This was done back in<EMAIL_ADDRESS>and now it is time to make this check enabled by default.
Initially there was no idea to make this check configurable (like enabled or disabled) but I think to make sense to have this configurable.
Currently we have:
---
apiVersion: gardenlet.config.gardener.cloud/v1alpha1
kind: GardenletConfiguration
# ...
  shootCare:
    staleExtensionHealthCheckThreshold: 5m

And when staleExtensionHealthCheckThreshold is not specified, then the check for stale extension healthchecks is disabled.
My proposal:
---
apiVersion: gardenlet.config.gardener.cloud/v1alpha1
kind: GardenletConfiguration
# ...
  shootCare:
    staleExtensionHealthChecks:
      enabled: true
      threshold: 5m

@gardener/gardener-maintainers wdyt?
/kind cleanup
/priority normal

+1, sgtm

@ialidzhikov do you want to cover this as you are assigned?

@ialidzhikov do you want to cover this as you are assigned?

@ialidzhikov do you want to cover this as you are assigned?

Yes, it is still in my list. 👀

@ialidzhikov do you want to cover this as you are assigned?

Yes, it is still in my list. 👀


bug: Navbar details attribute not removed after user click away or click an item in it

What version of daisyUI are you using?
3.2.1
Describe your issue

https://daisyui.com/components/navbar/
when i tried to click away from the navbar menu item it won't close itself i assume it has something to do with open attribute in <details/> also it only remove the open attribute when i clicked the summary button itself again which is not handy.
What browsers are you seeing the problem on?
Chrome
Reproduction URL
No response

submenu uses the HTML <details> tag It opens with click and closes with second click. It's the best option we can use to create an accessible menu that works on all devices and with screen readers.
If you want it to get closed when clicked outside, you can handle that with JS.
We can't really handle the click outside behavior on CSS. We need JS for that. In CSS we can use CSS focus to show something when it's focused but it's not accessible for screen readers and also we can't make multi level menus with that because only 1 element can be focused at a time and when the second level submenu gets focused, the first level will be closed. So it's not possible with CSS.
Here is a pure JS example: https://stackoverflow.com/a/68644266
And there are also packages for frameworks:

https://www.npmjs.com/search?q=svelte click outside
https://www.npmjs.com/search?q=vue click outside
https://www.npmjs.com/search?q=react click outside

Thanks, it helped a lot!


fix(oas-utils): improve handling of non-string enums in parameter schema

This PR adds parsing support for non-string enums (number, integer, boolean) in parameter schemas, converting them to strings.
fixes #3681
https://github.com/user-attachments/assets/b96f26e5-c273-4b15-ad16-2dea06de6dc8

It still doesn't work for me in the current version<EMAIL_ADDRESS>And here too: https://sandbox.scalar.com/e/8V5Hx

It still doesn't work for me in the current version<EMAIL_ADDRESS>And here too: https://sandbox.scalar.com/e/8V5Hx

It was released in<EMAIL_ADDRESS>(https://github.com/scalar/scalar/pull/3692).


iTerm2: segment arrow incorrectly coloured

I seem to have a problem similar to #381, but in iTerm2: the segment separators are all white, except for the outer ones.
Also, the arrows seem to be slightly larger than the segments.
The relevant part of my .zshrc file:
POWERLEVEL9K_MODE='awesome-patched'
POWERLEVEL9K_SHORTEN_DIR_LENGTH=3
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(time ram dir status)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(vcs node_version)
POWERLEVEL9K_STATUS_OK_BACKGROUND="green"
POWERLEVEL9K_STATUS_OK_FOREGROUND="white"
POWERLEVEL9K_STATUS_ERROR_BACKGROUND="red"
POWERLEVEL9K_STATUS_OK_FOREGROUND="white"

export DEFAULT_USER="creynder"
ZSH_THEME="powerlevel9k/powerlevel9k"

And this is how it looks:

Using the  iTerm2 Build 3.0.14, with 12pt SourceCodePro+Powerline+Awesome. Same font for non-ASCII characters.
Mac OS X v10.12.3 (Sierra)

Hi @creynders !
Could you make sure, that you disable the minimum contrast in the iTerm2 settings? If set it at max (as shown in the screenshot) I get similar results like you.

@dritter thanks, that did the trick! Any idea why the arrows are larger than the segments?

@creynders awesome!
Yes, this is usually a problem of a bad patched font. But there is a trick in iTerm2, that you can try. In iTerm2 you can set different fonts for normal text and non-ascii font. The trick is now to select the same font. In the dialog you can tweak the font size for the non-ascii font..

Closing this issue for now.
@creynders If this workaround is not sufficient, feel free to reopen the issue.


ENH: Switching to pytest

Ready for review. attn @tacaswell @klauer

Note the move of metadatastore.utils.testing.py -> metadatastore.test.utils.py. Reasoning is that we dont need a utils subpackage for a testing thing. Just move it into the test subpackage and get rid of the now unnecessary utils subpackage


Update configure-upgrade-etcd.md

Updated etcd port number from invalid 12380 to valid 2380.

/assign @tengqm

thanks for the PR @taherbohari
/lgtm

/lgtm

Attempting to redeploy on Netlify

Redeploying worked!
Preview: https://deploy-preview-13505--kubernetes-io-master-staging.netlify.com/docs/tasks/administer-cluster/configure-upgrade-etcd/#replacing-a-failed-etcd-member
/approve


Handle function validators in a discriminated union

Closes https://github.com/pydantic/pydantic/issues/6525
skip change file check

Sorry for never linking it to the original issue: https://github.com/pydantic/pydantic/pull/6541


Multiscalar multiplication doesn't enforce lengths of input vectors

The variable base multi_scalar_mul will silently truncate its inputs if the lengths don't match. This is not usually a desired behavior and would produce incorrect (or at least unexpected) results.
https://github.com/arkworks-rs/algebra/blob/d7fa00e708d76465cc49ed5e33ea42ff17f599b1/ec/src/msm/variable_base.rs#L16-L19
We've run into this a couple of times (https://github.com/celo-org/celo-bls-snark-rs/pull/181, https://github.com/celo-org/celo-bls-snark-rs/pull/222/commits/681cf111cf73459847bacf4378a26ba25a865fcc) and always have to include length checks in the caller code. Instead, the function could return a Result or Option that can express the "unequal inputs" error condition.
I'm not sure what the preferred idiom for this library would be but I'd be happy to try implementing it if there is one.

I see. Yes, the code intentionally does the truncation.
Let me ask Pratyush if this implementation is intentional. But I agree that for safety, it is better to fail when it does not match.
@Pratyush

In downstream usage (eg: the KZG impl in poly-commit), doing that gets cumbersome, because you end up with some variation of msm(scalars, srs[..scalars.len()]).
Also, IMO there's a difference between the two cases, stemming from the primary usage of MSMs in commitments:

when scalars.len() > group_elements.len(), the additional scalars get ignored, which means they aren't committed to.
when scalars.len() < group_elements.len(), the additional group elements just get paired with "zero" scalars, and this is still a valid commitment to the original scalars.

Happy to revise this opinion if y'all think that the latter case also has issues.


Use correct module name for invokeai-update

Attempts to run the update script were giving "ModuleNotFoundError"
Addresses one of the issues raised by #3006

@lstein - Is this still needed?

invokeai-update is going to need more work to support the new architecture, so I'm going to close this now.


Consider adding assert-migrator-reversible to SeaORM showcase!

Hey @JosephLenton, thanks for adopting SeaORM!
It's our pleasure to see more inspirational projects were built on top of SeaORM :)
Let us know if you have any feature recommendation or feedback.
Some learning resources for you: Documentation, Tutorial, Cookbook, Q&A
Join our Discord server to chat with others in the SeaQL community!
Feel free to submit a PR to showcase your project, https://github.com/SeaQL/sea-orm/issues/403.

Thank you @billy1624 for the support! I am currently writing a blog post explaining the crate and going through the code. When that's done I'll be happy to submit it to the showcase.

Sure! Take your time


Removed gitter badge and webhook.

Coverage remained the same at 94.444% when pulling e6c547098b8ee84fabb3a6e57f5c81102818faa4 on remove-gitter-badge into 56298e045c45f0ad42dec814b062bfa936bc6915 on develop.

Coverage remained the same at 94.444% when pulling e6c547098b8ee84fabb3a6e57f5c81102818faa4 on remove-gitter-badge into 56298e045c45f0ad42dec814b062bfa936bc6915 on develop.


Appending while writing to file doesn't create a new row

Just as the title says, when I'm writing to a file which is using a stream with the append argument set to true, the CSVWriter is writing the first row on the last already written row.
Then it works properly.

I did a workaround by writing
try! csv.write(row: [""])
before appending the actual row. Then it creates a new row. 😁

+1
@akshit5230 thanks for the tip though

I did a workaround by writing try! csv.write(row: [""]) before appending the actual row. Then it creates a new row. 😁

@yaslab.. In my case When i append to an existing csv created by another library that worked fine.. but when i created a new csv using this library and then tried to append....  i had the same issue and fixed as @akshit5230  did but wondering what is the actual issue so that we can  fix it properly and we can use it without any kind of issue.
私の場合、別のライブラリによって作成された既存のcsvに追加すると、正常に機能しました..しかし、このライブラリを使用して新しいcsvを作成し、追加しようとすると同じ問題が発生しました。 @akshit5230 が行ったように修正されましたが、適切に修正して問題なく使用できるように、実際の問題は何なのか疑問に思っています。


Default route missing slash before #

I have a case where a slash is not being put between the url and the hash for the default route.  I'm using the same files in two different folders on my local machine hosted by IIS and run in IE 11.  In one case, $browser.url() is returning "http://localhost/app1/" and the other case it is returning "http://localhost/app2".  Notice the missing slash for app2.  This makes the default route "http://localhost/app1/#/sets" and "http://localhost/app2#/sets".  The missing slash causes the url for the views to be wrong, returning a 404.
I'm not the only one to have this issue: http://stackoverflow.com/questions/20690127/angularjs-default-route-missing-slash-before
Example route setup:
$routeProvider
	.when('/sets', {
		templateUrl: 'sets/sets.html',
		controller: 'setsController'
	})
	.otherwise({
		redirectTo: '/sets'
	});

I've tracked it down to the this.$get function in angular.js. Adding a check to make sure appBase ends with a slash fixes the issue for me.
if (html5Mode.enabled) {
      if (!baseHref && html5Mode.requireBase) {
        throw $locationMinErr('nobase',
          "$location in HTML5 mode requires a <base> tag to be present!");
      }
      appBase = serverBase(initialUrl) + (baseHref || '/');
      LocationMode = $sniffer.history ? LocationHtml5Url : LocationHashbangInHtml5Url;
    } else {
    	appBase = stripHash(initialUrl);
// make sure appBase ends with a slash!
    	if (appBase.indexOf('/', appBase.length-1) == -1)
    		appBase = appBase + '/';
      LocationMode = LocationHashbangUrl;
    }

I think I'm having the same problem.  How do you add your code to Angular without altering the source code: if (appBase.indexOf('/', appBase.length-1) == -1)  appBase = appBase + '/';  ?

I have fixed this issue by modifying HomeController. The result looks a bit ugly, but it does not require altering angular source code.
        [Authorize]
        public ActionResult Index()
        {
            if (!Request.Path.EndsWith("/"))
            {
                return RedirectPermanent(Request.Url.ToString() + "/");
            }

            return View();
        }

Thanks!
On 12 February 2015 at 18:13, nuCleaRR<EMAIL_ADDRESS>wrote:

I have fixed this issue by modifying HomeController. The result looks a
bit ugly, but it does not require altering angular source code.
    [Authorize]
    public ActionResult Index()
    {
        if (!Request.Path.EndsWith("/"))
        {
            return RedirectPermanent(Request.Url.ToString() + "/");
        }

        return View();
    }

—
Reply to this email directly or view it on GitHub
https://github.com/angular/angular.js/issues/9941#issuecomment-74098280.

Is this to do with the browser / Angular not understanding that paths that end in .cshtml are to be considered as HTML files?

OK, so I am thinking that this is really a problem on the server and not a bug in Angular. It seems that the
Microsoft ASP.NET Web Optimization Framework is modifying the URLs and removing the trailing slash.
$browser.url() is returning exactly what is in window.location.href.
A URL that ends in a slash is fundamentally different from one that does not. It is not reasonable for Angular to try to guess whether a slash is expected or not.
To arbitrarily add a slash to the end of URLs would cause other problems. For example, it is very common to have URLs that point to resources that do not have an extension: http://domain.com/a/b/c. In this case there is no reason to assume that /a/b/c is a "folder" that contains other path elements. In fact the browser does exactly the opposite: it assumes that the c path segment refers to a resource inside a folder of /a/b/. So when referring to a relative URL within this absolute URL the browser will strip off the c: d/e -> http://domain.com/a/b/d/e.
Therefore the "fix" for this needs to occur on the server, perhaps using a fix similar to that suggested by https://github.com/angular/angular.js/issues/9941#issuecomment-74098280.


tooltips on mobile disappear immediately on tap

Expected Behavior

On mobile, would expect the tooltip to appear on tap and to remain visible until users closes or taps away
Current Behavior

On mobile, tooltip appears for a second and then disappears immediately
Steps to Reproduce (for bugs)

View https://jsfiddle.net/kf5u88L5/ in mobile compatibility mode using Chrome

Your Environment

Browser Name: Chrome
Operating System and Version: Android 7 & 8 (and can be replicated on desktop in chrome compatibility mode using OS X 10.13.4)

good find @jspeis! moved to here: https://github.com/d3plus/d3plus-viz/issues/76