[Security Manager Replacement] Strengthen OS core security via systemd configuration

Please describe the end goal of this project
The OS core's security in absence of security manager can be strengthened by using a stronger systemd unit configuration.   We can imagine this as sandboxing via systemd protecting itself from vulnerability in core or untrusted code (plugins).     However, this is not a complete replacement of security manager,  a part of it like controlling access to egress network, controlling access to specific file locations can be sought as a replacement.  Some of the newly introduced configs will add more security than what is being offered by security manager.
Supporting References
https://github.com/opensearch-project/OpenSearch/issues/1687
Issues
https://github.com/opensearch-project/OpenSearch/issues/16634
Related component
Other

A list of systemd polcies which could be useful
NoNewPrivileges=true                  # Prevent acquiring new privileges
PrivateTmp=true                       # Use dedicated /tmp
PrivateUsers=true                     # Hide system users
PrivateDevices=true                   # Prevent access to /dev
ProtectHome=true                      # Hide user homes
ProtectControlGroups=true             # Prevent modifications to the control group filesystem
ProtectKernelModules=true             # Prevent loading or reading kernel modules
ProtectKernelTunables=true            # Prevent altering kernel tunables
ProtectSystem=strict                  # Restrict access to /usr and /boot (use 'full' or 'strict')
DevicePolicy=closed
ProtectProc=invisible
ProtectSystem=full
ProtectControlGroups=yes
LockPersonality=yes

# System call filtering
# System call filterings which restricts which system calls a process can make
# @ means allowed
# ~ means not allowed
SystemCallFilter=@system-service
SystemCallFilter=~@clock
SystemCallFilter=~@cpu-emulation
SystemCallFilter=~@obsolete
SystemCallFilter=~@reboot
SystemCallFilter=~@swap
SystemCallFilter=~@clock
SystemCallFilter=~@debug
SystemCallFilter=~@module
SystemCallFilter=~@mount
SystemCallFilter=~@raw-io
SystemCallFilter=~@resources
SystemCallFilter=~@cpu-emulation
SystemCallFilter=~@obsolete

SystemCallErrorNumber=EPERM

# Capability restrictions
# Remove the ability to block system suspends
CapabilityBoundingSet=~CAP_BLOCK_SUSPEND

# Remove the ability to establish leases on files
CapabilityBoundingSet=~CAP_LEASE

# Remove the ability to use system resource accounting
CapabilityBoundingSet=~CAP_SYS_PACCT

# Remove the ability to configure TTY devices
CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG

# Remov below capabilities:
# - CAP_SYS_ADMIN: Various system administration operations
# - CAP_SYS_PTRACE: Ability to trace processes
# - CAP_NET_ADMIN: Various network-related operations
CapabilityBoundingSet=~CAP_SYS_ADMIN ~CAP_SYS_PTRACE ~CAP_NET_ADMIN

# Address family restrictions
RestrictAddressFamilies=~AF_INET ~AF_INET6 ~AF_NETLINK ~AF_PACKET ~AF_UNIX

# Filesystem Access

ReadWritePaths=/var/log/elasticsearch /var/lib/opensearch

# Namespace restrictions
# ~CLONE_NEWCGROUP: Prevents creation of new cgroup namespaces
# ~CLONE_NEWIPC: Prevents creation of new IPC namespaces
# ~CLONE_NEWNET: Prevents creation of new network namespaces
# ~CLONE_NEWNS: Prevents creation of new mount namespaces
# ~CLONE_NEWPID: Prevents creation of new PID namespaces
# ~CLONE_NEWUSER: Prevents creation of new user namespaces
# ~CLONE_NEWUTS: Prevents creation of new UTS namespaces
RestrictNamespaces=true
RestrictNamespaces=~CLONE_NEWCGROUP ~CLONE_NEWIPC ~CLONE_NEWNET ~CLONE_NEWNS ~CLONE_NEWPID ~CLONE_NEWUSER ~CLONE_NEWUTS

# Memory and execution protection
MemoryDenyWriteExecute=true           # Prevent creating writable executable memory mappings
SystemCallArchitectures=native        # Allow only native system calls
KeyringMode=private                   # Service does not share key material with other services
LockPersonality=true                  # Prevent changing ABI personality
RestrictSUIDSGID=true                 # Prevent creating SUID/SGID files
RestrictRealtime=true                 # Prevent acquiring realtime scheduling
ProtectHostname=true                  # Prevent changes to system hostname
ProtectKernelLogs=true                # Prevent reading/writing kernel logs
ProtectClock=true                     # Prevent tampering with the system clock

# Socket restrictions
SocketBindAllow=tcp:9200
SocketBindAllow=tcp:9201
SocketBindDeny=any                    # Deny all other socket bindings

# Optional directives
IPAddressDeny=                       # Deny access to specific IP addresses
PrivateNetwork=true                  # Use a private network namespace

nice to see this work here, especially sandboxing things such as filesystem with systemd fills a big gap that security manager was doing, and IMO does it in a much better way.
I'd be curious to see change in reported exposure level from systemd-analyze security opensearch.service with your improvements.

thanks @rmuir.  I will post the results from systemd-analyze security opensearch.service.

You don't need to have all the SystemCallFilter= entries. Most of what you have listed is already excluded via @system-service.
i'd nuke all the CapabilityBoundingSet  entries, just replace with CapabilityBoundingSet=. I'd set NoNewPrivileges=true along the same lines of not allowing escalation.
Same goes with your RestrictNamespaces= entries, they are not needed. it is enough to just set RestrictNamespaces=true.

Ack @rmuir, I'll make changes as suggested by you, all your comments makes sense to me. I am going to try out the actual integration tomorrow and post results.

@andrross  -- thanks for bringing up the testing part of it. I will think more about it.  At the moment, I could think of having a test.service  which gets spawned in test suite and verifies that it doesn't have access to restricted resources, e.g;  no read/ write access to var/log/elasticsearch.
I don't think we will be able to get a full coverage, but we can cover for the most critical ones. And yes, it would be rare we'd be changing the configs.

Adding the output of systemd-analyze security opensearch.service Before vs After
Before
(represents the systemd config currently shipped with 2.18)
→ Overall exposure level for opensearch.service: 8.8 EXPOSED 🙁

After
(systemd configs edited to add restrictive policies)
→ Overall exposure level for opensearch.service: 4.6 OK 🙂

Full report
✓ AmbientCapabilities=                                        Service process does not receive ambient capabilities
✗ PrivateDevices=                                             Service potentially has access to hardware devices                                                       0.2
✗ ProtectClock=                                               Service may write to the hardware clock or system clock                                                  0.2
✗ CapabilityBoundingSet=~CAP_KILL                             Service may send UNIX signals to arbitrary processes                                                     0.1
✗ ProtectKernelLogs=                                          Service may read from or write to the kernel log ring buffer                                             0.2
✗ CapabilityBoundingSet=~CAP_WAKE_ALARM                       Service may program timers that wake up the system                                                       0.1
✗ CapabilityBoundingSet=~CAP_(DAC_*|FOWNER|IPC_OWNER)         Service may override UNIX file/IPC permission checks                                                     0.2
✗ CapabilityBoundingSet=~CAP_LINUX_IMMUTABLE                  Service may mark files immutable                                                                         0.1
✗ CapabilityBoundingSet=~CAP_IPC_LOCK                         Service may lock memory into RAM                                                                         0.1
✗ CapabilityBoundingSet=~CAP_SYS_BOOT                         Service may issue reboot()                                                                               0.1
✗ CapabilityBoundingSet=~CAP_SYS_CHROOT                       Service may issue chroot()                                                                               0.1
✓ SystemCallArchitectures=                                    Service may execute system calls only with native ABI
✗ MemoryDenyWriteExecute=                                     Service may create writable executable memory mappings                                                   0.1
✗ CapabilityBoundingSet=~CAP_MKNOD                            Service may create device nodes                                                                          0.1
✗ RestrictSUIDSGID=                                           Service may create SUID/SGID files                                                                       0.2
✗ ProtectHostname=                                            Service may change system host/domainname                                                                0.1
✗ CapabilityBoundingSet=~CAP_(CHOWN|FSETID|SETFCAP)           Service may change file ownership/access mode/capabilities unrestricted                                  0.2
✗ CapabilityBoundingSet=~CAP_SET(UID|GID|PCAP)                Service may change UID/GID identities/capabilities                                                       0.3
✗ RestrictAddressFamilies=~AF_PACKET                          Service may allocate packet sockets                                                                      0.2
✗ RestrictAddressFamilies=~AF_NETLINK                         Service may allocate netlink sockets                                                                     0.1
✗ RestrictAddressFamilies=~AF_UNIX                            Service may allocate local sockets                                                                       0.1
✗ RestrictAddressFamilies=~…                                  Service may allocate exotic sockets                                                                      0.3
✗ CapabilityBoundingSet=~CAP_MAC_*                            Service may adjust SMACK MAC                                                                             0.1
✗ RestrictRealtime=                                           Service may acquire realtime scheduling                                                                  0.1
✗ ProtectSystem=                                              Service has very limited write access to the OS file hierarchy                                           0.1
✓ ProtectProc=                                                Service has restricted access to process tree (/proc hidepid=)
✗ CapabilityBoundingSet=~CAP_SYS_RAWIO                        Service has raw I/O access                                                                               0.2
✗ CapabilityBoundingSet=~CAP_SYS_PTRACE                       Service has ptrace() debugging abilities                                                                 0.3
✗ CapabilityBoundingSet=~CAP_SYS_(NICE|RESOURCE)              Service has privileges to change resource use parameters                                                 0.1
✓ SupplementaryGroups=                                        Service has no supplementary groups
✓ CapabilityBoundingSet=~CAP_SYS_ADMIN                        Service has no administrator privileges
✓ PrivateTmp=                                                 Service has no access to other software's temporary files
✗ CapabilityBoundingSet=~CAP_NET_ADMIN                        Service has network configuration privileges                                                             0.2
✗ ProcSubset=                                                 Service has full access to non-process /proc files (/proc subset=)                                       0.1
✗ ProtectHome=                                                Service has full access to home directories                                                              0.2
✗ CapabilityBoundingSet=~CAP_NET_(BIND_SERVICE|BROADCAST|RAW) Service has elevated networking privileges                                                               0.1
✗ CapabilityBoundingSet=~CAP_AUDIT_*                          Service has audit subsystem access                                                                       0.1
✗ PrivateNetwork=                                             Service has access to the host's network                                                                 0.5
✗ PrivateUsers=                                               Service has access to other users                                                                        0.2
✗ CapabilityBoundingSet=~CAP_SYSLOG                           Service has access to kernel logging                                                                     0.1
✓ DeviceAllow=                                                Service has a minimal device ACL
✓ KeyringMode=                                                Service doesn't share key material with other services
✓ Delegate=                                                   Service does not maintain its own delegated control group subtree
✗ IPAddressDeny=                                              Service does not define an IP address allow list                                                         0.2
✓ NotifyAccess=                                               Service child processes cannot alter service state
✓ CapabilityBoundingSet=~CAP_SYS_PACCT                        Service cannot use acct()
✓ ProtectControlGroups=                                       Service cannot modify the control group file system
✓ ProtectKernelModules=                                       Service cannot load or read kernel modules
✓ CapabilityBoundingSet=~CAP_SYS_MODULE                       Service cannot load kernel modules
✓ CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG                   Service cannot issue vhangup()
✓ PrivateMounts=                                              Service cannot install system mounts
✓ CapabilityBoundingSet=~CAP_BLOCK_SUSPEND                    Service cannot establish wake locks
✓ RestrictNamespaces=~user                                    Service cannot create user namespaces
✓ RestrictNamespaces=~pid                                     Service cannot create process namespaces
✓ RestrictNamespaces=~net                                     Service cannot create network namespaces
✓ RestrictNamespaces=~uts                                     Service cannot create hostname namespaces
✓ RestrictNamespaces=~mnt                                     Service cannot create file system namespaces
✓ CapabilityBoundingSet=~CAP_LEASE                            Service cannot create file leases
✓ RestrictNamespaces=~cgroup                                  Service cannot create cgroup namespaces
✓ RestrictNamespaces=~ipc                                     Service cannot create IPC namespaces
✓ LockPersonality=                                            Service cannot change ABI personality
✓ ProtectKernelTunables=                                      Service cannot alter kernel tunables (/proc/sys, …)
✓ RestrictAddressFamilies=~AF_(INET|INET6)                    Service cannot allocate Internet sockets
✗ UMask=                                                      Files created by service are world-readable by default                                                   0.1

→ Overall exposure level for opensearch.service: 4.6 OK 🙂

yes, you need to test systemd service works (using vm or container).
But lack of testing for the systemd service is nothing new with this issue, it is a pre-existing condition as there is already a systemd service being shipped, just with an EXPOSED configuration.

and the change will come anyway, probably via distros if you dont do it yourself (e.g. https://fedoraproject.org/wiki/Changes/SystemdSecurityHardening). Distros will probably just let end-users be the testers, so you might as well get ahead of it

we actually used to have full fledged disto tests (see please [1]), driven by VMs and vagrant, but I am not it in a good shape now, it has not been run for a looong time
[1] https://github.com/opensearch-project/OpenSearch/issues/538

Here's example docker-compose.yml to get you started. In practice you might use testcontainer for java integration, so you'd pass the equivalent flags to docker, but this goes healthy and plumbs logs to stdout and illustrates how to do it with amazonlinux 2023, installing the RPM:
---
services:
  # self-contained systemd example: run 'docker-compose up' to see it
  amazonlinux:
    build:
      dockerfile_inline: |
        FROM amazonlinux:2023
        # install systemd
        RUN dnf -y install systemd && dnf clean all
        # in practice, you'd COPY in the RPM you want to test right here
        RUN dnf -y install https://artifacts.opensearch.org/releases/bundle/opensearch/2.18.0/opensearch-2.18.0-linux-x64.rpm && dnf clean all
        # no colors
        ENV SYSTEMD_COLORS=0
        # no escapes
        ENV SYSTEMD_URLIFY=0
        # explicitly specify docker virtualization
        ENV container=docker
        # for debugging systemd issues in container, you want this, but it is very loud!
        # ENV SYSTEMD_LOG_LEVEL=debug
        # plumb journald logs to stdout
        COPY <<EOF /etc/systemd/journald.conf
        [Journal]
        ForwardToConsole=yes
        EOF
        # start systemd as PID 1
        CMD ["/sbin/init"]
        # enable opensearch service
        RUN systemctl enable opensearch
        # shutdown systemd properly
        STOPSIGNAL SIGRTMIN+3
        # disable security plugin, as i don't configure SSL (but could be done with openssl or whatever right here)
        RUN echo "plugins.security.disabled: true" >> /etc/opensearch/opensearch.yml
    # provide /dev/console for journal logs to go to stdout
    tty: true
    # capabilities to allow systemd to sandbox
    cap_add:
      # https://systemd.io/CONTAINER_INTERFACE/#what-you-shouldnt-do bullet 1
      - SYS_ADMIN
      # https://systemd.io/CONTAINER_INTERFACE/#what-you-shouldnt-do bullet 2
      - MKNOD
    # evil, but best you can do on docker? podman is better here.
    cgroup: host
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup
    # tmpfs mounts for systemd
    tmpfs:
      - /run
      - /run/lock
    # health check for opensearch
    healthcheck:
      test: ["CMD", "curl", "-f", "http://<IP_ADDRESS>:9200/_cluster/health"]

And here's what the output looks like on docker-compose up:
amazonlinux-1  | systemd 252.23-2.amzn2023 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP -GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 -BZIP2 -LZ4 +XZ -ZLIB -ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
amazonlinux-1  | Detected virtualization docker.
amazonlinux-1  | Detected architecture x86-64.
amazonlinux-1  |
amazonlinux-1  | Welcome to Amazon Linux 2023.6.20241121!
amazonlinux-1  |
amazonlinux-1  | Failed to open libbpf, cgroup BPF features disabled: Operation not supported
amazonlinux-1  | Queued start job for default target graphical.target.
amazonlinux-1  | [  OK  ] Created slice system-getty.slice - Slice /system/getty.
amazonlinux-1  | [  OK  ] Created slice system-modprobe.slice - Slice /system/modprobe.
amazonlinux-1  | [  OK  ] Created slice user.slice - User and Session Slice.
amazonlinux-1  | [  OK  ] Started systemd-ask-password-consol…quests to Console Directory Watch.
amazonlinux-1  | [  OK  ] Started systemd-ask-password-wall.p… Requests to Wall Directory Watch.
amazonlinux-1  | [  OK  ] Reached target paths.target - Path Units.
amazonlinux-1  | [  OK  ] Reached target remote-fs.target - Remote File Systems.
amazonlinux-1  | [  OK  ] Reached target slices.target - Slice Units.
amazonlinux-1  | [  OK  ] Reached target swap.target - Swaps.
amazonlinux-1  | [  OK  ] Listening on systemd-initctl.socket… initctl Compatibility Named Pipe.
amazonlinux-1  | [  OK  ] Listening on systemd-journald-dev-l…ocket - Journal Socket (/dev/log).
amazonlinux-1  | [  OK  ] Listening on systemd-journald.socket - Journal Socket.
amazonlinux-1  | [  OK  ] Listening on systemd-userdbd.socket - User Database Manager Socket.
amazonlinux-1  |          Mounting dev-hugepages.mount - Huge Pages File System...
amazonlinux-1  | tmp.mount: Directory /tmp to mount over is not empty, mounting anyway.
amazonlinux-1  |          Mounting tmp.mount - Temporary Directory /tmp...
amazonlinux-1  |          Mounting sys-fs-fuse-connections.mount - FUSE Control File System...
amazonlinux-1  |          Starting systemd-journald.service - Journal Service...
amazonlinux-1  |          Starting systemd-network-generator.… units from Kernel command line...
amazonlinux-1  |          Starting systemd-sysusers.service - Create System Users...
amazonlinux-1  | [  OK  ] Mounted dev-hugepages.mount - Huge Pages File System.
amazonlinux-1  | [  OK  ] Mounted tmp.mount - Temporary Directory /tmp.
amazonlinux-1  | [  OK  ] Mounted sys-fs-fuse-connections.mount - FUSE Control File System.
amazonlinux-1  | [  OK  ] Reached target local-fs.target - Local File Systems.
amazonlinux-1  |          Starting ldconfig.service - Rebuild Dynamic Linker Cache...
amazonlinux-1  | [  OK  ] Finished systemd-network-generator.…rk units from Kernel command line.
amazonlinux-1  | [  OK  ] Reached target network-pre.target - Preparation for Network.
amazonlinux-1  | [  OK  ] Finished ldconfig.service - Rebuild Dynamic Linker Cache.
amazonlinux-1  | [  OK  ] Finished systemd-sysusers.service - Create System Users.
amazonlinux-1  | [  OK  ] Started systemd-journald.service - Journal Service.
amazonlinux-1  |          Starting systemd-journal-flush.serv…h Journal to Persistent Storage...
amazonlinux-1  | [ 3917.820316] systemd[1]: Starting systemd-journal-flush.service - Flush Journal to Persistent Storage...
amazonlinux-1  | [  OK  ] Finished systemd-journal-flush.serv…ush Journal to Persistent Storage.
amazonlinux-1  | [ 3917.878195] systemd[1]: Finished systemd-journal-flush.service - Flush Journal to Persistent Storage.
amazonlinux-1  |          Starting systemd-tmpfiles-setup.ser… Volatile Files and Directories...
amazonlinux-1  | [ 3917.903470] systemd[1]: Starting systemd-tmpfiles-setup.service - Create Volatile Files and Directories...
amazonlinux-1  | [ 3917.915369] systemd-tmpfiles[25]: /usr/lib/tmpfiles.d/opensearch.conf:1: Line references path below legacy directory /var/run/, updating /var/run/opensearch → /run/opensearch; please update the tmpfiles.d/ drop-in file accordingly.
amazonlinux-1  | [  OK  ] Finished systemd-tmpfiles-setup.ser…te Volatile Files and Directories.
amazonlinux-1  | [ 3917.922326] systemd[1]: Finished systemd-tmpfiles-setup.service - Create Volatile Files and Directories.
amazonlinux-1  |          Starting systemd-journal-catalog-up…rvice - Rebuild Journal Catalog...
amazonlinux-1  | [ 3917.924580] systemd[1]: Starting systemd-journal-catalog-update.service - Rebuild Journal Catalog...
amazonlinux-1  |          Starting systemd-resolved.service - Network Name Resolution...
amazonlinux-1  | [ 3917.928541] systemd[1]: Starting systemd-resolved.service - Network Name Resolution...
amazonlinux-1  |          Starting systemd-update-utmp.servic…rd System Boot/Shutdown in UTMP...
amazonlinux-1  | [ 3917.930464] systemd[1]: Starting systemd-update-utmp.service - Record System Boot/Shutdown in UTMP...
amazonlinux-1  | [ 3917.950979] systemd[1]: Finished systemd-update-utmp.service - Record System Boot/Shutdown in UTMP.
amazonlinux-1  | [  OK  ] Finished systemd-update-utmp.servic…cord System Boot/Shutdown in UTMP.
amazonlinux-1  | [  OK  ] Finished systemd-journal-catalog-up…service - Rebuild Journal Catalog.
amazonlinux-1  | [ 3917.962861] systemd[1]: Finished systemd-journal-catalog-update.service - Rebuild Journal Catalog.
amazonlinux-1  |          Starting systemd-update-done.service - Update is Completed...
amazonlinux-1  | [ 3917.984708] systemd[1]: Starting systemd-update-done.service - Update is Completed...
amazonlinux-1  | [  OK  ] Finished systemd-update-done.service - Update is Completed.
amazonlinux-1  | [ 3917.992563] systemd[1]: Finished systemd-update-done.service - Update is Completed.
amazonlinux-1  | [ 3918.013839] systemd-resolved[28]: Positive Trust Anchors:
amazonlinux-1  | [ 3918.014029] systemd-resolved[28]: . IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
amazonlinux-1  | [ 3918.014122] systemd-resolved[28]: Negative trust anchors: home.arpa 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa 26.172.in-addr.arpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-addr.arpa 30.172.in-addr.arpa 31.172.in-addr.arpa 168.192.in-addr.arpa d.f.ip6.arpa corp home internal intranet lan local private test
amazonlinux-1  | [ 3918.057989] systemd-resolved[28]: Using system hostname '1ccf8eb8209e'.
amazonlinux-1  | [  OK  ] Started systemd-resolved.service - Network Name Resolution.
amazonlinux-1  | [  OK  ] Reached target network.target - Network.
amazonlinux-1  | [  OK  ] Reached target nss-lookup.target - Host and Network Name Lookups.
amazonlinux-1  | [  OK  ] Reached target sysinit.target - System Initialization.
amazonlinux-1  | [ 3918.059036] systemd[1]: Started systemd-resolved.service - Network Name Resolution.
amazonlinux-1  | [  OK  ] Started systemd-tmpfiles-clean.time… Cleanup of Temporary Directories.
amazonlinux-1  | [ 3918.059138] systemd[1]: Reached target network.target - Network.
amazonlinux-1  | [  OK  ] Reached target timers.target - Timer Units.
amazonlinux-1  | [ 3918.059219] systemd[1]: Reached target nss-lookup.target - Host and Network Name Lookups.
amazonlinux-1  | [ 3918.059287] systemd[1]: Reached target sysinit.target - System Initialization.
amazonlinux-1  | [ 3918.059352] systemd[1]: fstrim.timer - Discard unused blocks once a week was skipped because of an unmet condition check (ConditionVirtualization=!container).
amazonlinux-1  | [ 3918.059396] systemd[1]: Started systemd-tmpfiles-clean.timer - Daily Cleanup of Temporary Directories.
amazonlinux-1  | [  OK  ] Listening on dbus.socket - D-Bus System Message Bus Socket.
amazonlinux-1  | [ 3918.059435] systemd[1]: Reached target timers.target - Timer Units.
amazonlinux-1  | [  OK  ] Reached target sockets.target - Socket Units.
amazonlinux-1  | [ 3918.059480] systemd[1]: Listening on dbus.socket - D-Bus System Message Bus Socket.
amazonlinux-1  | [ 3918.059542] systemd[1]: Reached target sockets.target - Socket Units.
amazonlinux-1  | [  OK  ] Reached target basic.target - Basic System.
amazonlinux-1  | [ 3918.059629] systemd[1]: rpmdb-rebuild.service - RPM database rebuild was skipped because of an unmet condition check (ConditionPathExists=/var/lib/rpm/.rebuilddb).
amazonlinux-1  | [ 3918.059717] systemd[1]: Reached target basic.target - Basic System.
amazonlinux-1  |          Starting opensearch.service - OpenSearch...
amazonlinux-1  | [ 3918.090128] systemd[1]: Starting opensearch.service - OpenSearch...
amazonlinux-1  |          Starting systemd-logind.service - User Login Management...
amazonlinux-1  | [ 3918.093908] systemd[1]: Starting systemd-logind.service - User Login Management...
amazonlinux-1  |          Starting systemd-user-sessions.service - Permit User Sessions...
amazonlinux-1  | [ 3918.095444] systemd[1]: Starting systemd-user-sessions.service - Permit User Sessions...
amazonlinux-1  |          Starting dbus-broker.service - D-Bus System Message Bus...
amazonlinux-1  | [ 3918.105242] systemd[1]: Starting dbus-broker.service - D-Bus System Message Bus...
amazonlinux-1  | [  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.
amazonlinux-1  | [ 3918.109489] systemd[1]: Finished systemd-user-sessions.service - Permit User Sessions.
amazonlinux-1  | [ 3918.114346] systemd[1]: Started console-getty.service - Console Getty.
amazonlinux-1  | [  OK  ] Started console-getty.service - Console Getty.
amazonlinux-1  | [ 3918.114778] systemd[1]<EMAIL_ADDRESS>- Getty on tty1 was skipped because of an unmet condition check (ConditionPathExists=/dev/tty0).
amazonlinux-1  | [  OK  ] Reached target getty.target - Login Prompts.
amazonlinux-1  | [ 3918.118393] systemd[1]: Reached target getty.target - Login Prompts.
amazonlinux-1  | [  OK  ] Started dbus-broker.service - D-Bus System Message Bus.
amazonlinux-1  | [ 3918.133416] systemd[1]: Started dbus-broker.service - D-Bus System Message Bus.
amazonlinux-1  | [ 3918.146793] dbus-broker-lau[34]: Ready
amazonlinux-1  | [ 3918.162058] systemd-logind[32]: New seat seat0.
amazonlinux-1  | [ 3918.163172] systemd[1]: Started systemd-logind.service - User Login Management.
amazonlinux-1  | [  OK  ] Started systemd-logind.service - User Login Management.
amazonlinux-1  | [ 3920.033244] systemd-entrypoint[31]: WARNING: Using incubator modules: jdk.incubator.vector
amazonlinux-1  | [ 3920.114166] systemd-entrypoint[31]: WARNING: A terminally deprecated method in java.lang.System has been called
amazonlinux-1  | [ 3920.114471] systemd-entrypoint[31]: WARNING: System::setSecurityManager has been called by org.opensearch.bootstrap.OpenSearch (file:/usr/share/opensearch/lib/opensearch-2.18.0.jar)
amazonlinux-1  | [ 3920.114635] systemd-entrypoint[31]: WARNING: Please consider reporting this to the maintainers of org.opensearch.bootstrap.OpenSearch
amazonlinux-1  | [ 3920.114775] systemd-entrypoint[31]: WARNING: System::setSecurityManager will be removed in a future release
amazonlinux-1  | [ 3921.025461] systemd-entrypoint[31]: Dec 03, 2024 4:13:30 AM sun.util.locale.provider.LocaleProviderAdapter <clinit>
amazonlinux-1  | [ 3921.025731] systemd-entrypoint[31]: WARNING: COMPAT locale provider will be removed in a future release
amazonlinux-1  | [ 3921.698362] systemd-entrypoint[31]: WARNING: A terminally deprecated method in java.lang.System has been called
amazonlinux-1  | [ 3921.698619] systemd-entrypoint[31]: WARNING: System::setSecurityManager has been called by org.opensearch.bootstrap.Security (file:/usr/share/opensearch/lib/opensearch-2.18.0.jar)
amazonlinux-1  | [ 3921.698840] systemd-entrypoint[31]: WARNING: Please consider reporting this to the maintainers of org.opensearch.bootstrap.Security
amazonlinux-1  | [ 3921.699116] systemd-entrypoint[31]: WARNING: System::setSecurityManager will be removed in a future release
amazonlinux-1  |
amazonlinux-1  | Amazon Linux 2023.6.20241121
amazonlinux-1  | Kernel 6.12.1-arch1-1 on an x86_64 (-)
amazonlinux-1  |
amazonlinux-1  | 1ccf8eb8209e login: [ 3939.110104] systemd[1]: Started opensearch.service - OpenSearch.
amazonlinux-1  | [ 3939.110324] systemd[1]: Reached target multi-user.target - Multi-User System.
amazonlinux-1  | [ 3939.111288] systemd[1]: Reached target graphical.target - Graphical Interface.
amazonlinux-1  | [ 3939.150804] systemd[1]: Starting systemd-update-utmp-runlevel.service - Record Runlevel Change in UTMP...
amazonlinux-1  | [ 3939.175186] systemd[1]: systemd-update-utmp-runlevel.service: Deactivated successfully.
amazonlinux-1  | [ 3939.176988] systemd[1]: Finished systemd-update-utmp-runlevel.service - Record Runlevel Change in UTMP.
amazonlinux-1  | [ 3939.179789] systemd[1]: Startup finished in 21.555s.

Thanks for the pointers. I am going to try it the full integration today.

Yeah, it helps to test it. you can already see small problems with the systemd unit. For example it logs with tag systemd-entrypoint which is too vague. It is just the default because it is the name of the process.
I would set SyslogIdentifier=opensearch

I would set SyslogIdentifier=opensearch

agreed. will address it.


Optimizing sqlType actuator based on static factory pattern

Hello, please check

please resolve ci error

@a364176773  Can you help me? I don't know that very well. I don't seem to have permission to write at present

Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:check (validate) on project seata-rm-datasource: Failed during checkstyle execution: There are 3 errors reported by Checkstyle 6.18 with /home/travis/build/seata/seata/style/seata_checkstyle.xml ruleset.
It looks like the code is unformatted,please use alibaba-p3c Code specification to format code

@a364176773 It's passed the examination. Help me merge. Thank you


Unit Tests: created test_class_generator.py and test_relation_generator.py files

ClassGenerator class unit tests are almost done but have one problem with RecursionError
RelationGenerator class has some problems with attributes not defined inside class initialization (we may add them with default values)
image of functions with errors

Update after Nico edits


Partial words output in prediction

Hi! Thanks for this repo.
I've trained Ukrainian model from adapted Swedish code example https://github.com/cdqa-suite/cdQA/issues/236#issuecomment-523491362.
The output gives me strange results like:
query: Який порядок поновлення ПІН-коду?`
answer, context, score:
[0]    'ти', 'обрати пункт «Зміна ПІН-коду»; ', 9.99197326140182
[1]    'ти', 'У разі втрати ПІН-коду: ', 9.889656512305903
[2]    ', пі', 'для правильного введення ПІН-коду, після 3-ої невірної спроби введення ПІН-коду Картка блокується Банком. ', 9.203504258360976

In this example it takes only some part of the word from the context. It actually knows the correct paragraph to search, but the answer is far from usable. Rarely it can give me a whole word or even a sentence.
I tested the tokenizer and it seems working correctly:
>>> print(vectorizer.vocabulary_)
{'які': 6, 'існують': 7, 'види': 0, 'страхування': 4, 'як': 5, 'відбувається': 1, 'погашення': 3, 'кредиту': 2}

Can someone give me a hint where to look to fix it?
Corpus: SQuAD-uk with 30,000+ QA pairs.
Bert parameters:
BertProcessor(bert_model='bert-base-multilingual-cased', do_lower_case=False, is_training=True)

Hi @Drastic,
I am afraid the repo as is does not work well on languages that don't have the same alphabet and word structure as English.
I know nothing about Ukranian, but there are some preprocessing and some postprocessing took from the original Google's script for BERT for SQuAD that might be causing this issue.
For instance, the lines below perform a pre-tokenization by running over each character and checking if it is a whitespace before adding the token to the token list:
https://github.com/cdqa-suite/cdQA/blob/50e10443bc37b7bd3546465d37059260f29549f0/cdqa/reader/bertqa_sklearn.py#L155-L167
It also has an effect on the function that generates the final answer:
https://github.com/cdqa-suite/cdQA/blob/50e10443bc37b7bd3546465d37059260f29549f0/cdqa/reader/bertqa_sklearn.py#L434-L469
I am not sure these are the main problems which such languages, but it seems to me that it might be it.

Hi, @andrelmfarias
It doesn't seems to be a problem as Ukrainian words are whitespaced too. It's just different alphabet (cyryllic) as you've pointed correctly. And 'bert-base-multilingual-cased' includes it.
I even was troubleshooting errors when reader couldn't find answers in context.
For instance:
Could not find answer: 'POP' vs. 'pop'
It was just letters' case issue that I've fixed.

Thank you! Looking into it.


Changed: Notes box text for RIDER form(Issue #211)

I have changed the text of the Notes box for RIDER signup form. This PR fixes Issue #211.
@richardwestenra May I pls ask you to check my PR if I did all good while creating this PR. I followed your suggestion of creating separate branch for new PR. Let me know if anything wrong.
Thank you,
Moin

@moinshaikh Hey, just saw this. Good job. Only problem is that you've made the PR to the wrong repo: This PR is to your fork, not to the original repo. The target should be voteamerica/voteamerica.github.io / master, not moinshaikh/voteamerica.github.io / master.

btw @gavinkalika has taken care of this in #218.

No problem, cheers!
On Nov 7, 2016 2:07 AM, "Richard Westenra"<EMAIL_ADDRESS>wrote:

btw @gavinkalika https://github.com/gavinkalika has taken care of this
in #218 https://github.com/voteamerica/voteamerica.github.io/pull/218.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/moinshaikh/voteamerica.github.io/pull/1#issuecomment-258708738,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG8fef_GxE_AYm-WFVlEGwHz8ulQqLrWks5q7jqIgaJpZM4Kpczn
.


After renaming a file, it can still be accessed via old name (dev server keeps it in memory)

Likely fixed by e83b13fb5a3454a824cb85d6f115230df812202b


Build istioctl tab completion file along with binaries; document how to use it.

We have a "tab completion" ability in istioctl.  This saves typing for long commands such as "istioctl experimental verify-install".
We have a mechanism to generate the bash config file, istioctl collateral --bash.  But the command is hidden so users don't see it and we don't document it.
I produced a PR to make this option visible, possibly with a new name, but the feedback on that PR was that we shouldn't have people create the file.  Instead we should provide it as part of our builds, and document how users should get it.
For example, for git tab completion see this post https://git-scm.com/book/en/v1/Git-Basics-Tips-and-Tricks where users are shown how to download the file and set it up.

@esnible, I'm interested in tackling this one. Should I just re-assign this to myself?

@esnible A couple of things to mention on this:

From the master branch, I used the istioctl collateral --bash command option to generate the bash completion file. The place that made the most sense (to me) to store/host this file is the ./tools directory.

Once the istioctl.bash file was generated, I sourced it with the following command:

$ source ./tools/istioctl.bash

IIUC, at this point the tab completion should function properly. Below is a screenshot of what happens on my system when I use a tab immediately after the istioctl command:

Is there something that I'm missing to get this working? I want to ensure that I document the steps properly.
Thanks,
@ibm-jason

@ibm-jason I followed your steps and they work for me.  I am on a Mac, OSX, 10.13.x (High Sierra).  I see that I did brew install bash-completion back in March 2018.  brew info bash-completion says I am using
bash-completion: stable 1.3 (bottled)

I also see that I put [ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion into my ~/.bash_profile at the suggestion of brew.
If you are not on OSX, run echo $SHELL to see what shell you are using.  Run $(echo $SHELL) --version to see what shell version you are using.

@esnible thanks. That's good info to add to the docs. I'll try this out and report back shortly.

@esnible yes, it works now. The key was adding the [[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh" to my ~/.bash_profile.
So, does this location make sense to add the completion file?  Also, where on istio.io does this documentation make the most sense? I was thinking here:
https://istio.io/docs/reference/commands/istioctl/  <-- a new section here, perhaps?

How does this work with zsh completion?

@ericvn Great point. Would you mind trying it out and letting us know? I don't know much about zsh...

So, does this location make sense to add the completion file? Also, where on istio.io does this documentation make the most sense? I was thinking here:
https://istio.io/docs/reference/commands/istioctl/ <-- a new section here, perhaps?

I believe that page is auto-generated.  I suspect tab completion documentation would be expected at https://istio.io/docs/setup/kubernetes/download/#download-and-prepare-for-the-installation .  I suspect everyone who wants bash completion will see istioctl.bash in the download and know what to do with it.  It is also possible to put it in a blog article.

@esnible and the location of the completion file? Does the tools dir make sense?

@ibm-jason I was thinking bin but tools will also work.  Does anyone have a preference?

The current issue with zsh is:
source istioctl.bash
istioctl.bash:type:1098: bad option: -t

because the zsh builtin type does not have a -t option
If I remove the -t, I can source the file, but run into:
istioctl __start_istioctl:5: command not found: _init_completion

when trying to use tab completion.

istioctl uses cobra.  zsh completion for Cobra is mostly done, see https://github.com/spf13/cobra/issues/107 .  It should be possible to add a --zsh option to istioctl collateral.  The --bash option we have no doesn't use the new Cobra features/

@esnible I assume you mean we would have to add the -zsh option within istioctl to generate the file. It's not exposed at the moment. I'm not sure how many people use zsh, but all the other tools I use do support both bash and zsh for completion.

We would have to add the -zsh option.  Most or all of the functionality has been implemented in Cobra in the last six months.  We would need someone with zsh to test it.

@esnible I'm certainly willing to test.

As a semi quick test to see what would work with zsh completion, I updated the code locally to take a --zsh parameter and call the root.GenZshCompletionFile and generate an _istioctl file. I tried to source that file. That completed fine, but looking at the file, it was incomplete and istioctl <tab> didn't work correctly.
I then looked at the cobra repo and pulled the file in their unmerged PR:https://github.com/spf13/cobra/pull/828  and rebuilt the file and sourced it. That actually worked. Trying to place the file so it is automatically sourced like the other files (like kubectl) hasn't worked for me, yet...
But, it seems that if the cobra team does get the PR merged, and we pull that new dependency and generate the file using --ksh (I can merge my changes into a PR if you want) we are getting farther along the add zsh completion path as well.

Note that #13871 is for the Zsh version of the tab completion, along with its associated PRs.

Today, we have a few parallel work threads; 1) make istioctl downloadable (https://github.com/istio/istio/issues/11527) and 2) this item to add completion files.
I see a problem in that if someone wants to download the executable using 1), there is no documented way to use 2). The reason is because 2) has us build the completion files as part of the build process and add them to the archives and then how to use these archived files.
What if we changed the way to files are created to no longer be a collaberation flag but to be a completion noun which tags bash or zsh and dumps to stdout? This allows someone to create there own file using istioctl completion bash > istioctl.bash or to simply source the output source < istioctl completion bash.

Pros:

Behaves like other commands like kubectl
Prevents us from having to build and archive a file and have the customer use it.

If the customer updates their istioctl it automatically gets the changes if they use source < ...

Cons:

?

@ericvn I see your point here.  Although the PRs to add the completion files merged, and the separate istioctl download PR in review, enabling istioctl to simply dump the completion files to stdout would make UX improvement and allow us to source the completion files as you've described. I would like to hear what folks like @esnible and @howardjohn think about this before we proceed...

@ibm-jason I have noticed some tools encourage the user to generate the completion file, and other tools encourage the user to download it.  I thought it would be good to un-hide completion generation because I have my experience using the former.  See https://github.com/istio/istio/pull/12637 for that discussion.

Maybe we can get @geeknoid to weigh in on this again. I think this change (move the --zsh and --bash to their own completion noun) would make for a better UX. But am fine with whatever you decide. From a zsh standpoint, it matches what is being done for bash, which was my original comment.

@ericvn agreed. I'm fine with either.

@geeknoid do you mind chiming in (once again) on this?

@esnible, @ericvn, @geeknoid:
At this point, now that the completion file PRs have been merged, and the documentation has been updated, do we "punt" this discussion past the 1.2 release? Perhaps create a new issue to discuss this further? Or, are we settled on this?

@ibm-jason Is this work done?

@esnible Yes, I believe that this work is complete with the following PRs merged:

https://github.com/istio/istio/pull/13024
https://github.com/istio/istio/pull/13871
https://github.com/istio/istio.io/pull/4274


fix:  11-20 Bugbash items

:tada: This PR is included in version 0.297.2 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Whitespace token

Implementation of Whitespace-token in JSCS.
This is a prerequirement for CST integration.
/cc @hzoo @markelog

Is there any speed penalty?

Coverage decreased (-0.3%) to 97.554%

I know we gonna change this soon, but would still recommend to go down with this metric

Code coverage decrease is for the new methods setWhitespaceBefore, getWhitespaceBefore, _getNextTokenFromIndex, _getPrevTokenFromIndex`. Looks good but I guess it can be harder to read through because of changes that don't seem immediately relevant do the whitespace chane

Got increased coverage :)

I finished fixing according to the comments.

Don't forget to apply git tags next time.
@hzoo you wanted to add commitplease right?

I guess I don't care that much anymore @markelog haha. We rewrite the changelog anyway but if we want to do it still ok.

@hzoo thank you!
@markelog which git tags? I have probably missed something.

@hzoo

We rewrite the changelog anyway but if we want to do it still ok.

Well, we still experimenting at this point, with tags we could create more clean changelog.
@mdevils https://github.com/jscs-dev/node-jscs/issues/1812, bureaucracy at its best in other words :-)


ZHA: Light state changes not recorded when controlled physically from device

Home Assistant release with the issue:

Home Assistant 0.73.0
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):

hassio version 1.3.1
Component/platform:

ZHA
Description of problem:
Dimmable switch light.feibit_inc_co_fb56zsc05hg10_19f7163e_11 fails to report state. When light is controlled from the switch warning messages are dispayed such as :
"Unexpected response TSN=247 command=1 args=[[]]"
No issues controlling light from HA.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
zha:
 usb_path: /dev/ttyUSB0
 database_path: zigbee.db
 baudrate: 57600

Traceback (if applicable):
2018-07-09 21:28:42 ERROR (MainThread) [homeassistant.components.switch] Error while setting up platform zha
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/lib/python3.6/site-packages/homeassistant/components/switch/zha.py", line 27, in async_setup_platform
    await cluster.bind()
  File "/usr/lib/python3.6/site-packages/zigpy/device.py", line 89, in request
    expect_reply=expect_reply,
  File "/usr/lib/python3.6/site-packages/bellows/zigbee/application.py", line 241, in request
    v = await send_fut
zigpy.exceptions.DeliveryError: Message send failure: EmberStatus.DELIVERY_FAILED
2018-07-09 21:28:45 DEBUG (MainThread) [bellows.uart] Data frame: b'3754b157546f15b658924a2ea15593499c045a0cfd4f9874f5de9088fc7e3f87ea54857e'
2018-07-09 21:28:45 DEBUG (MainThread) [bellows.uart] Sending: b'8430fc7e'
2018-07-09 21:28:45 DEBUG (MainThread) [bellows.ezsp] Application frame 69 (incomingMessageHandler) received
2018-07-09 21:28:45 WARNING (MainThread) [bellows.zigbee.application] Unexpected response TSN=243 command=1 args=[[<ReadAttributeRecord attrid=0 status=0 value=1>]]
2018-07-09 21:28:45 DEBUG (MainThread) [bellows.uart] Data frame: b'3f54b157546f15b658924a2ea15593499c045a0cfd4f9874f5de9088fc7e3f87ea7ae17e'
2018-07-09 21:28:45 DEBUG (MainThread) [bellows.uart] Sending: b'8430fc7e'

Additional information:

This may need a cluster_command listener similar to what is in the Remote class in the zha binary sensor module. I’ll try to get a gist set up that you can try locally if you are interested.

https://github.com/dmulcahey/home-assistant/commit/857294ed19aaa441dc20e044ffb9337662c510e1
can you apply this and let me know how you make out? I believe this fixes this issue.


Japanese medical (1 of 3): append "+" or "-" to the preceding Concept if followed by a space

NOTE: This is the first of the three items reported by @Rei-hub in issue #137, to enable analysis of EMR's daily progress notes that are less formal than discharge summaries.
Extract a word followed by +/- without parentheses as a single entity
The previous improvement (#31) enabled Katakana or numbers enclosed in parentheses to be concatenated with the preceding Concept as a single entity. This works in many cases, especially in stylized documents, and is useful for identifying the relation of negation. (e.g. heart murmur(-) → no heart murmur)
However, in informal text such as daily progress notes, there is a problem. Some entities are followed by +/- without parentheses. Even in these cases, +/- symbol should be concatenated with the preceding Concept as a single entity because doctors describe the text with the same intention, and this enables us to clarify the relation of negation. Is this improvement technically possible?
Importantly, in many cases of these, there is often no space between an entity and +/-, whereas there is often half-width or full-width space after +/- to separate from the next entity.

In a separate e-mail, I've requested @Rei-hub to check his data to find out exactly which characters are used to as the minus sign. By default, the following characters will be considered to be the minus sign for this issue:
single-width hyphen minus (-): U+002D
double-width hyphen minus (－): U+FF0D
There are other characters that "look like" the minus sign, and depending on the author's preference (or typo), it's more than possible that such characters are used instead, especially in informal notes. For example:
minus (−): U+2212
hyphen (‐): U+2010
non-breaking hyphen (‑): U+2011
hyphen bullet(⁃): U+2043
en dash (–): U+2013
em dash (—): U+2014
cho-on (ー): U+30FC
half-width cho-on (ｰ): U+FF70
figure dash (‒): U+2012
horizontal bar (―): U+2015
... and there may be others
If we are to consider only the single- and double-width hyphen minus characters as the minus sign, the requested change is quite simple and relatively innocuous to other types of text. We already suspect that the cho-on characters (half- and full-width) may be used sometimes unintentionally. Once I hear from Dr. Noguchi on the character usage within his data, I'll look into any possible ramification of including such characters in the change.

Thank you for your valuable feedback, and sorry for the late response.
As I mentioned in an earlier mail,  I have carefully checked if the various types of “minus-like” symbols are in the actual medical progress notes, and found the following four symbols were used other than “ +002D” and “U+FF0D” you mentioned.

Katakana-Hiragana Prolonged Sound Mark (ー): U+30FC
Halfwidth Katakana-Hiragana Prolonged Sound Mark (ｰ): U+FF70
HORIZONTAL BAR (―): U+2015
Hyphen (‐): U+2010

Considering how they are used in the actual sentences, there seems to be no problem in concatenation with the preceding Concept as a single entity for all cases. I would like to get your feedback about the possibility of an unintended effect on other expressions.
Thank you for your continued support.

The implementation will involve the following:

append "+" or "-" (and its variations) to the preceding Concept if followed by a space

append "+" or "-" (and its variations) to the preceding Concept if followed by end-of-sentence

There is no issue with #1. There is no issue with "+" for #2. However, such implementation would have a negative impact when processing news articles in the test corpus, when hyphens are used at the beginning and end of the sentence to indicate a section title of sort. For example, article authors often use the format:

－公道での自動運転実施における技術・ノウハウ、ガイドラインを共有－
In this case, the "－" at the end of the line should not be concatenated with 共有. To overcome this, we need a rule for cases where both the first character & last character of a sentence are hyphens. For such sentences, the hyphen will not be appended to the word before it. I am not aware if such solution still interferes with clinical text, but this is the best solution for now

Also, there are cases where the first hyphen is somewhere in the middle of a sentence:

海洋細菌で見つけた新しい光エネルギー利用機構－塩化物イオンを輸送するポンプの発見－
Such cases can potentially be handled, but the hyphen within a sentence often serves another purpose, for example:
HCCを疑いますが、経胆管的に肝門部-総肝管まで進展し、4cm長の腫瘤を形成し、両側肝内胆管は拡張しています。(FromTo)
－CX－５の生産開始以来、２年４か月で到達－ (part of a word)
For this issue, this particular case, i.e., hyphen in the middle and end of a sentence - will not be dealt with. The hyphen at the end of the sentence will be appended to the last character for the time being, although it is not ideal as an output.

In addition, there are cases that is beyond our control, depending on how the author wants to use a hyphen:

２０代、スマホからの予約が急増－
The hyphen at the end of the sentence will be appended to the last character for the time being, although it is not ideal as an output.

@Rei-hub - this issue has been addressed as described above. There are some cases that cannot be addressed, but I believe the general output is as expected or better, even in non-medical/clinical text. Please have a look when get a chance. Thanks for your feedback as always.


[Question] Components not receiving the props

Hello!
I'm a former middle school teacher who recently got interested in programming, and I'm currently trying to build a chrome extension, using react-redux, as one of my first projects. I stumbled across react-chrome-redux, and it was exactly what I was looking for!
Unfortunately, I've unable to correctly set it up. I watched the live-code demo and read through all to see what I was missing, but I haven't been able to figure it out.
I tried to first just replicate the clicker example from the video, so my UI component and background.js basically looks exactly the same as the demo:
import React from 'react';
import {render} from 'react-dom';

import App from './lib/components/app';

import {Store} from 'react-chrome-redux';
import {Provider} from 'react-redux';

const proxyStore = new Store({
  portName: 'example'
});

document.addEventListener('DOMContentLoaded', () => {
  render(
    <Provider store={proxyStore}><App /></Provider>
    , document.getElementById('root'));
});

import React, {Component} from 'react';
import {connect} from 'react-redux';

class App extends Component {
  constructor(props) {
    super(props);
  }

  componentDidMount() {
    document.addEventListener('click', () => {
      this.props.dispatch({
        type: 'ADD_COUNT'
      });
    });
  }

  render() {
    return (
      <div>
        Click Count: {this.props.count}
      </div>
    );
  }
}

const mapStateToProps = (state) => {
  return {
    count: state.count
  };
};

export default connect(mapStateToProps)(App);

For some reason, however, the UI component does not seem to actually be receiving the correct props, and when I do click, this error message pops up:

This is a portion of my manifest.json:
  "version": "1.0",
  "background": {
     "scripts": [
       "background.js"
     ],
     "persistent": true
   },
  "browser_action": {
   "default_icon": "icon.png",
   "default_popup": "popup.html"
  }

Please let me me know if this wasn't the correct place to ask for this type of help, or if any more specific code needed to be provided.
Any help would be greatly appreciated. Thanks so much!

Hey @joshling1919 not sure what the issue could exactly be, but first thing I'd try changing is this:
document.addEventListener('DOMContentLoaded', () => {
  render(
    <Provider store={proxyStore}><App /></Provider>
    , document.getElementById('root'));
});

to
const unsubscribe = poxyStore.subscribe(() => {
  unsubscribe();
  render(
    <Provider store={proxyStore}><App /></Provider>
    , document.getElementById('root'));
});

Here's an explanation why: https://github.com/tshaddix/react-chrome-redux/wiki/Advanced-Usage#initializing-ui-components

Hi @vhmth thanks so much for the prompt response!
I updated that portion to use the unsubscribe/subscribe pattern, but unfortunately, now nothing is rendering. Previously, with the 'DOMContentLoaded' event listener, it rendered 'Click Count:' but show no numbers, and then it threw an error once I clicked.
I also inspected background.js and saw that there's an 'Unexpected Import Token' error there, so I'm not sure if it's just a babel/webpack issue:
//webpack.config.js
const path = require("path");

module.exports = {
  context: __dirname,
  entry: "./popup.jsx",
  output: {
    path: "./lib",
    publicPath: "/lib/",
    filename: "bundle.js",
    devtoolModuleFilenameTemplate: '[resourcePath]',
    devtoolFallbackModuleFilenameTemplate: '[resourcePath]?[hash]'
  },
  module: {
    loaders: [
      {
        test: [/\.jsx?$/, /\.js?$/],
        exclude: /node_modules/,
        loader: 'babel',
        query: {
          presets: ['es2015', 'react']
        }
      }
    ]
  },
  devtool: 'source-maps',
  resolve: {
    extensions: ["", ".js", ".jsx" ]
  }
};

Thanks again for the help; I really appreciate it.

@joshling1919 would you mind creating a repo showcasing your code? I can take a look.

@vhmth yeah of course! Thanks.
https://github.com/joshling1919/fantasy-hype-train

@joshling1919 I am looking into this right now, but I noticed you haven't included your command to actually transpile your ES6. If you could include that in a Makefile or in your `package.json

@vhmth That was the issue! Thanks so much for your help.

Sure thing @joshling1919!


Food Order Website

Creating a user-friendly food ordering website where users can view availability of different food items, their price and the best selling items, etc

Looking forward to it! Be sure to read the contributing guidelines before your commit. Any questions feel free to ask!


feat: add a Feedback section in the Dashboard

Fixes #62
What does this PR do?
Add a new Feedback section in the dashboard page
Screenshot / video of UI

What issues does this PR fix or reference?
#62
How to test this PR?
Go to the dashboard page

I was thinking 'our Button' not 'button'

Trying but got

ok 🤦

I am okey with this PR, but I am wondering if we should have some kind of more direct, flashy way to ask for this. The dashboard being a lot of text, I would not be surprised that people never read and reach the paragraph added.
In a follow up PR we could create a banner, or something placed at the top with clear and direct access for giving feedback.
Here is a quick mockup

cc @slemeur


"Add account" has an odd "GitHub/Sign in" label

Lots of wasted space in this view 😀 I am also not sure if this is meant to be a placeholder for more than just GitHub in the future?

Should be coming from https://github.com/microsoft/devhomegithubextension/blob/af404f352650ba452f5c29e76226629ee6ae43aa/src/GithubPlugin/DeveloperId/LoginUIController.cs#LL109C34-L109C37

Looks like https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png from the above link never rendered.

@ssparach FYI. We could change this so that we save the image locally and display it in the adaptive card via base64 string. However, if there's an internet problem it's not like they can sign in with GitHub anyway.

Closing this as ByDesign.


Read timeout with messaged based resource

I want to control a Quantum Composer 9520 series pulse generator via USB under W7 32bit. Line termination for this device is specified as
- QUERY FORMAT
    *IDN?<cr><lf>
        Will return: deviceID<cr><lf>

When testing the device in LabVIEW it works (Message Based Settings can be retrieved from property node if needed).
Simple attempt to open the device in python
import visa
rm = visa.ResourceManager()
delayGen = rm.open_resource('ASRL13::INSTR')

yields
Traceback (most recent call last):
  File "C:/Users/tpsadmin/Desktop/scopeTestVisa/delGenTest.py", line 8, in <module>
    delayGen = rm.open_resource('ASRL13::INSTR', write_termination='\r\n', read_termination=None)
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\highlevel.py", line 1628, in open_resource
    raise ValueError('There is no class defined for %r' % ((info.interface_type, info.resource_class),))
ValueError: There is no class defined for (<InterfaceType.asrl: 4>, None)

After fixing the problem in #168 I tried
from pyvisa.resources import MessageBasedResource
delayGen = rm.open_resource('ASRL13::INSTR', resource_pyclass=MessageBasedResource, write_termination='\r\n', read_termination='\r\n')

which gives an error if some arguments are used in the constructor, e.g. send_end and delay the following error is produced:
Traceback (most recent call last):
  File "C:/Users/tpsadmin/Desktop/scopeTestVisa/delGenTest.py", line 8, in <module>
    delayGen = rm.open_resource('ASRL13::INSTR', resource_pyclass=MessageBasedResource, write_termination='\r\n', read_termination='\r\n', delay=1)
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\highlevel.py", line 1641, in open_resource
    raise ValueError('%r is not a valid attribute for type %s' % (key, res.__class__.__name__))
ValueError: 'delay' is not a valid attribute for type MessageBasedResource

Without these, the following script returns a TIMEOUT error for following code:
delayGen = rm.open_resource('ASRL13::INSTR', resource_pyclass=MessageBasedResource, write_termination='\r\n', read_termination='\r\n')
print(delayGen.query('*IDN?'))
delayGen.close()

Traceback (most recent call last):
  File "C:/Users/tpsadmin/Desktop/scopeTestVisa/delGenTest.py", line 12, in <module>
    print(delayGen.query('*IDN?'))
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\resources\messagebased.py", line 407, in query
    return self.read()
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\resources\messagebased.py", line 332, in read
    message = self.read_raw().decode(enco)
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\resources\messagebased.py", line 306, in read_raw
    chunk, status = self.visalib.read(self.session, size)
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\ctwrapper\functions.py", line 1582, in read
    ret = library.viRead(session, buffer, count, byref(return_count))
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\ctwrapper\highlevel.py", line 188, in _return_handler
    raise errors.VisaIOError(ret_value)
VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed.

Could it be a problem with resource_pyclass or something just with read()?

The resource_pyclass should not be necessary when viParseResourceEx works (as it does for ASRL). I have fixed a small regression that happened during the last changes. Please pull again and see if the problem persists in:
import visa
rm = visa.ResourceManager()
delayGen = rm.open_resource('ASRL13::INSTR')

Connection to the instrument (SerialInstrument at ASRL13::INSTR) works now without resource_pyclass=MessageBasedResource. Also, send_end works now in the constructor and all write operations return (7L, <StatusCode.success: 0>). Any read() operations still produce
Traceback (most recent call last):
  File "C:\Users\tpsadmin\Desktop\scopeTestVisa\delGenTest.py", line 16, in <module>
    print(delayGen.read())
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\resources\messagebased.py", line 332, in read
    message = self.read_raw().decode(enco)
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\resources\messagebased.py", line 306, in read_raw
    chunk, status = self.visalib.read(self.session, size)
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\ctwrapper\functions.py", line 1582, in read
    ret = library.viRead(session, buffer, count, byref(return_count))
  File "C:\Python27\lib\site-packages\pyvisa-1.8.dev0-py2.7.egg\pyvisa\ctwrapper\highlevel.py", line 188, in _return_handler
    raise errors.VisaIOError(ret_value)
VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed.

which is independent of termination characters.

When you say the the write operations work, you mean that something (e.g. Frequency) is changing in the device after your command?
You should try a few things like:

increasing the timeout
changing read_termination and/or write_termination
reading one byte at a time using delayGen.read_raw(1) to see what is comming.

(In all of them, I strongly suggest that you turn logging on as I showed you in the other issue and described in the FAQ)

Setting inst.baud_rate instead of `inst.write() to the value specified for the instrument solved the communication issue. Luser problem.
Thanks for the great support though!


EnderIO support

I know that you can edit EnderIO recipes with their XML configs, but it would be nice to able to do it zen script as then all recipe changes would be in one place, also enderIO does not always play fair, like a mod pack i am working i am rework all ingot/nugget/dust recipes to just you one of each, most stuff I can change even the enderIO sag using XML but when it comes the alloy smelter you can alloy recipes but even though have changed the furnace the alloy smelter will still default to TF/TE ingots, you may not be able do anything about that but I would still enderIO support in zen script to have every thing in one place.

Not gna happen, unless @tterrag1098 says otherwise, since last time he said
there exist no point, also no new modtweaker for 1.7
On Mar 16, 2016 5:00 PM, "Dijkstra"<EMAIL_ADDRESS>wrote:

I know that you can edit EnderIO recipes with their XML configs, but it
would be nice to able to do it zen script as then all recipe changes would
be in one place, also enderIO does not always play fair, like a mod pack i
am working i am rework all ingot/nugget/dust recipes to just you one of
each, most stuff I can change even the enderIO sag using XML but when it
comes the alloy smelter you can alloy recipes but even though have changed
the furnace the alloy smelter will still default to TF/TE ingots, you may
not be able do anything about that but I would still enderIO support in zen
script to have every thing in one place.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/jaredlll08/ModTweaker2/issues/313

There is no point. You can do everything MT does with the xml configs.

Not quite for one I have to restart minecraft, to test it, a second is it does not work with ftb game modes, three I have no control over furnace recipes in the alloy smelter.

any news?

Did you try EIO's native config files? EnderIO would be the lowest priority to have MT support for haha

Yes I am using the configs I just wish I would be game mode compatible, but at least all ore process to one type of ingot and dust.

Couldn't you just then use e.g. oreCopper as an input and the item name of EnderIO's copper ingot and dust as an output?

Say I am also working with IC2 I can not remove IC2 dust from maceator, but even removing all ore dic to other ones enderio still wants to TF dust which means I have to change sag mill in xml or have two dusts which I do not like, and leaving it does not help with FTB tweaks game modes.

@Dijkstra1 deal with it. FINAL DECISION.


Test for license Apache-1.0 failed

Test for license ID Apache-1.0 failed due to difference found Variable text rule nameClause4 did not match the compare text starting at line #11 column #16""Apache"".

Fixed in the license-list-xml


Do not discard data given invalid input for ProblemReports

Can refer to https://github.com/indocomsoft/cvwo-assignment-2017/blob/master/app/controllers/tasks_controller.rb#L27


Prioritize google profile email address

There's a case where the google profile info isn't coming through. I
can't reproduce it, but it seemed like we should at least be able to get
an email address as part of the google authenitcation, so this tries to
use that email first. It's more likely to be the primary email address
anyway.
JIRA: https://openedx.atlassian.net/browse/MA-390

@hanningni please review

:+1:


Add pytorch example

Describe changes
I noticed via Slack that we had no Pytorch example at all. Thought that was a glaring ommision. Tried to conform to the new style with @AlexejPenner but not sure if i managed.
I also took the chance to add a new materializer for torch.utils.dataloader and simplified the old materializer i wrote ages ago.
Pre-requisites
Please ensure you have done the following:

[x] I have read the CONTRIBUTING.md document.
[x] If my change requires a change to docs, I have updated the documentation accordingly.
[x] If I have added an integration, I have updated the integrations table.
[ ] I have added tests to cover my changes.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Other (add details above)

@AlexejPenner I think it's also still missing the super quickstart section in the example readme, something to add on this branch or on yours?

@htahir1 one other thing I forgot. It's probably a good idea to add this example into our integration test suite like the others.

@AlexejPenner I think it's also still missing the super quickstart section in the example readme, something to add on this branch or on yours?

I added this


Add 'contentless' property of Tool

It uses for correct highlighting of current Block by click:

Allow to highlight decorative empty blocks such as '***' (Delimiter)
Allow to highlight Blocks, that has form-like structure (Quote, Table): event they are empty, we should hightlight them on focus.

Described here: https://github.com/codex-team/codex.editor/blob/master/docs/tools.md#internal-tool-settings

Not actual with 2.5.5


Adding Session event "sessionRestorationSucceeded"

Adding a new Session event that is triggered when authentication is restored (usually on app reload).
Background:
I am developing a Cordova + Ember iOS app. When the app is updated via the App Store or TestFlight the Ember app is reloaded the next time the iOS app is brought to the foreground. I need to know when the session is fully restored so that I can access the data in the store.
If there is a better way of achieving this that does not require a code change to this project I am all ears.
Example initializer using event
export function initialize(container, application) {
  var session = container.lookup('simple-auth-session:main');
  // handle the session events
  session.on('sessionRestorationSucceeded', function() {
    console.log('RESTORED!');
  });
}

export default {
  name: 'test',
  initialize: initialize
};

I can definitely see how this might actually be helpful

The problem is that the session is restored in 2 scenarios - once when the application starts up and also when the session content changes e.g. in another tab. The sessionRestorationSucceeded event would have to be triggered in both scenarios then, meaning your above code sample would probably not work as expected as console.log('RESTORED!'); would potentially be called not only when the application just started up.

@marcoow what would you suggest as a better implementation?

I'm not sure yet actually. It might also make sense to clearer split the 2 scenarios described above apart so that there would be less confusion.

With #522 session restoration will probably happen in the application route's beforeModel method, rendering sth. like a sessionRestorationSucceeded event unnecessary. Closing this as there will be no release before that anyway.


Support more than one directory for settings management

very similar to https://github.com/pydantic/pydantic/issues/2284
I would love to be able to leverage built-in settings configuration, but in order to do that, I need support for both ConfigMaps and Secrets
i don't know if a file per setting is absolutely necessary, but it would be great if instead of a secrets_dir: str|None you had a directories: List[str]|None or search_dirs: List[str]|None argument, where settings were loaded by iterating over 1..N directories using much the same logic as today.
beyond just allowing use of both ConfigMaps and Secrets, this could then produce conflicts, which instead of a defect, would actually be a very handy a feature, it allows for overrides (such as when running locally) this can be accomplished by having the expectation that the last found match wins.
class Settings(BaseSettings):
    my_secret_data: str
    my_not_secret_data: str
    my_overridden_data: str

    class Config:
        search_dirs = [ '/run/config' ,   '/run/secrets', ]

with files
/run/config/my_not_secret_data # foo
/run/config/my_overridden_data # bar
/run/secrets/my_overridden_data # baz
/run/secrets/my_secret_data # fu

pragmatic expectation:
all 4 files get opened/read/parsed/validated
resulting object is
s = Settings() # s.my_secret_data == 'fu', s.my_not_secret_data == 'foo', s.my_overridden_data == 'baz',

Thanks, looks reasonable to me :+1:.

May I throw in 2¢ – perhaps a more flexible approach would be to expose sources as a Config parameter? E. g. something like:
from pydantic_settings import default_sources, BaseSettings

class Settings(BaseSettings):
    my_secret_data: str
    class Config:
        sources = [
            *default_sources,
            SecretsSettingsSource('/run/config'),
            SecretsSettingsSource('/run/secrets'),
        ]

This would need some changes in how settings sources are initialized (I think we can pass settings_cls at the time Config is defined, but it would look a bit clunky?).
As an upside, it will allow specifying third-party sources more easily:
class Config:
    sources = [*default_sources, MyFeatureFlagsProviderSource(...)]

I'd also second that sources should be configurable via Config as having to implement .settings_customise_sources() is very verbose for simple use cases.

Please take a look at the package that I'm going to use in production, it solves this issue:
https://pypi.org/project/pydantic-file-secrets/

Added in https://github.com/pydantic/pydantic-settings/commit/12d85cf521bf2b07939241bf33f17d14d906623f


Create Unit Tests

The Unit Tests that are currently in lib_test.go are kinda random, a bit all over the place and do not cover testing every corner case of every publicly exposed function (ie in testing parlance, we do not have 100% test coverage)

Your task is to create a Unit Test to test every publicly exposed function
The Unit Test must cover every corner case (passing in edges that don't exist, boundary values etc)
Create a new issue for the Unit Test you want to create if it does not already exists. As in, Check that the issue isn't a duplicate before creating!
No one shall be asssigned to this issue (#4)

Each Unit Test will be awarded atleast 250 bounty points. If the unit test is unusually large like to test a BFS fn etc, extra bounty can be awarded. The exact points will be assigned by me after the concrete issue for the Unit Test is created


Please consider placing this repository inside a 'Gutenberg' Github organization

Please consider placing official Gutenberg projects inside a 'Project Gutenberg' Github organization.
Doing so would:

aid discoverability of the group of projects,
give a clear signal to users as to which source trees are 'official', and,
could ease management of developer access in the future.

I agree. My 2 cents: if this current account is only being used for this repository (which it seems), GitHub has an option to convert the account to an organization.

Yes, that is the long-term plan. We are actually working on getting all of the books into github repos, not only the web pages.
We set it up privately initially during early development, and then shifted to public but in the same location. We will eventually promote this and other items to a top-level Gutenberg repository. Since we are still pursuing some major aspects of the work (not all of which are public), we prefer to not yet move this webpage repo to its "final" destination yet.
We appreciate this suggestion, and it is aligned with intentions.


Exception in thread "main" java.lang.NoClassDefFoundError: cs2030/simulator/EventComparator

Facing this issue even though my EventComparator class is in the same folder as simulator and have imported all the classes into main... any ideas why this happening? Thanks in advance!

This is because your EventComparator should not be accessed from outside the package. (It is not public class right?)
all of your MainX.java is outside the cs2030.simulator package also, so you cannot access anything except the Simulator (the only one that is public)

This is because your EventComparator should not be accessed from outside the package. (It is not public class right?)
all of your MainX.java is outside the cs2030.simulator package also, so you cannot access anything except the Simulator (the only one that is public)

oh yes I did not reference the comparator in my main classes and made only the simulator public so im not sure what went wrong

You shouldn't need to import all the classes into Main, only the Simulator class with import cs2030.simulator.Simulator.
Do check that your Main-s are not creating the PriorityQueue themselves, since that means they are also accessing the EventComparator. Other possible issues might be the naming of the EventComparator file, or just try re-compiling the EventComparator file on its own first before compiling Simulator. Hope this helps!

Thanks for all the suggestions everyone!


Add cloud9 setup tool

Fixes #1089 .
Changes proposed in this pull request:

Adds a setup script to ./script specifically for the cloud9 development environment
The script works through the quirks specific to cloud9 to ensure that the app will run correctly and the tests will not give false errors
To test this script, setup a workspace as described in the top section of this wiki document. After the workspace is created, run:  source ./script/setupcloud9 from the shell window. When the script completes the environment should be setup correctly.

Additional Notes
I am a cloud9 user that recently started exploring the hospitalrun project. Initially, I ran into some frustrating issues with test failures. After some investigation I realized that the problem was because of some weirdness on the cloud9 configuration side related to the way they automatically install certain tools such as nvm and couchdb. This pull request is intended to keep other folks from hitting those same issues.
cc @HospitalRun/core-maintainers

Love the idea of this script to help out those standing up the app - but right now, the setup errors out.

I love the cloud9 concept, but as @josephgullett said, the setup, unfortunately, errors out. This happens because CouchDB on Cloud 9 needs to be reconfigured so as to run in the background before running the hr server. I've bundled up the hr installation commands and all the necessary commands to run couchdb in the background on cloud9 in one file, which I am putting for pull request. Also in my opinion, the execution of the test script takes too long, so I opted it out.


Settings-Screen-Admin-App-General

https://github.com/ALCOpenSource/Mentor-Management-System-Team-2/issues/6
Settings Screen Admin App {general}

this is does not match the design, remove shadow under text, and make sure your designs match
the words should not be an image
no, you don't download the text just the logos
not responsive

Is it the whole design that does not match or only the text logo

Is it the whole design that does not match or only the text logo

double-check your design with that of Figma.

Is it the whole design that does not match or only the text logo

double-check your design with that of Figma. especially your alignments, colours, and sizes

Okay


Page "fork a repo" : Unexpected spaces and HTML tag in "code"

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/get-started/quickstart/fork-a-repo
What part(s) of the article would you like to see updated?
There are unexpected speces between "username" and "fork name", making the URLs not match what is displayed when running the commands.
There also is an unexpected HTML closing tag </em> which is not opened previously.
  $ git remote -v
  > origin    https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/ YOUR_FORK</em>.git (fetch)
  > origin    https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_FORK.git (push)
  > upstream  https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/ ORIGINAL_REPOSITORY.git (fetch)
  > upstream  https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/ ORIGINAL_REPOSITORY.git (push)

becomes :
  $ git remote -v
  > origin    https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_FORK.git (fetch)
  > origin    https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_FORK.git (push)
  > upstream  https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
  > upstream  https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

Additional information
No response

@MTindev Thanks for opening an issue and submitting a PR! ✨


How to use absolute links in README file that don't break on fork  / merge?

From #17
One other point worth commenting on:

note: links aren't relative, so clicking https://diarmidmackenzie.github.io/aframe-physics-system and then clicking through to examples leads to the c-frame master examples instead of your local ones. may want to update those while you're here.

I don't know how to solve this.  There's a good reason the links aren't relative - they wouldn't work in both the README view in GitHub and also on GitHub pages.
But if they are absolute, they need to updated every time you fork / merge.  Which would quite likely lead to broken links in master (whic IMO is worse than broken links in a preview of a PR).
The problem seems to be documented here:
https://stackoverflow.com/questions/40196198/automatic-link-to-github-pages-url-from-readme-md
It's possible that this GitHub Action could provide a solution.  There don't seem to be any other solutions available.
https://github.com/marketplace/actions/dynamic-readme
Originally posted by @diarmidmackenzie in https://github.com/c-frame/aframe-physics-system/issues/17#issuecomment-1315385901

This GitHub Action isn't a great solution:
"There is a GitHub Action here that fills this need, but it has to be run any time there is a change, and also needs to make a new commit: https://github.com/marketplace/actions/dynamic-readme"
(from this GH Feature Request on the topic : https://github.com/orgs/community/discussions/37122)


fix(pd-store): hstore backend core tests failure (WIP)

Purpose of the PR
close https://github.com/apache/incubator-hugegraph/issues/2420

Main Changes

Some tests that are currently failing (not addressed in this PR):

Tests related to OLAP in VertexCoreTest: Not adapted yet.
Tests related to page in VertexCoreTest and EdgeCoreTest: Inconsistency in the definition of position between RocksDB scan iterator and Hstore.
Some RamTableTest cases: The ramtable feature is not supported by the hstore backend.
...

Verifying these changes

[ ] Trivial rework / code cleanup without any test coverage. (No Need)
[ ] Already covered by existing tests, such as (please modify tests here).
[x] Need tests and can be verified as follows:

CI

Does this PR potentially affect the following parts?

[x]  Nope
[ ]  Dependencies (add/update license info)
[ ]  Modify configurations
[ ]  The public API
[ ]  Other affects (typed here)

Documentation Status

[ ]  Doc - TODO
[ ]  Doc - Done
[x]  Doc - No Need

@Pengzna, could you take a look at the errors related to MultiGraphsTest and EdgeCoreTest?

@Pengzna, could you take a look at the errors related to MultiGraphsTest and EdgeCoreTest?

Thanks your work, I'm working on it

@Pengzna, could you take a look at the errors related to MultiGraphsTest and EdgeCoreTest?

Thanks your work, I'm working on it

enhance it in next PR~


Fix Overview shadow style

Signed-off-by: Christoph Kleine<EMAIL_ADDRESS>

[ ] Ensure that the commit message is a good commit message
[ ] Ensure to use auto format in all files
[ ] Change in CHANGELOG.md described
[ ] Tests created for changes
[ ] Screenshots added (for UI changes)

Screenshot (before)

Screenshot (after)

Can one of the admins verify this patch?


Add ability to move to PTZ presets

Is your feature request related to a problem? Please describe.
Would it be possible to get and move to previously saved preset coordinates?
Describe alternatives you've considered
There isnt really a current way of controling PTZ cameras.
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Are you willing to resolve this issue by submitting a Pull Request?

[ ] Yes, I have the time, and I know how to start.
[X] Yes, I have the time, but I don't know how to start. I would need guidance.
[ ] No, I don't have the time, although I believe I could do it if I had the time...
[ ] No, I don't have the time and I wouldn't even know how to start.

hey @Julian0021,
I can't promise anything, but I can maybe take a first look at it. Providing sample camera data from Bootstrap would be helpful, since I don't own a PTZ. https://uiprotect.readthedocs.io/en/latest/dev/#generating-test-data


chore(release): v0.6.0 🎉

:robot: I have created a release *beep* *boop*
0.6.0 (2022-11-25)
Features

checks: add isNotUndefined and isNotNull checks (e810bdf)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ehmpathy/type-fns/releases/tag/v0.6.0 :sunflower:


CBMC failed with status 137

With Kani version 0.35.0 some of our previously working proofs are now failing with the message CBMC failed with status 137.
I don't have the ability right now to provide the rust code.

At the very least, it would be nice to know what this status code means. Thank you!

This means that the process ran out of memory. Do you know the peak memory usage of those proofs with the previous version of Kani?

Thank you!


post-hook for modifying built binaries

Some projects package resources into binaries with the form of a zip file. Most trivially, this is done like this:
echo file.zip >> binary
zip -A binary

I digress about specifics, but the point is that packages like go.rice and others add this binary/zip data into executables built by go. The packaging/embedding of them differs a bit, alas some post hook would be nice if one wants to follow the docs.

Seems like a valid suggestion. Thanks!

I have not looked closely if this is already covered, but I guess this could also be used for a custom naming scheme. I'm looking at this to use with Hugo, and we have made up some names to make it easier for the users to understand (i386 => 32-bit etc.).

@bep some custom naming is available since v0.2.9, but not yet what you're asking.
I'll think in a way of doing what you're asking, probably something like:
archive:
  translations:
    linux: Linux
    i386: 32bit
    # etc

Not sure about the translations as name nor about the syntax itself... but seems like an ok way of doing this...
what do you think?

what do you think?

"translations" is not a very good term -- maybe just "replacements", but I agree in general: As list of old/new replacement pairs.

@bep version 0.3.0 supports the replacements as discussed. :)

Guys, you slightly highjacked my original feature request. how about the OP? :)

@titpetric the post and pre-build hook are still a valid feature I guess..

What do you think about adding a before and after option to the build section?
Each of them would be a string which is evaluated as shell input.
This way you could do some small one-line logic or you could call another executable for more complicated tasks.

Yes, I was thinking about doing just that 😀

Hey @titpetric , can you check if #101 would solve the problem for you?
Suggestions are welcome btw :D

mistaken ref closed the issue, reopened

Thanks, I think it will do nicely :)


Bump version to 2022.05.001

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

Thanks for your interest in (co-)maintaining this feedstock.
Looks like the preprocessing on OSX is causing issues again, it needs cpp which I previously sneaked in via gfortran:
https://github.com/conda-forge/elpa-feedstock/blob/84cd3cc19b5e20f5d32aec9d92fd576b392498bd/recipe/build.sh#L28

Thanks for this! I will fix it tomorrow, you've just saved me an hour of work. :)
I have also noticed (unrelated to this) that Elpa was the reason why one of my program segfaults on ivybridge.
If that is OK, I'll probably rework the build script to provide architecture-specific variants. Elpa does not seem do any function multiversioning and looking at the code, which is very "imperative-oriented" if that makes sense, introducing multiversioning would take a tremendous amount of time so I suppose providing variants and defaulting to the generic implementation makes sense.

Elpa doesn't provide any micro-arch cross-compiliation features as far as I know, so you have to decide ad hoc which kernels to include and which to set as default, while your kernel features are limited by the build machine micro-arch. As default the most sophisticated kernel is chosen, but can be changed on the user side. In principle you should be able to fallback to the generic kernel with any version of Elpa, at least that is my understanding.

As default the most sophisticated kernel is chosen, but can be changed on the user side

Elpa literally segfaults on Ivybridge so there is either a bug or selection is done at compile time (skimming through the code, in the midst of a thousand conditions, it looks like this is what is done).

your kernel features are limited by the build machine micro-arch

Well, either compiled code is directly used at compile time to actively limit portability or no one ever cared to compile the kernels with the correct compiler flags. Either way, really nothing these days prevents micro-arch compilation: Openblas, FFTW and BLIS (to give relevant examples) all provide micro-arch-optimised kernels at runtime.
You saved me an hour of looking for things, I'll have a closer look at Elpa to get things work (if indeed uarch selection is a thing).


feat: add damage_type resource

From 1.19.4. Also, could consider adding a test for all resources in a load_resources example as a separate PR.

The tests failed due a cache error (or something similar, pytest wasn't found ...)


controllers: Use ISO 8601 timestamp format in logs

Use ISO 8601 for better timestamp readability from logs.
we can also use kubectl logs --timestamps=true options for the timestamp.
Ref: https://github.com/RamenDR/ramen/pull/499
fixes #198
without fix
./bin/manager
1.6612317914296057e+09	INFO	controller-runtime.metrics	Metrics server is starting to listen	{"addr": ":8080"}
I0823 10:46:32.570418 1458419 request.go:601] Waited for 1.049527477s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:8443/apis/policy/v1?timeout=32s
1.661231793128033e+09	ERROR	setup	unable to create controller	{"controller": "ReclaimSpaceCronJob", "error": "no matches for kind \"ReclaimSpaceJob\" in version \"csiaddons.openshift.io/v1alpha1\""}
main.main
	/home/mrajanna/workspace/src/github.com/csi-addons/kubernetes-csi-addons/cmd/manager/main.go:130
runtime.main
	/usr/local/go/src/runtime/proc.go:250

with this Fix
./bin/manager
2022-08-23T10:48:39.306+0530	INFO	controller-runtime.metrics	Metrics server is starting to listen	{"addr": ":8080"}
I0823 10:48:40.454459 1460747 request.go:601] Waited for 1.04569822s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:8443/apis/autoscaling/v2beta2?timeout=32s
2022-08-23T10:48:41.006+0530	ERROR	setup	unable to create controller	{"controller": "ReclaimSpaceCronJob", "error": "no matches for kind \"ReclaimSpaceJob\" in version \"csiaddons.openshift.io/v1alpha1\""}
main.main
	/home/mrajanna/workspace/src/github.com/csi-addons/kubernetes-csi-addons/cmd/manager/main.go:132
runtime.main
	/usr/local/go/src/runtime/proc.go:250

Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>

@Madhu-1 need to run go mod vendor

Missed adding go.mod file should be good now.


Is .clang-format supported?

Hey! I'm trying to use the pre-commit clang-format mirror in CI https://github.com/pre-commit/mirrors-clang-format
which points to this wheel repository for further docs and info.
I can't see anywhere mentioned whether the CI precommit bot uses the .clang-format file from within a repository when pushing the changes commit. Is that supported, can it be configured somehow?
Thanks and sorry for opening an issue for this.

I've seen in the meantime the --style=file option passed to clang-format. That means .clang-format from root of repository will be used right?
Also, I've been trying for the past 3 hours to understand how to make the pre-commit bot run the clang-format hook only on the changed files from a PR, but I failed. If you know something about that, please let me know <3 It seems to me now that it's not possible.

Yes, the format file from the root directory is taken. Not sure there is a way to do a partial application. I guess the motivation is to keep the history of a non-formatted code base clean?

That's exactly the motivation. I can't stop thinking though also about the waste of resources on pre-commit CI's side for running the hooks on the entire codebase every time.
In any case, thanks a lot for the help @dokempf, really appreciated and thanks for maintaining this nice piece of work.


Add helwan.edu to the list of domains

@M0hamedFathy I am sorry, the domain science.helwan.edu.eg is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Unclear what replace,ent

New Issue Checklist

[ ] Updated fastlane to the latest version
[ ] I have read the Contribution Guidelines

Issue Description
Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

[INSERT OUTPUT HERE]
Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
[INSERT OUTPUT HERE]

Please provide an issue description


txt2al: Should no transfer Variable Changes on existing Procedures

E.g. in Table 111 Sales Shipment Line there could be an additional Variable cu_AddSalesFunct@5273104 : Codeunit "Additional Sales Functions"; on Procedure InsertInvLineFromShptLine.
PROCEDURE InsertInvLineFromShptLine@2(VAR SalesLine@1000 : Record "Sales Line");
    VAR
      SalesInvHeader@1011 : Record "Sales Header";
      SalesOrderHeader@1008 : Record "Sales Header";
      SalesOrderLine@1005 : Record "Sales Line";
      TempSalesLine@1002 : TEMPORARY Record "Sales Line";
      TransferOldExtLines@1007 : Codeunit "Transfer Old Ext. Text Lines";
      ItemTrackingMgt@1009 : Codeunit "Item Tracking Management";
      LanguageManagement@1010 : Codeunit LanguageManagement;
      ExtTextLine@1006 : Boolean;
      NextLineNo@1001 : Integer;
      cu_AddSalesFunct@5273104 : Codeunit "Additional Sales Functions";

This creates the following Delta-File:
OBJECT Modification "Sales Shipment Line"(Table 111)
{
  OBJECT-PROPERTIES
  {
    Date=20180208D;
    Time=000000T;
    Version List=NAVW111.00,NAVDACH11.00;
  }
  PROPERTIES
  {
    Target="Sales Shipment Line"(Table 111);
  }
  CHANGES
  {
    { Insertion         ;Target=InsertInvLineFromShptLine(PROCEDURE 2);
                         InsertAfter=NextLineNo(Variable 1001);
                         ChangedElements=VariableCollection
                         {
                           cu_AddSalesFunct@5273104 : Codeunit "Additional Sales Functions";
                         }
                          }
  }
  CODE
  {

    BEGIN
    END.
  }
}

txt2al creates this Variable as global Variable and Procedure. Both shouldn't exists.
tableextension 70000001 tableextension70000001 extends "Sales Shipment Line"
{
    // version NAVW111.00,NAVDACH11.00

    procedure cu_AddSalesFunct()
    begin
    end;

    var
        cu_AddSalesFunct: Codeunit "Additional Sales Functions";
}

Thanks for reporting. I've added it to our bug backlog.


KOGITO-6994: Improve Dashbuilder External CSV parser tests coverage

Hello @nikhildewoolkar
Thanks for your contribution, the code looks good to me and the build is green, so your test passed.
Before approving and merging I need to ask you to format the code according to our formatting file, see [1]. You need to import this file in your IDE and format the code.
If you are using VSCode import the file using the steps from [2], then format the code.
Save your work, add the changed files, commit and push the new commit to this branch.
Thanks.
[1] https://github.com/kiegroup/droolsjbpm-build-bootstrap/blob/main/ide-configuration/eclipse-configuration/code-style/eclipse-code-style-formatter_droolsjbpm-java-conventions.xml
[2] https://stackoverflow.com/questions/46030629/need-to-import-eclipse-java-formatter-profile-in-visual-studio-code