refactor(router): only load configured flavor module

Summary
Kong gateway only use one flavor when it starts, we need not to load all router modules in a time.
This will reduce the usage of memory to a degree.
Checklist

[ ] The Pull Request has tests
[x] A changelog file has been created under changelog/unreleased/kong or skip-changelog label added on PR if changelog is unnecessary. README.md
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Full changelog

[Implement ...]

Issue reference

Fix #[issue number]

Please add links to the issue.


Asp.net Core still not supported for azure web roles

I don't know if this responsibility belongs to azure team or asp.net core team but this is a huge problem. Does anyone have any information regarding when azure web/worker roles we be supported for asp.net core? Here's a SO link from last year: http://stackoverflow.com/questions/31669008/asp-net-5-web-application-as-azure-web-role

@MartinDawson do you have a good reason to use Cloud Services (Web/Worker roles) instead of other options?  https://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/ is a good article to check out what to use.

@muratg I need it soley for using azure cloud's LocalResource class which I use to temp store files. At the moment I am having to use local file directory for development.
Is there any way to use the LocalResource class without making your application a web role then for azure storage emulator?

@MartinDawson I recommend asking at StackOverflow. Because there are a lot of advantages of App Service (AKA Web Apps which manages more stuff for you) as well as VMs (where you can contol everything.)

I am curious about this as well.  I like the idea of going to web apps, but need to stay on cloud services because we need to further limit the ciphers available on TLS (by updating registry settings on startup).  My understanding is this is not possible with web apps.
Going to VMs is not a great alternative, as we would have to start managing/patching the vms ourselves, which is one of the selling points for us to go to cloud services in the first place.
Will there be a path to upgrade on cloud services?

@AerisG222 You can do this with Azure App Service Environments (A premium service where you get the whole VM for all your web apps, mobile apps etc.)  See https://azure.microsoft.com/en-us/documentation/articles/app-service-app-service-environment-custom-settings/ fot limiting the ciphers for example.

Thanks for the pointer to the article, had not seen this before.

After going through the article and trying to test this out, I am now realizing that updating a regular web app to live within an 'app service environment' is significantly more expensive for our needs (low traffic / strong security requirements), especially when contrasting with what we are paying for Cloud Services today.
Given this, I believe we will have to stay on cloud services from a cost perspective and to meet the requirement of limiting ciphers.  This brings us back to the original question of whether there would be an upgrade path on cloud services?

to meet the requirement of limiting ciphers

Unfortunately, it looks like it will be a longstanding issue: Since Kestrel uses SslStream, which relies upon Schannel in Windows (https://github.com/aspnet/KestrelHttpServer/issues/1018), shared hosting of Cloud Services apps on a VM within Azure seems like it would be an intractable problem for them. If you really need the fine control over cipher suites (as I do! :smile: ), then you probably will need to move to full Azure VM's or follow @muratg's advice. Even when Kestrel gets standalone Internet-facing features (https://github.com/aspnet/KestrelHttpServer/issues/957), I don't expect this situation to change ... moving off of Schannel probably isn't a "feature" that Kestrel is going to get.

My $0.02 on why we want kestrel/.net core on Azure Web Roles: web roles are significantly cheaper than web apps
A2 Web Role : $145/month
S2 App Service: $181/month

@michaelaird VM's even cheaper.
A2 VM: $70/mo

True. I'm willing to pay a bit extra for package based deployments, a
slider to control scale, time of day auto scaling, etc. I don't understand
why websites cost more for less
On Wednesday, 17 August 2016, Murat Girgin<EMAIL_ADDRESS>wrote:

@michaelaird https://github.com/michaelaird VM's even cheaper.
A2 VM: $70/mo
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Home/issues/1698#issuecomment-240463150, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AANX6UnM0cC6IUAOij_-Hl74cU66YW9oks5qgzMigaJpZM4JY032
.

I also would like to see .Net Core on PaaS Cloud Services. Not sure why Azure is not developing this further, it is now quite annoying to see PaaS ignored by Azure. Why is it not on Resource Manager yet?
I do not want to run VMs which are a legacy out dated approach, App Service doesn't offer enough control and hide too much of the hardware specifics, CPU cycles matter. Cloud Services let me focus on my app with all the control I need, without caring about the OS, deployment and scale, best of both worlds. People should explore this a bit before just going with VMs.

So I take it this has not been revisited by anyone on any of the teams mentioned?

I've just blogged on how to do this (with VS tooling support!) here: https://oren.codes/2017/10/16/using-asp-net-core-with-azure-cloud-services/

Let us know your plans for Cloud Services Microsoft. Ideally make App Service price competitive.

Closing because this issue because it is not directly an issue about ASP.NET Core.
My personal feeling is that the added value of Azure Web Services is worth the extra cost, given how smoothly and automatically it works from within VS, all the great debugging and diagnostic features, etc.

Is there a place to open this issue for the azure sdk folks? I have a
feeling they’re going to say the issue is IIS support.
On Wed, Jul 11, 2018 at 5:15 PM Eilon Lipton<EMAIL_ADDRESS>wrote:

Closed #1698 https://github.com/aspnet/Home/issues/1698.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Home/issues/1698#event-1728359512, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AANX6SWnUi3h3eJcM-TNVLLU2o7qZlkOks5uFiS3gaJpZM4JY032
.

There are several different components to the Azure SDK, and you should be able to find them here: https://github.com/azure
If there's a specific one you can't find let me know and I'll see what I can dig up.


Unable to extract uploader id along with RegexNotFoundError. Do I need to install

H:>dir youtube-dl.exe
Volume in drive H is Charlie
Volume Serial Number is AAEE-1F7E
Directory of H:\vids\tate\misc
16/03/2023  21:36         8,170,320 youtube-dl.exe
1 File(s)      8,170,320 bytes
0 Dir(s)  868,754,944,000 bytes free
H:>
H:>youtube-dl -U
youtube-dl is up-to-date (2021.12.17)
H:>youtube-dl https://www.youtube.com/watch?v=bUZ6fpDDIQM
[youtube] bUZ6fpDDIQM: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type
youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
H:>youtube-dl --verbose https://www.youtube.com/watch?v=bUZ6fpDDIQM
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=bUZ6fpDDIQM']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.4.4 (CPython) - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-94664-g0821bc4eee, ffprobe N-94664-g0821bc4eee
[debug] Proxy map: {}
[youtube] bUZ6fpDDIQM: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type
youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 815, in wrapper
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 836, in __extract_in
fo
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 534, in extra
ct
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1794, in _re
al_extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 1012, in _sea
rch_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are us
ing the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
I've used it before.. I haven't used python in a while and maybe I don't have python properlry installed.. i'm not sure if i'm meant to have python 2.7? or python 3? or python anything? and in the path?
The way I downloaded youtube-dl  was I grabbed the exe file from under "releases"
Looking here http://ytdl-org.github.io/youtube-dl/download.html  the Windows EXE doesn't require python.. it should be integrated into it..
I've definitely got the VS 2010 redistributable installed, i've had it for a long while.. i'm a long time user of youtube-dl
see image of win7 programs and features, showing that installed. https://i.imgur.com/uuJzYaS.png
so i'm not sure where youtube-dl is having an issue.
Thanks

#30839 !
Look, here's a hint:

ERROR: Unable to extract uploader id; ...


plutus-tx: add TH to generate IsData instances

Comparatively straightforward, and gets rid of a lot of boilerplate.
Eventually we may want a version that takes an indexing function so you can ensure that the constructor <-> index matching stays the same when you refactor your types, but not today.

Eventually we may want a version that takes an indexing function so you can ensure that the constructor <-> index matching stays the same when you refactor your types, but not today.

Please don't forget to create a ticket for that.

What's the reason for TH instead of GHC.Generics?

Some of this has to run in Plutus Tx. This has two issues:

I'm not sure Generics works there (I think it does some stuff with type families that we don't support).
I don't think we want to encourage use of Generics on-chain as it will be slow.

Please don't forget to create a ticket for that.

I'm just going to do it now.

I added the indexed version, and put in explicit indices for all the standard multi-constructor types we generate instances for, so they should remain stable.


Digitalocean service

Create a service file in config folder for Digital Ocean file uploads

I am merging this so long, and then you can address the comments in a follow up.


feat(popover-edit): Test harness

Checking to see if this looks reasonable before I take the extreme step of verifying that it actually works.
Also fixed a potential bug in case of the edit template reference changing at runtime.

Closing due to inactivity - feel free to re-open a new PR if you feel like you'd like to land this


Synchronize RGB Hex values from official Nord palette

Align the ANSI and other iTerm2 colors to the Nord color palette.

The following values have changed in the iTerm2 Settings > Profiles >
Colors panel, noting changes in in colors:

Basic Colors
------------
- Foreground    (nord4): #d8dde8 -> #d8dee9
- Background    (nord0): #2e333f -> #2e3440
- Bold          (nord6): #eceef3 -> #eceff4
- Links         (nord5): #e5e8ef -> #e5e9f0
- Selection     (nord2): #4c5569 -> #434c5e
- Selected text (nord4): #d8dde8 -> #d8dee9
- Tab color     (nord1): #3b4151 -> #3b4252

Cursor Colors
-------------
- Cursor       (nord4): #d8dde8 -> d8dee9
- Cursor text  (nord1): #3b4151 -> #3b4252
- Cursor guide (nord2): #3b4151 -> #434c5e
                        (nord1)    (nord2)

ANSI Colors
-----------
- Normal Black     (nord1): #3b4151  -> #3b4252
- Bright Black     (nord3): #4c5569  -> #4c566a
- Normal Red      (nord11): #be6069  -> #bf616a
- Bright Red      (nord11): #be6069  -> #bf616a
- Normal Green    (nord14): #a3bd8b  -> #a3be8c
- Bright Green:   (nord14): #a3bd8b  -> #a3be8c
- Normal Yellow:  (nord13): #ebca8a  -> #ebcb8b
- Bright Yellow:  (nord12): #ebca8a  -> #d08770
                            (nord13)    (nord12)
- Normal Blue:     (nord9): #81a0c0  -> #81a1c1
- Bright Blue:    (nord10): #81a0c0  -> #5e81ac
                            (nord9)     (nord10)
- Normal Magenta: (nord15): #b48dac  -> #b48ead
- Bright Magenta: (nord15): #b48dac  -> #b48ead
- Normal Cyan:     (nord8): #88bfcf  -> #88c0d0
- Bright Cyan:     (nord7): #88bfcf  -> #8fbcbb
                            (nord8)     (nord7)
- Normal White:    (nord5): #e5e8ef  -> #e5e9f0
- Bright White:    (nord6): #eceef3  -> #eceff4

The cursor guide uses nord2 now to align with "currently active text
editor line."

For the ANSI colors, Blue and Cyan use the next accent level in Frost
for the respective bright colors. Using nord12 may be a stretch for
Bright Yellow, but it works well to leverage all colors in Aurora.

Closes: #15

I noticed the change from "Calibrated" to "sRGB" in the diff, which caused me to research this further.
According to https://github.com/mbadolato/iTerm2-Color-Schemes/issues/349#issuecomment-1053743408, the maintainer of iTerm2 recommends sRGB (P3 is not available until iTerm 3.5). Leaving it unspecified or explicitly  "Calibrated" is device-specific, which may render differently on other users' displays. By keeping it sRGB and having the RGB Hex values match, each display can calibrate against the sRGB standard values as needed.

I've updated the commit and included the text in the PR description to describe the details of the changes to help facilitate review and discussion.

Here is what the iTerm2 Colors settings look like with the changes in this PR.

Hi @ericvw :wave:, thanks for your contribution and the very detailed PR description and research :+1:
I could vaguely remember the topic about the color space (sRGB vs. Calibrated) and found a comment from myself in PR #8, which is still open.
Based on your research I'll revisit my findings about this topic, but the arguments of the iTerm2 author himself that you linked to is more or less the best source :smile:
I'll review this PR as soon as https://github.com/nordtheme/nord/issues/185 is completed which has the most priority right now to finalize the nordtheme organization migration as finally retire Arctic Ice Studio as Nord and personal brand.

Hi, can this be reviewed?

@ericvw I'm not an iTerm2 user (I don't have a Mac) but just wanted to say (belated) thank you for the clear PR and explanation text. This is useful for other terminal users.
You rock! 🏆

@ericvw I think the blue colors in your explanation are switched:

Normal Blue:     (nord9): #81a0c0  -> #81a1c1
Bright Blue:    (nord10): #81a0c0  -> #5e81ac
(nord9)     (nord10)

Taking your comments and placing them into Putty I get:

Switching the two blues I get:

Which I think is easier to read (see some of the directory names). Obviously, it's a personal opinion, so no wrong answers here :-). But thank you again for the notes.

@clach04, There is an interaction between the colors specified in the terminal emulator and those derived from dircolors, which affects the output of color-supported ls.
My attempt with the colors for iTerm2 was to have some differentiating colors between regular and bright blue; I don't have a strong opinion on which ones should be chosen. However, you bring up a good point that the terminal colors chosen should be in harmony with dircolors.
I believe my dircolors setup is based primarily on the Solarized project, which doesn't utilize many background colors for ls, which is why I have yet to come across blue text against a green background.

@ericvw yeah dir_colors is a whole minefield of its own, I've been putting off customizing this for a while :-)
When I'm assessing a theme for a terminal the first thing I check is text with pyshow_colors2.py script and then directory colors - before I get into tools like vim. It just so happened that the dircolors is what made be notice this initially
The big thing that convinced me they were reversed/switched was the little bar chart.
Here is the default Putty color scheme:

Note the bottom row is a lighter version of the darker top row.
For the Nord theme, blue is reversed:

That makes total sense @ericvw , that would be a lot of other changes!


MM-14478 Update documentation on AllowUntrustedInternalConnections

As discussed, this makes the setting sound less immediately scary, but instead of just rewriting the docs, I replaced most of the text with a link to them.
Ticket Link
https://mattermost.atlassian.net/browse/MM-14478
Checklist

Has UI changes
Includes text changes and localization file (.../i18n/en.json) updates

Whoops. Good catch


Replace "help" with "guides"

I noticed that the index.rst still mentioned "help" and I wanted to update just that listing, but then I noticed that :help: is used pervasively throughout the guides. Happy to close this if this is considered confusing, but I'd rather not take on getting rid of :help: at the moment.

replaced by #2372


Polymorphism and implicit casting support

Implicit casting is not always done correctly for scalar types. This goes hand in hand with polymorphic function implementation - if the argument type is not inferred correctly, the wrong function is called or a function may not even be found.
Tests test_edgeql_functions_sum_02 and test_edgeql_functions_sum_03 highlight this problem.

Fixed.


Reframework not initialising on direct x 12 or direct x 11.

When I try and play re2 with reframework it crashes after the capcom splash screen and the log says that it couldn't initialise on direct x 11 or 12. I'm also having an issue with re7 where it can't find a update transform pattern or something like that

Post your re2_framework_log.txt

re2_framework_log.txt
re2_framework_log.txt
my apologies for not uploading these in my initial post here you go

I don't have a pirated copy to even attempt to fix this, so this is a wontfix from me.


Test acting on the results of coverage.

Looks like EmitText.brackets is currently never used.

Thanks @aantron. Cleaning up unreacheable code based on coverage stats.


Finish the rapsberry pi install instructions

Hi there, great project and I would love to contribute a Goodwe backend for this.
However, I would like to run this on bare metal linux rather than in a docker contrainer. Would it be possible to finish the manual install instructions in the readme? I assume the installation instructions on raspberry would mostly translate to other linux distributions as well.

Just partially (and poorly) answer my own question, I can get Sunalyzer to run well enough on debian to develop on with the following commands:
$ apt install git python3-pip
$ git clone https://github.com/BorisBrock/Sunalyzer.git
$ cd ./Sunalyzer
$ pip install -r requirements.txt
$ mkdir data
$ cp templates/config.yml data/
$ python3 backend/grabber.py &
$ python3 backend/server.py &

Hi @rlagerweij,
Sunalyzer does not need much to run. As you have already figured out, it basically requires Python 3 and some dependencies, that can be installed by using pip. After that you may need to edit the config file. Then just start the grabber and the server.
So was what you wrote above should work :+1:


Unable to connect to container Mongo DB within Visual Studio Code?

Hello,
Apologies if this has already been covered, I could not see this in any prior issues that I came across. I've just setup a new Node.js & Mongo DB development container as it seems like a fantastic feature (learned about it in a recent Microsoft Developer session)! I hope we'll see more projects featuring this in the future.
To the actual problem: Using the included MongoDB extension for VSC while using this development container, it cannot seem to reach the MongoDB server running in the container.
Specifically, it hangs at the connection setup wizard like so:

Now I have forwarded the mongodb port via devcontainer.json (though I am not sure if this is needed, since shouldn't this be taking place inside the container's network?) and can see that it's running through netstat:
node ➜ /workspace (main ✗) $ netstat -tulnp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 <IP_ADDRESS>:34723        <IP_ADDRESS>:*               LISTEN      -
tcp        0      0 <IP_ADDRESS>:27017           <IP_ADDRESS>:*               LISTEN      -
tcp6       0      0 :::33885                :::*                    LISTEN      144/node
udp        0      0 <IP_ADDRESS>:33186        <IP_ADDRESS>:*                           -
node ➜ /workspace (main ✗) $

Meanwhile, it connects just fine in Mongo Compass running on my local computer:

This is with the exact same connection string as well (picked up from mongosh in the container).
Now I'm not exactly sure if this is an issue with the extension, or with the container itself (as this is my first time using a dev container), but I figured since it's bundled with this container it was worth bringing up.

VSCode Version: 1.61.2
Local OS Version: EndeavourOS (Arch Linux Derivative)
Reproduces in: <Remote - Containers>
Name of Dev Container Definition with Issue: Node.js & Mongo DB

Steps to Reproduce:

Create a new Node.js & Mongo DB container within Visual Studio Code
When either prompted by the Mongo extension to add a connection, or by activating the menu via the Mongo extension on the sidebar, attempt to connect either with a connection string after running mongosh in the container terminal, or click "Advanced Connection Settings" -> "Open form" and use the defaults.

If any further information is required, I'd be happy to provide it!
And a personal thanks from me, for helping make VSCode one of the most intuitive development environments.

Hmmm. Not quite sure what might be happening if you're using the definition without modifications.  I do not have that exact Linux distro, but my Ubuntu and Debian machines are working as is macOS. I assume you're also using visual-studio-code-bin out of AUR (or using just the official .tgz binaries) for VS Code?
There was another report about Arch (https://github.com/microsoft/vscode-dev-containers/issues/1054) that also has not appeared elsewhere that I suspected was some sort of configuration nuance with Docker itself or a missing package given there's no official Docker Arch packages. Unfortunately, I do not have a great suggestions for triaging.

Oh one possibility that could be missing is that extensions that store passwords often use libsecret on Linux. Typically that means you have to have gnome-keyring installed as well. If you're running another desktop environment, that could be causing the extension to error.

Thanks for getting back to me! So I actually do have Gnome 40 installed, along with libsecret 0.20.4-1 installed, and visual-studio-code-bin is what I am using as well (by the way, since its in the AUR I'm not sure if Microsoft is pushing it to the AUR, or just a kind contributor, but either way I'm incredibly glad its there!)
All of the the docker components actually are working quite perfectly, it just seems to be the Mongo extension that does not work with it, which since I can use Mongo Compass to manage the database I do have options, though I do believe having VSCode integration would make the project more portable to those who want to contribute or try it out locally. Though, I did notice that because the extension is stuck attempting to connect, it tends to break most of the functionality of vscode, I can't reload the window, close out of the window, etc it needs to be force quit with killall code.
I did think that there was a possibility the keyring wasn't unlocked, since I sign into my desktop using a Yubikey which means the keyring isn't unlocked until I open an application that requires it (Such as Element, Calendar, 1Password, etc) - I just checked to make sure the keyring is unlocked, and it is.
I also tried to grab the flatpak version of VSCode however when trying to open the project folder in a container I get "Docker version 17.12.0 or later is required." even though I have Docker version 20.10.10, build b485636f4b installed - I am going to assume this is a sandboxing limitation/nature of Flatpaks that are causing this though.

Resurrecting an older topic, but as I ran into the same problem today and this was about the only source I found, my own findings might be helpful to others.
The key seems to be that the MongoDB Extension running from VS Code inside a devcontainer does not know how to find and connect to localhost:27017. This is probably due to the fact that the database is running in a different container and localhost resolves to the current one you are developing in.
What I had to do was to set the port inside devcontainer.json in the format ":" like this:
"forwardPorts": ["db:27017"]
This allows me to then connect inside VS Code to "db:27017" instead of "localhost:27017". This way, you will see the port inside the port list in VS Code and then MongoDB for VS Code works like it should.
At this point, I can connect via MongoDB Compass as "localhost:27017" and via VS Code as "db:27017". Kind of a brain twister it seems, but as soon as VS Code knows where to resolve the port to, everything seems fine.


Renaming does not apply to equipped spectre

This is intended and expressly forbidden by Jagex's third party clients statement.

I don't believe this is against TOS anymore. According to their newly updated guidelines.
https://secure.runescape.com/m=news/third-party-client-guidelines?oldschool=1

Yes with the updated guidelines I have already added it to the plugin. It should already be an option on your version. Please note also that I renamed the plugin to "Easy Teleports", if you are looking for it in your plugin list.
If it is not working on the equipment screen for you, please let me know.


EISDIR: symlink from symlink of directory with trailing '/' has issues

A brief description
the following, fails in node on WSL (both not other Ubuntu/OSX)
fs.mkdirSync('out/foo');
fs.writeFileSync('out/foo/bar.txt', 'hi');

fs.symlinkSync(fs.realpathSync('out/foo/'), 'out/bar');
fs.symlinkSync(fs.realpathSync('out/bar/') + '/', 'out/baz'); // the trailing slash here triggers the issue

console.log('out/foo/bar.txt', fs.readFileSync('out/foo/bar.txt', 'UTF8'));
console.log('out/bar/bar.txt', fs.readFileSync('out/bar/bar.txt', 'UTF8'));
console.log('out/baz/bar.txt', fs.readFileSync('out/baz/bar.txt', 'UTF8')); // <-- throws  EISDIR

runnable example: https://github.com/stefanpenner/random/blob/master/strange-symlink-issue/index.js
Expected results
hi
hi
hi

Actual results (with terminal output if applicable)
out/foo/bar.txt hi
out/bar/bar.txt hi
fs.js:655
  var r = binding.read(fd, buffer, offset, length, position);
                  ^
Error: EISDIR: illegal operation on a directory, read
    at Object.fs.readSync (fs.js:655:19)
    at tryReadSync (fs.js:456:20)
    at Object.fs.readFileSync (fs.js:493:19)
    at Object.<anonymous> (/home/sam/src/stefanpenner/random/strange-symlink-issue/index.js:27:35)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)

Your Windows build number
14393
Steps / All commands required to reproduce the error from a brand new installation
run  https://github.com/stefanpenner/random/blob/master/strange-symlink-issue/index.js in node
Strace of the failing command
fs.js:655
  var r = binding.read(fd, buffer, offset, length, position);
                  ^
Error: EISDIR: illegal operation on a directory, read
    at Object.fs.readSync (fs.js:655:19)
    at tryReadSync (fs.js:456:20)
    at Object.fs.readFileSync (fs.js:493:19)
    at Object.<anonymous> (/home/sam/src/stefanpenner/random/strange-symlink-issue/index.js:27:35)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)

Related:

ember-cli issue: https://github.com/ember-cli/ember-cli/issues/6338
symlink work-around: https://github.com/broccolijs/node-symlink-or-copy/pull/29

Hi @stefanpenner , thanks for reporting this!  This sounds like an example of #650 , which was fixed in Insider build 14905 (which is newer than the current stable Windows release).
If you're willing to install an Insider build, could you test this issue out and see if it's still a problem?  If you think it's a new issue, could you please provide more specifics?

If you're willing to install an Insider build, could you test this issue out and see if it's still a problem?

Sure, downloading the insider stuff now.

yup, latest WSL seems to have addressed this.


Horizontal regions in GTC

Description
Implementation of horizontal regions in GTC backends.

Deprecated in favor of #681.


Container cannot send outbound traffic

Output of docker version:
Docker version 1.12.1, build 23cf638

Output of docker info:
Containers: 11
 Running: 11
 Paused: 0
 Stopped: 0
Images: 54
Server Version: 1.12.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 483
 Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: host null bridge overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 3.13.0-93-generic
Operating System: Ubuntu 14.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.797 GiB
Name: ip-10-172-84-142
ID: C7P2:6MGV:YB4D:Q5VW:C6WM:DCKY:5TWT:CICU:RJSL:XVF5:QRZD:ACP5
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):

AWS EC2 instance

Steps to reproduce the issue:

SSH into the container
Run apt-get update

Describe the results you received:
We are finding containers that have no outbound traffic. For this issue specifically, we are using a private splunk-forwarder image that is run on a few hundred instances and we've thought to have been working flawlessly until recently, where we found a few that are not sending out logs.
We are able to ssh into the container and it shows that it is responsive, however we are unable to run any command that requires outbound traffic, like apt-get update.
Running apt-get update gives:
root@applogs-eu-west-1-prod:/# apt-get update
0% [Connecting to archive.ubuntu.com]

We tried modifying the /etc/hosts file to resolve the DNS to a current good IP and that yields the same results:
root@applogs-eu-west-1-prod:/# apt-get update
0% [Connecting to archive.ubuntu.com (<IP_ADDRESS>)]

The kern.log on the container shows these logs repeating every 30 minutes since boot:
Aug 25 11:00:01 ip-10-172-84-142 kernel: [306067.586148] device veth6b577c7 entered promiscuous mode
Aug 25 11:00:01 ip-10-172-84-142 kernel: [306067.586301] IPv6: ADDRCONF(NETDEV_UP): veth6b577c7: link is not ready
Aug 25 11:00:01 ip-10-172-84-142 kernel: [306067.672648] IPv6: ADDRCONF(NETDEV_CHANGE): veth6b577c7: link becomes ready
Aug 25 11:00:01 ip-10-172-84-142 kernel: [306067.672689] docker0: port 3(veth6b577c7) entered forwarding state
Aug 25 11:00:01 ip-10-172-84-142 kernel: [306067.672694] docker0: port 3(veth6b577c7) entered forwarding state
Aug 25 11:00:01 ip-10-172-84-142 kernel: [306068.325639] docker0: port 3(veth6b577c7) entered disabled state
Aug 25 11:00:01 ip-10-172-84-142 kernel: [306068.326682] device veth6b577c7 left promiscuous mode
Aug 25 11:00:01 ip-10-172-84-142 kernel: [306068.326693] docker0: port 3(veth6b577c7) entered disabled state
Aug 25 11:30:01 ip-10-172-84-142 kernel: [307868.211348] device vethdf6be1f entered promiscuous mode
Aug 25 11:30:01 ip-10-172-84-142 kernel: [307868.211497] IPv6: ADDRCONF(NETDEV_UP): vethdf6be1f: link is not ready
Aug 25 11:30:01 ip-10-172-84-142 kernel: [307868.312699] IPv6: ADDRCONF(NETDEV_CHANGE): vethdf6be1f: link becomes ready
Aug 25 11:30:01 ip-10-172-84-142 kernel: [307868.312740] docker0: port 3(vethdf6be1f) entered forwarding state
Aug 25 11:30:01 ip-10-172-84-142 kernel: [307868.312746] docker0: port 3(vethdf6be1f) entered forwarding state
Aug 25 11:30:02 ip-10-172-84-142 kernel: [307868.996740] docker0: port 3(vethdf6be1f) entered disabled state
Aug 25 11:30:02 ip-10-172-84-142 kernel: [307868.999081] device vethdf6be1f left promiscuous mode
Aug 25 11:30:02 ip-10-172-84-142 kernel: [307868.999094] docker0: port 3(vethdf6be1f) entered disabled state

Other containers on the same instance are working just fine, its just the two that are running our splunk-forwarder private image. We thought about if it might be the image, but this same image runs and works 99% of the time on other instances built with the same overall configuration.
Stopping, removing, and recreating the container resolves the issue.
We are now, however, concerned that this behavior is repeating itself in other containers without our knowledge.
Describe the results you expected:
Network outbound traffic should be possible.
Additional information you deem important (e.g. issue happens only occasionally):
We are not sure if the container can receive inbound traffic either, but we can exec into it. The container is built minimalistically, so the tools are unavailable on the current image.

To get more tools you can do docker run --net=container:xxxx debian bash where xxxx is the container you want to investigate. Then you run in the same network namespace, which should have the same routing issues but you have more tools.

Thanks @justincormack but the issue is not easily reproducible. It happens for reasons unknown at this point and we would need to have the tools as we exec into a problem container rather than running a new container with the tools because when we run the new container, changes are it wont have the same problem.

It should have the same problem if it is in the same network namespace.
Those logs normally mean a container has exited or been restarted. It would probably help to dump the state of the routing table in and outside of the container and iptables setup at the point where there is an issue.

Hmm thats not the behavior we are seeing-- stopping, removing and recreating the same container with the same docker run command fixes the issue.
This service was a pretty critical logging service for us, so we worked around the problem by running --net=host for these containers. If we see this happen again on another container, we'll try to grab the iptables setup. Depending on the image though, the container might not have iptables installed, however, on the host, we can definitely grab those.

Hey @justincormack, found an old instance with the issue and ran the command you suggested. Can confirm that the new container is having the same trouble, since as you said, its running in the same network namespace. Awesome!

Thoughts?

@djenriquez When the problem happens can we rule out DNS by pinging from inside the container to some external IP like say <IP_ADDRESS>? Also a iptables -t nat -L to see what the nat rules are would be helpful.

@mrjana:
root@applogs-eu-west-1-prod-infospace:/# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
^C
--- <IP_ADDRESS> ping statistics ---
32 packets transmitted, 0 received, 100% packet loss, time 31020ms

root@applogs-eu-west-1-prod-infospace:/# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DOCKER_OUTPUT  all  --  anywhere             <IP_ADDRESS>

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
DOCKER_POSTROUTING  all  --  anywhere             <IP_ADDRESS>

Chain DOCKER_OUTPUT (1 references)
target     prot opt source               destination
DNAT       tcp  --  anywhere             <IP_ADDRESS>           tcp dpt:domain to:<IP_ADDRESS>:42072
DNAT       udp  --  anywhere             <IP_ADDRESS>           udp dpt:domain to:<IP_ADDRESS>:53036

Chain DOCKER_POSTROUTING (1 references)
target     prot opt source               destination
SNAT       tcp  --  <IP_ADDRESS>           anywhere             tcp spt:42072 to::53
SNAT       udp  --  <IP_ADDRESS>           anywhere             udp spt:53036 to::53

The iptables command took a few seconds to complete, is that normal?

@djenriquez Sorry if I did not specify exactly where to dump the iptables. Can you dump iptables -t nat -nvL on the host namespace?

@mrjana On the host:
root@ip-10-172-10-197:/home/ubuntu# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 442K packets, 29M bytes)
 pkts bytes target     prot opt in     out     source               destination
  72M 4339M DOCKER     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ADDRTYPE match dst-type LOCAL
   37  2220 DNAT       tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>        tcp dpt:80 to:<IP_ADDRESS>:51679

Chain INPUT (policy ACCEPT 2 packets, 128 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 739K packets, 47M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DOCKER     all  --  *      *       <IP_ADDRESS>/0           !<IP_ADDRESS>/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT 821K packets, 53M bytes)
 pkts bytes target     prot opt in     out     source               destination
 809K   50M MASQUERADE  all  --  *      !docker0  <IP_ADDRESS>/16        <IP_ADDRESS>/0
    0     0 MASQUERADE  tcp  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>           tcp dpt:8080
    0     0 MASQUERADE  tcp  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>           tcp dpt:8080
    0     0 MASQUERADE  tcp  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>           tcp dpt:80
    0     0 MASQUERADE  tcp  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>           tcp dpt:8082
    0     0 MASQUERADE  tcp  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>           tcp dpt:8082
    0     0 MASQUERADE  tcp  --  *      *       <IP_ADDRESS>          <IP_ADDRESS>          tcp dpt:8082
    0     0 MASQUERADE  tcp  --  *      *       <IP_ADDRESS>          <IP_ADDRESS>          tcp dpt:8082
    0     0 MASQUERADE  tcp  --  *      *       <IP_ADDRESS>          <IP_ADDRESS>          tcp dpt:8082
    0     0 MASQUERADE  tcp  --  *      *       <IP_ADDRESS>          <IP_ADDRESS>          tcp dpt:8082

Chain DOCKER (2 references)
 pkts bytes target     prot opt in     out     source               destination
  385 24921 RETURN     all  --  docker0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
 235K   14M DNAT       tcp  --  !docker0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:32769 to:<IP_ADDRESS>:8080
86172 5170K DNAT       tcp  --  !docker0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:32771 to:<IP_ADDRESS>:8080
    0     0 DNAT       tcp  --  !docker0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:32772 to:<IP_ADDRESS>:80
  13M  750M DNAT       tcp  --  !docker0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:32788 to:<IP_ADDRESS>:8082
4337K  260M DNAT       tcp  --  !docker0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:32789 to:<IP_ADDRESS>:8082
1342K   81M DNAT       tcp  --  !docker0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:32791 to:<IP_ADDRESS>:8082
1199K   72M DNAT       tcp  --  !docker0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:32793 to:<IP_ADDRESS>:8082
 423K   25M DNAT       tcp  --  !docker0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:32795 to:<IP_ADDRESS>:8082
 423K   25M DNAT       tcp  --  !docker0 *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:32796 to:<IP_ADDRESS>:8082

And just incase you wanted me to run that in the container network namespace also:
root@applogs-eu-west-1-prod-<REDACTED>:/# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 53000 packets, 4901K bytes)
 pkts bytes target     prot opt in     out     source               destination
26496 2451K DOCKER_OUTPUT  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>

Chain POSTROUTING (policy ACCEPT 79496 packets, 7352K bytes)
 pkts bytes target     prot opt in     out     source               destination
26496 2451K DOCKER_POSTROUTING  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>

Chain DOCKER_OUTPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>           tcp dpt:53 to:<IP_ADDRESS>:42072
26496 2451K DNAT       udp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>           udp dpt:53 to:<IP_ADDRESS>:53036

Chain DOCKER_POSTROUTING (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 SNAT       tcp  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>/0            tcp spt:42072 to::53
    0     0 SNAT       udp  --  *      *       <IP_ADDRESS>           <IP_ADDRESS>/0            udp spt:53036 to::53

@mrjana i think I've root caused the issue here.

Closing as duplicate of https://github.com/docker/docker/issues/26391#issuecomment-245421784 per the above comment


[TypeChecker] NFC: Adjust "too complex" error position of rdar://problem/20859567 perf test

"Expression is too complex" error is reported on print call.

@swift-ci please smoke test and merge


Fix AddImport to handle static method imports better

This PR adds logic to correctly find method invocations in a compilation unit that belong to a statically imported class/method.

Great work @tkvangorder !


Incomplete call stack when raise from

My code is chaining exceptions but the debugger doesn't show the entire stack including the chained exception's

Transferring to debugpy, since we don't handle this.


The plugin fails on iOS 8.4.1

After iOs 8.4.1 this friday FastClick are not working properly

Links are not reacting at all. I I add a z-index on or remove fastclick it start working again.

Experiencing the same, removing fastclick helps

Yes but thats not a solution.
Med Venlig Hilsen
Christian Dilling-Hansen

Den 18/08/2015 kl. 09.30 skrev Snorre Lothar von Gohren Edwin<EMAIL_ADDRESS>Experiencing the same, removing fastclick helps
—
Reply to this email directly or view it on GitHub.

Nope its not the perfect solution. But this plugin is a hack anyways. And if it would have been important, Apple would have considered it.

Ok are there any alternatives
Med Venlig Hilsen
Christian Dilling-Hansen

Den 18/08/2015 kl. 10.17 skrev Snorre Lothar von Gohren Edwin<EMAIL_ADDRESS>Nope its not the perfect solution. But this plugin is a hack anyways. And if it would have been important, Apple would have considered it.
—
Reply to this email directly or view it on GitHub.

Hi all,
I'm not seeing this on 8.4.1, nor have we heard much about this more widely.  Do you see the problem on http://ftlabs.github.io/fastclick/examples/layer.html ?

Experiencing the same, a links with hash not react at all.

@dsonet including on that example page, or in your own project?

Had the same issue here. Fastclick in an angularJS project. The example above works though.
Setting the z-index to 0 on all clickable links fixed the issue for almost all links. Updating to 1.0.6 (up from 1.0.2) fixed it for all links. An angularJS css rule would look like this:
[ng-click] {
z-index: 0;
}
Sure, thats a hack and I don't know why it fixes it. But works at least.

If it's only in combination with some other factors that explains why I couldn't reproduce it.
@noerdar @snorlock @dsonet also using angular?  Anyone got an example affected site?

Unfortunately my site is behind a login and will be fixed in some minutes. Sorry!
One additional note: removing fastclick from the project fixed the issue too (but that "fix" was obviously not really a viable option)

I have the site mtest2.gearspot.dk from before the fix i think the error is there
Med Venlig Hilsen
Christian Dilling-Hansen

Den 19/08/2015 kl. 10.55 skrev Rowan Beentje<EMAIL_ADDRESS>If it's only in combination with some other factors that explains why I couldn't reproduce it.
@noerdar @snorlock @dsonet also using angular? Anyone got an example affected site?
—
Reply to this email directly or view it on GitHub.

@noerdar Thanks - looks like it wasn't enabled, so I tried a FastClick.attach(document.body) once the page has loaded, and can now reproduce the issue.  I then tried pulling in https://cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.js and did an .attach(document.body) with that version, and everything started working - can I ask what version you're using?

1.0.1
Med Venlig Hilsen
Christian Dilling-Hansen

Den 19/08/2015 kl. 14.38 skrev Rowan Beentje<EMAIL_ADDRESS>@noerdar Thanks - looks like it wasn't enabled, so I tried a FastClick.attach(document.body) once the page has loaded, and can now reproduce the issue. I then tried pulling in https://cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.js and did an .attach(document.body) with that version, and everything started working - can I ask what version you're using?
—
Reply to this email directly or view it on GitHub.

Thanks for confirming!  So 1.0.6 definitely fixes this, and I think 1.0.4 would as well.  Think we can close this now - upgrade away :)

Yes thx
Med Venlig Hilsen
Christian Dilling-Hansen

Den 19/08/2015 kl. 21.05 skrev Rowan Beentje<EMAIL_ADDRESS>Thanks for confirming! So 1.0.6 definitely fixes this, and I think 1.0.4 would as well. Think we can close this now - upgrade away :)
—
Reply to this email directly or view it on GitHub.

I think it comes from this error, ref this page https://support.apple.com/en-us/HT205030:
WebKit
Available for: iPhone 4s and later, iPod touch (5th generation) and later, iPad 2 and later
Impact: A malicious website can make a tap event produce a synthetic click on another page
Description: An issue existed in how synthetic clicks are generated from tap events that could cause clicks to target other pages. The issue was addressed through restricted click propagation.
CVE-ID
CVE-2015-5759 : Phillip Moon and Matt Weston of Sandfield
@rowanbeentje

Upgraded to version 1.0.6 and the issue disappears
Med Venlig Hilsen
Christian Dilling-Hansen

Den 19/08/2015 kl. 22.16 skrev Snorre Lothar von Gohren Edwin<EMAIL_ADDRESS>I think it comes from this error, ref this page https://support.apple.com/en-us/HT205030:
WebKit
Available for: iPhone 4s and later, iPod touch (5th generation) and later, iPad 2 and later
Impact: A malicious website can make a tap event produce a synthetic click on another page
Description: An issue existed in how synthetic clicks are generated from tap events that could cause clicks to target other pages. The issue was addressed through restricted click propagation.
CVE-ID
CVE-2015-5759 : Phillip Moon and Matt Weston of Sandfield
@rowanbeentje
—
Reply to this email directly or view it on GitHub.

@Snorlock I took that to be the fix for the issue where a real click is triggered on the next page by the original click event (also fixed for iOS 9, yay).  But I suspect the custom-targetting fix for https://github.com/ftlabs/fastclick/pull/344 is what fixed this so quite possibly related!

I just upgraded to 1.0.6 and then all works again on my site m.gearspot.dk
Med Venlig Hilsen
Christian Dilling-Hansen

Den 19/08/2015 kl. 23.00 skrev Rowan Beentje<EMAIL_ADDRESS>@Snorlock I took that to be the fix for the issue where a real click is triggered on the next page by the original click event (also fixed for iOS 9, yay). But I suspect the custom-targetting fix for #344 is what fixed this so quite possibly related!
—
Reply to this email directly or view it on GitHub.

we  meet the same problem, and use hack way to fix it . thanks

I'm so lucky that I have 2 remote .js files in my cordova-app. I could overwrite the previous fastclick-version without updating. Injected fastclick into my language file :D
This is a good workaround, thanks for fixing this urgent problem!!!!


A few changes for better readability

Hello,
Thanks for your contribution.
I'll merge your pull if it doesnt break the new branch. It shouldn't be a problem.


Creating light components

The proposal for light components. Light components are even lighter than function components. They don't accept props. They don't have states. They are just a simple JSX constant/variable that can be rendered like a normal component using <LightComponent />.

@slorber, assume you write this code:
import { SetPrice } from "pricing"
import { Images } from "media"
import { Categories } from "taxonomy"

const entityActions = <>
    <SetPrice />
    <Images />
    <Categories />
</>

The point is, how do you know which is a simple JSX and which is a function component?
The above code would throw an exception if:
const SetPrice = <EntityAction
    title="Set price"
    dialog={PriceDialog}
/>

export default SetPrice

and
const Images = () => {

    const { entity } = useContext(EntityContext)

    return <EntityAction
        title="Manage images"
        link={`/media/images?entity=${entity.id}`}
    />
}

export default Images

and
class Categories extends React.Component {
  render() {
    return <EntityAction
        title="Manage categories"
        link={`/category/manage?entity=${entity.id}`}
    />
  }
}

export default Categories

See the difference?
A developer does not need to look into the source of a third-party library (or libraries from other team members) to change its syntax for function components or class components.
However, in the case between a JSX and a component, the rendering syntax is different. This means that the developer should know the internals of another library to change the rendering syntax.
It even gets worse for refactoring. When a component needs to become more complex and changes from a simple JSX into a function component, then you should see failure across any place that has used it as {SomeCompnent} and manually change them all to <SomeComponent />.

It's unclear what's the point of allowing this instead of just {LightComponent}

@slorber two points:

No need to know the internals of exports of a third-party library (or a team-mate's module) to change the rendering syntax
No need to change the rendering syntax in case of a refactor

I understand the consistency usage, but still think it's a feature for the developer to have to understand what is constant and what is dynamic on the call site.

how do you know which is a simple JSX and which is a function component?

TypeScript?

It even gets worse for refactoring. When a component needs to become more complex and changes from a simple JSX into a function component, then you should see failure across any place that has used it as {SomeCompnent} and manually change them all to .

If a JSX constant becomes a React component, I actually want to know about it and refactor all the call sites that assumed it was constant.
If that refactor happens, there are probably props to add to that component anyway, otherwise why would you transition them from constant element to component? The only case I can see is if all the props you add are optional, but again I'll probably want to double-check all the call sites.

Thanks for the proposal! I don't think we're likely to proceed with this RFC. As @slorber already noted, this use-case can be achieved by assigning JSX to a constant. Or, just defining a function component that returns static JSX. React Compiler will already optimize such a component so that the JSX content is created once per instance, and we will likely explore an optimization that hoists the static JSX out of the component to make it equivalent to
function Component() {
  return element;
}

If that refactor happens, there are probably props to add to that component anyway, otherwise why would you transition them from constant element to component?

@slorber, Contexts. The constant is changed into a component, but the dynamic props are taken from a higher context.
This code (taken from our real codebase):
import AdminPanelSettingsIcon from "@mui/icons-material/AdminPanelSettings"
import { EntityAction } from "List"
import RolesDialog from "./Dialog"

const ManageRoles = <EntityAction
    title="AccountsManageRoles"
    icon={AdminPanelSettingsIcon}
    dialog={RolesDialog}
/>

export default ManageRoles

Becomes this code:
import { useContext } from "react"
import AdminPanelSettingsIcon from "@mui/icons-material/AdminPanelSettings"
import { EntityContext } from "Contexts"
import { EntityAction } from "List"
import RolesDialog from "./Dialog"

const ManageRoles = () => {

    const { entity } = useContext(EntityContext)

    return <EntityAction
        title="AccountsManageRoles"
        icon={AdminPanelSettingsIcon}
        goTo={`/roles?entityType=${entity?.relatedItems?.entityType}&entityGuid=${entity?.guid}&pet=${entity?.relatedItems?.entityType}&pid=${entity.id}`}
    />
}

export default ManageRoles

As you can see, in both cases we can call it without props. <ManageRoles />.
And with all due respect, in a refactor the ultimate skill is to change the internals without changing the externals. Change in externals is not refactoring, it's redefining contracts.
A simple search related to refactoring shows that. We can find it in Wikipedia too:

code refactoring is the process of restructuring existing source code—changing the factoring—without changing its external behavior.

@slorber, thank you for mentioning the TypeScript. I see that it indeed helps to find out the problem while developing. Yet for a lot of reasons many teams don't use TypeScript.

@josephsavona, thank you for responding. Facebook created React and as once claimed in the original legacy docs:

At Facebook, we use React in thousands of components, and we haven’t found any use cases where we would recommend creating component inheritance hierarchies.

This was a very unique way of claiming that we know it better, OK?. And it was true. You guys knew it better. To the extent that many people including me left Angular altogether and migrated to React.
Yet the point is that while you know it better in general, you don't know everything.
Thousands of projects are built upon React, and none has come to our request. Why? Because they are not this dynamic. If you consider my other proposal (React reflection) you realize that our use cases are here because we go to extremes.
You see, we have built an SPL. This means that we create thousands of applications using this meta-framework (built upon other frameworks like yours). While it's not fair to Next.js, to understand the point you can compare us to it for example.
As an example. consider this form (real code) in `/Blog/Post/Form.jsx:
import {
    DialogForm,
    LongText,
    Slug,
    Title,
} from "Form"
import AuthorField from "../Author/Field"

const inputs = <>
    <Title />
    <Slug />
    <LongText
        placeholder="InfraSummary"
        property="Summary"
    />
    <AuthorField />
</>

const PostForm = <DialogForm
    entityType="BlogPost"
    help="PostForm"
    humanReadableEntityType="BlogPost"
    inputs={inputs}
/>

export default PostForm

These are all injected dynamically into this form (and hundreds of other forms):
1- Action buttons (save + cancel)
2- Title
3- i18n & l10n
4- Validation (save button is not active until form becomes valid)
5- UX (no layout shift, the first field gets focused when the dialog opens, prevents and warns about unsaved data on navigation, detecting when the form becomes dirty )
6- CRUD and API communication (including form mode for creation and edition)
7- Managing each field (initial value, current value, is dirty, is changed, is valid, ...)
We have seen a lot of other solutions built upon React. None comes close to this level in terms of being dynamic. Therefore we encounter problems that others have not encountered.
You have thousands of components, and we also have thousands of them (2273 at this moment). So we do suffer when we change a constant JSX into a component (to make it internally dynamic) and we have to change hundreds of other components manually. This is a true pain. It doesn't show itself for a simple web app with at most 100 components. Especially when they are all loaded in the same VS Code instance. But our components are spread across more than 100 modules each in a different Git repository. We're even more extended than Next.js because it's just a meta-framework, while we are a meta-framework + a lot of pre-built modules like Blog, Products, Orders, Shipment, Settings, Dashboards, Reporting, Units, Social, Tasks, etc.
Sometimes a change does not take that much on your side. If this change does not take that much, please do us a favor and consider it. If it takes much time, then drop it.

Here is a suggestion for you: write a custom Babel plugin that automatically adds () => to all top level variables containing only JSX and whose name starts with a capital letter (turning JSX constants to function components). This way you will get your desired API without having to change React in any way, and you get more control over it if needed in the future.
Assuming your build process already uses Babel, I found it actually surprisingly easy to write custom babel plugins, here is an example wrapping all function components with observer (from MobX), as I found it too annoying to do it by hand: https://github.com/guillaumebrunerie/LD56/blob/main/tools/babel-plugin-auto-observe.js

@guillaumebrunerie, thank you for the suggestion. We use Vite. Thus I think we should try creating plugins for esbuild. However, two points come to my mind that may not make this solution successful:

When we get errors, the error messages do not match the original code (because we have changed the original code on the fly before giving it to the compiler)
It's not just top-level JSX variables/constants. They sometimes go deeper. This becomes very tedious to find out all instances of them.

@guillaumebrunerie, thank you for the suggestion. We use Vite. Thus I think we should try creating plugins for esbuild.

The project I shared above uses Vite as well and it wasn't a problem.

However, two points come to my mind that may not make this solution successful:

When we get errors, the error messages do not match the original code (because we have changed the original code on the fly before giving it to the compiler)

Babel plugins automatically generate source maps, so you should see your original code (at least it seems to be so for me).

It's not just top-level JSX variables/constants. They sometimes go deeper. This becomes very tedious to find out all instances of them.

It's actually the opposite, by default Babel traverses the whole AST, so you automatically get all variables in nested scopes as well (whether you actually want to define nested function components is another question).

@guillaumebrunerie, thank you. I give it a try.

@Nefcanto Couldn't you use a custom jsx function?
https://esbuild.github.io/content-types/#using-jsx-without-react
In this function you could detect the first argument, if it is not a string or function you can wrap it in a function.

@EECOLOR, I read the link you sent, but it clearly says that those functions are good for when we use JSX outside React. Maybe by changing them other problems get into the scene.

@Nefcanto I don't see how there are problems replacing those functions with wrappers. Unless you implement them wrong, but you can create tests if you want to be more confident.
This is generic code of a wrapper:
function wrapper(...args) {
  // customization here
  return original(...args)
}

If you want more performance and better readability you specify the arguments.


Issue856 - form fixes

Overview
This PR includes the following proposed change(s):

[x] move "check form for errors" and "copy form data" buttons to the bottom of the form (FYI we will be adding 1-2 additional buttons as well called "save form" and possibly "submit form" TBD)
[ ] currently there are two headings in the observation forms that say "terrestrial plant information" (with no fields under it), followed by "Observation Data".  The first heading is redundant and confusing - merge the two so there is only one heading here called "Terrestrial Invasive Plant Observation Data".

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Screenshots
Please add any relevant UI screenshots if applicable.
Checklist:

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

There is no simple way to change two headings there. Those are bound to our objects and after removing the title from either one, it would show the name of the object instead. An example would be: after removing the "Terrestrial Plant Information" title, it would show activity_subtype_data instead.


feat(test): add e2e tests for settings menu

resolves #424

@shriram2301 can you update the commit name as well to not use feat but use test(<thing>): <description>


Feat: :sparkles: Added Custom Hour Line Painter

Description

This PR is adding optional functionality that allows users to create a custom hour line painter.
Allowing for behaviour like this:

And like this for week view:

Checklist

[x] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[x] I have followed the Contributor Guide when preparing my PR.
[] I have updated/added tests for ALL new/updated/fixed functionality.
[x] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[x] I have updated/added relevant examples in examples or docs.

Breaking Change?

[ ] Yes, this PR is a breaking change.
[x] No, this PR is not a breaking change.

Related Issues

Hello @werner-scholtz Could you please resolve the merge conflicts in this PR by updating your branches with the latest change in the master?


Concept inheritance doesn't work

I have a library language that has a "Writer" concept which gets extended into two other writer concepts. When I try to generate the AST.kt file I get the following errors on the class that tries to inherit from the superclass.
Function 'component1' generated for the data class conflicts with member of supertype 'Writer'

This type is final, so it cannot be inherited from

You can check out the project and file in my repository.

@AtanasM98 yes, by default classes are generated as data-classes, which cannot be extended. So we should check if a class is extended and if that is the case remove the data modifier.
As a workaround, you can simply define the class Writer in the same package (library in your repo). If you do that the lionweb class generator will notice and not try to generate the Writer class.
@LionWebAssociation(key = "library-Writer")
open class Writer(
  override var name: String,
) : Node(), Named

This worked for me:


⚠ ClamAV has degraded performance

In 38164a5, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 175 ms

Resolved: ClamAV performance has improved in 4d8c08c.


Upgrade github.com/cenkalti/backoff module

What does this PR change? What problem does it solve?
Upgrade github.com/cenkalti/backoff to version 4. backoff.WithMaxRetries no longer repeats an operation endlessly when a retry count of 0 is specified. This required a few fixes for the tests.
Was the change discussed in an issue or in the forum before?
No, but the issue came up in #2927.
Checklist

[x] I have read the Contribution Guidelines
[x] I have enabled maintainer edits for this PR
[ ] I have added tests for all changes in this PR Already has tests
[ ] I have added documentation for the changes (in the manual)
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (template here)
[x] I have run gofmt on the code in all commits
[x] All commit messages are formatted in the same style as the other commits in the repo
[x] I'm done, this Pull Request is ready for review

LGTM, but go.sum needs to be merged because of #2977.


Data is loaded again (unnecessarily) after hydration

Hey,
I'm running a working implementation of a solution based on this stack. However I've now run into a slight issue that the static result hydrated by React is loading the same information again.
https://github.com/aws-samples/react-ssr-lambda/blob/8c57f9d5343e78213a8cec1ff3d1f1d41c5932fa/simple-ssr/src/App.js#L9
In the  props there is isSSR and ssrData, but I'm not finding references that it those are used from anywhere. I'm aware that this might not be an issue related strictly to this sample but would be interested in how and if you've solved this somehow.

Will be updated in a new sample I am working currently on


Rename 'Visual Studio Code' to 'code'

I think that Visual Studio is a term form the 90s that doesn't apply to this project in any shape or form. Why not rename project to simply code which better fits the product functionality and minimalistic character.
If that not possible (for copyright reasons or whatever) then how about MS code? although i prefer the former since I don't want to tie the project to MS since it's used for many platforms and technologies.
code only would be awesome. What do you think? vote this issue up if you support it.
Cheers

I agree that making the words "Visual Studio" part of the name of this product was a very dumb idea indeed!

Hoverever, renaming Visual Studio Code to just "Code" isn't a good idea either. Because "Code" is a very generic word.
I think "VS Code" would be the best compromise in this particular case here. Not great by any means, but a decent compromise.

Wow. Just wow. This is next level...

@WebDevBooster I think being generic is one of its strengths because it's an editor for all coding needs regardless of language, platform, framework, etc.

Name it MSCode then

M$c0d3 ftw

Why not just c :)

Since the project is re-branding by changing its icons, I thought it is a good opportunity to re-think the name since it obviously does not make a lot of sense. Too bad the suggestion is getting so much negative feedback that I don't find necessary.

Hi - Thanks for the feedback!  We don't have any plans to rename VS Code, we're going to stick with the full name of "Visual Studio Code" as we're a part of the Visual Studio family of products. People generally refer to the tool as "VS Code" these days making search better, but admittedly it is still vague :).

I find changing icons pretty much frustrating already. Just because the icons changed doesn't mean the name is wrong. It gained popularity by having this name and i really haven't heard anyone not using it because it contains Visual Studio in the name.
Vscode is already used for searching. You may find it wrong, but some people inhere just think viceversa, why is un-necessary? If people don't say their opinion then we will have a new name, just like new icons.


Add census tract dimension

Load shapefiles from TIGER

Do we also want to get the census data for those areas?
I found info, including tract FIPS code, at these locations:
http://www2.census.gov/geo/maps/dc10map/tract/
https://www.census.gov/geo/maps-data/maps/2010tract.html
FIPS code pattern is: 14000US42001030800
14000US is the base, and<PHONE_NUMBER>0 is from the files listed above.
Here's an example of some of the data: https://censusreporter.org/profiles/14000US42001030800-census-tract-308-adams-pa/

This is in and merged with datamodel1.1


Update annotations_to_animation.py

REQUIRED for headless render (ie. if you use Ubuntu)

Hi @gemmijamz
Thanks for your proposed PR, but annotations_to_animation.py is simply an example script showing a very basic use case. I'd prefer to keep it as basic as possible, and allow users to add additional fields, such as USE_MESA, when needed.

@hjessmith Thank you for your message! No problem, it was my mistake and I was just trying to follow your headless rendering instructions and got a bit confused.


legacy elb being used

I noticed this is using the legacy aws_elb instead of aws_lb. Are you willing to accept PR's?
I noticed 2 PR's unmerged from last year that look legit.

Hey @miketwenty1 thanks for the comment.
Currently we don't have resources to prepare proper CI pipeline and tests. So we are hesitant in accepting PR because we need to run tests ourselves.


[common/dates] Calendar index

Added dates CalendarIndex

coverage: 59.246% (+5.3%) from 53.922%
when pulling 2322953c314d49b802b2a27dd6046eec264381f6 on calendar-index
into 78a6b7a056aedf1bda2792b4a9dba00c16e19f00 on main.


LCFS - BUG - Report history display, BCeID, Submitted status

Describe the Bug
Unformatted internal workflow text is appearing in the Report history in Submitted status for BCeID users. It should only display the Signed & submitted info (until the report is Assessed).

https://preview.uxpin.com/e0e2f15fc1b52987fd0287ad8c8103452dd16d60#/pages/184006495/simulate/sitemap
Expected Behaviour
A compliance report in submitted status should look like the mock-up for BCeID users, the Report history should only contain info of when the user signed and submitted the report to government. The unformatted text appearing should only be visible on the IDIR side and formatted as per cards...

A compliance report in a submitted status isn't currently showing the report history box. Currently it is showing the 'Important information" and "Organization detail" boxes, but is missing the "Report history" box to the far left that should look the same as the wireframe:

Thanks for testing, Lindsy! The issue is fixed now.


Customize Drink - Fix Styling

The specific frappe that gets passed to the customize drink page now comes from the Route state instead of being passed as a prop. This made it so that anything relying on the frappe state is now broken for some reason and is no longer updating as the frappe is being updated

This issue was pretty much handled in frappy #121


HTTP 302 is not logged

Grails: 3.2.11
Plugin: 1.67.0
When using spring security core, unauthorized access results in HTTP 302 redirecting to a login form page. I can't see this HTTP 302 anywhere in the java melody monitoring page being logged, only the login page.
Is it possible to turn it on somehow?

Yes, the melody filter intercepts requests after spring-security-core. See here:
https://github.com/javamelody/grails-melody-plugin/blob/master/src/main/groovy/grails/melody/plugin/GrailsMelodyPluginGrailsPlugin.groovy#L16
So it's normal that the requests which are not allowed by spring-security-core are not seen by the melody plugin.
It's done like that so that you can protect the access to the monitoring page with spring-security.
I don't think that you can change that from your app, but for information the filter is defined here:
https://github.com/javamelody/grails-melody-plugin/blob/master/src/main/groovy/grails/melody/plugin/MelodyConfig.groovy#L37

Is it possible to decouple monitoring and monitoring page functionalities so that they are hit in the following order:

monitoring
spring-security (restricts access to monitoring page)
monitoring-page
?
It's important because now if your login page is being attacked by brute force, you won't see it. If your site is being checked by bots scanning for common admin panel addresses, you won't see it.

It can't be decoupled in the grails plugin.
And the monitoring page can't be before the spring-security filter, because it would be a security regression.
But you can change the order of the filters between the melody filter and the spring-security filter. For that, it is needed to call setOrder(-200) on the result of the melodyFilter() method.
So you can add src/main/groovy/MelodyFilterPostProcessor.groovy in your app (I think that the order of the spring-security filter is -100 in recent grails versions):
import org.springframework.beans.factory.config.BeanPostProcessor

class MelodyFilterPostProcessor implements BeanPostProcessor{

    @Override
    Object postProcessBeforeInitialization(Object bean, String beanName) {
        return bean
    }

    @Override
    Object postProcessAfterInitialization(Object bean, String beanName) {
        if(beanName == "melodyFilter") {
            bean.setOrder(-200)
        }
        return bean
    }
}

and in grails-app/conf/spring/resources.groovy:
beans = {
	melodyFilterPostProcessor(MelodyFilterPostProcessor)
}

You may also add the javamelody parameter authorized-users to protect the access to the monitoring page.

Thanks, I'll look into that.


Added Microsoft Edge WebView2 Runtime version 104.0.1293.70.

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@wingetbot run


[KOGITO-2015] - CLI: project creation: add --enable-persistence and…

… --enable-events to --install-XXX options
See: https://issues.redhat.com/browse/KOGITO-2015
Signed-off-by: TARUN KHANDELWAL<EMAIL_ADDRESS>Many thanks for submiting your Pull Request :heart:!
Please make sure that your PR meets the following requirements:

[x] You have read the contributors guide
[x] Pull Request title is properly formatted: [KOGITO-XYZ] Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket
[ ] Your feature/bug fix has a unit test that verifies it
[x] You've tested the new feature/bug fix in an actual OpenShift cluster

No, just checked the code here.

me neither. let me check

@radtriste awesome, thanks.
Great work @Kaitou786.

Thanks ! @spolti


Set correct jar and bir locations in bin.xml

Purpose

Fixes https://github.com/ballerina-platform/ballerina-lang/issues/17328

Codecov Report

:exclamation: No coverage uploaded for pull request base (next-release@d71f448). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff               @@
##             next-release     #237   +/-   ##
===============================================
  Coverage                ?   61.48%
  Complexity              ?      116
===============================================
  Files                   ?       13
  Lines                   ?      605
  Branches                ?       60
===============================================
  Hits                    ?      372
  Misses                  ?      201
  Partials                ?       32

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 d71f448...5b76534. Read the comment docs.


I cannot see tmux bottom bar on Linux Ubuntu 16.04 LTS

I cannot see tmux bottom bar on Linux Ubuntu 16.04 LTS.
Please take a look at the screenshot below, where we can compare default system terminal and Terminus.
I have the latest version of Terminus: https://github.com/Eugeny/terminus/releases/tag/v1.0.0-alpha.27.

You can't start a tmux inside a tmux because Terminus uses Tmux internally to persist tabs when Terminus quits. You can disable this behaviour by setting "Session persistence" to "off" or "GNU screen" in Settings > Terminal

I changed it to "Off", but after restart, it's set to Tmux again. I cannot see any "Save" button, so I assume it should save this setting after selection. Moreover, I can use several tmux features like splitting the screen. I just cannot see the bottom bar.

Seems that that "off" doesn't work (#165). Try "Screen".

With "Screen" it works fine, but bottom bar is cut as I reported in #62.

Please post a screenshot there and I'll reopen it


Guzzle 6.5 w/ Laravel 6.x - reCAPTCHA V2

Hi everyone,
My Setup:

guzzle\guzzle 6.5.0
laravel\framework 6.7.0
Google recaptcha v2
PHPUnit 8.5.0

My Problem:
Everything basically works, I even get a response from Google, BUT with the following error-codes:

missing_input_secret
missing_input_response

even though I can echo the variables out in PHPUnit, right before setting the request parameters.
Steps to reproduce:
`
use Tests\TestCase;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
use App\Providers\GoogleServiceProvider;
class GuzzleTest extends TestCase
{
/**
* Test Guzzle POST to Google
*/
public function testGuzzlePostToGoogleRecaptcha()
{
$secret = GoogleServiceProvider::SECRET;
$url = GoogleServiceProvider::URL;
$res = '123';
$client = new Client();
$request = new Request('POST', $url, [
'form_params' => [
'secret' => $secret,
'response' => $res
],
]);
$response = $client->send($request);
$body = $response->getBody();
$contents = $body->getContents();
$arrayContents = json_decode($contents, true);
//print_r($body);
print_r($contents);
print_r($arrayContents);
$this->assertEquals(200, $response->getStatusCode());
$this->assertEmpty($arrayContents['success']);
$this->assertFalse($arrayContents['success']);
$this->assertIsArray($arrayContents['error-codes']);
}
}
`
Now, even if I try it as a regular json it doesn't work, and the params are empty.
Your help would be much appreciated.
regards

This does not seam like a problem with Guzzle. If you check with the documentation with the server.
Feel free to ask for help on Stackoverflow or similar forums.


TypeError: unsupported operand type(s) for *: 'int' and 'NoneType'

from peregrinearb import create_weighted_multi_exchange_digraph, bellman_ford_multi, print_profit_opportunity_for_path_multi
graph = create_weighted_multi_exchange_digraph(['exmo', 'binance', 'bitmex', 'bittrex', 'gemini', 'kraken'], log=True)
graph, paths = bellman_ford_multi(graph, 'ETH', unique_paths=True)
for path in paths:
print_profit_opportunity_for_path_multi(graph, path)
=============================================================
D:\python mutiexchangecurrency.py
Task exception was never retrieved
future: <Task finished coro=<_add_market_to_multi_digraph() done, defined at C:\Python36\lib\site-packages\peregrinearb\utils\multi_exchange.py:93> exception=TypeError("unsupported operand type(s) for *: 'int' and 'NoneType'",)>
Traceback (most recent call last):
File "C:\Python36\lib\site-packages\peregrinearb\utils\multi_exchange.py", line 130, in _add_market_to_multi_digraph
weight=-math.log(fee_scalar * ticker_bid))
TypeError: unsupported operand type(s) for *: 'int' and 'NoneType'
Task exception was never retrieved
future: <Task finished coro=<_add_market_to_multi_digraph() done, defined at C:\Python36\lib\site-packages\peregrinearb\utils\multi_exchange.py:93> exception=TypeError("unsupported operand type(s) for *: 'int' and 'NoneType'",)>
Traceback (most recent call last):
File "C:\Python36\lib\site-packages\peregrinearb\utils\multi_exchange.py", line 130, in _add_market_to_multi_digraph
weight=-math.log(fee_scalar * ticker_bid))
TypeError: unsupported operand type(s) for *: 'int' and 'NoneType'

Closed due to inactivity


Arming / disarming the Mini camera does not work

Describe the bug
Arming and disarming a Mini (owl) camera thought the library does not work.
To Reproduce
Steps to reproduce the behavior:

Install everything and get the library working with everything else
Arm the system
Try and arm or disarm a mini camera ( though blinkpy/camera.py line 279 )
Refresh the app to see if the change has actually happened

Expected behavior
The individual camera will be activated or deactivated (depending on the value parameter) and the "running man" icon will reflect this in the app after refreshing (exiting and reloading) the app.
blinkpy version (not needed if filling out Home Assistant version):
https://github.com/fronzbot/blinkpy/blob/5337c2ea982ab3d6580fe7e48097f07882ceff90/blinkpy/camera.py
Log Output/Additional Information
I have also simulated this call outside the library and the "enabled" parameter appears to be a read-only. It reflects the setting but does not change it. Changing the device name using this method works so the call is otherwise good. My hypothesis is this setting is included in the GET for convenience, but a different API call that we do not yet know is used to change the setting.

Odd indeed. Very odd.

Yes I believe I did. I have since moved on to testing with curl (I will paste some notes below) but will double check.

The mini is attached to a sync module. The camera firmware is 9.84 and the sync module is on 4.5.0.

As it works for you I am going to assume it is something different about my setup. I will try and set it up differently and see if I can get it to work and narrow down what it making it not work. I will report back with any findings.
For reference I have ended up testing with the following curl commands.
To view the current configuration (works) :
curl -H "token-auth: xxxxxxxxxxxxxxxxxxxxxx" https://rest-e006.immedia-semi.com/api/v1/accounts/xxxxxx/networks/xxxxxx/owls/xxxxxx/config
To disable the camera (does not work) :
curl -H "token-auth: xxxxxxxxxxxxxxxxxxxxxx" -d "enabled=false" https://rest-e006.immedia-semi.com/api/v1/accounts/xxxxxx/networks/xxxxxx/owls/xxxxxx/config
To change the camera name (works) :
curl -H "token-auth: xxxxxxxxxxxxxxxxxxxxxx" -d "name=Test Camera Newname" https://rest-e006.immedia-semi.com/api/v1/accounts/xxxxxx/networks/xxxxxx/owls/xxxxxx/config

I have tracked the issue not to the owl calls at though, but the authentication. I had customised the DEFAULT_USER_AGENT and
DEVICE_ID and one of these was causing the issue. I now use the original user agent and a shorter device ID and it now works. So not a blinkpy issue after all. Just another Blink oddity. Thanks for the response and sorry for the interruption.


Empty required name input not displaying error message after saving

Describe the bug
Input fields of type "name" don't display an error message when left empty after saving the form in submission.
To Reproduce
Steps to reproduce the behavior:

Setup a DSpace 7 with a submission form containing required input(s) of type "name" (doesn't matter if it's wrapped in a relation-field or not, both contain the bug)
Go to submission and fill in a couple of fields, but leave the required name field empty
Click Save
The name field doesn't show any error messages. Other required fields do.

Expected behavior
The required name field should display an error message after clicking save and leaving it empty.

This definitely sounds like a bug. I suspect this simply doesn't work because we don't have a name field in default submission configs, and no one has tested it recently. Estimates or fixes welcome


Build an OS X application

This uses the jarbundler plugin (https://github.com/UltraMixer/JarBundler) and universalJavaApplicationStub (https://github.com/tofi86/universalJavaApplicationStub) to generate and build an OS X application.  The application handles dropping of files onto it, as well as a more "OS X-like" menu bar, antialiasing, high resolution, etc.

Another question - when I was creating the OS X icon file (.icns), I just used the Luyten.png file that was in the repo.  However, the .icns file contains a bundle of images at different resolutions - 512, 256, 128, 32, and 16.  I just scaled the image up and down to the correct sizes - but it's pretty blurry at 512.  Does there happen to exist a larger copy of the icon to use (or a vector format of it)?
It's not a big deal - but I thought I'd create the icon the "right" way if you have those resources.

If you would prefer me to roll up all these commits into one, I can do so as well.  I don't know which you prefer on this project (some projects I have contributed to ask to squash all commits into a single one for PRs, others like to have the commit history).

The icon was a public domain freebie that I found while searching. If there are any recommendations for higher resolution version I would be more than happy to accommodate. I'm not picky about the repo setup, thank you for your contributions.
As for the plugin, building on multiple platforms is the idea, so bundling the jvm would only work if we utilized profiles within maven. I don't think it is necessary but for windows its kind of nice to have a bundled executable.

https://github.com/deathmarine/Luyten/releases/tag/v0.4.7


Release v1.3.3

deps(*): pin versions to latest

deps(*): pin versions to latest

Codecov Report

Merging #59 (f46f55b) into master (86aae4a) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

@@           Coverage Diff           @@
##           master      #59   +/-   ##
=======================================
  Coverage   62.97%   62.97%
=======================================
  Files           9        9
  Lines         840      840
=======================================
  Hits          529      529
  Misses        311      311

Continue to review full report in Codecov by Sentry.

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


added missing dependencies for development

@carlosvillu please review

@carlosvillu please review

We have decided to use specific version of dependencies, right?

@nucliweb Yes, we did. I missed these ones.

:+1:


Use virtual pipes for stdio

Otherwise wasi-common checks the rights of those file descriptors with
statx, ioctl, and fcntl:
  $ strace ./target/debug/wasmtime tests/wasm/hello_wasi_snapshot1.wat
  ...
  statx(0, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_BASIC_STATS, stx_attributes=0, stx_mode=S_IFCHR|0620, stx_size=0, ...}) = 0
  ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
  fcntl(0, F_GETFL)                       = 0x2 (flags O_RDWR)

Originally reported in enarx/enarx#661.

Not sure why this was not merged after 2 approvals, but I realized a typo...fixed.


[Bug] Indexing more than 10k IOCs.

Description
Added check to prevent resource_already_exists_exception when indexing more than 10k iocs.
Related Issues
Resolves #[Issue number to be closed when this PR is merged]

Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] API changes companion pull request created.
[ ] Commits are signed per the DCO using --signoff.
[ ] Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Adding tests locally currently.


Harbor configuration preheating, error reported "500 Internal Server Error {"message":"READONLY You can't write against a read only replica."}

P2P provider is health; Error reported when performing preheating operation

harbor log error

Environment:
Dragonfly version: CHART VERSIONS 1.1.67
OS: ubuntu 20.04
Kernel (e.g. uname -a): Linux harbor.xnwl.com 5.4.0-171-generic https://github.com/dragonflyoss/helm-charts/pull/189-Ubuntu SMP Fri Jan 5 14:23:02 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Others: containerd containerd.io 1.6.33 d2d58213f83a351ca8f528a95fbd145f5654e957

Normal after replacing Dragonfly version: CHART VERSIONS 1.1.66


Add new concept - Proxy objects

I'd like to add some great resources that teach about proxies in JavaScript as it is an important concept for every JS developer to know and is currently missing from the collection. I'd want to make this contribution under the hacktoberfest, could you kindly assign me this issue under hacktober-accepted label so that I can add some resources and references about the above mentioned concept?

@prajwalkulkarni can you please assign it to me under hacktober-accepted label


Exit Fee on Redeem

Add the framework for an exit fee that would be paid when OUSD is redeemed for stablecoins. This fee can help offset the risk of stablecoin price fluctuations and can be set via governance. Once a governance token is established, the fee could also accrue to holders of that token.

The reality of this exit fee has recently sunk in for me. It's particularly problematic at our low APY, but it will remain an issue for good actors even as our APY increases.
Suppose our APY is consistently 13% (roughly equal to yyCRV right now). With an exit fee of 0.5%, the break-even point for a minter is two weeks (not including gas costs). This serves as a de-facto lockup. It's not a great experience to mint OUSD and then realize that you're unable to profitably convert back to other stablecoins unless you wait a while or use an exchange/AMM.
This should be a contributing factor as we reconsider our oracle approach. It's also a good reason to ensure that there is ample liquidity and price stability on the exchanges/AMMs.
We might also want to consider communicating the existence of the exit fee upfront prior to minting. I don't want to deter people from minting, but I also don't want them to be surprised when they go to collect their earnings after a few weeks only to find out that they're underwater.

2 weeks doesn't seem that unreasonable to me. We want to discourage redeeming and encourage usage or hodling. I agree that it should be clear when minting though.