Cannot upload file of this type to a release (zip)

Gitea version (or commit ref): 1.6.3, 1.7.0, 1.7.1
Git version: 2.20.1
Operating system: Windows 10 x64
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes (https://try.gitea.io/ve3/test/src/tag/0.1)
[ ] No
[ ] Not relevant

Description
I tried to upload a file to a release but got error message "You cannot upload files of this type".
The file is zip and its mime type is application/zip.
Here is app.ini configuration.
[attachment]
ENABLED = true
PATH = D:/my-work-spaces/gitea/data/attachments
ALLOWED_TYPES = application/zip|application/x-compressed-tar|application/x-gzip
MAX_SIZE = 20
MAX_FILES = 1

Hmm ok so if the data gets to Gitea it will definitely be assigned a mimetype of application/zip.
This mimetype is being assigned by your browser and is being checked in dropzone. Are you using internet explorer?
Unfortunately there's not much that can be done - I think you just have to add application/x-zip-compressed either that or we have to change dropzone upstream to have a list of mapping from old non valid mimetypes to real mimetypes.

I'm using Firefox.
Added application/zip|application/x-zip|application/x-zip-compressed|application/x-compress|application/x-compressed|multipart/x-zip (copied from https://filext.com/file-extension/ZIP ) but still does not work.
Gitea 1.7.0

Are you running Gitea behind an nginx proxy? If so you will need to allow nginx to allow it too

Ok, here's where I think that's being set:
https://github.com/go-gitea/gitea/blob/801843b0115e29ba2304fa6a5bea1ae169a58e02/public/vendor/plugins/dropzone/dropzone.js#L953

If you're not running an nginx proxy then I think this is something to do with your browser - I am really not sure that this is even getting to the Gitea server and I think your upload is being rejected by dropzone.
https://github.com/go-gitea/gitea/blob/801843b0115e29ba2304fa6a5bea1ae169a58e02/public/vendor/plugins/dropzone/dropzone.js#L1583
This is on your browser so you should be able to double check what it's seeing by sticking breakpoints in in the developer console.

I don't running nginx proxy. This problem even occur on https://try.gitea.io
As the link I provided https://try.gitea.io/ve3/test/src/tag/0.1
I'm not sure did you tried to upload .zip on your server ( https://try.gitea.io ) because it same and it is not just my browser problem.

This worked fine for me on try.gitea.io just now:
https://try.gitea.io/mrsdizzie/parsing-errors/releases
That sshot.zip attachment has a mime-type of  application/zip same as mentioned in the issue report.
The link you've provided to try.gitea.io unfortunately doesn't help because of the nature of the problem (there is no file there for anybody to look at). Is it possible to share an example zip file that doesn't work right for you? Being able to reproduce will help track down what may be happening (can't reproduce it with my own application/zip file)

https://try.gitea.io/ve3/test/releases
Download (ZIP) from there
Edit release
Upload the zip file
Failed.
All the zip files cannot upload.

I was just able to download that zip file, edit the release in my example, and the upload it fine:
https://try.gitea.io/mrsdizzie/parsing-errors/releases
It works on Safari, Chrome, and Firefox on macOS.
Can't reproduce with any of the current suggest steps here on my end unfortunately :( Sounds like perhaps a Firefox on Windows bug.

Also FWIW some searching suggests this might be related to problems with the files Firefox uses to store mime-type information and starting over with a fresh profile seems to help many people having trouble uploading to different sites.

gitea 1.7.5 armv7
on raspbian stretch
I wanted to add an observation, because I was curious if there is nothing in the logs about blocked mime-types, so one could just easily add them gitea kindly detected.

ALLOWED_TYPES=application/zip

With this attaching zip files is possible on my installation. Then I did:
Modified app.ini: LEVEL = Trace && service gitea restart
After restart I tried to upload a tar.gz file, and to my surprise in gitea.log I got:
2019/04/05 20:55:27 [I] Attachment with type application/x-gzip blocked from upload
Easy enough, went ahead and added that mime type + restart of gitea.

ALLOWED_TYPES=application/zip|application/x-gzip

Uploading of tar.gz files still didn't work. So...long story short,
I never got a blocked entry in my logs after that again.
I restarted multiple times, reverted the ALLOWED_TYPES, changed ALLOWED_TYPES, changed LEVEL back and forth, logged in/out, changed user and multiple combinations of that. I never got a blocked entry in gitea.log again.

I've just encountered this infuriating bug as a user of the showcase instance gitea.com - I created an account there to try and get away from this kind of nonsense on Github!

From try.gitea.io server, I tried to upload fake .jpg file.
I created fake .jpg file with .txt file. (new > text file > rename fake-image.jpg).
I try to select a file > success, the file was sent to server via XHR but the response is failed. Error 400 with message:

File type is not allowed

This issue stuck at select a file and then failed. It is not even upload yet.
I think that my browser (Firefox on Windows) have no problem with all other upload JS, or no problem with normal upload HTML form with PHP, ASP.net, or any other programming languages on earth.
They can detect the real file's mime type correctly.
So, this problem should be fixed easily if we skip the check mime type part that is currently using buggy JS and let it check with the server instead.
The server already do that (check mime type), doing this with JS is not necessary.

Easy enough, went ahead and added that mime type + restart of gitea.

ALLOWED_TYPES=application/zip|application/x-gzip

Uploading of tar.gz files still didn't work. So...long story short,
I never got a blocked entry in my logs after that again.

I did exactly that change on https://codeberg.org and it works there now :man_shrugging:

As I said, verify mime type using JS is based on browser and it is too much various (OS, browser, version on both OS & browser, etc).
Remove the JS mime type verification and let this task done by the server side to give it one standard.

I got today the same problem. I tried drag&drop and upload by clicking (file open dialogue).
My parameter are like this:

Gitea version: 1.9.1
Git version: 2.22.0.windows.1
Operating system: (PC A) Windows 7 + Vivaldi 2.6.1566.49 x64 / Firefox 68.0.2 (64-bit) on web version; (PC
TestZipFile.zip
B) Windows 10 + Vivaldi 2.6.1566.49 x64 on local machine
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes (https://try.gitea.io/JAD-SVK/UploadTest/releases)
[ ] No
[ ] Not relevant

This setting helped for me:
[attachment]
ENABLED = true
PATH = ./data/attachments
ALLOWED_TYPES = application/zip|application/x-zip|application/x-compressed-tar|application/x-compressed|application/x-gzip|application/x-compress|application/x-zip-compressed|multipart/x-zip
MAX_SIZE = 20
MAX_FILES = 5

I tried to attach the file to this issue, but it does not work with drag&drop, hopefully manual upload will work.
TestZipFile.zip
File: TestZipFile.txt
Content: This file is test file + new line (CR+LF)
Zipped using 7z version 19.00

For release, you should change repository.upload section not attachment
[repository.upload]
ALLOWED_TYPES = "application/zip|application/gzip|application/x-gzip|application/x-gtar|application/x-tgz|application/x-compressed-tar|text/plain"

[attachment]
ALLOWED_TYPES = "application/zip|application/gzip|application/x-gzip|application/x-gtar|application/x-tgz|application/x-compressed-tar|text/plain"

Please confirm @ve3 @JAD-SVK

I need to add (configure)
[attachment]
ALLOWED_TYPES = application/zip|application/x-zip-compressed

To be able to upload zip files (from Vivaldi and Firefox on Windows 7) to release.
No configuration in [repository.upload] make the upload in release work.

@lunny  Yes, but I must add both [repository.upload] AND [attachment] the same ALLOWED_TYPES to make it work properly. Not just [repository.upload] OR [attachment]
The configuration [repository.upload] is not in anywhere in the document currently.
( https://docs.gitea.io/en-us/config-cheat-sheet/ )
Problem seems to be resolved now.
However please consider my idea about file mime type verification only in one side (server side). To check mime type on client side (JS) can be a mess and duplicate task.

ALLOWED_TYPES = application/zip|application/x-zip|application/x-compressed-tar|application/x-compressed|application/x-gzip|application/x-compress|application/x-zip-compressed|multipart/x-zip

This is work for me. thanks.

I've followed the steps above (added to repository.upload & attachment) but am still unable to upload a .zip with the same error message.

So, I got the .zip to work, now I just need the .7z to work as well...

regarding 7z, adding application/x-7z-compressed did not work for me.
Above mime type is from mozilla.org - maybe it must be different?
Perheps a few usual file type should be in the default app.ini file!


PTVS forces intellisense results when no results are found.

While typing class names or function names the intellisense for PTVS will force the name it finds in intellisense. This becomes a bit of a pain to delete the result and retype the name I want and then press Esc to force it not to show up.
Steps to reproduce:

Create a blank python file
type:

if __name__ == "__main__":
    main

As "main" on line 2 is being typed, intellisense shows up ImportWarning & RemoteWarning and then if I press ( or Enter it replaces it with ImportWarning.
IMHO, the feature should be to stop with intellisense at this point and not force it.

Strange, we're not supposed to show intellisense at that point at all (exactly because of this scenario). We'll take a look.
Can you tell us the exact versions of VS and PTVS you are using?

Visual Studio Professional 2013
PTVS version: 2.2
Thanks for looking into this.

I can't reproduce this on an equivalent setup.
There is a separate extension (made by someone else) to add this feature to Python IntelliSense. Do you maybe have that one installed?


Rebase v2.0.x

Rebasing branch v2.0.x to v2.0.1 of master.

@ericchiang

Manually updating v2.0.1 instead


App Configuration fix Build Samples

Description
Fixing build pipeline build samples

/azp run python - appconfiguration

API change check
API changes are not detected in this pull request.

/azp run python - appconfiguration - tests


Compiler from image

@devoncarew @danrubel: Until we find the underlying cause of a problem need to use the compiler from the AppEngine image not from the downloaded SDK.
This makes that change, and also adds a test to the Analysis server code to ensure we're not offering completions on path imports

Seems like a tough call; the current situation is that the dart2js snapshot has issues, and this PR would make the version of dart2js diverge from the other tools (analysis)? 1.24 vs 1.25-dev?
Is there an issue we could track for the dart2js appjit snapshot issue on app engine?

I agree it's sub-optimal. Let's put a tracking issue in place. I've got better at debugging these issues since this started, so it might be resolvable quickly.

I can repro the compiler test failures locally. Will fix.


UnconditionalJumpStatementInLoop: don't report a conditional break in a single body expression

Fixes #6442

Warnings

:warning:
This PR is approved with no milestone set. If merged, it won't appear in the detekt release notes.

  Generated by :no_entry_sign: dangerJS against 729abfe09827f4ac0803602a176706f3454d1cf1

Thanks!


[fix][test] Move NarUnpackerTest to flaky group

Motivation
Temporarily move to the flaky group to avoid the CI being blocked.
See https://github.com/apache/pulsar/issues/21291
Modifications

Move NarUnpackerTest to flaky group

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Codecov Report

Merging #21316 (cde3145) into master (dbb1577) will increase coverage by 36.50%.
Report is 3 commits behind head on master.
The diff coverage is 79.54%.

@@              Coverage Diff              @@
##             master   #21316       +/-   ##
=============================================
+ Coverage     36.69%   73.20%   +36.50%
- Complexity    12193    32503    +20310
=============================================
  Files          1698     1887      +189
  Lines        130509   140228     +9719
  Branches      14261    15439     +1178
=============================================
+ Hits          47889   102650    +54761
+ Misses        76281    29479    -46802
- Partials       6339     8099     +1760

Flag
Coverage Δ

inttests
24.16% <5.11%> (+0.03%)
:arrow_up:

systests
24.68% <3.97%> (-0.01%)
:arrow_down:

unittests
72.50% <79.54%> (+40.62%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

...ookie/rackawareness/BookieRackAffinityMapping.java
80.71% <100.00%> (+10.71%)
:arrow_up:

...n/java/org/apache/pulsar/broker/PulsarService.java
82.58% <100.00%> (+13.91%)
:arrow_up:

...ker/loadbalance/extensions/models/TopKBundles.java
90.78% <100.00%> (+90.78%)
:arrow_up:

...org/apache/pulsar/broker/loadbalance/LoadData.java
91.66% <0.00%> (+25.00%)
:arrow_up:

...ache/pulsar/broker/namespace/NamespaceService.java
72.20% <75.00%> (+28.55%)
:arrow_up:

...xtensions/channel/ServiceUnitStateChannelImpl.java
84.48% <58.82%> (+83.94%)
:arrow_up:

...dbalance/extensions/ExtensibleLoadManagerImpl.java
77.75% <82.39%> (+75.66%)
:arrow_up:

... and 1446 files with indirect coverage changes

NarUnpackerTest is fixed by #21328

btw. quarantine group should have been used instead of flaky. The flaky group is only handled within pulsar-broker module.


Prevents jvm incompat dataclass constructors with value class params

To prevent issues like #275, dataclasses must not use parameters
that are value classes without a JvmStatic factory method in their
companion object.

We can make those changes to RequestConfig. We are currently ongoing heavy API changes to simplify the library.
The reality is that having used value classes has introduced more issues than benefits, and the code we have to add to work around them is higher than the benefit of saving an allocation.


Enter terminal mode after moving into a terminal buffer

Currently if you move into a terminal buffer you'll enter in normal mode, I think it's desirable to enter directly into terminal mode.

Use an autocmd.


I2C (seemingly) doesn't work

from machine import I2C, Pin

i2c_bus = I2C(scl=Pin.board.SCL, sda=Pin.board.SDA, freq=400000)
print(i2c_bus.scan())

A scan of the I2C bus always turns up empty, although there are I2C devices connected, as confirmed with other hardware that finds the devices.

Hey, thanks for filing an issue. I changed the I2C and SPI classes a little bit to make it more explicit when the actual hardware is dedicated to the function.
Try:
from machine import I2C, Pin

with I2C(scl=Pin.board.SCL, sda=Pin.board.SDA, freq=400000) as i2c_bus:
  print(i2c_bus.scan())

The with statement implicitly calls init and deinit to turn on and off the underlying hardware. This way if you restart or want to use those pins for something else later they are properly deinitialized. I suggest using the with format above because it'll still call deinit after a keyboard interruption. If you want to manage it yourself you can also do:
from machine import I2C, Pin

i2c_bus = I2C(scl=Pin.board.SCL, sda=Pin.board.SDA, freq=400000)
i2c_bus.init()
print(i2c_bus.scan())
i2c_bus.deinit()

Beware that this will leave the i2c hardware in a bad state if you ctrl-c during the scan. I thought about making the constructor always reset the hardware so it can claim it but didn't want to risk silently changing hardware functionality if two uses overlap.
Please try the examples and close the issue if it does work. Thanks!

Thank's, now it works.

Perfect! Sorry I didn't make that change clearer. I'm cleaning up some docs today and that should provide a better way to understand the API changes I'm making.


Allow to customize rules.json

It will be great if we can customize rules.json used by tldjs.
In order to reduce my bundle size, I would like to use a lighter version of rules.json.

Interesting idea: what would be your criteria to select or exclude stuff from the rules?

I suggest all tld of the top one million websites from alexa
Does Alexa have a list of its top-ranked websites?

I agree with customising but if there is nothing specific which drives you in term of what to be removed, it is hard to go at it with a blind guess. How much does it weigh in the browser gzipped? How much would you like to download instead?
If the point is just dealing with common top gtld, you are better off having fun with RegExp instead, maybe.

A quick test on all tld of the top one million websites from alexa return a 11ko for rules.json instead of 86ko :
rules.json.txt
I use tld.js in lesspass web app, and it represent ~20% of my bundle size.
When I wrote my app, I imagined something like this :
import rules from './rules.json'
import tld from 'tldjs';
tld.loads(rules).getSubdomain('google.com');

I follow your advise with a simple regex :
function getDomainName(urlStr) {
    var matches = urlStr.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
    return matches && matches[1];
}

Thank you


Fixed issue #7171

Issue Reference
#7171
Description
Fixed UI issue

@akathuria289
Not fixed, still getting the same issue in mobile view, please find the screenshot Here

Fixed


BeamLocation becomes BeamStack, has finer control over "route structure" and can understand "infinite pushes"

This is a work in progress proposal and will be updated with implementation details
For more details about where this is coming from, visit v2 Roadmap Discussion or v2 Roadmap Wiki.
This issue will be separated into multiple issues when implementation details become clearer;

Rename BeamLocation to BeamStack
Implement finer "route structure"
Enable "inifnite pushes"

Motivation
Renaming BeamLocation is something I've been thinking about for years. Most of the people think about word "location" representing a single route. This opinion is also strengthened when we see that RouteInformation has a property called location. In Beamer, BeamLocation was never meant to mean route, but something like "Beam World", i.e. a region in your application that is identifiable by a combination of routes and page stacks. Building a page stack was always the most important part of its functionality, so renaming it to BeamStack should be better. Now the opportunity of v2 makes this breaking change possible so we are going for it. Additionally, we'll add a finer control over route stack so BeamStack makes even more sense.
An interesting problem in declarative routing is being able to handle infinite pushes. If we imagine a shop application that has a product details page. From that page, we can see related products and go to their details page, and so on, inifinitely deep. A natural thing to expect is to have the URI always be /product/:id, but the stack of pages arbitrarily long. This is very challenging to do when we need to declare routes before runtime. There is a workaround that I found and successfully applied in some projects so I want to bring that feature into Beamer internally.

Any update on this?


Retry not working, no consumers listed in rabbitmq admin dashboard

I need help figuring out this issue.  I use rascal with multiple microservices and it works really well.  But I have one microservice that after some amount of time is no longer connected to rabbitmq.  I go to the admin dashboard for rabbitmq and see no consumers listed for the queue used by this microservice.  In this last instance I see a lot of this error in the logs:
Unexpected close
Channel ended, no reply will be forthcoming

I don't know if that's related but I see it many times, so that makes me think it was able to reconnect.    Any idea's on things I can look at to help figure this out?  Do you know of any cases where this might happen?

Hi @mchristensen76, sorry you're having problems.

What version of rascal are you using?
Can you paste the relevant rascal code showing any error handlers and rascal config?
Are you able to recreate the issue reliably? If so, can you run with DEBUG='rascal:*'?

I doubt the error is related to the recovery config (this is for when you nack a message). I suspect what's happening is that there's a connection error (maybe due to inactivity if it happens over night - I've seen firewalls / VPNs close connections for this reasons unless configured not to).
I don't have a theory yet as to what's causing Channel ended, no reply will be forthcoming yet though. This is reported by amqplib when a channel is closed while a reply was outstanding. The replies are generated by any channel that involves an rpc.
Hopefully the rascal debug will shed some light

@cressie176 here's some more debug info:
This "The channel has been closed.  Unable to ack message" keeps repeating:
2018-11-09T10:52:30.755Z rascal:Subscription Received message: 4a9f24e2-0043-4614-abfa-c0495e2a73d3 from queue: aria.healthcheck_incident_tracker
2018-11-09T10:52:30.755Z rascal:SubscriberError Handling subscriber error for message: 4a9f24e2-0043-4614-abfa-c0495e2a73d3
2018-11-09T10:52:30.755Z rascal:SubscriberError Attempting to recover message: 4a9f24e2-0043-4614-abfa-c0495e2a73d3 using strategy: nack
2018-11-09T10:52:30.756Z rascal:SubscriberSession Not acknowledging message: 4a9f24e2-0043-4614-abfa-c0495e2a73d3 with requeue: false on channel: 2a2ef043-6950-4ff1-adb9-07d3d47bd31d
2018-11-09T10:52:30.757Z rascal:SubscriberError Message: 4a9f24e2-0043-4614-abfa-c0495e2a73d3 was recovered using stragegy: nack
2018-11-09T10:52:30.758Z rascal:SubscriberError Message: 4a9f24e2-0043-4614-abfa-c0495e2a73d3 was republished to queue: aria.healthcheck_incident_tracker 1 times
2018-11-09T10:52:30.758Z rascal:SubscriberError Message: 4a9f24e2-0043-4614-abfa-c0495e2a73d3 failed to be recovered using stragegy: republish
[2018-11-09T10:52:30.758Z] error: 	The channel has been closed. Unable to ack message```

Then from there the following error starts to repeat:

2018-11-09T10:52:39.253Z rascal:Vhost Error creating channel: 062653a4-20ee-4b14-8551-293e0590d0fb from amqps://admin:***@redacted/redacted?heartbeat=1&connection_timeout=10000&channelMax=100: No channels left to allocate
2018-11-09T10:52:39.253Z rascal:SubscriberError Message: e470b907-2a47-4efd-a44a-e95e80d87783 failed to be recovered using stragegy: republish```
You also see this message mixed in:
2018-11-09T10:59:19.209Z rascal:Subscription Subscribing to queue: aria.healthcheck_incident_tracker
2018-11-09T10:59:19.209Z rascal:Vhost Requested channel. Outstanding channel requests: 25```

Thanks for the debug. I'll try to work out what's going on.

I suspect there might be multiple things going wrong and we might need to address one by one. My first observation is that the message 4a9f24e2-0043-4614-abfa-c0495e2a73d3 is attempting to be recovered twice.

Message: 4a9f24e2-0043-4614-abfa-c0495e2a73d3 was recovered using stragegy: nack
Message: 4a9f24e2-0043-4614-abfa-c0495e2a73d3 failed to be recovered using stragegy: republish

Your config doesn't include a recovery strategy that starts with nack. Can you confirm that...

The forward wasn't missing from the debug
Other than in the deferred_retry recovery strategy you never use the nack recovery strategy, either in config or inline.

Can you also show me all your rascal config (except usernames + passwords)

FYI I've published version 3.2.2 of rascal. I have a theory that your subscriber is getting an invalid message (e.g. the content type is set to application/json, but the message content is not parsable). It would explain where the nack recovery strategy was coming from, but not much else. It would be great if you could update.

I'll try the update soon, thx for getting that done.
Here's the config for reference:
rascalConfig: {
    "vhosts": {
        "redacted": {
            "connections": [
                {
                    "slashes": true,
                    "protocol": "amqps",
                    "user": "redacted",
                    "password": "redacted",
                    "hostname": "redacted",
                    "port": "redacted",
                    "vhost": "redacted",
                    "options": {
                        "heartbeat": 1
                    },
                    "socketOptions": {
                        "timeout": 1000,
                        "servername": "redacted"
                    }
                },
                {
                    "slashes": true,
                    "protocol": "amqps",
                    "user": "redacted",
                    "password": "redacted",
                    "hostname": "redacted",
                    "port": "redacted",
                    "vhost": "redacted",
                    "options": {
                        "heartbeat": 1
                    },
                    "socketOptions": {
                        "timeout": 1000,
                        "servername": "redacted"
                    }
                }
            ],
            "exchanges": [
                "aria.event_hub",
                "aria.delay",
                "aria.retry",
                "aria.dead_letters"
            ],
            "queues": {
                "aria.delay:1m": {
                    "options": {
                        "arguments": {
                            "x-message-ttl": 60000,
                            "x-dead-letter-exchange": "aria.retry"
                        }
                    }
                },
                "aria.patch_incident_tracker": {
                    "options": {
                        "arguments": {
                            "x-max-priority": 10,
                            "x-dead-letter-exchange": "aria.dead_letters",
                            "x-dead-letter-routing-key": "aria.patch_incident_tracker.dead_letter"
                        }
                    }
                },
                "dead_letters.aria.patch_incident_tracker": {}
            },
            "bindings": {
                "aria.delay[aria.delay.1m] -> aria.delay:1m": {},
                "aria.retry[redacted] -> aria.patch_incident_tracker": {},
                "aria.event_hub[redacted] -> aria.patch_incident_tracker": {},
                "aria.dead_letters[aria.patch_incident_tracker.dead_letter] -> dead_letters.aria.patch_incident_tracker": {}
            },
            "subscriptions": {
                "aria.default.subscription": {
                    "queue": "aria.patch_incident_tracker",
                    "contentType": "application/json",
                    "redeliveries": {
                        "limit": 5,
                        "counter": "shared"
                    }
                }
            },
            "publications": {
                "retry_in_1m": {
                    "exchange": "aria.delay",
                    "options": {
                        "CC": [
                            "aria.delay.1m"
                        ]
                    }
                },
                "my_q": {
                    "queue": "aria.patch_incident_tracker",
                    "encryption": "aria.crypto.default"
                },
                "aria.event_hub": {
                    "exchange": "aria.event_hub",
                    "encryption": "aria.crypto.default"
                }
            }
        }
    },
    "encryption": {
        "aria.crypto.default": {
            "key": "redacted",
            "ivLength": 16,
            "algorithm": "aes-256-cbc"
        }
    },
    "recovery": {
        "deferred_retry": [
            {
                "strategy": "forward",
                "attempts": 10,
                "publication": "retry_in_1m",
                "xDeathFix": true
            },
            {
                "strategy": "nack"
            }
        ],
        "dead_letter": [
            {
                "strategy": "republish",
                "immediateNack": true
            }
        ]
    },
    "redeliveries": {
        "counters": {
            "shared": {
                "size": 1000,
                "type": "inMemory"
            }
        }
    },
    "defaults": {
        "vhosts": {
            "publicationChannelPools": {
                "regularPoolSize": 1,
                "confirmPoolSize": 1
            },
            "connection": {
                "slashes": true,
                "protocol": "amqp",
                "hostname": "localhost",
                "user": "guest",
                "password": "guest",
                "port": "5672",
                "options": {
                    "heartbeat": 10,
                    "connection_timeout": 10000,
                    "channelMax": 100
                },
                "retry": {
                    "min": 1000,
                    "max": 60000,
                    "factor": 2,
                    "strategy": "exponential"
                },
                "socketOptions": {
                    "timeout": 10000
                }
            },
            "exchanges": {
                "assert": true,
                "type": "topic"
            },
            "queues": {
                "assert": true
            },
            "bindings": {
                "destinationType": "queue",
                "bindingKey": "#"
            }
        },
        "publications": {
            "vhost": "/",
            "confirm": true,
            "options": {
                "persistent": true,
                "mandatory": true
            }
        },
        "subscriptions": {
            "vhost": "/",
            "prefetch": 10,
            "retry": {
                "min": 1000,
                "max": 60000,
                "factor": 2,
                "strategy": "exponential"
            },
            "redeliveries": {
                "limit": 100,
                "timeout": 1000,
                "counter": "stub"
            },
            "deferCloseChannel": 60000
        },
        "redeliveries": {
            "counters": {
                "stub": {},
                "inMemory": {
                    "size": 1000
                }
            }
        }
    }
}

Wow. I never actually imagine anyone else would work out how to use Rascal in that depth! It all looks good. Couple of observations, which will have no bearing on this particular problem and I suspect you've already considered

the inMemory counter is only useful if the poison messages don't crash your process. We've started using https://github.com/cressie176/rascal-redis-counter
I wonder if a heartbeat of 1s is quite short (but might be appropriate in your environment).

Another question - what version of node are you using?

Any update?

I'm using node v10.11.0.
I updated to the latest rascal version and will see how it goes.

@cressie176 I figured out the cause of the issue.  There was a section of code that would do something like this:

Get json docs from database matching criteria.
Fetch data from api.
Loop through the fetched results and if the value exists in #1, remove it from #1.
3a. Use lodash.findIndex on an object with multiple fields to filter on.

So with that ^ snippet in mind I think what happened is the CPU usage jumped because of lodash.findIndex.  At this point I don't know if the high CPU usage caused the connection loss to rabbitmq and then rascal retried, then the cycle repeats.  At some point rascal stops trying to reconnect, not sure if thats because of a backoff or rabbitmq connection limit.  Or could the event loop have been blocked?  I'm not sure but it was repeatable so I used the inspect command to help me narrow down the problem.
I've since fixed that section of code to be more efficient and haven't had any issues since.

Hi @mchristensen76
I'm glad you got things working. High CPU usage can block the event loop, which will mean amqplib cannot send heartbeat messages. Consequently the server can close the connection.
This explains why rascal would have retried. It never gives up, but does backoff exponentially. I'll try reproducing and check that rascal behaves sensibly under the High CPU conditions.
Thanks for updating.

I tested by setting up a subscription then kicking off a tight loop for a high number of iterations. After a few seconds the connection was closed by RabbitMQ due to heartbeat failure. Because the tight loop blocked any other operations nothing was seen on the client. When the tight loop eventually finished rascal intercepted the connection close event, re-established the connection and resubscribed.
Closing as there's not much more Rascal can do.


Update ode.py

typo

@googlebot I signed it!

I'm sorry to have lost track of this. If you'd still like to merge this fix, we'll need to sync against the main branch.


Improve hash-data-using-murmur3 rule

Include more ways to detect MurmurHash3 algorithm.
For reference check the algorithm at:
https://en.wikipedia.org/wiki/MurmurHash

I am thinking now... Should I use count(...): 3 or more instead of count(...): 3? 🤔


Add more granular breakdown of work items required to build initial version of HLSL clang compiler c library

This commit adds a sub proposal document under the big proposal 0016-c-interface-compiler-library that breaks down work required for the first milestone to compile a simple shader and have a partner team adopt the library for their needs.
Eventually this list will be turned into proper Issues and tracked on schedule to meet the milestone.

FWIW, I don't think it would be a problem if this were just inlined in the original proposal doc.

I could add this in-lined in the original propsal.  I was worried because it was getting quite hefty with all of the overview of the existing compiler library info.  This PR (https://github.com/microsoft/hlsl-specs/pull/197) Still needs attention.


Access variables from parent components

Description
I'm submitting a ...

question - please describe the problem you're trying to solve and give as much context as possible.

TLDR; I have a component that needs to access a struct that the parent component is holding however I don't know how to access that variable.
Firstly, very sorry, I tried to do something like this for 9 hours and I just can't wrap my head around it, I would be very happy if someone could help me.
Secondly, I clipped some of the flavor text to make this as short as I could, sorry it's still pretty long.
I have two components
One is the "Master component" and looks something like this
use yew::prelude::*;
use yew::services::ConsoleService;

use crate::main_story::introduction::Introduction;
use crate::main_story::difficulty_selection::DifficultySelection;
use crate::game::Game;

#[derive(Debug, Clone)]
pub enum Msg {
    SwitchPage(String),
    ChangeEconomy(u8),
    ChangeEconomyRate(u8),
}

pub struct StoryDisplay {
    console: ConsoleService,
    game: Game,
    page: String,
}

#[derive(PartialEq, Properties, Clone)]
pub struct Props {}

impl Default for Props {
    fn default() -> Self {
        Self {}
    }
}

impl Component for StoryDisplay {
    type Message = Msg;
    type Properties = Props;

    fn create(_props: Self::Properties, _: ComponentLink<Self>) -> Self {
        StoryDisplay {
            console: ConsoleService::new(),
            game: Game::default(),
            page: "".into(),
        }
    }

    fn update(&mut self, msg: Self::Message) -> ShouldRender {
        self.console.log(format!("{:?}", msg).as_str());

        match msg {
            Msg::ChangeEconomy(to) => {
                self.game.economy = to;
                true
            },
            Msg::ChangeEconomyRate(to) => {
                self.game.economy_rate = to;
                true
            },
            Msg::SwitchPage(to) => {
                self.page = to.into();
                true
            }
        }
    }

    fn view(&self) -> Html<Self> {
        match self.page.as_str() {
            "DifficultySelection" => {
                html! {

                            <DifficultySelection:
                                onsignal=|msg| msg,
                                economy=self.game.economy,
                                economy_rate=self.game.economy_rate,/>

                }
            },
            _ => html! {},
        }
    }
}

The second component (or the one I'm going to show) is the difficulty selection component.
use yew::prelude::*;

use crate::components::story_display;

#[derive(Debug, Clone)]
pub enum Msg {
    ButtonClicked(story_display::Msg),
}

pub struct DifficultySelection {
    onsignal: Option<Callback<story_display::Msg>>,
    economy: u8,
    economy_rate: u8,
}

#[derive(Properties)]
pub struct Props {
    pub onsignal: Option<Callback<story_display::Msg>>,
    pub economy: u8,
    pub economy_rate: u8,
}

impl Default for Props {
    fn default() -> Self {
        Props {
            onsignal: None,
            economy: 100,
            economy_rate: 0,
        }
    }
}

impl DifficultySelection {
    fn check_economy(&self) -> Html<Self> {
        if self.economy > 125 {
            html! {
                <>
                    {"FLAVOR TEXT"} // Very easy

                        {"Harder"}

                </>
            }
        // SNIP
        } else {
            html! {
                <>
                    {"FLAVOR TEXT"} // Very Hard

                        {"Easier"}

                </>
            }
        }
    }
}

impl Component for DifficultySelection {
    type Message = Msg;
    type Properties = Props;

    fn create(props: Self::Properties, _: ComponentLink<Self>) -> Self {
        DifficultySelection {
            onsignal: props.onsignal,
            economy: props.economy,
            economy_rate: props.economy_rate,
        }
    }

    fn update(&mut self, msg: Self::Message) -> ShouldRender {
        match msg {
            Msg::ButtonClicked(msg) => {
                if let Some(ref mut callback) = self.onsignal {
                    callback.emit(msg);
                }
            },
        }

        false
    }

    fn change(&mut self, _msg: Self::Properties) -> ShouldRender {
        true
    }

    fn view(&self) -> Html<Self> {
        html! {

{"STORY "}
                    {"QUESTION"}

                {self.check_economy()}

        }
    }
}

So as you can see, I try to pass the economy value around quite a bit, what I'm aiming to do is directly interact with the economy value from the parent struct so that I don't have to create a boatload of niech use-cases in the Msg enum.
Thanks anyone for any assistance! I'm been trying this for a while and it's confusing the heck out of me.

Hey, thanks for the question @ProfessorChill. It looks to me like you're following the right patterns but yes it's quite boiler-platey. The reason it's a good pattern to pass messages back to the parent (in this case StoryDisplay) is that you want the parent to re-render whenever it's "state" changes. The only mechanism for that is through msg updates.
You could make your life a bit easier though by perhaps combining your economy msg types into one "game update" message, or by making your code more DRY (check_economy() looks like it could be more succinct with helper methods), etc. I can chat this out with you here if you want more ideas!


Update ansible playbooks for Windows

This PR updates the ansible playbooks for Windows.

it creates automatically test yamls for all Windows nodes
sets unrestricted execution policy if not set already
installs OVS cloudbase beta msi by default
creates the HNS network via powershell cmdlets instead of using docker network create

Tested-by: Alin Gabriel Serdean<EMAIL_ADDRESS>/LGTM


[Bug]: Traces are not found when searching from the query UI

What happened?
I am able to see the services listed in the UI but on searching it returns "No Traces Found". Elasticsearch records storing of spans, and it is also visible from Jaeger metrics endpoint. On using the query mentioned in #2816 by @albertteoh , a valid trace ID is returned.
Steps to reproduce

Start ES container
Start Jaeger container
Send traces having multiple services from a sample application
Search for recent traces.

Expected behavior
Relevant Traces should appear.
Relevant log output
ES- Response
{"took":2,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":{"value":1,"relation":"eq"},"max_score":null,"hits":[]},"aggregations":{"traceIDs":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[{"key":"46957fde391023b1a7a22eb181ad3cbe","doc_count":1,"startTime":{"value":1.70608619842243E15}}]}}}

Response to index query:

health status index                     uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   jaeger-span-2024-01-24    DemlfKN-RNOmUswmFL2lpQ   5   1       4396            0    429.3kb        429.3kb
yellow open   jaeger-service-2024-01-24 Dgu_VCkNT0qvNCj9oUx1YA   5   1        312            0     69.2kb         69.2kb

Jaeger metrics
# TYPE jaeger_spans_saved_by_svc_total counter
jaeger_spans_saved_by_svc_total{debug="false",result="err",svc="other-services"} 0
jaeger_spans_saved_by_svc_total{debug="false",result="ok",svc="algo-service"} 100
jaeger_spans_saved_by_svc_total{debug="false",result="ok",svc="jaeger-query"} 141
jaeger_spans_saved_by_svc_total{debug="false",result="ok",svc="job-service"} 1
jaeger_spans_saved_by_svc_total{debug="false",result="ok",svc="other-services"} 0
jaeger_spans_saved_by_svc_total{debug="false",result="ok",svc="pc-service"} 100
jaeger_spans_saved_by_svc_total{debug="false",result="ok",svc="site-service"} 100
jaeger_spans_saved_by_svc_total{debug="true",result="err",svc="other-services"} 0
jaeger_spans_saved_by_svc_total{debug="true",result="ok",svc="other-services"} 0

Screenshot

Additional context
No response
Jaeger backend version
v1.47
SDK
OpenTelemetry C++ SDK
Pipeline
OTEL SDK -> OTel Collector -> Jaeger -> Elasticsearch
Stogage backend
Elasticsearch v7.17.10
Operating system
Linux
Deployment model
No response
Deployment configs
No response

querying elastic with both queries in #2618 returns responses, but using the traceID in the response via Jaeger UI yields no results.

The service pulldown is populated so there is data there to populate some of the UI. Are the trace timestamps correct? Do you have Kibana or OpenSearch Dashboards connected to the backend so you can query?
Can you share the output of the query?

Please re-open this when you reply to my questions.


Nuxt's innerHTML assignment conflicts with CSP

Environment

Operating System: Windows_NT
Node Version:     v18.16.0
Nuxt Version:     3.5.1
Nitro Version:    2.4.1
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      modules, app, i18n
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-rffaxj?file=pages%2Findex.vue
Start from the home page, click on the Nuxt link to Signup, and witness the TrustedHTML conflict.
https://imgur.com/a/SEDfi4V
As I will state in Additional context, since the issue only happens occasionally between certain routes (with this reproduction prompting the error most frequently), I have added a video of the issue happening in action following the steps I provided here for further proof in case it doesn't happen the first time with the stackblitz reproduction.
Describe the bug
When going to some pages, even ones that are completely static with no JavaScript in them, the above content security policy directive will conflict with (I guess?) Nuxt's internal way of setting innerHTML content, causing the page to not update when navigating between certain routes without a page reload.
Additional context
Despite it appearing like a router issue with vue (as it says in the logs that name and route are undefined) it only happens to SOME pages when adding the require-trusted-types-for 'script' directive.
 This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core
  at <Chat onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< Proxy(Object) {resolveRoute: ƒ, localePath: ƒ, localeRoute: ƒ, localeLocation: ƒ, switchLocalePath: ƒ, …}[[Handler]]: Object[[Target]]: Object[[IsRevoked]]: false > >
  at <RouteProvider key="/somePage" routeProps= {Component: {…}, route: {…}} pageKey="/somePage"  ... >
  at <FragmentWrapper >
  at <RouterView name=undefined route=undefined >
  at <NuxtPage>
  at <AsyncComponentWrapper>
  at <App key=3 >
  at <NuxtRoot>
warn2 @ chunk-LGAZO65B.js:1381
logError @ chunk-LGAZO65B.js:1633
handleError @ chunk-LGAZO65B.js:1625
callWithErrorHandling @ chunk-LGAZO65B.js:1582
flushJobs @ chunk-LGAZO65B.js:1767
Promise.then (async)
queueFlush @ chunk-LGAZO65B.js:1683
queueJob @ chunk-LGAZO65B.js:1677
(anonymous) @ chunk-LGAZO65B.js:6216
triggerEffect @ chunk-LGAZO65B.js:589
triggerEffects @ chunk-LGAZO65B.js:579
triggerRefValue @ chunk-LGAZO65B.js:1174
(anonymous) @ chunk-LGAZO65B.js:1304
triggerEffect @ chunk-LGAZO65B.js:589
triggerEffects @ chunk-LGAZO65B.js:574
triggerRefValue @ chunk-LGAZO65B.js:1174
(anonymous) @ chunk-LGAZO65B.js:1304
triggerEffect @ chunk-LGAZO65B.js:589
triggerEffects @ chunk-LGAZO65B.js:574
triggerRefValue @ chunk-LGAZO65B.js:1174
(anonymous) @ chunk-LGAZO65B.js:1304
triggerEffect @ chunk-LGAZO65B.js:589
triggerEffects @ chunk-LGAZO65B.js:574
triggerRefValue @ chunk-LGAZO65B.js:1174
(anonymous) @ chunk-LGAZO65B.js:1304
triggerEffect @ chunk-LGAZO65B.js:589
triggerEffects @ chunk-LGAZO65B.js:574
triggerRefValue @ chunk-LGAZO65B.js:1174
set value @ chunk-LGAZO65B.js:1218
finalizeNavigation @ chunk-CSKD2MCS.js:2552
(anonymous) @ chunk-CSKD2MCS.js:2465
Promise.then (async)
pushWithRedirect @ chunk-CSKD2MCS.js:2434
push @ chunk-CSKD2MCS.js:2360
navigate @ chunk-CSKD2MCS.js:1616
callWithErrorHandling @ chunk-LGAZO65B.js:1580
callWithAsyncErrorHandling @ chunk-LGAZO65B.js:1588
invoker @ chunk-LGAZO65B.js:8198

chunk-LGAZO65B.js:7985 Uncaught (in promise) TypeError: Failed to set the 'innerHTML' property on 'Element': This document requires 'TrustedHTML' assignment.
    at insertStaticContent (chunk-LGAZO65B.js:7985:35)
    at mountStaticNode (chunk-LGAZO65B.js:5731:26)
    at patch (chunk-LGAZO65B.js:5688:11)
    at mountChildren (chunk-LGAZO65B.js:5845:7)
    at mountElement (chunk-LGAZO65B.js:5777:7)
    at processElement (chunk-LGAZO65B.js:5764:7)
    at patch (chunk-LGAZO65B.js:5698:11)
    at ReactiveEffect.componentUpdateFn [as fn] (chunk-LGAZO65B.js:6128:11)
    at ReactiveEffect.run (chunk-LGAZO65B.js:405:19)
    at instance.update (chunk-LGAZO65B.js:6220:52)
insertStaticContent @ chunk-LGAZO65B.js:7985
mountStaticNode @ chunk-L

As I mentioned, the reproduction is just having that directive in your content security policy. If need be, I can share my project privately where I tested it, but the content of the page does not really matter from what I checked. Even if it's just a generic rules page and is completely static it still (in my case) conflicts and errors out. (The reason I would like to share it privately in case necessary is because it's a personal project of mine for an upcoming thing which I don't feel comfortable sharing)

Also, I just found out I forgot to update. I thought maybe it was a 3.4.3 issue but 3.5.1 is also affected, so I will just update the environment. Just wanted to let you know why the environment would look different when you check this again. @danielroe

Might be related : https://github.com/vitejs/vite/issues/10553

@Hebilicious it might, but as far as I'm aware I didn't see that it was from vite, unlike my newer CSP conflict issue nuxt/nuxt#21268 where it specifically errored on vite's end. However I can try to see if this one is also related to vite because as I mentioned, this doesn't even happen every single time.

Indeed, I believe this is likely coming from vite (though it's possible it's from vue). You can try using the webpack builder to see if the issue is replicable without vite or https://stackblitz.com/github/nuxt-contrib/vue3-ssr-starter to see if it is replicable without nuxt.

Yea I was planning on doing it. just got a little busy with personal life. I'll get around to it soon though and post any update in case anything comes up, because so far it was only showing Nuxt errors.

@GalacticHypernova
In your config, change the builder to "@nuxt/webpack-builder"
https://nuxt.com/docs/api/configuration/nuxt-config#builder

Vite trusted type support is underway: https://github.com/vuejs/core/pull/10844

The PR I mentioned in the previous comment has been merged. I suppose the feature will be part of the upcoming Vue version 3.5.0.


Move queryparams

Moved the queryparams struct to be next to the parseQueryParams function to maintain consistency with other domains in the app layer.

i think , it seems good


bazel compilation with emscripten failed

Hi we are recently trying to compile glog to wasm using bazel. The commit we are compiling is this. The crucial part of the error message is
Compiling src/raw_logging.cc failed: (Exit 1): emcc.sh failed: error executing command external/emsdk/emscripten_toolchain/emcc.sh '--sysroot=external/emscripten_bin_linux/emscripten/cache/sysroot' -fdiagnostics-color -fno-exceptions -fno-strict-aliasing -funsigned-char ... (remaining 53 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
external/com_googlesource_code_glog/src/raw_logging.cc:162:14: error: use of undeclared identifier 'STDERR_FILENO'
  safe_write(STDERR_FILENO, buffer, strlen(buffer));
             ^
1 error generated.

The root cause seems to be that wasm_copts misses  -DHAVE_MODE_T and -DHAVE_UNISTD_H, both of which are defined in linux_or_darwin_copts, so when the platform is wasm, then compilation failed.
The quick fix I did is to move those two macro definitions to wasm_copts. Let me know if there's a more correct way of handling this or I missed anything.

Hey Victor! Let me know if you feel comfortable sending a PR to https://github.com/google/glog/blob/master/bazel/glog.bzl to fix this - also, if you depend on the wasm support maybe you could think about how to add CI for this in either https://github.com/google/glog/blob/master/.bazelci/presubmit.yml or https://github.com/google/glog/tree/master/.github/workflows, as I'm not sure how we can prevent future wasm breakage (it was added by a contributor but I haven't heard anything from them for some time).

Hi @drigz I'm happy to send a PR. There's really not much to do. But it's a bit hard for me to do the CICD stuff with bazel + WASM.


WEB: Approve project requests within the registry

Describe the issue
The objective is to move the project request approval process into the Registry. Currently, the pipeline relies on the Platform Services SD or PO to approve through Github. When the registry dashboard has incorporated a tabular view, it is expected that the Platform Services SD or PO can click an approve or deny button on any pending project sets.
Additional context

If a project is 'Approved' a notification window will appear to confirm this decision.
If a project is 'Rejected' a notification window with a text box will appear enabling the SD or PO to provide a clarifying message why the request was denied which will email the projects PO/TC.
All pending projects should appear at the top of the list of current project sets.

Definition of done
When the above is completed, tested and implemented in PROD.

Currently blocked until Multi-cluster support has been merged, tested and released.


Where is SpotifyApi.NetCore.Samples ?

Hey, I would love to use this wrapper  - unfortunetly I cant find the "seperate Samples repo" you're talking about on the readme. Is it down?

Apologies @sugarshock, I had not pushed the samples repo since I split it out from this one. I have pushed it now but it has several issues including out of date frameworks and no documentation. I work on resolving these issues over the weekend.
The sample project is an ASP.NET Core API with a Vuejs SPA.
There is also basic and advanced usage examples in the readme for this repo, as well as examples of usage in the Tests folder in this repo.
Is there anything specific you are after? I am happy to provide sample code.

Link to the Samples repo: https://github.com/Ringobot/SpotifyApi.NetCore.Samples
I will track the sample issues in that repo. Closing this issue for now.


Column "createdAt" of relation "account" does not exist

Is this suited for github?

[X] Yes, this is suited for github

To Reproduce

Initialised Backend with Hono Drizzle Postgress adapter
Initialised Frontend with NextJS
Registration fails with 500 Internal Server Error and log
column "createdAt" of relation "account" does not exist, I tried adding them manually but got:
column "token" of relation "session" does not exist. So most of the used columns are not on the migration file

Current vs. Expected behavior
Currently registration fails due to missing columns on the migration file.
I would suggest that in the case of adapets like drizzle, the schema should be exported so that it could be on the same migration as the other drizzle schemas.
What version of Better Auth are you using?
1.0.16
Provide environment information
- os: MacOS

Which area(s) are affected? (Select all that apply)
Backend
Auth config (if applicable)
import { betterAuth } from "better-auth";
import {pool} from "./db/postgres";

export const auth = betterAuth({
    database: pool,
    basePath: '/auth',
    trustedOrigins: ['http://localhost:48372'],
    emailAndPassword: {
        enabled: true,
    }
})

Additional context
No response

add createdAt field in your account table. check the docs for the full db schema required by better auth.


Mutually-exclusive inputs

Third-party models need to set values in the ETM which are not supported by our current inputs. In some cases, this data would conflict with values that may be set by existing inputs. In order to support this, we need a system whereby inputs can be disabled whenever another input has a value set. These are mutually-exclusive inputs.
ETSource / Atlas

[x] Inputs must have a disables attribute. Whenever the user sets a value for the input, the inputs named in disables will be ignored.
- disables = [input_one, input_two]

[x] The input list must be validated to ensure the inputs really exist.

ETEngine

[x] The API should provide the list of inputs that are disabled when the exclusive input has a value.

[x] User values set by disabled inputs should not be executed.

[ ] Question: Should the inputs.json indicate that an input is disabled by an exclusive input, and if so should it also name the input(s) that are causing it to be disabled?

ETModel

[x] Inputs should be shown as disabled in ETModel.

[ ] Question: Do we need to explain to the user why the input is disabled?

@ChaelKruip @marliekeverweij @noracato: This is largely done, but I'd like some feedback on its usability. I'm having doubts.
Currently, it's really simple: an input can list zero or more other inputs which should be disabled when it has a value. For example, let's imagine we have a "chemicals_final_demand" input that looks like this:
# inputs/chemicals_final_demand.ad
- min_value = 0.0
- max_value = 1000.0
- start_value = 0.0
- disables = [chemical_1_share, chemical_2_share]

The last line is key: if the (API) user sets a value for "chemicals_final_demand", the "chemical_1_share" and "chemical_2_share" inputs would be disabled. Disabled means:

The inputs will be greyed out and cannot be moved in ETModel.
Any existing value set for those inputs will be ignored by ETEngine.

My concern is that while this works, it feels like a pain to manage the disables list. It means every time we add an input that might be affected by the final demand input, we have to remember to add it to this list. If we later add a "chemical_3_share", it would be quite easy to forget to update the list. It may also be that the list grows to be quite long.
Alternative: Feature flags
An alternative would be to do something similar to area dependencies. Datasets have a range of "flags" that indicate which features are supported in the region:
# datasets/nl/nl.ad
- has_coastline = true
- has_old_technologies = true
- has_mountains = false

... and in ETModel inputs can indicate that they depend on one of these features:
- key: flh_of_energy_power_wind_turbine_coastal
  step_value: 1.0
  unit: "#"
  interface_group: full_load_hours
  position: 3
  dependent_on: has_coastline  # <--
  slide_key: flexibility_weather_conditions_and_flh

What if we supported something similar in ETEngine? In addition to the area dependencies, scenarios could have a set of feature flags that could be used to indicate if an input was available for that scenario.
In the CTM input(s) we'd set a feature flag on the scenario:
- sets_feature = custom_chemical_demand
- query = UPDATE(...)

... and in individual inputs (which should be disabled) set a feature flag dependency:
# inputs/chemical_1_share.ad
- dependent_on = [not custom_chemical_demand]

This tells ETEngine that "chemical_1_share" is enabled only when the custom_chemical_demand feature is not enabled.
Next steps
Implementing feature flags mean that the work so far completed on mutually-exclusive inputs would have been wasted, but I'm confident it could be done within the remaining budget for this feature.
I think feature flags have the advantage that mistakes are less likely. Whether this is worth implementing depends on...

... how many CTM-related inputs we'll be adding, and how many inputs they will each disable. If we'll be adding many CTM inputs, each of which disables the same inputs, then feature flags will be much more maintainable. If we're only adding a couple of inputs, this proposal may be overkill.
... if you see a use for this feature elsewhere in the model.

I'm curious about your opinion. If you're indifferent, I'm happy to stick with the current implementation.

I'm second-guessing feature flags as well now. 🤷♂
What happens if a scenario has multiple inputs, some of which turn a feature on and others which turn it off? This could get messy. So I think this leads me back to the question:

how many CTM-related inputs [will we] be adding, and how many inputs they will each disable?

If the answer to both is "not very many", perhaps the original idea is better.

So, what I understand is that the original idea was a good one, with the only downside being the maintainability. We only create these CTM disabling inputs once, but have to remember to come back to them each time we alter something in the industry sector.
But what if we turn it around, much like a simpler version of the feature flags. So that chemical_1_share looks like this:
# inputs/chemical_1_share.ad
- disabled_by = ctm_input_1

Then, when you create chemical_3_share, you will probably do a quick check of comparing it to chemical_1_share to make sure you didn't miss anything. And you see the disabled_by attribute. You are reminded and can fill it in.
I don't know if this is a feasible alternative, or if you already went over this option, just a thought I had.

I'd like some feedback on its usability

For the fertilizer sector, disabling all the input sliders makes the disables statement quite a long list. One way to shorten it would be to allow disabling a share_group. For fertilizers for example, all the burner sliders need to be disabled, and they are all in the share_group chemical_fertilizers_heat. Would this be possible @antw?

For the fertilizer sector, disabling all the input sliders makes the disables statement quite a long list.

The implementation followed Nora's suggestion: inputs may contain a disabled_by attribute naming an input (or list of inputs) which cause it to become disabled. For example, if setting "coupling_input" would cause the input to become disabled, the value would be:
- disabled_by = coupling_input

If there are two inputs – "coupling_input_1" and "coupling_input_2" – either of which would disable the input, then use:
- disabled_by = [coupling_input_1, coupling_input_2]


chore: 🤖 Sonar account reconfiguration

Description
Sonar account reconfiguration
Breaking Changes
No
JIRA Link
No
Checklist

[x] Updated the Readme.md (if required) ?

:tada: This PR is included in version 16.0.0-alpha.2 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Eurom Heater is recognized as mirabella_genio_usb

Hi
My Heater is not correctly recognized:
This error originated from a custom integration.
Logger: custom_components.tuya_local.config_flow
Source: custom_components/tuya_local/config_flow.py:73
Integration: Tuya Local (documentation, issues)
First occurred: 8:34:20 PM (1 occurrences)
Last logged: 8:34:20 PM
Device matches mirabella_genio_usb with quality of 40%. DPS: {'1': False, '2': 21, '3': 19, '4': 'off', '7': False, 'updated_at':<PHONE_NUMBER>.9208913}
Any help is appreciated

Which model Eurom heater is this?

Sani-Wall-Heat 2000 Wifi with swing function
https://eurom.nl/product/verwarming/badkamerkachels/sani-wall-heat-2000-wifi/

I made a guess at the values for dps 4 being "off", "low" and "high" based on the manual saying that the mode can be switched between fan only, half and full heating, combined with the known value of "off" above.  Another guess is that dps 7 controls the swing function (otherwise, there are no other dps left, so the swing would not be controllable if it is not that).

The device is recognized. temperature is functional. The on/off, swing and power doesn;t seem to match with values expected as I get status:
off - fan

auto
50_perc
100_perc
no clue how to resolve this or what info could be helpful for you?

I'm not sure what is going on with the swing, but it may just be a side effect of the presets being incorrect.

Everything seems to function :-). Thanks!!! Would be nice to improve the

with swing function and that you can click in the icon starting/stopping the swing.  Maybe this is for future improvements
Good work.

Thanks for confirming.  The UI is a general Home Assistant UI, so any enhancement reqests should go there.  I think though that will not want to clutter it with the full functionality of climate devices, and will suggest adding a row of buttons below to control additional functionality.


Issues 212, 256: Adding support for internal lambdas to reference parameters from the parent lambda

Issue #212 was really the issue here.
When replicating the code given in Issue #256 the last "x.Grade" was being immediately resolved as the value from the parameter was being inserted directly.  In the previous implementation of "InterpreterExpression", it was creating it as a new ParameterExpression.
This code update captures the "parent" ParameterExpressions as identifiers.
This is essentially what happens with compiled code, so instead of us having to create a class, Expression actually allows us to reference the existing Expression as an Identifier.
Fix #212, #200, #256

LGTM! Thank you!
@metoule do you see problems?

Do you think that this PR will solve #212, #200 and #256?

Yes it will.
This will also make it so that #213 can be closed without merging as the settings Identifier dictionary has become our "locals" dictionary.
I just thought of a couple more cases to verify that we are only able to access parameters defined in the enclosing lambda, not a parameter defined by an adjacent lambda.
Will get those included as soon as able.

Test cases to cover duplicating parameter names in other lambdas have been added.

Thank you @holdenmai . It looks like a very nice feature. There is just a failed test.

Unit test has been fixed.  It actually had a bad lambda declaration that would not have compiled with real code.  I guess the only issue with that is if a consumer of this package had also done the same thing in the past.


How to Use Google Invisible reCAPTCHA in a Webpage and Customize It

Proposed title of the article
[Languages] How to Use Google Invisible reCAPTCHA in a Webpage and Customize It
Proposed article introduction
"Completely Automated Public Turing Test to Tell Computers and Humans Apart" is what CAPTCHA stands for. The acronym itself highlights the significance of using captcha in a web application.
Google reCaptcha is the most popular captcha service, with unbeatable results in distinguishing humans from robots. In this article, we'll learn how to use PHP to integrate and customize Google's hidden reCaptcha.
Key takeaways

By the end of this article learners will be able to:

Automatically bind the reCaptcha challenge to a button element.
Programmatically bind the challenge to a button element.
Programmatically invoke the challenge.

Article quality
This article will be in context, brief and informative. Looking at the almost similar content on the internet, most of them are somewhat too harsh for beginners to understand and implement the code snippets provided in them. All his issues will be addressed in this article to ensure that it adds value to whoever comes across it.
References
N/A

good topic @EssyG10  - approved. One important note: please be sure to put your article through a thorough grammar/readability editing review prior to submitting for final approval. This will help increase the likelihood of your article getting published and you receiving a payout :)


web SDK v8

IMPORTANT
This should not be merged until the concordium node v7.0 has been released for mainnet. The release schedule below should be followed
SDK v8 Release schedule

[x] @concordium/web-sdk@alpha = local/stagenet node 7.0 release
[ ] @concordium/web-sdk@latest = as soon as this has been merged

Changes

#233
#384
#389

Checklist

[x] My code follows the style of this project.
[x] The code compiles without warnings.
[x] I have performed a self-review of the changes.
[x] I have documented my code, in particular the intent of the
hard-to-understand areas.
[x] (If necessary) I have updated the CHANGELOG.

Release schedule has been more or less removed as backwards compatibility was implemented in #389 to support the browser wallet in conformance to node version 7.


This completes the linguistic review for grpc_unary_blocking repository.

Documentation
Commit 1: Completes the linguistic review for grpc_unary_blocking.

Commit 2: This completes the linguistic review for grpc_bidirectional_streaming repository.


Autorest Regen Preview to 3.0.0-alpha.20230425.3 by Heath Stewart from refs/pull/3262/merge

Triggered from https://github.com/Azure/autorest.csharp/pull/3262

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager


Improve testing exceptions

Closes no issues
Changes:
Use the @Rule ExpectedException that allow us to write more readable tests and check exception messsages and types

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.David Rodriguez seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.

This looks great! Merge with master once please and we should be good to go.


Settings > Object sidebar = Enable shortcut settings of all labels

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Is your feature request related to a problem? Please describe.
No response
Describe the solution you'd like
Settings > Object sidebar = Enable shortcut settings of all labels, not only of the first ten.
Describe alternatives you've considered
No response
Additional context
No response

@matheusguzman any open issues to take up??

We really miss it, I was migrating my team from self-hosted to app.cvat.ai and this just seems like a downgrade.


Adding RegEx validation to @pattern or specific linting rule for RegEx.

Clear and concise description of the problem
The typespec should add validation to @pattern or Azure specific linting rule for RegEx.
Recently we encountered an invalid regex expression.
The correct expression should be @pattern("^[^_\\W][\\w\\-._]{0,79}(?<![-.])$")
Checklist

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Would note that with the definition of what we support in pattern it might be tricky to accurately validate that https://typespec.io/docs/standard-library/built-in-decorators#@pattern
We of course can easily validate its a JS regex but that would be a large superset of what is supposed to be supported


Webpack issue: some exports not tree-shaken due to import * as pageDetect

Since #2512, all page-detect’s tests have been included in the final bundle and have not been tree-shaken as I was expecting.
Here's the what the output looks like:

  const isOwnOrganizationProfile = () => isOrganizationProfile() && !select_dom__WEBPACK_IMPORTED_MODULE_0__["a"].exists('[href*="contact/report-abuse?report="]');
  const _isOwnOrganizationProfile = domBased;
  const isProject = () => /^projects\/\d+/.test(Object(_utils__WEBPACK_IMPORTED_MODULE_2__["k"])());
  const _isProject = [ "https://github.com/sindresorhus/refined-github/projects/3" ];

Exports starting with _ should not be included in the final bundle.

Found the culprits:

Using the rest parameter here creates a new object that Webpack+Terser lose track of:
https://github.com/sindresorhus/refined-github/blob/66544c0fa1ce0c081c81f92be460ff8806f647ad/source/libs/features.tsx#L218-L220

It should be replaced with:
// features.tsx
export * as pageDetect from './page-detect';

// every feature
import features, {pageDetect} from './features';

Or simply:
// every feature
import features from './features';
import pageDetect from './page-detect';

Compression was disabled in Webpack; that included tree-shaking

https://github.com/sindresorhus/refined-github/blob/66544c0fa1ce0c081c81f92be460ff8806f647ad/webpack.config.ts#L159-L163
It should probably be:
compress: {
	defaults: false,
	dead_code: true,
	unused: true
},

This should follow #2987


Remove calls to fstat in crashlytics

Are there plans to make a release with this fix?

Yes, this will be released in 10.24.0 (due out week of April 9).


[ansible/postgres] Do not require mission control when provisioning postgres role

PR Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x ] Title of the PR starts with installer/product name (e.g. [ansible/artifactory])

What this PR does / why we need it:
If mc_db_name is not given it is assumed that no tables or users should be configured for mission control.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Unable to provision artifactory using Ansible, since I do not use mission control and postgres role required it.
Special notes for your reviewer:
Since this contribution is done using work e-mail I cannot sign CLA due to patent clause. However, the change is so trivial so I'm perfectly fine if you just deny this PR and do an identical change yourself. I just want the fix, doesn't matter who the author is.

Fixed in #141  (set mc_enabled: false to disable missioncontrol)


change mimetype to content_type

/treeio/treeio/core/views.py:187
/treeio/treeio/core/decorators.py:132
https://github.com/treeio/treeio/search?utf8=✓&q=mimetype

Yes it worked, could not find any other problem regarding django 1.7..
I have published the container: docker pull thiagof/treeio

thanks for reporting the bug!


[PE-D][Tester C] Error message for delete command with index 0

The invalid index error might be more appropriate, similar to the update command.

Labels: severity.Low type.FunctionalityBug
original: jason-chuah/ped#7

duplicate of #235


Node SQS Listener

Have you considered leveraging SQS to remove the need for DynDNS and Firewall hole?  This may be easier for people to secure, and AWS allows 1 Million SQS messages/mo for free.
A possible solution might be - a NodeJS SQS listener on the server/pi.  When an event occurs, Lambda posts to the SNS queue. The listener pulls the message and calls the API locally.

I haven't worked with SQS, but I'm assuming that it's low latency and that the listener can keep some kind of persistent connection to the SQS endpoint (also reducing latency).  If those two things are true, then you could build an SQS listener feature into node-sonos-http-api itself.  That'd be ideal, rather than building another service only as a relay.

Chiming in on this. This could make a lot of sense, but I think amazon SQS might not work as one expects. It seems to be polling based, which might not make sense for low latency messages. Another option would be to use the free plan from https://www.cloudamqp.com/plans.html. RabbitMQ uses persistent connections and are low-latency messages, but is designed to use a persistent connection for publishing messages as well, which doesn't make sense when using the lambda service. However, it has a limited http api which is designed for management, but might make sense for low volume publishing without the requirement for a persistent connection: https://raw.githack.com/rabbitmq/rabbitmq-management/rabbitmq_v3_6_1/priv/www/api/index.html
But thinking about it, a queue system might not be what one wants in this case. If the message can't be delivered directly, you don't want it to stack up, so a pub/sub broker might make more sense. The same company that provides cloudamqp also services https://www.cloudmqtt.com/plans.html which has a free plan as well.

A node on SQS: While it is true that it is poll-based, it has a 'long-poll' mode where each 'poll' lasts 20 seconds, and messages are delivered immediately.
As an example, I have a skill to talk to my ZWave devices. I speak the command, and aside from the lambda wake-up delay (as it is a very low velocity function) the command goes from Lambda to SQS to my local listener (ruby, in this case) in about 3 seconds.

I have another suggestion:
ThingMQ has a free, publicly available MQTT broker that has both MQTT, WebSockets and REST support. This means that you can publish a message using REST (which is probably useful for lambda functions), and subscribe to them using MQTT socket.
This means that a local service can subscribe to ThingMQ and listen for messages on a predefined topic (with some unique reference), and a local node service could listen for messages, that either is processed internally or forwarded to my http-api.
Since the free service doesn't have authentication nor protected topics, one should implement some sort of security feature to disallow control unless you are trusted to do so. One simple approach would be to create a hash based on the action using a secret key that your lambda function and your local service are aware of.
This requires no setup of queue/message broker, requires no port forwarding, no SSL nor auth. You can still run encrypted both between broker and local service, as well as REST over HTTPS. The broker would still have access to the messages, and the content, but wouldn't be able to send actions unless it can create a correct hash.
It could also be built super-generic, like sending actual http actions that are just forwarded to localhost, to support any future actions without having to modify the service.

Closing, as SQS has since been implemented by a contributor.  @jishi's suggestion sounds like a good idea, though.  More issues with timeouts might lead us down that path


Move to pure / impure breakup

Services

[x] Dynamo
[x] S3
[ ] SNS
[ ] SQS
[ ] Kinesis
[ ] Lambda

Other stuff

[ ] service docs
[ ] migration docs

[ ] Kinesis get records post processing
[ ] S3 parsing
[ ] kinesis streaming functions.

[ ] s3 streaming functions

[ ] Lambda "X-Amz-Client-Context"

[ ] S3 delete_all_objects

[ ] check on put_bucket_policy

Awesome stuff @benwilson512. Looking forward to the next version.

Thanks! I need to update basically all of the documentation, but that'll be a lot easier now. Contributing.md is gonna get a lot simpler too now.


Inference pipeline

Add functions to implement the following sequentially: get all ids of a field, get all features of the ids, run inference for all pre-trained models on all ids of the field

Thank you for the useful feedback and suggestions in the code. I will update the code and docstrings for functions wherever required soon.

Thank you Saagar! It will be nice to have these useful updates added to scope.

Hi @saagar-parikh, just wanted to check how the changes are coming along.

Those changes look good @saagar-parikh! Just one more step before merging - could you please address the linting errors below?
tools/get_features.py:1:1: F401 'tarfile.DEFAULT_FORMAT' imported but unused
tools/get_features.py:7:1: F401 'warnings' imported but unused
tools/get_features.py:8:1: F401 'typing.Union' imported but unused
tools/get_features.py:10:1: F401 'json' imported but unused
tools/get_features.py:95:17: E712 comparison to False should be 'if cond is False:' or 'if not cond:'
tools/get_features.py:178:17: E712 comparison to False should be 'if cond is False:' or 'if not cond:'

@bfhealy I will check the flake8 tests and make the changes. But I'm not able to understand the Kowalski not found error. Can you please guide?

@saagar-parikh The Kowalski error should be ok, some recent PRs passed the checks and still displayed that error. I think it failed this time because black found some changes to make. You can run those checks locally before committing:
pre-commit install
pre-commit run --files <file1> <file2> <file3>
Then the formatting revisions will be made locally, after which you can commit them one more time.

(You'll have to pip install pre-commit first if you don't have it already)

Hi @saagar-parikh, any luck with pre-commit?

Hi @bfhealy, I think it's just the Kowalski error that's left now!

Thanks very much @saagar-parikh! I'll go ahead and merge.


Improvements to import_file() and run_file()

Fixes: N/A
Summary/Motivation:
This improves the robustness of import_file() and run_file() so that the sys.path is not left in an altered state in the event that the import raises an exception.  This also switches to using tools from sys.path for performing path manipulations (instead of hard-coded / and \ characters).
Changes proposed in this PR:

Ensure restoration of sys.path when imports raise exceptions
Remove use of hard-coded / and \ path separator characters.

Legal Acknowledgement
By contributing to this software project, I agree to the following terms and conditions for my contribution:

I agree my contributions are submitted under the BSD license.
I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.

@jsiirola Given the nature of these changes, I think it's important to add a few tests to confirm that these changes capture the behavior that motivated the PR.

@whart222: absolutely.  Tests added.

Coverage decreased (-0.7%) to 61.278% when pulling d04eace1dafbfeaa5552a8782bdc6b8af285e1f8 on import-fixes into 12fddaf57468710c41da505c25d4cf855673bc3e on master.

Was there a typo in the last test from this PR? It seems to be testing the wrong function.

On Dec 13, 2019, at 11:28 AM, Bethany Nicholson<EMAIL_ADDRESS>wrote:

Merged #70 into master.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@ghackebeil I'm not sure what you're referring to.  Where do you think there's an error?


Re-export SmithyWaitersAPI types

Describe the feature
Like we did with the Smithy-related credentials providers, re-export the types associated with waiters to remove the need to directly import the Smithy module.
Use Case
Reducing the need for developers to know anything about Smithy is aa good thing. Smithy should be behind-the-scenes.
Proposed Solution
No response
Other Information
No response
Acknowledgements

[ ] I may be able to implement this feature request
[ ] This feature might incur a breaking change

Once this change is made, please try to ping me on Slack so I know to update the example to use the aliases instead of going to Smithy for these.


[request] Allow --amount argument for 'bos lnurl pay' and include an option to skip confirmation

bos lnurl pay works well and is really handy, but it would be great to be able to specify the amount, and also an option to avoid the Y/N confirmation.

Use bos send <lnurl> --amount sats to send an amount without a confirmation

Sweet, that works well, thank you.


NEEDED STEAMDECK PACKAGES

REQUIRES GAMESCOPE-GIT AND OTHER 3.6 & 5 PACKAGES

gamescope-git added succesfulyy


docker network ls slow when using overlay

Hi,
In my current setup, 7 nodes, setup with a consul KV to enable overlay network, the docker network ls command take around 10 sec to respond.
Actually i've around 20 overlay networks setup on my cluster, and something like 70 containers.
My nodes have different setup
Kernel 3.14 / Docker 1.12.1
Kernel 4.6.4 / Docker 1.11.2
To try to understand why its take so long to get docker network ls to respond, i monitored consul server in debug mode to see what kind of request are made.
Just for network listing, docker seems to send around 1300 http request to my consul kv store, which seems to be quite a lot ... taking account at least the network latency multiplied by 1300 call ...
The http call to consul are always in the same form

2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/network/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/?consistent= (163.683µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/endpoint_count/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/?consistent= (162.414µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/endpoint/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/730a1e69bbedd7e48c6b36180c603ded1c55833b261a0251161c2c3c97c3535f/?consistent= (167.802µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/network/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/?consistent= (162.063µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/endpoint_count/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/?consistent= (145.088µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/endpoint/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/730a1e69bbedd7e48c6b36180c603ded1c55833b261a0251161c2c3c97c3535f/?consistent= (158.063µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/network/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/?consistent= (156.203µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/endpoint_count/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/?consistent= (168.111µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/endpoint/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/78f5fa6d6d712cf445592d3bd535c05c38d9390c119aba4ee12c417f02e34d81/?consistent= (208.926µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/network/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/?consistent= (195.405µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/endpoint_count/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/?consistent= (148.608µs) 2016/09/02 07:54:51 [DEBUG] http: Request /v1/kv/network/docker/network/v1.0/endpoint/50fe87869127a8eec98ee32f2246d5982c6b956a60c8fd6a6e6eb3eb11b336c8/78f5fa6d6d712cf445592d3bd535c05c38d9390c119aba4ee12c417f02e34d81/?consistent= (169.265µs)

Maybe there is a better approach to request consul to get all the network information for the cluster.
Thx

met this situation in etcd as well.

Ok, i've reinstalled the whole 'cluster', all in
Kernel 4.6.4 / Docker 1.12.1
Consul dropped and recreated without any backup.
Around 20 overlay networks setup on my cluster, and something like 70 containers.
Still the same issue

@yaltar It has been detected that this issue has not received any activity in over 6 months. Can you please let us know if it is still relevant:

For a bug: do you still experience the issue with the latest version?
For a feature request: was your request appropriately answered in a later version?

Thank you!
This issue will be automatically closed in 1 week unless it is commented on.
For more information please refer to https://github.com/docker/libnetwork/issues/1926

Still have the issue, this is just a comment to avoid automatic close of this issue due to #1926

I am experiencing the same issue. My setup is two VirtualBox VMs running RedHat 7.5, kernel version 3.10.0-862.el7.x86_64, with docker 1.13.1. These two vms are running in swarm mode.
Any of the docker * ls commands are very slow to respond. Yet, if I force the vms to leave the swarm, the response increases dramatically.


[swift-3.1 branch] IRGen: Cast an ObjC allocation to the instantiated class type

Lowering of phi nodes expects the more refined type rather than objc_object.
Explanation: IRGen fix. We need to cast the type of an objc allocation to the expected instance type.
Scope of Issue: This is not a regression but never worked. Surprisingly, we don't hit this often. Though recently there have been quite a few reports about this.
Origination: Unkown. Always was there.
Risk: Low.
rdar://31482587

@swift-ci Please test

@slavapestov Can you review this?

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 57ec691eca9bf64e7c5e873456f41bff16c458bb
Test requested by - @aschwaighofer

@swift-ci Please test

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 57ec691eca9bf64e7c5e873456f41bff16c458bb
Test requested by - @aschwaighofer

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 57ec691eca9bf64e7c5e873456f41bff16c458bb
Test requested by - @aschwaighofer

LGTM.

@rjmccall Thanks John!


fix: update class constructor unwarp quote for classname

For #315

Codecov Report

Merging #316 (f6d6f1f) into main (54a67c4) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #316   +/-   ##
=======================================
  Coverage   88.01%   88.01%
=======================================
  Files          55       55
  Lines        4689     4689
  Branches     1007     1007
=======================================
  Hits         4127     4127
  Misses        302      302
  Partials      260      260

Impacted Files
Coverage Δ

src/utils/parser/class.ts
97.02% <100.00%> (ø)

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 54a67c4...f6d6f1f. Read the comment docs.

https://github.com/windicss/windicss/commit/d78624e5fb020ef61407327d86c5e5b16fbfd565 should fix this. Your solution would need to run once for every class and would have a performance impact, so it was not adopted.


Can't return binary (Buffer) in ServerResponse.body because of auto ETags generation

https://github.com/sveltejs/kit/blob/92d33913e284e00fb20d882253ba5439eeafc407/packages/kit/src/runtime/server/index.js#L61-L73
Trying to return a Buffer PNG in a get endpoint, I have been welcomed with an error str.charCodeAt is not a function
After looking in the code, I found that the auto-etag generation is the culprit, because the hash() function isn't expecting this type of content.
From my understanding, we should still be able to set ETags on binary content, so I guess this goes in the "bug" section.
Reproducing:
export async function get() {
	const buffer = Buffer.from(
		'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==',
		'base64'
	);

	return {
		headers: {
			'Content-Type': 'image/png',
			'Content-Length': buffer.length
		},
		body: buffer
	};
}

Workaround for now
setting 'Cache-control': 'no-store'` in the headers

Closing as duplicate of https://github.com/sveltejs/kit/issues/1136


Can trust self by pressing "Trust" button on own profile

It's good to trust yourself, but maybe we should hide the button?

will be fixed on frontend by #103 , though perhaps ought to be a corresponding limitation in the api @rahulgi ?


User Need - Clear configuration error messages

NOTE: This issue is generated as an action item from the 2022 Oct 27 Dev Review meeting.  This issue is to capture/align on the problem statements resulting from #50788.
Is your enhancement proposal related to a problem? Please describe.
As a product integrator,
I need to easily and quickly determine the root cause of build configuration issues,
so that I can efficiently fix my build configuration settings.
Additional context
This need comes from the Dev Review 2022 Oct 27 minutes, bullet point "undefined reference to __device_dts_ord error is a problem we want to solve".

I guess this goes beyond build and configuration issues. We should strive for clear and easily understood error messages everywhere. In the build system, in code, ...

I've found that "clear" varies with audience.  That is where identifying the role is important.
I think we have some flexibility in how granular to capture our user needs.  We probably don't have much flexibility on capturing constraints from the organization.

very broad and inactionable, reopen with more specific enhancement requests.


[docs] use yarn in CONTRIBUTING.md

Coverage remained the same at 69.269% when pulling cee0d9d46e34c84dba777b74f3791f88f900b574 on mistercrunch:yarn_docs into d7e419127c71c97580b00c8dae5fc14eb054a312 on apache:master.

Coverage remained the same at 69.269% when pulling cee0d9d46e34c84dba777b74f3791f88f900b574 on mistercrunch:yarn_docs into d7e419127c71c97580b00c8dae5fc14eb054a312 on apache:master.

Coverage remained the same at 69.269% when pulling cee0d9d46e34c84dba777b74f3791f88f900b574 on mistercrunch:yarn_docs into d7e419127c71c97580b00c8dae5fc14eb054a312 on apache:master.


fixed issue 4022 by updating matplotlib drawer and reference test images

Summary
Fixes #4022
Details and comments
Circuits drawn using circuit.draw(output='mpl') previously cut off the "m" in the label "measure" when the circuit includes the command circuit.measure_all(). This PR changes the horizontal spacing such that the "m" is fully visible.
The horizontal spacing is determined by the formula for x_offset. Adjusting the value in the formula from 0.18 to 0.3 was done to be on the safe side (a value of 0.28 seems to be just enough so that the "m" is no longer cut off). This formula should probably be tweaked further in the future - that will also depend on whether the horizontal spacing should be dynamic or static (i.e. providing maximum space for the longest label even when a circuit does not have that longest label). Currently, the value of len_longest_label in the formula is 9, the "longest label" being ${q}_{0}$.

We are moving away from this way of testing after https://github.com/Qiskit/qiskit-terra/pull/4544
Any help moving the tests to this systems is welcomed :)
Closing this PR in the favor of #4544


Review our reasons for Raw Kernel and summarize results

Some thing we're missing is:
We no longer need to install Python or Jupyter when running a non-python kernel such as R, Julia, IHaskell, Rust, etc.
We've had a lot of complaints about why one needs to install Python & configure Jupyter when running a R or typescript kernel.


x265: fix cross-compilation to aarch64

Before the change we enabled arm32 code on arm64 targets. After the change we have them separate.
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Causes 10 rebuilds on x86_64linux. Is it small enough for staging-next or should I spend time splitting it out to a separate condition?
$ ./maintainers/scripts/rebuild-amount.sh HEAD^

      1 release-checks
   5545 x86_64-darwin
  10715 x86_64-linux

Causes 10 rebuilds on x86_64linux. Is it small enough for staging-next or should I spend time splitting it out to a separate condition?
$ ./maintainers/scripts/rebuild-amount.sh HEAD^

      1 release-checks
   5545 x86_64-darwin
  10715 x86_64-linux

Made the addition cross-conditional. Should not cause rebuilds.

Proposed https://github.com/NixOS/nixpkgs/pull/334550 to unify arm and arm64 under nix-level isCross.


Suggestions [Computational Light Laboratory]

Thank you for adding our group's website to your list. There are some works from our side that you may find relevant for your README.md.
Data-driven (Learning-based) Methods

Learned Holographic Light Transport (Kavaklı et al. 2022) describes an algorithmic approach to learning the light transport kernel (aka beam propagation) from actual photographs. For code visit here.

Iterative Methods

Realistic Defocus Blur for Multiplane Computer-Generated Holography (Kavaklı et al. 2022) introduces several algorithmic approaches. This work includes a new targeting scheme inspired by Depth-of-Field rendering in Computer Graphics, a novel loss function for evaluating focus and defocused parts in a reconstructed image and an optimiser that adopts double phase constrain. This work helps mitigate typical artefacts that degrade visual quality in holographic displays, such as edge fringes and inaccurate defocus blur. For code visit here.

Perception-driven Methods

Metameric Varifocal Holograms (Walton et al. 2022) A gaze-contingent foveated varifocal image generation routine for holographic displays. For code visit here.

All of our work is dependent on our in-house baked library named Odak. We are also active on Social media, and our website can be reached from here.

Hi Professor Akşit, thank you for your suggestions. These papers are indeed very relevant. I'll make sure I read them and add them to the list.
On a side note, I have also worked on a research project about synthesizing realistic defocus blur (but for computational light field displays). However, that proof-of-concept work naively disregards diffraction, which might cause problems in real-world settings. Hence, I think that directly leveraging diffraction (CGH) to synthesize realistic defocus blur is a fascinating and fruitful direction.

Hi Brian, I am planning on referring to your repository in my next lecture in August. Please keep this one growing, it can help newcomers and even experts in the field.

Holographic Display Architectures and Optics
There are also also two works from our side that uses Holographic Optical Elements (HOEs) for near-eye display optics and architectures.

Varifocal Augmented Reality Near-Eye Displays to my knowledge this is the first paper that introduces varifocal augmented reality near-eye displays using HOEs.
Foveated Augmented Reality Near-Eye Displays This specific paper introduces a foveated near-eye display hardware using HOEs.

Beside our work, you may want to make sure to seminal books listed for your audience. You already have Goodman's book. There is also this one:

Max Born and Emil Wolf. 2013. Principles of optics: electromagnetic theory of propagation, interference and diffraction of light. Elsevier.

And many people in the past, started their first CGH simulations by reading this book:

Schmidt, Jason Daniel. "Numerical simulation of optical wave propagation: With examples in MATLAB." SPIE, 2010.

One more addition for your hardware section could also be this one:

Cakmakci, Ozan, Yi Qin, Peter Bosel, and Gordon Wetzstein. "Holographic pancake optics for thin and lightweight optical see-through augmented reality." Optics Express 29, no. 22 (2021): 35206-35215.

Thank you for providing these great resources!!! Hopefully this list continues to grow.

These could also be a meaningful addition for your list:
Kavaklı, Koray, Liang Shi, Hakan Urey, Wojciech Matusik, and Kaan Akşit. "Multi-color Holograms Improve Brightness in Holographic Displays." In SIGGRAPH Asia 2023 Conference Papers, pp. 1-11. 2023.
Markley, Eric, Nathan Matsuda, Florian Schiffers, Oliver Cossairt, and Grace Kuo. "Simultaneous Color Computer Generated Holography." In SIGGRAPH Asia 2023 Conference Papers, pp. 1-11. 2023.
These two papers both explores illuminating a phase-only hologram with multiple light sources to reconstruct a full color scene in 3D.  The one from my group has a project website here.
In addition, the optimization process in our work could further be simplified by predicting the required light dosages for each scene before optimizing a hologram:
Zhan, Yicheng, Koray Kavaklı, Hakan Ürey, Qi Sun, and Kaan Akşit. "AutoColor: learned light power control for multi-color holograms." In Optical Architectures for Displays and Sensing in Augmented, Virtual, and Mixed Reality (AR, VR, MR) V, vol. 12913, pp. 96-102. SPIE, 2024.
This project has its project website here. The interesting side bit about this work is the usage of a large language model and a generative model to build a hologram dataset.


Validation Refactor

Refactor to display validation feedback next to the invalid fields to make it easier to see what needs to be changed.

This was surprisingly tricky to get right because of how Vue's reactivity works.