bug: expectEmit and expectCall don't only check the next call

Component
Forge
Have you ensured that all of these are up to date?

[ ] Foundry
[ ] Foundryup

What version of Foundry are you on?
forge 0.2.0 (4fcd7e0 2022-05-26T00:08:37.693306Z)
What command(s) is the bug in?
forge test
Operating System
No response
Describe the bug
My understanding is that the expected behavior of expectEmit is "look for event in the next call" but it seems to actually be "look for expected event before the end of the test". And the docs are contradictory here—one part says it must be the "next event" (which seems to imply it needs to be the first event in the next call), another part says "before the end of the current function". Similarly issue for expectCall behavior.
To ensure tests are clear, I think expectEmit and expectCall should only look in the next call. Otherwise this can result in bugs where your event was emitted eventually in a later portion of your test, but not emitted at the time you expected it, and the test still passes.
Reproduce with this test:
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.13;

import "forge-std/Test.sol";

contract CallMe {
  function calling() public {}
}

contract MyContract {
  CallMe callMe;

  constructor(CallMe _callMe) {
    callMe = _callMe;
  }

  event MyEvent();
  event OtherEvent();

  function noEventOrCall() public {}

  function myEventAndCall() public {
    emit OtherEvent(); // Shows event order does not matter if only checking for MyEvent.
    emit MyEvent();
    callMe.calling();
  }
}

contract ExpectTest is Test {
  event MyEvent();
  CallMe callMe;
  MyContract myContract;

  function setUp() public {
    callMe = new CallMe();
    myContract = new MyContract(callMe);
  }

  // -------- expectEmit Tests --------

  function test_MyEvent() public {
    // Passes like expected.
    vm.expectEmit(true, true, true, true);
    emit MyEvent();
    myContract.myEventAndCall();
  }

  function test_NoEventOrCall() public {
    // Fails like expected.
    vm.expectEmit(true, true, true, true);
    emit MyEvent();
    myContract.noEventOrCall();
  }

  function test_EventuallyMyEvent() public {
    // Passes, but should fail, because expectEmit should only check the next call.
    vm.expectEmit(true, true, true, true);
    emit MyEvent();
    myContract.noEventOrCall();
    myContract.myEventAndCall();
  }

  // -------- expectCall Tests --------

  function test_Call() public {
    // Passes like expected.
    vm.expectCall(address(callMe), abi.encodeWithSelector(CallMe.calling.selector));
    myContract.myEventAndCall();
  }

  function test_NoCall() public {
    // Fails like expected.
    vm.expectCall(address(callMe), abi.encodeWithSelector(CallMe.calling.selector));
    myContract.noEventOrCall();
  }

  function test_EventuallyCall() public {
    // Passes, but should fail, because expectCall should only check the next call.
    vm.expectCall(address(callMe), abi.encodeWithSelector(CallMe.calling.selector));
    emit MyEvent();
    myContract.noEventOrCall();
    myContract.myEventAndCall();
  }
}

This is documented in the book and has always been the behavior. I'm not entirely sure if we should change it, but if we should, then this is definitely a breaking change and we should try to bundle it up with other breaking changes.

one part says it must be the "next event" (which seems to imply it needs to be the first event in the next call), another part says "before the end of the current function".

I don't think this is contradictory, but it might lead to some confusion that could be cleared up.

Assert a specific log is emitted before the end of the current function.

This is the overall usage for expectEmit - we use it to expect that a certain log is emitted anywhere in the current test function.
It then follows up:

Call the cheat code, specifying whether we should check the first, second or third topic, and the log data. Topic 0 is always checked.
Emit the event we are supposed to see before the end of the current function.
Perform the call.

This explains the call order: we call the cheatcode, we emit the event we expect, and then we perform a call that emits the event.
It then also goes on in an info box:

ℹ Ordering matters
If we call expectEmit and emit an event, then the next event emitted must match the one we expect.

This is essentially saying that if we call expectEmit, emit the event we expect and then some other part of our code emits a second event, then the second event must match the first.

I'm not entirely sure if we should change it, but if we should, then this is definitely a breaking change and we should try to bundle it up with other breaking changes.

If this is not a bug, do you know what the rationale was for this behavior originally? It feels like this provides minimal UX benefits, makes tests harder to read, and introduces greater risk of testing bugs, especially for e.g. long integration tests where the event might be emitted many txs after you declared to expect it. It also deviates from other frameworks where you specify the exact call/receipt emitting the event (see waffle (used in hardhat) and brownie).

It then also goes on in an info box:

ℹ Ordering matters
If we call expectEmit and emit an event, then the next event emitted must match the one we expect.

This is essentially saying that if we call expectEmit, emit the event we expect and then some other part of our code emits a second event, then the second event must match the first.

This is exactly the part of the docs that seem contradictory! 😅 Both "the next event emitted must match the one we expect" and "the second event must match the first" are not true. Ordering only matters in the sense that you must have vm.expectEmit(...); emit MyEvent(); first, and the event emission you're looking for can come any time after until the test ends. This test below passes, but I really think it should fail for the reasons above.
contract MyContract {
  event MyEvent();
  event OtherEvent();

  function noEvent() public {}

  function otherEvent() public {
    emit OtherEvent();
  }

  function myEvent() public {
    emit OtherEvent();
    emit MyEvent();
  }
}

contract ExpectTest is Test {
  event MyEvent();
  MyContract myContract;

  function setUp() public {
    myContract = new MyContract();
  }

  function test_EventuallyMyEvent() public {
    vm.expectEmit(true, true, true, true);
    emit MyEvent();
    myContract.otherEvent();
    myContract.noEvent();
    myContract.otherEvent();
    myContract.myEvent();
  }
}

From the description in the original PR (https://github.com/foundry-rs/foundry/pull/329) it does sound like it was supposed to only work for the next call:

After the call, if the expected events are found, it continues execution. Otherwise, if the expected logs aren't found, it reverts.

It's also possible it used to fail if not found in the next call, and a subsequent PR changed that. But yea we'll see what @brockelmore says 👍

Ye I believe things got switched around. I believe the reason it got changed was people seemed to like to just define a bunch of logs they expect at the beginning of the test then write the test like normal to improve readability. I.e.:
function logs() internal {
    vm.expectEmit(..);
    emit event(..);
    vm.expectEmit(..);
    emit event(..);
}

function testA() public {
    logs();
    // do normal test stuff that likely includes multiple calls & static calls
}

It may have also been because we were considering static calls in that group which was an even bigger footgun? I dont have strong preferences here, but we should filter out static calls if we change expectEmit


direct mapped (counters and meters) state when entries are added and removed

What is the status of direct meters and counters when entries get added and removed?

A couple of thoughts.
When a new table entry is added for a table that has a DirectCounter, I am assuming the corresponding counter state for that entry is initialized to 0.  Removing a table entry causes the corresponding counter state to be 'deallocated' and available for reuse, just as the table entry resources are.  I am assuming that P4Runtime API attempts to read DirectCounter state will return no useful data, and perhaps an error status, if you attempt to read such state for a table search key that isn't currently in the table (corrections welcome on that point if someone is planning otherwise).
The only subtle point I can think of regarding this is: What if the control plane cares about getting the last value of the counter, including all matches of the corresponding table entry up until the moment it was removed?
If the control plane only cared about getting "a recent value of the counters" before the table entry is removed, it can read the counter state, then remove the table entry, and if there were a few (or millions) of counter updates in between those times, the control plane doesn't care.
If the control plane wants to guarantee that it can atomically delete the table entry and get the most up to date value of the counter up until the instant the table entry was removed, that sounds like it requires some special driver/runtime support to get it right, and perhaps even a special P4Runtime API call that hasn't been defined yet.
For DirectMeter, I doubt the control plane cares about the transient state of the meter (e.g. number of bytes that the meter will color green/yellow before it starts returning red) except for very timing-sensitive debug purposes, and would be a little surprised if someone wants a P4Runtime API to read this transient state.  If so, then the DirectCounter "atomic table_delete & read counters" issue above isn't applicable for DirectMeter at all.
There is an issue for DirectMeter where the control plane may want to specify what the default meter parameters, e.g. committed/peak rates and burst sizes, are for a newly added table entry, after which the control plane could change those values after creating the table entry.  Perhaps someone might want an operation to atomically "create table entry and initialize meter parameters", but that sounds like something that isn't in P4Runtime API yet, and maybe not even planned.

The ability to specify default meter rates for a direct meter when adding an entry is definitely planned, as I mentioned here: https://github.com/p4lang/PI/issues/177. Adding the initial direct resource configuration to the TableEntry message will let the control plane express that it wants this to be done atomically. What is yet TBD is whether a target unable to apply this atomically at the packet level should return an error or "do its best".
As for the "read counters & delete", we could consider adding something like this if someone can provide a real-world use case where it would be valuable. I am a little doubtful that hardware would support that.

I don't know whether anyone cares enough to push for the 'atomic read counters & delete table entry' use case, either.  I only mentioned it because without that operation, there doesn't seem to be much required for DirectCounter other than the operations already proposed in the P4Runtime API, i.e. independent table delete and counter read operations.
In case somebody did want such an operation, an implementation technique for that operation could be:

mark a TCAM/hash-table/etc. table entry in the data plane as 'invalid' before actually deleting it, so it no longer can be matched by any packets
if necessary, wait a little bit until all 'in flight' counter updates take effect (implementation-specific exactly how long to wait, or to take advantage of any 'flush' operation to guarantee in flight updates have taken effect)
read the final value of the counter state
deallocate the TCAM/hash-table/etc. table entry resources, making it available for reuse by a newly added table entry

TCAM/hash-table/etc. valid bits are pretty normal stuff, which is why I suspect it would more typically be a driver software issue than a hardware issue, but wouldn't be surprised if some hardware left out just the right knob to make it all work.  Plus it would almost certainly be a lower performance operation than removing a table entry without going through the extra steps.

Your implementation technique makes a lot of sense to me. Still pretty sure no one would be interested in an exact count. Would not be very hard to modify P4Runtime to support this, but I do not think it is worth it at this stage.

@jnfoster where do we stand on this issue?

I was happy with what @jafingerhut proposed:

When a new table entry is added for a table that has a DirectCounter, I am assuming the corresponding counter state for that entry is initialized to 0. Removing a table entry causes the corresponding counter state to be 'deallocated' and available for reuse, just as the table entry resources are.

The "read and delete" operation would be cool, and OpenFlow supposedly supported it for counters, although I wonder whether implementations did it on the nose.


$ is undefined error on https://auth.hasgeek.com/login

This is the HTML content I get if I clear my cookies and open auth.hasgeek.com/login: https://gist.github.com/captn3m0/1d037f82e28440005413
jQuery is being loaded after the baseframe forms template, which tries to use jQuery, screwing up with things.
Google Chrome 47.0.2522.1 (Official Build) dev (64-bit)

We are rendering the ajaxform JS code twice, the first time before baseframe is loaded and one again after. First one was always failing, but we didn't notice because the second one worked.
We should remove it from here - https://github.com/hasgeek/lastuser/blob/6bca3f4b0413b38f060bbfa2cbb4cc45c28ed625/lastuser_oauth/templates/forms/loginform.html#L13
and leave this one - https://github.com/hasgeek/lastuser/blob/6bca3f4b0413b38f060bbfa2cbb4cc45c28ed625/lastuser_oauth/templates/login.html#L50

Removing it in loginform.html will break here: https://github.com/hasgeek/lastuser/blob/6bca3f4b0413b38f060bbfa2cbb4cc45c28ed625/lastuser_oauth/views/login.py#L67
We need to flag it instead so the line is skipped when loginform.html is included in login.html. The correct approach will be to (a) move the markup into a macro (minus the ajax setup), (b) call the macro from both loginform.html and login.html, and (c) avoid using an include to join templates, as includes lead to situations like this.


Hubot On Kik Through Microsoft

Hubot is not responding in Kik with hubot-epichal module. The logs show that the bot is learning "Hello" and various phrases and words but it never replies. Script responses work perfectly. Hubot will respond to messages from various chats but it never seems to listen to any chat on Kik that it's been invited too. It is not actually listening except for its private chat with me. Announce.coffee will not message assigned chats on Kik. Pubsub, rss poller and any scripts that use a room number or subscription fail on Kik. Finally, the bot only posts urls of images and not the image on Kik.

So if I am understanding it correctly, you are able to do one to one chat with your hubot but you are not receiving messages on Kik group?

Are you still facing this issue? If yes let me know.


Compartments CPU (release) vs GPU (release) Spike Times Deviation

The issue was revelead by Compartments spikeTimesCPUvsGPU test.
The issue occurs at some, but not all timesteps.
CPU + release, CPU + debug, and GPU + debug modes all produce the same spike times when running compartment models. The GPU + release mode, however, deviaties from the other three models.
Overview of the issue:
The GPU release mode seems to suffer from occassional calculation 'errors' that slowly snowball out of control. The cause of these calculation 'errors' has not been determined.
More in depth look:
The deviation is first evident in regard to voltage values then recovery & current variables.
The deviation slowly increases in size, eventually resulting in deviation between spike times.
The deviation in voltage values begins early on (within first 100ms).
The GPU release voltage values deviate from GPU debug voltage.
The CPU release voltage and CPU debug voltage do not deviate.
Print statements in GPU release mode seem to affect the reported values.
This is not the case in GPU debug mode.
Attempted:
Equating different optimization flags between debug & release modes for both C/C++ and CUDA C/C++.
https://devtalk.nvidia.com/default/topic/551571/different-results-when-using-gpu-debug-option-g-/?offset=6
https://www.researchgate.net/post/Debug_mode_VS_release_mode_in_visual_studio
https://devtalk.nvidia.com/default/topic/670121/release-and-debug-modes-on-cuda-5-0/
Disabling FMAD:
https://stackoverflow.com/questions/14552576/disabling-fused-multiply-add-in-cuda-under-visual-studio-2010
Potential Causes:

Race condition?
???

@staslist an update on this is that I am not seeing any spikeTimesCPUvsGPU test fail in "test/compartments.cpp" or "test/stp.cpp" in CARLsim6 using Ubuntu 21.10 with an Intel 12900KS CPU and NVidia RTX 3090 GPU. Perhaps this means this bug has been resolved in CARLsim6? If the test is still failing in CARLsim4 then this issue could stay open for that version.

I'm just going thru old CARLsim issues, and just as a coincidence I currently debugging this in CARLsim6. We hadn't had this compartments.cpp in the test suite since CARLsim4 and if you add it back in, like I'm trying to do in CARLsim6, it will FAIL tests:

The tolerance of spike time differences is 1ms, but the worst I can see is 3ms, and most are 2ms... Going to continue looking into it :)


Document the example of custom cni config for RKE clusters

In RKE - Rancher provisioned - clusters you can disable its default cni plugin and install your custom one instead. We've only documented the disable part https://github.com/rancher/docs/pull/1292/files. Would be nice to include an example of passing your own config.
Per @Oats87 cni manifest can be simply provided via addons section in cluster.yaml (cluster->edit as yaml)

Tested the custom cni in Rancher:v2.2.4
Steps:

run Rancher:v2.2.4 container
add a new cluster using EC2
edit as YAML
change the network section from

network:
  options:
    flannel_backend_type: "vxlan"
  plugin: "canal"

to
network:
    plugin: none

add the following addons section

addons: |-
    ---
    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: flannel
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: flannel
    subjects:
    - kind: ServiceAccount
      name: flannel
      namespace: kube-system
    ---
    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      nae: flannel
    rules:
      - apiGroups:
          - ""
        resources:
          - pods
        verbs:
          - get
      - apiGroups:
          - ""
        resources:
          - nodes
        verbs:
          - list
          - watch
      - apiGroups:
          - ""
        resources:
          - nodes/status
        verbs:
          - patch
    ---
    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: kube-flannel-cfg
      namespace: "kube-system"
      labels:
        tier: node
        app: flannel
    data:
      cni-conf.json: |
        {
          "name":"cbr0",
          "cniVersion":"0.3.1",
          "plugins":[
            {
              "type":"flannel",
              "delegate":{
                "forceAddress":true,
                "isDefaultGateway":true
              }
            },
            {
              "type":"portmap",
              "capabilities":{
                "portMappings":true
              }
            }
          ]
        }
      net-conf.json: |
        {
          "Network": "<IP_ADDRESS>/16",
          "Backend": {
            "Type": "vxlan"
          }
        }
    ---
    apiVersion: extensions/v1beta1
    kind: DaemonSet
    metadata:
      name: kube-flannel
      namespace: "kube-system"
      labels:
        tier: node
        k8s-app: flannel
    spec:
      template:
        metadata:
          labels:
            tier: node
            k8s-app: flannel
        spec:
          affinity:
            nodeAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                  - matchExpressions:
                    - key: beta.kubernetes.io/os
                      operator: NotIn
                      values:
                        - windows
          serviceAccountName: flannel
          containers:
          - name: kube-flannel
            image: rancher/coreos-flannel:v0.10.0-rancher1
            imagePullPolicy: IfNotPresent
            resources:
              limits:
                cpu: 300m
                memory: 500M
              requests:
                cpu: 150m
                memory: 64M
            command: ["/opt/bin/flanneld","--ip-masq","--kube-subnet-mgr"]
            securityContext:
              privileged: true
            env:
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            volumeMounts:
            - name: run
              mountPath: /run
            - name: cni
              mountPath: /etc/cni/net.d
            - name: flannel-cfg
              mountPath: /etc/kube-flannel/
          - name: install-cni
            image: rancher/flannel-cni:v0.3.0-rancher1
            command: ["/install-cni.sh"]
            env:
            # The CNI network config to install on each node.
            - name: CNI_NETWORK_CONFIG
              valueFrom:
                configMapKeyRef:
                  name: kube-flannel-cfg
                  key: cni-conf.json
            - name: CNI_CONF_NAME
              value: "10-flannel.conflist"
            volumeMounts:
            - name: cni
              mountPath: /host/etc/cni/net.d
            - name: host-cni-bin
              mountPath: /host/opt/cni/bin/
          hostNetwork: true
          tolerations:
          - operator: Exists
            effect: NoSchedule
          - operator: Exists
            effect: NoExecute
          - key: node.kubernetes.io/not-ready
            effect: NoSchedule
            operator: Exists
          volumes:
            - name: run
              hostPath:
                path: /run
            - name: cni
              hostPath:
                path: /etc/cni/net.d
            - name: flannel-cfg
              configMap:
                name: kube-flannel-cfg
            - name: host-cni-bin
              hostPath:
                path: /opt/cni/bin
      updateStrategy:
        rollingUpdate:
          maxUnavailable: 20%
        type: RollingUpdate
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: flannel
      namespace: kube-system

Result:

the cluster is up successfully
connectivity tests are also passed
viewing the cluster in API, we can see the above two customizations applied to the rancherKubernetesEngineConfig

I had trouble with merge conflicts so I created another PR to continue work on this issue https://github.com/rancher/docs/pull/1675

Closing this issue because #1675 was merged


I have saved the coordinates of drawing from last session how can i redraw the old drawing and start from where i left the session last time.

I have saved the object that is available on the code button click. How can i redraw the old drawing and start from where i left the session last time.

CanvasDesigner. syncData( database.arrayOfData );

https://github.com/muaz-khan/Canvas-Designer/blob/master/canvas-designer-widget.js#L52

Which actually sets global points array-object:

https://github.com/muaz-khan/Canvas-Designer/blob/master/share-drawings.js#L15

Hello Muaz khan,
Thanks for nice app.
(1) I have one issue:
When I save the object that is available on the code button click

and use that in
CanvasDesigner. syncData( database.arrayOfData );
The shape is drawn but color and drawing style is not preserved.
(2) I can save whiteboard screenshot as image.  Is there any way we can draw image from a web url that was saved?
Thanks
Bhanu


[Dev Issue]The theme parameter in the request of handleTeamsMessagingExtensionConfigurationQuerySettingUrl is missing?

Hi Team,
Recently we found that:
The theme parameter in the request of handleTeamsMessagingExtensionConfigurationQuerySettingUrl is missing.
As we know, it is existing before. Is this a new change for Teams?
Thanks!

Duplicate of https://github.com/MicrosoftDocs/msteams-docs/issues/1957.


Yaz compression in python has abysmal performance

Using PyPy improves this by quite a lot, although the Python code still takes more time than GCC overall.


Update release-notes.md

Added new entry for upcoming changes to Defender for APIs support for multi-regional gateways & API revisions

#sign-off

@dcurwin
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


CI uses actions/checkout@v2 which uses node12 which is deprecated

https://github.com/huggingface/candle/actions/runs/10254523501


[FLINK-4385] [table] Union on Timestamp fields does not work

Thanks for contributing to Apache Flink. Before you open your pull request, please take the following check list into consideration.
If your changes take all of the items into account, feel free to open your pull request. For more information and/or questions please refer to the How To Contribute guide.
In addition to going through the list, please provide a meaningful description of your changes.

[X] General

The pull request references the related JIRA issue ("[FLINK-XXX] Jira title text")
The pull request addresses only one issue
Each commit in the PR has a meaningful commit message (including the JIRA id)

[ ] Documentation

Documentation has been added for new functionality
Old documentation affected by the pull request has been updated
JavaDoc for public methods has been added

[X] Tests & Build

Functionality added by the pull request is covered by tests
mvn clean verify has been executed successfully locally or a Travis build has passed

This PR fix the problem mentioned in JIRA. The reason is that it will call estimateRowSize and encounter type mismatch for temporal types in batch mode.
Another fix is the IntervalTypeInfo's Comparator instantiation, the constructor of TypeComparator should be boolean.

@wuchong Thanks for the fix! Will merge...


Routes first letter capitalized

Hi, I have issue with one of my route. Route name is "dashbaord" but when i console it after parse "'ROUTES', this.localize.parser.routes" this shows path: "Dashboard".
Can anybody help me

Hi @kamilrehman, sorry for late reply.
In order to help you, I would need to see your router configuration.
If you fixed this in the meantime, please close this issue.


remove HACBS prefix from build def, L68-71

@jencull thanks for opening this PR - the changes for the parse_hacbs_test_output call will also need to be done in the following files:

sast-snyk-check.yaml
sast-go.yaml
sast-java-sec-check.yaml

/ok-to-test


fix: run terraform fmt for pull_request and pull_request_target events

Issue https://github.com/suzuki-shunsuke/github-action-format/issues/582 has been raised for this

Thank you for your contribution!

CI failed but this has nothing to do with this change.
I'll take a look.
Run tibdex/github-app-token@021a2405c7f990db57f5eae5397423dcc554159c
Error: Error: Input required and not supplied: app_id

CI failed but this has nothing to do with this change. I'll take a look.
https://github.com/suzuki-shunsuke/github-action-format/actions/runs/7664987367/job/20890275813?pr=583
Run tibdex/github-app-token@021a2405c7f990db57f5eae5397423dcc554159c
Error: Error: Input required and not supplied: app_id

Oh, I see. CI failed because pull requests from fork repositories can't access secrets.
I'll fix this issue later.

Unfortunately, I can't push commits to this pull request.
But I'd like to add this change. f1f7815ea8a0c1d8626501fc6b05f54685c4a6bf

https://github.com/suzuki-shunsuke/github-action-format/pull/586


document app shortcut - how to use with utils like tasker

idea would be "new voice note" double tap power button


Joining Teams Meeting with Azure Communication service fails

Initially was able to connect to a teams meeting using the sample and it worked fine. However, after trying continuously , unable to connect with teams meeting call. Tried regenerating the keys however call ends. Call end reason: code: 403, subcode: 5222

Please make sure that you have enabled your ACS resource to use Teams interoperability. https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR21ouQM6BHtHiripswZoZsdURDQ5SUNQTElKR0VZU0VUU1hMOTBBMVhESS4u


Issue: events not sent with timestamp in iso-date format, after setting syslog iso-date enabled

Environment

Telemetry Streaming Version: 1.17
BIG-IP Version: <IP_ADDRESS>

Summary
Setting my syslog properties to iso-date=enabled
My local logs then have the proper timestamp format:
2021-03-01T18:27:22.730+01:00 <hostname_masked> info audit_forwarder[30858]: audit_forwarder started.
Events sent through Telemetry Listener -> Generic_HTTP still use the previous timestamp (default) format, not the new one.
Restarted restnoded, issue persists.
Ref: https://github.com/F5Networks/f5-telemetry-streaming/issues/4
Steps To Reproduce
Steps to reproduce the behavior:
tmsh modify sys syslog iso-date enabled
bigstart restart restnoded

Expected Behavior
Events' timestamp sent by consumers should be in iso format (local logs have it in that format).
Actual Behavior
No change in timestamp format
Output from a tcpdump:
      POST /event HTTP/1.1
       content-type: application/json
       x-api-key: blob
       User-Agent: f5-telemetry/1.17.0
       host: <masked>
       content-length: 264
       Connection: close

       {"data":"<133>Mar  2 01:11:02.960 <hostname_masked> notice icrd_child[25844]: 25844,25967,    iControl REST Child Daemon,WARNING,[api-status-warning]: ltm/pool: no status; properties: deprecated: ltm/pool/autoscale-group-id","telemetryEventCategory":"event"}

@amolari I suggest filing an F5 support case about iso-date not applying to remote syslogs. As for Telemetry Streaming, we could convert this issue over to a feature request for an option to overwrite the timestamp of syslog events if you are interested in that.


Managing an existing subnet/VNet

After deleting a SQL Managed Instance, it takes upwards of a week for the underlying virtual cluster and network intent policy to be cleaned up allowing deletion of the associated networking resources. I did not see this mentioned in this article or the creating new vnet/subnet for MI. Is this mentioned elsewhere and I have missed it or can this be added to further the understanding of how Azure SQL M-I manages the associated networking resources and set expectations for related resource cleanup?

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

ID: 6b036445-58f3-bd8e-103e-17c60041a545
Version Independent ID: fa53a263-a15a-2449-207a-51b59afbec4c
Content: Configure an existing virtual network for Azure SQL Database Managed Instance
Content Source: articles/sql-database/sql-database-managed-instance-configure-vnet-subnet.md
Service: sql-database
Sub-service: managed-instance
GitHub Login: @srdan-bozovic-msft
Microsoft Alias: srbozovi

@cogran Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate. @CarlRabeler for awareness.

@cogran Deletion of the virtual cluster takes 12 hours by design to allow faster deployment of subsequent managed instances. If you navigate to the particular virtual cluster in portal, you can manually delete it being effective immediately and releasing VNet resources. You can also automate deletion of virtual cluster through using the API. Note that prerequisite to delete virtual cluster is that it contains no managed instances. Hope this helps. Thanks.

@stevestein for awareness

This information is now published on how-to pages: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance-delete-virtual-cluster

We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Persist Lustre mounts on monitored installs

When setting up a monitored install using the vagrant provisioning scripts:
configure-lustre-network,create-ldiskfs-fs,create-ldiskfs-fs2,mount-ldiskfs-fs,mount-ldiskfs-fs2

The mounts will live until the nodes are rebooted. Once the nodes are rebooted the targets will no longer be mounted, which results in the following:

To ensure that the mounts persist between reboots a new script needs to be added for both monitored ldiskfs and zfs such that the mounts are managed by HA. The integration tests should use this new provisioning script to ensure the mounts persist between reboots.

To be clear, we should pursue https://github.com/whamcloud/integrated-manager-for-lustre/issues/1777 instead of this one.
That means, we should not have a provision that does automated testing without HA.


add replaceOne()

found this nice and simple wrapper but i lacked the option of replaceOne(), so here you go :)

Can you add bulkWrite() ?


c/C command variable indexes flipped

The curve command has the first control point in x2/y2 instead of x1/y1 and vice-versa. The expected naming is the same as the SVG standard ( https://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands ). It's not even consistent with the smooth curve command where the second control point is (correctly) in x2/y2.

Probably due to the way it is parsed and the fact the definition set x and y at the end of the C commands.
https://github.com/nfroidure/SVGPathData/blob/master/src/SVGPathDataParser.js#L233-L248
I have nothing against changing this to fit the standard naming and would merge a PR doing so. It would require a major version bump though.

Fixed by commit https://github.com/nfroidure/SVGPathData/commit/0ea315275a25006eceb18423c7ceb756f92cc793 .


feat: filters preset

Changes

Save filter preset
Load filter preset
Delete filter preset
Refactor resource filters

Screenshots

Checklist

[x] tested locally
[ ] added new dependencies
[ ] updated the docs
[ ] added a test

There is a problem with styling the background as seen in the screenshot:

The kind selector is broken as seen in this recording
https://user-images.githubusercontent.com/7761005/170243808-a801cfdb-b492-4bba-8156-c3176b16ce35.mov

A bit a product nitpick but does it make sense to allow them to "Save" an empty filter?


exported settings from v5.107 (alpha) cannot be imported into v5.007 ff

Trying to import exported settings from v5.107 (alpha) into v5.007 leads to "Import failed | Failed to import any settings from primary:com.fsck.k9/settings.k9s". Reinstalling v5.107 imports fine. Any changes in export/import format?

The format didn't change, but the contents. I created issue #1092 to allow importing settings from newer K-9 Mail versions.
In the future please use the mailing list for questions or support requests.

Hi,
Thx for clarification, relying on your answer I downgraded the version number in the .k9s file and imported it successfully.
Cheers, hakaz aka Harald Kastner
BTW: Why did you consider my issue a request for the mailing list rather than an issue?
--
Integrale Praxis | haiden + kastner GnbR
Ing. Harald Kastner
Unternehmensberater, Dipl. Erwachsenenbildner,
Integraler Coach, Geschäftsführender Gesellschafter
A: Pappenheimgasse 39, 1200 Wien, Austria
T: +43 (0)1 334 47 08
F: +43 (0)1 334 47 17
M: +43 (0)676 391 42 00
E<EMAIL_ADDRESS>W: www.integralepraxis.at - blog.integralepraxis.at
I: www.integralepraxis.at/impressum.html
-------- Original Message --------
From: cketti<EMAIL_ADDRESS>Sent: February 13, 2016 8:45:41 AM GMT+01:00
To: k9mail/k-9<EMAIL_ADDRESS>Cc: hakaz<EMAIL_ADDRESS>Subject: Re: [k-9] exported settings from v5.107 (alpha) cannot be imported into v5.007 ff (#1085)
Closed #1085.

Reply to this email directly or view it on GitHub:
https://github.com/k9mail/k-9/issues/1085#event-549372381


Add xtend to dependencies in package.json.

If npm install --production is used to build the through2-reduce package, xtend isn't installed as a dependency. xtend is required by the library unconditionally, and attemping to require("./through2-reduce"); fails with an error with the current package.json if the dependencies are installed with the --production flag:
$ npm --version
2.14.4
$ npm install --production
<EMAIL_ADDRESS>node_modules/through2
├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>$ cd ..
$ node
> through2_reduce = require("./through2-reduce");
Error: Cannot find module 'xtend'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:286:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/kacarstensen/through2-reduce/index.js:7:13)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
>

Moving xtend into the main dependencies object resolves this issue:
$ git diff package.json
diff --git a/package.json b/package.json
index 9381d74..5910734 100644
--- a/package.json
+++ b/package.json
@@ -28,11 +28,11 @@
     "isnumber": "~1.0.0",
     "stream-spigot": "~3.0.5",
     "tape": "~4.0.0",
-    "terminus": "~1.0.12",
-    "xtend": "~4.0.1"
+    "terminus": "~1.0.12"
   },
   "dependencies": {
-    "through2": "~2.0.0"
+    "through2": "~2.0.0",
+    "xtend": "~4.0.1"
   },
   "homepage": "https://github.com/brycebaril/through2-reduce"
 }
$ npm install --production
<EMAIL_ADDRESS>node_modules/xtend

<EMAIL_ADDRESS>node_modules/through2
└──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>$ cd ..
$ node
> reduce = require("./through2-reduce");
{ [Function: make]
  ctor: [Function: ctor],
  objCtor: [Function: objCtor],
  obj: [Function: obj] }

Oops! Thanks for the fix!
Pushed as v1.1.1

Thanks for the quick response. :)


Synthesis failed for Google.Cloud.Retail.V2Beta

Hello! Autosynth couldn't regenerate Google.Cloud.Retail.V2Beta. :broken_heart:
Here's the output from running synth.py:
2020-10-13 08:42:51,043 autosynth [INFO] > logs will be written to: /tmpfs/src/logs/Google.Cloud.Retail.V2Beta
2020-10-13 08:42:51,500 autosynth [DEBUG] > Running: git config --global core.excludesfile /home/kbuilder/.autosynth-gitignore
2020-10-13 08:42:51,503 autosynth [DEBUG] > Running: git config user.name yoshi-automation
2020-10-13 08:42:51,506 autosynth [DEBUG] > Running: git config user.email<EMAIL_ADDRESS>2020-10-13 08:42:51,509 autosynth [DEBUG] > Running: git config push.default simple
2020-10-13 08:42:51,512 autosynth [DEBUG] > Running: git branch -f autosynth-Google.Cloud.Retail.V2Beta
2020-10-13 08:42:51,515 autosynth [DEBUG] > Running: git checkout autosynth-Google.Cloud.Retail.V2Beta
Switched to branch 'autosynth-Google.Cloud.Retail.V2Beta'
2020-10-13 08:42:51,705 autosynth [DEBUG] > Running: git rev-parse --show-toplevel
2020-10-13 08:42:51,709 autosynth [DEBUG] > Running: git log -1 --pretty=%H
2020-10-13 08:42:51,713 autosynth [DEBUG] > Running: git remote get-url origin
2020-10-13 08:42:52,095 autosynth [DEBUG] > Running: git log 313658e93f338fc68f056bb43b22b1832c578150..HEAD --pretty=%H --no-decorate
2020-10-13 08:42:52,099 autosynth [DEBUG] > Running: git log -1 --pretty=%at 313658e93f338fc68f056bb43b22b1832c578150
2020-10-13 08:42:52,103 autosynth [DEBUG] > Running: git checkout 5eacb8b0c476d1bcd1df4690d4b7d673bc330306
Note: checking out '5eacb8b0c476d1bcd1df4690d4b7d673bc330306'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 5eacb8b0c Add option for a smoke test to be skipped
2020-10-13 08:42:52,121 autosynth [DEBUG] > Running: git checkout 313658e93f338fc68f056bb43b22b1832c578150
Note: checking out '313658e93f338fc68f056bb43b22b1832c578150'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 313658e9 Smart Device Management API v1 clean up
2020-10-13 08:42:52,135 autosynth [DEBUG] > Running: git branch -f autosynth-Google.Cloud.Retail.V2Beta-1
2020-10-13 08:42:52,139 autosynth [DEBUG] > Running: git checkout autosynth-Google.Cloud.Retail.V2Beta-1
Switched to branch 'autosynth-Google.Cloud.Retail.V2Beta-1'
2020-10-13 08:42:52,157 autosynth [INFO] > Running synthtool
2020-10-13 08:42:52,158 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-10-13 08:42:52,158 autosynth [DEBUG] > log_file_path: /tmpfs/src/logs/Google.Cloud.Retail.V2Beta/1/sponge_log.log
2020-10-13 08:42:52,160 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --
2020-10-13 08:42:52,380 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/google-cloud-dotnet/apis/Google.Cloud.Retail.V2Beta/synth.py.
On branch autosynth-Google.Cloud.Retail.V2Beta-1
nothing to commit, working tree clean
Skipping microgenerator fetch/build: already built, and running on Kokoro
Building existing version of Google.Cloud.Retail.V2Beta for compatibility checking
Generating Google.Cloud.Retail.V2Beta
Running pre-generation script for Google.Cloud.Retail.V2Beta
generateapis.sh: line 195: ./pregeneration.sh: Permission denied
2020-10-13 08:42:56,375 synthtool [ERROR] > Failed executing /bin/bash generateapis.sh --check_compatibility Google.Cloud.Retail.V2Beta:

None
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/google-cloud-dotnet/apis/Google.Cloud.Retail.V2Beta/synth.py", line 26, in <module>
    hide_output = False)
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '('/bin/bash', 'generateapis.sh', '--check_compatibility', 'Google.Cloud.Retail.V2Beta')' returned non-zero exit status 1.
2020-10-13 08:42:56,415 autosynth [ERROR] > Synthesis failed
2020-10-13 08:42:56,415 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 5eacb8b0c Add option for a smoke test to be skipped
2020-10-13 08:42:56,437 autosynth [DEBUG] > Running: git checkout autosynth-Google.Cloud.Retail.V2Beta
Switched to branch 'autosynth-Google.Cloud.Retail.V2Beta'
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 706, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 541, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 686, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 375, in synthesize_loop
    has_changes = toolbox.synthesize_version_in_new_branch(synthesizer, youngest)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 273, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Pretty sure this is just me failing to set the executable bit... sorting.

Autosynth passed, closing! :green_heart:


Drapping entity on vertical surface

Hi everyone,
I'm using entity API to drap polygons on 3D tileset with image, color, stripe ect...
Entity API works well 95% of the time, but issues append when I try to drap polygon on vertical surface as entities are vertical projection of ellipsoid :
sandcastle demo
I know we can use classification, but it restrains the material possibilities (only unique color work).

Is there a known way to drap polygon with material on vertical surface ?
If not I think this could be a great feature !

@srothst1

Hi @Baratier. I don't believe polygon entities are designed to work vertically. Instead you could use a wall entity. You could also try using the primitive API directly if you need more control.

Closing this due to inactivity.


Fix and enable 3D viewer

PR Checklist

Please check all that apply to this PR using "x":

[x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
[x] I have checked that this PR does not introduce a breaking change
[ ] This PR introduces breaking changes and I have provided a detailed explanation below

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting)
[x] Refactoring (no functional changes)
[ ] Documentation changes
[ ] Other - Please describe:

Changes

Fix 3d viewer styles: see #4035
Fix minor warnings from three.js
Remove deprecated themes
Fix #4074

Other information
Test this if you can, just to make sure everything works as  expected.

Thanks for starting on this @btzr-io
When I try lbry://@mime#6/obj#6, it looks like it tries to render the video player instead of the 3d viewer.
I think https://github.com/lbryio/lbry-desktop/blob/master/ui/redux/selectors/content.js#L190-L192 needs to be moved to the top of the that function. I think application/octet-stream is catching for some 3d files.

Yea that metadata is before we had the proper one for 3d files. I'd worry less about that one and test with more recent stl /obj samples.

Alright. It worked for other files so I think this is good.

When I try lbry://@mime#6/obj#6, it looks like it tries to render the video player instead of the 3d viewer.

This issue is not exclusive to 3D files, https://github.com/lbryio/lbry-desktop/issues/4075
I'm still not sure why the app forces application/octet-stream files to render as video:
https://github.com/lbryio/lbry-desktop/blob/eaca77d39430fa6f64af054ac3705c687935c18f/ui/constants/claim.js#L14


Sounds

Sounds should be added on major events:

Checkpoints
Course completion
New records

These should respect quiet mode, and be configurable to support all server versions.

Sounds have had a complete rewrite in 6.0 and are now entirely configurable.
Sound Events include:

Second Increment
Second Decrement
Player Death
Checkpoint Achieved
Course Finished
Course Failed

Each can be enabled / disabled, the sound can be changed (also supports legacy names using XSounds) and the Volume and Pitch can be changed. Each respect the player's quiet mode status.


consul should not 'leave' for init script 'stop' action

When consul is provided with the leave subcommand, the node is removed from the cluster. This requires that the cluster be added back in at reboot with a join action. This breaks expected behavior for the service, in which the node automatically rejoins the cluster upon service start. A more acceptable init-style script behavior would be to kill the consul process so it does not remove itself from the cluster.

I think I agree. That init script was probably stolen from
https://gist.github.com/stojg/d0d96a123761830c0ff1
Can you PR?

After working more with consul, there are other considerations. When
acting as an agent publishing a service, it is safe and preferred to
cleanly 'leave' the cluster. When acting as a server, we don't want to
'leave' unless done so administratively. With sysvinit on Linux, we can
use /etc/sysconfig/consul (Red Hat) or /etc/defaults/consul (Debian) to
set a stop behavior variable to select the appropriate one depending
upon the 'server' parameter in the puppet init class.
I'll put some thought into it at work tomorrow.
Thanks,
Chad

Would consul leave on a server cause the other servers to decrease the expected number of servers w.r.t quorum calculations? That would be somewhat scary.

It appears that the bootstrap-expect is a "maybe" condition if no raft data has been initilized. If you've already bootstrapped, then it will be ignored. The expect/quorum is managed dynamically based on the number of hosts in the cluster. We've been playing with a Vagrant build of a 3 server cluster and ran into issues that led us to recognize this behavior.  A leader can be elected with the remaining two hosts, due to the time-based elections, but they will not expect a 3rd until you re-start and re-join.
We've run into issues with using bootstrap-expect to elect leaders at all and have needed to manually bootstrap the cluster. This closed bug plagues us now: https://github.com/hashicorp/consul/issues/370. Here's the comment that is telling for us:

All of the server nodes ever leaving is not considered a
standard operating case. The servers are long running, and if
you expect to run more than one for HA, it is an outage
scenario if only one is running. In the case of all the
machines losing power / failing, when they start up it will
automatically heal. In the case of all nodes leaving the
cluster and shutting down, that is not considered a normal
mode of operation.

Recovery for this: https://www.consul.io/docs/guides/outage.html
If all three servers have 'left' the cluster, recovering from this logically forced outage isn't as simple as clearing out the peers.json file. Leaders can't be elected, and the KV data is effecively lost. Perhaps it is because the nodes are not in a boostrap mode any more. Who knows. We have found that sending SIGKILL the consul service preserves its state, at least to the capability that the nodes can rejoin the cluster without losing information.
From a pragmatic position, it is better for a 'server' process to 'die' rather than 'leave'. For agent services, it's a different story.

I'm down with this. The upstream upstart scripts don't leave
https://github.com/hashicorp/consul/tree/0c7ca91c74587d0a378831f63e189ac6bf7bab3f/terraform/aws/scripts
@runswithd6s if you make a PR I would accept it or I will do it myself.

Ok. We're almost done with the investigation spike. I'll talk to our team to see if I can carve out some time to do it.


Register RRID for the archive (and possibly other resources)

I do not see why e.g. hub. should not have its own RRID
RRID might be required at the level of a dataset to describe its origins

we did
https://www.re3data.org/repository/r3d100013638


calling assign_attributes updates has many nested relations

my model in short:
class Event
  ...
  has_many :dates, class_name: 'EventDate'
  accepts_nested_attributes_for :dates, allow_destroy: true
  ...
end

when i perform assign_attributes modifying some data like this (the time has changed for date at index 0):
params = { "dates_attributes"=>{"0"=>{"starts_at"=>"2015-04-30 20:01", "_destroy"=>"0", "id"=>"553a063469702d0741050000" }}}
event.assign_attributes params

the change is persisted to the database which is unexpected
MOPED: <IP_ADDRESS>:27017 UPDATE       database=xxxx_development collection=event_dates selector={"_id"=>BSON::ObjectId('553a063469702d0741050000')} update={"$set"=>{"starts_at"=>2015-04-30 18:01:00 UTC}} flags=[]

and actually doing it with the setter does the same event.dates_attributes = ...
this is quite dangerous

What is the expected behavior? That it will only persist to the database after calling #save?

that would make sense even if i suppose it has a link with relations and that the subject is not as simple as it seemed to me in the first place
but that's my point. we're usually assigning nested attributes for form purposes and persisting something before actually calling save or update is quite unexpected


What classes need to change to adapt the login/register to small screens like iPhone?

I am learning bootstrap and trying to modify the classes you used to make the login page responsive to small screens. With current classes in your example, the login/register form does not adapt to a small screen like iPhone. I was wondering which classes do I need to change? I tried container-fluid in create_card and tabPanelBody with 100% width of form elements. But nothing changes. Any ideas what I need to change?

Hi @udurraniAtPresage,
Thanks for noticing that issue.
It was occurring because I had fixed width for the inputs (400px).
The solution is to set the max width of the form container to 100%.
I've fixed it here


feat(faq): reimplement faqs, switch to proper ids

Reimplement FAQs, with proper ids and better editing in admin ui.

Implemented syncing to crowdin as well @KillerX


feat(nuxt): add layer meta and env overrides to config types

🔗 Linked issue
❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[x] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
This adds route metadata (via $meta) as well as per-environment overrides to Nuxt config typings, all implemented upstream in c12:

https://github.com/unjs/c12/pull/64
https://github.com/unjs/c12/pull/62

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Hey, not sure if this is the correct place to ask, but I'm not sure how the per-env configs takes precedence over non env specific configs. Could you give me some hints on how does that actually woks, or at least where can I check the implementation of the config to see it?
$production: {
    routeRules: {
      '/**': process.env.CTF_PREVIEW === 'true' ? { ssr: false } : { isr: 86400 },
    },
  },
  $development: {
    routeRules: {
      '/**': { ssr: true },
    },
  },
  routeRules: {
    '/api/**': { cache: false, swr: false },
  },

For example, in this case, I'm not sure if the non env routeRules will be overridden by the catch-all rules in each env.

Yes, you can override the top level rule (/**) within a subpath (/api/**). Your example will end up merged into something like:
export default defineNuxtConfig({
  routeRules: {
    '/**': { ssr: true },
    '/api/**': { cache: false, swr: false },
  },
})

In future, it's best to ask a question on Discord or GitHub Discussions rather than commenting on a released PR.

Yes, you can override the top level rule (/**) within a subpath (/api/**). Your example will end up merged into something like:
export default defineNuxtConfig({
  routeRules: {
    '/**': { ssr: true },
    '/api/**': { cache: false, swr: false },
  },
})

In future, it's best to ask a question on Discord or GitHub Discussions rather than commenting on a released PR.

It's the only place on the internet I could find that remotely mentioned/documented. I'm actually looking for the implementation, to understand it better. But sorry about that, and thanks for answering.


Remove and prevent unwanted artifacts in Summary Branch

This folder shows up in the summary branch.  Though not intended, it's like due to the git add --all commands in the app.
Remove the unwanted artifacts and stop from re-occurring.

Fixed.


Add files via upload

myport.ac.uk are University of Portsmouth student email addresses

@JigglypuffsLeftNut Thank you for your patience while waiting for a review and processing your request. Pull request merged. Thank you!


Issue 516 docs config

Overview
This PR fixes #516. It updates the documentations for processes configuration.
Related Issue / Discussion
See PR #517.
Additional Information
Contribution Agreement
(as per https://github.com/geopython/pywps/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[x] I have already previously agreed to the PyWPS Contributions and Licensing Guidelines

@jachym There was already some documentation ... I have updated it with your additions.

@jachym ok to merge?

merged, thank you


[Bug] Group incorrectly set for docker-in-docker runner image

Overview
Docker-in-docker runner Dockerfile sets the group for /opt/hostedtoolcache to be runner instead of docker. In the context of that dockerfile, runner is the user who is part of the docker group
Problem
The default tool cache directory (/opt/hostedtoolcache on Linux, /Users/runner/hostedtoolcache on macOS, C:/hostedtoolcache/windows on Windows) must be writable by the runner user. This is necessary since the Ruby builds embed the install path when built and cannot be moved around.
/home/runner must be writable by the runner user.

Solution
Set group correctly to docker in both runner dockerfile and dindrunner dockerfile

@audip Thanks for reporting! I can confirm that you're definitely correct:
From a locally run runner container I can see the below that indicates that the situation is exactly as what you described.
$ grep runner /etc/group
sudo:x:27:runner
runner:x:1000:
docker:x:1001:runner

This change seems to now block actions from writing to that directory:
Container creates in the docker sidecar:
/usr/local/bin/docker create --name 35a222792c704687b11a1fd9b7386df4_python38_be1c94 --label 60e226 --workdir /__w/<redacted>/<redacted> --network github_network_8010b395b333474cbfbd584f14ee5d21 --user 1000 -e "HOME=/github/home" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/runner/_work":"/__w" -v "/runner/externals":"/__e":ro -v "/runner/_work/_temp":"/__w/_temp" -v "/runner/_work/_actions":"/__w/_actions" -v "/opt/hostedtoolcache":"/__t" -v "/runner/_work/_temp/_github_home":"/github/home" -v "/runner/_work/_temp/_github_workflow":"/github/workflow" --entrypoint "tail" python:3.8 "-f" "/dev/null"

Then when the action is running:
Run github/codeql-action/init@v1
  with:
    languages: python
    token: ***
    matrix: {
    "language": "python"
  }
    setup-python-dependencies: true
    debug: false
/usr/local/bin/docker exec  4b22ef4e46484e2a92a40b99bbf6d0fafa80ec04defa439d38b11[17](<redacted>#step:5:17)e3[5](<redacted>#step:5:5)1d435[6](<redacted>step:5:6) sh -c "cat /etc/*release | grep ^ID"
Setup CodeQL tools
  Looked for CodeQL bundle in github/codeql-action on <redacted> but got error HttpError: Not Found.
  Downloading CodeQL tools from https://github.com/github/codeql-action/releases/download/codeql-bundle-20220120/codeql-bundle-linux64.tar.gz. This may take a while.
  /bin/tar xz --warning=no-unknown-keyword --overwrite -C /__w/_temp/ec69d4fc-[7](<redacted>#step:5:7)931-473d-ac54-3744c6b70557 -f /__w/_temp/3951b2bf-5a7d-496b-9cc[8](<redacted>#step:5:8)-cca76[9](<redacted>#step:5:9)f0f91e
  Error: Error: EACCES: permission denied, mkdir '/__t/CodeQL'
  Error: Unable to download and extract CodeQL CLI
  Error: Unable to download and extract CodeQL CLI
      at setupCodeQL (/__w/_actions/github/codeql-action/v1/lib/codeql.js:269:[15](<redacted>#step:5:15))

This is because the container running the action is running as a unprivileged used:
I have no name!@bc008fe83b1d:/__w/<redacted>/redacted>$ ls -lah /
total 88K
drwxr-xr-x   1 root root 4.0K Mar 22 00:02 .
drwxr-xr-x   1 root root 4.0K Mar 22 00:02 ..
-rwxr-xr-x   1 root root    0 Mar 22 00:02 .dockerenv
drwxr-xr-x   6 1000 1000 4.0K Mar 22 00:01 __e
drwxr-xr-x   2 root root 4.0K Mar 22 00:02 __t <-- This is the folder in question.
drwxrwxrwx   6 1000 1001 4.0K Mar 22 00:01 __w

As such, I believe this change has now broken other implementations, can we not customise this?

@inventionlabsSydney Thanks for reporting!
Just wondering, but who creates the directory __t in this case?

Have the a similar issue when the container is not running as root.
/usr/local/bin/docker exec  b5cccc6b4bb3e707f72cc4[16](https://github.com/Gentoli/okd-machine-os/runs/6563450243?check_suite_focus=true#step:5:17)a0bb530dc85694b7b5e5d169662f4936bcd03233 sh -c "cat /etc/*release | grep ^ID"
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /__w/_temp/c6ddb2b4-ec58-40da-aa08-34a8e6e3927e -f /__w/_temp/70db4385-e9d2-4dc6-b8f7-c03271ff101e
Error: google-github-actions/setup-gcloud failed with: EACCES: permission denied, mkdir '/__t/gcloud'

Just wondering, but who creates the directory __t in this case?

{
  "Type": "bind",
  "Source": "/opt/hostedtoolcache",
  "Destination": "/__t",
  "Mode": "",
  "RW": true,
  "Propagation": "rprivate"
}

I think it's a mount setup by github actions.
Some other info:
from the runner
runner@<container>:/$ ls -l /opt/
total 0
drwxrwxr-x. 2 root docker 6 May 11 23:45 hostedtoolcache

from job (container)
docker exec -it b5cccc6b4bb3 bash
bash-5.1$ ls -l /
total 76
drwxr-xr-x.    6 builder builder   76 May 23 21:36 __e
drwxr-xr-x.    2 root    root       6 May 23 21:40 __t
drwxrwxrwx.    6 builder    1001   81 May 23 21:45 __w
...

@Gentoli Thanks a lot for sharing! Would you mind submitting a dedicated issue so that we can actually work on fixing it? (We don't regularly review closed issues so random issues commented in the existing issues would never be actually addressed, unfortunately...
Re the issue, __t does seem to be owned by root so it should be inaccessible by the docker user. It will never work. But then, the question is why did it work before for the runner user? 🤔

Having a second look on it, __t in the job container is binding to /opt/hostedtoolcache in the docker container in the pod. So this is the actual permission is:
/ # id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
/ # ls -l /opt/
total 0
drwx--x--x    4 root     root            28 May 23 21:36 containerd
drwxr-xr-x    4 root     root            32 May 23 22:24 hostedtoolcache

This is probably why it can be read/bind by docker (and owned by root:root in the container).
Let me know if you prefer a separate issue than reopening this.

@Gentoli Thanks! I'd prefer another issue, as that's different from the one originally reported in this issue.

@Gentoli Ah, so are you basically saying that reverting #337 entirely is the way to go? (As, perhaps, we now noticed that the correct group for hostedtoolcache is actually runner(gid 1000) instead of docker?


feat: Detect partially deprecated APIs

Detect a set of prominent partially-deprecated API (e.g. deprecation of a single parameter of a method signature):

sap/ui/core/theming/Parameters.get
sap/ui/core/Component.createComponent (async flag is currently not described as deprecated, but is likely to be done soon)
sap/ui/core/routing/Router (async flag)
sap/ui/model/json/JSONModel#loadData
sap/ui/model/odata/v4/ODataModel constructor
sap/ui/model/odata/v2/ODataModel#createEntry
sap/ui/util/Mobile.init
Generic

Generic detection would be better, ideally expressed through the generation of the respective TypeScript type definitions. However, that would first require changes in the UI5 JSDoc plugin in order to allow developers to properly express deprecated parameters. Discussions on this are ongoing. For the time being this is a simple solution to detect widely used deprecated parameters.
JIRA: CPOUI5FOUNDATION-788

@KlattG please only review the texts in file "src/linter/messages.ts": https://github.com/SAP/ui5-linter/pull/286/files#diff-09701c0232493655601b38f00fc2ebafebdf513a2aaf652ef5d440d1ea3ee04d
Thanks!


Transparent Icons are not supported in Picker

I am trying to port a Clover theme to this forked version of OpenCore. But if I uses icns from other Clover themes (which is transparent) will end up in this:

I have noticed the icns files given in the repo all have background. Does that mean the transparent icns and images are not supported yet?

Not all theme will work!..each has its own configuration how it was applied, like selector on top or underneath, and background color to match with icons, there are several images layers need to be used ..etc.  you just have to choose one that works.   Using other theme although was allowed but in the end it was designed with the default theme in mind.


regarding setting Operation_ID

[Enter feedback here]
Hi, as mentioned in the documentation, I am trying to set "Operation_Id" which maps to open telemetry as "trace-id".
Intent of doing so is accept that field from the UI in the header and use it to track the invocation of different services in the backend.
My expectation is if I just pass that field in the header then Azure function app should check it and assign it appropriately and do not generate their own Operation_Id, which is not happening in this case.
Can you please let me know if what I am trying to achieve is feasible or Microsoft does not yet consider this field at all even if passed in the header?

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

ID: 95aa5722-ec96-40fb-b03a-0c9e73c7a18c
Version Independent ID: 28259d9c-5174-f138-c0aa-bc2125c3be1a
Content: Azure Application Insights telemetry correlation - Azure Monitor
Content Source: articles/azure-monitor/app/correlation.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @AaronMaxwell
Microsoft Alias: aaronmax

Thanks for the feedback! We are currently investigating and will update you shortly.

Thanks for your dedication to our documentation. Although this question is beyond the scope of our feedback channel here on GitHub, which covers specific documentation fixes, we can help redirect you to the right technical support channel to get an answer to your question:
Microsoft Azure Monitor Q&A question page
https://docs.microsoft.com/en-us/answers/topics/24223/azure-monitor.html
Create a support ticket
Get support for your Azure services
https://azure.microsoft.com/en-us/support/create-ticket/
Because this issue requires scoping and collaboration between technical support teams, we are closing this GitHub issue. #please-close


Issue 1572

This looks like the simplest way to report the offending structure, but it may not be the best approach.

ignore


Change QUnit fixture reset behavior

Change for issue #194
Essentially, cache a clean copy of
the fixture node on load and replace subsequent fixture nodes with that.
On load, clone qunit-fixture element and set config.fixture equal to
that. Change the reset function to replace the entire qunit-fixture
element with a deep copy of the clone.
Added tests to check if properties on the fixture are cleared between
tests.

Thanks, landed.

I had to revert this patch, as it caused very subtle trouble downstream in jQuery UI. The type of failure is bad enough that I don't want anyone else to experience that again, so have to change this (and #194) to "wontfix". I will update the documentation accordingly.
For your particular case, just leave the fixture element as-is and use a wrapper or child.


Initialize monitoring pipeline for CRC resource consumption

Track changes in resource requirements/consumption over time and between CRC editions based on different OCP versions. For this purpose, create a job that will collect and aggregate such data.
Main aspects

Implement in the form of a test feature file. Give it own tag to allow for triggering it in isolation.
Data should form a time series tracking variables such as: crc version, ocp version, date+time, cpu + mem requirement, host OS, hypervisor, etc.
Data should be uploaded to accessible location.
The job should run daily and be more-or-less automated.

@jsliacan Shouldn't you already have it with all those aspects?

Renamed this issue to a specific task. Created project "Monitoring" and move this issue to Done. Can be closed now.


container automatically mount path of input file?

Currently we only mount pwd by default but it seems to make sense to mount directories for _input

You had a good argument on not sharing $HOME, but singularity

By default singularity bind mounts /home/$USER, /tmp, and $PWD into your container at runtime. You can specify additional directories to bind mount into your container with the - -bind option.

I suppose the idea is that singularity container tries to blur the boundary between container and host system so it tries to respect configurations in $HOME (e.g. even if a singularity R is used instead of host R).

I suppose the idea is that singularity container tries to blur the boundary between container and host system

it sounds bad idea right? suppose i have a messed up host and I rely on singularity to save me from my mess. It would be so disappointing it gets itself into that mess. Wondering if we should / could "undo" it.

I have not used singularity myself. But since you are on it, maybe we can try get it work in SoS and I'll try to come up with an R related example to show how it messes up the self-contained environment.


check we're using the most appropriate fork of the native code

there are hundreds of forks of antirez/linenoise
some are recent and seem fully featured like this one that was recently on HN: https://github.com/arangodb/linenoise-ng
if we're going to continue vendoring the native code, it seems worth checking that we're tracking an upstream codebase that is receiving some love. in this case the arangodb fork might come with cross-platform support built-in.

Yep. Will investigate :)

https://github.com/arangodb/linenoise-ng/pull/2

Can you check https://github.com/octplane/rust-linenoise/tree/arango agains win32 ? (I can probably do that but my win32 machine is outdated and at home... )

i had to comment out the use of linenoise::history_line in the example to get it to run.
i used a windows server 2012 64bit instance in aws:
msvc: works fine
mingw64: had to add .flag("--std=c++0x") to build.rs due to the use of char32_t
gnu on linux: also had to add .flag(...)
the flag to add is compiler specific, but adding it doesn't seem to break msvc weirdly.

Juste pushed the fix with history_line....

it seems msvc's compiler frontend cl.exe just ignores unknown options so that's why that works.
history works.
clear works.


Lazy Loading

Hi my friend
I need to load node's childs on expanding. I know that you are working on it.
So i wanna know when you will release new version including lazy loading?
I think that it's one of most important features in tree view.

Hello,
Yes. We are working on this. We are planning to release this with the next version (1.7.0) in early December.
Thanks for the feedback.

We added support for lazy loading in our new development version. You can see an example at https://github.com/atatanasov/gijgo/blob/master/examples/tree/Tree.LazyLoading.lazyLoading.Material.Design.html
Let us know if you have any questions. Please use the latest development build from https://github.com/atatanasov/gijgo/tree/master/dist


Invalid domains.

Energized Protection - block ⚡

Let's make an annoyance free, better open internet, altogether!

Issue Submit Form

  Provide the following infos properly, which will help us to resolve your issue quickly.

Issue(s):
Type x in between [ ] and make sure there isn't any space between brackets. Example; for Your Selected Issue(s), type like this - [x]
You can select more than one category of issues if you need to!

[ ] Whitelist
[ ] Blacklist
[ ] App Broken
[ ] Website Broken
[ ] Request
[x] Other Issue

Pack(s):
Write the name of the pack(s) you are using.

Pack(s) Name: Ultimate and Xtreme

Extension(s):
Also name the extension(s) if you are using any. If you don't then leave it blank.

Extension(s) Name: None

Domain(s):
If you are submitting this issue for whitelist/blacklist issue, send us the domain(s) for whitelisting/blacklisting here. Kindly use the Code Tag to prevent tracking.

Domain(s):

None - syntax error.

Your Config:
Just to ensure there is no issues or conflicts with other app/software/magisk module/extension/source list.
Make sure you are running Energized Protection Service only.

Client: Pihole 5

Version: Unsure how to check this.

Details:
Write us a lil bit more about your issue or query. You can attach any screen shot or log of the issue or advert, this will help to highlight it.

Your Issue Detail:

Error with 2 domains when using pihole as per below:
[i] Target: https://block.energized.pro/ultimate/formats/hosts
[✓] Status: Retrieval successful
[i] Received 1024721 domains, 1 domains invalid!
Sample of invalid domains:
- track*.datatrics.com
[i] Target: https://block.energized.pro/extensions/xtreme/formats/hosts
[✓] Status: Retrieval successful
[i] Received 8616 domains, 1 domains invalid!
Sample of invalid domains:
- www.telemetry.appex.bing.net:443

Thank you for making Energized Protection great, with your kind help!
A project by Ador with ❤

same to me - pihole-v5:
...
[i] Target: https://block.energized.pro/unified/formats/domains.txt
[✓] Status: No changes detected
[i] Received 1457453 domains, 1 domains invalid!
Sample of invalid domains:
- track*.datatrics.com
...

same to me - pihole-v5:
...
[i] Target: https://block.energized.pro/unified/formats/domains.txt
[✓] Status: No changes detected
[i] Received 1457453 domains, 1 domains invalid!
Sample of invalid domains:
- track*.datatrics.com
...

Also metric.print-mo.net..c.ns.emailvision.net.daraz.com (notice the double dots t..c)


ARROW-10952: [Rust] Add pre-commit hook

If a commit contains only fixes for rust format, it would be very sad to wait for the slow CI checking done, and it may block the CI checking for other PRs.
So, this PR adds  a git pre-commit hook file, which performs the "cargo fmt --check"

Codecov Report

Merging #8953 (f38fc19) into master (d65ba4e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #8953   +/-   ##
=======================================
  Coverage   83.25%   83.25%
=======================================
  Files         196      196
  Lines       48116    48116
=======================================
  Hits        40059    40059
  Misses       8057     8057

Continue to review full report at Codecov.

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

Pre-commit hooks :+1:
First thoughts:

Why not just fmt instead of check?
Would it make sense to run clippy too?

Pre-commit hooks 👍
First thoughts:

Why not just fmt instead of check?
Would it make sense to run clippy too?

I'm glad to add above tasks as our new client side tiny git flow :) Let me try!

Updated. NOTE: /bin/sh was changed to /bin/bash
Although I had a few experience on TTY color before, honestly speaking,  I'm not quite confident about the color behavior on various shells. Feed back welcome!

I think this is looking good @mqy  -- thanks for the doc updates. Given it is an opt in and well documented, I am merging this in and we can iterate in subsequent PRs.


[material-ui][Progress] Add Circular progress gradient demo from Github comment

Add gradient circular progress from https://github.com/mui/material-ui/issues/9496#issuecomment-959408221 to customization examples: https://deploy-preview-40559--material-ui.netlify.app/material-ui/react-progress/#customization. Thanks, @antokhio, for this one.
Suggestion from docs-feedback

@samuelsycamore I think we might want to think of a place to put these kinds of examples so they don't bloat the docs. Maybe use @siriwatknp's treasury as a base, move it to the MUI organization, revamp it, and start linking it in the docs 👀.

I think it would be helpful if these kinds of "Customization" demos were more specific. What exactly are we trying to demonstrate in these demos? If it's just "here's how to customize some stuff" broadly, then I think it's less helpful than if it was "here's how to customize to achieve a specific end goal."

I agree this could be better organized.

In the Joy UI docs, we've established a nice pattern with Customization and Common Example demos:

I like it! I'll implement the sections you proposed and let you know when it's ready for re-review 😊
For the long term, I wondered if the Common Example ones should live elsewhere to avoid docs bloat. That would enable us to have a lot of common examples, and the community could contribute without worrying about the docs getting too big and scary.

5 cents, here:
Why not add some accordions to the bottom? Something like Cases or 'FAQ'
Bit off topic, but: Would be really nice to have proper styled example. It was kinda nightmare to figure it out:
const MyStyledBox = styled(Box, {
  shouldForwardProp: (props) =>
    ['myCustomProp'].every(key => key !== prop)
})<BoxProps & { myCustomProp?: boolean  }>(({ theme, myCustomProp }) => theme.unstable_sx({
   background: myCustomProp ? 'red' : 'green',
}))

const Component = () => {
   return <MyStyledBox myCustomProp>TEST<MyStyledBox/>
}

Hey @samuelsycamore! I haven't had time to work on this (as you can see 😅).
I updated the colors as @siriwatknp suggested, but I don't have time to get the structure right. I tried reorganizing, but the changes kept growing; at this point, we can either merge this PR as is or close the PR and revisit it later. I'm happy with both alternatives.
And then, address this page's structure in a later PR. I agree with you that it needs a good restructuring.


Python Run Cell Fails - 'No Kernel Connected'

Does this issue occur when all extensions are disabled?: Yes/No
Yes

VS Code Version: 1.84.0
OS Version: Mac 10.13.6

Steps to Reproduce:

See youtube video https://youtu.be/w2HLRYZNhAQ for demo of the problem

Hi Don .. thanks for chasing this up.
Attached are results from re-running the cell as shown in the video

Console output  - 'vscode-app-1699489548877.log'
settings.json file 'settings original.json'

I added the line to the user settings you suggested
"jupyter.disableZMQSupport": true
This test produced the following error
Missing field in JSON data: notebook.path.
View Jupyter log for further details.
Attached are

the Jupyter tab output - 'Jupyter output after jupyter.disableZMQSupport true added to user settings.log'
the changed settings.json

I'm not sure why but the jupyter.disableZMQSupport": true line is dimmed in the settings.json file which I thought meant it was not known to VSCode or any extension??
Note when I added the new line in the settings I quit and restarted VSCode to make sure the new settings were in effect
I've zipped up the files in the attachment 'testfiles re 14692.zip'
testfiles re 14692.zip
Good Luck
Cheers

Just out of curiosity, are you able to upgrade the Mac OS  and try this?
I know thats a big change, however we're planning on deprecateing support for 10.13 in the next month or so.

Missing field in JSON data: notebook.path.

Can you try installing Jupyter notebook into your Pytohn environment using the following command
python -m pip install jupyter notebook & try again.

Unfortunately can't easily upgrade as my network of old Macs cannot extend
beyond OSX version is 10.13.
Installed the Jupyter Notebook as per your instructions and still get No
Kernel connected when I run the cell.
Note I have VS Code 1.69.1, Jupyter Extension V2022.6.1201981810 and Python
extension V2022.16.1 on another Mac with 10.13 and running the cell works
perfectly as well as running a notebook.
Cheers
On Thu, 9 Nov 2023 at 14:41, Don Jayamanne @.***> wrote:

Just out of curiosity, are you able to upgrade the Mac OS and try this?
I know thats a big change, however we're planning on deprecateing support
for 10.13 in the next month or so.
Missing field in JSON data: notebook.path.
Can you try installing Jupyter notebook into your Pytohn environment using
the following command
python -m pip install jupyter notebook & try again.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-jupyter/issues/14692#issuecomment-1803114581,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF5V4HKUNP7QKKL3C7XQVW3YDRGFRAVCNFSM6AAAAAA7DC7PPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBTGEYTINJYGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thanks, totally understood
Please could you enable logging as follows:

Open settings & go into Jupyter->Logging
Change the value to verbose
Reload VS Code,
Attempt to repro the issue & then copy the output from the Jupyter output panel.

Managed to get things working as follows

I Removed all extensions then reinstalled only Jupyter and Python
extensions.

Simplified the user settings JSON as follows
{
"workbench.colorTheme": "Default Dark Modern",
"window.zoomLevel": 1,
"jupyter.logging.level": "verbose",
"jupyter.disableZMQSupport": true
}

VSCode Jupyter extension loaded successfully and detected python 3.10.0
correctly

Run the code

%%
a=1
b=2
print(a*b)

Resulted in Jupyter Windows which is the expected results
[image: Screen Shot 2023-11-09 at 8.15.34 pm.png]
[image: Screen Shot 2023-11-09 at 8.16.21 pm.png]

As a further test I removed the line
       "jupyter.disableZMQSupport": true

and it still works!

Not sure why the original issue arose, maybe my previous user settings JSON
(below) had a lot of irrelevant stuff from old extensions I had played with
and removed.
{
"python.pythonPath":
"/Library/Frameworks/Python.framework/Versions/3.10/bin/python3",
"python.formatting.provider": "autopep8",
"editor.formatOnSave": true,
"code-runner.executorMap": {
"python": "$pythonPath -u $fullFileName"
},
"code-runner.showExecutionMessage": false,
"code-runner.clearPreviousOutput": true,
"code-runner.saveAllFilesBeforeRun": true,
"zenMode.centerLayout": false,
"zenMode.fullScreen": false,
"zenMode.hideLineNumbers": false,
"editor.fontSize": 13,
"workbench.colorTheme": "Monokai Dimmed",
"liveServer.settings.donotShowInfoMsg": true,
"todohighlight.isEnable": true,
"todohighlight.defaultStyle": {
"backgroundColor": "#F00",
"color": ""
},
"todohighlight.keywords": [
{
"text": "IDEA:",
"color": "white",
"backgroundColor": "magenta",
"overviewRulerColor": "grey"
},
{
"text": "DEBUG:",
"color": "#ff0000",
"backgroundColor": "yellow",
"overviewRulerColor": "grey"
},
"REVIEW:",
{
"text": "DONE:",
"color": "#005500",
"backgroundColor": "green",
"overviewRulerColor": "grey"
},
{
"text": "NOTE:",
"color": "#ff0000",
"backgroundColor": "yellow",
"overviewRulerColor": "grey"
},
{
"text": "REVIEW:",
"color": "black",
"backgroundColor": "#999900",
"overviewRulerColor": "grey",
"isWholeLine": false
},
{
"text": "TODO:",
"color": "#800",
"border": "1px solid red",
"borderRadius": "2px", //NOTE: using borderRadius along with border or
you will see nothing change
"backgroundColor": "#AA9900"
//other styling properties goes here ...
}
],
"gitlens.advanced.messages": {
"suppressGitMissingWarning": true,
"suppressGitVersionWarning": true
},
"tabnine.experimentalAutoImports": true,
"debug.javascript.autoAttachFilter": "smart",
"explorer.confirmDelete": false,
"security.workspace.trust.untrustedFiles": "open",
"workbench.editorAssociations": {
".ipynb": "jupyter-notebook"
},
"python.defaultInterpreterPath":
"/Library/Frameworks/Python.framework/Versions/3.10/bin/python3",
"notebook.cellToolbarLocation": {
"default": "right",
"jupyter-notebook": "left"
},
"editor.inlineSuggest.enabled": true,
"github.copilot.enable": {
"": true,
"yaml": false,
"plaintext": false,
"markdown": false,
"python": true,
"javascript": true,
"clojure": true,
"typescript": true
},
"python.linting.enabled": false,
"github-enterprise.uri": "
vscode://vscode.github-authentication/did-authenticate?windowid=1&code=efba1fb6ff2b0473fd3f&state=1cc2bc79-2587-4847-9e66-6462b19ddfa7
",
"explorer.confirmDragAndDrop": false,
"liveServer.settings.AdvanceCustomBrowserCmdLine": "",
"liveServer.settings.port": 8080,
"editor.accessibilitySupport": "off",
"[html]": {
"editor.defaultFormatter": "mblode.pretty-formatter"
},
"[clojure]": {
"editor.defaultFormatter": "pedrorgirardi.vscode-cljfmt"
},
"editor.snippetSuggestions": "top",
"liveServer.settings.root": "",
"liveServer.settings.CustomBrowser": "firefox",
"liveServer.settings.NoBrowser": true,
"editor.stickyScroll.enabled": true,
"timeline.pageOnScroll": true,
"workbench.localHistory.maxFileEntries": 500,
"[python]": {
"editor.formatOnType": true
},
"jupyter.interactiveWindow.creationMode": "perFile",
"update.mode": "manual",
"window.nativeFullScreen": false,
"git.openRepositoryInParentFolders": "never",
"window.zoomLevel": 1,
"workbench.editor.empty.hint": "hidden",
"jupyter.excludeUserSitePackages": true,
"jupyter.runStartupCommands": "",
"python.experiments.enabled": false,
"python.interpreter.infoVisibility": "always",
"python.languageServer": "Pylance"
}
Thanks for your prompt help
Cheers
On Thu, 9 Nov 2023 at 19:00, Don Jayamanne @.***> wrote:

Thanks, totally understood
Please could you enable logging as follows:

Open settings & go into Jupyter->Logging
Change the value to verbose
Reload VS Code,
Attempt to repro the issue & then copy the output from the Jupyter
output panel.

—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-jupyter/issues/14692#issuecomment-1803327942,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF5V4HOYBNT533OZUENSN3LYDSEQDAVCNFSM6AAAAAA7DC7PPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBTGMZDOOJUGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


21: add clang-format check

Right now it will likely do nothing as we don't apply patch :)

A maybe you need to create a symlink to compile_commands.json in the project root folder. I'm not sure about the current directory layout.


[EasyCodingStandard] Fix cache invalidation after composer update

composer update now invalidates cache somehow, might be related to kernel path

Closed by #958


Multi type array validation

Perhaps a bug in swagger-model-validator, perhaps a bug in my code.
I need have an array which can have elements of 2 differents types.
I define the model as :
"document": {
        "type": "object",
        "properties": {
            "lines": {
                "type": "array",
                "minItems": 1,
                "items": {
                    "oneOf": [
                        {
                            "$ref": "#/definitions/line-name"
                        },
                        {
                            "$ref": "#/definitions/line-productId"
                        }
                    ]
                }
            }
        }
    },
    "line-name": {
        "type": "object",
        "properties": {
            "name": {
              "type": "string"
            }
        }
    },
    "line-productId": {
        "type": "object",
        "properties": {
            "productId": {
              "type": "string"
            }
        }
    }

If I want validate this model during post request with this body :
                body: {
                    lines: [
                        {
                            productId: 'myProductId'
                        },
                        {
                            name: 'myProductName'
                        }
                    ]
                }

I have an error :
"Array requires at least 1 item(s) and has 0 item(s)."

validateArray don't manage "oneOf" value in items property

No it doesn't.  I'll have a look at it but I don't think it will be quick to resolve.

In the meantime you could use a customValidator to handle this validation

I have a partial fix for this on the way... Should be in by the end of the weekend.


Get rid of the horrendous HighDPI garbage

For the love of God, it's not configurable, and above all, helps nobody.

...I'm translating this as "it broke on my system".
The problem is, some systems are high-DPI and will basically force you to deal with it. There's no good solution here. As it is, FRENYARD_SCALE allows manual control when it fucks up.

I see, I wasn't aware of FRENYARD_SCALE. Thanks for the hint.
As for "it broke on my system", well, I highly doubt it's just a "me problem".
How is it not? Well, I'm sure you've seen this before:

I haven't. But yeah, ow, that looks like pain.
The problem is basically that the DPI mechanisms don't actually offer any way to determine the correct scale, only, well, DPI. This makes no sense to me.

Maybe we can continue chatting about the details via Discord (or any other preferred method of communication that isn't PR comments), if you'd like. I'm quite interested in this stuff, if you haven't noticed.

Had an idea:
Keep the HighDPI flag on, but read the display height and use that as a reference for how big the scale ought to be.

Sounds like a better idea, yeah. I'll just close this PR and leave that one up to you, as I'm not sure how to implement that myself.

Go is refusing to build the project here for it's own... reasons
I now have patches which are probably most of the way there in terms of solving the DPI problem

0001-Most-of-the-way-there-UNFINISHED-PATCH.patch.txt


Packages don't work on Windows

Hi,
I really like this extension except that it appears not to work on windows; the paths to packages are not correct for Windows.
It appears that the path to my package is created as "/Users/Josh/Projects/" but that doesn't resolve correctly; it should instead of "C:/Users/Josh/Projects/".
Thank you!

Thank you for reporting this. I'll fix this asap.

Just released 1.1.3 containing the fix.
might take a few minutes for it to show up on the marketplace

Thank you so much you're the best! Ive never done vscode extensions so I
didn't know where to start.
On Mon., May 11, 2020, 6:57 a.m. Folke Lemaitre<EMAIL_ADDRESS>wrote:

Just released 1.1.3 containing the fix.
might take a few minutes for it to show up on the marketplace
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/folke/vscode-monorepo-workspace/issues/47#issuecomment-626631464,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACFNCFG7AWURONQQ2FY5TI3RQ7K25ANCNFSM4M5RBV5A
.


CM-1064 delete conversation endpoint added

@danmash I think it would be better to call 'isHidden' a better name that more suggests that the user has deactivated the conversation. Could you change the 'isHidden' variable to be 'isDeactivated' or 'isTrashed' instead? I think it is also better to do this so it's clearer how the unique link becomes deactivated and will cause error message on frontend if anyone tries to load that user B conversation link.

It's all about perspective. If you look at the feature from the link perspective - maybe it's better to name the field "is_deactivated". But if you look at the feature from the conversation object (for example index page, list of conversations) - it's definitely hidden. This field belongs to objects named "conversations" (db table, python class), not "links". that's why for me is preferable to look at the feature from the conversation object perspective.
In addition, I don't think the value of such a controversial improvement is worth the time I'll spend on this.

Ok, I agree about the name should be specific for the Python object. The only reason why we are keeping the record at all is for analytics, so it needs to be clear for analytics what this actually is and how this connects to user behavior. We aren’t keeping the record to resurrect it later, which is what it sounds like when it’s marked as hidden. The conversation isMarkedDeleted. I’m happy to update it for you if you’re short on time.

On Aug 5, 2022, at 12:18 PM, danmash @.***> wrote:

External Email
It's all about perspective. If you look at the feature from the link perspective - maybe it's better to name the field "is_deactivated". But if you look at the feature from the conversation object (for example index page, list of conversations) - it's definitely hidden. This field belongs to objects named "conversations" (db table, python class), not "links". that's why for me is preferable to look at the feature from the conversation object perspective.
In addition, I don't think the value of such a controversial improvement is worth the time I'll spend on this.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because your review was requested.

You could push your suggestions to the branch
On Fri, 5 Aug 2022 at 22:06, Kameron Rodrigues @.***>
wrote:

Ok, I agree about the name should be specific for the Python object. The
only reason why we are keeping the record at all is for analytics, so it
needs to be clear for analytics what this actually is and how this connects
to user behavior. We aren’t keeping the record to resurrect it later, which
is what it sounds like when it’s marked as hidden. The conversation
isMarkedDeleted. I’m happy to update it for you if you’re short on time.

On Aug 5, 2022, at 12:18 PM, danmash @.***> wrote:

External Email
It's all about perspective. If you look at the feature from the link
perspective - maybe it's better to name the field "is_deactivated". But if
you look at the feature from the conversation object (for example index
page, list of conversations) - it's definitely hidden. This field belongs
to objects named "conversations" (db table, python class), not "links".
that's why for me is preferable to look at the feature from the
conversation object perspective.
In addition, I don't think the value of such a controversial improvement
is worth the time I'll spend on this.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because your review was requested.

—
Reply to this email directly, view it on GitHub
https://github.com/ClimateMind/climatemind-backend/pull/367#issuecomment-1206815058,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA27BUE4NDCQBTZ5CODIEQTVXVX43ANCNFSM55I6QBLQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Codecov Report

Merging #367 (b6eb262) into develop (4d3a060) will increase coverage by 0.09%.
The diff coverage is 70.96%.

@@             Coverage Diff             @@
##           develop     #367      +/-   ##
===========================================
+ Coverage    60.70%   60.79%   +0.09%
===========================================
  Files           80       80
  Lines         2555     2584      +29
  Branches       373      375       +2
===========================================
+ Hits          1551     1571      +20
- Misses         995     1002       +7
- Partials         9       11       +2

Impacted Files
Coverage Δ

app/conversations/utils.py
35.13% <ø> (ø)

app/common/uuid.py
90.69% <40.00%> (-6.68%)
:arrow_down:

app/conversations/routes.py
49.24% <72.72%> (+4.19%)
:arrow_up:

app/factories.py
100.00% <100.00%> (ø)

app/models.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@rodriguesk  please squash your commits into single one

I don’t have time for this. When you merge to develop it gets squashed anyways. Thanks for your help!

On Aug 7, 2022, at 5:37 AM, danmash @.***> wrote:

External Email
@rodriguesk please squash your commits into single one
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

When you merge to develop it gets squashed anyways.

working on the same branch together it's better not to squash on merge to distinguish changes.
I'll do "rebase and merge" instead which will not squash all commits into a single one.
I've squashed your commits manually

@danmash the frontend is having a hard time running this branch. Why aren’t the tests passing?


Scale down to se

Tinkered with a bunch of the layout to make it scale smoothly down to SE sized screen

I'm still not a fan of building the UI this way, but I don't see anything dangerous that would cause crashes.  There are a few SwiftLint warnings to cleanup before the CI will pass though.


Merge LLM paper corpus into main corpus

The LLM paper corpus code lives elsewhere, should bring it in here.

closed in #23