fix search output limit

close https://bugzilla.redhat.com/show_bug.cgi?id=1732280
From the bug Podman search returns 25 results even when limit option --limit is larger than 25(maxQueries). They want Podman to return --limit results.
This PR fixes the number of output result.
if --limit not set, return MIN(maxQueries, len(res))
if --limit is set, return MIN(option, len(res))
Signed-off-by: Qi Wang<EMAIL_ADDRESS>

LGTM assuming happy tests.
Was thinking there might be a faster way to check maxQueries, options.Limit and len(result), but didn't noodle out one.

Sorry, didn't mean to close, hit the wrong button.

LGTM assuming happy tests.
Was thinking there might be a faster way to check maxQueries, options.Limit and len(result), but didn't noodle out one.

if golang has math.Max() or Min() for integer, the code will look simple

I like it when these things end up being simple fixes.

LGTM

/approve

/lgtm


shouldComponentUpdate not getting invoked

Hello,
I'm building up a notification component which wraps a Snackbar. The component is setup to observe changes to a notificationStore. I'm not able to get shouldComponentUpdate to get called.
My goal is to allow incoming notifications to be queued if there's an active notification on screen. This is to chain 2 consecutive notifications by a slide out of the old message and slide in of the new one. You can see the visual concept here:
https://storage.googleapis.com/material-design/publish/material_v_12/assets/0B6Okdz75tqQsX3VhUHNoaWVEbDQ/components-snackbars-usage-consecutivesbdifferenttype-005.webm
To do this, my plan is to catch the render request before it happens in shouldComponentUpdate. if a previous message is actively showing, queue notificationStore data and return false to cancel render. Hide/ Slide out old notification and wait for completion before displaying the queued message.
My problem is that shouldComponentUpdate isn't triggering. Here's my component:
@inject('notificationStore')
@observer
class Notifications extends React.Component {

  show = false;
  queue = [];

  shouldComponentUpdate() {
    console.log('shouldComponentUpdate');

    const { show, message } = this.props.notificationStore;
    if (this.show && !show) {
      // queue new message because another one is already showing
      this.queue.push({ message });
      // Don't render immediately. wait for slide out
      return false
    }
    return true;
  }

  onClose = (event, reason) => {
    this.props.notificationStore.clear();
  };

  onExited = () => {
    // process/show queued messages, in a fifo pattern
    if (this.queue.length > 0) {
      const { message } = this.queue.shift();
      this.props.notificationStore.show(message);
    }
  };

  render() {
    const { classes, notificationStore, ...otherProps } = this.props;
    const { message, show } = notificationStore;
    this.show = show;
    return (
      <Snackbar
        open={show}
        message={message}
        onClose={ this.onClose }
        onExited={ this.onExited }
        {...otherProps}
      />
    );
  }
}

export default withStyles(styles)(Notifications);

To show 2 consecutive notifications, I call these sequentially:
notificationStore.show('Message 1');
notificationStore.show('Message 2');

I got it to work without using local state or using shouldComponentUpdate. I realized shouldComponentUpdate is only invoked when the local state changes. Not when using mobX! That's a crippling fact because user doesn't have a say to proceed with the dom update or not.
To get it to work, I now push all incoming messages to a queue. I don't drive render content directly from the store.

@simoami how did you store the queue in order to trigger shouldComponentUpdate? please answer.

@Kielan I no longer rely on shouldComponentUpdate. It doesn't work for me to hook to.
I define my queue in the class, just like we define the state prop. So I refer to the queue from the methods using this.queue.


[Feature Request]: Add VoyageAI voyage-multimodal-3 embeddings

Feature Description
add the new voyageai multimodal embedding model
https://blog.voyageai.com/2024/11/12/voyage-multimodal-3/
Reason
it is not in the supported model classes
Value of Feature
new state of the art multimodal embedding model

Now available in llamaindex: https://github.com/run-llama/llama_index/pull/17261


VertexMapPlugin and EdgeMapPlugin

Explore the idea of having vertex and edge use a map as a trait. This can replace the Value trait. It will allow vertex and edge to have multiple values. The can also be treated like maps which may be nice.
This will need to be implemented as two separate plugins that can be applied to the graph. The plugin will add these traits to the existing vertex and edges and modify the newEdge/newVertex methods to apply the trait to any new vertices or edges added to the graph.

A GraphMapPlugin could be good to get maps applied to vertices and edges.


redgifs embedding in reddit feeds

Is your feature request related to a problem? Please describe.
Users use redgifs (nsfw vids/gifs) more and more and RSS Bridge/Reddit bridge only includes a link to the gif.
On the reddit site these are embedded and ready to play.
Describe the solution you'd like
Instead of a link to redgifs, embed the video.
Videos in general are embedded by rss bridge, Youtube content for example. Something similar to that.
Describe alternatives you've considered
n/a
Additional context
n/a

give example pls
https://github.com/RSS-Bridge/rss-bridge/issues/3817

this issue might have been fixed partially in recent commits by not escaping <iframe>.

Doubt it, but the bridge can now do iframes for embedding and with that provide a more consistent experience compared to the real reddit feeds.
For example by detecting the link that reddit would auto-embed, and adding embed code for it.


KNL, KNM: Release event updates

Changes

KNL

Spelling fixes for rehad ==> rehab.
Also picked up a large number of differences due to internal version being at v16.

KNM

Removed extra KNL files. Instead of duplicating KNL into a KNM folder, this change points device 0x85 to KNL files directly. Simplifies while functionally equivalent.

To get a succinct summary of what changed I also diffed the output of Ian's script.
diff -rup main-perf/knightslanding/cache.json knl-updates-perf/knightslanding/cache.json
--- main-perf/knightslanding/cache.json	2023-09-11 15:30:24.183051200 -0700
+++ knl-updates-perf/knightslanding/cache.json	2023-09-11 15:29:59.273051200 -0700
@@ -6,14 +6,20 @@
         "SampleAfterValue": "200003"
     },
     {
-        "BriefDescription": "Counts the number of core cycles the fetch stalls because of an icache miss. This is a cumulative count of core cycles the fetch stalled for all icache misses.",
+        "BriefDescription": "This event counts the number of core cycles the fetch stalls because of an icache miss. This is a cumulative count of cycles the NIP stalled for all icache misses.",
         "EventCode": "0x86",
         "EventName": "FETCH_STALL.ICACHE_FILL_PENDING_CYCLES",
-        "PublicDescription": "This event counts the number of core cycles the fetch stalls because of an icache miss. This is a cumulative count of cycles the NIP stalled for all icache misses.",
         "SampleAfterValue": "200003",
         "UMask": "0x4"
     },
     {
+        "BriefDescription": "Counts the number of L2HWP allocated into XQ GP",
+        "EventCode": "0x3E",
+        "EventName": "L2_PREFETCHER.ALLOC_XQ",
+        "SampleAfterValue": "100007",
+        "UMask": "0x4"
+    },
+    {
         "BriefDescription": "Counts the number of L2 cache misses",
         "EventCode": "0x2E",
         "EventName": "L2_REQUESTS.MISS",
@@ -28,7 +34,7 @@
         "UMask": "0x4f"
     },
     {
-        "BriefDescription": "Counts the number of MEC requests from the L2Q that reference a cache line (cacheable requests) excluding SW prefetches filling only to L2 cache and L1 evictions (automatically exlcudes L2HWP, UC, WC) that were rejected - Multiple repeated rejects should be counted multiple times",
+        "BriefDescription": "Counts the number of MEC requests from the L2Q that reference a cache line (cacheable requests) excluding SW prefetches filling only to L2 cache and L1 evictions (automatically excludes L2HWP, UC, WC) that were rejected - Multiple repeated rejects should be counted multiple times",
         "EventCode": "0x30",
         "EventName": "L2_REQUESTS_REJECT.ALL",
         "SampleAfterValue": "200003"
@@ -50,11 +56,12 @@
         "UMask": "0x80"
     },
     {
-        "BriefDescription": "Counts the loads retired that get the data from the other core in the same tile in M state",
+        "BriefDescription": "Counts the loads retired that get the data from the other core in the same tile in M state (Precise Event)",
         "Data_LA": "1",
         "EventCode": "0x04",
         "EventName": "MEM_UOPS_RETIRED.HITM",
         "PEBS": "1",
+        "PublicDescription": "This event counts the number of load micro-ops retired that got data from another core's cache. (Precise Event).",
         "SampleAfterValue": "200003",
         "UMask": "0x20"
     },
@@ -67,20 +74,22 @@
         "UMask": "0x1"
     },
     {
-        "BriefDescription": "Counts the number of load micro-ops retired that hit in the L2",
+        "BriefDescription": "Counts the number of load micro-ops retired that hit in the L2 (Precise Event)",
         "Data_LA": "1",
         "EventCode": "0x04",
         "EventName": "MEM_UOPS_RETIRED.L2_HIT_LOADS",
         "PEBS": "1",
+        "PublicDescription": "This event counts the number of load micro-uops retired that hit in the L2 (Precise Event)",
         "SampleAfterValue": "200003",
         "UMask": "0x2"
     },
     {
-        "BriefDescription": "Counts the number of load micro-ops retired that miss in the L2",
+        "BriefDescription": "Counts the number of load micro-ops retired that miss in the L2 (Precise Event)",
         "Data_LA": "1",
         "EventCode": "0x04",
         "EventName": "MEM_UOPS_RETIRED.L2_MISS_LOADS",
         "PEBS": "1",
+        "PublicDescription": "This event counts the number of load micro-ops retired that miss in the L2 (Precise Event)",
         "SampleAfterValue": "100007",
         "UMask": "0x4"
     },
@@ -621,6 +630,15 @@
         "UMask": "0x1"
     },
     {
+        "BriefDescription": "Accounts for responses which miss its own tile's L2.",
+        "EventCode": "0xB7",
+        "EventName": "OFFCORE_RESPONSE.ANY_REQUEST.L2_MISS",
+        "MSRIndex": "0x1a6,0x1a7",
+        "MSRValue": "0x18001981F8",
+        "SampleAfterValue": "100007",
+        "UMask": "0x1"
+    },
+    {
         "BriefDescription": "Counts any request that are outstanding, per weighted cycle, from the time of the request to when any response is received. The outstanding response should be programmed only on PMC0.",
         "EventCode": "0xB7",
         "EventName": "OFFCORE_RESPONSE.ANY_REQUEST.OUTSTANDING",
@@ -1664,15 +1682,6 @@
         "SampleAfterValue": "100007",
         "UMask": "0x1"
     },
-    {
-        "BriefDescription": "Counts L2 data RFO prefetches (includes PREFETCHW instruction) that provides no supplier details",
-        "EventCode": "0xB7",
-        "EventName": "OFFCORE_RESPONSE.PF_L2_RFO.SUPPLIER_NONE",
-        "MSRIndex": "0x1a6,0x1a7",
-        "MSRValue": "0x0000020020",
-        "SampleAfterValue": "100007",
-        "UMask": "0x1"
-    },
     {
         "BriefDescription": "Counts Software Prefetches that accounts for any response",
         "EventCode": "0xB7",
diff -rup main-perf/knightslanding/floating-point.json knl-updates-perf/knightslanding/floating-point.json
--- main-perf/knightslanding/floating-point.json	2023-09-11 15:30:24.173051200 -0700
+++ knl-updates-perf/knightslanding/floating-point.json	2023-09-11 15:29:59.283051200 -0700
@@ -8,18 +8,18 @@
         "UMask": "0x4"
     },
     {
-        "BriefDescription": "Counts the number of vector SSE, AVX, AVX2, AVX-512 micro-ops retired. More specifically, it counts packed SSE, AVX, AVX2, AVX-512 micro-ops (both floating point and integer) except for loads (memory-to-register mov-type micro-ops), packed byte and word multiplies.",
+        "BriefDescription": "Counts the number of packed SSE, AVX, AVX2, AVX-512 micro-ops (both floating point and integer) except for loads (memory-to-register mov-type micro-ops), packed byte and word multiplies.",
         "EventCode": "0xC2",
         "EventName": "UOPS_RETIRED.PACKED_SIMD",
-        "PublicDescription": "This event counts the number of packed vector SSE, AVX, AVX2, and AVX-512 micro-ops retired (floating point, integer and store) except for loads (memory-to-register mov-type micro-ops), packed byte and word multiplies.",
+        "PublicDescription": "The length of the packed operation (128bits, 256bits or 512bits) is not taken into account when updating the counter; all count the same (+1). \r\nMask (k) registers are ignored. For example: a micro-op operating with a mask that only enables one element or even zero elements will still trigger this counter (+1)\r\nThis event is defined at the micro-op level and not instruction level. Most instructions are implemented with one micro-op but not all.",
         "SampleAfterValue": "200003",
         "UMask": "0x40"
     },
     {
-        "BriefDescription": "Counts the number of scalar SSE, AVX, AVX2, AVX-512 micro-ops retired. More specifically, it counts scalar SSE, AVX, AVX2, AVX-512 micro-ops except for loads (memory-to-register mov-type micro ops), division, sqrt.",
+        "BriefDescription": "Counts the number of scalar SSE, AVX, AVX2, AVX-512 micro-ops except for loads (memory-to-register mov-type micro ops), division, sqrt.",
         "EventCode": "0xC2",
         "EventName": "UOPS_RETIRED.SCALAR_SIMD",
-        "PublicDescription": "This event counts the number of scalar SSE, AVX, AVX2, AVX-512 micro-ops retired (floating point, integer and store) except for loads (memory-to-register mov-type micro ops), division, sqrt.",
+        "PublicDescription": "This event is defined at the micro-op level and not instruction level. Most instructions are implemented with one micro-op but not all.",
         "SampleAfterValue": "200003",
         "UMask": "0x20"
     }
diff -rup main-perf/knightslanding/pipeline.json knl-updates-perf/knightslanding/pipeline.json
--- main-perf/knightslanding/pipeline.json	2023-09-11 15:30:24.173051200 -0700
+++ knl-updates-perf/knightslanding/pipeline.json	2023-09-11 15:29:59.273051200 -0700
@@ -1,13 +1,13 @@
 [
     {
-        "BriefDescription": "Counts the number of branch instructions retired",
+        "BriefDescription": "Counts the number of branch instructions retired (Precise Event)",
         "EventCode": "0xC4",
         "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
         "PEBS": "1",
         "SampleAfterValue": "200003"
     },
     {
-        "BriefDescription": "Counts the number of near CALL branch instructions retired.",
+        "BriefDescription": "Counts the number of near CALL branch instructions retired. (Precise Event)",
         "EventCode": "0xC4",
         "EventName": "BR_INST_RETIRED.CALL",
         "PEBS": "1",
@@ -15,7 +15,7 @@
         "UMask": "0xf9"
     },
     {
-        "BriefDescription": "Counts the number of far branch instructions retired.",
+        "BriefDescription": "Counts the number of far branch instructions retired. (Precise Event)",
         "EventCode": "0xC4",
         "EventName": "BR_INST_RETIRED.FAR_BRANCH",
         "PEBS": "1",
@@ -23,7 +23,7 @@
         "UMask": "0xbf"
     },
     {
-        "BriefDescription": "Counts the number of near indirect CALL branch instructions retired.",
+        "BriefDescription": "Counts the number of near indirect CALL branch instructions retired. (Precise Event)",
         "EventCode": "0xC4",
         "EventName": "BR_INST_RETIRED.IND_CALL",
         "PEBS": "1",
@@ -31,7 +31,7 @@
         "UMask": "0xfb"
     },
     {
-        "BriefDescription": "Counts the number of branch instructions retired that were conditional jumps.",
+        "BriefDescription": "Counts the number of branch instructions retired that were conditional jumps. (Precise Event)",
         "EventCode": "0xC4",
         "EventName": "BR_INST_RETIRED.JCC",
         "PEBS": "1",
@@ -39,7 +39,7 @@
         "UMask": "0x7e"
     },
     {
-        "BriefDescription": "Counts the number of branch instructions retired that were near indirect CALL or near indirect JMP.",
+        "BriefDescription": "Counts the number of branch instructions retired that were near indirect CALL or near indirect JMP. (Precise Event)",
         "EventCode": "0xC4",
         "EventName": "BR_INST_RETIRED.NON_RETURN_IND",
         "PEBS": "1",
@@ -47,7 +47,7 @@
         "UMask": "0xeb"
     },
     {
-        "BriefDescription": "Counts the number of near relative CALL branch instructions retired.",
+        "BriefDescription": "Counts the number of near relative CALL branch instructions retired. (Precise Event)",
         "EventCode": "0xC4",
         "EventName": "BR_INST_RETIRED.REL_CALL",
         "PEBS": "1",
@@ -55,7 +55,7 @@
         "UMask": "0xfd"
     },
     {
-        "BriefDescription": "Counts the number of near RET branch instructions retired.",
+        "BriefDescription": "Counts the number of near RET branch instructions retired. (Precise Event)",
         "EventCode": "0xC4",
         "EventName": "BR_INST_RETIRED.RETURN",
         "PEBS": "1",
@@ -63,7 +63,7 @@
         "UMask": "0xf7"
     },
     {
-        "BriefDescription": "Counts the number of branch instructions retired that were conditional jumps and predicted taken.",
+        "BriefDescription": "Counts the number of branch instructions retired that were conditional jumps and predicted taken. (Precise Event)",
         "EventCode": "0xC4",
         "EventName": "BR_INST_RETIRED.TAKEN_JCC",
         "PEBS": "1",
@@ -71,14 +71,14 @@
         "UMask": "0xfe"
     },
     {
-        "BriefDescription": "Counts the number of mispredicted branch instructions retired",
+        "BriefDescription": "Counts the number of mispredicted branch instructions retired (Precise Event)",
         "EventCode": "0xC5",
         "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
         "PEBS": "1",
         "SampleAfterValue": "200003"
     },
     {
-        "BriefDescription": "Counts the number of mispredicted near CALL branch instructions retired.",
+        "BriefDescription": "Counts the number of mispredicted near CALL branch instructions retired. (Precise Event)",
         "EventCode": "0xC5",
         "EventName": "BR_MISP_RETIRED.CALL",
         "PEBS": "1",
@@ -86,7 +86,7 @@
         "UMask": "0xf9"
     },
     {
-        "BriefDescription": "Counts the number of mispredicted far branch instructions retired.",
+        "BriefDescription": "Counts the number of mispredicted far branch instructions retired. (Precise Event)",
         "EventCode": "0xC5",
         "EventName": "BR_MISP_RETIRED.FAR_BRANCH",
         "PEBS": "1",
@@ -94,7 +94,7 @@
         "UMask": "0xbf"
     },
     {
-        "BriefDescription": "Counts the number of mispredicted near indirect CALL branch instructions retired.",
+        "BriefDescription": "Counts the number of mispredicted near indirect CALL branch instructions retired. (Precise Event)",
         "EventCode": "0xC5",
         "EventName": "BR_MISP_RETIRED.IND_CALL",
         "PEBS": "1",
@@ -102,7 +102,7 @@
         "UMask": "0xfb"
     },
     {
-        "BriefDescription": "Counts the number of mispredicted branch instructions retired that were conditional jumps.",
+        "BriefDescription": "Counts the number of mispredicted branch instructions retired that were conditional jumps. (Precise Event)",
         "EventCode": "0xC5",
         "EventName": "BR_MISP_RETIRED.JCC",
         "PEBS": "1",
@@ -110,7 +110,7 @@
         "UMask": "0x7e"
     },
     {
-        "BriefDescription": "Counts the number of mispredicted branch instructions retired that were near indirect CALL or near indirect JMP.",
+        "BriefDescription": "Counts the number of mispredicted branch instructions retired that were near indirect CALL or near indirect JMP. (Precise Event)",
         "EventCode": "0xC5",
         "EventName": "BR_MISP_RETIRED.NON_RETURN_IND",
         "PEBS": "1",
@@ -118,7 +118,7 @@
         "UMask": "0xeb"
     },
     {
-        "BriefDescription": "Counts the number of mispredicted near relative CALL branch instructions retired.",
+        "BriefDescription": "Counts the number of mispredicted near relative CALL branch instructions retired. (Precise Event)",
         "EventCode": "0xC5",
         "EventName": "BR_MISP_RETIRED.REL_CALL",
         "PEBS": "1",
@@ -126,7 +126,7 @@
         "UMask": "0xfd"
     },
     {
-        "BriefDescription": "Counts the number of mispredicted near RET branch instructions retired.",
+        "BriefDescription": "Counts the number of mispredicted near RET branch instructions retired. (Precise Event)",
         "EventCode": "0xC5",
         "EventName": "BR_MISP_RETIRED.RETURN",
         "PEBS": "1",
@@ -134,7 +134,7 @@
         "UMask": "0xf7"
     },
     {
-        "BriefDescription": "Counts the number of mispredicted branch instructions retired that were conditional jumps and predicted taken.",
+        "BriefDescription": "Counts the number of mispredicted branch instructions retired that were conditional jumps and predicted taken. (Precise Event)",
         "EventCode": "0xC5",
         "EventName": "BR_MISP_RETIRED.TAKEN_JCC",
         "PEBS": "1",
@@ -189,7 +189,14 @@
         "SampleAfterValue": "2000003"
     },
     {
-        "BriefDescription": "Counts all nukes",
+        "BriefDescription": "Counts the number of instructions retired (Precise Event)",
+        "EventCode": "0xC0",
+        "EventName": "INST_RETIRED.ANY_PS",
+        "PEBS": "2",
+        "SampleAfterValue": "2000003"
+    },
+    {
+        "BriefDescription": "Counts all machine clears",
         "EventCode": "0xC3",
         "EventName": "MACHINE_CLEARS.ALL",
         "SampleAfterValue": "200003",
@@ -261,20 +268,22 @@
         "UMask": "0x2"
     },
     {
-        "BriefDescription": "Counts the number of occurrences a retired load gets blocked because its address partially overlaps with a store",
+        "BriefDescription": "Counts the number of occurrences a retired load gets blocked because its address partially overlaps with a store  (Precise Event)",
         "Data_LA": "1",
         "EventCode": "0x03",
         "EventName": "RECYCLEQ.LD_BLOCK_ST_FORWARD",
         "PEBS": "1",
+        "PublicDescription": "This event counts the number of retired loads that were prohibited from receiving forwarded data from a previous store because of address mismatch.",
         "SampleAfterValue": "200003",
         "UMask": "0x1"
     },
     {
-        "BriefDescription": "Counts the number of occurrences a retired load that is a cache line split. Each split should be counted only once.",
+        "BriefDescription": "Counts the number of occurrences a retired load was pushed into the rehab queue because it sees a cache line split. Each split should be counted only once. (Precise Event)",
         "Data_LA": "1",
         "EventCode": "0x03",
         "EventName": "RECYCLEQ.LD_SPLITS",
         "PEBS": "1",
+        "PublicDescription": "This event counts the number of retired loads which was pushed into the recycled queue that experienced cache line boundary splits (Precise event). Not that each split should be counted only once.",
         "SampleAfterValue": "200003",
         "UMask": "0x8"
     },
@@ -286,7 +295,7 @@
         "UMask": "0x10"
     },
     {
-        "BriefDescription": "Counts the store micro-ops retired that were pushed in the rehad queue because the store address buffer is full",
+        "BriefDescription": "Counts the store micro-ops retired that were pushed in the rehab queue because the store address buffer is full",
         "EventCode": "0x03",
         "EventName": "RECYCLEQ.STA_FULL",
         "SampleAfterValue": "200003",
@@ -301,7 +310,7 @@
         "UMask": "0x4"
     },
     {
-        "BriefDescription": "Counts the total number of core cycles the Alloc pipeline is stalled when any one of the reservation stations is full.",
+        "BriefDescription": "Counts the total number of core cycles allocation pipeline is stalled when any one of the reservation stations is full.",
         "EventCode": "0xCB",
         "EventName": "RS_FULL_STALL.ALL",
         "SampleAfterValue": "200003",
diff -rup main-perf/knightslanding/uncore-cache.json knl-updates-perf/knightslanding/uncore-cache.json
--- main-perf/knightslanding/uncore-cache.json	2023-09-11 15:30:24.193051200 -0700
+++ knl-updates-perf/knightslanding/uncore-cache.json	2023-09-11 15:29:59.293051200 -0700
@@ -2558,7 +2558,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2A",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q0_RETRY.AD_REQ_VN0",
         "PerPkg": "1",
@@ -2566,7 +2566,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2A",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q0_RETRY.AD_RSP_VN0",
         "PerPkg": "1",
@@ -2574,7 +2574,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2A",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q0_RETRY.AK_NON_UPI",
         "PerPkg": "1",
@@ -2582,7 +2582,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2A",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q0_RETRY.BL_NCB_VN0",
         "PerPkg": "1",
@@ -2590,7 +2590,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2A",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q0_RETRY.BL_NCS_VN0",
         "PerPkg": "1",
@@ -2598,7 +2598,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2A",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q0_RETRY.BL_RSP_VN0",
         "PerPkg": "1",
@@ -2606,7 +2606,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2A",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q0_RETRY.BL_WB_VN0",
         "PerPkg": "1",
@@ -2614,7 +2614,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2A",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q0_RETRY.IV_NON_UPI",
         "PerPkg": "1",
@@ -2622,7 +2622,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2B",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q1_RETRY.ALLOW_SNP",
         "PerPkg": "1",
@@ -2630,7 +2630,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2B",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q1_RETRY.ANY_REJECT_IRQ0",
         "PerPkg": "1",
@@ -2638,7 +2638,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2B",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q1_RETRY.PA_MATCH",
         "PerPkg": "1",
@@ -2646,7 +2646,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2B",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q1_RETRY.SF_VICTIM",
         "PerPkg": "1",
@@ -2654,7 +2654,7 @@
         "Unit": "CHA"
     },
     {
-        "BriefDescription": "REQUESTQ'' includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
+        "BriefDescription": "REQUESTQ includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         "EventCode": "0x2B",
         "EventName": "UNC_H_INGRESS_RETRY_REQ_Q1_RETRY.SF_WAY",
         "PerPkg": "1",
diff -rup main-perf/knightslanding/virtual-memory.json knl-updates-perf/knightslanding/virtual-memory.json
--- main-perf/knightslanding/virtual-memory.json	2023-09-11 15:30:24.183051200 -0700
+++ knl-updates-perf/knightslanding/virtual-memory.json	2023-09-11 15:29:59.273051200 -0700
@@ -1,6 +1,6 @@
 [
     {
-        "BriefDescription": "Counts the number of load micro-ops retired that cause a DTLB miss",
+        "BriefDescription": "Counts the number of load micro-ops retired that cause a DTLB miss (Precise Event)",
         "Data_LA": "1",
         "EventCode": "0x04",
         "EventName": "MEM_UOPS_RETIRED.DTLB_MISS_LOADS",
diff -rup main-perf/mapfile.csv knl-updates-perf/mapfile.csv
--- main-perf/mapfile.csv	2023-09-11 15:30:29.043051200 -0700
+++ knl-updates-perf/mapfile.csv	2023-09-11 15:30:05.163051200 -0700
@@ -18,7 +18,7 @@ GenuineIntel-6-6[AC],v1.21,icelakex,core
 GenuineIntel-6-3A,v24,ivybridge,core
 GenuineIntel-6-3E,v24,ivytown,core
 GenuineIntel-6-2D,v24,jaketown,core
-GenuineIntel-6-(57|85),v10,knightslanding,core
+GenuineIntel-6-(57|85),v16,knightslanding,core
 GenuineIntel-6-BD,v1.00,lunarlake,core
 GenuineIntel-6-A[AC],v1.04,meteorlake,core
 GenuineIntel-6-1[AEF],v4,nehalemep,core

Some of the differences between v10 and v16 caught my eye.
PublicDescription moving from 'tbd' to '0'. In these cases BriefDescription should be used for the PublicDescription. If neither are populated, the event name is used.

Errata moving from 'null' to '0'. Minor issue, but 'null' is the correct value. Actual errata are tracked as a number.

Thanks Kshipra and Ian. I'm working on an additional commit for descriptions and errata.

Thanks again Ian and Kshipra. Merging.


Orders microservice

This PR resolves #38 by adding a new orders microservice. All CRUD operations were implemented as well as tests.

To place a new order, buyer can now call POST /api/orders/add with the following body:

{
  "products": [
    {
      "id": "id-of-the-product",
      "quantity": 1
    },
   {
      "id": "id-of-the-second-product-product",
      "quantity": 5
    }
  ],
  "totalPrice": 120,
  "seller": "id-of-the-seller"
}

To get info about specific order, both sellers and users can call GET /api/orders/{id}, which has the following fields:

{
  "id": "id-of-the-order",
  "buyer": "id-of-the-buyer",
  "seller": "id-of-the-seller",
  "products": [
    {
      "id": "id-of-the-product",
      "quantity": 1
    },
   {
      "id": "id-of-the-second-product-product",
      "quantity": 5
    }
  ],
  "totalPrice": 120,
  "status": "pending", // status of the order, can be `pending`, `confirmed`, `completed` and `cancelled`
  "createdAt":<PHONE_NUMBER>111 // order creation time in milliseconds
}

Sellers can update the order by sending request to PUT /api/orders.  Only status can be updated for now:

{
  "status": "completed"
}

To get all orders, both sellers and buyers can use GET /api/orders, which returns array of orders, where the user is a seller or buyer.

Things that are a bit different from described in #38:

A new status completed was added
timestamp was changed to createdAt, userId to buyer to avoid confusion<
Users can not cancel orders for now, but it can be easilly implemented

Please feel free to provide feedback if there's anything else that needs to be added. Interactive documentation for new endpoints is available at /api/docs.

I wonder how frontend can provide seller id if the shopping cart includes several products from different sellers? Do we create separate orders for each seller?

I think there is an issue with GET api/orders by seller, I cannot see the users' orders as a seller

I attached the seller id to POST api/orders/add

and I double checked my seller id is the same

I wonder how frontend can provide seller id if the shopping cart includes several products from different sellers? Do we create separate orders for each seller?

Yeah, something like this (AliExpress):

Products are grouped by sellers, you can check them manually or check all products of the specific seller. There's a "Buy" button that creates POST /orders/add request for each seller and their products.

I cannot see the users' orders as a seller

Yes, there was a bug. This happened because I forgot to add a new scope orders:write to the seller role, so the seller was falsely treated as a buyer and no orders were shown.
The case you described was even covered by tests, but the tests use a dummy authentication with the right scopes to be independent from the users microservice, so it wasn't catched :(
https://github.com/merpw/lets-play/blob/b2ed50123ea69c3d8c6fa50c41fb081520f75d77/backend/services/orders/src/test/java/pw/mer/letsplay/order/OrderSecurityTests.java#L16-L33
It should work as expected now

One small issue, we still cannot fetch user's name with role "user", in case we want to see the buyer's name at the order page. Do we need it?

One small issue, we still cannot fetch user's name with role "user", in case we want to see the buyer's name at the order page. Do we need it?

I think no, to protect privacy of the users and prevent sellers contacting buyers directly. We can show something like User #12314231 instead.


[Enhancement] Add more bitmap functions for HiveUDF

Why I'm doing:
What I'm doing:
Add more bitmap functions for UDF: bitmap_union/base64_to_bitmap/bitmap_and/bitmap_or/bitmap_xor/bitmap_to_base64
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.2
[x] 3.1
[ ] 3.0
[ ] 2.5

https://github.com/Mergifyio backport branch-3.2

https://github.com/Mergifyio backport branch-3.1

https://github.com/Mergifyio backport branch-2.5


Live preview task should use the radio tower icon

Testing https://github.com/microsoft/vscode/issues/158835
Current:

Desired:

blocked upstream: https://github.com/microsoft/vscode/issues/201011


Republika Srpska's flag icon is not included in Monstra

During the installation of Monstra not shown correctly the Republika Srpska's flag icon.

The flag icon is not found in https://github.com/monstra-cms/monstra/tree/dev/public/assets/img/flags
I hope this very small error can be solved.
Cheers!

That is Republic Serbia :)
[Pull request created] (https://github.com/monstra-cms/monstra/pull/396)

Seems its fixed now. closing.


update bitcoin jpgs

@MillHaus33 i would like to change the name of the project in the meta file as well as the links to socials but i get an error.
how can i do it?
ty!

@MillHaus33 available to merge? ty


Rephrasing ES6: Use * to Import Everything from a File

Describe your problem and how to reproduce it:
The last 2 paragraphs of the exercise could use a rewording and some adjustments as they do not get the point across.
I.E.

The code below requires the contents of a file, "capitalize_strings", found in the same directory as it, imported.

The above line could use a refactoring of the statement for better readability.

In order to utilize this method, it requires an object that receives the imported values. From here, you will use the dot notation to call your imported values.

Maybe consider saying, In order to utilize this method, an object is required
Add a Link to the page with the problem:
Challenge
Tell us about your browser and operating system:

Browser Name: Chrome
Browser Version: Version 70.0.3538.67 (Official Build) (64-bit)
Operating System: Windows 7 64bit

If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):

If there is a possibility, after a clear rewording is selected, I would like to fix this issue.

Hi @TomerPacific,
Thank you for opening this issue.
I agree the verbiage can be improved in this challenge.
Can you explain this sentence?

In order to utilize this method, it requires an object that receives the imported values.

Which method are you referring to? If you meant import * as then it's a statement.
I think something like:

In this challenge you need to import all the contents from "capitalize_strings" file. To do so, you have to use import * as statement and use any namespace to refer to the imported module.

Its not perfect but certainly more clear as to what needs to be done relative to the current challenge's text.

@ezioda004 ,
The following sentence:

In order to utilize this method, it requires an object that receives the imported values.

Was an example of a sentence that in my mind, could use some rephrasing.
I think you are reading my comment the wrong way. The quoted text is copied directly from the challenge's description. I gave excerpts to emphasize where the description could use some polish.
You can see the entire paragraph in the screenshot I took.
What I suggested was referring to the first part of the second paragraph and how to reword it.

Right, what I suggested was to replace the whole instruction text because:

The code below requires the contents of a file, "capitalize_strings", found in the same directory as it, imported. Add the appropriate import * statement to the top of the file, using the object provided.

Doesnt make a whole lot of sense. There is no "code below" and there is no "object provided". The namespace object used is arbitrary (as long as its a valid identifier and is not a reserved keyword).

@ezioda004 ,
I agree with you.
Too bad someone snatched this fix from me...

@TomerPacific , @ezioda004 Are you satisfied with the PR's verbiage?

@RandellDawson ,
I added a comment to the PR.


[Update Request]:

What type of update are you requesting?
A new version of an existing package
Current Package Identifier
DolphinEmulator.Dolphin
Package Version
2409
Please describe the changes you would like to see
Issues: Package Outdated,Features missing
There is a new release (2409) available
Download Page URL: https://dolphin-emu.org/download/release/2409/
Would like: Missing Features,New Package

[!CAUTION]
Blocking issue: Unsupported release format.

See https://github.com/microsoft/winget-pkgs/issues/167426#issuecomment-2285255867

Surely we can just repackage it into a zip file as a one-off and distribute that? Version 2412 is ready to go.

Surely we can just repackage it into a zip file as a one-off and distribute that? Version 2412 is ready to go.

Exactly! Just rename the .7z to a .zip and maybe package it into a .EXE and just replace the old package with the new one


fix pickling in torch pruning hooks

Pruning hook functions were recently moved to be nested functions that would be returned for a given parameter idx to support global pruning.  This causes issues with python pickling because nested functions cannot be pickled.  This causes issues when torch.save is directly called on a pruned model.
Note that best practice is not to pickle entire pytorch models, but to just serialize their state dicts.
PyTorch tests passing. Some sample code to directly test pickling (fails without this change):
from torchvision.models import resnet50
import torch
from sparseml.pytorch.optim import GMPruningModifier

model = resnet50(False)
mod = GMPruningModifier(0.5, 0.9, 0.0, 10.0, 0.1, "__ALL_PRUNABLE__", leave_enabled=True)
mod.initialize(model, None)
mod.scheduled_update(model, None, 1, 1)
torch.save(model, "tmp.pt")  # fails without this PR

Looks good to me.


isInternalAddress network utility function ipv6 support

Should the network utility function isInternalAddress be upgraded to support IPv6 or is it stale code?

It is being used: https://github.com/lyft/envoy/blob/master/source/common/http/utility.cc#L136
And yes, definitely needs to be updated to support IPv6.

@mattklein123 Do you know what I need to #include for IP6T_SO_ORIGINAL_DST? That seems to be the IPv6 equivalent of SO_ORIGINAL_DST. I tried <linux/netfilter_ipv6/ip6_tables.h> but it doesn't come in cleanly.


bug in website there is no need of left right scroll.

https://github.com/Anupkjha2601/food-recipes-website/assets/114687502/d9933c0f-a76e-46d0-9054-99705bad5c07
it must be resolved else make bad impression to viewers/ visitors.

@Anupkjha2601


How to change this camera to OpenCV format?

Hi
Thanks for your excellent work. Could you please share how to change your GUI to adapt the OpenCV format? what params should be changed?
Thanks for your help in advance!

@echosum Hi, it may be a little complex to modify the GUI, as all the functions are assumed to be in OpenGL format.
It would be easier to transform your camera poses into OpenGL format instead:
https://github.com/ashawkey/kiuikit/blob/main/kiui/cam.py#L50

Hi
Thanks for your reply! I am wondering how to transfer standard coordinates (x forward, y right, z up) with colmap (opencv) camera into the global opengl  and camera opengl coordinate system?

Usually I will:
(1) Convert the axes (you may refer to https://kit.kiui.moe/camera/) by switching and negating the rows of camera poses.
(2) In the correct world coordinate system, draw some example camera poses to see if it's opengl or opencv convention (by the forward direction), and negate the cols of camera poses.


Environmental variables instead of xinitrc

Is there a reason you are using .xinitrc instead of the $DESKTOP_SESSION or $XDG_CURRENT_DESKTOP environment variables? I don't use .xinitrc, so the current configuration doesn't run on my machine. Mostly just wondering why you chose to parse through since echoing an environmental variable seems easier. (Also, I'm not sure how widely used those two environmental variables are and if they are usually set, could be your reasoning)

I could have it check those two before $WM, which is what I intended for people to set if they don’t have an xinitrc.
If it were to check for them, it would display something like “WM: KDE”, which is not really technically accurate, as KDE’s window manager is actually called KWin.
Translating the DE reported by the variables to the WM used in the DE would introduce a level of complexity I’m not really willing to add. I try to not hardcode anything I don’t have to.
Anyone else have an opinion?

Oh you right, I completely wasn't paying attention when I saw WM, I was thinking DE. Sorry!


[Bug] list_service Method Does Not Return Expected Response

Description
The /v1/list_service method in the gateway.py file is currently not functioning as expected. The method is supposed to return a dictionary containing the descriptions and endpoint paths of all services. When call, it will return response 500.
Expected Behavior
The list_service method should return a dictionary containing all services' descriptions and endpoint paths.
Additional Information
File: GenAIComps/comps/cores/mega/gateway.py

i ran the examples Translation and got this error.
translation-xeon-backend-server  |   File "/home/user/GenAIComps/comps/cores/mega/gateway.py", line 77, in list_service
translation-xeon-backend-server  |     for node in self.all_leaves():
translation-xeon-backend-server  |                 ^^^^^^^^^^^^^^^
translation-xeon-backend-server  | AttributeError: 'TranslationGateway' object has no attribute 'all_leaves'


Apply postcss transforms for tagged template css

Atom will enable the syntax highlighting for css if the tagged template is named css (instead of csjs).
I know this is kind of out of the scope of this repo, but it's such a minor change that it doesn't seem necessary to keep a separate project just for that.

Cool! I think making the tag name configurable seems like a good idea (as opposed to being hardcoded to csjs)
Could you update your PR so it can be passed in via config like plugins are?

Hi! Thanks so much for the transform. And csjs. I added the option, but also renamed the transform, since I’m using it without csjs (with this https://github.com/arturi/template-css) and I think it could be useful for any other package doing css in template strings. What do you think: https://github.com/arturi/babel-plugin-template-strings-postcss? Should I publish a separate version, or should I add tests and send a PR? Are you interested in making the transform not csjs-specific, letting it run free?

@arturi Yeah, I see no reason for this to be CSJS-specific. Happy to merge in a PR!


Line chart component

Summary
Added line chart component using module from shadcn ui. Created a linechart page and added props like axis labels and chart data type to show up on the line chart.
Testing
Created linechart page and added a linechart component to this page. Visible on the browser.
Notes

What we did

Used ShadCn and installed required packages
Created a LineChart component in molecules
Created a /lineChart path for testing purposes

Revisions are necessary and discussed in subteam.


properties dictionary added

@cbarbera80 could you add some context on what this PR adds/fixes, and please make sure the tests are passing.

I think this is what I want. I'm able to get extra field from geoJson. Am I right?

@zhouhao27 It looks like it. Could you refactor this PR and make sure tests are added and passing?

is this pull-request will be merge ?

@paul-aigue, would you like to take over and update this PR? It would be great to have this code moved to Swift 4 and possibly using the Decodable protocol.

I did something similar for properties dict before using Swift 4 and Decodable. #57

Properties added on https://github.com/GEOSwift/GEOSwift/pull/57


Annual Review 2023

Collecting stats about the project for our Annual internal report: https://docs.google.com/presentation/d/1W6UGOrUMW4fNnaHkKyb8ozdct0hiwXcMel4c4TN9IFU/edit#slide=id.g2085abe9303_2_216

22 April: Was reviewed with MS during 1:1 coworking

Time for a Annual Review 2024!

Cl


Possible length off-by-one in RadioText+ decode

Looks like RadioText+ might be dropping the last character. I'm inferring this from the standard RT messages preceeding it:
17EF  2A TP:0 PTY:10 RT:'B93.9 Close Your Eyes Parmalee ↵                                ' RT_OK
  RadioText+:
    Item running
    Tag item.artist: Parmale
    Tag item.title: Close Your Eye

Thanks, this is actually the first time I see any output from the RT+ decoder, I've been writing it blind without test data.

It's indeed length + 1 in the spec, fixed now.


Windows packaged app: Asked for (...)/index.jsx but it was not precompiled!

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Please describe your issue:
When packaging and running the packaged app on Mac, everything work great. Running electron-forge start on both Mac and Windows works great, too. When packaging my electron app on Windows, and running the application, I get the following error:
C:\Users\jorda\Documents\GitHub\swanson-assistant\out\s-a\resources\app\node_modules\electron-compile\lib\file-change-cache.js:313 Uncaught Error: Asked for C:\Users\jorda\Documents\GitHub\swanson-assistant\out\s-a\resources\app\src\ui\components\nav\index.jsx but it was not precompiled!
    at FileChangedCache.getHashForPathSync (C:\Users\jorda\Documents\GitHub\swanson-assistant\out\s-a\resources\app\node_modules\electron-compile\lib\file-change-cache.js:313:15)
    at CompilerHost.compileReadOnlySync (C:\Users\jorda\Documents\GitHub\swanson-assistant\out\s-a\resources\app\node_modules\electron-compile\lib\compiler-host.js:566:41)
    at CompilerHost.compileSync (C:\Users\jorda\Documents\GitHub\swanson-assistant\out\s-a\resources\app\node_modules\electron-compile\lib\compiler-host.js:484:40)
    at Object.require.extensions.(anonymous function) [as .jsx] (C:\Users\jorda\Documents\GitHub\swanson-assistant\out\s-a\resources\app\node_modules\electron-compile\lib\require-hook.js:68:48)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\jorda\Documents\GitHub\swanson-assistant\out\s-a\resources\app\src\ui\App.jsx:21:12)

Console output when you run electron-forge with the environment variable DEBUG=electron-forge:*. (Instructions on how to do so here). Please include the stack trace if one exists.
PS C:\Users\jorda\Documents\GitHub\swanson-assistant> electron-forge package
WARNING: DEBUG environment variable detected.  Progress indicators will be sent over electron-forge:lifecycle
  electron-forge:lifecycle Process Started: Checking your system +0ms
  electron-forge:lifecycle Process Succeeded: Checking your system +37ms
  electron-forge:runtime-config setting key: verbose to value: false +5ms
WARNING: DEBUG environment variable detected.  Progress indicators will be sent over electron-forge:lifecycle
  electron-forge:lifecycle Process Started: Preparing to Package Application for arch: x64 +0ms
  electron-forge:project-resolver searching for project in: C:\Users\jorda\Documents\GitHub\swanson-assistant +2ms
  electron-forge:project-resolver electron-forge compatible package.json found in C:\Users\jorda\Documents\GitHub\swanson-assi
stant\package.json +5ms
  electron-forge:hook could not find hook: generateAssets +7ms
  electron-forge:hook could not find hook: prePackage +0ms
  electron-forge:packager packaging with options { asar: false,
  overwrite: true,
  ignore: [ '.vscode', '^(.gitignore|.eslintrc|.env|.npmrc)' ],
  afterCopy: [ [Function], [Function], [Function], [Function] ],
  afterExtract: [],
  dir: 'C:\\Users\\jorda\\Documents\\GitHub\\swanson-assistant',
  arch: 'x64',
  platform: 'win32',
  out: 'C:\\Users\\jorda\\Documents\\GitHub\\swanson-assistant\\out',
  electronVersion: '1.6.11',
  quiet: true } +0ms
  electron-forge:lifecycle Process Succeeded: Preparing to Package Application for arch: x64 +12s
  electron-forge:lifecycle Process Started: Compiling Application +2ms
[BABEL] Note: The code generator has deoptimised the styling of "C:/Users/jorda/AppData/Local/Temp/electron-packager/win32-x64
/s-a/resources/app/src/ui/lib/uniform-ui-components_bundled.min.js" as it exceeds the max of "50
0KB".
  electron-forge:lifecycle Process Succeeded: Compiling Application +7s
  electron-forge:lifecycle Process Started: Preparing native dependencies +1ms
  electron-forge:lifecycle Process Succeeded: Preparing native dependencies +135ms
  electron-forge:lifecycle Process Started: Packaging Application +0ms
  electron-forge:hook could not find hook: postPackage +12s
  electron-forge:lifecycle Process Succeeded: Packaging Application +0ms

What does your config.forge data in package.json look like?
"forge": {
      "make_targets": {
        "win32": [
          "zip"
        ],
        "darwin": [
          "zip"
        ],
        "linux": [
          "deb",
          "rpm"
        ]
      },
      "electronPackagerConfig": {
        "ignore": [
          ".vscode",
          "^(.gitignore|.eslintrc|.env|.npmrc)"
        ]
      },
      "electronWinstallerConfig": {
        "name": "swanson_assistant"
      },
      "electronInstallerDebian": {},
      "electronInstallerRedhat": {},
      "github_repository": {},
      "windowsStoreConfig": {
        "packageName": "",
        "name": "swansonassistant"
      }
    }

Please provide either a failing minimal testcase (with a link to the code) or detailed steps to
reproduce your problem. Using electron-forge init is a good starting point, if that is not the
source of your problem.
I will work on a minimal repro if this isn't a known issue.

Of course as soon as I open an issue I find the problem.
In a component, I had import Nav from '/components/nav'. But my folder was named Nav. Changing the import to match the case of the folder fixed it.
If someone else comes across this issue, check your capitalization.


Add guidance and/or example text to soil template terms

Some terms were reported by ESS attendees. This is an exhaustive list of terms in the Soil-EMSL template on the submission portal that either are missing guidance text and/or example text.
Missing guidance text and example text:

[x] sample shipped amount
[x] number technical replicate
[x] history/extreme events
[x] history/fire
[x] history/flooding
[x] filter method
[x] experimental factor- other
[x] non-microbial biomass
[x] non-microbial biomass method
[x] microbial biomass carbon
[x] microbial biomass carbon method
[x] microbial biomass nitrogen
[x] microbial biomass nitrogen method
[x] organic nitrogen method
[x] other treatments
[x] isotope exposure/addition

Missing example text:

[x] replicate number
[x] slope aspect
[x] extreme_unusual_properties/Al saturation
[x] extreme_unusual_properties/Al saturation method
[x] mean annual precipitation
[x] current vegetation
[x] current vegetation method
[x] extreme_unusual_properties/heavy metals method
[ ] #584
[ ] #678
[ ] #679
[ ] soil_taxonomic/local classification	(https://github.com/microbiomedata/nmdc-schema/issues/585)
[ ] #585
[x] history/previous land use method
[x] history/previous land use
[x] mean seasonal precipitation
[x] slope gradient
[ ] #680
[ ] soil texture method
[ ] soil type method (https://github.com/microbiomedata/nmdc-schema/issues/585)
[x] water content
[x] water content method
[x] pH method
[x] microbial biomass
[x] microbial biomass method
[x] total carbon
[x] total nitrogen content
[x] total nitrogen content method
[x] total organic carbon
[x] total organic carbon method
[x] salinity method
[x] composite design/sieving
[x] #586
[x] gaseous environment
[x] watering regimen

Note that @mslarae13 will need to help with content for all of these terms, then coordinate with @turbomam to update appropriately.
FYI @ssarrafan

Wow! That's a lot!  Adding annotations to those slots will make the schema much better!
Many of those slots come from MIxS. Ideally any annotations that are prepared for them would go straight to the GSC. If there's a concern that the turn around time would be too slow, I recommend that @mslarae13 or any other contributors make a copy of the MIxS 6 term updates Google Sheets and enter their annotations there. It will be easy to do a diff between our version ans their version. If they decide to accept them, then it will already be in a suitable format. If they reject them or if the process starts dragging on too long, it will be easy to feed the annotations into sheets-for-nmdc-submission-schema, the input for our submission portal schema.
Here's some notes about the LinkML slots that currently appear in the DH help dialogs, which include the catch-all "Guidance" section.

See also
https://github.com/microbiomedata/nmdc-schema/issues/374

Related to #https://github.com/microbiomedata/nmdc-schema/issues/373

@mslarae13 do you want this issue in the next sprint?  Next sprint is very short due to the retreat.

@mslarae13 I'm removing this one from the sprint until there is a plan to work on it.

@ssarrafan  can you add this to the sprint starting Monday?

I'm using "comments" in LinkML to capture what should be in "guidance" on the submission portal

Progress / commit tracking
Missing guidance text and example text:

[ ] sample shipped amount
[ ]  number technical replicate
[ ]  history/extreme events
[ ]  history/fire
[ ]  history/flooding
[ ]  filter method
[ ]  experimental factor- other
[ ]  non-microbial biomass
[ ]  non-microbial biomass method
[ ]  microbial biomass carbon
[ ]  microbial biomass carbon method
[ ]  microbial biomass nitrogen
[ ]  microbial biomass nitrogen method
[ ]  organic nitrogen method
[ ]  other treatments
[ ]  isotope exposure/addition

Missing example text:

[ ] replicate number
[ ]  slope aspect
[ ]  extreme_unusual_properties/Al saturation
[ ]  extreme_unusual_properties/Al saturation method
[ ]  mean annual precipitation
[ ]  current vegetation
[ ]  current vegetation method
[ ]  extreme_unusual_properties/heavy metals method
[ ]  horizon method
[ ]  link to classification information
[ ]  link to climate information
[ ]  soil_taxonomic/local classification
[ ]  soil_taxonomic/local classification method
[ ]  history/previous land use method
[ ]  history/previous land use
[ ]  mean seasonal precipitation
[ ]  slope gradient
[ ]  soil texture measurement
[ ]  soil texture method
[ ]  soil type method
[ ]  water content
[ ]  water content method
[ ]  pH method
[ ]  microbial biomass
[ ]  microbial biomass method
[ ]  total carbon
[ ]  total nitrogen content
[ ]  total nitrogen content method
[ ]  total organic carbon
[ ]  total organic carbon method
[ ]  salinity method
[ ]  composite design/sieving
[ ]  climate environment
[ ]  gaseous environment
[ ]  watering regimen

Submit a GSC ticket for the following when PR approved

[ ]  history/extreme events
[ ]  history/fire
[ ]  history/flooding

For experimental_factor_other , from Mark
Instead of "this is open text" I would recommend "This column (or field) accepts open-ended text about your sample. We recommend using key:value pairs. Then your keys will be considered for inclusion as future slots/terms in this data collection template."
then some examples could be
value: "sound: oink"
value: "flavor: orange; calories: 100"

@turbomam
Do you know why horizon and horizon method are commented out in nmdc.yaml
and horizon is commented out of mixs.yam
https://github.com/microbiomedata/nmdc-schema/blob/c097bfdbf5feae5b1895deb3079f4d2b27e02edf/src/schema/mixs.yaml#L6437

Is adding an exampel where one does not exists count as changing the slot & it "no longer being the same IRI"? Per the conversation at the metadata sync : https://docs.google.com/document/d/1CDLw4zwD4Z_0dNHyT8nQGey6fDvVd0zQd4cDqG_ulqg/edit?usp=sharing

@ssarrafan overdue, please add to January 2023 sprint

@ssarrafan overdue, please add to January 2023 sprint

@mslarae13 Are these still in review status? I will move to the next sprint but let me know if it should go to the backlog instead.

PR has been merged. Any outstanding slots to update have individual issues assigned. Closing this one.


Big bag of JWT fixes for accumulated issues

Taking the opportunity to make some breaking changes for v0.4
This is a work in progress. It removes the default value of "secret" for JWTs, and responds with an error if someone tries authenticating against a postgrest server which has not been configured with a secret. The new code also adds the convention that a secret beginning with @ means a filename from which to read the real secret. Reading from a file should allow unicode and binary secrets alike (but this requires testing). Reading from a file also removes sensitive information from the unix process list.
Two other JWT requested features not yet addressed are #505 and #567. Are these issues something we still want to fix?
I'll also be incorporating the custom validation discussed in #632...

I'm concerned about storing the secret in a variable as well because it makes the worst case security failure of a proc much worse. It used to be that a proc could only do what the role of the current request allowed. Now it could accidentally leak the jwt secret and allow people to escalate their permissions. It's kind of dangerous. Also as you mention the secret appears in the db logs.
I don't think hardcoding the secret in the proc would be good either. The secret used for checking auth attempts has to match the hardcoded one. They could get out of sync, and it's slow to change the hardcoded one if necessary.

Hardcoding is just an option.
Another option would be to have that secret in memory table, and the proc does a select from that table. Doing it like that, you can have the postgrest init script, before starting postgrest, saving the secret to that table.
Or just like here, it can be a variable, and it can be stored in a small sql file that you execute each time before starting postgrest.
I guess what i am saying is that doing it like it's now, does not give the user the flexibility in regards to security, having the secret from the pg param and the one in the db in sync is not a hard problem, its basically an additional command in the postgrest init script that takes the secret and sends it to the db.

Another option is shipping pgjwt with our binary and upon postgrest initialization we (only when the secret option is passed):

check for pgcrypto, if we can create the extension we also create the pgjwt with an extra procedure that postgrest will use to generate JWT.
if we cannot create pgcrypto we display an error message saying that the functionality to generate tokens is disabled, so the secret is only being used to validate tokens.

Advantages of this approach:

We have full control over the JWT workflow, since this seems to be a sensitive issue this might avoid a lot of user support.
We know exactly which procedure is being used to create JWTs so we can hardcode its name in the haskell code so the secret gets passed without the user having to pass in the HTTP request.

Actually the simplest approach possible might be to keep the magic type jwt_token or something to that effect to signal that the function receives the secret as a parameter. But I still like the idea of shipping the pgjwt, I feel that it gives a better out of the box experience and, therefore, less user support will be necessary.

@diogob the "shipping pgjwt" approach i think i better handled by a "starter kit/sample" then bundling the lib with the binary. In the next few days i am thinking of writing a "thinking in PostgREST" tutorial and with that i will maybe create a "starter kit" repo. The current "users" example i think is unnecessarily complex.
For the purpose of this pr, i still think the best approach is to not send from Postgrest to the db the secret in any way, and have the user implement additional scripts (but we provide samples on how to do that) that will send the same secret both to postgrest command line and to the db env

Logically there are a few alternatives for generating JWT:

in SQL

The secret can be in plaintext somewhere for SQL to access (either as a GUC or the fancy in-memory thing)
Or there could be specially initialized security definer function designed to generate JWT which internally has privileges to read the secret
Or there could be no communication of the secret from postgrest, but implicit knowledge in the person writing the SQL

in Haskell

Using the return type naming convention as before

in a proxy

encode JWT for routes chosen by the user - could be made into an nginx plugin or something

Looking back on it the approach of creating JWT in Haskell had a number of good properties. It is pretty simple, doesn't require installing an extension like pgcrypto or a special sql helper library. It keeps the secret hidden from the db, and updates the secret immediately if the server is restarted with a new one. The two drawbacks things are that inspecting the name of a return type is freaky and magical, and being able to generate JWT in SQL is more flexible in terms of choosing the signing algorithm etc.
👍 to having a simpler example of auth than what's in the guide right now. But requiring a starter kit just to enable the feature isn't as smooth as a magic return type. Are there more arguments against doing it in Haskell that I didn't think of?

the problem with doing it in haskell is that that magical function can return only a json like {token: ...} and usually ppl want more (user id, user name ...)
doing it in proxy has the same problem as in sql, you need somehow to feed the same secret to postgrest and to the proxy (both reading from a file)
the good part about having postgrest not handle jwt generation at all (not even sending the secret) is that it leaves room for flexibility. Some might want to generate in db. some might want to generate in proxy and both cases are possible if you leave that door open.
about the starter kit, if you leave the jwt in the state it is now, it's not like everything just magically works because of the ability to encode jwt in haskell, ppl still start with "users" example ... that is already a starter kit ... might as well make it official (and simpler).
Another thing about jwt, it's not like jwt is absolutely required to have an auth system. you can do auth with sessions (my unfinished PR) in which case jwt does not come into play at all so that is another reason to externalise this feature (jwt generation)
pgcrypt is standart and is available everywhere so i don't think it's a problem.
The only thing that needs to be solved/decided for the starter kit that generates jwt in sql is a way to get the secret from a file to the db land and secure it somehow there.
Let's see if this is possible then go from there

Thinking a bit about this, a table holding the secret value seems to be a good solution (for the starter kit):

login is a rare operation so it's not a big problem reading the secret from any kind of table
access to the secret can be secured through usual mechanisms (only postgres user should have access to that table)
postgrest startup script (which any production system should have and not start pg by hand) can be altered to send the same secret both postgrest and db (by doing an insert), for the starter kit, we can have a hardcoded psql command that reads the secret from a file and inserts it in the db table
there is no magic involved, everything is in the open (sql) and the method can be completely removed/altered to the users liking

Thoughts?

Reading from a small table should never be a problem. And I agree that PostgreSQL permissions are the way to go to secure access to the table.

I do not see the need for PostgREST server to have the JWT secret if the crypto is done by a procedure running inside the database.

It would make sense to package a few SQL scripts with PostgREST at this point, that can be used as is or customized by advanced users.

Postgrest still needs to validate the incoming request jwt ... hence it needs the secret
You usually package scripts that are required for a app to work, nothing from the "starter kit" is required, that is just a sample app, maybe your system does not even need auth, it jsut servers an open schema so it does not use at all anything in relation to jwt.

Postgrest still needs to validate the incoming request jwt ...

OK... but how is PostgREST going to validate a request signed using a custom algorithm? Isn't it one of the reasons for moving JWT generation to SQL? I am slightly confused.

You are right, it wont be able to decode.
Th reasons are not to have more algorithms available.
The reason is to eliminate magic return type and to allow custom payload in reaponse for login functions (return more data then just the token)

How about this:

Postgrest no longer sets postgrest.jwt_secret. Whoever runs the server and the db is responsible for synchronizing the secret.
Postgrest decodes JWT signed with HMAC-SHA256 and no other algorithms
There is no magic return type, procs have to use pgjwt
Postgrest auth code will look for and execute a validate_jwt_claims if it exists for custom validation. (Should we require that this function live in a special schema to avoid it being visible as an external RPC call?)

All except the past point. You are adding back a magic function and that function si very lomited in scope. It's better handled by a start param with a function name and that fn is executed on each request and it can be used for everything (including session based auth)

Agreed, if the lack of secret sharing generates too many tickets we may revisit this idea in a future relesase.

I pushed the latest work to support calling a custom pre-request proc which can be used to conditionally raise auth errors. It's currently breaking tests -- we'll have to look at the db logs and see what's wrong.

Look at my unfinished pr, it has this custom fn thing and tests for it

Sounds good, I'll check it out tomorrow.

OK I've decided that the open issues about having a backup secret and about validating multiple kinds of encryption are out of scope for this PR.
Can I get some final code review on the new --pre-request parameter and its tests? Do you all like the convention?

Oh there is one more little thing I'd like to add, using auto-update to avoid redundant calls to getPOSIXTime when checking JWT expiration. Should improve performance a little.

Caching getPOSIXTime may be a premature optimization, but it probably saves a little time under heavy traffic. Internally it calls clock_gettime.


Simplify handling generators in json renderer

In terms of clarity, I don't see a big difference between the two implementations. Do you see any other benefit/improvement merging this change ?

For me code below too cryptic, so wanted to share alternative.
https://github.com/cloudblue/connect-reports-core/blob/ff3728e4bbe52db620d8329f3540e03a140d622b/connect/reports/renderers/json.py#L33-L35
Will close PR.
PS. Just out of curiosity, why you switched to orjson? Thx.


Bot stops walking when running out of pokeballs and pokemon is found

Expected Behavior
When you run out of pokeballs, go straight to nearest Pokestop and ignore any pokemon.
Actual Behavior
When you ran out of pokeballs and a pokemon appears the bot does not move any further.
[2016-08-07 18:13:42] [x] Starting PokemonGo Bot....
[2016-08-07 18:13:42] [Navigation] Walking towards PokeStop "Nootdorp Boog" (0.17km away, eta 1.00 minutes)
[API] Requesting too fast. Retrying in 10 seconds...
[2016-08-07 18:15:59] [PokeStop] Nearby PokeStop found "Nootdorp Boog" (0.01km away)
[2016-08-07 18:15:59] [PokeStop] Spinning...
[2016-08-07 18:16:03] [PokeStop] Loot:
[2016-08-07 18:16:03] [PokeStop] + 50 XP
[2016-08-07 18:16:03] [PokeStop] + 1 Pokeball
[2016-08-07 18:16:03] [PokeStop] + 2 Razz Berrys
[2016-08-07 18:16:03] [PokeStop] PokeStop is on cooldown for 4.99 minutes.
[2016-08-07 18:16:10] [Navigation] Arrived at PokeStop "Nootdorp Boog" (0.17km away)
[2016-08-07 18:16:12] [Navigation] Walking towards PokeStop "Speeltoren" (0.47km away, eta 4.00 minutes)
[2016-08-07 18:18:55] [Catch] A wild Poliwrath appeared! [CP 515] [Potential 0.44]
[2016-08-07 18:18:59] [Catch] Using Pokeball... (0 left!)
[2016-08-07 18:19:00] [Catch] Failed to capture Poliwrath. Trying again!
[2016-08-07 18:19:01] [Catch] No Pokeballs in inventory; cannot catch.
[2016-08-07 18:19:04] [Catch] A wild Poliwrath appeared! [CP 515] [Potential 0.44]
[2016-08-07 18:19:07] [Catch] No Pokeballs in inventory; cannot catch.
[2016-08-07 18:19:08] [Catch] A wild Poliwrath appeared! [CP 515] [Potential 0.44]
[2016-08-07 18:19:11] [Catch] No Pokeballs in inventory; cannot catch.
[2016-08-07 18:19:11] [Catch] A wild Poliwrath appeared! [CP 515] [Potential 0.44]
[2016-08-07 18:19:14] [Catch] No Pokeballs in inventory; cannot catch.
[2016-08-07 18:19:15] [Catch] A wild Poliwrath appeared! [CP 515] [Potential 0.44]
[2016-08-07 18:19:18] [Catch] No Pokeballs in inventory; cannot catch.
...
Steps to Reproduce
./pokecli.py -j config.json -lib lib/libencrypt.so -ep web
with the default config.json
Other Information
OS: Linux
Git Commit: dd87ed2

This may have been fixed in #155, but I'll look into it.

@andythorne this might be related to trying to catch Pokemon every step

Could be yeah, although given that's it's all events now all we can do is suppress the output when we're out of balls, unless we were to unregister the event, but I don't like the sound of that.
I'll look into it anyway.

Alternatively there is a new feature added to the event manager where you can drop the event if a handler returns False instead of updated parameters or nothing. Might be a good time to use that.

If this is still an issue, please resubmit.


python3Packages.pysolcast: init at 1.0.7

Motivation for this change
Python library for interacting with the Solcast API
https://github.com/mcaulifn/solcast
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

2 packages built:

python38Packages.pysolcast
python39Packages.pysolcast


[enhancement] Allow panel when no token is selected

Most players only have one character, and that character's panel is the only one they will ever use. There are situations where players might want to use items or abilities without access their token (e.g. theatre of mind combat, a map scene, or a landing page.) In these cases, it would be a major convenience to have access to the panel with no token selected.
Foundry expects players to select a single character in their "user configuration." Defaulting to this pre-selected character when no token selected could be one approach to meeting this need.

Thanks for the idea, this is now live. I decided to make the main character be active whenever nothing else is selected. If you have a common token for the party on the map or something like that, it will need to be deselected to show the items for the character.


Add filter class for boolean fields

Add filter widget class to filter object list by boolean field value

Thanks! Could you update changelog?

Done

Thanks!


Label-studio behind a proxy fails to reimport

PR #1044 [1] introduces an early return for empty reimports.
However, it responds with 204.
While that may seem a good choice, it is also wrong. According to the
specification [2][3], 204 should not have a body.
This is not a problem when trying to access label-studio from a browser.
The problem arises when using label-studio behind a proxy.
Since the reimport's response, needs to reach label-stuiod, in addition
to having a body, it should be a simple 200.
Fixes #2451
[1] https://github.com/heartexlabs/label-studio/pull/1044
[2] https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204
[3] https://restfulapi.net/http-status-204-no-content/

Hi @jfragoulis,
Thanks for your contribution. Somehow we missed your report and discovered this issue "a bit later":
https://github.com/heartexlabs/label-studio/pull/2751
Closing your PR.
Thanks!


Util/helper for state that is a set

Describe the task

We have frequently found that we want a set of x, with a command to add and remove, and a reducer to execute that. Is it worth looking at building a generic or code gen, etc. that makes this more direct and ensures consistency.

e.g.
public class SetState<T>
{
    public struct State
    {
        public List<T> List;
        public static State Create()
        {
            return new State
            {
                List = new List<T>()
            };
        }
    }

    public class AddCommand : ICommand
    {
        public IReadOnlyCollection<T> Items;
    }

    public class RemoveCommand : ICommand
    {
        public IReadOnlyCollection<T> Items;
    }

    public class ClearCommand : ICommand
    {
    }

    public static class Reducers
    {
        internal static void RegisterAll(FluxityRegisterFeatureContext<State> context)
        {
            context
                .Reducer<AddCommand>(HandleAdd)
                .Reducer<RemoveCommand>(HandleRemove)
                .Reducer<ClearCommand>(HandleClear)
                ;
        }

        public static State HandleAdd(State state, AddCommand command)
        {
            state.List.AddRange(command.Items);
            return state;
        }

        public static State HandleRemove(State state, RemoveCommand command)
        {
            foreach (var item in command.Items)
            {
                state.List.Remove(item);
            }
            return state;
        }

        public static State HandleClear(State state, ClearCommand command)
        {
            state.List.Clear();
            return state;
        }
    }
}


Method predict uses new_data's first row as model input but associates result date with new_data's last timestamp + 1*freq

Description

Method predict uses new_data's first row as model input but associates result date with new_data's last timestamp + 1freq.
We can see from code example that first sample is being used as X but result is being associated with last timestamp available +1freq.
Reproducible example

import lightgbm as lgb
from sklearn.ensemble import RandomForestRegressor

models = [
    lgb.LGBMRegressor(),
    RandomForestRegressor(random_state=0),
]

from mlforecast import MLForecast

fcst = MLForecast(
    models=models,
    freq=f'3600s',
)

# train_df definition

train_df[0:2]
# HUFL	HULL	MUFL	MULL	LUFL	LULL	OT	id_col	date
# 0	5.827	2.009	1.599	0.462	4.203	1.340	30.531000	1	2016-07-01 00:00:00
# 1	5.693	2.076	1.492	0.426	4.142	1.371	27.787001	1	2016-07-01 01:00:00

def inspect_input(x):
    from IPython.display import display
    print('inspect_input')
    display(x)
    return x

preds = fcst.predict(horizon=2, new_data=train_df[0:2], before_predict_callback=inspect_input)
# inspect_input
# id_col	HUFL	HULL	MUFL	MULL	LUFL	LULL
# 1	5.827	2.009	1.599	0.462	4.203	1.34

print(preds)
# 	id_col	date	LGBMRegressor	RandomForestRegressor
# 0	1	2016-07-01 02:00:00	30.530473	30.530290
# 1	1	2016-07-01 03:00:00	29.476429	28.449670

Error message
# Stacktrace

Environment info
Install method (pip, conda, github):
pip
Package version:
0.6.0
Additional information

The expected behavior would be to use the last row (the recent time-step) of the dataset instead of the first one, and the rest would work as expected. The current workaround to this issue is to pass only single row not df to clearly know what is the input and the expected output.

Having same issue.
Created a X variable which is very correlated with the y variable.
However the model is not able to capture that at all. Perhaps due to the same issue as above.

import pandas as pd

date_range = pd.date_range(start='2020-01-01', end='2021-01-01', freq='W')
df = pd.DataFrame(date_range, columns=['ds'])
df['unique_id'] = 1
df['X'] = df['ds'].dt.year +  np.random.uniform( low = -1, high = 1, size= df.shape[0])*1000
df['y'] = df['X'] * 0.8 + np.random.rand()

cut_off = 20
train_df = df[:-cut_off]
train_df_X = train_df.loc[:,'X']
train_df_Y = train_df[['ds', 'y', 'unique_id']]
test_df = df[-cut_off:]
test_df_X = test_df.loc[:,['X', 'ds','unique_id']]
test_df_Y = test_df[['ds', 'y', 'unique_id']]
df.head()
from statsforecast import StatsForecast
StatsForecast.plot(df)

import lightgbm as lgb
from window_ops.expanding import expanding_mean
from window_ops.rolling import rolling_mean

from mlforecast import MLForecast
from sklearn.linear_model import LinearRegression

mlf = MLForecast(
    models = [LinearRegression(), lgb.LGBMRegressor()],
    #lags=[1, 12],
    #lag_transforms={
    #    1: [expanding_mean],
    #    12: [(rolling_mean, 48)],
    #},
    freq = 'W',
    #date_features = ['week', 'month', 'year']
)
def inspect_input(x):
    from IPython.display import display
    print('inspect_input')
    display(x)
    return x
prep_df =mlf.preprocess(train_df, id_col = 'unique_id', time_col = 'ds', target_col = 'y')
mlf.fit(train_df, id_col = 'unique_id', time_col = 'ds', target_col = 'y')
y_hat = mlf.predict(cut_off,  dynamic_dfs = [test_df_X],  before_predict_callback=inspect_input)

The input passed to the model is always the first value of the training dataset.

Therefore resulting forecast is a flat one, not being able to get the information from external variable.

Suggested Change:
In core.py
Replace df to another variable in line 465 and 466 (since it seems to be using the global df variable, and do 'merge' on 'unique_id' and 'ds' ?

@FedericoGarza @jose-moralez   what do you think???

Hi @iamyihwa, thanks for the thorough example. I believe this is the same as #122, the TLDR is that you have to set static_features=[] in your fit call, because right now mlforecast is treating X as a static feature and thus it only repeats its last value forward when predicting.

Thanks @jmoralez  for your quick answer!
Yes!!!  indeed it solves the issue!!
Thanks again to the team  for providing great tool and also for the help!!!

Closing as it seems we've solved the original issue.


docs: added etcd docs

A quick search shows that the name is etcd or Etcd (start of sentence). Let's not use ETCD anywhere.


GCP mode requires firewall rule to allow outbound

The GCP project has a firewall that blocks outbound traffic. This makes it impossible for the eve device run in GCP mode to onboard. You need to enable the firewall to allow traffic to your adam node.
This issue is for two distinct items. At some point, let's split them into 2 issues:

This must be documented. It is not enough to assume the user knows. The document must include:

that you need to enable the firewall rule
where to find the firewall rule to enable it (Home->Networking->VPCNetwork->Firewall->gcp-eden-out)
how to test that it is open correctly

This should be automated

#!/bin/bash
extIP=$(gcloud compute instances describe eden-gcp-test  --format='get(networkInterfaces[0].accessConfigs[0].natIP)' --zone=us-west1-a)
gcloud compute firewall-rules create rulezz --allow all --source-ranges=$extIP

This must be documented

I didn't mean here in the issue. It needs to be merged into the official docs.

yes. Sure

#!/bin/bash
BWD=$(./eden utils gcp vm get-ip -k ./../google.json)
echo "the IP is $BWD"
./eden utils gcp firewall -k ./../google.json  --source-range $BWD --name some_unique_name

Documented in Readme


Safe get on table columns comments

Issue #, if available:
#767
Description of changes:
Current get_columns_comments fails when a column is missing a comment. Implemented safe get for this edge case.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: 39494de99170654658def3db86c1d3007e35a289
Result: SUCCEEDED
Build Logs (available for 30 days)

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

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: c84eb9e2203d11770cda87012ec5c91ec5c0dbe5
Result: FAILED
Build Logs (available for 30 days)

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

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: c84eb9e2203d11770cda87012ec5c91ec5c0dbe5
Result: FAILED
Build Logs (available for 30 days)

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

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: c84eb9e2203d11770cda87012ec5c91ec5c0dbe5
Result: FAILED
Build Logs (available for 30 days)

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

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: 835011d572bdaf050182592acadf20dd5d70ea45
Result: SUCCEEDED
Build Logs (available for 30 days)

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


Incorrect link in form fields doc

What RMWC Version are you using [major.minor.patch]:

latest

Describe the bug with as much detail as possible:
this page:

https://github.com/jamesmfriedman/rmwc/blob/master/src/formfield/readme.tsx
has the docs link incorrect:
docsLink="https://material.io/develop/web/components/input-controls/formfields/"
should be:
docsLink="https://material.io/develop/web/components/input-controls/form-fields/"

Released and fixed in 5.7.2


Completable rx response

Added support for Completable rx type as controller response.
So it will be possible to use
@RequestMapping(method = RequestMethod.GET) public Completable withoutResponseBody()
instead of
@RequestMapping(method = RequestMethod.GET) 		public Single<Void> withoutResponseBody()

@kirillsablin Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@kirillsablin Thank you for signing the Contributor License Agreement!

Current coverage is 74.22% (diff: 87.50%)

Merging #1587 into master will decrease coverage by <.01%

@@             master      #1587   diff @@
==========================================
  Files           193        195     +2
  Lines          5937       5947    +10
  Methods           0          0
  Messages          0          0
  Branches        893        893
==========================================
+ Hits           4407       4414     +7
- Misses         1206       1208     +2
- Partials        324        325     +1

Powered by Codecov. Last update 1cd194a...b409a68

This functionality will be provided by spring-framework proper in version 5.0 which we will support. We are going to defer to that at which time we will also remove what support is here.


chore: Deduplicate code of conduct text

This also leaves the repo title H1 as the start of the doc

@nschonni : Thanks for your contribution! The author, @, has been notified to review your proposed change.


[5.1-04-24] Fix closurescope analysis and capture promotion

CapturePromotion: Disable for dynamically_replaceable sil functions

rdar://50949761

@swift-ci Please test

This looks good to me, but I'll hold off approving it until the master PR gets a review from someone else.

Build failed
Swift Test OS X Platform
Git Sha - 9d9616336e32e4f30228cd4485ecf7bde6f19b6a

Build failed
Swift Test Linux Platform
Git Sha - 9d9616336e32e4f30228cd4485ecf7bde6f19b6a

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 9d9616336e32e4f30228cd4485ecf7bde6f19b6a

Build failed
Swift Test Linux Platform
Git Sha - 9d9616336e32e4f30228cd4485ecf7bde6f19b6a

@swift-ci test

Build failed
Swift Test Linux Platform
Git Sha - 9d9616336e32e4f30228cd4485ecf7bde6f19b6a

The linux failure is unrelated.

Build failed
Swift Test OS X Platform
Git Sha - 9d9616336e32e4f30228cd4485ecf7bde6f19b6a

The mac os x failure is unrelated (same failure).


fnott: 1.5.0 -> 1.6.0

Description of changes
fnott added a dbus service file, requiring the use of PKG_CONFIG_DBUS_1_SESSION_BUS_SERVICES_DIR.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Hoping this can be merged soon.

@polykernel just tagging you for visibility. this fixes a rendering bug for me.

Thanks for the ping. I did not receive notification for the PR.

My meson-foo isn't super strong, is there a way to override this install_dir here? If not we could add a patch, but the environment variable seems cleaner in that case.

I did some digging and could not find an easy way to override the install_dir. In addition, the dbus package in nixpkgs sets datadir to /etc so there isn't a way to set the datadir option in meson and trigger the default value. I naively thought there must be some nice way to accomplish this but it seems the intended way is indeed passing through a config backend. In which case I agree with you that passing the environment variable is cleaner.

Thanks for the ping. I did not receive notification for the PR.

It seems you're not a part of the nixpkgs-maintainers team, please post in https://github.com/NixOS/nixpkgs/issues/234293

Thanks for the heads-up. Unfortunately, I can't dedicate as much time as I used to package maintenance and will not be able to uphold the responsibility of being a maintainer in the foreseeable future. I have been inactive with respect to Nixpkgs for more than a year and regret not disclosing the situation earlier. I think it would be best for me to step away from the maintainer role and pass on the baton to other aspiring contributors in the community.


Update cudf build command

The cudf build command below needs to be updated to match https://github.com/rapidsai/cudf/pull/11470 once we create a branch-22.10 branch for this repository. Namely, we need to add a --cmake-args=\"-DCUDF_ENABLE_ARROW_S3=ON\" flag.

https://github.com/rapidsai/docker/blob/2671ef05ffd768034cebcb953977f7bd7ce84471/templates/rapidsai-core/Devel.dockerfile.j2#L114-L115

no longer relevant. closing


Automate the Integration test with Github Actions and run Daily

I had this work locally, pushed it up to a branch here: https://github.com/datastax/astra-sdk-java/tree/tests
The only thing to do would be to add the necessary secrets (under settings) and everything "should" work.

https://github.com/datastax/astra-sdk-java/pull/26/checks?check_run_id=3700530794


Integration Test - Release - 2019/03/09 00:50:47

Auto create for integration test. IssueCommandFlow

#pri1

Just type '#backlog'

#pri2

#backlog

#assign PRMergerTest1

#assign NonAllowedUser

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

#reassign PRMergerTest2

GitHub user PRMergerTest1 has been removed from the MicrosoftDocs organization, so they were automatically removed as an assignee.

GitHub user PRMergerTest1 has been removed from the MicrosoftDocs organization, so they were automatically removed as an assignee.

#reassign NonAllowedUser

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

#please-close


CBC solver regression: the exact same model solved on 7.0.6546 is proven infeasible in 7.5.7466

What version of OR-tools and what language are you using?
Version: 7.5.7466
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
CBC_MIXED_INTEGER_PROGRAMMING
What operating system (Linux, Windows, ...) and version?
mac, Darwin Kernel Version 18.7.0
What did you do?
I'm creating and solving a model with 7.0.6546.
I reach a solution after several seconds best objective 4110.8937 (best possible 3724.4987).
I saved it as MPS format (attached).
I then upgrade my version to 7.5.7466.
I execute the exact same code and model and get Result - Problem proven infeasible.
What did you expect to see
the same
bad_7.5.7466.mps.txt
good_7.0.6546.mps.txt

Are you sure it was feasible in the first place ?
Can you reproduce using the cbc binaries ?
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le jeu. 12 mars 2020 à 07:41, Ido Hadanny<EMAIL_ADDRESS>a
écrit :

What version of OR-tools and what language are you using?
Version: 7.5.7466
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP,
Gurobi)
CBC_MIXED_INTEGER_PROGRAMMING
What operating system (Linux, Windows, ...) and version?
mac, Darwin Kernel Version 18.7.0
What did you do?
I'm creating and solving a model with 7.0.6546.
I reach a solution after several seconds best objective 4110.8937 (best
possible 3724.4987).
I saved it as MPS format (attached).
I then upgrade my version to 7.5.7466.
I execute the same code and get Result - Problem proven infeasible.
What did you expect to see
the same
bad_7.5.7466.mps.txt
https://github.com/google/or-tools/files/4322654/bad_7.5.7466.mps.txt
good_7.0.6546.mps.txt
https://github.com/google/or-tools/files/4322657/good_7.0.6546.mps.txt
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/1919, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3IVMEHBWXP3R324OD3RHB72XANCNFSM4LGFNBZA
.

what do you mean by

reproduce with the CBC binaries?

is there some command line I can use to read and solve a MPS file?
because my application pre-processing is pretty complex and it's currently not-separable from the modeling API calls.

https://bintray.com/coin-or/download/Cbc/#files
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le jeu. 12 mars 2020 à 09:21, Ido Hadanny<EMAIL_ADDRESS>a
écrit :

what do you mean by
reproduce with the CBC binaries?
is there some command line I can use to read and solve a MPS file?
because my application pre-processing is pretty complex and it's currently
not-separable from the modeling API calls.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/1919#issuecomment-598062486,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3PKD4FTS3B4RVOMJODRHCLR7ANCNFSM4LGFNBZA
.

using the cbc command line I was able to solve both the bad file (produced by 7.5) and the good file (produced by 7.0)

which version of cbc did you use ?
they currently have a regression with the last stable version IIRC

https://github.com/coin-or/Cbc/issues/286

very strange. I downloaded 7.5 from https://github.com/google/or-tools/releases/download/v7.5/or-tools_MacOsX-10.15.2_v7.5.7466.tar.gz, and executed:
make build SOURCE=examples/cpp/solve.cc bin/solve --solver cbc --input /var/folders/d3/56thtyr57277cmw8fbs37cc9mcmv_3/T/tmpo2pwc2r8/bad_7.5.7466.mps --time_limit_ms 5000
and got:
Status      : MPSOLVER_FEASIBLE Objective   : 4.848683892999999e+03 BestBound   : 3.724498655000000e+03

so it works from the C++ API.
Is there some way I can do the same from the python API?

which version of cbc did you use ?
they currently have a regression with the last stable version IIRC
EDIT: see: coin-or/Cbc#286
And we bump it in v7.1 https://github.com/google/or-tools/releases/tag/v7.1

If the root cause is the CBC regression, this issue would affect not only Python, but also or-tools API in other languages (Java and C#).

@Mizux is this bug resolved?  Thanks.


Respect stop_on_penetration flag in ball-ball shape casting

This PR fixes a bug where cast_shapes_ball_ball ignored the stop_on_penetration flag and always returned a hit for separating intersecting balls.

Thanks!


[BUG] Remove include/exclude keys from codecs

Describe the bug
Several OutputCodec configurations have include or exclude key options. These should not exist.
Expected behavior
Remove old configurations from code, READMEs, and documentation (if applicable). Do for all OutputCodec implementations.

All the include_keys and exclude_keys configurations  are only in SinkModel. No need to make any changes in OutputCodec

Thank you for confirming that, @asifsmohammed !