Can't reference preview package from feed using #r in F# notebook

My understanding is that this should work (the package is available in the package feed at the time of writing):
    #i "nuget: https://ci.appveyor.com/nuget/diffsharp"
    #r "nuget: DiffSharp-reference,0.9.5-preview-2006210200"

(then evaluate a code cell)
Expected: resolves the package
Actual:
Microsoft (R) Build Engine version 16.6.0+5ff7b0c9e for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
/tmp/nuget/71--ec37649b-c55e-4aa4-b7ac-7232545aa90c/Project.fsproj : error NU1101: Unable to find package DiffSharp-reference. No packages exist with this id in source(s): nuget.org
  Failed to restore /tmp/nuget/71--ec37649b-c55e-4aa4-b7ac-7232545aa90c/Project.fsproj (in 1.34 sec).

Which version of .NET Interactive are you using?

I tested via an F# notebook at https://mybinder.org/v2/gh/dotnet/interactive/master?urlpath=lab

.NET Interactive

© 2020 Microsoft Corporation

Version: 1.0.131806+2c386dc8675c1e5bcfcf4467d15c8ea7e2c0e46b

Build date: 2020-06-19T07:22:34.0000000Z

related https://github.com/dotnet/fsharp/issues/9539, https://github.com/dotnet/fsharp/issues/9540, https://github.com/dotnet/fsharp/issues/9270, https://github.com/dotnet/interactive/issues/474


Removed unused import statements in vue-scanner.ts

I Removed the unused import statements in vue-scanner.ts as said in issue #5 .

i have opened a pull request on this.Please check it


feat: Added page transitions. [#25]

Feature: Added page transitions
Intuition
It's nice to have some transitions when switching between pages - especially if the user's internet is slow & the page takes a long time to load. We don't really want them to feel they're stuck and nothing works.
Implementation

Framework-wise:

JS Hooks beforePageTransition() and afterPageTransition() (both async)
Dynamically (after page render) add an onClick for all <a>  tags (to capture the page switch)

Design-wise:

Make a beautiful transition page
Make the transition using GSAP

Implementation Notes

I used GSAP, which adds 23kb (gzip+min) to the request. That's not much though.
Feel free to make a better transition using beforePageTransition() and afterPageTransition() hooks!

Author

@yyjlincoln

PR Checklist

[x] My Pod Leader knows I'm working on this Pull Request
[x] I've explained what the Pull Request is adding.
[x] I've explained why this is important.

Additional Info
This PR resolves #25.

Quick demo: https://www.youtube.com/watch?v=LB6BSgc9Ey4

@ditsuke: LGTM! I did a little review and made some changes, please have a look to confirm they're alright 😃

Thanks a lot for cleaning up the code!


Undefined Symbol Error

The error I get when I start psst-gui:
psst-gui: symbol lookup error: psst-gui: undefined symbol: pango_attr_insert_hyphens_new

I'm on Debian 10. Installed psst via the .deb package provides in the actions (from commit 0161cc1).

This looks like an issue on Druid part, possibly it depends on a newer version of Pango?

@jpochyla I have no experience with Druid or Pango. If you tell me how I can help further debugging this, I'd gladly do so. Last commit I tried where this accures is 11cec9d.

This is likely caused by the system pango being older than required by Druid. Not much we can do about this.


Update Client.php

Clear $this->ch on shutdown, so it's empty for subsequently create(), which would otherwise try to close an already closed curl handle.

Thanks :-)


feat:added timeline

Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[x] Make sure you are requesting to pull a topic/feature/bugfix branch (right side). Don't request your default branch!
[x] Make sure you are making a pull request against the default branch (left side). Also you should start your branch off default branch.
[x] Check the commit's or even all commits' message styles matches our requested structure.
[x] Check your code additions will fail neither code linting checks nor unit test.
[x] I have added necessary documentation (if appropriate)

Description
Please describe your pull request.
❤Thank you!
Post merge checklist

[x] Follow steps from the guidelines for contributing to this repository.
[ ] If you are a new contributor, ping in the thread and one of the maintainers will add you to all-contributors list.

@Seventy7dot2

Use styled components and twin macro.
Make the mobile view as per the design.

@Lucif3r-in @SirSimon162 What will be the breaking point for mobile view?

@Lucif3r-in @SirSimon162 What will be the breaking point for mobile view?

You have to keep two breakpoints, for tablets 768px and for mobile- 480px

@Seventy7dot2

When you give some padding to the section it overflows. Work on it
After 1258px it fails in responsiveness and make margin-auto so that it is always centered

@Seventy7dot2

When you give some padding to the section it overflows. Work on it
After 1258px it fails in responsiveness and make margin-auto so that it is always centered

I have made some changes. Can you check it now? and if the problem persists please attach the screenshot

Please follow commit message standards

LGTM🚀


Add to webjars

Make available through webjars/Maven

Done: GroupID = org.webjars.npm ArtifactID = split.js Version = 1.0.7
(created this issue to just track that it had been done)


Drop no longer needed checksum annotations from GCM deployment

How to categorize this PR?

/area delivery
/kind regression
What this PR does / why we need it:
Drop no longer needed checksum annotations from GCM deployment
Which issue(s) this PR fixes:
Follow-up of #8243
Special notes for your reviewer:
/cc @plkokanov
Release note:

NONE

/cherry-pick release-v1.76

/lgtm
/approve


Build 31 and 32 missing share type picker from bottom nav Share icon

Between Builds 30 and 31, LCW lost the picker that allows individuals to choose if they want to share 1 or more credentials to fork to the Share+Send screen or the Send selection screens.

Fixed, closing.


Made improvements to IntelliJ IDEA plugin for Stapler

Summary: Migrated to Gradle build so that it can be built continuously and started working on migrating to modern features so that plugin works right on the latest IntelliJ IDEA
Links

https://github.com/stapler/idea-stapler-plugin/pull/4
https://github.com/stapler/idea-stapler-plugin/pull/20
https://github.com/stapler/idea-stapler-plugin/pull/16
https://ci.jenkins.io/job/Stapler/job/idea-stapler-plugin/

Thanks for your contribution! I confirm that a significant part of the referenced pull requests has been done during the hackfest.
@all-contributors please add @duemir  for tools


Adding I2C Burst Reading/Writing feature

I realize that the C-SDK of Raspberry Pi Pico does not support the burst mode operation in I2C (only supports normal and repeated start in reading/writing). As burst mode is an important I2C feature that is sometimes required in communication with several I2C slaves. e.g. MAX3010X. Hopefully, we can consider adding this feature to the current SDK.
Thank you

Any idea how we would test this?

a bit confused at a very qucik glance; can't you just set nostop to true in the existing API?

@kilograham In the original implementation with "nostop" set to true, the start condition can repeat without sending a stop, allowing for repeated starts within a transfer. However, in burst mode, there is only one start and one stop condition, with several commands or data transfers happening continuously in between without any repeated starts or stops.

@kilograham Is there a reason this didn't make it into the release?

because it had merge conflicts

Actually, it was my mistake.

Example here https://github.com/raspberrypi/pico-examples/pull/512

@kilograham Apologies - could you review this again?


Move testdata to root

Go mod automatically ignores the /testdata directory. This change ensures that the rootfs for source/pci tests are not included in the module definition.

Thanks @ArangoGutierrez. I squashed your changes onto https://github.com/kubernetes-sigs/node-feature-discovery/pull/1921


using Network printer and catching socket errors

This is very similar to issue #189, but in this case trying to catch a socket error to a network printer results in the same type of issue where the exception gets caught, but another exception happens during the garbage collection (I presume), when calling close() on the Network printer object.
Example:
try:
    p = printer.Network('<IP_ADDRESS>', timeout=5)
except socket.error:
    raise SystemError('error connecting to network printer')

If this exception is caught, another exception is raised:
 raise SystemError('could not connect to network printer')
File "/usr/local/lib/python2.7/dist-packages/escpos/escpos.py", line 46, in __del__
  self.close()
File "/usr/local/lib/python2.7/dist-packages/escpos/printer.py", line 225, in close
  self.device.shutdown(socket.SHUT_RDWR)
File "/usr/lib/python2.7/socket.py", line 228, in meth
  return getattr(self._sock,name)(*args)
socket.error: (107, 'Transport endpoint is not connected')

The socket isn't connected and so the shutdown command fails in the cleanup of the device.
This can be solved by adding a connected variable to the Network class and setting it to True only at the end of the open method of the printer.Network class, and then only calling the self.device.shutdown command if the self.connected variable is True. (there doesn't seem to be a good way to check if the self.device socket is connected or not?)
I'm not entirely sure if this is a good fix for this issue, but it solves the problem I was running into.

Using a variable for the socket-state seems like a viable way to me. Feel free to create a PR :-)

@patkan this issue was also fixed at #201.
As in #189, the issue is no longer reproducible since v.3.0a so you can close as completed.


KG endpoint error - Drug - PhenotypicFeature

This issue is to report an error in the return response with the following query:

Note that Drug - correlated_with - ChemicalSubstance (the default) works, as does Drug - correlated_with - Disease, but Drug - correlated_with - ActivityAndBehavior and Drug - correlated_with - PhenotypicFeature and Drug - correlated_with - Environment do not.


Calico in ebpf + vxlan mode (and wireguard) failed to be accessed from outside the cluster

Expected Behavior
Service of type LoadBalancer or NodePort can be accessed normally,
whatever the backend pod location and source IP is preserved
Current Behavior
Service of type LoadBalancer or NodePort failed to be accessed from outside the cluster:

From inside the service works on each node 100% of the time (wherever the node contains a backend pod or not)
From outside the service see many connections timeout, and can be reached (sometime) if a backend pod
is located on the accessed node

Steps to Reproduce (for bugs)

Install kubernetes
Install keepalived to move a VIP
Install calico (see manifest and config below)
Install metallb (only controller, see config below)
Install a service of type LoadBalancer with backend pods (in my case nginx ingress controller)
curl http://<public_VIP> multiple time. See many errors and only success if node that hold VIP has a backend pod.
curl http://<node_IP>:<node_port> we can see the same behaviour.

Context
Each node has two interfaces (except the ones from calico):

eth0:

PublicIP from provider
could receive VIP

wg1 (setup manually wia ansible, not calico) :

privateIP that mesh all the cluster (kubelet nodeIP)

Felix Config
apiVersion: projectcalico.org/v3
kind: FelixConfiguration
metadata:
  name: default
spec:
  bpfEnabled: true
  bpfExternalServiceMode: Tunnel
  bpfLogLevel: Debug
  ipipEnabled: false
  logSeverityScreen: Info
  reportingInterval: 0s
  vxlanEnabled: true
  vxlanMTU: 1370

Default and sing IPPool:
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: default-ipv4-ippool
spec:
  blockSize: 26
  cidr: <IP_ADDRESS>/17
  ipipMode: Never
  natOutgoing: true
  nodeSelector: all()
  vxlanMode: Always

Manifest (Diff from calico-vxlan.yaml)
--- arch-cloud/roles/kube-calico/calico-vxlan.yaml	2021-08-02 22:25:06.359634474 +0200
+++ calico-vxlan.yaml	2021-08-06 23:39:51.393404973 +0200
@@ -15,7 +15,7 @@
   # Configure the MTU to use for workload interfaces and tunnels.
   # By default, MTU is auto-detected, and explicitly setting this field should not be required.
   # You can override auto-detection by providing a non-zero value.
-  veth_mtu: "0"
+  veth_mtu: "1370"

   # The CNI network configuration to install on each node. The special
   # values in this config will be automatically populated.
@@ -3879,14 +3879,11 @@
                 configMapKeyRef:
                   name: calico-config
                   key: veth_mtu
-            # Disable AWS source-destination check on nodes.
-            - name: FELIX_AWSSRCDSTCHECK
-              value: Disable
             # The default IPv4 pool to create on startup if none exists. Pod IPs will be
             # chosen from this range. Changing this value after installation will have
             # no effect. This should fall within `--cluster-cidr`.
-            # - name: CALICO_IPV4POOL_CIDR
-            #   value: "<IP_ADDRESS>/16"
+            - name: CALICO_IPV4POOL_CIDR
+              value: "<IP_ADDRESS>/17"
             # Disable file logging so `kubectl logs` works.
             - name: CALICO_DISABLE_FILE_LOGGING
               value: "true"
@@ -3970,7 +3967,7 @@
         # Used to install CNI.
         - name: cni-bin-dir
           hostPath:
-            path: /opt/cni/bin
+            path: /usr/lib/cni/
         - name: cni-net-dir
           hostPath:
             path: /etc/cni/net.d

MetalLB chart values:
  configInline:
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - <Public_VIP>/32
  speaker:
    enabled: false

Your Environment

Calico version: 3.19.3, 3.20.0 at least
Orchestrator version (e.g. kubernetes, mesos, rkt): kubernetes 1.21
Operating System and version: Archlinux (latest)
Cloud provider: oneprovider.com (Region: Paris, which in this case looks like old online.net/scaleway servers rebranded)

pinging 📲 @tomastigera, who might have a better idea of what's going on

Looks like I have the same issue with nodeport:
kubectl create deployment nginx --image=nginx
kubectl expose deployment/nginx --port 80 --type=NodePort

If I retrieve the nodeport;
curl <nodes_ip>:<node_port>  # Only works on the node where the pods lies

@Zempashi LB are often implemented using NodePorts. Do you have the same issue without wireguard?

LB are often implemented using NodePorts
Yes I know, but my provider is a provider of baremetal servers, I only have failover IP attached to it and this is what I use for the loadbalancer IP of my ingress.

Do you have the same issue without wireguard ?
No, It works !
Last time I tested, I tested with wireguard (for other usage, like ceph) and not using for kubelet (node ip) or apiserver, but I should have miss something

What @apsega describe also perfectly describes the problem I see.
When I setup(just setup, via systemd-networked setuping the peers and an IP) the wg1 interface, it stops 4 or 5 seconds after.
I can can get the traffic flowing normally doing
rm /etc/systemd/network/wg1.netdev
rm /etc/systemd/network/wg1.network
systemctl restart systemd-networkd
ip link set down dev wg1
ip link del dev wg1
kubectl -n kube-system rollout restart ds/calico-node

Note: I've added a 50-interfaces-exception.network which contains:
[Match]
Name=cali* vxlan.calico

[Link]
Unmanaged=yes

I was about investigating why wireguard would result in such a behaviour but thanks to @apsega (What a timing !), I assume that wireguard is not at fault here

Seems that setting:
BPFDataIfacePattern: "^(en[opsx].*|wg.*|eth.*|tunl0$|wireguard.cali$)"

(adding wg.*)
and rollout restart calico-node seems to solve the problem

@tomastigera what do you think should we update our default BPFDataIfacePattern? Seems like this shouldn't need to be set explicitly just to get it working with wireguard.

I would like to moderate my previous message: Seems that it works if I don't use wireguard for kubernetes (so I'm allowed to setup a wireguard mesh without breaking an existing kubernetes already in place), but when I'm using it for kubernetes (specifying --node-ip to the IP of the wireguard mesh), it breaks as before with the same symtoms

Do I understand correctly that you effectively have one iface (eth0) to reach the outside world and another interface (wg1) to do intra-cluster networking?
If so, wg should be included as it is just one more external interface.
Note that such a dual homed configuration is something we only have limited support and testing for.

From outside the service see many connections timeout, and can be reached (sometime) if a backend pod
is located on the accessed node

Note also that we are currently actively investigating nodeport related issues #4431 which may apply to your external access

Facing somewhat similar issue but with slight different env and config. Only single host interface(vlan) with IP address configured.
In my case, service(NodePort) is accessible (external source) directly through node backing the pod but not when accessing the service through any other cluster nodes.
Traffic captures show packets (VXLAN encapsulated by eBPF) from targeted node being forwarded to node backing the pod but packets seem to be just dropped silently.
Some config details:
apiVersion: projectcalico.org/v3
kind: FelixConfiguration
metadata:
  creationTimestamp: "2021-09-25T18:50:48Z"
  name: default
  resourceVersion: "1138"
  uid: 1cc011a4-ea85-4d97-abfd-d14117f7c89b
spec:
  bpfEnabled: true
  bpfExternalServiceMode: DSR
  bpfLogLevel: Debug
  ipipEnabled: false
  logSeverityScreen: Info
  reportingInterval: 0s
  wireguardEnabled: false

apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  creationTimestamp: "2021-09-25T18:50:51Z"
  name: default-pool
  resourceVersion: "1140"
  uid: f238f3b7-1092-4b1f-9b43-433da8da791b
spec:
  blockSize: 24
  cidr: <IP_ADDRESS>/16
  ipipMode: Never
  natOutgoing: true
  nodeSelector: all()
  vxlanMode: Never

@tomastigera  Yes eth0 (I did a mistake it's eno1 actually) is for reaching the outside and be reached from outside (the vip is attached to this interface) and wg1 is used for internal networking

@tomastigera You mentioned bad mac on #4942, could my problem be that wireguard interface doesn't have mac address ?
(If you want to access my cluster again, let me know)

I've done some investigation, (that I already did without success but now I understand a bit more the felix config)
when installing calico I also loose the ability to reach the wireguard peers (which is quite disrupting the cluster when I use for kubelet node IP)
# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
^C
--- <IP_ADDRESS> ping statistics ---
7 packets transmitted, 0 received, 100% packet loss, time 6080ms

# tc -s qdisc show dev wg1
qdisc noqueue 0: root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc clsact ffff: parent ffff:fff1
 Sent 30917371 bytes 295619 pkt (dropped 16214, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0

# tc exec bpf debug 2>&1 | grep "Final result=DENY"
     kworker/2:3-474857  [002] d.s3 83989.699709: bpf_trace_printk: wg1------I: Final result=DENY (eb). Program execution time: 3383ns
     kworker/2:3-474857  [002] d.s3 84050.005961: bpf_trace_printk: wg1------I: Final result=DENY (eb). Program execution time: 4179ns
     kworker/3:3-482685  [003] d.s3 84051.029593: bpf_trace_printk: wg1------I: Final result=DENY (eb). Program execution time: 3666ns
     kworker/0:2-486831  [000] d.s3 84051.360406: bpf_trace_printk: wg1------I: Final result=DENY (eb). Program execution time: 4225ns
     kworker/1:4-475165  [001] d.s3 84052.381824: bpf_trace_printk: wg1------I: Final result=DENY (eb). Program execution time: 4653ns
     kworker/2:3-474857  [002] d.s3 84053.136130: bpf_trace_printk: wg1------I: Final result=DENY (eb). Program execution time: 2199ns
     kworker/3:1-482468  [003] d.s3 84054.488438: bpf_trace_printk: wg1------I: Final result=DENY (eb). Program execution time: 3071ns

PS: Everything happens when using ExternalTrafficPolicy=Cluster, so not sure that all the aformentioned issues are relevant

Final result=DENY (eb)

This means that the packet was dropped because of IP options, which we do not supprot.

Ok so no possibility for wireguard packet to leave the node and reach other peer if I understand correctly

wg1------I

This deny is on ingress.
We would need to see a bit more context from the logs. Could you attach a full bpf dump? Or at least provide a snippet grom wg1 that ends with the DENY?

tc_dump.log
Dump done on a server with:
eno1: <IP_ADDRESS>/24
wg1: <IP_ADDRESS>/24
And I was pinging (unsuccessfully) from <IP_ADDRESS>/24 the server on <IP_ADDRESS>

wg1------I: Drop packets with IP options cc @mazdakn


Do not show download progress

Do not show download progress

What's the rationale?

To not polute logs


Add files via upload

srtafe.txt

@ramin-srtafe srtafe.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


[bug] Click recorded even not start

Here, the points on the top-right corner are recorded when my adjusting the window size without starting.

感谢，已修复


Problematic mocking of an object with constructor that takes a Class and extra constructor that takes some object

From<EMAIL_ADDRESS>on February 10, 2011 17:22:25
I this a bug or a feature ? It doesn't work as expected or I don't have the skills to do the right test ?
(also on StackOverflow as http://stackoverflow.com/questions/4959489/how-to-mock-object-with-constructor-that-takes-a-class )
This is the test:
import static junit.framework.Assert.assertTrue;
import static org.powermock.api.mockito.PowerMockito.mock;
import static org.powermock.api.mockito.PowerMockito.whenNew;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
@PrepareForTest( {ClassUnderTesting.class} )
public class ClassUnderTestingTest {
@Test
public void shouldInitializeMocks() throws Exception {
    CollaboratorToBeMocked mockedCollaborator = mock(CollaboratorToBeMocked.class);

    whenNew(CollaboratorToBeMocked.class)
        .withArguments(InjectedIntoCollaborator.class)
        .thenReturn(mockedCollaborator);

    new ClassUnderTesting().methodUnderTesting();

    assertTrue(true);
}

}
These are the classes :
public class ClassUnderTesting {
public void methodUnderTesting() {
    new CollaboratorToBeMocked(InjectedAsTypeIntoCollaborator.class);
}

}
public class CollaboratorToBeMocked {
public CollaboratorToBeMocked(Class<InjectedAsTypeIntoCollaborator> clazz) {
}

public CollaboratorToBeMocked(InjectedIntoCollaborator someCollaborator) {
}

}
public class InjectedAsTypeIntoCollaborator {
}
public class InjectedIntoCollaborator {
}
This is the error :
org.powermock.reflect.exceptions.TooManyConstructorsFoundException: Several matching constructors found, please specify the argument parameter types so that PowerMock can determine which method you're refering to.
Matching constructors in class CollaboratorToBeMocked were:
CollaboratorToBeMocked( InjectedIntoCollaborator.class )
CollaboratorToBeMocked( java.lang.Class.class )
Here comes the question : how to get make PowerMock figure out what constructor to look for ?
The problematic constructors are into CollaboratorToBeMocked. If only the constructor that took Class existed, all would be fine.
PS : Also have tried suppresing, but no luck
suppress(constructor(InjectedIntoCollaborator.class));
Original issue: http://code.google.com/p/powermock/issues/detail?id=313

From<EMAIL_ADDRESS>on February 11, 2011 00:56:36
the supress is bad. i have also tried with : suppress(constructor(CollaboratorToBeMocked.class, InjectedIntoCollaborator.class));

From<EMAIL_ADDRESS>on February 11, 2011 01:35:59
i took another look at things (my test class was bad).
updated the whenNew and added the supress. the supress line seems to throw the exception
suppress(constructor(CollaboratorToBeMocked.class, InjectedIntoCollaborator.class));
whenNew(CollaboratorToBeMocked.class).withArguments(InjectedAsTypeIntoCollaborator.class).thenReturn(mockedCollaborator);

From<EMAIL_ADDRESS>on February 16, 2011 11:24:53
I haven't tried it but I think that in cases like these you can do:
Constructor  ctor = CollaboratorToBeMocked.class.getConstructor(InjectedIntoCollaborator.class);
whenNew(ctor).withArguments(InjectedIntoCollaborator.class).thenReturn(...);
Try and see if that works for you.

If using PowerMock for EasyMock it looks like you can do PowerMock.expectNew(CollaboratorToBeMocked.class, new Class[]{InjectedIntoCollaborator.class}, ...) where the Class[] is the parameter types of the constructor you're expecting to be called.


List of owned IEquatable entity is cleared after SaveChangesAsync

In our project, we need the entity to map and do some handling after it is updated.
However, it seems that the list of IEquatable objects are cleared after SaveChangesAsync, and cause our handling to become incorrect.
We expect the updated entity will remain unchanged after SaveChangesAsync
Exception message: N/A
Stack trace: N/A

Steps to reproduce
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;

namespace TestEntityFrameworkCore
{
    public class User
    {
        public Guid UserId { get; set; }
        public string Email { get; set; }
        public IReadOnlyList<Role> Roles => _roles.AsReadOnly();
        private readonly List<Role> _roles = new List<Role>();

        public void SetRoles(IList<Role> roles)
        {
            if (_roles.Count == roles.Count &&
                !_roles.Except(roles).Any())
                return;

            _roles.Clear();
            _roles.AddRange(roles.Where(x => x != null).Distinct());
        }
    }

    public class Role : IEquatable<Role>
    {
        public string Value { get; set; }
        public bool Equals(Role other)
            => Value == other.Value;
    }

    public class SqlDbContext : DbContext
    {
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            => optionsBuilder
                .UseSqlServer(@"Server=.;Database=core;Trusted_Connection=True;");

        protected override void OnModelCreating(ModelBuilder builder) =>
            builder.Entity<User>(m =>
            {
                m.ToTable("User", "user");
                m.HasKey(x => x.UserId);
                m.OwnsMany(x => x.Roles, nav =>
                {
                    nav.ToTable("UserRole", "user");
                    nav.Property<Guid>("RoleAssignmentId");
                    nav.HasKey("RoleAssignmentId");
                    nav.Property(x => x.Value)
                        .HasColumnName("Role");
                    nav.Property<Guid>("UserId");

                    nav.HasForeignKey("UserId");
                }).UsePropertyAccessMode(PropertyAccessMode.Field);
            });
    }

    public class Program
    {
        public static async Task Main()
        {
            using (var context = new SqlDbContext())
            {
                var user = await context.Set<User>()
                    .Where(u => u.Email ==<EMAIL_ADDRESS>                    .FirstOrDefaultAsync(CancellationToken.None);

                // At this point user.Roles has 3 roles

                user.SetRoles(new List<Role> {
                    new Role {
                        Value = "Basic"
                    }
                });

                // At this point user.Roles has 1 "Basic" role
                await context.SaveChangesAsync(CancellationToken.None);

                var role = user.Roles; // At this point user.Roles has no item
                // But we expect user.Roles still have 1 "Basic" role for us to do some further handlings
            }
        }
    }
}

Further technical details
EF Core version: 2.2.1
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Windows 10
IDE:  Visual Studio 2017 15.9.6

@jasonycw What is your expectation around implementing IEquatable on the Role entity type? Do you expect EF to treat different instances that compare equal as the same?

@ajcvickers In our case, Role is one of the ValueObject which is the one implemented IEquatable
public class Role : ValueObject
{
    public string Value { get; set; }
    protected override IEnumerable<object> GetAtomicValues()
    {
        yield return Value;
    }
}

public abstract class ValueObject : IEquatable<ValueObject>
{
   ...
}

This ValueObject is used in multiple owned entities and Role is the one we came across this issue (since it is currently the only one that needs to be handled after SaveChangesAsync)
This equal comparison is for other business logic mainly but not intended to affect EF handling.
In fact we expect IEquatable won't affect EF handling at all as we defined HasKey("RoleAssignmentId") for the Role entity. So the key should be the one for doing comparison by EF.
The original post sample code is simplified our tricky scenario to demonstrate that the cause of the issue is due to us implement IEquatable for the owned entity.

Note from triage: we should look at forcing reference comparison for Contains in well-known collection types where doing so would not result in a linear search where it was not previously.

I have this problem even without implementing IEquatable, but Equals method is overriden and does not use part of the key which is a shadow property OrganizationId
var productsAvailability = await _productService.ProductsAvailability(organization);

productsAvailability.RemoveAllProducts();
productsAvailability.AddProducts(links);
// After SaveChanges collection of owned entities is empty.
// Removed and added entities have same keys, however other fields may (or may not) differ.
await Store.SaveChangesAsync();

with configuration:
internal sealed class OrganizationProductsAvailabilityConfiguration :
    IEntityTypeConfiguration<OrganizationProductsAvailability>
{
    public void Configure(EntityTypeBuilder<OrganizationProductsAvailability> builder)
    {
        builder.ToTable("OrganizationProductsAvailability");

        builder.Property(_ => _.Version)
            .HasDefaultValue(0)
            .IsConcurrencyToken();

        builder.HasKey(_ => _.OrganizationId);

        builder.OwnsMany(_ => _.ProductLinks, b =>
        {
            b.ToTable("ProductForOrganization");

            b.HasForeignKey(nameof(OrganizationProductsAvailability.OrganizationId));
            b.HasKey(nameof(OrganizationProductsAvailability.OrganizationId), nameof(ProductLink.ProductId));
            b.Property(m => m.AlwaysOrderedWhenOnboarding).HasDefaultValue(false);

            b.HasOne<Product>()
                .WithMany()
                .HasForeignKey(m => m.ProductId)
                .IsRequired()
                .OnDelete(DeleteBehavior.Cascade);
        });

        builder.HasOne<Organization>()
            .WithOne()
            .HasForeignKey<OrganizationProductsAvailability>(_ => _.OrganizationId)
            .IsRequired()
            .OnDelete(DeleteBehavior.Cascade);
    }
}

@voroninp If you think you are hitting a bug, then please file a new issue with a small, runnable (i.e. unlike the code you posted above we need to be able to actually execute it without guessing what else to put around it) project/solution or complete code listing. However, note that EF always uses reference equality to determine entity instance identity, and so if you are expecting EF to use some different equality then this won't work.

@ajcvickers https://github.com/voroninp/EfCoreOwnedEntitiesBug

@ajcvickers, I am looking into the changes and I have a question:
Why are there separate checks for List and Collection in method Contains?
Why not just this:
private static bool Contains(ICollection<TElement> collection, object value)
{
    switch (collection)
    {
        case SortedSet<TElement> sortedSet:
            return sortedSet.TryGetValue((TElement)value, out var found)
                       && ReferenceEquals(found, value);
        default:
            return collection?.Contains((TElement)value) == true;
    }
}

@voroninp To force reference equality.

@ajcvickers  Then why not to enumerate HashSet ? ;-) Yes, I know, it is slower, but more correct, I believe.

@voroninp Trade off. If we create a HashSet, then we create it with reference equality. If you create a HashSet, then you should do the same.

@ajcvickers  It is very-very-very implicit, framework cannot enforce this requirement. People will hit this multiple times. ='(
Even your code kinda not consistent in that regard. You enforce reference equality only for List, Collection, and SortedSet, but allow "unknown" collection to use its own implementation of Contains logic.
private static bool ContainsReference(IEnumerable<TElement> sequence, object value)
{
    switch (sequence)
    {
        case SortedSet<TElement> sortedSet:
            return sortedSet.TryGetValue((TElement)value, out var found)
                       && ReferenceEquals(found, value);
        default:
            return sequence?.Any( item => RefernceEquals(item, value) == true
    }
}

Agreed. However, this moves us a bit closer to always using reference equality without giving up the important perf characteristics of HashSet. So its better than before, but collections and equality is still an area where things can easily go wrong.

@ajcvickers  Ok, then. But at least what EF cold do is emit a corresponding warning, if it detects, that Equals method of TEntity is overridden somewhere in the inheritance hierarchy and collection is not of these standard types: List, Collection or SortedSet.

@voroninp And how do we detect this in a performant and robust manner?

@ajcvickers I assume you’re building model once at cold start, therefore all types are known and fixed. Isn’t it the exact moment for this check?
Btw, this trade off ditches F# record types. :’(

@voroninp I didn't ask where to do the check, I asked how to do the check.

@ajcvickers For every generic collection get the type of its elements and check whether it or any base class in the hierarchy overrdies Èquals method.  Yes, it is reflection . Sure, this does not cover the case when collection's implementation of Contains does not use items's equality.

@ajcvickers , wait! Why not use same approach as with SortedSet? HashSet<T> also has this method.

@voroninp Too many false positives. Lots of classes override Equals and Contains and still do reference equality. Also, that by itself is not a good indicator that something is wrong. It's only when used with a collection that doesn't do reference equality, so we would need to detect that too,

@voroninp That might be useful for Contains, but keep in mind it's not fail-safe for SortedSet because it might not find an entity in the first place anyway. But yeah, it's a bit better.

@ajcvickers And I also think that main point of 'HashSet' is not its performance but semantics, that is set-behaviour. Set won't let me add same element twice. BCL does not contain many implementations of ISet: HashSet and SortedSet. (Yes, I am annoying =P)

@voroninp I played with this in the code and I can make it work, but only if the GetHashSet and Equals are stable and consistent with reference equality. But if they are, then there is really no need to do this anyway. Also, it makes Remove less efficient since it needs to do two lookups.
The same could be said for SortedSet except that:

For HashSet there is a way of constructing the HashSet that avoids all the issues, and we don't want to make that option worse
SortedSet uses IComparable, which it's not abnormal to implement in in way that is compatible with reference equality while still allowing ordering.

Right now I'm not seeing any obvious ways to improve what we have.


Added copy buttons for code blocks in docs

Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] All commits are signed off. See the section Developer’s Certificate of Origin.
[x] Provide a title or release-note blurb suitable for the release notes.
[x] Thanks for contributing!

Added copy buttons for all code blocks in cilium docs. In case of "Copy First Line" first line is copied without leading $ for usability.

This change is

test-docs-please

Coverage decreased (-0.03%) to 42.97% when pulling e0a4e843f2ba17b413665f9fa4416fa7a6f26e73 on geakstr:copy-buttons-for-code-blocks into e8aabe0578ff2f026b3d5fbef9d55917835d2470 on cilium:master.

test-docs-please


ci: improve tags and disable asset upload

prerequisites:

[x] branch is up-to-date with the branch to be merged with, i.e. develop
[x] build is successful
[x] code is cleaned up and formatted

Summary
small updates to improve the ci workflows

@sgratzl Anything I should review here?

they changes should have no larger effect


[BUG, GoodCollective] Improve wallet containers to follow the design

The current:

Design:

@vldkhh please include description of all the issues between the two, as I specifically listed out in slack.


"Add 'Events and Webinars' Page in the Footer Section of ML Fusion Lab"

Description
There is currently no 'Events and Webinars' page linked in the footer section of the ML Fusion Lab website. Adding this page will provide users with easy access to information about upcoming events and webinars.
Steps to Reproduce

Open the ML Fusion Lab website in a browser.
Scroll down to the bottom of the page to view the footer section.
Look for any existing links or sections related to Events and Webinars.
Observe that there is no link or page dedicated to Events and Webinars in the footer section.
Navigate through the website to confirm that there is no page available for upcoming or past events and webinars.
Expected Outcome: There should be a link in the footer for users to easily access information about upcoming events and webinars.

Expected Behavior

A new link labeled 'Events and Webinars' should be added to the footer section of the website under an appropriate category.
The link should redirect users to a new page where they can find details about upcoming events, webinars, or past recordings.

Actual Behavior

The footer section does not contain a link to an Events and Webinars page, which limits user access to information about ongoing or future events.

Screenshots

Additional Information
Adding this page will enhance user engagement by keeping them informed about upcoming events and webinars, providing more value and interactivity to the website.
What browser are you seeing the problem on?

[ ] Firefox
[X] Chrome
[ ] Safari
[ ] Microsoft Edge

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

For now we don't require this in footer.
So I am closing this issue.
Please understand.

Ok fine.


Cursor Values Throw Error

I believe the previous and next cursor values returned by
getFriendsListWithScreenName(screenName: String, cursor: Int?, count: Int?, skipStatus: Bool?, includeUserEntities: Bool?, success: ((users: [JSONValue]?, previousCursor: Int?, nextCursor: Int?) -> Void)?, failure: FailureHandler?)
are the reason I get this error
fatal error: floating point value can not be converted to Int because it is greater than Int.max
I've been using 200 as my requested count (the max allowed by Twitter).  When the list is not very big (e.g. 'nasa_neemo' follows 59 users) the request works fine.  I believe that's because there are no cursors returned.  But 'nasa' follows 230 users and throws the error.
Am I doing something wrong?  Are others using cursors returned from this function successfully?  thanks

This is related to 32/64-bit integers. Swifter is currently unable to parse 64-bit integers on 32-bit platforms as Swifter.JSON.integer uses the Swift.Int type, whose maximum range depends on the platform.
Twitter cursors can actually go into the 64-bit range and Swifter tries to parse such cursors with integer, leading to the aforementioned error on 32-bit platforms. I found this out when executing the exact same API call app on an iPhone 5 instead of the simulator.
A solution to this problem is to use a 64-bit integer type, or to treat cursors as raw strings - just like Swifter already does for user IDs. I will submit a pull request later this week. Cheers!


I try to train llm with ppo and get the Keyerror:reward

Traceback (most recent call last):
File "src/train_bash.py", line 14, in
main()
File "src/train_bash.py", line 5, in main
run_exp()
File "/c12556/LLaMA-Efficient-Tuning/src/llmtuner/tuner/tune.py", line 30, in run_exp
run_ppo(model_args, data_args, training_args, finetuning_args, generating_args, callbacks)
File "/c12556/LLaMA-Efficient-Tuning/src/llmtuner/tuner/ppo/workflow.py", line 30, in run_ppo
model, tokenizer = load_model_and_tokenizer(model_args, finetuning_args, training_args.do_train, stage="ppo")
File "/c12556/LLaMA-Efficient-Tuning/src/llmtuner/tuner/core/loader.py", line 189, in load_model_and_tokenizer
model.pretrained_model.load_adapter(model_args.reward_model, "reward", is_trainable=False)
File "/c12556/LLaMA-Efficient-Tuning/peft-main/src/peft/peft_model.py", line 563, in load_adapter
self.add_adapter(adapter_name, peft_config)
File "/c12556/LLaMA-Efficient-Tuning/peft-main/src/peft/peft_model.py", line 513, in add_adapter
self.base_model.inject_adapter(self, adapter_name)
File "/c12556/LLaMA-Efficient-Tuning/peft-main/src/peft/tuners/tuners_utils.py", line 192, in inject_adapter
peft_config = self.peft_config[adapter_name]
KeyError: 'reward'

the peft has updated to 0.6.0 dev,but the problem cann't be resolved

I try set peft to 0.4.0, the problem has resolved

but there is a new problem occured:
Traceback (most recent call last):
File "src/train_bash.py", line 14, in
main()
File "src/train_bash.py", line 5, in main
run_exp()
File "/c12556/LLaMA-Efficient-Tuning/src/llmtuner/tuner/tune.py", line 30, in run_exp
run_ppo(model_args, data_args, training_args, finetuning_args, generating_args, callbacks)
File "/c12556/LLaMA-Efficient-Tuning/src/llmtuner/tuner/ppo/workflow.py", line 82, in run_ppo
ppo_trainer.ppo_train(max_target_length=data_args.max_target_length)
File "/c12556/LLaMA-Efficient-Tuning/src/llmtuner/tuner/ppo/trainer.py", line 109, in ppo_train
stats = self.step(queries, responses, rewards)
File "/usr/lib/python3.8/contextlib.py", line 75, in inner
return func(*args, **kwds)
File "/usr/local/lib/python3.8/dist-packages/trl/trainer/ppo_trainer.py", line 666, in step
all_logprobs, logits_or_none, values, masks = self.batched_forward_pass(
File "/usr/lib/python3.8/contextlib.py", line 75, in inner
return func(*args, **kwds)
TypeError: batched_forward_pass() got an unexpected keyword argument 'response_masks'

use trl==0.7.1


Add a system notify

All fixed, cant figure out how to change the original file

add  ;notify as command (for this command) if it doesnt exist already

add  ;notify as command (for this command) if it doesnt exist already

;systemnotify*

;systemnotify*


[Feature] Enable PDF to be searchable

When submitting a resume, the resume should be searchable for resume handling systems
I want it to be searchable through Ctrl + F
I considered using OCR and parsing it separately, but integrating in the app would be better
I loved the application, UI and templates. Thanks so much!

This feature, while highly requested, is still being researched upon. Right now, with the method I'm using to get the resume, it captures an image of the entire canvas and converts it into a PDF. Currently, I haven't found another way around it, but will definitely be looking out for more alternatives.

Hey @AmruthPillai,
You should have a look to: https://react-pdf.org/

@Ciboulette I have seen that, but it has a lot of overhead to it. I would have to change all my templates to work that way, and then see if it works. Maybe I could look into it when I have the time, thank you so much for sharing.
@patrickdes96 Since I merged #102, PDFs are now searchable, selectable and parse-able if you print them through the browser's print functionality. It works best on the latest version of Google Chrome, I've tested it only there, but it should provide you with what you need. Do let me know if that solves your issue.

@AmruthPillai What about using a simple serverless function with puppeteer ?

That would make the app not truly local and browser-only. It would mean having to send your data to a server, like a Cloud Function on Firebase. It does sound like an intriguing option, but it defeats the original purpose of keeping the app privacy-friendly. I don't know how many people would like that.
Do you have a lot of experience with puppeteer on node?

All right then understood!
@AmruthPillai I have some experience and I am sure it would work :)

Any progress on this?


ON HOLD: Remove account balance free frozen

This is the PR that removes the wrongly spelled fields:

freeFrozen
formattedFreeFrozen

Important: we can only deploy this once the client has updated.
We also remove the need for the BalanceData to exist, keeping only AccountBalance.

https://github.com/litentry/litentry-app/pull/1180 is published.
This can be merged now.


[Network]support sku and type for vhub and vwan respectively

Fix Azure/azure-cli#10875
This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

can this be merged?

can this be merged?

Waiting for extension release


benchmark not cheking corretness

The current benchmark is using .every to just return truthy values, instead of really checking correct results.
This MR fixes that, otherwise the result will e true no matter what the library computed.

Thank you @WebReflection!


Adding Private endpoints & features to enable app deployment to private clusters

PR Summary
Removing Service Endpoints from the templates & wizard
Adding Private Endpoints & new Subnet  for ACR/AKV Endpoints
Moving AKV from Access Policies to Access Control (IAM)
Adding ACR tasks Private pool (Preview)
Adding the 'Sample Apps' Tab
PR Checklist

[x] PR has a meaningful title
[x] Summarized changes
[x] This PR is ready to merge and is not Work in Progress
[ ] Link to a filed issue

So removing Service Endpoints will mean that this is a breaking change for anyone using that.
We need to make sure this is in the release notes when we go to release this.

Ok, lets get this merged, add a preview release and then strap up with more tests


PersistentCommandBuffer is diposed with each world

Description
PersistentCommandBuffer is designed for memory efficiency when constructing the individual ECS "worlds" which relate to each scene. On construction of each scene, a new PersistentCommandBuffer is created which has a default capacity for each type of component. This is expanded mostly on scene loading as each entity is created and then is efficiently re-used.
On destruction of each scene (which will be happening often) the PersistentCommandBuffer is thrown away, which means it must be re-allocated once again once that scene comes back into the radius.
I think we have some options here:

We could persist the command buffers outside of the lifetime of the worlds themselves, in a simple "most recent" style algorithm. I believe this would ensure that the right command buffers would be used for the right worlds, with in general the capacities to avoid allocations. This wont ensure that initial scene loads avoid stuttering due to allocations though.

It may also make sense to have a shared pool of PersistentCommandBuffer's that we just re-use, this pool would then eventually expand to fit the needs of the surrounding scenes. Although it would constantly exist in memory, I do not think we need to be so worried about the extra MB's.

Notes
You can easily reproduce the effect in the editor.

Load dynamic scene loader
Wait for the spawn of the two animated cubes
Zoom away from the scene until they dissapear
Zoom back in until they reappear.

Notice the spikes due to allocations and arrays expandning.

May already be done.


python310Packages.ufoLib2: 0.14.0 -> 0.16.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.ufoLib2 is: Library to deal with UFO font sources
meta.homepage for python310Packages.ufoLib2 is: https://github.com/fonttools/ufoLib2
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.15.0 with grep in /nix/store/h9vivfbzpyr59765gbsfavik5qdsycjj-python3.10-ufoLib2-0.15.0
found 0.15.0 in filename of file in /nix/store/h9vivfbzpyr59765gbsfavik5qdsycjj-python3.10-ufoLib2-0.15.0

Rebuild report (if merged into master) (click to expand)

10 total rebuild path(s)

10 package rebuild(s)

First fifty rebuilds by attrpath
python310Packages.fontmake
python310Packages.glyphslib
python310Packages.statmake
python310Packages.ufo2ft
python310Packages.ufoLib2
python311Packages.fontmake
python311Packages.glyphslib
python311Packages.statmake
python311Packages.ufo2ft
python311Packages.ufoLib2

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/h9vivfbzpyr59765gbsfavik5qdsycjj-python3.10-ufoLib2-0.15.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.ufoLib2 https://github.com/r-ryantm/nixpkgs/archive/c04895bad18713f926775dbdecca5383d7111533.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/h9vivfbzpyr59765gbsfavik5qdsycjj-python3.10-ufoLib2-0.15.0
ls -la /nix/store/h9vivfbzpyr59765gbsfavik5qdsycjj-python3.10-ufoLib2-0.15.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages failed to build:

python310Packages.fontmake
python310Packages.glyphslib
python311Packages.fontmake
python311Packages.glyphslib

6 packages built:

python310Packages.statmake
python310Packages.ufo2ft
python310Packages.ufoLib2
python311Packages.statmake
python311Packages.ufo2ft
python311Packages.ufoLib2

Maintainer pings

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.ufoLib2 is: Library to deal with UFO font sources
meta.homepage for python310Packages.ufoLib2 is: https://github.com/fonttools/ufoLib2
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.16.0 with grep in /nix/store/jh5bbny0fdrqmjx572ld0w3w76ah54k9-python3.10-ufoLib2-0.16.0
found 0.16.0 in filename of file in /nix/store/jh5bbny0fdrqmjx572ld0w3w76ah54k9-python3.10-ufoLib2-0.16.0

Rebuild report (if merged into master) (click to expand)

11 total rebuild path(s)

11 package rebuild(s)

First fifty rebuilds by attrpath
nanoemoji
python310Packages.fontmake
python310Packages.glyphslib
python310Packages.statmake
python310Packages.ufo2ft
python310Packages.ufoLib2
python311Packages.fontmake
python311Packages.glyphslib
python311Packages.statmake
python311Packages.ufo2ft
python311Packages.ufoLib2

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/jh5bbny0fdrqmjx572ld0w3w76ah54k9-python3.10-ufoLib2-0.16.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.ufoLib2 https://github.com/r-ryantm/nixpkgs/archive/9a4a3b1cc51599fe4d3c1aa4bd0ac82d2c2d275a.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jh5bbny0fdrqmjx572ld0w3w76ah54k9-python3.10-ufoLib2-0.16.0
ls -la /nix/store/jh5bbny0fdrqmjx572ld0w3w76ah54k9-python3.10-ufoLib2-0.16.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

11 packages built:

nanoemoji
python310Packages.fontmake
python310Packages.glyphslib
python310Packages.statmake
python310Packages.ufo2ft
python310Packages.ufoLib2
python311Packages.fontmake
python311Packages.glyphslib
python311Packages.statmake
python311Packages.ufo2ft
python311Packages.ufoLib2

Maintainer pings


PowerBI Report Template (SearchInsights.pbit) is missing

This section of the page asks to  "Select Download Power BI report to get the report" from the Azure Portal to get the report template. However, this button on the portal leads me to a page which gives me the following error:

URL: https://azsmetrics.blob.core.windows.net/$web/SearchInsights.pbit
Where can I find the SearchInsights.pbit file from?

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

ID: 3d15016b-314c-5757-2ea0-76bd04cf87c6
Version Independent ID: bc6c02ee-9770-7af5-e496-34e5ef8d0865
Content: Telemetry for search traffic analytics - Azure AI Search
Content Source: articles/search/search-traffic-analytics.md
Service: cognitive-search
GitHub Login: @HeidiSteen
Microsoft Alias: heidist

@hani-applab, thanks for filing the issue.  I get the same error. I've reached out to the portal team for next steps.

@TPavanBalaji @HeidiSteen Thank you for your responses. I'm hoping that you will be able to help me access the SearchInsights.pbit template somehow.. I looked around the internet for a while and I couldn't find this template file in anywhere else and I need to use it for search telemetry with application insights.

@HeidiSteen, that's great news. I've just checked and confirmed I am able to download the file. Thank you for the quick resolution!

@HeidiSteen just a quick follow-up, any idea where I can get help with issues within the template itself?

Just tried using the template and it looks like its not the same one as the screenshot in the documentation.
Downloaded Template:

Documentation Screenshot:

Interesting -- no I don't know who owns that template.  I'll ask the portal folks.

actually, what I should do is update the screenshot.  Somebody clearly changed the template.  It's less fancy and has fewer visualizations, but I bet it works better.

I was hoping to find the original as it doesn't focus on clicks as much as the new one does. Please let me know if you hear from the portal folks about the previous version :)

@hani-applab sorry to report I wasn't successful in locating the old report.  As far as documentation goes, I can only cover the existing and supported report.  For this reason, I'm going to close this issue, but I will remove the screenshot to reduce confusion in the future.
#please-close


Update packages (under work)

fixes: #1697

Problem during updating:

e2e/ts-node  - 'cannot find bind' during linking
e2e/cross-env - 'cannot find cross-env/dist...' (file is in 'src' folder not 'dist')

@nicojs this should be done soon. One more package left :)

when vue-javascript push passes it is ready to go :)

@nicojs can i change testing tools in vue-javascript to chai?

If this test doesn't pass I will need help

Great! I'll take a look tomorrow. Thanks a lot!

@nicojs I think it's done after 6 hours of testing. There is one place you should take a look (a timeout in a router. I guess it is normal behaviour right now, but you should check it by yourself).
After that tell me if everything is alright, I still have to remove logs from stryker (vue-javascript logs generation) and fix these tests if necessary

To anwser you're questions:

... angular ...

This e2e/test/angular-project is a simple angular project. Probably it's easiest to create a new one from scratch using the angular cli  and copy over the files from the src directory to this new one, or you can use https://update.angular.io/. The e2e tests are not used, it's simply there because an angular project comes with them. Feel free to remove it. Protractor was probably removed as a dependency to get faster installation.

In jest-react package. Is jest even used? I see only mocha.

Jest is used in the tests of the app here: https://github.com/stryker-mutator/stryker/tree/master/e2e/test/jest-react/src/tests. We always use mocha in the verify directories. You can run the e2e test by simply running npm test in the e2e test directory. It will first run Stryker (which in turn will use jest). As a posttest script we run the verify tests, which read from the reports to see if everything worked out.

In jest-react package. Is webpack used? In scripts, I see some requirements for webpack config file but I don't see any

I don't think so. This project was generated with create-react-app (CRA). Webpack is used by CRA to bundle for production, however that is not needed since we're only running the tests. So feel free to remove these kind of things, it saves maintenance and download time.

@nicojs thanks for the answers. I'll cover them in separate PR tho. For now, I would like to have this one finished. Please take a look at this timeout getting in a router, and so we can polish last things and merge it :)

I'm pretty sure the vue-javascript timeout issue is related to #621. Karma is handling the router issue as an error, rather than a failed test. It started doing that in v2 as far as I can see. I'll update the test expectation, for now, we should fix #621 and update it back later.

Ok, I went on a bug finding spree this weekend (a wonderful weekend indeed 😕) and found out that the vue-javascript issue has to do with an issue in karma-webpack as well as an issue in karma. I've opened #1837 to track them both.


Are there any plans to make this lib work with Spring boot 2.5.x?

Hi,
Thanks for coming up with this library as it solves a tricky issue elegantly. Just wanted to know if there are any plans to make this work for Spring Boot 2.5.x.
There seems to be change in LiquibaseConfiguration::liquibase() method's signature in 2.5.x (https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.LiquibaseConfiguration.html) which causes the following failure.
Thank you.

Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
net.lbruun.springboot.preliquibase.PreLiquibaseAutoConfiguration$DefaultPreLiquibaseDataSourceProvider.<init>(PreLiquibaseAutoConfiguration.java:229)

The following method did not exist:
'liquibase.integration.spring.SpringLiquibase org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseConfiguration.liquibase(org.springframework.boot.autoconfigure.jdbc.DataSourceProperties, org.springframework.beans.factory.ObjectProvider, org.springframework.beans.factory.ObjectProvider)'

The method's class, org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseConfiguration, is available from the following locations:
jar:file:/Users/neevdev/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.5.0/spring-boot-autoconfigure-2.5.0.jar!/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class

The class hierarchy was loaded from the following locations:
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration.LiquibaseConfiguration: file:/Users/neevdev/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.5.0/spring-boot-autoconfigure-2.5.0.jar

Thanks  for reporting.
I must admit it doesn't come as a total surprise. I've read about the significant changes in the area of datasource auto config in Spring Boot 2.5 and had it on my radar that it would probably break PreLiquibase.
I'll have a look. Allow a few days. What takes a little time is figuring out if I can support  v2.1 - 2.4 with the same code base as >= v2.5.

Issue  with Spring Boot 2.5 compatibility is now fixed in release 1.1.0 which currently is in progress of being sync'ed to Central Maven. (can take up to 2 hours, check here to see if available)
Also the README has been updated with information about Spring Boot compatibility.


espressif: update hal to latest v5.1.4

This PR brings changes to allow updating hal_espressif to latest v5.1.4 repository.
It updates Wi-Fi and BLE libraries and improvements.

LGTM

@jhedberg just a heads up here to request this PR to be merged before rc1 if within time windows. Thanks.

@uLipe I get your point but I do not agree with that. If you take a look at the majority of the drivers and subsystems in Zephyr, most of it define TASK/THREAD priority as done in this PR. This value should, of course, be within Zephyr's priority levels, which should be considered of "common knowledge". If you have a scenario or suggestion that really makes a difference, I shall change it.
https://github.com/search?q=repo%3Azephyrproject-rtos%2Fzephyr+THREAD_PRIO+path%3A**%2FKconfig&type=code

Fair enough :)


Supplement .tab-active modifier

Supplement the .tab-active modifier to also support elements rendered with [aria-selected="true"]. When an element with [role="tab"] nested within a [role="tablist"] becomes "active" or "selected", its [aria-selected] attribute must be set to "true". Similarly, when a tab is inactive, its [aria-selected] must be removed or set to "false" (according to the WAI ARIA Guidelines).
Since all compliant tab implementations must set this attribute, and not all compliant tab implementations provide hooks to configure CSS Class List changes to be made alongside those attribute changes, this commit modifies the tab.css files to target either .tab-active or [aria-selected="true"] using the CSS :is psuedo-class.

Thanks 👍
Can you please undo the edit on the changelog file? It will be updated automatically after merge.

@saadeghi done!
I also want to share that I was unable to get the yarn playground or yarn dev running locally, so the CSS changes were made without verifying their outcome locally.
Is there somewhere I could learn more about local development? If not, could you verify they behave as you'd expect?

Thanks. Yes I will test it before merge.
For running on local, this guide should help: https://github.com/saadeghi/daisyui/blob/master/.github/CONTRIBUTING.md#building-on-local


Update automation-solution-startstopvm-psworkflow.md

Small fix : Stop-AzureVMs commands have output which seems to belong to Start-AzureVMs

Hi @milanio, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@milanio : Thanks for your contribution to the Azure documentation! The author, @mgoedtel, has been notified to review your proposed change.

@milanio - Thank you for taking the time to submit this request to correct errors identified.  I approve your recommended changes, but there are two additional changes you should include in your PR that I identified while reviewing.  1) The message for the second Stop-AzureVM should read "MyVM has been stopped" 2) The message for the third Stop-AzureVm should read "MyVM failed to stop".

@MGoedtel, thanks! Fixed.

#sign-off

Only the author of the article can use the sign off comment to add the ready-to-merge label.

@Matt Goedtel Hi Matt
Your sign off did not work with the comment automation because your GitHub account is listed incorrectly in the article metadata: authors="mgoedtel"
It needs to match your GitHub account EXACTLY, including capitalization. Please fix your GitHub account in all your articles after this is merged. Thanks.


docs: Ports Spring guide to use functions

Fixes https://linear.app/dagger/issue/DOCS-191/spring
This commit ports the Spring guide at https://archive.docs.dagger.io/0.9/882813/build-test-publish-java-spring to use Dagger Functions.

I see the following error but I'm not able to find the cause: Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure. The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
@vito @helderco can I request your help to debug this?

Preview URL: https://deploy-preview-6918--devel-docs-dagger-io.netlify.app/

MyModule.publish(
    imageName: "my-java-app"
    registryAddress: "docker.io"
    registryPassword: ✔ setSecret(name: "a82aef58d43bc3ce560a85e82952d14e88976477b69669adef04f99fb3d556e0"): Secret! 0.0s
    registryUsername: "XX"
    source: ✔ blob(digest: "sha256:fcb84...", mediaType: "application/vnd.oci.image.layer.v1.tar+zstd", size: 39716398, uncompressed: "sha256:59e7981b7b6a7869df5b9da68f07dbe034b2..."): Directory! 0.0s
    version: "0.1"
  ): String! 7m47.5s
! call function "publish": process "/runtime" did not complete successfully: exit code: 1
┃ ╭─ Error ──────────────────────────────────────────────────────────────────────╮
┃ │ Function execution error: unhandled errors in a TaskGroup (1 sub-exception)  │
┃ ╰──────────────────────────────────────────────────────────────────────────────╯
  ✘ Container.file(path: "target/spring-petclinic-3.2.0-SNAPSHOT.jar"): File! 7m35.3s
  ! process "mvn package" did not complete successfully: exit code: 1
    ✘ exec mvn package 5m58.3s
    ! process "mvn package" did not complete successfully: exit code: 1
    ┃ [ERROR]
    ┃ [ERROR] For more information about the errors and possible solutions, please read the followi
    ┃  articles:
    ┃ [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Error: response from query: input: myModule.publish resolve: call function "publish": process "/runtime" did not complete successfully: exit code: 1

Stderr:
╭─ Error ──────────────────────────────────────────────────────────────────────╮
│ Function execution error: unhandled errors in a TaskGroup (1 sub-exception)  │
╰──────────────────────────────────────────────────────────────────────────────╯```

@helderco @marcosnils can you please help me debug the above? The same code works in Go and TypeScript.

@helderco @marcosnils can you please help me debug the above? The same code works in Go and TypeScript.

@vikram-dagger  is this only happening in the python pipeline?

@vikram-dagger is this only happening in the python pipeline?

@marcosnils Yes

Enable debug logs: https://docs.dagger.io/manuals/developer/python/924959/debugging#enable-python-debug-logs

Python snippet working for me now from a new module I made with dagger init --sdk python where I replaced the main with this snippet.
I'm on a Mac M1 arm machine, so I needed to force use of linux/amd64 variant of the eclipse-temurinimage from Docker Hub.

but once I did that, no issue publishing to ttl.sh. Though, since I was forced to use args for registry auth, I needed a dummy empty value for my registry-password secret, so I just did touch empty.
dagger call  publish \
--source https://github.com/spring-projects/spring-petclinic
--image-name fooooooo
--registry-address ttl.sh
--registry-password=file:./empty
--registry-username="jeremy"
--version=$RANDOM

I got it to run locally, but I think I kept running out of resources, so I cranked up all the limits in Docker Desktop for memory, swap, virtual memory,  volumes, etc.
Then it ran like this:
docker run -it --rm \
-p 8080:8080 \
ttl.sh/jeremy/fooooooo@sha256:921230645b8d665b455e69e16bcc2c69e63def8678f5887b39c3502018c93fbf

so I could see the pretty colors of the logs

and the app in my browser

So...I'll update the other snippets to specify the platform as well.

Tested all snippet versions by making them the main of new go, python, typescript modules and running them. 👍


Show indicator of current time?

Would it be possible to get a horizontal line drawn in the cells showing the current time (like in Google Calendar)? I think this would only make sense to show when in the week view or the day view. Here is a screenshot of what I am referring to:

I'm not sure how difficult this is to implement, but I'd be happy to work on this and send a pull request if I had some guidance on which files to work with.

That would be nice feature. PRs are welcome.
I would put it in the TodayEvents component, before mapping the todayEvents array, this component only rendered in week/days view and has all the data needed.
there, check if today is actually today using isToday() or whatever method you prefer, then render the new "CurrentTimeBar" component or whatever you name it, there you would figure our the top css value using startHour compared to the current time, and take into considration the minuteHeight factor.
you would optinally, maybe put an interval to change/recalculate the css top value.
Thats my imagination in a glance. But you are welcome to submit your implementation after you play with it & test it.


Support tasks

What would you like to be added?
I suggest to add a tasks view which collects - [ ] Tasks from project notes.
In an advanced iteration tasks would be displayed in a kanban view in which columns yould be set to due dates (overdue, today, tomorrow, ..., done) or columns could be set to any frontmatter field (status, etc.).
It would also be possible to group tasks by their parent notes (in a kind of card view).
The tasks view should support the syntax of obsidian-tasks as it's the most popular tasks plugin.
- [ ] This is obsidian-tasks syntax 🔼 🛫 2023-02-25 ⏳ 2023-02-26 📅 2023-02-27 #myProject

Please see obsidian-cardboard for a similar implementation.
Why is this needed?
obsidian-projects is note-based which is a great concept. However, I dislike to create notes for single tasks as it clutters my project folders and there already is a standard markdown element for tasks ( - [ ] Tasks).
In order to manage a project successfully we need some kind of task management.
Right now I use obsidian-projects to manage the "big blocks" of a project and rely on separate notes with custom data queries to collect tasks from project notes and group them by tags or due dates.
I would very much prefer to see the "small blocks" of the projects (aka tasks) wihin obsidian-projects.
A workaround would be the custom note view which would allow to pull my tasks agenda note into obsidian-projects.

I fully intend to support tasks in a future version of Projects. So far, my idea is to treat tasks within notes the way Trello does checklists.

I'm not sure it would help your case specifically, but I think this would be the cleanest abstraction for tasks support. Of course, this would let checklist be embedded in each view. For example, you could imagine including tasks in a Board card, or in the Table view, just like any other field.
Implementation-wise, it's a little tricky, but I think tasks would need to be implemented as some form of implicit field.

Yes ! I can’t wait for that. Is there somewhere an example of using project plugin to manage tasks as note (curious) ?

Yes ! I can’t wait for that. Is there somewhere an example of using project plugin to manage tasks as note (curious) ?

Not sure if that's what you were looking for but I wrote a bit about task management in addition to the Projects plugin as well as the Kanban plugin. Maybe it's helpful for now.

+1 on this feature.

how about integrate with existing kanban plugin features directly?

Any news on this front ?

@bepolymathe, implementing this feature would require significant effort if we aim to index the body text or extract in-text information ourselves. Obsidian has made tasks accessible through MetaDataCache, and there are some other plugins tracking tasks. I’ll find some examples to help implementing this.
From another perspective, as we develop the feature for editing dataview projects, we cannot bypass the main text. Ideally, I hope that third-party APIs we use to back-writting a dataview value can also handle tasks, not just the dataview impllicit fields. I have a tight schdule recently and won't be available until Dec on complex features. Once I start working on this you will see a correponding PR.

@bepolymathe, implementing this feature would require significant effort if we aim to index the body text or extract in-text information ourselves. Obsidian has made tasks accessible through MetadataCache class in the api, and there are some other plugins tracking tasks. I’ll find some examples to help implementing this.
From another perspective, as we develop the feature for editing dataview projects, we cannot bypass the main text. Ideally, I hope that third-party APIs we use to back-writting a dataview value can also handle tasks, not just the dataview impllicit fields.
I have a tight schdule recently and won't be available until Dec on complex features. Once I start working on this you will see a correponding PR.

Ok Thanks for reply and your effort.

Hi,
Any progress on this?
I am also really interested in seeing some sort of implementation for this since it could be nice alternative to ticketing systems aswell.
I'll drop what I have made so far for the folks that are interested, but I have made some sort of a workaround for this, and so far I am able to create a note per task from my project view (but I can't edit it completely yet, I mean I can edit from project but the task isn't updated or vice versa).
Hope this might help someone!
Thx!
My Setup
I am using the plugins:

Project
Tasks (I changed task format to Dataview to make the template work)
Templater

What I did was I created a project that looks at my issue folder and creates new notes with the name Issue {{date:YYYYMMDD}}{{time:HHmmss}} - New Issue and uses my template "Issue Template".
The issue template looks like this:
<%*
// Open the tasks Modal
const tasksApi = this.app.plugins.plugins['obsidian-tasks-plugin'].apiV1;
let taskline = await tasksApi.createTaskLineModal();

// Set title of file, so it replaces the "New Issue" part with the description of the task
let fileTitle = tp.file.title;
var descSearch = taskline.match(/(?<=\] )[^[\]]*(?= \[)/g);
var description = descSearch.length>0 ? descSearch[0] : "";
var titleSearch = fileTitle.match(/(Issue [0-9]* - New Issue)/);
if(titleSearch.length>0) {
  let issueTag = fileTitle.match(/(Issue [0-9]* - )/)[0];
  let newTitle = `${issueTag} ${description}`
  await tp.file.rename(newTitle);
}

// Get every task property like "priority" etc get their values and add everything to frontmatter
var keys = taskline.match(/(?<=\[\s*)(\w+)/g);
var values = taskline.match(/(?<=[:]+\s)(.[^\]]+)/g)
tR+="---\n";
tR+="description: " + description + "\n";
for(var i = 0; i<keys.length;i++) {
  tR+=keys[i] + ": " + values[i] +"\n";
}
tR+="---";
%>
# Task:
<% taskline %>

Which basically creates a note with the task based on the modal and sets the properties of the file to the properties of the task.
So now I am able to use tasks in both regular dashboards and tasks calendar aswell as use it inside the project view.
Only problem is that repeating tasks aren't repeated on the calendar within project. But the Obsidian-tasks-calendar is capable of doing this, so if this could be added into projects that would be nice to have aswell (so something like start and end date).
Now I just need to update the editing part so both the properties and the task values are updated correspondingly, so if I edit the task the properties get changed and vice versa. That way I could edit tasks from project which also will edit the tasks correspondingly.
Feel free to use this btw, if you have any remarks on this let me know could be interesting to improve this setup!

would also love this as well
thx for you amazing work @marcusolsson !

Any updates?


Bitcode support

Is your feature request related to a problem? Please describe.
Yeah, Testflight reports that bitcode is not supported for my app since i added dd-sdk-reactnative
Describe the solution you'd like
Add bitcode to the native part of the iOS library
Describe alternatives you've considered
Right now, I am forced to uncheck Include bitcode for iOS content
Additional context
No

Hello @devproivansurzhenko 👋 thanks for reaching us 🙂. We need to get some more information to investigate this.

Could you please share the exact error / warning message you're receiving when submitting the app with Include bitcode for iOS content selected?
Could you make sure if Bitcode is enabled in your *.xcodeproj

Error appears as a notification from TestFlight:

Also, binary marked as Invalid:

Also, validation is failing.

Everything is fine:

without any action point for code before DD integration
if disable bitecode for branch with the integrated dd-sdk-reactnative

I will double-check proj settings in a couple of hours

Tested with beta2. Same thing.
My proj settings:

Ah.... Pod project (that appears after pod install) contains No for Enable Bitcode... I am digging

interesting. bicode is disabled even at code before DD integration. However, it uploads fine with bitcode.
Any ideas where I can look more details?


Chrome extension - Uncaught EvalError

I am working on a chrome extension that scrapes food vendor information from a food delivery platform, which then saves the data into an Excel file using exceljs. Importing exceljs.min.js, however returns this error:
Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' 'wasm-unsafe-eval' 'inline-speculation-rules'

Stack Trace points towards this line for "regenerator-runtime/runtime": 492 causing the error:
exceljs.min.js:43194 (anonymous function)

try {
    regeneratorRuntime = i
} catch (t) {
    // Source of error
    Function("r", "regeneratorRuntime = r")(i)
}

Any solution to prevent triggering Uncaught EvalError for this problem?

@Vrok2401 did you get this working? How did you get the ExcelJS imported into the chrome extension?


Meta: Stop using db-fiddle to test for esoteric features

db-fiddle is good for testing widely-used features.
It is terrible for testing esoteric stuff. It is an abstraction for querying multiple types of DBs.
More than once, you've been bitten by using db-fiddle when you have a perfectly running local instance of MySQL...
For example,
SELECT @@/**/sql_mode;

The above is valid on db-fiddle, querying their MySQL DB.
It is definitely invalid on MySQL.

This suggests db-fiddle does some pre-processing which strips multi-line comments.
And, indeed, they do. They completely ignore execution comments/hidden commands.
SELECT 1/*!test*/; -- Equivalent to SELECT 1 AS test

The result on db-fiddle,

1

1

The result on MySQL,

test

1

There are probably a dozen other similar cases unrelated to multi-line/execution comments that you've forgotten.

db-fiddle is convenient. This does not make db-fiddle results correct.

Another good example,
SELECT 1, 1

Db-fiddle result,

1

1

MySQL result,

1
1

1
1


Provide 'content:encoded' element with HTML full text

Hi @jameslawler ,  thank for your great parser.
Im using your parser in my project but encounter a problem that many RSS feed actually did not put content in description tag anymore, instead they put their full text in a content:encoded tag. Something like https://en.blog.wordpress.com/feed/ has entries like
<item>
		<title>Introducing: A Diverse, Free Stock Photo Library</title>
		<link>https://en.blog.wordpress.com/2018/08/02/diverse-stock-photo-library-pexels/</link>
		<comments>https://en.blog.wordpress.com/2018/08/02/diverse-stock-photo-library-pexels/#comments</comments>
		<pubDate>Thu, 02 Aug 2018 13:00:05 +0000</pubDate>
		<dc:creator><![CDATA[Anne McCarthy]]></dc:creator>
				<category><![CDATA[Diversity & Inclusion]]></category>
		<category><![CDATA[New Features]]></category>
		<category><![CDATA[diversity]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[pexels]]></category>
		<category><![CDATA[photo blogging]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[stock photos]]></category>

		<guid isPermaLink="false">http://en.blog.wordpress.com/?p=40626</guid>
		<description><![CDATA[Diversity in visual representation matters.]]></description>
				<content:encoded><![CDATA[
As many site creators know, it’s daunting to find images to represent the message you’re trying to put out into the world — especially if you don’t have the equipment or time to make your own.

At WordPress.com, we’re constantly striving to make it as easy as possible to create beautiful websites that represent who you are and what you stand for. We’re excited to announce that we’ve been working hard with Pexels and other diversity-focused image-library partners so that everyone with a WordPress.com or Jetpack-connected site can realize their vision with the right stock photos.

To use these images, just head to your Media Library and select Free Photo Library before searching for any image you need. You can also do this from the Add Media option within a post or page:

<img data-attachment-id="40627" data-permalink="https://en.blog.wordpress.com/2018/08/02/diverse-stock-photo-library-pexels/screen-shot-2018-08-01-at-7-28-04-pm/" data-orig-file="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png?w=720" data-orig-size="1252,522" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Screen Shot 2018-08-01 at 7.28.04 PM" data-image-description="" data-medium-file="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png?w=720?w=300" data-large-file="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png?w=720?w=720" class="alignnone size-full wp-image-40627" src="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png?w=720" alt="Screen Shot 2018-08-01 at 7.28.04 PM.png" srcset="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png?w=720 720w, https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png?w=150 150w, https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png?w=300 300w, https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png?w=768 768w, https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png?w=1024 1024w, https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png 1252w" sizes="(max-width: 720px) 100vw, 720px"   />

Free images representing a wide range of experiences

In January 2018, we collaborated with Pexels to integrate their free stock-image library into WordPress.com. Since then, every user has had access to thousands of free, high-quality images at their fingertips! Knowing how diverse our community is, however, we didn’t stop there.

Stock-image libraries have historically struggled to represent all experiences, and often excluded photos of people of color, people with disabilities, or non-binary individuals. Pexels is working to change that, and since partnering with them we’ve helped incorporate diversity-focused libraries to their collection. Ultimately, we believe it’s on us to help find a solution to this problem, and avoid generic stock images that often perpetuate stereotypes.

Our first partner in this effort was the Women of Color in Tech Stock Photos library (WoCinTech for short). We were thrilled to work with them, as they were an earlier driver for these efforts. Christina Morillo, one of the project’s co-founders, had this awesome message to share:

We started this collection to address the lack of visible representation of women of color engaging in technical tasks in stock images. Our mission was always twofold: Disrupt stock images and further representation of women/non-binary people in technology by making the photos accessible to all creators. We are thrilled to partner with Pexels and WordPress.com to further this mission and help creators like you represent who and what you stand for.

Since adding their brilliant photos to Pexels, we’ve seen their stats soar with more than 70,000 downloads and 28 million image views:

<img data-attachment-id="40628" data-permalink="https://en.blog.wordpress.com/2018/08/02/diverse-stock-photo-library-pexels/screen-shot-2018-08-01-at-7-28-59-pm/" data-orig-file="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png?w=720" data-orig-size="2550,692" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="Screen Shot 2018-08-01 at 7.28.59 PM" data-image-description="" data-medium-file="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png?w=720?w=300" data-large-file="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png?w=720?w=720" class="alignnone size-full wp-image-40628" src="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png?w=720" alt="Screen Shot 2018-08-01 at 7.28.59 PM.png" srcset="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png?w=720 720w, https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png?w=1437 1437w, https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png?w=150 150w, https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png?w=300 300w, https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png?w=768 768w, https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png?w=1024 1024w" sizes="(max-width: 720px) 100vw, 720px"   />

These statistics show how great the need and desire are for truly representative images online. What started out as a passion project of the WoCinTech group has now reached more than 70,000 people in the span of a month. Since we introduced the free stock image library, WordPress.com users have already downloaded more than 1 million photos.

<img data-attachment-id="40640" data-permalink="https://en.blog.wordpress.com/2018/08/02/diverse-stock-photo-library-pexels/computers-laptops-office-1181232/" data-orig-file="https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg?w=720" data-orig-size="6016,4016" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="computers-laptops-office-1181232" data-image-description="" data-medium-file="https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg?w=720?w=300" data-large-file="https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg?w=720?w=720" class="alignnone size-full wp-image-40640" src="https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg?w=720" alt="computers-laptops-office-1181232" srcset="https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg?w=720 720w, https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg?w=1440 1440w, https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg?w=150 150w, https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg?w=300 300w, https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg?w=768 768w, https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg?w=1024 1024w" sizes="(max-width: 720px) 100vw, 720px"   />

Going forward, we’re thrilled to work with Pexels to bring other diverse image-library partners on board, and to expand the selection of images you can access.

We need your help

We’re continuing to add more image libraries! This is where we could use your help:

Suggest in the comments below image libraries that we should reach out to that will help expand our offerings.

If you’re a photoblogger, upload your images to Pexels and immediately have them available for other WordPress users to find.

Become a part of future diversity-focused photo challenges on Pexels like this recent one from Pride Month.

If you’re a blogger or site owner, make an effort to use more diverse images when sharing content on your site.

If your company provides images for customers to use, we recommend integrating with Pexels to give your customers access to a library dedicated to diversity in images.

If you run an image library offering diverse images, comment below and we’ll get in touch with you!

Happy WordPress-ing!

Photos by Christina Morillo of WOCinTech from Pexels

]]></content:encoded>
			<wfw:commentRss>https://en.blog.wordpress.com/2018/08/02/diverse-stock-photo-library-pexels/feed/</wfw:commentRss>
		<slash:comments>54</slash:comments>

		<media:thumbnail url="https://en-blog.files.wordpress.com/2018/08/casual-computers-hands-1181210.jpg" />
		<media:content url="https://en-blog.files.wordpress.com/2018/08/casual-computers-hands-1181210.jpg" medium="image">
			<media:title type="html">casual-computers-hands-1181210</media:title>
		</media:content>

		<media:content url="https://0.gravatar.com/avatar/0e2249a7de3404bc6d5207a45e911187?s=96&d=retro" medium="image">
			<media:title type="html">annezazu</media:title>
		</media:content>

		<media:content url="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-04-pm.png" medium="image">
			<media:title type="html">Screen Shot 2018-08-01 at 7.28.04 PM.png</media:title>
		</media:content>

		<media:content url="https://en-blog.files.wordpress.com/2018/08/screen-shot-2018-08-01-at-7-28-59-pm.png" medium="image">
			<media:title type="html">Screen Shot 2018-08-01 at 7.28.59 PM.png</media:title>
		</media:content>

		<media:content url="https://en-blog.files.wordpress.com/2018/08/computers-laptops-office-1181232.jpg" medium="image">
			<media:title type="html">computers-laptops-office-1181232</media:title>
		</media:content>
	</item>

Could you provide an 'content:encoded' element with html full text?

Thanks for your feedback. I have added support for content:encoded as it is the default namespace defined by the RSS team - http://www.rssboard.org/rss-profile#namespace-elements-content-encoded.
I have mapped it to the item.content field (luckily it already existed for atom feeds).
I have pushed a new version of the package 1.3.0 to npm which includes the new mapping. Please open another issue if you have any problems with it.


Feature/gokit logging

Codecov Report

Merging #131 into master will increase coverage by 1.6%.
The diff coverage is 89.67%.

@@            Coverage Diff            @@
##           master     #131     +/-   ##
=========================================
+ Coverage   84.41%   86.02%   +1.6%
=========================================
  Files          83       82      -1
  Lines        4709     4750     +41
=========================================
+ Hits         3975     4086    +111
+ Misses        633      566     -67
+ Partials      101       98      -3

Impacted Files
Coverage Δ

device/options.go
100% <100%> (ø)
:arrow_up:

service/accessor.go
100% <100%> (ø)
:arrow_up:

device/viper.go
100% <100%> (ø)
:arrow_up:

server/viper.go
100% <100%> (ø)
:arrow_up:

logging/logger.go
100% <100%> (+43.18%)
:arrow_up:

logging/viper.go
100% <100%> (ø)

httppool/client.go
100% <100%> (ø)
:arrow_up:

server/webpa.go
91.83% <100%> (+0.08%)
:arrow_up:

service/redirectHandler.go
78.57% <100%> (-8.39%)
:arrow_down:

logging/testLogger.go
100% <100%> (ø)

... and 18 more

Continue to review full report at Codecov.

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


loading cached svg images in ie in imagesloaded 2.1.2

This is a report for an old version of imagesloaded (2.1.2)  but might be of help/interest to future developers who run into this problem.
imagesloaded did not properly support loading of cached svgs used as images on ie (e.g. javascript <img src="shape.svg">.  This little bit of code helped to remedy this situation (with an existing function from the existing library to help with its position):
if (el.complete && (!!el.src.match(/.svg$/) || !!el.src.match(/.svgz$/))) {
    imgLoaded( el, false );
    return;
}

// if complete is true and browser supports natural sizes, try
// to check for image status manually
if ( el.complete && el.naturalWidth !== undefined ) {
    imgLoaded( el, el.naturalWidth === 0 || el.naturalHeight === 0 );
    return;
}

imagesLoaded v3.2.0 has removed its internal cache. I'm closing this issue as resolved.


Remove rc1 qualifier

Description
remove rc1 qualifier
Issues Resolved
resolves #254
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #257 (02955c4) into main (74b644c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #257   +/-   ##
=======================================
  Coverage   45.92%   45.92%
=======================================
  Files         150      150
  Lines        4956     4956
  Branches      955      968   +13
=======================================
  Hits         2276     2276
  Misses       2463     2463
  Partials      217      217

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 74b644c...02955c4. Read the comment docs.

Is this supposed to target only for 2.0 branch?

So currently remote integ CI is failing due to ftrepo using the github branch of the test library instead of the npm package. https://github.com/opensearch-project/opensearch-dashboards-functional-test/issues/222. This is currently blocking our PR to remove rc1 from AD-dashboards. @kavilla are we confident enough this is the cause so its okay to merge this PR for now or anyways this will fail on Jenkins so might as well wait?

Failing test on CI seems to be flaky as it passes locally. I also have a PR out to fix the test on FTRepo https://github.com/opensearch-project/opensearch-dashboards-functional-test/pull/227. I suggest we merge this PR in the meantime as it doesn't have any breaking changes itself.