[Cilium with kubeproxy] IPv4 Fragmented packets are being dropped

Bug report
We find even when running cilium with kubeproxy in tunneling mode, IPv4 fragmented packets coming into the cluster (e.g. nodePort) are dropped at a high chance. Further investigation observes:

OOO packets being observed on the 2nd Node. Proved by "tcpdump -ni cilium_geneve". tcpdump on the first node doesn't see packets reordered.
The drop happens when fragmented packets are OOO. Cilium on the 2nd node can't handle the case where the non-first fragments are seen first.

The two things combined together are causing high packet drops for IPv4 fragmented packets coming into cluster.
While I know IPv4 fragments are not supported yet for node port  #11180, we don't expect it to break when using kube-proxy.
Our cilium config is:
  auto-direct-node-routes: "false"
  blacklist-conflicting-routes: "false"
  bpf-map-dynamic-size-ratio: "0.0025"
  bpf-policy-map-max: "16384"
  cluster-name: default
  debug: "false"
  disable-cnp-status-updates: "true"
  enable-auto-protect-node-port-range: "true"
  enable-bpf-clock-probe: "true"
  enable-bpf-masquerade: "false"
  enable-endpoint-health-checking: "true"
  enable-host-reachable-services: "true"
  enable-hubble: "true"
  enable-ipv4: "true"
  enable-ipv6: "false"
  enable-local-node-route: "true"
  enable-metrics: "true"
  enable-remote-node-identity: "true"
  enable-session-affinity: "true"
  enable-well-known-identities: "false"
  enable-xt-socket-fallback: "true"
  identity-allocation-mode: crd
  install-iptables-rules: "true"
  ipam: kubernetes
  k8s-require-ipv4-pod-cidr: "true"
  k8s-require-ipv6-pod-cidr: "false"
  kube-proxy-replacement: disabled
  masquerade: "true"
  monitor-aggregation: medium
  monitor-aggregation-flags: all
  monitor-aggregation-interval: 5s
  native-routing-cidr: <IP_ADDRESS>/16
  node-port-bind-protection: "true"
  operator-api-serve-addr: <IP_ADDRESS>:9234
  operator-prometheus-serve-addr: :6942
  preallocate-bpf-maps: "false"
  prometheus-serve-addr: :9990
  sidecar-istio-proxy-image: cilium/istio_proxy
  tofqdns-enable-poller: "false"
  tunnel: geneve
  wait-bpf-mount: "false"

General Information

Cilium version (run cilium version)
1.8.1
Kernel version (run uname -a)
5.4.0-47 ubuntu 1804
Orchestration system version in use (e.g. kubectl version, Mesos, ...)
1.17.8
Link to relevant artifacts (policies, deployments scripts, ...)
Generate and upload a system zip:

How to reproduce the issue

create a udp echo service:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: udp-echo-deployment
spec:
  selector:
    matchLabels:
      app: udp-echo
  replicas: 1
  template:
    metadata:
      labels:
        app: udp-echo
    spec:
      containers:
      - name: echo-container
        image: n0r1skcom/echo
        ports:
        - containerPort: 3333
          protocol: UDP
---
apiVersion: v1
kind: Service
metadata:
  name: udp-echo-service-ilb
spec:
  selector:
    app: udp-echo
  type: NodePort
  ports:
    - name: udp
      protocol: UDP
      port: 3331
      targetPort: 3333

using netcat from outside of the cluster and hit the nodePort with nc -u IP port
Send a long string bigger than MTU (like 2000) to trigger IP fragmentation. Can use a random string generator
keeping sending large payload and packet drops will be observed (no echo back).

/cc @qmonnet

This is indeed because we need to see the first fragment first to establish the related entry in the fragment-tracking map. I confirm out-of-order datagrams for which the first logical fragment does not arrive first in the flow are not supported.
Supporting out-of-order flows would need a heavier approach, I don't see a way to do it without datagram reassembly or at least storing some of the fragments for a time. I don't know if this is something we could do at all from within the eBPF datapath (I don't see how to send the fragments we have stored, or how to fully reassemble a big datagram). Or maybe there are alternative solutions I don't know about :thinking:.

Thanks for the confirmation. OOO fragmented packets support is a feature gap between cilium (even in mixed mode) vs kernel based data path. I can see it's hard to support in EBPF.
Could you also comment on the first issue? Why packets are being reordered between the first and second node? That has made the feature gap more severe.

Another idea is that can we treat fragmented packets specially and have them sent to IP stack so we can take advantage of the kernel to handle this problem?

Could you also comment on the first issue? Why packets are being reordered between the first and second node? That has made the feature gap more severe.

I don't know why packets would be reordered, but this is not something I would expect and this definitely needs more investigation. Hopefully that's something we could improve, and that would make fragmentation support better.
I'll ask at the Community meeting next Monday if anyone is familiar with this issue.

Another idea is that can we treat fragmented packets specially and have them sent to IP stack so we can take advantage of the kernel to handle this problem?

Probably something worth exploring, too. We could keep the approach currently implemented as a “fast path” for fragmented datagrams, and maybe fall back on the kernel otherwise.

I run a quick test verifying that the reordering happens on the 2nd node after receiving the packet:
I always see the right order on the physical interface
# tcpdump -ni eno1 src <IP_ADDRESS> | grep <IP_ADDRESS>
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eno1, link-type EN10MB (Ethernet), capture size 262144 bytes
22:22:07.641863 IP <IP_ADDRESS>.42142 > <IP_ADDRESS>.6081: Geneve, Flags [none], vni 0x2: IP truncated-ip - 50 bytes missing! <IP_ADDRESS>.43843 > <IP_ADDRESS>.3333: UDP, bad length 2001 > 1472
22:22:07.641874 IP <IP_ADDRESS>.42142 > <IP_ADDRESS>.6081: Geneve, Flags [none], vni 0x2: IP <IP_ADDRESS> > <IP_ADDRESS>: ip-proto-17

But packets are very likely to be reordered at the cilium_geneve interface:
# tcpdump -ni cilium_geneve dst <IP_ADDRESS>
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on cilium_geneve, link-type EN10MB (Ethernet), capture size 262144 bytes
22:22:07.641874 IP <IP_ADDRESS> > <IP_ADDRESS>: ip-proto-17
22:22:07.641875 IP <IP_ADDRESS>.43843 > <IP_ADDRESS>.3333: UDP, bad length 2001 > 1472

This could help us to limit the scope of investigation. I'll appreciate it if anyone can point me the particular code to look at regarding this.

I used get_smp_processor_id to print the cpu processing the incoming packet at tc ingress hook of cilium_geneve on the 2nd node. I don't see any xdp installed so I think that's where cilium first see the packets. I noticed that for nodePort traffic, fragments are handled by different CPUs and hence the reordered packets. You can also prove it by ethtool -L enp1s0f1 combined 1 to have a single rx queue. But when traffic are from a pod, it's always processed by the same CPU.
Is cilium doing something here? One thing I find suspicious is that the source port of outer layer is always the same for node port traffic. But for pod2pod, the geneve source port is different for each different udp session.

I noticed that for nodePort traffic, fragments are handled by different CPUs and hence the reordered packets.

This sounds like an issue with the underlying system configuration rather than with Cilium. Since the packets are fragmented, maybe RSS computes a hash based the 5-tuple and thus sends non-first fragments that are missing the L4 ports to a different queue than the first fragment? If you can configure the n-tuple of your NIC, it should be possible to check this.

using netcat from outside of the cluster and hit the nodePort with nc -u IP port

One thing I don't understand is why are packets from outside the cluster coming via the Geneve tunnel? I'd expect to see only packets from other Cilium-managed nodes coming via the tunnel.

During the Cilium community meeting, Joe and Valas mentioned some ideas to address the more general issue of IPv4 fragmentation handling. We will be discussing those during the SIG-Datapath meeting on Wednesday.

OK. I find the root cause for the reordering issue. The MTU of cilium_host is set at 1500, which is the same as the physical interface. It causes fragmentation on outer layer for nodePort traffic. For pod-to-pod, we have a route with a smaller mtu that avoids it:
# ip route
default via <IP_ADDRESS> dev eth0 mtu 1450
<IP_ADDRESS> dev eth0 scope link

I believe the fix is to decrease the MTU of cilium_host to be smaller than physical interface to accommodate encap header. Let me prepare a fix patch. Also let me know if it's not a good idea

I find routes on node already has a smaller MTU on cilium_host:
ip r
default via <IP_ADDRESS> dev enp1s0f1 onlink
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 1450
<IP_ADDRESS> dev cilium_host scope link
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 1450
<IP_ADDRESS>/24 dev enp1s0f1 proto kernel scope link src <IP_ADDRESS>

But clearly it's not taking effect and I have to manually set mtu to cilium_host to fix this issue. and I can confirm in tc egress hook of cilium_host, it's seeing 1500 sized packets. anyone know why is that?

I added the requires-docs-change label because we probably need to update the documentation to mention this kernel bug, as per https://github.com/cilium/cilium/pull/13416#discussion_r501858421, to be able to mark this issue as resolved.


Effect.DamageIncrease only accepts int for damage amount instead of a DamageBonus type.

Effect.DamageIncrease only accepts int for damage amount instead of a DamageBonus type.
You have to cast it as an int.
Effect divine = Effect.DamageIncrease((int)DamageBonus.Plus2d6, DamageType.Divine);
https://nwnlexicon.com/index.php/EffectDamageIncrease

It looks like this is happening because  the signature of the current method only supports int as a parameter.
/// <summary>
/// Creates an effect that applies a bonus to a specified damage type.
/// </summary>
/// <param name="bonus">The damage bonus to apply.</param>
/// <param name="damageType">The damage type to apply the bonus to.</param>
public static Effect DamageIncrease(int bonus, DamageType damageType = DamageType.Magical)
{
  return NWScript.EffectDamageIncrease(bonus, (int)damageType)!;
}

Would creating a separate overload work? Probably something like this:
/// <summary>
/// Creates an effect that applies a bonus to a specified damage type.
/// </summary>
/// <param name="bonus">The damage bonus to apply.</param>
/// <param name="damageType">The damage type to apply the bonus to.</param>
public static Effect DamageIncrease(DamageBonus bonus, DamageType damageType = DamageType.Magical)
{
  return NWScript.EffectDamageIncrease((int) bonus, (int)damageType)!;
}

This way we would prevent breaking up the previous method usage and ensure backwards compatibility, while adding the new feature to add a method that supports the DamageBonus enum as a parameter.
I'm new to this repo and this change seemed easy enough to add but I'm not sure if there's anything else I should consider.


Allow simulation based training

This means that yane learns to simulate the training data or even games during training, which allows it to learn much faster in the scenario where only one genome can be trained at a time. Or if it is too costly to start several instances. An example would be 3D applications.
All "Start" inputs are first saved in a database. Next, we generate a second population that has as many inputs as the number of inputs and outputs of the first population.
It also has as many outputs as the number of inputs of the first population.
The simulation population also has an extra output neuron, which is used to stop the simulation. The fixed maximum limit is the number of actions (i.e. how often forward propagation was performed during evaluation) that a normal genome has ever had to perform.
The closer the estimated fitness corresponds to the real fitness, the better.
To train the simulation population, the start value, genomes that received the start value and what the achieved fitness was can be used.

The only disadvantage is that the user would have to create two fitness functions. One is a normal fitness function where the inputs come from the environment and one without inputs from the environment.
You could also create an evaluation population, which works in a similar way to the simulation population, but gives a genome points based on its inputs and outputs.
Could work well together in the context of the simulation population.

Perhaps an issue could be created for a second variant of the evaluation population, which completely replaces the fitness and the human simply says all the time by pressing a button whether something was good or bad and the population learns to evaluate like the human in order to train the normal population.


feat(kit): i18n token TUI_DATE_TEXTS inside InputDateTime, InputDate, InputDateRange

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows Conventional Commits
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Refactoring (no functional changes, no api changes)
[ ] Other... Please describe:

What is the current behavior?

Closes #
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

@waterplea
I added some changes according to our discussions

@waterplea again new changes according to our discussions :)


Add more tests and KillInst() to DefUseManager

Add KillInst() so that def-use manager can handle instrutions that do
not have result ids.
Add ClearDef() and ClearInst() two private functions.
Add tests for AnalyzeInstDefUse().
Add tests for KillInst().
Add a test that call AnalyzeDefUse() on two different modules.

-1
Tests look ok.
Several issues with the code need addressing.

Close as it is moved to #356


typo: notofied -> notified

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

powerbi-docs/consumer/end-user-alerts.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


installation error

I have an issue on installation
i saw previous installation error and i used that command line
!pip install -U git+https://github.com/SkoltechAI/fewbit.git
but i got this error
from anaconda
(mintorch0208) C:\Users\user>pip install -U git+https://github.com/SkoltechAI/fewbit.git
WARNING: Ignoring invalid distribution -ywin32 (c:\users\user\appdata\roaming\python\python38\site-packages)
WARNING: Ignoring invalid distribution -rotobuf (c:\users\user\appdata\roaming\python\python38\site-packages)
WARNING: Ignoring invalid distribution -oundfile (c:\users\user\appdata\roaming\python\python38\site-packages)
WARNING: Ignoring invalid distribution -ywin32 (c:\users\user\appdata\roaming\python\python38\site-packages)
WARNING: Ignoring invalid distribution -rotobuf (c:\users\user\appdata\roaming\python\python38\site-packages)
WARNING: Ignoring invalid distribution -oundfile (c:\users\user\appdata\roaming\python\python38\site-packages)
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting git+https://github.com/SkoltechAI/fewbit.git
Cloning https://github.com/SkoltechAI/fewbit.git to c:\users\user\appdata\local\temp\pip-req-build-yiimezc5
ERROR: Error [WinError 2] 지정된 파일을 찾을 수 없습니다 while executing command git version
ERROR: Cannot find command 'git' - do you have 'git' installed and in your PATH?

Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
May i get some help?

It seems that you didn't have git installed (git+https means that the packaged should be fetched with git and install from cloned repo`).


work in progress to add package resolution support

Work in progress PR to add support for packages. This adds functionality to resolve a given set of packages into the transitive closure of referenced packages and specific package versions. It does not yet have support for getting (package,version) contents.

@seaneagan, I'm adding a bit of pub functionality to the dartpad backend. It's two bits:

Given a list of packages, resolve the list to the full transitive set of referenced packages and their versions.
And, given a package and a version, it can return a local directory with the contents of the package's lib/ folder (downloading it if necessary in the process).

I looked at den, and it wasn't immediately obvious if this functionality would be useful there. In any case, if you can see a match, I'm happy to move some of this functionality over to there and re-consume it from den.

And @lukechurch, ready for review -

@devoncarew As discussed - lets keep this as a separate branch until we decide to harden and focus on support for packages, this reduces the risk of accidentally exposing something.

PS - Love the functionality that this should bring in when we do land it.

@devoncarew thanks for checking in on that!  I think the pubspec.lock
parsing / listing of resolved versions might fight in as a den list
command eventually.  I think den is focused on resolving against a complete
pubspec with version constraints instead of a list of package names with
implied any constraints though, but maybe that is something you are
adding in the future.  I think I'll sit on it for now, and if I add
something like this to den in the future, I'll sent a PR back here to
consume it from there.
On Tue Jan 20 2015 at 2:11:45 PM Devon Carew<EMAIL_ADDRESS>wrote:

Reopened #40 https://github.com/dart-lang/dartpad_server/pull/40.
—
Reply to this email directly or view it on GitHub
https://github.com/dart-lang/dartpad_server/pull/40#event-221863260.

@seaneagan, sounds good. From talking to Luke we're going to hold off on working on package support in the short term. But den-wise, I was wondering if any of the functionality makes sense in den-as-a-library - if there's overlap if what you're trying to do or if they're disjoint. I'd definitely be interested in pushing functionality into it that makes sense; I'd be less interested in consuming den as a cli app (from this project). Hope that makes sense -

@lukechurch, this has been updated to the latest codebase. I'd like to land this now in order to experiment w/ package: support -

@devoncarew lets talk offline.

@devoncarew PTAL at these comments, I'm ok with some of them being turned into issues to be dealt with at a later date.
I'd really like to put 'safe-string' guards on the package names before we merge this.
Let me know what you think about these. Thanks,

Hi guys - how is the status on this? Dart-Pad is nice but it really misses the possibility of importing packages.
I want to add some live samples for my MDL/Dart package http://styleguide.material-design-lite.pub/


Cannot boot after update to 21.7

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Describe the bug
After the update to 21.7, my opnsense could boot, the error message can be seen in the screenshot below.
If I choose the Kernel.old in the boot screen, the opnsense boots correctly.
To Reproduce
Steps to reproduce the behavior:

Go to System -> Firmware -> Updates
Click on Update (to 21.7)
Opnsense doesnt boot after successful update

Screenshots

Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 21.7 (amd64, OpenSSL).
Intel Celeron G3900 2-Core 2,80GHz 2MB
8 GB (1x 8GB) ECC DDR4 2666 RAM
Supermicro X11SSH-LN4F with a Onboard Quad LAN with Intel® Ethernet Controller I210-AT

See https://forum.opnsense.org/index.php?topic=23867.0 the current assumption is that this is a kernel issue not a core issue and you can help verify. Thanks.

Thanks for the link, i registered at the forum and posted my issue there as well :)

If i select the Kernel.old image in the boot screen, the opnsense starts fine. But I have to do this on every startup/reboot.
Modify message

Great tip, thanks a lot!

out of curiosity, which type of storage is being used here and is this a standard (ufs) install?

a samsung ssd software raid, and yes a standard ufs install

likely this https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229745 (and some luck it didn't trigger before in my humble opinion)

issue has been resolved, the Kernel for 21.7 was updated in the opnsense repositories
https://forum.opnsense.org/index.php?topic=23867.0


Prices aren't being displayed.

Most of the time the price indicator in the item's description shows up as "Marketboard info is being obtained" but it never does.
And sometimes it straight up doesn't show anything.
It may be a problem with universalis themselves because another Plugin I use "personal market board" ALSO doesn't fetch prices and current sales correctly and displays nothing instead.
Edit : I haven't been able to see Universalis prices in games through your plugin or any other for about a month now.

Have also been having this issue for a few days but only sporadically.  Sometime it still works as normal, and sometimes it will execute exactly the above issue (perpetual "Marketboard info is being obtained") on some items but not others.
Seems worse during high traffic hours, but that's just anecdotal, I could be imagining that.

Same

Prices are fetched from Universalis.app which can be unresponsive sometimes.
I've released a new version that will now display an error message if fetching the price failed.
You can also always press Alt to retry fetching the price or check the /xllog error message and send that to me.

Oh thanks, tbh an error message just to make it clear that has happened will be great :)


⚠ gorzdrav.org has degraded performance

In a67e7aa, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 7661 ms

Resolved: gorzdrav.org performance has improved in d4559e7 after 5 minutes.


401 Client Error: Unauthorized

When I run "python gradio_demo.py",the error is throwed:
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://hf-mirror.com/briaai/RMBG-1.4/resolve/main/model.safetensors
How to solve this problem，thanks！

the problem of my network


⚠ Bofrost.at has degraded performance

In 2710b7e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1157 ms

Resolved: Bofrost.at performance has improved in 5016f81 after 6 minutes.


New connection is created at inactive project

System information:

Operating system (distribution) and version win 10x64
DBeaver version 6.2.0 EA

Describe the problem you're observing:
New connection is created in inactive project after changing of active project.
Steps to reproduce, if exist:

Change active project
Create New connection - check created connection

It is not a bug. It is a feature added in the recent version.
We use current database navigator selection to determine current project (active or inactive - doesn't matter). And you can see project name on the first page of connection wizard.

Closed
Created issue #6627


distro-base: Use new files format for files in minimal images

Issue #, if available:
Description of changes:
Break out symlinks and regular files and include permissions
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm
/approve

/approve


[ncp] add a special radio capability to indicate ncp

This PR defines a special radio capability 'OT_CAPS_NCP' to indicate
the co-processor is a NCP. The PR also adds a GetProperty handler for
'SPINEL_PROP_RADIO_CAPS' for FTD/MTD. For FTD, MTD the handler
simply returns 'OT_CAPS_NCP'.
The PR is added for our plan to add NCP support in OT. Because at the
very beginning of the host initialization, we don't know what type is
the co-processor. So we will use this property to differentiate NCP
and RCP.

Close this PR. We can reuse SPINEL_PROPS_CAP to tell the co-processor type. Have implemented it in PR#9898


Auto install the truth set

When installing the basic Cloudformation stack, auto install the truth set.

PR merged


Update requirements.txt

The requirement.txt has version mismatch with the one used insetup.py.
Summary of Changes
Include a summary of changes then remove this line
Tests
What tests did you add or modify and why? If no tests were added or modified, explain why. Remove this line
Documentation
What documentation did you add or modify and why? Add any relevant links then remove this line
CheckList
Make sure you have checked all steps below to ensure a timely review.

[ ] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[ ] PR includes a summary of changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does

[ ] PR passes make test
[ ] I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message"

cc @jinhyukchang

Codecov Report

Merging #58 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #58   +/-   ##
=======================================
  Coverage   83.32%   83.32%
=======================================
  Files          51       51
  Lines        2351     2351
  Branches      228      228
=======================================
  Hits         1959     1959
  Misses        316      316
  Partials       76       76

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 500f625...391f36d. Read the comment docs.


Limit rows returned for specific users?

Hi there
I have two database roles, Users and Admins. How can I limit the size of query results returned by graphQL by (e.g.) 100 rows for Users, but not limit the results for Admins?
Thank you for any suggestions,
Kurren

Hi @Kurren123, postgraphql doesn't implement any features like this in itself; but here's a couple of ways you might achieve it:

put some kind of GraphQL query validation service in front of postgraphql so that it can validate which queries area allowed and which are not before sending them on to postgraphql and postgres
add custom functions in Postgres that look at the current user's access levels and decide on the row limit accordingly
specify the row limit in a JWT token and use custom functions again

This may be of interest: https://github.com/calebmer/postgraphql/blob/master/docs/advanced-queries.md

Hi @benjie . Thank you for your reply. If I go with 2 or 3, how can I prevent a malicious client from selecting millions of rows?

One way is to not allow access to query the tables directly, instead requiring the user to go through your custom mutations. Another is to use built in postgres features such as statement timeout, to bolster your defence.
However I'd strongly encourage you to go with option 1  though there's not any good ready-to-use solutions out there for this yet, as far as I know. I recommend this post on StackOverflow as a good starting point:
http://stackoverflow.com/a/37338465/141284
It sounds like your issue could be solved by writing a validation rule (like the  built in ones here) that a) requires limits on certain endpoints, and b) ensures that those limits are sensible.

Thank you for your answer, much appreciated. I think we can close this issue 😄

@Kurren123 Do let us know if you build your own or find a solution, I think this area of GraphQL is still pretty cutting edge.


How to sync audio settings (volume)?

Somehow I don't get it: This module claims to allow to sync audio volume to clients, but I can't find a description on how to do that.
I don't see anything looking like a sync option when I look at my audio volume sliders in my GM session.
The module is active and seems to be working fine, apart from that.
There are no console errors, neither any console messages apparently related to this module.

Anyone who can give me a hint?

Ok, I've found the solution by myself by analyzing the code and my session's dom model a bit:
In fact, the sync buttons are there - they're just invisible due to some styling issue?
But apart from that, they're working fine, so I'll go with those buttons in "stealth mode" ;-)

https://github.com/BlitzKraig/fvtt-SocketSettings/blob/master/socketsettings.js#L417


Missing "./css/swiper.css" export in "swiper" package

I am getting this error after installing nuxt-swiper, what I am doing wrong ?
nuxt.config.ts
export default defineNuxtConfig({
    modules: ['nuxt-swiper',],
    css: ['~/assets/scss/main.scss', 'swiper/swiper-bundle.css',],
})

package.json
{
  "private": true,
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev",
    "generate": "nuxt generate",
    "preview": "nuxt preview",
    "postinstall": "nuxt prepare"
  },
  "devDependencies": {
    "nuxt": "^3.0.0",
    "sass": "^1.57.1",
    "sass-loader": "10"
  },
  "dependencies": {
    "nuxt-swiper": "^0.1.9",
    "swiper": "^8.4.6"
  }
}

okay I have found why it happened. I was migrating from Nuxt2 to Nuxt3 and I forgot an old code.


Cache contracts is a required dependency (not a dev-dependency)

I installed this locally and found that I got exceptions for missing classes: CacheInterface (and a couple more that I don't remember, sorry).
Turns out that the symfony/cache-contracts https://symfony.com/doc/current/components/contracts.html is indeed required as a dependency, and not a dev-dependency.

Can you report to us the stack traces that lead to those errors? It's an optional dependency due to tracing, we're not strictly requiring it.
Maybe it's a regression after #501?

It cannot be a regression because that fix has not been released yet 😁 Btw, I believe that the referenced PR solved this exact issue, we're gonna release the fix in the next days so let's wait for it and see if it solves the problem

Unfortunately I wasn't able to pull a stack trace as it was a fatal error.
It came from src/Tracing/Cache/TraceableCacheAdapter.php, though.

@matthew-gill #501 got released as 4.1.2, can you check if that fixes your issue?

I just found out trying to fix #511 that the symfony/cache-contracts package is not optional because our cache implementation used to support the distributed tracing feature depends on it, but on Symfony 3.4 the Cache component doesn't.


shortcut for moving to other half of a split view

There is a simple shortcut for moving cursors between "panes", i.e. "ctrl+[Num_of_pane_to_move_to].
But I think there is no shortcut that allows moving to the other side of, e.g. a git diff view.
To me it would feel quite natural if "ctrl+[Num_of_currently_active_pane]" moved the cursor to the other half of the active pane, iff the the active pane has a tab in focus that is split.
I frequently find myself missing that feature to quickly copypaste from the original revision of the file.
Maybe this is a worthwhile idea for a new shortcut, or maybe it already exists and I simply didn't find it yet?
All the Best.

Can I work on this issue?


Handle iat

It's handled. With
stir_shaken_passport_validate_iat_against_freshness
Now moved iat check completely out of JWT verification logic. Perform it if you want or skip.


go: use secure hash compare & add webhook tests

based on @tasn comments on the PHP & Ruby PRs.

Looks good. One question: is sign exposed? We should return bytes if yes, not base64.

nope, sign is not exposed


Always compute contrast limits histogram on lowest-resolution pyramid level

Computing contrast limits on the highest resolution makes no difference, and is considerably slower, so we should always use the lowest resolution for computing contrast limit histograms

Cannot trivially do this on raw files due to mask. PR #9 fixes this for interpolated ims. Closing for now.


Investigation: Replace Jest unit tests with Vitest

Vitest has native support for ECMAScript Modules (ESM), making it easier to work with modern JavaScript/TypeScript codebases such as GC Forms App. Vitest can test our code without additional configuration or transpilation.
Vitest offers a unified experience by providing similar APIs and concepts as Jest (so migration should not take long)
Vitest is designed to work well with TypeScript, making it easier to write and test type-safe code.

[ ] Review existing Jest-based test suite
[ ] Review Jest plugins usage
[ ] See how Jest is used in our CI/CD pipeline

Test Pyramid

Forms Client Application Analysis
We are currently using Jest for unit tests, with 488 tests enabled and passing, and 176 disabled (many of the disabled ones are for API endpoints, some of which have been converted to server actions or will be in the future).

Tests location:
/lib/utils/form-builder/__tests__/
/lib/store/__tests__/
/lib/hooks/__tests__/
/lib/tests/
/app/(gcforms)/[locale]/(user authentication)/components/client/
/app/(gcforms)/[locale]/(user authentication)/auth/policy/components/server/
/app/(gcforms)/[locale]/(form administration)/form-builder/[id]/responses/[statusFilter]/components/tests/
...
/components/clientComponents/forms/TextInput/
/components/clientComponents/admin/FormAccess/
...```

new draft PR https://github.com/cds-snc/platform-forms-client/pull/3522

The PR is ready for review. As mentioned in our stand-up, we'll continue the migration at the appropriate time.


add some v2 features

Thanks for the - most needed - update, will have a deeper look asap.

Thanks again!
Looks good so far.
Merged, will then tweak and bump version and try to extend the test suite.


Where is the corresponding page for databases?

that has the advice like "make the owner a regular low privilege sql user and not a domain account, etc?"

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

ID: a30e180e-7e59-3a45-017d-9b94aa4b228d
Version Independent ID: dbc9d750-c5ed-85b2-4031-71b1d4b04190
Content: Security Considerations - SQL Server
Content Source: docs/sql-server/install/security-considerations-for-a-sql-server-installation.md
Product: sql
Technology: install
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

Hi @stingyjack, the following article is a great starting point to secure both your SQL Server, and your database: https://docs.microsoft.com/en-us/sql/relational-databases/security/security-center-for-sql-server-database-engine-and-azure-sql-database?view=sql-server-ver15
Please let me know if this answers your question?
Thanks!
Masha from the SQL Docs team

Hi @stingyjack, it's been some time since we've heard from you. Does this mean that your question has been addressed? I'm going to assume so and close out this Git Issue but please feel free to comment should you need anything further from us.
Thanks for contacting Microsoft!
Masha from the SQL Docs team

There wasn't a mention of "owner" on that page, but I know I've seen the advice somewhere on docs (maybe it was technet) before. Don't worry about it. Thanks for looking.

Hi @StingyJack, I perused around as well and am not finding what you're referring to, my apologies for that. However, if you do find it, please be sure to let us know so that we can update our documentation as well :)
Thanks again for helping improve our documentation!
Masha from the SQL Docs team


Load Mixin files with TS-Loader

Allows writing Mixin files in TypeScript instead of JavaScript.

I have just stumbled this issue where I wanted to write a Mixin in ts.
Since it is not supported, I wrote the Mixin in .js but then it was ignored so I couldn't find it in the dist folder.
The tmp hack which I did for now:
https://github.com/wix-private/wix-ui-adi/pull/38
Whenever that will be supported, I would prefer to drop this local hack and change the Mixin to be written in .ts.
Thanks

In order to load ts files in stylable plugin you can add this in the webpack.config.js
require("ts-node").register({ /* options */ });

@barak007 can you elaborate please?
I am not sure what I need to do in order to write a mixin file in ts.
Maybe a link to some example?


[release-1.7] Upgrade to latest dependencies

Cherry-pick https://github.com/knative-sandbox/control-protocol/pull/254 to reduce informer cache usage -evankanderson
/cc knative-sandbox/serving-writers
/assign knative-sandbox/serving-writers
Produced by: knative-sandbox/knobots/actions/update-deps

Actually closing this as the change is a NOOP and we don't want a point release


Fixes flaws in schedulers

Fixes #397

Closing as I couldn't convince myself there was sufficient benefit to fixing the flaws in experiments.

Resurrecting PR after discussion in #397 , might not get time to work on this for a while though so it's open for someone else to jump in on


fix(debugger): fix issue where output does not display circular dep and ...

...functions

LGTM sorry for the delay

merged in https://github.com/angular/protractor/commit/5d232807f1e32a9a3ba5a5e4f07ace5d535fc3cd


Remove unneeded mut qualifiers

I feel like I'm missing something obvious here, but I ran cargo build cargo test cargo doc on 1.19 and 1.21.0-nightly (f25c2283b 2017-08-15) and it worked in all those cases...
How are these unneeded?

Confusing! It's because the variable is already a &mut I. Rust must have just learned to warn for these.


wrap neovim but without its configuration file

Motivation for this change
Follow up of https://github.com/NixOS/nixpkgs/pull/101100.
Wrapping the init.vim has some sideeffects https://github.com/NixOS/nixpkgs/issues/55376 .
This PR allows to call wrapNeovim without wrapping its configuration file. Makes sense for home-manager where it can just drop the init.vim in the correct position (also for hackers who would prefer --cmd "source generatedinit.vim instead of the current -u generatedinit.vim.
I've tried to make commits valid on their own but if we agree on the architecture I can squash them:

first commit introduces neovimUtils.makeNeovimConfig which returns (mostly) { neovimRcContent (so that home-manager can choose where to write it), wrappedArgs (arguments to pass to the wrapper) }, these arguments can then be completed by the caller depending on the needs.
second commit introduces wrapNeovim2 (a lower level wrapper), and neovimUtils.legacyWrapper in order not to break older configurations.

I haven't thoroughly tested the part with the manifest generation.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @timokau (just tell me if I should stop nagging you :p )

Here I've provided an home-manager example on how to use it to generate ~/.config/nvim/init.vim https://github.com/teto/home-manager/blob/8509c5821acc2cb5c83d65af68dc7c74579700ee/modules/programs/neovim.nix#L260 .
Next step (in other PRs) would be to replace the opaque configure by some more descriptive fields. I would like to pass a list of plugins (with their respective config) as is done in home-manager: it's pretty convenient.
Once the makeNeovimConfig stabilizes, we could deprecate the old wrapper (or not ^^).

I would like to pass a list of plugins (with their respective config)

I'm not sure if that is what you mean, but it would be really neat if it was possible to specify both the plugins and the related vimrc snippets (to be executed pre/post load) in the same place. This is what I currently do (I think its partly broken and assumes everything is loaded at startup though):
https://github.com/timokau/dotfiles/blob/c3340392081c126b5d1cf8cd3e7c519d1cdeb202/home/neovim.nix#L49

Yes the goal is to be able to specify the kind of config you have.
Home-manager has started going this way (to my great satisfaction): https://github.com/teto/home/blob/master/nixpkgs/hm/neovim.nix#L91. Endgoal is to have this kind of configuration in makeNeovimConfig without needing a nixos module.
But I plan to test things first with the home-manager module. My first neovim config revamp was a nightmare to maintain/rebase which is why I prefer to do it more iteratively now.

Maybe @doronbehar you could test that it doesn't break your config ? (just a rebuild). I sense you may have an advanced configuration :)

Haven't done a full review or a test, but I am on the imperative side of these kind of configurations, so my nix Neovim config is not that complicated:
https://gitlab.com/doronbehar/nixos-configs/blob/90c39b8705f8f1eca8b02dec5b0694564e98a0dd/shell-programs.nix#L189-242

thanks to the review, it's in much better shape. I fixed the manifest issue. From my point of view it's ready to be squashed and merged notwithstanding CI. It should be fully equivalent to the current state. Once that's merged, it will be easier to improve plugin support.

Alright, then :rocket:?

next step will be to map some config with a plugin.

@teto This broke neovim.configure, eg. a simple example doesn't load the specified plugins or rc file anymore. The config file is completely empty apart from set nocompatible.
with import ./. {};

neovim.override {
  configure = {
    packages.nix.start = with vimPlugins; [ ale deoplete-nvim ];
    customRC = ''
      echoe "Hello World!"
    '';
  };
}

my bad will try to fix it by tomorrow.

@LnL7 to be honest, I had not thought of the override usecase, especially to modify the customRC part. I think it's fair to break the override scenario which is more a hacker-like scenario IMO (hoping it doesn't break for too many people). Would you mind using wrapNeovim instead ? Otherwise I could throw a warning when configure is passed.
Also this broke home-manager in some cases (doubly so since I messed up the lib.warn call to explain wrapper arguments should now be a list instead of a string an array :s Since it's not a super useful change I will revert wrap arguments to be a string again).  https://github.com/nix-community/home-manager/issues/1577

@teto I'm not particularly opposed to changing it but it's not something that should be changed without warning.
The snipped I showed is what's documented in various places like the the nixpkgs manual, wiki, etc... and thus will be the way almost everybody configures it currently. Given that most of the references and usages are outside of nixpkgs I consider this part of the api that should go through a deprecation deprecation cycle if it's changed.

oh shit you are right ! didn't realize this was the standard way. Gonna fix this too then.

 I am glad unstable is blocked for now :| maybe I would need to write some tests before further refactoring but maybe after the 0.5 release. So much to do till then.

Users of the home-manager neovim modules are also broken by this.

@jonringer shouldnt' be the cae on master anmore (I have yet to check vimAlias but should be fixed too).

When I originally rebased my other PR, it was before your build fixes.
aliases do need to be fixed
$ vim
The program ‘vim’ is currently not installed. It is provided by
several packages. You can install it by typing one of the following:
  nix-env -iA nixos.vim
  nix-env -iA nixos.vimHugeX

I just developed a muscle memory around tryping vim, and a lot of my "aliases" were written in mind with this.

honestly, i think this should all be reverted, and continued in another branch.

I've tried before to do it out of tree but 1/ it was hard to maintain. 2/ It means I would drop a huge patch.
I've written both the home-manager and nixos modules. My endgoal is to make it possible to generate vim configs and write them anywhere (init.vim / .nvimrc) without the drawbacks of using -u. This allows to have per-project tailor-made nvim configurations (that could be then sharable or generated, akin to haskellPackages.shellFor ).
The goal with this PR is to make this work easier to maintain while not impacting users via a thin legacy wrapper. I kinda messed up the compatibility layer but now all should be fine. Lucky us I could fix those before it reached nixos-unstable.


Path Parameters as references break the website and cause data loss

Hey team,
If you create a Parameter of location "Path" under the Definitions tab and then reference it in a path under the Paths tab the website breaks and you lose whatever data you are currently working with.
Very frustrating bug to find!

Hey @beardo01, thanks for sharing this.
I wasn't able to recreate this issue even when i tested it multiple times. Could you perhaps send the API file so i could test it myself, or maybe look if there's other important details to recreate this issue?

Hi,
I also have the same issue. It seems I didn't get it if path parameter only referenced in GET but it comes if references also in other methods (in this case in PATCH).
test.txt


pack express app failed

hi,
pack express app use nexe failed
Command:
nexe -i ./bin/www -o test -r 4.2.3
Error:
Path must be a string.Received  {http:false}
nodejs -- v4.2.3
nexe -- v0.4.2
i just use express cli to create a simple app,am i missing something?

Same problem here
nodejs > 4.2.1
bexe > 0.4.2

Same problem here.
nodejs 4.1.0
nexe 0.4.2

Interesting. Must be Node 4.x.x included.

same problem.
I tried on 0.11.x and 0.12.x versions of node also. Same error. commenting out express require line got it to compile.
I am going to try to just drop express and use the builtin http module for the moment.

You do not have to drop express. It is good thing we can trick the nexe not to bundle Express. What I did is pretty much what is written in documentation. I installed express via npm locally and then did this:
var incExpress = 'express';
var express = require(incExpress); //dynamic
var app = express();
/* ...rest of your code ... */
Then deploy node_modules folder along with the binary.
I think it is acceptable since I would not like my binary to be huge. I just want to kinda hide some important configurations and avoid installing node.js on every machine where I need node app to run.
By the way jaredallard - great job and thank you.

Yea I know I could still have node_modules folder but for my project I want everything to be included in the binary

Has anyone tried using the browserify branch? May help.
On Sat, Jan 09, 2016 at 12:26 PM, drahgon55 <<EMAIL_ADDRESS><EMAIL_ADDRESS>> wrote:
Yea I know I could still have node_modules folder but for my project I want
everything to be included in the binary
—
Reply to this email directly or view it on GitHub
[https://github.com/jaredallard/nexe/issues/157#issuecomment-170278794] .[https://github.com/notifications/beacon/ACR9NW5TJg6L6vGDfDL5keI_JCmPrZsxks5pYWRjgaJpZM4G5KQg.gif]

Hi, same problem here. I used Node 4.2.3, nexe 0.4.2.
I need to have express bundled with the binary... Thanks.

I'll conduct a test today.

Fixed! Use<EMAIL_ADDRESS>:)
Let me know if you run into any more issues!

Hi @jaredallard  thank you so much!
I will check it out soon...


Flight type not matching Acars flight type | Acars (Bug Report)

When a flight is loaded via vmsAcars, flight type is not loaded correctly (or not considered at all).
Also flight types do not match in text and number. phpVMS has 15 flight types, while vmsAcars offers only 10.
Version
Non-relevant
To Reproduce

Pick a flight, edit its Flight Type to something like Charter Cargo/Mail or VIP etc'
Run vmsAcars, find that edited flight and click load
See the error, even though you load a Cargo flight, vmsAcars will say it is a Passenger flight.

Expected behavior

Correct flight type should be selected when a flight gets loaded.
vmsAcars flight type list should match phpVMS flight types.

Screenshots

Missing ones at vmsAcars;
G : Scheduled Pax (Additional)
O : Charter Pax (with Special Handling)
A : Cargo (Additional)
H : Cargo (Charter)
X : Technical Stop

Should be fixed now


QUESTION:when I add on my gradle file,build failed

and  i am getting following error while building my app:
..../values/colors.xml:
Error:Attribute "textAllCaps" has already been defined
Error:Attribute "theme" has already been defined

It may be appcompat-v7 conflict.
You can try this:
compile('com.lsjwzh:recyclerviewpager:1.0.7-SNAPSHOT'){
exclude module: 'appcompat-v7'
exclude module: 'recyclerview-v7'
}


Fixed instance creation failure on dvswitch when using vlan id 4095

Description
When creating an instance on a guest network where the vlan id has been set to 4095, the instance fails to start.
This PR sets the vlan id and range on the created port group to allow the instance to be created.

Fixes #4358

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Bug Severity

[ ] BLOCKER
[ ] Critical
[x] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

This has been tested by creating a guest network and setting the vlan id to 4095 and creating an instance using the specific network.

@Spaceman1984 have you tested this
@alexandremattioli can you review/test this, thanks.
@blueorangutan package

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos7 ✖centos8 ✖debian. JID-2507

Seems like there are some test failures, looking into it

@blueorangutan package

@Spaceman1984 a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos7 ✖centos8 ✔debian. JID-2508

@blueorangutan test help

@blueorangutan test matrix

@Spaceman1984 a Trillian-Jenkins matrix job (centos7 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

Trillian test result (tid-3363)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 29762 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4557-t3363-xenserver-71.zip
Intermittent failure detected: /marvin/tests/smoke/test_scale_vm.py
Smoke tests completed. 82 look OK, 1 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_01_scale_vm
Failure
10.32
test_scale_vm.py

Trillian test result (tid-3364)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 30014 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4557-t3364-kvm-centos7.zip
Smoke tests completed. 83 look OK, 0 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-3365)
Environment: vmware-65u2 (x2), Advanced Networking with Mgmt server 7
Total time taken: 35684 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4557-t3365-vmware-65u2.zip
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Intermittent failure detected: /marvin/tests/smoke/test_templates.py
Smoke tests completed. 82 look OK, 1 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_02_create_template_with_checksum_sha1
Error
5.16
test_templates.py

test_03_create_template_with_checksum_sha256
Error
5.15
test_templates.py

test_04_create_template_with_checksum_md5
Error
5.15
test_templates.py

@alexandremattioli @andrijapanicsb have you tested/reviewed this? Thanks

@alexandremattioli @andrijapanicsb have you tested/reviewed this? Thanks

Tested. LGTM

Tested. LGTM


10 Rep: Watch thepoolparadise.com

10 Rep requests the watch of the watch_keyword thepoolparadise\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

thepoolparadise\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


Added test that shows importance of minimization.

I've been playing around with various workloads and found an append-only string workload to be quite interesting. It emphasizes the importance of the following things:

Simulator speed is important. For rarely occurring bugs, the simulator being 100x slower can mean the difference between finding the bug overnight and not finding the bug in a month.
Test case minimization is more important for rarer bugs, as they are likely to arise in longer executions with irrelevant ops.
At any point in time, the search algorithm should give every possible execution a non-zero change of being run. Currently, we increase the number of ops per execution over time, but this means that if a bug only arises from an execution with few ops, we may never find it.

We chatted offline and decided to abandon this change.


Translate contributing.md

Translates CONTRIBUTING.md file to Spanish

@laurosilvacom https://github.com/typescript-cheatsheets/react-typescript-cheatsheet-es/pull/5

Nice. But I we need to add the CONTRIBUTORS.md page. We can call it CONTRIBUYENTES or we can call itCOLABORADORES but it needs to be the same as CONTRIBUTORS.md.
Let's leave the CONTRIBUYENDO.md as it is, for now.
CONTRIBUYENDO.md = CONTRIBUTING.md ✅

got it! to make sure I understood. I should remove my changes from Contribuyendo.md (leave it as is with your content) and create a Colaboradores.md?

Correct! Sorry about the miss understanding.

No worries! will get on it :)

@laurosilvacom for the contributors file will we use the all-contributors bot, or will we hard code it?

The all-contributors bot. Are able to set it up?

I can try 😅I've used in the past. The parent repo uses it, might as well try it out. What do you think?

Go for it!

Added it, let me know your thoughts.
Some documentation on how to use: https://allcontributors.org/docs/en/bot/usage for anyone who might be interested


Fix typos in README

By the way the examples in the README are quite helpful to understand how to use this library

Thans again :-)
a. thanks.
b. sorry for all the typos ...


Bugfix for ECEF octrees: visible nodes traversal

Nikolai found out that the tree traversal for visible nodes in ecef was not successful when an empty node was encountered. Here the correction.

PTAL @nnmm

PTAL @feuerste

I took a second look and think the following accomplishes the fix in a cleaner way: https://github.com/googlecartographer/point_cloud_viewer/compare/nnmm/visible_nodes_bugfix
That way, we do one less hash map lookup. Feel free to cherry-pick it into the PR.

indeed! the latest solution you presented is also much more readable.

:+1:

@nnmm if it was an approval it needs to be explicit

@wally-the-cartographer merge

Merge requested by authorized user catevita. Merge queue now has a length of 1.


Fix two issues with cpuid_riscv64.c

The code that extracts the model name is incorrect.  It searches in the wrong buffer for the ':' and doesn't check to see whether the character is found before incrementing the pointer to skip the colon, potentially resulting in a pointer value of 1.  There's also a mismatch between the LIBNAME used when the target is forced at build time and when it is dynamically detected.  Presumably, these two values should match.  They do on other architectures.

Note that I don't have a C910V to test this patch on.
Also, note that this patch will alter the names of the libraries created when the target is not forced at build time.  I believe the name change is needed in order to have consistent library names, regardless of whether the target is forced or detected at runtime, but just wanted to highlight this.  For example, without this patch, the generated library name will be libopenblas64__riscv64_genericp-r0.3.26.dev.a when building with TARGET=RISCV64_GENERIC and libopenblas64__riscv64p-r0.3.26.dev.a without, regardless of whether getarch detected a riscv64_generic CPU or not.  With this patch the library will be called libopenblas64__riscv64_genericp-r0.3.26.dev.a in both cases (assuming a a riscv64_generic CPU is detected, i.e., detect() returns CPU_GENERIC).


Analysis of Natural Resource common email service

Dependencies
precursor to #139 (set up SMTP server)
DOD

[ ] Analysis
[ ] Report to team whether this is a worthwhile service to use
[ ]
[ ]
[ ]

I've confirmed with the team that built CHES that best way to reach out with any questions is via Rocketchat: https://chat.developer.gov.bc.ca/channel/nr-common-services-showcase

Initial/Current assumption : this service does only sending email.
we might need to understand the onboarding steps to get into this service


Improved the UI design of Job and Forum pages .

Issues Identification
Closes: #598
Description
Summary
In this PR, as mentioned in the issue, I have updated the website to align with modern design standards and improve its overall look and feel. The changes aim to enhance the visual appeal and user experience, making the website more polished and professional.
Details
Include any detailed information about the changes in this pull request.
Types of Changes
Please check the boxes that apply

[ ] Bugfix (non-breaking change that fixes an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update (Documentation content changed)
[ ] Other (please describe):

Checklist
Please check the boxes that apply

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x

https://github.com/user-attachments/assets/54d1793b-2c93-4497-8efa-000d94173b67

https://github.com/user-attachments/assets/f74d5300-3149-4db7-9e93-7894aa1ed5c5

[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] My changes do not break the current system and pass all existing test cases
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Screenshots
If applicable, please attach screenshots of the changes made to the user interface.
Additional Information
Please provide any other information that is relevant to this pull request.

There are a lot of conflicts and the page is not looking good in smaller devices

Smaller devices problem you can take care of in the next pr just resolve the conflicts

First resolve conflcts in this

No resilve merge conflcits

Cant merge till the conflicts are resolved

Cant merge till the conflicts are resolved

i am so sorry for not understanding what are you talking about i have not much experience in this field so i could not understand what is the meaning of  resolving the conflict , can you please explain ?

Basically when i merge other peoples prs it adds new code to my repo now that new code conflcts with new code you have added

Maybe same code somewhere or the code was changed in the same line

There is a resolve conflicts button on ur screen

On pressing that you can see what code is causing the conflcits

Then you can decide which code is needed which is not

From already present code and your code

Basically when i merge other peoples prs it adds new code to my repo now that new code conflcts with new code you have added

ok let me check what it is , i'll be back if i need help

From already present code and your code

are you still here ?  i resolve the conflit and it is asking that update should be in main branch or in new branch ? what to do

ok i resolve conflicts and update it in main branch , is there anything i have to do ?  (like i can see some checks here which are not passed . will they cause problem ? if yes then tell me how to resolve it )


Problems running part5

I am running GGIR on 9 hrs of data, and I am looking for a sleep/wake classification. But whwn its comes to part5 i get the error: " Error in [.data.frame(daysummary_tmp, , MainMetric) :  object 'MainMetric' not found"
Can anyone help me?
Also are there any sample input files available?
Below is top rows of a sample input csv file:

This is how i called the shell function:
g.shell.GGIR(mode=c(1,2,3,4,5),
datadir,
outputdir,
overwrite = TRUE,
strategy = 1,
hrs.del.start = 0,          hrs.del.end = 0,
maxdur = 2,
qwindow=c(0,24),
mvpathreshold =c(100),
bout.metric = 4,
excludefirstlast = FALSE,
includedaycrit = 16,
includenightcrit = 16,
def.noc.sleep = c(1),
outliers.only = TRUE,
criterror = 4,
do.visual = TRUE,
threshold.lig = c(30), threshold.mod = c(100),  threshold.vig = c(400),
boutcriter = 0.8,      boutcriter.in = 0.9,     boutcriter.lig = 0.8,
boutcriter.mvpa = 0.8, boutdur.in = c(1,10,30), boutdur.lig = c(1,10),
boutdur.mvpa = c(1),   timewindow = c("WW"),
do.report=c(2,4,5),
visualreport=TRUE)

The GGIR code in function g.plot5.R looks for a variable in the part2 daysummary report  that looks like: "mean_ENMO_mg_24h" or "mean_ENMO_mg_0-24hr". If this variable is not present then it cannot create the first page of the report.
Solution:

Set argument dofirstpage =FALSE which should skip this part of the code.
or
Only use files with at least one day of data, because then those variables will be created.

The GGIR code in function g.plot5.R looks for a variable in the part2 daysummary report that looks like: "mean_ENMO_mg_24h" or "mean_ENMO_mg_0-24hr". If this variable is not present then it cannot create the first page of the report.
Solution:

Set argument dofirstpage =FALSE which should skip this part of the code.
or
Only use files with at least one day of data, because then those variables will be created.

Thank you!

I am running GGIR on 9 hrs of data, and I am looking for a sleep/wake classification. But whwn its comes to part5 i get the error: " Error in [.data.frame(daysummary_tmp, , MainMetric) : object 'MainMetric' not found"
Can anyone help me?
Also are there any sample input files available?
Below is top rows of a sample input csv file:

This is how i called the shell function:
g.shell.GGIR(mode=c(1,2,3,4,5),
datadir,
outputdir,
overwrite = TRUE,
strategy = 1,
hrs.del.start = 0, hrs.del.end = 0,
maxdur = 2,
qwindow=c(0,24),
mvpathreshold =c(100),
bout.metric = 4,
excludefirstlast = FALSE,
includedaycrit = 16,
includenightcrit = 16,
def.noc.sleep = c(1),
outliers.only = TRUE,
criterror = 4,
do.visual = TRUE,
threshold.lig = c(30), threshold.mod = c(100), threshold.vig = c(400),
boutcriter = 0.8, boutcriter.in = 0.9, boutcriter.lig = 0.8,
boutcriter.mvpa = 0.8, boutdur.in = c(1,10,30), boutdur.lig = c(1,10),
boutdur.mvpa = c(1), timewindow = c("WW"),
do.report=c(2,4,5),
visualreport=TRUE)

I am having the same problem. Can you help?

Please provide a more detailed description with minimum reproducible example:

RData file from the meta/basic folder
R script
Copy of error messages you get

See also my message in the google group. I can prioritize this if paid as consultancy.

Please provide a more detailed description with minimum reproducible example:

RData file from the meta/basic folder
R script
Copy of error messages you get

I am a student. Using GGIR for analysing sensor data for breast cancer study. I can't pay much but I am willing to pay whatever I can. Please have look at the attached file and help me.
I am using less 24 hours of data. Its gym validation data of few hours only.
meta_GYM.csv.zip
GYM.zip
Error.zip

Did this get solved?
I'm having the same problem

Did this get solved?
I'm having the same problem

Please provide minimal reproducible example as I suggested above.

Greetings,
I am also having this issue. No error message is produced, but no output for part 5 is generated.
My code is below:
`
library(GGIR)
GGIR::GGIR(datadir=paste0(here::here(), "/data/test"),
outputdir=paste0(here::here(), "/data/ggir_results"),
minloadcrit = 6,
minimum_MM_length.part5 = 6,
dofirstpage =FALSE,
do.parallel = FALSE,
strategy = 1,
includedaycrit =6,
overwrite = TRUE
)
`
And I am attaching two example files. Like ksarafrazi, these files don't have multiple days of data, so the issue seems to be related to that. Note the files will need to be unzipped before use.
001 (2019-10-18)RAW.csv.zip
002 (2019-10-30)RAW.csv.zip

@q-w-a that seems like a different issue because you don't get the error. I can confirm that there is no part 5 metadata with your files.
@vincentvanhees can you clarify if GGIR does not provide part 5 data for single night files? Here's an MRE using the same test that is used to check that part 3 can do single night files:
# Setup some temp folders
temp_dir <- normalizePath(tempdir())
data_dir <- file.path(temp_dir, "test")
outdir <- file.path(temp_dir, "out")
dir.create(data_dir)
dir.create(outdir)
# create the same test file as part 3 test
GGIR:::create_test_acc_csv(Nmin = 2000, storagelocation = data_dir)
GGIR::GGIR( # these setting match the part 3 test
  mode = 1:5, datadir = data_dir, outputdir = outdir, studyname = "test",
  f0 = 1, f1 = 1, do.report = c(2,4,5), visualreport = FALSE, viewingwindow = 1,
  overwrite = TRUE, do.parallel = FALSE, minimumFileSizeMB = 0,
  includedaycrit = 1, includedaycrit.part5 = 1 / 24, minimum_MM_length.part5 = 1
)
#>
#>    GGIR version: 2.8.2
#>
#>    Do not forget to cite GGIR in your publications via a version number and
#>    Migueles et al. 2019 JMPB. doi: 10.1123/jmpb.2018-0063.
#>    See also: https://cran.r-project.org/package=GGIR/vignettes/GGIR.html#citing-ggir
#>
#>    To make your research reproducible and interpretable always report:
#>      (1) Accelerometer brand and product name
#>      (2) How you configured the accelerometer
#>      (3) Study protocol and wear instructions given to the participants
#>      (4) GGIR version
#>      (5) How GGIR was used: Share the config.csv file or your R script.
#>      (6) How you post-processed / cleaned GGIR output
#>      (7) How reported outcomes relate to the specific variable names in GGIR
#> ________________________________________________________________________________
#>  Part 1
#>
#> Checking that user has read access permission for all files in data directory: Yes
#> Checking that user has write access permission for directory specified by argument outputdir: Yes
#> 1
#> P1 file 1
#>
#> Investigate calibration of the sensors with function g.calibrate:
#>
#> Loading chunk: 1 2 3 4
#> Extract signal features (metrics) with the g.getmeta function:
#>
#> Loading chunk: 1 2 3
#> Save .RData-file with: calibration report, file inspection report and all signal features...
#>
#> ________________________________________________________________________________
#>  Part 2
#> 1
#> ________________________________________________________________________________
#>  Part 3
#> 1
#>
#> ________________________________________________________________________________
#>  Part 4
#>  1
#>
#> ________________________________________________________________________________
#>  Part 5
#> 1
#> ________________________________________________________________________________
#>  Report part 2
#>  1
#>
#> ________________________________________________________________________________
#>  Report part 4
#>  loading all the milestone data from part 4 this can take a few minutes
#>
#> ________________________________________________________________________________
#>  Report part 5
part3_filepath <- file.path(
  outdir, "output_test", "meta", "ms3.out",
  paste0("123A_testaccfile.csv.RData")
)
part5_filepath <- file.path(
  outdir, "output_test", "meta", "ms5.out",
  paste0("123A_testaccfile.csv.RData")
)
file.exists(part3_filepath) # the part 3 file exists
#> [1] TRUE
file.exists(part5_filepath) # but not the part 5
#> [1] FALSE

Created on 2022-10-17 with reprex v2.0.2
There is a check in part 5 to make sure the file was processed for sleep:
https://github.com/wadpac/GGIR/blob/f4e8b91648d5baa29fe77b9217844c0d624a9174/R/g.part5.R#L165
But this check would fail if nrows(summarysleep) == 1, which is one night of sleep?

We need at least 2 consecutive nights of sleep to say anything meaningful about time spent in a day. This applies regardless of whether we define the day from midnight to midnight (timewindow = MM) or from wakingup-wakingup (timewindow =WW).
Without sleep detected in the nights on which a day starts and ends it will be impossible to know how to handle lack of movement during that day because it could be part of sleep or it could be inactivity (sedentary behaviour). The primary aim of GGIR part 5 is to help segment the days in sleep, level of physical activity intensity.

I've managed to extract data from other files so I'm thinking something may
be wrong with the one that is getting this error (attached below)
Thanks for your help and patience!
This is what I'm using:
Week 1CBDINS040_left wrist_048331_2022-04-19 12...
https://drive.google.com/file/d/1EcvwsQyRxsahpdBFMJvVFSeik3DRSmdQ/view?usp=drive_web
library(GGIR)
g.shell.GGIR(
mode=c(1,2,3,4,5),
datadir="W_data",
outputdir="W_output",
do.report=c(2,4,5),
#=====================
Part 2
#=====================
strategy = 1,
hrs.del.start = 0,          hrs.del.end = 0,
maxdur = 9,                 includedaycrit = 16,
qwindow=c(0,24),
mvpathreshold =c(100),
bout.metric = 4,
excludefirstlast = FALSE,
includenightcrit = 16,
#=====================
Part 3 + 4
#=====================
def.noc.sleep = 1,
outliers.only = TRUE,
criterror = 4,
do.visual = TRUE,
#=====================
Part 5
#=====================
threshold.lig = c(30), threshold.mod = c(100),  threshold.vig = c(400),
boutcriter = 0.8,      boutcriter.in = 0.9,     boutcriter.lig = 0.8,
boutcriter.mvpa = 0.8, boutdur.in = c(1,10,30), boutdur.lig = c(1,10),
boutdur.mvpa = c(1),
includedaycrit.part5 = 2/3,
#=====================
Visual report
#=====================
timewindow = c("WW"),
visualreport=TRUE)
On Mon, Oct 17, 2022 at 6:41 PM Vincent van Hees @.***>
wrote:

We need at least 2 consecutive nights of sleep to say anything meaningful
about time spent in a day. This applies regardless of whether we define the
day from midnight to midnight (timewindow = MM) or from wakingup-wakingup
(timewindow =WW).
Without sleep detected in the nights on which a day starts and ends it
will be impossible to know how to handle lack of movement during that day
because it could be part of sleep or it could be inactivity (sedentary
behaviour). The primary aim of GGIR part 5 is to help segment the days in
sleep, level of physical activity intensity.
—
Reply to this email directly, view it on GitHub
https://github.com/wadpac/GGIR/issues/192#issuecomment-1280425204, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A3GAD7MEML42CRCIXMMZYRTWDT7KTANCNFSM4HZFW6FA
.
You are receiving this because you commented.Message ID:
@.***>

Something must have happened to the actigraphy watch resulting in <2 nights
of data from the looks of it.
On Thu, Oct 20, 2022 at 2:06 PM Andrea Narayan @.***>
wrote:

I've managed to extract data from other files so I'm thinking something
may be wrong with the one that is getting this error (attached below)
Thanks for your help and patience!
This is what I'm using:
Week 1CBDINS040_left wrist_048331_2022-04-19 12...
https://drive.google.com/file/d/1EcvwsQyRxsahpdBFMJvVFSeik3DRSmdQ/view?usp=drive_web
library(GGIR)
g.shell.GGIR(
mode=c(1,2,3,4,5),
datadir="W_data",
outputdir="W_output",
do.report=c(2,4,5),
#=====================
Part 2
#=====================
strategy = 1,
hrs.del.start = 0,          hrs.del.end = 0,
maxdur = 9,                 includedaycrit = 16,
qwindow=c(0,24),
mvpathreshold =c(100),
bout.metric = 4,
excludefirstlast = FALSE,
includenightcrit = 16,
#=====================
Part 3 + 4
#=====================
def.noc.sleep = 1,
outliers.only = TRUE,
criterror = 4,
do.visual = TRUE,
#=====================
Part 5
#=====================
threshold.lig = c(30), threshold.mod = c(100),  threshold.vig = c(400),
boutcriter = 0.8,      boutcriter.in = 0.9,     boutcriter.lig = 0.8,
boutcriter.mvpa = 0.8, boutdur.in = c(1,10,30), boutdur.lig = c(1,10),
boutdur.mvpa = c(1),
includedaycrit.part5 = 2/3,
#=====================
Visual report
#=====================
timewindow = c("WW"),
visualreport=TRUE)
On Mon, Oct 17, 2022 at 6:41 PM Vincent van Hees @.***>
wrote:

We need at least 2 consecutive nights of sleep to say anything meaningful
about time spent in a day. This applies regardless of whether we define the
day from midnight to midnight (timewindow = MM) or from wakingup-wakingup
(timewindow =WW).
Without sleep detected in the nights on which a day starts and ends it
will be impossible to know how to handle lack of movement during that day
because it could be part of sleep or it could be inactivity (sedentary
behaviour). The primary aim of GGIR part 5 is to help segment the days in
sleep, level of physical activity intensity.
—
Reply to this email directly, view it on GitHub
https://github.com/wadpac/GGIR/issues/192#issuecomment-1280425204, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A3GAD7MEML42CRCIXMMZYRTWDT7KTANCNFSM4HZFW6FA
.
You are receiving this because you commented.Message ID:
@.***>


Fix array length, sort context vars, console commands stack, context var list themeability (UPDATED)

Concerns addressed by this pull request:
Console

User can now navigate through the last 20 commands entered with alt+up/alt+down (when focused on the input of the text editor inside the console panel).
It's useful when you want to execute the same code multiple times or the last executed command contained an error.

Context var list

Fixes the array length when the length property of a context variable is undefined. It happens to me with $GLOBALS['GLOBALS'], for example, which is shown as $GLOBALS['GLOBALS'] array[undefined], but its value is really Array[0].
Now bool values are printed correctly as true/false (previously was being printed as 1/0).
Now using variable name instead fullname. (Reason: getting the whole access path to an array/object value was messing things up and making harder to read.)
Sorted: now all variables, keys (in case of array) and properties (in case of objects) are sorted in a natural, alphabetical ascending order, following the same behavior as PHP function ksort() (string keys first, numeric ones then).
Numeric keys are not enclosed between quotes anymore. This improves readability, since it's far easier to find any variable/key/property.
Themeable, which improves readability too, since it's far easier to distinguish the type of a value based on its color:

The default is to inherit the styles from the current atom theme for the language-php package. This way, one uses the same color codes in the editor and the panels from this package.
Now every label span is provided with new classes if it's a property of an object or a key of an array (otherwise it's a variable): syntax--property and syntax--numeric/syntax--string depending on the type.
Now every value span is provided with a class with the value type: syntax--array, syntax--bool, syntax--error, syntax--null, syntax--numeric, object, syntax--resource, syntax--string, or syntax--uninitialized.
Every span item uses the same syntax-php from the package language-php.
The top taxonomies (Locals/Superglobals/User defined constants) have the class syntax--type.

Editor

Fixes error when trying to change breakpoint configuration in a line with no breakpoint set.

Here is a screenshoot showing the improvements:

DISCLOSURE: I've made some CSS customizations apart. If some users like it, I could ship them with the PR (like the = and : to separate variables/keys/properties from their values, or the layout of the panels).

Over all I really like these adjustments. The only thing I'm not sure about is the sorting of arrays. My concern is that in general PHP sorts array keys internally in the order they were added to the array. If as user expects their arrays to follow PHP internals this might be confusing to see the keys order alpha-numerically. Thoughts?

Hi @cchamplin . I'm currently a little busy, but I'll try to split these features into multiple PRs ASAP.
The sorting of arrays is made only in the variables inspector widget to ease the searching of specific keys. I found it invaluable when searching for keys in $_GLOBALS or $_REQUEST. You can always get the real order by entering the variable in the console if you want.
BTW, the distribution shown in the screenshot and some styles are not included in this PR (I mean the icons and the layout of the widgets and the styles of the stack context, for example). I'm applying them through a customized styles.less inside Atom. Do you want me to make another PR for these styles as well?

@cgalvarez These are split into a few PRs. I've tried to use the --author flag when committing hopefully this gives you credit. I'm not sure how well that will work though, feel free to re-split them or pull them into your account and resubmit the PRs.

#252 Console History
#253 Themable
#254 Array Sorting (I've put this behind a feature flag to address @cchamplin 's concerns)
#255 Breakpoint Config BugFix
#256 Shorten to Variable Name instead of FullName ( @cgalvarez CSS needed for this please)


consumer offset larger than broker offset

BUG REPORT

Please describe the issue you observed:

When use ./mqadmin consumerProgress cmd  query consumer progress，the conusmer offset is lagger than broker offset on one broker.Another broker is all right.

Please tell us about your environment:

java 1.7,centos 7,rocketmq 3.2,rocketmq has 3 master 0 slaver

Other information

We delete the topic info on that broker.The operation is stop the broker and remove the topic/group infomation，then restart the broker.
We do not restart the consumer client and  consumer client occurs repeat consumption.

close due to too long, please reopen it if there is still a problem.


Please implement save function in your admin/index.html

Describe the bug
Trying to save any config Popup comes with "Please implement save function in your admin/index.html".
Screenshots & Logfiles
Screen attached
Versions:

Adapter version: 0.1.0
JS-Controller version: 4.0.24
Node version: v16.19.0
Operating system: linux

does it appear when you open the admin page (like described here https://forum.iobroker.net/topic/58606/adapter-sma-semp/90) or does it appear really when you press save button on the upper right corner?

With opening the admin page - as described. I'll double check more with the forum.
I now deleted 0.1.0 and went back to 0.0.5 via NPM, error gone. I'll continue testing...


wasmtime compile support for components

Feature
wasmtime compile does not currently support component binaries.
Benefit
The main use case I wanted to test here was component performance benchmarking, but this would of course be useful to component startup time and performance in general.
Implementation
I do not.
Alternatives
Suggestions with regards to alternatives for benchmarking workflows specifically would be very welcome.

Could you gist the error you're seeing? This should be supported already and locally I'm running:
wasmtime compile -Wcomponent-model <(echo "(component)")

which generates 11.cwasm locally in my current directory


Domain activation is Failed -  One or more of the CNAMEs you provided are already associated with a different resource.

App Id: d12vwpfgp9fawb
Region: eu-west-1
Step: Domain activation
Status: Failed
Issue/question
After configuring a domain for Amplify Console app, I get a following error:

Error message: One or more of the CNAMEs you provided are already associated with a different resource.

When I check the CNAME records in Route53, there exists only 1 record value that was created by Amplify Console process.
When I remove, and retry, still same error appears.
Error message

Error message: One or more of the CNAMEs you provided are already associated with a different resource.

Additional information
AWS Amplify Console:

Route53 records:

We are looking into this now.
The error message suggests that your domain mydomain.pl or www.mydomain.pl are already associated with a CloudFront distribution through another app. If you have done that yourself, you will need to remove that association to use with another Amplify app.

We don't see any record of www.mydomain.pl or mydomain.pl being associated with your app.
It does look like the domain you are attempting to activate is associated with another CloudFront distribution, however. That domain will need to be removed from the other distribution before you can associate it with your app.


Make the <ToastBar> page title match the component name

The documentation page for <ToastBar> has a title of <ToasterBar> which doesn't match the component (or the rest of the page)

Good catch! Thank you


"Execute the restore command to continue" messages in large projects cycle continuously

From @ryanbrandenburg on November 11, 2016 22:36

VSCode Version: 1.7.1
OS Version: Ubuntu 14.04

Steps to Reproduce:

Clone an AspNet Core repo with lots of projects (like aspnet/Mvc).
Open that folder in VS Code and wait for all the messages reading There are unresolved dependencies from 'project'. Please execute the restore command to continue. to appear.
From the command line run dotnet restore.
Observe the rapid scroll of the restore messages.

Copied from original issue: Microsoft/vscode#15387

This is essentially a duplicate of https://github.com/OmniSharp/omnisharp-vscode/issues/845.
In the latest release that just shipped, we added a csharp.suppressDotnetRestoreNotification which you can set for your project. After installing the update, do the following:

Open your project in Visual Studio Code
Select Preferences -> User Settings
In settings.json add the following:

    "csharp.suppressDotnetRestoreNotification": true

Now, close and reopen your project (or relaunch VS Code).

Does "csharp.suppressDotnetRestoreNotification": true only suppresses the notification or it does a dotnet restore and then suppress the notification?

@anshupitlia It only suppresses the warning.


How to allow volumeMounts to allow non-root containers to write to them?

This is just a question, and probably better for a discussion; but how have you gotten the CSI driver to allow non-root containers to write to the mount point? I have tried setting the securityContext but without any luck.

Well, I found this on the next google after I opened this issue and it appears to be working.
https://github.com/kubernetes/examples/issues/260#issuecomment-534160265

fyi I was able to get fsGroup working by specifying fsType in my StorageClass

For SMB you can add the mount option noperm to the storage class.


Merge related color names (theming) does not work

monaco-editor version: 0.15.6
Browser: Google Chrome 71
OS: Windows 10
Steps or JS usage snippet reproducing the issue:

Using both local webpack and the Playground version of Monaco link.
Edit the 'merge.*' color names (for example: 'merge.currentHeaderBackground')
Paste code with Git merge conflict does not work.

I don't find any reference in Monaco for 'merge.currentHeaderBackground', but in the Merge-Conflict extension in VS Code I can find a reference.
Should these "Color Names" related to merging work in Monaco?

This usually indicates some layer-breaking code... I suppose the color definitions are written in the editor, even through they are used by a VS Code extension.
@aeschli Shouldn't these move to the extension itself?

I assume the list of colors listed in https://github.com/Microsoft/monaco-editor/blob/master/website/playground/new-samples/customizing-the-appearence/exposed-colors/sample.js was retrieved from colorRegistry.ts
colorRegistry contains a set of colors that where intended to be used across UI parts. There might be more colors that don't appear in the Monaco editor. For the color documentation we probably need to be smarter and look for actual references or maybe put a system out to the color registry to see which colors are accessed.
That said, I agree that the merge colors shouldn't have been added to the comon colors and should be removed.

I can remove the colors from the samples


SchUseStrongCrypto and SystemDefaultTlsVersions registry keys are not retained after Windows 10 upgrades

If the SchUseStrongCrypto or SystemDefaultTlsVersions registry keys are set on a machine running a particular version of Windows 10 (e.g. v1709), and that machine is then upgraded to v1803, those registry keys are not retained and are no longer set.
It would probably be best for customers if these registry key settings were retained/migrated between Windows versions.
In the absence of that, I think it would be worthwhile calling out the behavior in this doc.

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

ID: 7341fa0a-f474-6c2d-d3c0-7e2df12fbb65
Version Independent ID: e99c489a-7518-d293-ad93-7eaca8b7191a
Content: Transport Layer Security (TLS) best practices with the .NET Framework
Content Source: docs/framework/network-programming/tls.md
Product: dotnet-framework
GitHub Login: @blowdart
Microsoft Alias: dotnetcontent

It's on the to be fixed list, as I'm sure you're aware.

The docs are going to be updated, or the registry keys are going to be retained?

The registry keys are getting listed so they are retained.

Ok, so do we want to add anything to the docs for now @blowdart?

@BrettLopez can make a decision


Improve code coverage

Don't add additional build flags during code coverage
Validate if code coverage numbers gets better (not messed up)

Maybe we should considering using https://github.com/apps/codecov


FO: Avoid Php fatal error "Smarty: Missing template name"

To fix http://forge.prestashop.com/browse/BOOM-4826

Hello,
thanks for the report and for the patch :+1: , wdyt @Quetzacoalt91 ?
Regards

Hmm I guess we just have to tell PrestaShop we send a ajax request.
Adding a ajax parameter seems to work. For instance in getScriptPlugins():
navinfo.ajax = "1";
$.post("'.Context::getContext()->link->getPageLink('statistics', (bool)(Tools::getShopProtocol() == 'https://')).'", navinfo);

Same in getScriptCustomerPagesViews():
[...]
pagetime.ajax = 1;
$.post("'.Context::getContext()->link->getPageLink('statistics', (bool)(Tools::getShopProtocol() == 'https://')).'", pagetime);

Hello, i got this error in prestashop <IP_ADDRESS> but the fix did not work propretly (fix this error but generate a new one)

Could you please update the method signature?

Sorry, but i did not understand

It's not for you @Gipielle but for @Pliciweb
Following this comment https://github.com/PrestaShop/statsdata/pull/7/files#r189799784

It's not for you @Gipielle but for @Pliciweb
Following this comment https://github.com/PrestaShop/statsdata/pull/7/files#r189799784

ok so the right fix is with
public function display($file, $template, $cache_id = NULL, $compile_id = NULL)
instead of public function display()
?

Hi @Pliciweb ,
Since we had no news from you for more than 30 days, I'll close this pull request. Feel free to reopen or open another one if you think it's still relevant.
Thanks!


Why are proxy events called... proxy events?

Title says it all. Is it because the event transforms into the name assigned to it? i.e "click" becomes "clicked" and handled as "clicked"?
Ractive({
  template: `
    <button type="button" on-click="clicked">Push me!</button>
  `,
  oninit(){
    this.on('clicked', event => {
      console.log('clicked');
    });
  }
});

I think it's because a DOM event gets wrapped up into a proxy object of sorts in order to be fired through Ractive's event system. When a component rewraps one of those, it was termed reproxying, which is where I thing the name came from originally - if refiring from a component using a different name and the same source event is reproxying, then the original fire must have been proxying. When method calls became available to event handlers and a name was needed to distinguish between the two flavors, the occasionally used proxy event name became the norm.


chore: bdd-spring-1573479727 to 0.0.1

chore: Promote bdd-spring-1573479727 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


IGAPP-1023: Footer overlay for map view desktop

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.
I adjusted the styles to the MapView Info on the right to be consistent. (confirmed by nikola)

This seems very confusing and complicated.
There is a prop overlay in Footer.tsx and LocationFooter.tsx -> makes sense There is a prop showFooter in LocationLayout.tsx, where we use LocationFooter -> makes sense
But why is there also a usage in PoisPage? So why is it needed in PoisPage and LocationLayout? And why is it set in PoisPage and also passed to MapView?
Edit: Tested on chrome

@SteffiStuffel i'm not 100% sure if i understood you right.
We pass the footer to the MapView because we want to render it in this MapView Container with the overlay prop.
Additionally we hide the normal footer.
I also thought about just styling footer as an overlay and positioning it absolute but then i would have to calculate the left positioning to not overlap with the side panel.
So what would be your proposal to simplify it?

Tested on firefox, good work :) I think the current approach is fine

On mobile the footer on the map is still shown but hidden behind the bottom sheet. What are the plans here?

there are two separate tickets. we need an overflowMenu where the footer infos gonna be included. One of these tickets is in NextUp


Support host mapping in TiSpark

What problem does this PR solve?
TiKV client supports custom HostMapping implementation in this PR: https://github.com/tikv/client-java/pull/171.
TiSpark implements the HostMapping interface and set a host-to-host mapping rule.
You can set it in the configuration file, such as:
spark.tispark.tikv.host_mapping = host1:host1_mapping;host2:host2_mapping

The host1 will be replaced by host1_mapping when TiSpark establishes or get a connection with TiKV.
When to use this configuration?
When your TiDB cluster is running on the intranet, while Spark is in another intranet, you need to set public IPs to the TiDB cluster in TiSpark for connecting Spark with TiDB. Because of the PD-leader-switch(to find a new leader PD and get started with an intranet IP of PD) in TiSpark, we always get an intranet IP of PD which can not be used to comminute from Spark to TiDB. Then, we need a host mapping to make Spark always use a public IP to connect PD.
What is changed and how it works?
Custom host mapping rule, and use rule in ChannelFactory.
// Custom host mapping
public class UriHostMapping implements HostMapping {

  private static final Logger logger = LoggerFactory.getLogger(UriHostMapping.class.getName());
  private ConcurrentMap<String, String> hostMapping = null;

  // Parsing the host mapping configuration
  // Set a map that stores the mapping rule, such as {host1: host1_mapping; host2: host2_mapping}
  public UriHostMapping(String hostMappingString) {
      ...
  }

  // If the URI has a mapping rule, return the mapping rule. If not return itself.
  @Override
  public URI getMappedURI(URI uri) {
  }
}

// In ChannelFactory use rule
private ManagedChannel addrToChannel(SslContextBuilder sslContextBuilder, String addressStr, HostMapping mapping){
    ...
    // Get host mapping
    mapped = mapping.getMappedURI(address);

    // use mapped to connect to TiKV
     ...
}

Check List
Tests

Unit test
Integration test

Code changes

Has exported function/method change
Has exported variable/fields change

Related changes

Need to update the documentation
Need to be included in the release note

it seems we don't support host mapping with Datasource option?

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/merge


Update default instructions to configure the provider

api_token is preferred over email + api_key

ok @jacobbednarz I see, thought this was an easier win. Closing the PR.


Feature/obj 250 remove non printable characters

Copied from extensions but added regex to ensure that we have single spaces between words and added testing for this.

Unfortunately sonar is still not happy, I would suggest creating a set of accepted characters, and iterate over the input, and if the character is not in accepted set, removing it


Feature: delete_from_pipedrive

Codecov Report

Merging #27 into master will increase coverage by 0.74%.
The diff coverage is 82.75%.

@@            Coverage Diff             @@
##           master      #27      +/-   ##
==========================================
+ Coverage   60.92%   61.66%   +0.74%
==========================================
  Files          22       22
  Lines        1630     1659      +29
==========================================
+ Hits          993     1023      +30
+ Misses        637      636       -1


License expired message

Hi, I've installed branch shield-support of docker-elk (I just created the my own image to deploy to machine: https://github.com/lucj/docker-elk/tree/shield-support) and I now have the "Status: Red" message with:
 [security_exception] current license is non-compliant for [shield], with: {"license.expired.feature":"shield"}

How to you handle the license update when using shield ?

As stated in the documentation, a 30 day trial license is shipped with the Shield installation, see: https://www.elastic.co/guide/en/shield/current/license-management.html
I guess that you could just recreate the Elasticsearch container in order to re-create a new installation and a new license.

Thanks, I missed this part :)
Trying to re-create the ES container did not work but I'm trying to add a nginx based solution to secure the thing. https-portal (Docker / Let's Encrypt / Nginx) is great for this purpose.

Can you please turn this off by default or give information here how this can be disabled. The trial period is over and the logs are full of the expiration errors.

@xermus literally the first note in the README.


Adding Sort, ToSortedList

Pull Request Test Coverage Report for Build 63

86 of 103 (83.5%)  changed or added relevant lines in 8 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 87.362%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/rx/objects/BehaviorSubject.mon
0
2
0.0%

src/rx/objects/ReplaySubject.mon
0
2
0.0%

src/rx/operators/internals/ToSortedList.mon
15
17
88.24%

src/rx/operators/ToSortedList.mon
15
17
88.24%

src/rx/utils/Heap.mon
33
42
78.57%

Totals

Change from base Build 61:
0.4%

Covered Lines:
2040

Relevant Lines:
2324

💛  - Coveralls


Develop

Codecov Report

Merging #442 into develop will decrease coverage by 0.20%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #442      +/-   ##
===========================================
- Coverage    68.71%   68.51%   -0.21%
===========================================
  Files          216      216
  Lines        11777    11777
===========================================
- Hits          8093     8069      -24
- Misses        3684     3708      +24

Impacted Files
Coverage Δ

framework/tests/dataSource/dataSourceUnitTest.cpp
67.69% <0.00%> (-26.16%)
:arrow_down:

mediaPlayer/SuperMediaPlayerDataSourceListener.cpp
61.90% <0.00%> (-19.05%)
:arrow_down:

mediaPlayer/player_msg_control.cpp
77.77% <0.00%> (-7.15%)
:arrow_down:

framework/data_source/curl/curl_data_source.cpp
84.01% <0.00%> (-2.87%)
:arrow_down:

framework/data_source/curl/CURLConnection.cpp
72.00% <0.00%> (-2.00%)
:arrow_down:

framework/demuxer/avFormatDemuxer.cpp
78.57% <0.00%> (-1.72%)
:arrow_down:

mediaPlayer/buffer_controller.cpp
50.00% <0.00%> (-1.70%)
:arrow_down:

mediaPlayer/media_packet_queue.cpp
74.40% <0.00%> (-1.60%)
:arrow_down:

framework/demuxer/demuxer_service.cpp
83.63% <0.00%> (-1.22%)
:arrow_down:

mediaPlayer/SuperMediaPlayer.cpp
73.86% <0.00%> (+0.22%)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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


fix(questionnaire): added phone number requirements

added a regex to accept phone numbers with the format below and then removed all non numbers from them. It will accept all E.164 formatted numbers (IE +11234567890)
(123) 456-7890
(123)456-7890
123-456-7890
123.456.7890
1234567890
+31636363634
075-63546725
+123(203)1234567
+011234567890
+234-9-461-4000
+234-09-461-4000