Activating lighthouse drops all networking

I am running Ubuntu 18.04
Nebula v 1.0.0
I configured my first node, that first node is my lighthouse. When I activate the lighthouse functionality, my networking completely drops for this host.
My host is directly connected to a static ip, with no router or internal ip.
# This is the nebula example configuration file. You must edit, at a minimum, the static_host_map, lighthouse, and firewall sections
# Some options in this file are HUPable, including the pki section. (A HUP will reload credentials from disk without affecting existing tunnels)

# PKI defines the location of credentials for this node. Each of these can also be inlined by using the yaml ": |" syntax.
pki:
  # The CAs that are accepted by this node. Must contain one or more certificates created by 'nebula-cert ca'
  ca: /etc/nebula/ca.crt
  cert: /etc/nebula/lighthouse1.crt
  key: /etc/nebula/lighthouse1.key
  #blacklist is a list of certificate fingerprints that we will refuse to talk to
  #blacklist:
  #  - c99d4e650533b92061b09918e838a5a0a6aaee21eed1d12fd937682865936c72

# The static host map defines a set of hosts with fixed IP addresses on the internet (or any network).
# A host can have multiple fixed IP addresses defined here, and nebula will try each when establishing a tunnel.
# The syntax is:
#   "{nebula ip}": ["{routable ip/dns name}:{routable port}"]
# Example, if your lighthouse has the nebula IP of <IP_ADDRESS> and has the real ip address of <IP_ADDRESS> and runs on port 4242:
static_host_map:
  "publicIP": ["publicIP:4242"]

lighthouse:
  # am_lighthouse is used to enable lighthouse functionality for a node. This should ONLY be true on nodes
  # you have configured to be lighthouses in your network
  am_lighthouse: true
  # serve_dns optionally starts a dns listener that responds to various queries and can even be
  # delegated to for resolution
  #serve_dns: false
  # interval is the number of seconds between updates from this node to a lighthouse.
  # during updates, a node sends information about its current IP addresses to each node.
  interval: 60
  # hosts is a list of lighthouse hosts this node should report to and query from
  # IMPORTANT: THIS SHOULD BE EMPTY ON LIGHTHOUSE NODES
#  hosts:
#    - "<IP_ADDRESS>"

# Port Nebula will be listening on. The default here is 4242. For a lighthouse node, the port should be defined,
# however using port 0 will dynamically assign a port and is recommended for roaming nodes.
listen:
  host: <IP_ADDRESS>
  port: 4242
  # Sets the max number of packets to pull from the kernel for each syscall (under systems that support recvmmsg)
  # default is 64, does not support reload
  #batch: 64
  # Configure socket buffers for the udp side (outside), leave unset to use the system defaults. Values will be doubled by the kernel
  # Default is net.core.rmem_default and net.core.wmem_default (/proc/sys/net/core/rmem_default and /proc/sys/net/core/rmem_default)
  # Maximum is limited by memory in the system, SO_RCVBUFFORCE and SO_SNDBUFFORCE is used to avoid having to raise the system wide
  # max, net.core.rmem_max and net.core.wmem_max
  #read_buffer: 10485760
  #write_buffer: 10485760

# Punchy continues to punch inbound/outbound at a regular interval to avoid expiration of firewall nat mappings
punchy: true
# punch_back means that a node you are trying to reach will connect back out to you if your hole punching fails
# this is extremely useful if one node is behind a difficult nat, such as symmetric
punch_back: true

# Cipher allows you to choose between the available ciphers for your network.
# IMPORTANT: this value must be identical on ALL NODES/LIGHTHOUSES. We do not/will not support use of different ciphers simultaneously!
#cipher: chachapoly

# Local range is used to define a hint about the local network range, which speeds up discovering the fastest
# path to a network adjacent nebula node.
#local_range: "<IP_ADDRESS>/24"

# sshd can expose informational and administrative functions via ssh this is a
#sshd:
  # Toggles the feature
#  enabled: true
  # Host and port to listen on, port 22 is not allowed for your safety
#  listen: <IP_ADDRESS>:477
  # A file containing the ssh host private key to use
  # A decent way to generate one: ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N "" < /dev/null
#  host_key:
  # A file containing a list of authorized public keys
#  authorized_users:
#    - user:
      # keys can be an array of strings or single string
#      keys:
#        - ""

# Configure the private interface. Note: addr is baked into the nebula certificate
tun:
  # Name of the device
  dev: xoverlay
  # Toggles forwarding of local broadcast packets, the address of which depends on the ip/mask encoded in pki.cert
  drop_local_broadcast: false
  # Toggles forwarding of multicast packets
  drop_multicast: false
  # Sets the transmit queue length, if you notice lots of transmit drops on the tun it may help to raise this number. Default is 500
  tx_queue: 500
  # Default MTU for every packet, safe setting is (and the default) 1300 for internet based traffic
  mtu: 1300
  # Route based MTU overrides, you have known vpn ip paths that can support larger MTUs you can increase/decrease them here
  routes:
    #- mtu: 8800
    #  route: <IP_ADDRESS>/16

# TODO
# Configure logging level
logging:
  # panic, fatal, error, warning, info, or debug. Default is info
  level: info
  # json or text formats currently available. Default is text
  format: text

#stats:
  #type: graphite
  #prefix: nebula
  #protocol: tcp
  #host: <IP_ADDRESS>:9999
  #interval: 10s

  #type: prometheus
  #listen: <IP_ADDRESS>:8080
  #path: /metrics
  #namespace: prometheusns
  #subsystem: nebula
  #interval: 10s

# Nebula security group configuration
firewall:
  conntrack:
    tcp_timeout: 120h
    udp_timeout: 3m
    default_timeout: 10m
    max_connections: 100000

  # The firewall is default deny. There is no way to write a deny rule.
  # Rules are comprised of a protocol, port, and one or more of host, group, or CIDR
  # Logical evaluation is roughly: port AND proto AND ca_sha AND ca_name AND (host OR group OR groups OR cidr)
  # - port: Takes `0` or `any` as any, a single number `80`, a range `200-901`, or `fragment` to match second and further fragments of fragmented packets (since there is no port available).
  #   code: same as port but makes more sense when talking about ICMP, TODO: this is not currently implemented in a way that works, use `any`
  #   proto: `any`, `tcp`, `udp`, or `icmp`
  #   host: `any` or a literal hostname, ie `test-host`
  #   group: `any` or a literal group name, ie `default-group`
  #   groups: Same as group but accepts a list of values. Multiple values are AND'd together and a certificate would have to contain all groups to pass
  #   cidr: a CIDR, `<IP_ADDRESS>/0` is any.
  #   ca_name: An issuing CA name
  #   ca_sha: An issuing CA shasum

  outbound:
    # Allow all outbound traffic from this node
    - port: any
      proto: any
      host: any

  inbound:
    # Allow icmp between any nebula hosts
    - port: any
      proto: icmp
      host: any

    # Allow SSH 477 from wan TEMP
    - port: 477
      proto: udp
      host: any

    # Allow tcp/443 from any host with BOTH laptop and home group
    - port: 443
      proto: tcp
      groups:
        - laptop
        - home

Would really appreciate any assistance, thank you.

This does not happen when utilizing lighthouse settings on a node with a local ip behind a router

Can you share the command you are using to generate your certificates for each node?

`#   "{nebula ip}": ["{routable ip/dns name}:{routable port}"]
Example, if your lighthouse has the nebula IP of <IP_ADDRESS> and has the real ip address of <IP_ADDRESS> and runs on port 4242:
static_host_map:
"publicIP": ["publicIP:4242"]`
It looks like you're using the publicIP in both spots.
Format should be "<IP_ADDRESS>": ["<IP_ADDRESS>:4242"]

@zfwjs yeah, I need to check but this might be a bug in that handling. I assume "publicIp" fails to parse and we might just move forward with a <IP_ADDRESS> route.

Update ---
All networking is not lost. It seemed like it and I could have tested further to see that all networking was not lost, but as I was not at the location of the server at that time I did not think of it.
All inbound connection seems to be lost at the lighthouse node. ONLY on this machine that ONLY has a public ip, there is no router, so I cannot utilize an ip like <IP_ADDRESS>, the machine is directly connected only to a public ip.
The odd part is that the ping command works properly. Makes me feel like I have no idea what I'm doing.
I use port 477 for ssh, so I added tcp and udp rules for 477, the config I pasted up above was before I  added tcp 477.
After I activate nebula on this lighthouse I am unable to connect to the lighthouse via ssh, but only on this node.
 I set up the lighthouse with the exact same settings and it worked perfectly right out of the gate. Activating nebula on this lighthouse did not break ssh connection, and did not break any internal connections.
I believe the command I'm using to issue certs is not useful, as I have 2 lighthouses with the exact same settings in which one works and one does not once nebula has been activated with the only difference being the ip.  Although the commands I'm using to issue certs are
./nebula-cert sign -name "pcname" -ip "xxx.xxx.xxx.xxx/xx"

@GettingTechnicl the two comments above yours are the ones to keep in mind. the 192.168.100.x subnet is something you define to your individual nebula deployment. If you need to use a different ip range, you can make that anything you want, as long as it doesn't conflict with your local network ip range anywhere.
The key here is that the static host map can not have a non-nebula IP as its first argument, as the folks above have stated. It needs to be the IP you assigned to a static node via its certificate.

@rawdigits
Thank you, I believe that will resolve my issue then. I was under the impression that this needed to be what the machines local routable ip would be.
I will update when this is working.

This did resolve the issue completely. Thanks for your assistance.


connlib: ICE trickle

Each time we find a candidate, we opportunistically try candidates as they trickle in and continue with the first successful connection.

Ah, I've been adding the UX label to things that affect user experience. I believe this was fixed in #2152


Flutter Web App Crashes in Firefox after Frequent Actions (Navigation, API Calls, Form Submission)

I am encountering a persistent issue with my Flutter web app built using Flutter 3.24.5, where the app crashes in Firefox after performing frequent actions such as navigating between pages, submitting forms, or fetching data from an API. This causes the browser to close the tab and display the error message: "Your tab just crashed."
When inspecting the Firefox Console, the following warnings appear consistently before the crash:
1. targetWidth and targetHeight for multi-frame images not supported: This warning appears when handling multi-frame images (e.g., GIFs). It seems Firefox does not support resizing multi-frame images using targetWidth or targetHeight.
2. Layout was forced before the page was fully loaded: This warning suggests that layout recalculations or DOM updates are being triggered prematurely, possibly contributing to performance issues.
The crash appears to be specific to Firefox, as the app works correctly in other browsers such as Chrome and Safari, without crashes or significant warnings.
Steps to Reproduce:

Build and deploy a Flutter web app using Flutter 3.24.5.
Integrate the app with Firebase (Firestore and Authentication).
Perform frequent actions like:
Navigating between routes.
Fetching data from Firestore or submitting forms.
Rendering pages with multi-frame images (e.g., GIFs).
Observe the crash in Firefox after repeated actions.

Key Observations:

The crash behavior becomes more frequent with repeated actions (API requests or rapid navigation).
The targetWidth and targetHeight warning suggests compatibility issues with Firefox when handling certain image types.
The layout recalculation warning points to potential inefficiencies in rendering or style application.
The issue does not occur in Chrome or Safari, suggesting Firefox-specific behavior.

Attempted Solutions:

Ensured proper disposal of controllers (e.g., ScrollController, StreamController) and listeners.
Minimized unnecessary widget rebuilds using const constructors and RepaintBoundary.
Checked for memory leaks using Flutter DevTools, but no clear issues were found.
Despite these efforts, the app continues to crash in Firefox.

Screenshots or Video

Screenshots / Video demonstration

Logs
Logs
targetWidth and targetHeight for multi-frame images not supported
Layout was forced before the page was fully loaded. If stylesheets are not yet loaded, this may cause a flash of unstyled content.

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.5, on macOS 15.1 24B83 darwin-arm64, locale en-PK)
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/to/macos-android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.1)
[✓] VS Code (version 1.93.1)
[✓] Connected device (4 available)
[✓] Network resources

Any Update I have faced same issue after upgrading to flutter 3.22 from 3.16.8.

Hi @wasimCronySoft, without a complete minimal reproducible code sample, there isn't much we can do on this. Please provide a complete minimal reproducible code sample so that we can properly investigate this.
Thank you

@danagbemava-nc Look at this update. The issue is explained in more detail.
Thanks

Hi @wasimCronySoft, we will still need a complete minimal reproducible code sample so that we can properly investigate this.
Please try to provide a sample app we can use.
Thank you


Better error message for error message when trying to transfer someone else's coin.

Dupe of #1749, misclick


Update to ProtoBuf 1.0.11

This project is great, which is why I wanted to use it.
The problem was I was getting version conflicts with other libraries due to using a very old version of ProtoBuf
So, this PR does the following:

Generate new code with ProtoBuf 1.0.11
Modify the code as necessary to comply with the breaking changes in ProtoBuf. https://docs.juliahub.com/ProtoBuf/5SOUb/1.0.7/#Migrating-from-earlier-versions-of-ProtoBuf.jl
update some code to use (new?) better syntax, such as not comparing with nothing, adding a bit of typing for clarity..
Fix some tests (they assumed older Protobuf structs)

This update may break older Julia builds, so please help me test it as you see fit. I tested with Julia1.9 including running the tests and verifying the examples. Exceptions:

Audio Example seems to not work (I don't hear the tone, maybe my speakers..)
Graph feature needs some more editing. I marked with the line which breaks with @test_broken. I don't know what the internal graph functions do so please fix that in a following separate PR.
A few examples are broken due to old code (i.e. MNIST code was updated since this was written, etc)

All in all, this update will make sure the project does not die when more libraries update.

I don't maintain the package anymore, you should ping some other maintainers in the org...

@c42f @tanmaykm @quinnj @pfitzseb @fredrikekre
Hi guys.
I would welcome a review by any of that is willing.
I would also be willing to help maintaining this package if I get write permissions. I probably got a good overview of the package by working on this PR.

(BTW while you are at it, you should clean up the unit test runners to stop testing this on Julia 1.3, and probably bump the minimum required version to the 1.6 LTS..)

This looks good to me. I believe I have admin on the org and have been included in this package from the beginning.
I will try and give this a proper review early next week.


Getting 'java.lang.ArithmeticException: / by zero' in overlord log

The Druid version where the problem was encountered.
0.22.1
In over lord log i can see this error log

Uncaught exception.
java.lang.ArithmeticException: / by zero
at org.apache.druid.java.util.metrics.SysMonitor$CpuStats.emit(SysMonitor.java:459) ~[druid-core-0.22.1.jar:0.22.1]
at org.apache.druid.java.util.metrics.SysMonitor.doMonitor(SysMonitor.java:107) ~[druid-core-0.22.1.jar:0.22.1]
at org.apache.druid.java.util.metrics.AbstractMonitor.monitor(AbstractMonitor.java:48) ~[druid-core-0.22.1.jar:0.22.1]
at org.apache.druid.java.util.metrics.BasicMonitorScheduler.lambda$startMonitor$0(BasicMonitorScheduler.java:56) ~[druid-core-0.22.1.jar:0.22.1]
at org.apache.druid.java.util.common.concurrent.ScheduledExecutors$4.run(ScheduledExecutors.java:163) [druid-core-0.22.1.jar:0.22.1]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_342]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_342]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_342]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_342]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_342]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_342]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_342]

Here's what I think might have happened - For a utilization metric of JVM (nice time, idle time, wait time, etc), the SysMonitor reports the stat as a percentage of the difference between the current utilization time and the last reported utilization time over the difference between total JVM time between the two occurrences. In case the delta between the total time (for any CPU) is 0, this might throw an arithmetic exception. The fix for this should be simple, i.e. to not emit the metrics when the delta total is 0.
To understand if the above is correct, are you seeing these error messages often in the logs? My guess is that it should be a rare occurrence. And if you are seeing this continuously, does Druid run as a main process on the server, or are there other processes that can preempt the execution?


occasional "unexpected ModRevision" errors

We've seen occasional unexpected ModRevision (it's too small; prev ...  errors logged in a gazette production cluster which are mysterious. They're noisy but harmless -- the keyspace does the right thing of dropping the duplicate event -- however they're also inexplicable.
Code diving, the only way I've found that this can happen is if the etcd Watch client sends duplicate events, which it's not supposed to do. One thing I am seeing is that these logs co-occur with the broker switching over to another Etcd node (see how memberId changes below), so this may be a bug in Watch tickled on recovery & reconnect:

{"level":"info","memberId":9290711433539710000,"msg":"etcd MemberId/RaftTerm changed","raftTerm":172,"time":"2019-05-08T08:26:36Z","update.MemberId":5603996233891104000,"update.RaftTerm":172}

Is this possibly fixed in 49c4ae6?

Duplicate of #248 .


Support query model status

Colses #143
Signed-off-by: wangzhenyu32<EMAIL_ADDRESS>

bors r+

bors retry


Feature/hp

fix #10

No line breaks in super wide view (3840 px)

Do you mean for example that the text for open_ego stays in one line on very large screens? If that's the case, I would not recommend it, because that would be really hard to read. I could instead increase the width of the text box to let the text take more space.

We decided to have no "contact page"
We should remove the contact button below the project description
should we leave button to link to tools+data page or shall we simply remove it?

I removed the contact button, but I think we should leave the tools+data button since this is the main action we want our users to take (see the tools + data)

Our tasks: We have a title for each task: Planning Tool, Sector Coupling, Modeling and Complexity, Open Data / Open Source. Would be possible to add these somehow? Or would you advice to leave each task without a title?

No, I think this is a good idea to have a title for each task, because the user doesn't have to read the whole texts to understand what the tasks are. I just didn't know before how the tasks would look like, that's why I didn't include them

In HP_hero_img_v2_for_web.svg, in the center, there many lines crossing. Do you think it could be an improvement when the gray area has a little bit more opacity and maybe a little bit lighter color? Just an idea. If you're happy and you dont't have an indea for improving it, leave it as it is!

I get your point. I added a new version with a darker background for the central element. I actually prefer it that way, because it stands out and the blue/black colors remember the logo colors.
About the workshop section, will there be a link to something?

No line breaks in super wide view (3840 px)
Do you mean for example that the text for open_ego stays in one line on very large screens? If that's the case, I would not recommend it, because that would be really hard to read. I could instead increase the width of the text box to let the text take more space.
I forgot to insert the screenshot

Ah, that's still the same issue than yesterday. What I don't understand is that I thought I had fixed it. Did you clear the cache? Which browser are you using?

We decided to have no "contact page"
We should remove the contact button below the project description
should we leave button to link to tools+data page or shall we simply remove it?

I removed the contact button, but I think we should leave the tools+data button since this is the main action we want our users to take (see the tools + data)

:+1:

Our tasks: We have a title for each task: Planning Tool, Sector Coupling, Modeling and Complexity, Open Data / Open Source. Would be possible to add these somehow? Or would you advice to leave each task without a title?

No, I think this is a good idea to have a title for each task, because the user doesn't have to read the whole texts to understand what the tasks are. I just didn't know before how the tasks would look like, that's why I didn't include them

:+1:

In HP_hero_img_v2_for_web.svg, in the center, there many lines crossing. Do you think it could be an improvement when the gray area has a little bit more opacity and maybe a little bit lighter color? Just an idea. If you're happy and you dont't have an indea for improving it, leave it as it is!

I get your point. I added a new version with a darker background for the central element. I actually prefer it that way, because it stands out and the blue/black colors remember the logo colors.

I like it that way :clap:

About the workshop section, will there be a link to something?

Not yet. Right now, it's more like announcing there will be workshops. I think when we start preparing the workshops, we'll add a page with information and results after the workshop. We should a a link then.

Ah, that's still the same issue than yesterday. What I don't understand is that I thought I had fixed it. Did you clear the cache? Which browser are you using?

Maybe I didn't pull? Now, it works perfectly. My fault :see_no_evil:
From my side, we're ready for merging :tada:
Do you do the merge? Let me now, if I should do it

Ah, I'm relieved :)
I can do the merge!


Beaker Starter template

As discussed on Slack, this is a beaker starter template. This template is less complex but offers less convenience than the beaker production template. Primary motivation is to offer a template that supports all features of Algokit, including Dappflow, that newer developers can use to start developing a smart contract.

@joe-p Thanks! Are you able to resolve the formatting and also run all the tests and re-generate the documentation? Thanks

Wow that build error is really weird, not seen that before. I assume it's an intermittent error.


include: mipi_dbi: fix initialization statement for SPI operation field

SPI configuration "operation" field is a bitmask of several configuration settings for the SPI interface when using SPI controllers with the MIPI DBI API. The initialization statement for this configuration structure had a comma after the "duplex" property where a binary or should be present. correct this issue

@danieldegrasse surprised CI did not catch this, are there no build tests for this?


Numba heapq doesn't work with numba typed lists

[x] I am using the latest released version of Numba
[x] I have included below a minimal working reproducer

Description
heapq doesn't seem to like anything other than lists, even numba typed lists don't work.
How to reproduce
import heapq as hq
from numba.typed import List

l = List()
l.append(5)
l.append(3)

e = hq.heappop(l)

TypeError: heap argument must be a list

Thanks for the report. The issue is that CPython requires a CPython list:
https://github.com/python/cpython/blob/664fe3996f7e05ae351526f02b21504bb065bcf8/Modules/_heapqmodule.c#L139-L142 pretty sure there's nothing that can easily be done about this from Numba.
Numba has it's own heapq implementation for use in jit decorated functions, we should fix that to accept typed.List.

@stuartarchibald Thank you for your quick reply. How can I use Numba's heapq implementation?

@ma-sadeghi there's a short example here: https://nbviewer.jupyter.org/github/numba/numba-examples/blob/master/notebooks/Numba_043_release_demo.ipynb#Support-for-heapq- essentially import heapq then use it in a jit decorated function, it behaves pretty much the same as CPython heapq (IIRC the implementations are very similar).

Bumped into this attempting to help @truenicoco with an implementation of a priority queue on Gitter. With the following PQ implementation:
import itertools

import numba as nb
from numba.experimental import jitclass
from typing import List, Tuple, Dict
from heapq import heappush, heappop

# @jitclass
class PurePythonPriorityQueue:
    def __init__(self):
        self.pq = []  # list of entries arranged in a heap
        self.entry_finder = {}  # mapping of indices to entries
        self.REMOVED = -1  # placeholder for a removed item
        self.counter = itertools.count()  # unique sequence count

    def put(self, item: Tuple[int, int], priority: float = 0.0):
        """Add a new item or update the priority of an existing item"""
        if item in self.entry_finder:
            self.remove_item(item)
        count = next(self.counter)
        entry = [priority, count, item]
        self.entry_finder[item] = entry
        heappush(self.pq, entry)

    def remove_item(self, item: Tuple[int, int]):
        """Mark an existing item as REMOVED.  Raise KeyError if not found."""
        entry = self.entry_finder.pop(item)
        entry[-1] = self.REMOVED

    def pop(self):
        """Remove and return the lowest priority item. Raise KeyError if empty."""
        while self.pq:
            priority, count, item = heappop(self.pq)
            if item is not self.REMOVED:
                del self.entry_finder[item]
                return item
        raise KeyError("pop from an empty priority queue")

# @jitclass
# class Item:
#     i: int
#     j: int
#
#     def __init__(self, i, j):
#         self.i = i
#         self.j = j
#
#     def __eq__(self, other):
#         return self.i == other.i and self.j == other.j

@jitclass
class Entry:
    priority: float
    count: int
    item: Tuple[int, int]
    removed: bool

    def __init__(self, p: float, c: int, i: Tuple[int, int]):
        self.priority = p
        self.count = c
        self.item = i
        self.removed = False

    def __lt__(self, other):
        return self.priority < other.priority

@jitclass
class PriorityQueue:
    pq: List[Entry]
    entry_finder: Dict[Tuple[int, int], Entry]
    counter: int

    def __init__(self):
        self.pq = nb.typed.List.empty_list(Entry(0.0, 0, (0, 0)))
        self.entry_finder = nb.typed.Dict.empty((0, 0), Entry(0, 0, (0, 0)))
        self.counter = 0

    def put(self, item: Tuple[int, int], priority: float = 0.0):
        """Add a new item or update the priority of an existing item"""
        if item in self.entry_finder:
            self.remove_item(item)
        self.counter += 1
        entry = Entry(priority, self.counter, item)
        self.entry_finder[item] = entry
        heappush(self.pq, entry)

    def remove_item(self, item: Tuple[int, int]):
        """Mark an existing item as REMOVED.  Raise KeyError if not found."""
        entry = self.entry_finder.pop(item)
        entry.removed = True

    def pop(self):
        """Remove and return the lowest priority item. Raise KeyError if empty."""
        while self.pq:
            priority, count, item = heappop(self.pq)
            entry = heappop(self.pq)
            if not entry.removed:
                del self.entry_finder[entry.item]
                return item
        raise KeyError("pop from an empty priority queue")

if __name__ == "__main__":
    queue1 = PurePythonPriorityQueue()
    queue1.put((4, 5), 5.4)
    queue1.put((5, 6), 1.0)
    print(queue1.pop())  # Yay this works!

    queue2 = PriorityQueue()  # Nope
    queue2.put((4, 5), 5.4)
    queue2.put((5, 6), 1.0)
    print(queue2.pop())

    # queue3 = OptimalQueue()
    # for i in range(5):
    #     for j in range(5):
    #         queue3.add_index(i, j)
    #         # [Index(i, j) for i in range(5) for j in range(5)]
    # print(queue3.indices)
    # queue3.put((4, 5), 5.4)
    # queue3.put((5, 6), 1.0)
    # print(queue3.pop())  # Yay this works!

If I remove the check for a reflected list in the heapq implementation:
diff --git a/numba/cpython/heapq.py b/numba/cpython/heapq.py
index 23a80e269..50b1ddce3 100644
--- a/numba/cpython/heapq.py
+++ b/numba/cpython/heapq.py
@@ -104,8 +104,8 @@ def _heapreplace_max(heap, item):

 def assert_heap_type(heap):
-    if not isinstance(heap, types.List):
-        raise TypingError('heap argument must be a list')
+    #if not isinstance(heap, types.List):
+    #    raise TypingError('heap argument must be a list')

     dt = heap.dtype
     if isinstance(dt, types.Complex):

Then I get the traceback:
$ python modified.py :q
(5, 6)
Traceback (most recent call last):
  File "/home/gmarkall/numbadev/issues/so-priority-queue/modified.py", line 114, in <module>
    queue2.put((4, 5), 5.4)
  File "/home/gmarkall/numbadev/numba/numba/experimental/jitclass/boxing.py", line 59, in wrapper
    return method(*args, **kwargs)
  File "/home/gmarkall/numbadev/numba/numba/core/dispatcher.py", line 482, in _compile_for_args
    error_rewrite(e, 'typing')
  File "/home/gmarkall/numbadev/numba/numba/core/dispatcher.py", line 423, in error_rewrite
    raise e.with_traceback(None)
numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
- Resolution failure for literal arguments:
Failed in nopython mode pipeline (step: nopython frontend)
No implementation of function Function(<built-in function heappush>) found for signature:

 >>> heappush(ListType[instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>], instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>)

There are 2 candidate implementations:
  - Of which 2 did not match due to:
  Overload in function 'heappush': File: numba/cpython/heapq.py: Line 150.
    With argument(s): '(ListType[instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>], instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>)':
   Rejected as the implementation raised a specific error:
     TypingError: Failed in nopython mode pipeline (step: nopython frontend)
   No implementation of function Function(<function _siftdown at 0x7f7c4294cee0>) found for signature:

    >>> _siftdown(ListType[instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>], Literal[int](0), int64)

   There are 2 candidate implementations:
         - Of which 2 did not match due to:
         Overload in function 'register_jitable.<locals>.wrap.<locals>.ov_wrap': File: numba/core/extending.py: Line 159.
           With argument(s): '(ListType[instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>], int64, int64)':
          Rejected as the implementation raised a specific error:
            TypingError: Failed in nopython mode pipeline (step: nopython frontend)
          No implementation of function Function(<built-in function lt>) found for signature:

           >>> lt(instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>, instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>)

          There are 20 candidate implementations:
                - Of which 18 did not match due to:
                Overload of function 'lt': File: <numerous>: Line N/A.
                  With argument(s): '(instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>, instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>)':
                 No match.
                - Of which 2 did not match due to:
                Operator Overload in function 'lt': File: unknown: Line unknown.
                  With argument(s): '(instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>, instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>)':
                 No match for registered cases:
                  * (bool, bool) -> bool
                  * (int8, int8) -> bool
                  * (int16, int16) -> bool
                  * (int32, int32) -> bool
                  * (int64, int64) -> bool
                  * (uint8, uint8) -> bool
                  * (uint16, uint16) -> bool
                  * (uint32, uint32) -> bool
                  * (uint64, uint64) -> bool
                  * (float32, float32) -> bool
                  * (float64, float64) -> bool

          During: typing of intrinsic-call at /home/gmarkall/numbadev/numba/numba/cpython/heapq.py (18)

          File "../../numba/numba/cpython/heapq.py", line 18:
          def _siftdown(heap, startpos, pos):
              <source elided>
                  parent = heap[parentpos]
                  if newitem < parent:
                  ^

     raised from /home/gmarkall/numbadev/numba/numba/core/typeinfer.py:1074

   During: resolving callee type: Function(<function _siftdown at 0x7f7c4294cee0>)
   During: typing of call at /home/gmarkall/numbadev/numba/numba/cpython/heapq.py (157)

   File "../../numba/numba/cpython/heapq.py", line 157:
       def hq_heappush_impl(heap, item):
           <source elided>
           heap.append(item)
           _siftdown(heap, 0, len(heap) - 1)
           ^

  raised from /home/gmarkall/numbadev/numba/numba/core/typeinfer.py:1074

During: resolving callee type: Function(<built-in function heappush>)
During: typing of call at /home/gmarkall/numbadev/issues/so-priority-queue/modified.py (89)

File "modified.py", line 89:
    def put(self, item: Tuple[int, int], priority: float = 0.0):
        <source elided>
        self.entry_finder[item] = entry
        heappush(self.pq, entry)
        ^

- Resolution failure for non-literal arguments:
None

During: resolving callee type: BoundFunction((<class 'numba.core.types.misc.ClassInstanceType'>, 'put') for instance.jitclass.PriorityQueue#7f7c42d484f0<pq:ListType[instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>],entry_finder:DictType[UniTuple(int64 x 2),instance.jitclass.Entry#7f7c42dbee50<priority:float64,count:int64,item:UniTuple(int64 x 2),removed:bool>]<iv=None>,counter:int64>)
During: typing of call at <string> (3)

File "<string>", line 3:
<source missing, REPL/exec in use?>

It seems like this comes from line 18 of heapq.py, if newitem < parent::
 11 @register_jitable
 12 def _siftdown(heap, startpos, pos):
 13     newitem = heap[pos]
 14
 15     while pos > startpos:
 16         parentpos = (pos - 1) >> 1
 17         parent = heap[parentpos]
 18         if newitem < parent:
 19             heap[pos] = parent
 20             pos = parentpos
 21             continue
 22         break
 23
 24     heap[pos] = newitem

Fix proposed in #7260.


Update title of Contextual Response Rephraser

Proposed changes:

Updates title of contextual response rephraser page for consistency.

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

@m-vdb I think its okay to ignore the typos here since "Rephraser" is being used as a name for a component here?


Update link to WebdriverIO Examples page

Proposed changes
Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[ ] I have read the CONTRIBUTING doc
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments
Reviewers: @webdriverio/technical-committee

Codecov Report

Merging #100 into master will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #100      +/-   ##
==========================================
- Coverage   95.46%   95.41%   -0.06%
==========================================
  Files          93       93
  Lines        1832     1832
  Branches      392      392
==========================================
- Hits         1749     1748       -1
- Misses         74       75       +1
  Partials        9        9

Impacted Files
Coverage Δ

packages/webdriverio/src/utils/Timer.js
90.56% <0%> (-1.89%)
:arrow_down:

Continue to review full report at Codecov.

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

used my work email to commit which caused problem of CLA signing


Contact definition error message always refers to contacts needing to be 2D

This template is for bug reporting. For general questions about the simulator, please create a new discussion at https://forum.devsim.org
Describe the bug
In a 2D simulation using a gmsh 2D mesh, defining a 2D region for contact produces an error with message Contact <contact name> region name <region name> must be 2 dimensional to be a contact.
To Reproduce
See above
Expected behavior
From the example at https://github.com/devsim/devsim/blob/d970ec9c55de6739a28a040183a5e5b152f8c068/examples/mobility/ where the drain and source contacts are 1-dimensional objects according to the msh file, it seems that the error message should promp the user to create a 1D contact if the simulation is in 2D.
A generic error message mentionning contacts needing to be "N-1"-dimension could do.
Screenshots
N/A
Desktop (please complete the following information):

Debian

Additional context
Add any other context about the problem here.

Hi @simbilod
Thanks for reporting this.  I think this may be straightforward and will be fixed in a future release.

This should be fixed with release 2.3.7


Close to the left

Please add a future like 'Close to the left' on the tab menu, here is only 'Close to the right menu presence on the tab menu by clicking the right button of the mouse.

/duplicate of #116165 which needs a lot more 👍 on the issue to get beyond Backlog Candidate status.


Rendezvous addresses (SURBs)

As noted in https://github.com/TracingWithPrivacy/paper/issues/10#issuecomment-609003072 there are an excessive number of addresses in the current design.
We need 1440 addresses per user per day if we want new addresses at the 1 minute bluetooth announcement rate.  We might reduce this by repeating addresses over several minutes, which costs privacy.  We might reduce this by not broadcasting when the device believes the users to be home, but this sounds imperfect and could increases development costs substantially.
We must monitor these addresses daily, or more than daily, for 2 weeks, assuming nobody expects viruses with longer incubation times, so each user has 20k addresses open simultaneously.  We cannot send poll 20k addresses per user per day because polling requires mixnet round trips, and this many messages breaks the mixnet's anonymity.
Instead, we separate the ephemeral "rendezvous" address from a long lived mailbox:  Users deposit SURBs into their rendezvous addresses that route through the mixnet to their long lived mailbox.  These SURBs should live for 2 weeks if addresses get populated by SURBs only once, or 1 week if we double traffic load on the mixnet, but doing this requires node keys rotate slowly enough.
We do still wind up storing 20k SURBs per user under this scheme, so maybe a couple petabytes for one billion users.  We could avoid this storage if users queried the SURBs from the addresses they contacted, but doing so might not be cheaper than the storage.

Yes, that's something I also discussed with David over the weekend and that's the smart solution IMHO.
Have long-lifetime (long mix epoch) SURBs for initial contact addresses, that then route to (fewer) mailboxes that are polled by the user through a short-epoch mixnet.

We'll broadcast a fresh address every couple minutes, but we could maybe avoid publishing SURBs to addresses for which we believe nobody received our beacon.  We'd need some mechanism to distinguish bluetooth beacons for this system from beacons for ordinary devices.


feat(lidarr/readarr): add more request formats

Description
Similar to the rest of the -rr stack, lidarr and readarr have rename/delete etc.. which needs to be added.
Found from #133

Alrighty @EsmailELBoBDev2 let me know if danonline/autopulse:pr-137 fixes this all

okay, I unticked the artist added in lidarr, do I need to untick things from readarr too before I test? like author added maybe too?

Just need to untick author added

okay, unticked and testing time!

Hey @EsmailELBoBDev2 let me know how it's going!

I'm busy with exams :sweat_smile: so i did not have much time to spam it but so far seems good! so maybe it's fixed? and if it's still happening i can re-open the ticket later

hello @dan-online sorry but I noticed on latest I keep getting -- even if I removed the db
autopulse  | 2024-12-27T06:21:11.949206471Z ./run: line 4:   598 Segmentation fault      /bin/autopulse
autopulse  | 2024-12-27T06:21:12.996249529Z ./run: line 4:   602 Segmentation fault      /bin/autopulse
autopulse  | 2024-12-27T06:21:14.133084983Z ./run: line 4:   606 Segmentation fault      /bin/autopulse
autopulse  | 2024-12-27T06:21:15.141402903Z ./run: line 4:   610 Segmentation fault      /bin/autopulse
autopulse  | 2024-12-27T06:21:16.181261170Z ./run: line 4:   614 Segmentation fault      /bin/autopulse
autopulse  | 2024-12-27T06:21:17.215728084Z ./run: line 4:   618 Segmentation fault      /bin/autopulse
autopulse  | 2024-12-27T06:21:18.225174641Z ./run: line 4:   622 Segmentation fault      /bin/autopulse
autopulse  | 2024-12-27T06:21:19.283330010Z ./run: line 4:   626 Segmentation fault      /bin/autopulse
autopulse  | 2024-12-27T06:21:20.345240427Z ./run: line 4:   630 Segmentation fault      /bin/autopulse
autopulse  | 2024-12-27T06:21:21.374253906Z ./run: line 4:   634 Segmentation fault      /bin/autopulse
autopulse  | 2024-12-27T06:21:22.383482090Z ./run: line 4:   638 Segmentation fault      /bin/autopulse

hello @dan-online sorry but I noticed on latest I keep getting -- even if I removed the db

autopulse  | 2024-12-27T06:21:11.949206471Z ./run: line 4:   598 Segmentation fault      /bin/autopulse

autopulse  | 2024-12-27T06:21:12.996249529Z ./run: line 4:   602 Segmentation fault      /bin/autopulse

autopulse  | 2024-12-27T06:21:14.133084983Z ./run: line 4:   606 Segmentation fault      /bin/autopulse

autopulse  | 2024-12-27T06:21:15.141402903Z ./run: line 4:   610 Segmentation fault      /bin/autopulse

autopulse  | 2024-12-27T06:21:16.181261170Z ./run: line 4:   614 Segmentation fault      /bin/autopulse

autopulse  | 2024-12-27T06:21:17.215728084Z ./run: line 4:   618 Segmentation fault      /bin/autopulse

autopulse  | 2024-12-27T06:21:18.225174641Z ./run: line 4:   622 Segmentation fault      /bin/autopulse

autopulse  | 2024-12-27T06:21:19.283330010Z ./run: line 4:   626 Segmentation fault      /bin/autopulse

autopulse  | 2024-12-27T06:21:20.345240427Z ./run: line 4:   630 Segmentation fault      /bin/autopulse

autopulse  | 2024-12-27T06:21:21.374253906Z ./run: line 4:   634 Segmentation fault      /bin/autopulse

autopulse  | 2024-12-27T06:21:22.383482090Z ./run: line 4:   638 Segmentation fault      /bin/autopulse

Is that using the built binary on the GitHub release?

no, the latest tag but latest-sqlite seems fine (but jellyfin does not  update so not sure if its me or this one broke)

no, the latest tag but latest-sqlite seems fine (but jellyfin does not  update so not sure if its me or this one broke)

Uhh- odd since I use latest, when did you last update latest?

yesterday but did not look at logs tbh, and did now multiple times so im sure it's latest. and sqlite one
autopulse  | 2024-12-27T06:44:48.272322498Z 2024-12-27T06:44:48.272226616Z  INFO autopulse::service::runner: found 1 new file
autopulse  | 2024-12-27T06:44:57.811358239Z 2024-12-27T06:44:57.811285778Z ERROR autopulse::service::runner: failed to process target 'jellyfin': error sending request for url (http://jellyfin:8096/Library/VirtualFolders)
autopulse  | 2024-12-27T06:44:57.811385040Z
autopulse  | 2024-12-27T06:44:57.811389330Z Caused by:
autopulse  | 2024-12-27T06:44:57.811392850Z     0: client error (Connect)
autopulse  | 2024-12-27T06:44:57.811396250Z     1: tcp connect error: Connection refused (os error 111)
autopulse  | 2024-12-27T06:44:57.811399780Z     2: Connection refused (os error 111)
autopulse  | 2024-12-27T06:44:57.811539842Z 2024-12-27T06:44:57.811511922Z  INFO autopulse::service::runner: sent 1 file to targets

oh nvm, the sqlite one is because was restarting jellyfin but not sure what causes the latest tag to fault

yesterday but did not look at logs tbh, and did now multiple times so im sure it's latest. and sqlite one

autopulse  | 2024-12-27T06:44:48.272322498Z 2024-12-27T06:44:48.272226616Z  INFO autopulse::service::runner: found 1 new file

autopulse  | 2024-12-27T06:44:57.811358239Z 2024-12-27T06:44:57.811285778Z ERROR autopulse::service::runner: failed to process target 'jellyfin': error sending request for url (http://jellyfin:8096/Library/VirtualFolders)

autopulse  | 2024-12-27T06:44:57.811385040Z

autopulse  | 2024-12-27T06:44:57.811389330Z Caused by:

autopulse  | 2024-12-27T06:44:57.811392850Z     0: client error (Connect)

autopulse  | 2024-12-27T06:44:57.811396250Z     1: tcp connect error: Connection refused (os error 111)

autopulse  | 2024-12-27T06:44:57.811399780Z     2: Connection refused (os error 111)

autopulse  | 2024-12-27T06:44:57.811539842Z 2024-12-27T06:44:57.811511922Z  INFO autopulse::service::runner: sent 1 file to targets

This seems like the networking is a bit scuffed up, not something on autopulse' side afaik. As for latest, are you using arm?

yes you right, this was my mistake https://github.com/dan-online/autopulse/issues/135#issuecomment-2563381815 but the seg fault https://github.com/dan-online/autopulse/issues/135#issuecomment-2563369538 tbh not sure why and no im on amd64

yes you right, this was my mistake https://github.com/dan-online/autopulse/issues/135#issuecomment-2563381815 but the seg fault https://github.com/dan-online/autopulse/issues/135#issuecomment-2563369538 tbh not sure why and no im on amd64

Hm... what's your docker compose config like?

  autopulse:
    image: danonline/autopulse:latest-sqlite
    container_name: autopulse
    restart: always
    ports:
      - <IP_ADDRESS>:2875:2875
    volumes:
      - ./autopulse/config.yaml:/app/config.yaml
      - ./autopulse/data:/app/data
      - /mnt:/mnt
    environment:
      AUTOPULSE__APP__DATABASE_URL: sqlite://data/autopulse.db
    depends_on:
      - rclone
      - jellyfin
      - radarr
      - sonarr
    networks:
      - plex_network

app:
 hostname: <IP_ADDRESS>
 port: 2875
 database_url: sqlite://data/autopulse.db
 log_level: trace

anchors:
  - /mnt/zurg/version.txt
  - /mnt/usenetdrive/version.txt

auth:
 username: admin
 password: password

opts:
 check_path: true # Check if the path exists, assuming the path is available to the container
 max_retries: 5 # Exponential backoff when a target fails

triggers:
 radarr:
   type: radarr
 sonarr:
   type: sonarr
 lidarr:
   type: lidarr
 readarr:
   type: readarr
 audiobooks:
   type: readarr
 whisparr:
   type: notify
   paths:
     - "/mnt/usenetdrive/adult"

webhooks:
 discord:
   type: "discord"
   url: "https://discord.com/api/webhooks//"

targets:
 jellyfin:
   type: jellyfin
   url: http://jellyfin:8096
   token: ""

ls
total 6.1M
drwxrwxrwx 2 root root 4.0K Dec 27 07:43 .
drwxr-xr-x 3 root root 4.0K Dec 27 07:43 ..
-rw-r--r-- 1 root root 1.1M Dec 27 16:33 autopulse.db
-rw-r--r-- 1 root root  32K Dec 27 16:37 autopulse.db-shm
-rw-r--r-- 1 root root 5.0M Dec 27 16:37 autopulse.db-wal

Hmm.. what happens if you run this command:
docker run -it --rm -e AUTOPULSE__APP__DATABASE_URL=sqlite:///data/autopulse.db -v /tmp/testauto:/data danonline/autopulse

If this runs, then something in the config is wrong, if its the same issue, then I have very little idea haha

Oh...when I re-wrote the config it works fine now :sweat_smile: thank you again!

And off topic question, if I have files already imported in sonarr/radarr and want it to get picked by autopulse to send library refresh to jellyfin how can I do that?

Oh...when I re-wrote the config it works fine now :sweat_smile: thank you again!

Interesting, can you send a before and after, I'll check to see what the issue is

And off topic question, if I have files already imported in sonarr/radarr and want it to get picked by autopulse to send library refresh to jellyfin how can I do that?

I don't think it's possible, past just running a full scan on jellyfin

Oh...when I re-wrote the config it works fine now 😅 thank you again!

Interesting, can you send a before and after, I'll check to see what the issue is

Welp, before https://github.com/dan-online/autopulse/issues/135#issuecomment-2563811466 and after is:
app:
  hostname: <IP_ADDRESS>
  port: 2875
  database_url: sqlite://data/autopulse.db

anchors:
  - /mnt/zurg/version.txt
  - /mnt/usenetdrive/version.txt

auth:
  username: admin
  password: password

opts:
  check_path: true # Check if the path exists, assuming the path is available to the container
  max_retries: 5 # Exponential backoff when a target fails

triggers:
  radarr:
    type: radarr
  sonarr:
    type: sonarr
  lidarr:
    type: lidarr
  readarr:
    type: readarr
  audiobooks:
    type: readarr
  whisparr:
    type: notify
    paths:
      - "/mnt/usenetdrive/adult"

webhooks:
  discord:
    type: "discord"
    url: "https://discord.com/api/webhooks//"

targets:
  jellyfin:
    type: jellyfin
    url: http://jellyfin:8096
    token:

nothing really changed except couple of spaces here and there but it used to work in old versions so not sure...and thank you, jf full lib scan here we go!

Hm, might be a library update to config... but oh well haha, good luck!

Hm, might be a library update to config

confused about this part

Hm, might be a library update to config... but oh well haha, good luck!

Thank you :sweat_smile:


[Feature] generate pure esm module

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@himself65 thanks for filing this issue! we generate cjs currently because it is more compatible, what benefits would there be if we supported esm?

Oh, I'm using next.js with RSC support. Seems like there are some issues when importing generated code

ahh got it, @himself65 i'll follow up with you next week

emit ESM will fix the issue. Thanks


[6.x] Allow a symfony file instance in validate dimensions

Illuminate/Validation/Concerns/ValidatesAttributes::isValidFileInstance allows an instance of Symfony\Component\HttpFoundation\File\UploadedFile as well as Symfony\Component\HttpFoundation\File\File. But the method getClientMimeType – that is called by validating dimensions – only exists on UploadedFile.
This PR fixes this issue by using the getMimeType method that exists on both objects.

Refs #29994. Closes #29962.

I am closing this pull request because it lacks sufficient explanation, tests, or both. It is difficult for us to merge pull requests without these things because the change may introduce breaking changes to the framework.
Feel free to re-submit your change with a thorough explanation of the feature and tests - integration tests are preferred over unit tests. Please include it's benefit to end users; the reasons it does not break any existing features; how it makes building web applications easier, etc.
Thanks!

@taylorotwell
I don't know how i should explain that more detailed. The isValidFileInstance method on Illuminate/Validation/Concerns/ValidatesAttributes allows an instance of Symfony\Component\HttpFoundation\File\File a method getClientMimeType is called on the instance but that method does not exist.
This pull request fixes that issue by calling an existing method getMimeType. Tests that confirm the issue are added in this PR.
The bug should be fixed. So what's the next steps?


GUI Error - No valid crumb was included in the request

Since updating to version 2.9 we get the following error when trying to lock a resource through the /lockable-resources/ GUI.
HTTP ERROR 403 No valid crumb was included in the request
Switching back to version 2.8 and restarting Jenkins fixed that issue.
This is an critical issue and we are forced to stay on version 2.8 for now, even if that version has open CSRF vulnerabilities.
Jenkins Version: 2.249.1 (LTS)

I also opened this issue on the Jenkins bug tracker (https://issues.jenkins-ci.org/browse/JENKINS-63780) because I think that might be a more appropriate place.


Example for file dropping

A common use case is dropping images/files to upload and insert into the editor, would be great to have an example or even better an extension for this

I don't seem to be able to drop images or files into your online demos either, seems like something to add

I will implement this feature with some examples.

Please check https://prosekit.dev/extensions/file for some examples and explanation.


fix(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/cos/ibm (source)
module
patch
8.11.9 -> 8.11.11

terraform-ibm-modules/observability-instances/ibm (source)
module
minor
2.17.0 -> 2.18.0

Release Notes

terraform-ibm-modules/terraform-ibm-cos (terraform-ibm-modules/cos/ibm)
v8.11.11
Compare Source
Bug Fixes

deps: update terraform-module (#724) (acbf18c)

v8.11.10
Compare Source
Bug Fixes

deps: update terraform-module (#718) (0418427)

terraform-ibm-modules/terraform-ibm-observability-instances (terraform-ibm-modules/observability-instances/ibm)
v2.18.0
Compare Source
Features

added support to Cloud Logs module to create log routing teneants that targets the Cloud Logs instance created by the module. To manage platform logs that are generated by IBM Cloud® services in a region of IBM Cloud, you must create a tenant in each region that you operate. (#559) (a65ec6d)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

@MatthewLemmond can you please try get this pipeline passing

/run pipeline

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

GitHub release
v1.12.13

Your semantic-release bot :package::rocket:


How to resolve 'Error: getaddrinfo ENOTFOUND securecdn.oculus.com'?

When running setup-ovr-platform-util I occasionally get this error, causing my whole step to fail. Is there anything I can do to prevent this from happening, or is it just an intermittent network problem?

https://github.com/RageAgainstThePixel/setup-ovr-platform-util/blob/cef36a5a76d54cfad1f84039546d75852fa39cdf/src/index.js#L26

Has it changed?
If it makes any difference, I am running this on a self-hosted macOS machine.

The link defined in index.js for the macOS download looks exactly the same as the direct download link on the Oculus website, except the latter also defines 'access_token' in the query string. I'm wondering if that could be related.

Has it changed? If it makes any difference, I am running this on a self-hosted macOS machine.

I also have self hosted Mac I can test.


[network-ups-tools] add exporter sidecar

This adds the ability to enable exporter sidecar and servicemonitor. I also added persistence and securityContext for usb ups'.
Checklist

[X] Chart version bumped in Chart.yaml according to semver.
[X] Title of the PR starts with chart name (e.g. [home-assistant])
[X] Variables are documented in the README.md (this can be done with using our helm-docs wrapper ./hack/gen-helm-docs.sh stable <chart>)

I'll let @bjw-s review this since he uses it.


Possible PR: Allow internetless: true input option

We're setting up a testing pipeline to check that our deployments work in an internetless environment. This means all traffic going outside the 10.* network is denied. We can either create a terraform override file just for us, or if you thought this was generally useful we could PR to this repo as an optional input variable. WDYT?

I think this would be a great option because most enterprises want to limit the exposure of public internet access.

If you could write that PR, we'd be willing to merge it.


feat(t8s-cluster): prepare for flux drift-detection

I do get, what drift detection is. I also do approve choosing a bigger interval for helm-releases. Especially since 1m is pretty fast.
What I don't get is, what's the connection between longer intervals and drift detection. To me, these are two independent things.

Currently the interval doesn't do anything, therefore even 1s wouldn't be a problem. But in the, hopefully near, future flux will really reconcile the HelmReleases at the specified interval.
This of course causes semi-high load. And as we don't really expect there to be many random deletion / changes of the created resources it's good to have a semi-long interval as not to overload flux.

You mean because the drift detection would do the dry-run on every reconcile?
Changes look good to me :+1:


Admin: currency list url get html injected

Example:
http://bamboo.shopery.com/admin/currencies/list:
http://bamboo.shopery.com/admin/currencies/list?<i+class%3D"icon-page"><%2Fi>=1

I solved here: https://github.com/Frontendcore/frontendcore/pull/8

Thanks! Fixed


SVG circle cx, cy attributes dont support string

One use case for drawing a circle is to set cx and cy both to 50% and then it will be centered without using a viewbox, but that results in:

[error]    |None of the overloaded alternatives of method := in object cy with types
[error]    | (v: Option[Double]): slinky.core.OptionalAttrPair[slinky.web.svg._cy_attr.type]
[error]    | (v: Double): slinky.core.AttrPair[slinky.web.svg._cy_attr.type]
[error]    |match arguments (("50%" : String))
[error] two errors found

Here's that use case, work around is to use viewbox:
https://stackoverflow.com/a/19561100/1080804

Ah, that's definitely a bug. Would you mind putting together a PR to update the type of cx and cy (in svg.json) to be js.Any? That way users can pass in strings in addition to numbers.


Yoga App [gssoc'21]

Is your feature request related to a problem? Please describe.
No, I would like to add a yoga app . Basically, I made this according to the health issues today, its fairly simple and has a very soothing music added to it. It makes the whole pranayam yoga a breeze.
Describe the solution you'd like
Made this yoga app and it can be further be made complex with addition of more musics and more yoga options
Additional context
gssoc'21 participant

@sidmohanty11 , The description you have given is not solving or adding any genuine feature. If its only about music than this issue will be closed with in 2 days, Kindly specify what more feature you can in it.

Sir I’ve solved the merge conflicts

On 25-Mar-2021, at 4:22 PM, Harsh Gupta @.***> wrote:
@sidmohanty11 , The description you have given is not solving or adding any genuine feature. If its only about music than this issue will be closed with in 2 days, Kindly specify what more feature you can in it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


feat: ignore files tagged with #disable-tasks-plugin

Description

Add a negative global filter to ignore all tasks from files tagged with #disable-tasks-plugin
Motivation and Context

How has this been tested?

Screenshots (if appropriate)
Types of changes

Changes visible to users:

[ ] Bug fix (prefix: fix - non-breaking change which fixes an issue)
[ ] New feature (prefix: feat - non-breaking change which adds functionality)
[ ] Breaking change (prefix: feat!! or fix!! - fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (prefix: docs - improvements to any documentation content for users)
[ ] Sample vault (prefix: vault - improvements to the Tasks-Demo sample vault)
[ ] Contributing Guidelines (prefix: contrib - any improvements to documentation content for contributors - see Contributing to Tasks)

Internal changes:

[ ] Refactor (prefix: refactor - non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)
[ ] Tests (prefix: test - additions and improvements to unit tests and the smoke tests)
[ ] Infrastructure (prefix: chore - examples include GitHub Actions, issue templates)

Checklist

[ ] My code follows the code style of this project and passes yarn run lint.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] My change has adequate Unit Test coverage.

Terms

[ ] My contribution follow this project's contributing guide
[ ] I agree to follow this project's Code of Conduct

Oddly sorry thought I had replied to this but cannot see the message.
Thanks you for submitting this.
Before I review this, please could you edit the description and update the checkboxes, including if you are happy with the code of conduct.
Thanks in advance.

Hi @claremacrae, sorry for delay. I finished the PR now and set it ready to review.

Hi @claremacrae, sorry for delay. I finished the PR now and set it ready to review.

Hi, that's great. Thank you.
How much feedback do you want on this?
I would suggest some changes to the code, and as you have identified it would need tests and documentation before releasing it.
Perhaps we could have a pairing session to chat about it and work on it together? Are you interested in learning more about refactoring and testing?

Hi @claremacrae, sorry for delay. I finished the PR now and set it ready to review.

Hi, that's great. Thank you.
How much feedback do you want on this?
I would suggest some changes to the code, and as you have identified it would need tests and documentation before releasing it.
Perhaps we could have a pairing session to chat about it and work on it together? Are you interested in learning more about refactoring and testing?

Thank you for the offer of a contribution, @franksuz.
I'm closing this as quite a long time has gone by with no answer, and I don't have the capacity to complete this on my own, as there is already a lot going on in parallel, with Tasks development.
If you ever fancy having a chat and picking this up again, do let me know here, and I will willingly re-open it.


python311Packages.reqif: 0.0.35 -> 0.0.40

Changelog: https://github.com/strictdoc-project/reqif/releases/tag/0.0.40
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

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

2 packages marked as broken and skipped:

python312Packages.reqif
python312Packages.reqif.dist

4 packages built:

python311Packages.reqif
python311Packages.reqif.dist
strictdoc
strictdoc.dist


Output colorizer not working

Hello
I installed extension output colorizer and reload visual studio code after that. But it is not work.
I use visual studio code version 1.15.1 x64 on windows 10 home
Other extensions installed:

1337 theme
c/c++
python
code runner
nomo dark icon
vscode icon

how to fix it
Thank you for help

Same here.
Visual Studio Code v1.20.1 on Linux Fedora 27 x64
Other extensions installed:

Better TOML
Earthsong Theme
Go
Vim

same issue for me... visual studio code v1.21.0 x86 on windows 7 x86 and base16 color theme

Confirmed, doesn't work with VS Code 1.21.

Cause extension python. Remove it or disable & restart.

@AnhQuanTran  i don't have any python extension

the same error ,mac+vscode1.2.1, how to fix it

I had to disable two extensions for it to work: Code Runner and Quokka.js

the same

Wow, all the way back from Feb and I'm just now seeing this issue... too many notifications.  :)
Above comments are correct.  There's most likely another VS Code extension that is overriding the colorization in the Output panel.  There can only be one active colorizer in the output channel at any time - this is a limitation with VS Code itself.  As mentioned above, the Python, Code Runner, and Quokka extensions will cause conflicts.  There are also a few others that I can't remember the names of off hand.  If you want the colorizer to have precedence, then you might have to disable other extensions.

new update: that "error" show in windows when i use git bash instead Windows cmd. maybe it's a git bash issue?

I had to disable two extensions for it to work: Code Runner and Quokka.js

Disabling Code Runner alone fixed it for me

I had to disable two extensions for it to work: Code Runner and Quokka.js

Disabling Code Runner alone fixed it for me

Same for me

I had to disable two extensions for it to work: Code Runner and Quokka.js

That's really too bad, because most of my output content comes from CodeRunner. :-/ If I have to choose between CodeRunner and OutputColorizer, I'll sadly stick to CodeRunner.

Unfortunately that's how it works in VS Code, and is beyond our control.  You can only have one extension at a time that actively colorizes the output panel.  The way they work is a bit of a hack in the first place, and it wasn't designed to allow for multiple colorization plugins.


BEmu

How can I use your module with BEmu??

You could try to use it with the library as part of the BEmu project, but I'm guessing it probably wouldn't compile unless they really stubbed out all the SDK calls that the module requires and the behavior required by most of the calls. You'd have to replace the built-in supplied SDK library with the other and see if it even has a chance of working. If it doesn't work for any reason, you'd have to take it up with / contribute to the BEmu project to make it work. (BEmu is an external open-source project that has no affiliation with Bloomberg.)


Feat/411 4 get address transactions

Testing steps:

run against the DB: select * from paybutton.Transaction (maybe also delete from paybutton.Transaction to clean this table)
open this url to sync transactions (with any bch or ecash address): http://localhost:3000/api/address/transactions/sync/ecash:qrmm7edwuj4jf7tnvygjyztyy0a0qxvl7quss2vxek
Select again on Step 1 above and see the transactions imported there

This PR already changes in master the choice of the blockchain client from grpc to chronik for both BCH and XEC since most of chronik is already implemented and transactions had a big impact on code, so I had to remove grpc code on transactions, it no longer works.
Also I had to change some tests since the return type of some functions related to transactions changed, so I went on fixing whatever was broken by these changes, midway I realized this PR would be huge if I went on that path and I just commented out all tests that used chronik features, this will be addressed on the final #411 PR.

Failed test.

@chedieck @Klakurka now blockchain implementations are much more decoupled from the rest of the code, making interactions between both sides simpler and more objective. Also I fixed chronic for ecash and grpc for bch, this should stay like this and both clients valid and fully functional until all the migration PRs or #411 are finished.

Also I get this when trying to view a button:

@Klakurka the new PRs by @chedieck weren't in this branch yet, merged master into here, it should be working now (tested locally here and could open it).

@chedieck done

I am closing this PR in favor of future smaller PRs.


grunt-jsvalidate tries to read folder.js as a file

Warning: Unable to read "foo/bar/folder.js" file (Error code: EISDIR). Use --force to continue.

Why do you need to name your folder with a file extension?


Added a snippet to convert RGB colour format into HSV.

Thanks for contributing. While this snippet has real-world application, the code is very hard to read and understand and it has some very minor formatting issues. Could you make the code a little clearer or is it just a result of the formula being quite complex mathematically?

Thank you for the feedback. Actually there are multiple if else statements required in the algorithm, so i had to use the ternary operator to club those together. I can add some spacing but other than that I don't much can be done for the readability of the code here.

The formatting does not adhere to our current guidelines. Please read them and make any changes necessary.

should i change it back to the one line format?

I have made the requested changes. Please review. Thanks!