Improve the section about extend

See #28.

@iamcarrico, I rewrote the @extend section. Would you mind giving me your opinion perhaps?
http://sass-guidelin.es/#extend

First off, you quoted Bieber and attributed it to Beyoncé. For that, I have this:

[If you quote Bieber and attribute it to Beyoncé], you're going to burn
in a very special level of hell. A level they reserve for child molesters
and people who talk at the theater.
— Shepherd Book

This is your guide, and thus you should have the final say. I still disagree with your thesis, but as you state at the beginning, it is an "opinionated styleguide".
As a note, I was just chatting with @elyseholladay who gave me some of the research of @drewwells that supported a suspicion I had about gzip. Although a deeper explanation can be found here, the gzip thesis can only be supported if all non-dynamic code is put together and file sizes are less than 32kb. If either of these are not true, then extra bloat will be added to the codebase. Now, how much and what is worth— I am not sure and would have to do some more practical tests. But I can say that I would still rather use @extend.

The rewritten sections looks great!
For more info... Gzip looks at files in 32kb blocks, so you still get benefits beyond 32kb.  However, a 40kb file still benefits from compression. The code to be compressed must be in either the first 32kb or the last 8kb.  Code crossing the boundary won't benefit from compression.
I'm with @HugoGiraudel about @extend. It provides some minor code optimizations but introduces a lot of headaches and novice users should be warned. It works well for very simple cases, but scaling @extend is tricky. I find more often that developers hang themselves from using it. @extend feels like a booby trap masquarading as composition/inheritance.

First off, you quoted Bieber and attributed it to Beyoncé.

Fixed: http://sass-guidelin.es/#extend.
Interesting points you both in any case. I think I am cool with the current version of the @extend section. Let me close this if you don't any more objection.


Change -l to use "original" line numbers for csvgrep ?

I was surprised by the behavior of csvgrep -l -- the lines are numbered from 1 to N consecutively based on the post-grep output. I was kind of expecting to see the original line numbers.
This would be a backwards-incompatible change, in a sense, so not sure how you want to handle it.

Yeah, I'd probably call this a bug, though it may be non-trivial to fix as I believe the line-numbering is baked into the writer, not the logic of the of the tool. Also, various other tools inherent this parameter as well, so there may be a network of consequences to changing it. It should probably a 0.5 change (not 0.4.5) if we're going to do it.

I think we can add the line numbers with the reader, and adjust the column_ids appropriately.


Use a different pre-commit mirror for prettier

Related: https://github.com/nsidc/earthaccess/pull/584#issuecomment-2137908359

https://github.com/nsidc/usaon-benefit-tool/commit/3454f22aa2308e3ea1f094f8dd7ae10a07f8f6b8


Add inhabitedtype to allowlist

/cc @dinosaure

Thanks, I did not get any responses from @seliopou unfortunately 😕

What's this now?

What's this now?

You are able to install the OCaml CI application available here: https://github.com/apps/ocaml-ci
And configure it to launch the CI into certain repositories :+1:.

Just to re-contextualize, it seems that several projects such as angstrom & bigstringaf are widely used by MirageOS and I proposed to give you an access to OCaml-CI for such projects to help you (and us) to maintain them.

@seliopou there's an overview of the ocurrent CI stack over here: https://github.com/ocurrent/overview

Ok I installed the app.

@seliopou : for now, you have to select which repositories you want it enabled for (if you select "All repositories" then it assumes that was a mistake). There's a selection list when you install it, at https://github.com/apps/ocaml-ci


Missing search results for procdump

When I search for procdump on the mitre site I get results

But I don't when searching with the extension

I also see missing search results in the search for Base64 as shown in the image below:

I'm taking a look at this today. The text search library (fuse.js) has a limited match distance, so if keywords are more than 1000 characters into the description, it seems that fuse.js will not find them. I tried increasing the fuse distance to 10,000 to confirm this.
While increasing the distance does improve the situation a bit, I think fuse.js is a deadend for this project. The better solution would be to replace fuse.js with something more appropriate for our needs (see #4).

This should be fixed in #28 and will be included in 1.2.0 release in the next couple weeks.

Some screenshots to show how the new search engine handles the problematic queries posted by @clr2of8:


Implement message interrupt mode

Fixes #503.
This switches entirely over to message mode. We can either make this configurable (though it must be set for Windows) or remove the signal mode completely.
/EDIT: After adjusting to the PR comments, message mode is only used on Windows.

I'm confused about how this is supposed to work.  If an execute_request is being handled, then in our current implementation the eventloop will be hung until that completes, so it will never get the interrupt_request, no?

The message comes in via the control socket which is separate from the normal shell socket that gets the messages for execute, complete and other "normal" requests. Kernels are supposed to prioritise messages on the control socket.

Oh, I missed that — yes, we handle the control socket in a separate asynchronous task, so that should be fine.
In the current Julia release, tasks are scheduled cooperatively, so the execution task may be hogging all of the cycles if it refuses to yield (or do something like I/O that implicitly yields).  But in a future Julia release the tasks will run in separate threads (JuliaLang/julia#22631).

I guess this is still the best we can do for Windows :). It works reliably (on both Windows and Linux) for a simple sleep, I haven't tried it yet with actual load.

(sleep lets other tasks run.)

Is there anything missing?

Thanks!

Great to see this fixed! @stevengj, is this worth tagging a release?

Tagged 1.17.0


Upgraded kafka version with new tag

Activated 0.10.2 kafka version profile and incremented the tag version.

@HenryCaiHaiying please review and suggest modifications required, if any! Thank You

I will cut out a version / tag once the build passed.


[3.4.2] Horizontal Vector 2 editing broken

Godot version
3.4.2.stable
System information
Windows 10, GTX 1080 Ti
Issue description
The property does not work.
have been trying enabled / disabled and reopen scene, restarted the project.
This works in godot 4 master
Steps to reproduce

Minimal reproduction project
bug00023.zip

@Norrox Can you reproduce this issue in 3.3.4 and 3.2.3?

I will check, ill edit this post when i have :)

@Norrox Can you reproduce this issue in Godot 3.3.4 and 3.2.3?

I will check, ill edit this post when i have :)

@Norrox Can you reproduce this issue in Godot 3.3.4 and 3.2.3?

@Calinou It works, and it also work in 3.4.2.stable, i was just to tired to realize that i tried to see changes on vector 3's when i changed the vec 2 setting -.- sorry , i close this now ;D

@Calinou It works, and it also work in 3.4.2.stable, i was just to tired to realize that i tried to see changes on vector 3's when i changed the vec 2 setting -.- sorry , i close this now ;D


Decoration View

Im trying to figure out if its possible to add a "decoration view" that is not the same size as the buttons. I need a smaller view between the cell content view and when the SwipeActionButtons start.
Is this possible in any way atm?

Hey @floskel!  It's not possible without changes. 😔
I had been thinking about adding backgroundView and contentInsets properties to SwipeTableOptions to address #11.  This would allow you to customize the SwipeActionsView, which is the container view for the swipe action buttons.   In your case, setting a custom backgroundView with your decoration anchored to the side, then setting an edge inset would probably get you what you need.
Unfortunately, I'm not sure I'll have much time to work on this right now, so feel free to take a stab at it yourself!

Thanks for the reply. It seems like a reasonable solution with a backgroundView and edge insets. I will look into it if i have the time. Thanks for your work!


docs: 🗒 add port info in README.md

Added a comment about how to change the default 3000 port.
I wanted to use a different port and  I had to read through the source code to figure out how to change it.
So it'd be a nice UX if we mention it in the README

Added a comment about how to change the default 3000 port.
I wanted to use a different port and  I had to read through the source code to figure out how to change it.
So it'd be a nice UX if we mention it in the README

Thanks a lot @abhagsain .


Artist Page looks weird when you scroll down and optimisation issues

Do you have the latest versions of Spicetify, Spotify and Lucid?

[X] I'm using the latest versions of Spicetify, Spotify and Lucid

Is there already an issue for your problem?

[X] I have checked older issues, open and closed

Is your problem definitely caused by the theme?

[X] I have checked the app behavior without the theme and it is different

Environment & Computer Info
- Spotify version: <IP_ADDRESS>4
- Installed from: Spotify site
- Spicetify version: 2.38.4
- Color scheme:
- Extensions: Adblockify, that' all
- Custom apps: Lyrics Plus
- Lucid installation method: Spicetify Marketplace

Description

scrolling down are artist pages can either look fine or completely broken
on macOS this theme is incredibly unstable

Screenshots

I'm sorry to hear that you're experiencing lag with the scroll implementation. Please check out the Lucid beta version to see if this issue has been resolved. I've implemented some optimizations that may improve performance.

@kaer1a Can you check the beta


Review and update Front Door rule docs

Review and update rule documentation with template and bicep examples.
Find documentation here: https://azure.github.io/PSRule.Rules.Azure/en/rules/resource/#front-door
Find source here: https://github.com/Azure/PSRule.Rules.Azure/tree/main/docs/en/rules

I think I'm done with these (at least - as done as I'm going to get! - I can't make the Hack tomorrow)


NToastNotify Doesn't Work on ASP.NET CORE 2.2

Add the latest version of NToastNotify to my project, but no notification is displayed on the screen.
on my Startup.cs
using NToastNotify;
// Add framework services.
services.AddMvc().AddNToastNotifyToastr(new ToastrOptions()
{
PositionClass = ToastPositions.TopRight,
ProgressBar = false,
CloseButton = true,
NewestOnTop = false,
PreventDuplicates = false,
ShowDuration = 1000,
HideDuration = 10000,
TimeOut = 5000,
ExtendedTimeOut = 1000,
Debug =  false,
ShowEasing =  "swing",
HideEasing =  "linear",
ShowMethod =  "fadeIn",
HideMethod =  "fadeOut",
}, new NToastNotifyOption()
{
DefaultSuccessMessage = "Bienvenido a CIT",
DefaultSuccessTitle = "|CIT|"
});
on my model page:
using NToastNotify;
if (uploadedImage == null || uploadedImage.Length == 0)
{
_toastNotification.AddErrorToastMessage("Error en los datos, intentalo nuevamente", new ToastrOptions() { Title = "|CIT|" });
return Page();
}
var user = await GetCurrentUserAsync();
if (!ModelState.IsValid)
{
_toastNotification.AddErrorToastMessage("Error en los datos, intentalo nuevamente", new ToastrOptions() { Title = "|CIT|" });
return Page();
}
when I review the generated html page, you see the following

Am I implementing incorrectly?.
Please support your support.

I see that the messages property is undefined. I would have to investigate why its the case. Could be because its being used in Razor Pages. Have not tested in razor pages actually. Will have a look soon.

The samples in this repo both use Razor pages now using netcoreapp2.2. I cannot see why this wouldn't work. Can you give me a minimum reproducible step so I can narrow down the issue here ?

Closing this due to lack of response

@nabinked I have a similar problem. using 6.0.2 in netcoreapp3.1 razor pages project

I had to manually put _content/NToastNotify/toastr.js as otherwise, I got 404 error when the viewcomponent for ntoastnotify was trying to do ntoastnotify.init.

So with the above in mind, I got the onGet to add a toast message and then it shows on page load. However, when I add a toast onPost, it fails to show the toast on the next page, as it used to when I used netcoreapp2.2 with an older version of NToastNotify nuget package.
Please let me know if you know what the issue could be.


Provide a Spark-specific tblproperties config option

Describe the feature
SparkSQL and Databricks SQL offer a number of different table properties that can be added at table creation time, or applied via ALTER TABLE statements. In particular, when using incremental materializations with Delta tables, there are some properties (delta.autoOptimize.optimizeWrite and delta.autoOptimize.autoCompact) that are very impactful from a file management perspective, and it would be desirable to have a way of specifying these at creation time.
One potential option would be to have a tblproperties config map, or config list that could be used to set these. For example:
{{ config(
    materialized='incremental',
    tblproperties=['delta.autoOptimize.optimizeWrite=true','delta.autoOptimize.autoCompact=true']
) }}

Or perhaps:
{{ config(
  materialized='incremental',
  tblproperties={
    'delta.autoOptimize.optimizeWrite' : 'true',
    'delta.autoOptimize.autoCompact' : 'true'
  }
) }}

These are not the only table properties that can be set, so there's potentially value in having an arbitrary object to pass into the create table statement:
CREATE TABLE student (id INT, name STRING, age INT)
TBLPROPERTIES (delta.autoOptimize.optimizeWrite = true, delta.autoOptimize.autoCompact = true)

Describe alternatives you've considered
There are workarounds currently via using post-hooks with alter table commands, though it would be nice to avoid the extra build steps where possible.
Who will this benefit?
This is likely going to be important for anybody with more advanced Databricks SQL needs
Are you interested in contributing this feature?
Potentially, yes!

I prefer the second approach, treating tblproperties as a dictionary that can accept arbitrary key-value inputs. That would make it work similarly to the options config introduced in https://github.com/fishtown-analytics/dbt-spark/pull/171.
By adding a tblproperties_clause() right within the spark__create_table_as macro, we ensure that this will only run as part of the initial or full-refresh create table as statement for incremental models, rather than re-running every time as an alter post-hook.
A few years ago, I would've expressed interest in abstracting over the sort-of-ugly, camelCase-y keywords involved (tblproperties, delta.autoOptimize, etc). I don't think that's the right approach for our target audience, however; we should present the configs exactly as they're used to writing them.

This looks like it was implemented in https://github.com/dbt-labs/dbt-spark/pull/848 for dbt-spark.
Here is the documentation for the tblproperties config for dbt-databricks.


[NF] Plot mesh from FEA solving with pyleecan colors with plot_mesh method

Validation case with test_CEFC_002_save_mag

Thank you for your contribution!


Refactoring and Feature Enhancement for the MSRC Patch Tuesday Vulnerability Report Generator

This pull request introduces several improvements to the code base aimed at enhancing the readability, maintainability, robustness, and usability of the MSRC Patch Tuesday Vulnerability Report Generator. The major changes include:

Modularization: The main script has been broken down into smaller, more manageable functions. Each function serves a distinct purpose, improving code readability and reusability.

Enhanced Error Handling: Improved error handling, particularly around the HTTP request to the MSRC API. Now, the script provides more informative error messages and handles exceptions gracefully.

Input Validation: The date format checker has been improved to provide better validation of user input.

Code Comments & Docstrings: Added comprehensive code comments and docstrings explaining the purpose of functions, their inputs, outputs, and overall functionality. This makes the script easier to understand and maintain.

Code Formatting: The script now closely follows PEP 8 style guide, enhancing its readability.

Refactoring: Refactored repetitive code into functions to reduce redundancy.

Automatic Date Fetching: Modified the script to automatically use the current month and year (in 'YYYY-mmm' format) if the user provides no date. This new feature makes the tool more user-friendly and intuitive.

These changes make the script more robust, user-friendly, and intuitive, ensuring it provides reliable and accurate information to the users.

Thanks for this it looks great, give me a few days to review then I will look to get it merged


@conda-forge-admin, please re-render

Hi! This is the friendly automated conda-forge-webservice.
I've rerendered the recipe as requested, but nothing actually changed.


_get_user() fails when no user in db

    async def _get_user(self, statement: Select) -> Optional[UP]:
        results = await self.session.execute(statement)
        user = results.first()

fails at .first() when there is no records in user table and then results is None

Could you give the error stack trace you're getting? I'm not sure to see what the problem is.

the problem is: when user table is empty you get None in results variable.

I cannot reproduce the problem on my side: when the table is empty, _get_user returns None without error. Could you give me:

The DBMS you're using (PostgreSQL, MySQL...)
The associated driver (asyncpg, aiomysql...) and its version
The version of SQLAlchemy


Add interactive event viewer script

The event viewer we had in the past was my most powerful tool for fast debugging. That relied on ctapipe, so I would like to make a similar event viewer for CHECLabPy that takes in a r0/r1/dl1 file, and allows you to interactively look trough events and see waveforms and camera images.
It will use bokeh as the previous viewer did.

I would really not do this in CHECLabPy. The idea of this package is to provide a very simple and easy to understand tool for reducing data, and opening that reduced data. I have a fast waveform plotter that I use on the CS to check if r0 and r1 data is ok. I could add that. I was also going to add the ability to draw on parameters from a dl1 file. I think that whilst an interactive viewer is nice, it should be a separate small package (which could use the CHECLapPy reader). More importantly we should view this as very low priority. All that said, I'm open to trying it - the above is just my opinion, but if it makes this package more complicated, then I would really not do it this way. Also Bokeh was pretty slow in the past - any viewer should allow events to be played back at up to 2-10 Hz... perhaps this is possible?

Regarding your last point, I'm not proposing a "live" viewer, speed is not a factor in this. This will let you click event by event to see certain values per pixel.
I will create it in CHECLabPy to begin with, you are right that it could exist outside of it. But I don't think it will make the package more complicated, and its a very useful tool that I can see anyone using...

Also, a point for the future, we never encountered speed issues with bokeh in the past, and can achieve rates much higher than 10 Hz.

I'd just ask that we do not prioritise this. The TFs and charge resolution are (much) more important. The point of this package is to allow others to analyse data - and it's basically finished in that regard. Good that Bokeh is fast enough. I would also ask that if we do it this way then it's designed with some key features, here's what I find useful at the moment in the current tool I have:

Being able to see r0 and r1 in panels very close to each other with common x-axis
X-axis formatting in multiples of 8 samples with grid lines, and 0 and eg. 127 included
I have a few different waveform views:
-- r0
-- r1 Chosen pixel (black), TM mean (grey), ASIC means (4 colours)
-- r1 Persistance / history for chosen pixel: current event (black), last 100 events (some colour with alpha=0.6)
-- r1 all 64 pixels in the TM of the chosen TM, colour coded by ASIC as in the other plot
Then I draw on the event time, the pulse time, the pulse amp, the baseline and the 'window' defined by tevent for integration / searching
In 2D I was going to add the running mean extracted charge, the extracted charge in the current event, and the tpulse
I also wanted to add some scatter plots vs. event number of:
-- baseline, rms, charge, tpulse (all for 1 pixel and the mean over the camera) and tevent

In general it's very helpful to see the events 'play back' for 1 chosen pixel. I agree that being able to chose a pixel for 1 event and plot different quantities is also helpful... at the moment I just hit ctrl-c and run again for a different pixel.
What are the use cases for this viewer: presumably the camera operator and developers of waveform_reducers? For the former, I would add the limitation that the new CS will not have a x-server running directly on it. All drawing has to be done via ssh -Y or with the disk mounted over sshf. We could consider running a Bokeh server and connecting in remotely, but really running anything else on the CS will be killed if we find that it effects the raw data collection.


Issue with video feeds buffering and becoming out-of-sync with each other

Hi all,
I managed to get this up and running on a Jetson Nano a couple of months ago.
Coming back to it now everything has changed! 👍
I'm running both the front-end and the processor on the Nano. I have no experience with docker so was not sure how to get the two parts communicating, eventually I got something though. I detail the steps here just in case.
I built and run everything on the Nano itself in headless mode as follows:
Modified the config-frontend.ini file as follows:
[App]
Host: <IP_ADDRESS>
Port: 8000

[Processor]
; The IP and Port on which your Processor node is runnning (according to your docker run's -p HOST_PORT:8000 ... for processor's docker run command
Host: <IP_ADDRESS> <-- changed this line to reflect the IP address of the Nano
Port: 8001

Build the docker files:
docker build -f frontend.Dockerfile -t "neuralet/smart-social-distancing:latest-frontend" .
docker build -f jetson-web-gui.Dockerfile -t "neuralet/smart-social-distancing:latest-web-gui-jetson" .

docker build -f jetson-nano.Dockerfile -t "neuralet/smart-social-distancing:latest-jetson-nano" .

Start the front-end:
sudo docker run -it -p 8000:8000 --rm neuralet/smart-social-distancing:latest-web-gui-jetson

# Output
INFO:     Started server process [1]
INFO:uvicorn.error:Started server process [1]
INFO:     Waiting for application startup.
INFO:uvicorn.error:Waiting for application startup.
INFO:     Application startup complete.
INFO:uvicorn.error:Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:uvicorn.error:Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)

Start the processor:
sudo docker run -it --runtime nvidia --privileged -p 8001:8000 -v "$PWD/data":/repo/data -v "$PWD/config-jetson.ini":/repo/config-jetson.ini -e TZ=`./timezone.sh` neuralet/smart-social-distancing:latest-jetson-nano

# Output
video file at  /repo/data/softbio_vid.mp4 not exists, downloading...
--2020-10-15 10:46:41--  https://social-distancing-data.s3.amazonaws.com/softbio_vid.mp4
Resolving social-distancing-data.s3.amazonaws.com (social-distancing-data.s3.amazonaws.com)... <IP_ADDRESS>
Connecting to social-distancing-data.s3.amazonaws.com (social-distancing-data.s3.amazonaws.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... INFO:__main__:Reporting disabled!
200 OK
Length: 25371423 (24M) [video/mp4]
Saving to: 'data/softbio_vid.mp4'

data/softbio_vid.mp4            2%[>                                                 ] 534.65K   730KB/s               INFO:libs.processor_core:Core's queue has been initiated
INFO:__main__:Core Started.
INFO:root:Starting processor core
INFO:libs.processor_core:Core is listening for commands ...
data/softbio_vid.mp4            7%[==>                                               ]   1.81M  1.17MB/s               INFO:api.processor_api:Connection established to Core's queue
data/softbio_vid.mp4            8%[===>                                              ]   2.15M  1.23MB/s               INFO:__main__:API Started.
data/softbio_vid.mp4           10%[====>                                             ]   2.47M  1.26MB/s               INFO:     Started server process [11]
INFO:uvicorn.error:Started server process [11]
INFO:     Waiting for application startup.
INFO:uvicorn.error:Waiting for application startup.
INFO:     Application startup complete.
INFO:uvicorn.error:Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:uvicorn.error:Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
data/softbio_vid.mp4          100%[=================================================>]  24.20M  1.62MB/s    in 16s

2020-10-15 10:46:57 (1.52 MB/s) - 'data/softbio_vid.mp4' saved [25371423/25371423]

running curl <IP_ADDRESS>:8000/process-video-cfg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0INFO:api.processor_api:process-video-cfg requests on api
INFO:api.processor_api:waiting for core's response...
INFO:libs.processor_core:command received: Commands.PROCESS_VIDEO_CFG
INFO:libs.processor_core:Setup scheduled tasks
INFO:libs.processor_core:should not send notification for camera default
INFO:libs.processor_core:started to process video ...
100     4  100     4    0     0     59      0 --:--:-- --:--:-- --:--:--    60
ok video is going to be processed
INFO:libs.engine_threading:[68] taking on 1 cameras
[TensorRT] ERROR: Could not register plugin creator:  FlattenConcat_TRT in namespace:
INFO:libs.detectors.jetson.mobilenet_ssd_v2:allocated buffers
Device is:  Jetson
Detector is:  ssd_mobilenet_v2_coco
image size:  [300, 300, 3]
INFO:libs.distancing:opened video /repo/data/softbio_vid.mp4
error: XDG_RUNTIME_DIR not set in the environment.
0:00:00.812662754    79   0x55b7599660 ERROR                default gstvaapi.c:254:plugin_init: Cannot create a VA display
INFO:libs.distancing:processed frame 1 for /repo/data/softbio_vid.mp4
INFO:libs.distancing:processed frame 101 for /repo/data/softbio_vid.mp4
INFO:libs.distancing:processed frame 201 for /repo/data/softbio_vid.mp4
INFO:libs.distancing:processed frame 301 for /repo/data/softbio_vid.mp4

This seems to be good so far, I start getting the graph appearing in my browser when I visit <IP_ADDRESS>:8000.
However, the video feeds seem to buffer and stutter a lot. Furthermore, the birds-eye view and the video feed quickly become out-of-sync with one another. If I look back at the running processor I observe something along the following lines (which happens an awful lot):
INFO:libs.distancing:processed frame 3301 for /repo/data/softbio_vid.mp4
INFO:libs.distancing:processed frame 3401 for /repo/data/softbio_vid.mp4
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/uvicorn/protocols/http/h11_impl.py", line 389, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "/usr/local/lib/python3.6/dist-packages/uvicorn/middleware/proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/fastapi/applications.py", line 181, in __call__
    await super().__call__(scope, receive, send)  # pragma: no cover
  File "/usr/local/lib/python3.6/dist-packages/starlette/applications.py", line 111, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/errors.py", line 181, in __call__
    raise exc from None
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/cors.py", line 86, in __call__
    await self.simple_response(scope, receive, send, request_headers=headers)
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/cors.py", line 142, in simple_response
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/exceptions.py", line 82, in __call__
    raise exc from None
  File "/usr/local/lib/python3.6/dist-packages/starlette/exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "/usr/local/lib/python3.6/dist-packages/starlette/routing.py", line 566, in __call__
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/routing.py", line 376, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/staticfiles.py", line 94, in __call__
    await response(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/responses.py", line 314, in __call__
    "more_body": more_body,
  File "/usr/local/lib/python3.6/dist-packages/starlette/exceptions.py", line 68, in sender
    await send(message)
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/cors.py", line 148, in send
    await send(message)
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/errors.py", line 156, in _send
    await send(message)
  File "/usr/local/lib/python3.6/dist-packages/uvicorn/protocols/http/h11_impl.py", line 483, in send
    output = self.conn.send(event)
  File "/usr/local/lib/python3.6/dist-packages/h11/_connection.py", line 469, in send
    data_list = self.send_with_data_passthrough(event)
  File "/usr/local/lib/python3.6/dist-packages/h11/_connection.py", line 502, in send_with_data_passthrough
    writer(event, data_list.append)
  File "/usr/local/lib/python3.6/dist-packages/h11/_writers.py", line 78, in __call__
    self.send_data(event.data, write)
  File "/usr/local/lib/python3.6/dist-packages/h11/_writers.py", line 98, in send_data
    raise LocalProtocolError("Too much data for declared Content-Length")
h11._util.LocalProtocolError: Too much data for declared Content-Length
ERROR:uvicorn.error:Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/uvicorn/protocols/http/h11_impl.py", line 389, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "/usr/local/lib/python3.6/dist-packages/uvicorn/middleware/proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/fastapi/applications.py", line 181, in __call__
    await super().__call__(scope, receive, send)  # pragma: no cover
  File "/usr/local/lib/python3.6/dist-packages/starlette/applications.py", line 111, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/errors.py", line 181, in __call__
    raise exc from None
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/cors.py", line 86, in __call__
    await self.simple_response(scope, receive, send, request_headers=headers)
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/cors.py", line 142, in simple_response
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/exceptions.py", line 82, in __call__
    raise exc from None
  File "/usr/local/lib/python3.6/dist-packages/starlette/exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "/usr/local/lib/python3.6/dist-packages/starlette/routing.py", line 566, in __call__
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/routing.py", line 376, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/staticfiles.py", line 94, in __call__
    await response(scope, receive, send)
  File "/usr/local/lib/python3.6/dist-packages/starlette/responses.py", line 314, in __call__
    "more_body": more_body,
  File "/usr/local/lib/python3.6/dist-packages/starlette/exceptions.py", line 68, in sender
    await send(message)
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/cors.py", line 148, in send
    await send(message)
  File "/usr/local/lib/python3.6/dist-packages/starlette/middleware/errors.py", line 156, in _send
    await send(message)
  File "/usr/local/lib/python3.6/dist-packages/uvicorn/protocols/http/h11_impl.py", line 483, in send
    output = self.conn.send(event)
  File "/usr/local/lib/python3.6/dist-packages/h11/_connection.py", line 469, in send
    data_list = self.send_with_data_passthrough(event)
  File "/usr/local/lib/python3.6/dist-packages/h11/_connection.py", line 502, in send_with_data_passthrough
    writer(event, data_list.append)
  File "/usr/local/lib/python3.6/dist-packages/h11/_writers.py", line 78, in __call__
    self.send_data(event.data, write)
  File "/usr/local/lib/python3.6/dist-packages/h11/_writers.py", line 98, in send_data
    raise LocalProtocolError("Too much data for declared Content-Length")
h11._util.LocalProtocolError: Too much data for declared Content-Length

My questions are; Is this expected behavior? Is the software not robust/mature enough at this stage? Is there something wrong with how I have configured the docker images or how I am running them? Is it the Nano which is just not powerful enough (e.g. in terms of pfs, or for running both processor and serving front-end)?
I only ask because I seem to recall that the simpler version I used some months back worked better for me. The front-end was super trivial, but it didn't suffer from these issues. I'm happy to roll back to that older version if required but first wanted to check this is not something that can be addressed.
Many thanks

Likely related to #25

Hey, we just got around checking these old issues, sorry about the delay.
The video_logger and streaming of it in the frontend client still have room for improvement as they stutter a fair bit, although all in all its performance should be decent, the Jetson being sufficient enough to process 15FPS from a real live stream. Stutter issues will be more predominant when working with a video file because instead of losing frames to cope with the processing speed the processor will take longer to process all the video's frames).
Doing significant improvements in the video_logger and the client's streaming is not part of the scope of the current developing plan (we are focusing more on analytics and multiple camera support).
Considering the multiple changes that followed since the opening of this issue I can only suggest re-testing it (ideally with an RTSP stream or a video that contains less FPS) and seeing if it works well for your necessities.
I don't think anything particularly was downgraded performance-wise in regards to the live feed comparing to a previous version, so I don't think rolling back will help much in solving the issue. As the Web Client stills downloads the video inside your local LAN displaying it on the browser (it never travels outside the LAN).
Feel free to try testing again and report back. Elsewise I'll close this issue in a week :)

Hey, we just got around checking these old issues, sorry about the delay.
The video_logger and streaming of it in the frontend client still have room for improvement as they stutter a fair bit, although all in all its performance should be decent, the Jetson being sufficient enough to process 15FPS from a real live stream. Stutter issues will be more predominant when working with a video file because instead of losing frames to cope with the processing speed the processor will take longer to process all the video's frames).
Doing significant improvements in the video_logger and the client's streaming is not part of the scope of the current developing plan (we are focusing more on analytics and multiple camera support).
Considering the multiple changes that followed since the opening of this issue I can only suggest re-testing it (ideally with an RTSP stream or a video that contains less FPS) and seeing if it works well for your necessities.
I don't think anything particularly was downgraded performance-wise in regards to the live feed comparing to a previous version, so I don't think rolling back will help much in solving the issue. As the Web Client stills downloads the video inside your local LAN displaying it on the browser (it never travels outside the LAN).
Feel free to try testing again and report back. Elsewise I'll close this issue in a week :)

@renzodgc
Thanks for the thoughtful note. You can close this issue and I will report if i have any issues with an rtsp source as these stuttering problems appear to be related to video files and not live streams

@renzodgc
Thanks for the thoughtful note. You can close this issue and I will report if i have any issues with an rtsp source as these stuttering problems appear to be related to video files and not live streams

@renzodgc
As echoed by saket, your detailed and insightful response is much appreciated 👍 I too will try again and report back if any issues occur with an RTSP stream.
Many thanks!

@renzodgc
As echoed by saket, your detailed and insightful response is much appreciated 👍 I too will try again and report back if any issues occur with an RTSP stream.
Many thanks!


ecwolf: replace fetchurl with fetchFromBitbucket & 1.3.3 -> 1.4.0

Description of changes

This replaces fetchurl with fetchFromBitbucket to simplify ecwolf’s default.nix and updates ecwolf to 1.4.0. See the individual commit messages for details.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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

[x] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Please mark the package broken on darwin unless you can fix the compile error

Done.


Create Language function

I like to add Language in the Telegram SDK
i tried to inlclude lang/german.php in Hook.php and add the Variable to the Command file but that doesnt go.
Kind Regards

I like to add Language

What do you mean by that? All output is handled by commands, so you can simply create your own translated version.

@noplanman No i first made now a Action that on /start language must be selected and will be writen in DB. At the moment only English 6 German is selectable.
But i want to create 1 Command that will use english text for english user & German text for German user

You might want to look into something like this:
https://packagist.org/packages/gettext/gettext

Could you contact me over Skype: raphael7124
Would be great for direct support ;)
End Project will be on Github.

You need help on a Telegram Bot, so we use Telegram 😉
@noplanman
I'll leave this issue open, so that you can post your end solution for others.

I find this library https://github.com/oscarotero/Gettext very useful.

@jacklul Yep, same lib as I linked above. Seems to be the best one around 👍


NC-15765: update zlib to v1.3

The Black Duck tool detected a vulnerable outdated zlib (which is used to unzip) in lib3mf of version 1.2.11.
Update to 1.2.13 which should be the latest version in lib3mf.
See also https://github.com/3MFConsortium/lib3mf/issues/296 .

There is another PR for updating all other libraries https://github.com/3MFConsortium/lib3mf/pull/336. This PR has different tries and other testing commits to check the build in all platforms, so closing this PR without merging.


Error when try to run an ionic project

at run ionic run ios I got:
/projectPath/platforms/ios/project/Plugins/plugin.google.maps/MyPluginLayer.m:43:32: error: property 'scrollView' not found on object of type 'UIView *'
  float offsetX = self.webView.scrollView.contentOffset.x;// + self.mapCtrl.view.frame.origin.x;
                               ^
/projectPath/platforms/ios/project/Plugins/plugin.google.maps/MyPluginLayer.m:44:32: error: property 'scrollView' not found on object of type 'UIView *'
  float offsetY = self.webView.scrollView.contentOffset.y;// + self.mapCtrl.view.frame.origin.y;
                               ^
/projectPath/platforms/ios/project/Plugins/plugin.google.maps/MyPluginLayer.m:106:32: error: property 'scrollView' not found on object of type 'UIView *'
  float offsetX = self.webView.scrollView.contentOffset.x;// + self.mapCtrl.view.frame.origin.x;
                               ^
/projectPath/platforms/ios/project/Plugins/plugin.google.maps/MyPluginLayer.m:107:32: error: property 'scrollView' not found on object of type 'UIView *'
  float offsetY = self.webView.scrollView.contentOffset.y;// + self.mapCtrl.view.frame.origin.y;
                               ^
/projectPath/platforms/ios/project/Plugins/plugin.google.maps/MyPluginLayer.m:131:39: error: property 'scrollView' not found on object of type 'UIView *'
  rectangle.size.width = self.webView.scrollView.contentSize.width;
                                      ^
/projectPath/Plugins/plugin.google.maps/MyPluginLayer.m:137:39: error: property 'scrollView' not found on object of type 'UIView *'
  rectangle.size.width = self.webView.scrollView.contentSize.width;
                                      ^
/projectPath/platforms/ios/project/Plugins/plugin.google.maps/MyPluginLayer.m:138:40: error: property 'scrollView' not found on object of type 'UIView *'
  rectangle.size.height = self.webView.scrollView.contentSize.height;

@wf9a5m75

Thank you for refiling as another issue.
Could you share your whole project (not only www directory, but also platforms, config.xml, hooks, plugins directories also)

I start to use cordova-ios 4.x and works

Yes, the next version (actually the master branch code) supports WKWebView.

I'm engaging a russian roulette: the plugin works with WKWebview using cordova plugin add cordova-plugin-wkwebview-engine, but it forces my ionic app remains with white background all the views except the Splash screen. If I rule the early plugin out, It works the project but the GMap plugin doesn't work. If I install another plugin cordova plugin add cordova-plugin-wkwebview instead, It requires a 3.x versions of Cordova and It provokes the exception how @diegognt describes.

@castrojr913 did you resolve this dependency circle? It seems I'm facing the same.

I am having similar issue of that using Monaca Online, thanks in advance for your help

@xloading Yes, fortunately. Use this WKWebview plugin and upgrade cordova ios version to 4.x.x. I used 4.0.1 version in my case. Another thing: Look out the <div> tag which you will use for GMap; declare their width and height properties with absolute values. I tried with relative values and the map was not rendered. So, you can use media queries for different iPhones ratios.

I am using Monaca and upgrade to the cordova ios version to 4.x.x is not an option, do we have other posible solution for this issue?
Thanks very much

@castrojr913 thanks a lot! It looks that in my case the problem was indeed related to div properties.

I am pushing the Monaca guys in order to them upgrade to Cordova 6, let's see what happens ... hopefully I found a solution in the next 45 days before the release of the app


Update polymorphism.md

Added examples for compile time polymorphism and runtime polymorphism

hello @tangorishi  seeking your approval

hello @tangorishi seeking your approval

done👍🏻

Thank you!
On Sun, 1 Dec 2024 at 08:19, Rishi Joshi @.***> wrote:

hello @tangorishi https://github.com/tangorishi seeking your approval
done👍🏻
—
Reply to this email directly, view it on GitHub
https://github.com/tangorishi/learnJava/pull/128#issuecomment-2509629381,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AY7DIR6C5FQDR6KCHDCPKED2DLBBBAVCNFSM6AAAAABQUC7KAOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBZGYZDSMZYGE
.
You are receiving this because you authored the thread.Message ID:
@.***>


LAWs and Resources being in different regions not addressed

I was looking at this document, because I remember before when I configured LAWs, each VM could only connect to a Log Analytics workspace in that same region as the VM.  I was looking for that statment, here in this article.  But didn't find such a requirement anymore.  Has this requirement been taken off?  I can't find it anywhere after an hour of digging.
[Enter feedback here]

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

ID: cfb49644-fb30-6357-708b-d2007fcab408
Version Independent ID: 3c6c3cac-e738-52c3-bf89-6476ba04e816
Content: Collect data from an Azure virtual machine with Azure Monitor - Azure Monitor
Content Source: articles/azure-monitor/learn/quick-collect-azurevm.md
Service: azure-monitor
Sub-service: logs
GitHub Login: @bwren
Microsoft Alias: bwren

@D-Moonesinghe Thank you for reaching out and seems that below question has been created as duplicate. We will try to address your query on other thread and closing this thread for now. Please feel free to revert if you have any queries. Thanks
https://github.com/MicrosoftDocs/azure-docs/issues/63982


Prevent Safari from reading the navigator group markers as clickable

Bug/issue #, if applicable: 90633560
Summary
VO on Safari reads any element with an event listener attached as a clickable element.
To prevent that we have to remove the listener, or add a role. - https://pauljadam.com/demos/voiceover-clickable.html
We cannot assign role on the Reference, because that is an actual prop it has. I also cannot remove the link for groupMarker items, because the .native modifier cannot be applied to v-on syntax. https://github.com/vuejs/vue/issues/7846
That is why I created a simple OptionalLink component, that renders a span instead of a router-link if disabled or no url is passed. This is a very very basic version of the
Dependencies
NA
Testing
Steps:

Make sure links in the navigator are passing over query params properly
Make sure labels are not read out as clickable in Safari by VO

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran npm test, and it succeeded
[x] Updated documentation if necessary

@mportiz08 to answer all of your questions at once:
I used Reference, so that I can use the inactive link feature (replace with span) when the link is not provided or we have a groupMarker, along with adding the query params, like the API changes and language params.
The only reason I could not reuse the Reference, is because I cannot set a role attribute, because we already have a role prop.
If you are OK with me renaming the role prop on Reference to something else, then I can remote the OptionalLink.

@mportiz08 to answer all of your questions at once:
I used Reference, so that I can use the inactive link feature (replace with span) when the link is not provided or we have a groupMarker, along with adding the query params, like the API changes and language params.
The only reason I could not reuse the Reference, is because I cannot set a role attribute, because we already have a role prop.
If you are OK with me renaming the role prop on Reference to something else, then I can remote the OptionalLink.

I think that would be fine, as long as you agree that it would better to not create an additional component for this (totally ok if you don't agree).
I'm wondering if we can reduce the risk of renaming an existing prop of a heavily used component though—would it be possible to have it additionally accept an optional ariaRole prop that it uses to set the actual role HTML attribute wherever that's being set?

@mportiz08 ariaRole sounds good to me. Will try it today.

@swift-ci test

@mportiz08 great suggestion, much better than my initial work.

I also can not reproduce the issue. For me, VoiceOver is showing for main and this fix:

@swift-ci test

I also can not reproduce the issue. For me, VoiceOver is showing for main and this fix:

Hi Hanqing!
This is happening because you are using the keyboard navigation with VoiceOver instead of VoiceOver navigation.
To use VO navigation, move thought the page using the Interaction commands listed here:
https://support.apple.com/en-gb/guide/voiceover/cpvokys07/mac
Note: The default VO keys are Control-Option
The keyboard navigation will be changed at rdar://91649787

I changed the implementation of this PR, instead of using the role presentation that gives no semantics to the group makers, I set them to be a h2 and also the title of the nav becomes a h1. Having multiple h1s can be posible because this one is inside a nav element.

It no longer calls the headings as clickable, but I am not sure the H1 is good there.

@dobromir-hristov Yep, I was unsure of using another h1 as well... I read some articles that said that it should be fine it's inside another section of the page like the navigation but then these articles from W3 recommends using h2 inside the nav so I'm reverting it. https://www.w3.org/TR/WCAG20-TECHS/H42
https://www.w3.org/WAI/tutorials/page-structure/example/

@swift-ci please test

@swift-ci test


Add quick documentation about chrome extensions

Just added a quick documentation to the docs/tutorial folder for using extensions directly in muon.
It introduces how to get access to chrome.ipcRenderer, and the important extensions. api hooks.
It also shows a sample of how to load an extension via interaction from the renderer thread.

So after a bit of toying with the following fix:
mainWindow.loadURL('chrome://brave/' + __dirname + '/index.html');

It also exposes the remote API which is basically a gold mine right?
$ const proc = chrome.remote.require('child_process')
undefined
$ const ls = proc.exec('ls')
undefined
$ ls.pid
9233

That will be retired so use ipcRenderer to send messages to main thread and
have main thread do the logic. Muon team will be removing the chrome.remote
references.
On Tue, Feb 6, 2018 at 7:28 PM Kewde<EMAIL_ADDRESS>wrote:

So after a bit of toying with the following fix:
mainWindow.loadURL('chrome://brave/' + __dirname + '/index.html');
It also exposes the remote API which is basically a gold mine right?
$ const proc = chrome.remote.require('child_process')
undefined
$ const ls = proc.exec('ls')
undefined
$ ls.pid
9233
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/brave/muon/pull/417#issuecomment-363624648, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABSR1c57ZKj5L912xDNlP4LMQNrr6RYkks5tSPxMgaJpZM4RP5ck
.

@shadowcodex is their an issue that's keeping track of the .remote() removal?

'chrome://brave/' + __dirname + '/index.html'

This doesn't work very well across operating systems.
On linux it will result in the following:
'chrome://brave//somepath/index.html'

The second double slashes (after keyword 'brave'), they are misinterpreted as the double slash for a protocol.
It will mess with router in frameworks like Angular and React. It will produce and error along the likes of:
Failed to execute 'replaceState' on 'History': A history state object with URL  cannot be created in a document with origin '' and URL '

Removing the / creates an issue on Windows, so we should make use of the path.join() or url.format() functions.
So if I can suggest a minor change to the way you load the URL in the BrowserWindow:
    mainWindow.loadURL(url.format({
      protocol: 'chrome:',
      pathname: path.join('brave', __dirname, 'dist/index.html'),
      slashes: true
    }));

@kewde yeah that's a good point.
You could also just do:
mainWinow.loadURL(path.join('chrome://brave', __dirname, 'index.html')

I'm hoping when I get time I'll create a full demo on extension lifecycle management and leave it up on my github. I have some more refined ways of handling extensions and could strip it down to a bare minimum for people to use.

@bridiver what do I need to do to get this PR moved forward?


Add a arrow to revert the change in the git diff page

Here is the vscode diff page

Here is the webstorm diff page

You can see that >> in webstorm screenshot.
It's easy to revert change from left.
and I thinks it's a useful feature in development

/duplicate #26067


Scalafmt and version bumps (based on #89)

This is based on cherry-picked and some modified commits from @szareiangm

Closing in favor of https://github.com/snowplow/iglu-scala-client/pull/111


Reimplement lines of code based rules (LargeClass & LongMethod)

based on source tokens
closes #1279

With this change, our thresholds may be to restrictive with (150 & 20 lines). Pmd has defaults of 1000 for LargeClass (https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/ExcessiveClassLengthRule.java) and 100 for LongMethod (https://github.com/pmd/pmd/blob/master/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/design/ExcessiveMethodLengthRule.java).
There are anecdotal evidence here and here that in Kotlin you write ~40% less code. Therefore, how about defaults of 600 and 60?

Codecov Report

Merging #1448 into master will increase coverage by 0.18%.
The diff coverage is 84.88%.

@@             Coverage Diff              @@
##             master    #1448      +/-   ##
============================================
+ Coverage     74.62%   74.81%   +0.18%
+ Complexity     1716     1715       -1
============================================
  Files           326      327       +1
  Lines          5171     5201      +30
  Branches        934      940       +6
============================================
+ Hits           3859     3891      +32
- Misses          788      791       +3
+ Partials        524      519       -5

Impacted Files
Coverage Δ
Complexity Δ

...in/io/gitlab/arturbosch/detekt/rules/Traversing.kt
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...b/arturbosch/detekt/rules/complexity/LongMethod.kt
93.54% <91.66%> (-6.46%)
11 <9> (+6)

...b/arturbosch/detekt/rules/complexity/LargeClass.kt
96.77% <95.83%> (+15.52%)
11 <9> (-7)
:arrow_down:

...n/io/gitlab/arturbosch/detekt/rules/LinesOfCode.kt
96.55% <96.55%> (ø)
0 <0> (?)

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 8e4bad5...2121eaf. Read the comment docs.

Tested on bunch of Kotlin projects, looks very good :)!


Unable to resolve your shell environment: Unexpected exit code from spawned shell (code 9, signal null)

I'm facing this issue in viscose on my Mac... I have removed NODE_OPTIONS from the .zshrc file still the error isn't going away... need fix ASAP

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


Add support to parse buffer submitted.

Useful if you need to listen "data" events (and register data) before calling "formidable". https://github.com/felixge/node-formidable/issues/130#issuecomment-3781889

I think it's interesting.

yes could be but I am currently working in the streams branch so maybe later I will have a look

Maybe if you have the buffer already you can use one of the parsers directly

@GrosSacASac true.
@Math-, Everything is exposed from utils, to parsers, to plugins. (in the canary and dev dist-tags)

Should we close this ? Or does it serve a purpose I didn't grasp ?

closing, import /src/parsers/Multipart.js directly instead


How to configure high-dpi settings?

Hi there, I have goneovim running on Manjaro Linux and I love it. Sadly it always starts way too big and set guifont= doesn't seem to change anything
How can I configure/fix this? Attached is a screenshot.

my settings:
[Editor]
## If it is set to true, applications will be launched in a borderless window, except for Linux.
## The default value is false.
BorderlessWindow = true
## Editor minimum window width (>= 400)
Width = 800
## Editor minimum window height (>= 300)
Height = 600

## Editor external font-family, font-size, and linespace.
## This is the font and linespace settings of the graphical UI as an nvim front end.
## For example, linespace affects the margins of the external completion popup menu UI.
## Font settings in nvim are set with well-known options, such as `:set guifont = hoge:h10`, `:set linespace=4`.
FontFamily = "Hack"
FontSize = 10
Linespace = 6

## Neovim external UI features
## The following is the default value of goneovim.
## You can change the behavior of the GUI by changing the following boolean values.
## If you prefer the traditional Vim UI, set it to false for all.
## Also, `ExtMessages` is still experimental at this time and we don't recommend setting it to true if you want stability.
ExtCmdline   = true
ExtPopupmenu = false
ExtTabline   = true
ExtMessages  = false

## Copy yanked text to clipboard
Clipboard = false

## This is the equivalent of the macmeta configuration in MacVim
Macmeta = true

## Goneovim has a cached rendering feature enabled to speed up the process.
## If you want to disable it, set it to false
CachedDrawing = true
## You can specify the cache size to be used by the cache rendering feature of goneovim.
## The default is 320.
# CacheSize = 320

## The input method editor will be automatically disabled when the mode is changed to normal mode.
## It may be useful for users who use the input method editor (e.g. East Asian People).
DisableImeInNormal = false

## You can write a vimscript to be executed after goneovim starts,
## for example to disable the vimscript that Goneovim has embedded internally.
# GinitVim = '''
#  let g:hoge =fuga
# '''

## Launch goneovim with full screen window size.
# StartFullscreen = false

## This option makes the whole GUI window in semi-transparent.
## This setting also implicitly enables the Drawborder setting
Transparent = 0.75

## Draw window separator on the GUI side instead of the vertical border and status line that nvim draws.
DrawWindowSeparator = false
WindowSeparatorTheme = "dark"
# WindowSeparatorColor = "#2222ff"
WindowSeparatorGradient = true

## Draw built-in indent guide
IndentGuide = true
# IndentGuideIgnoreFtList = ["md"]

## Draw border on a float window
# DrawBorderForFloatWindow = false

## Draw shadow under a float window
DrawShadowForFloatWindow = true

## Enable desktop notification settings for nvim messages.
## This option works only if `ExtMessages` is enabled.
# DesktopNotifications = false

# Pattern that fills the diff background
# Change the background pattern used for diff display.
# This option allows you to use a visual effect pattern such as Dense, Diagonal Stripe instead of a regular solid pattern.
# The available patterns are all Qt brush styles. For more information, See: https://doc.qt.io/qt-5/qbrush.html#details
# // -- diffpattern enum --
# // SolidPattern             1
# // Dense1Pattern            2
# // Dense2Pattern            3
# // Dense3Pattern            4
# // Dense4Pattern            5
# // Dense5Pattern            6
# // Dense6Pattern            7
# // Dense7Pattern            8
# // HorPattern               9
# // VerPattern               10
# // CrossPattern             11
# // BDiagPattern             12
# // FDiagPattern             13
# // DiagCrossPattern         14
# // LinearGradientPattern    15
# // RadialGradientPattern    16
# // ConicalGradientPattern   17
# // TexturePattern           24
DiffAddPattern    = 1
DiffDeletePattern = 1
DiffChangePattern = 1

# Display the effect when clicked
ClickEffect = true

[Palette]
## Specifies the proportion of the command line palette to the height of the entire window.
AreaRatio = 0.5
## Specifies the number of items to be displayed in the command line palette.
MaxNumberOfResultItems = 30
## Specifies the opacity of the command line palette.
Transparent = 1.0

[Message]
## Specifies the opacity of the message window.
Transparent = 1.0

## The statusline configuration below relates to the display of Goneovim's own external status lines.
## If you want to use neovim's status line plugin, you should disable its display.
[Statusline]
## Whether or not to display the external status line
Visible = false

## Options: "textLabel" / "icon" / "background" / "none"
# ModeIndicatorType = "textLabel"

## Optional setting colors per Neovim editing modes
# NormalModeColor = "#3cabeb"
# CommandModeColor = "#5285b8"
# InsertModeColor = "#2abcb4"
# ReplaceModeColor = "#ff8c0a"
# VisualModeColor = "#9932cc"
# TerminalModeColor = "#778899"

## Statusline components
# Left = [ "mode", "filepath", "filename" ]
# Right = [ "message", "git", "filetype", "fileformat", "fileencoding", "curpos", "lint" ]

[Tabline]
## Whether or not to display the external tabline
Visible = true
ShowIcon = true

[Popupmenu]
## neovim's popupmenu is made up of word, menu and info parts.
## Each of these parts will display the following information.
##   word:   the text that will be inserted, mandatory
##   menu:   extra text for the popup menu, displayed after "word"
##   info:   more information about the item, can be displayed in a preview window

## The following options specify whether to display a dedicated column in the popupmenu
## to display the long text displayed in the `info` part.
ShowDetail = true

## total number to display item
Total = 20

## width of `menu` column
MenuWidth = 400

## width of `info` column
InfoWidth = 1

## width of `detail` column
DetailWidth = 250

[Lint]
## Specifies whether the external linter tooltip should be displayed or not.
Visible = true

[Markdown]
# Setting `Disable` to `true` disables the markdown preview feature completely.
# Disable = false

[MiniMap]
## To view the minimap, launch an additional nvim instance;
## setting Disable to true will not launch this additional nvim instance
## and will completely disable the minimap feature.
Disable = true

## Specifies whether to show the minimap or not.
Visible = false

## Specifies the width of the minimap.
Width = 120

[ScrollBar]
## Specifies whether to show the external scrollbar or not.
Visible = false

[SideBar]
## Specifies whether to show the external sidebar or not.
Visible = true

## Specify whether or not to draw a shadow under the sidebar.
DropShadow = true

## Specify the sidebar width
Width = 200

## Specify the color to use when selecting items in the sidebar or palette in hexadecimal format
AccentColor = "#5596ea"

[Workspace]
## This setting sets the format of the path string of CWD in the sidebar.
##  name: directoryname
##  full: /path/to/directoryname
##  minimum: /p/t/directoryname
PathStyle = "minimum"

## Specifies whether the last exited session should be restored at the next startup.
RestoreSession = false

[FileExplore]
## Specify the maximum number of items to be displayed in the file explorer.
MaxDisplayItems = 30

Hi :)

Sadly it always starts way too big

Umm,
Are you talking about the size of the window?
Also, does changing the value of BorderlessWindow or Width/Height in the following settings change the behavior?
[Editor]
## If it is set to true, applications will be launched in a borderless window, except for Linux.
## The default value is false.
BorderlessWindow = true
## Editor minimum window width (>= 400)
Width = 800
## Editor minimum window height (>= 300)
Height = 600

Uh, I understand.
So it's a matter of the resolution of the content displayed in the editor.

In fact, set guifont had no effect? How did you set it in init.vim?

Sorry for the late reply. No, I had to edit myself, set guifont did work, just had an typo in it.

So the font of the vim editor content does change with guifont, but "GUI Text" from goneovim like "Tabs/Buffer Names" and "Workspaces" still stay very big.
Changing width/height doesn't do something, as far as I can see. But that maybe because I'm managing my windows with an i3/bspwm like wm.

So the font of the vim editor content does change with guifont, but "GUI Text" from goneovim like "Tabs/Buffer Names" and "Workspaces" still stay very big.

The font of the external UI can be changed in the setting.toml.
## Editor external font-family, font-size, and linespace.
## This is the font and linespace settings of the graphical UI as an nvim front end.
## For example, linespace affects the margins of the external completion popup menu UI.
## Font settings in nvim are set with well-known options, such as `:set guifont = hoge:h10`, `:set linespace=4`.
FontFamily = "Hack"
FontSize = 10
Linespace = 6

Or, do you have a problem where changing the value does not change the actual font size of the external UI?

@akiyosi thanks!
apparently I only have problems with reading comprehension. didn't see that setting at all. works perfectly!
sorry for stealing your time!


updates:

Comments: Added additional comments to explain what each function does and how the code works.
Memory Efficiency: Used slots to prevent the creation of a dict for instances of radox and RequestHandler, which reduces memory overhead.
Route Matching: The regular expression for route matching is compiled once and reused, improving performance.
Error Handling: Ensured consistent error handling for both the WSGI callable and the RequestHandler by returning detailed error messages when exceptions occur.

@CoolCat467  please rewiew and add a label "hacktoberfest-accepted"

I'm not a maintainer for this project, not sure where you got that idea from

@AlexanderSanin Kindly open an issue describing about your idea or contribution to this project.


@Getter and @Setter support broken

I'm using the latest snapshot build (0.14.16)
The Lombok plugin does not recognize getters and setters generated by Lombok.  I can compile the code fine.  It's just my editor that complains about the issue.  I also feel like I could be completely overlooking a setting.

Thank you very much for trying it out! Getter/Setter should work, can you verify it, by restarting Intellij?

That seemed to have done the trick.  Just for more information for anyone else that may find themselves in this position, I installed a snapshot version of the plugin after using the plugin from the IntelliJ plugin repository.  This time, I made sure to uninstall the old plugin, restart, install the snapshot version, restart, and now everything is working as expected.


fix issue#1

add new environment variable MESSAGE_CHANNEL_ID for user to choose which channel to listen

I push a new commit that I add a deploy button in README.md, user can easily deploy it to Heroku now

All looks good, thank you for contributing!


npm errors when using any node related pre-commits

Noticed errors when using any of the hooks which specify language: node.
Running on Ubuntu 20.04
pre-commit version 3.5.0
pre-commit-config.yaml:
  - repo: https://github.com/tier4/pre-commit-hooks-ros
    rev: v0.10.0
    hooks:
      # - id: flake8-ros
      - id: prettier-xacro
      - id: prettier-launch-xml
      - id: prettier-package-xml
      # - id: ros-include-guard
      - id: sort-package-xml

errors:
[INFO] Initializing environment for https://github.com/tier4/pre-commit-hooks-ros:prettier@2.8.7<EMAIL_ADDRESS>[INFO] Installing environment for https://github.com/tier4/pre-commit-hooks-ros.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('/home/rico/.cache/pre-commit/repot_n4ea6k/node_env-default/bin/node', '/home/rico/.cache/pre-commit/repot_n4ea6k/node_env-default/bin/npm', 'pack')
return code: 254
stdout: (none)
stderr:
    (node:955063) ExperimentalWarning: Support for loading ES Module in require() is an experimental feature and might change at any time
    (Use `node --trace-warnings ...` to show where the warning was created)
    npm warn tarball tarball data for file:/home/rico/.cache/pre-commit/repot_n4ea6k/ (null) seems to be corrupted. Trying again.
    npm warn tarball tarball data for file:/home/rico/.cache/pre-commit/repot_n4ea6k/ (null) seems to be corrupted. Trying again.
    npm error code ENOENT
    npm error syscall lstat
    npm error path /home/rico/.cache/pre-commit/repot_n4ea6k/ode_env-default/bin/activate
    npm error errno -2
    npm error enoent ENOENT: no such file or directory, lstat '/home/rico/.cache/pre-commit/repot_n4ea6k/ode_env-default/bin/activate'
    npm error enoent This is related to npm not being able to find a file.
    npm error enoent
    npm error A complete log of this run can be found in: /home/rico/.npm/_logs/2024-10-17T18_35_28_469Z-debug-0.log
Check the log at /home/rico/.cache/pre-commit/pre-commit.log

I have the same error as @EricDavidWells with pre-commit 3.7.0, using the release v0.10.0 of this repo.

I'm experiencing the same issue. Is there any update on this?

Looks like this error is from pre-commit/pre-commit#3339. For now, specifying this at the top of my yaml file worked:
default_language_version:
  node: lts


Automatic multi-view layouts and unified play controls

Heyo!
I was thinking it would be nice to maybe have the option/tools to automatically layout all the different players when not in the maximize mode. Essentially having all the different players automatically snap to an appropriate size and location on the screen depending on how many sources you want to view as well as being able to unify the play controls if you want to play all the sources simultaneously to compare them.
In other words, talking about having different video streams in rows/columns next to each other and playing in unison so it would be easy to compare two or more versions.
Thanks for all the work you do and have done so far!

Hi, thanks for the suggestions! I have also thought about something similar, indeed I wonder if a tiled layout should replace the existing "free-form" layout for the players entirely? I used the current layout for the players out of convenience but it definitely gets tiring moving/resizing the windows.
There's also a separate issue for synchronized playback of multiple players:
https://github.com/darbyjohnston/DJV/issues/28

Hmm, yeah, resizing the windows every time is a little bit of an effort, especially since there seems to be a minimum size limit to the video player window. So on some machines like my 13" laptop, I am unable to actually resize two windows to fit next to each other without having them overlap, which makes it extra hard to compare two versions side by side.
I don't really mind the window feature or if you choose to make it a seamless tiled layout. My main goal was just to suggest adding in a form of automated layout since like I said I am actually not able to do that atm.
Thanks for the reply!

After some thought I've removed the current implementation for multiple windows; as you pointed out it wasn't working that great for comparing clips and was also causing other UI issues. I'll replace it with a more traditional A/B comparison system and unified playback controls as part of https://github.com/darbyjohnston/DJV/issues/28 and https://github.com/darbyjohnston/DJV/issues/35. I'm going to mark this issue as a duplicate and close it, but feel free to comment on those other issues if you have any more thoughts on the implementation.


Error:  Cannot find name 'FileSystemDirectoryEntry'

I installed the package in my angular application and when i am trying to build i get error
Cannot find name 'FileSystemDirectoryEntry'

This is actually a TypeScript issue. People have apparently solved it for Angular by following the steps outlined in this StackOverflow question.


Write our own console.log etc. function

While console.log mostly works in suite JS, when interacting with heartbeat this is an issue because two different FDs are used, 3 for JSON, and 2 for the logs. We should provide our own logger that writes to 3 because that makes it part of the same linear stream and eliminates timing issues due to I/O. Heartbeat will read each stream at different speeds at potentially mis-assign one log to the wrong journey.
This is a very low priority issue.

This should be an easy fix, we can bring back the PR https://github.com/elastic/synthetics/pull/19 and write that to our own logger https://github.com/elastic/synthetics/blob/b55ab0a3812cdb301f3eef58e85ebf4718c56ccf/src/core/logger.ts#L40

This should be an easy fix, we can bring back the PR https://github.com/elastic/synthetics/pull/19 and write that to our own logger https://github.com/elastic/synthetics/blob/b55ab0a3812cdb301f3eef58e85ebf4718c56ccf/src/core/logger.ts#L40


Networking errors after calling Sync() on Containers that have dependent Services

I have a pipeline with multiple Services and Containers being passed around. If a Container that has a dependent service is Sync()'ed, future calls to the Service will fail with something like:
lookup 5r4dg8qetp2iq.r4mh9kocl49fi.dagger.local on <IP_ADDRESS>:53: no such host
psuedocode example:
foo := dag.Container().From("postgres").AsService()

bar := dag.Container().From("asdf").WithServiceBinding("db", foo).WithExec(["some", "commands])

_, err := bar.Sync()

baz := dag.Container().From("zbcd").WithServiceBinding("db", foo).WithExec(["this", "fails"])

If the bar.Sync() here is removed, the baz execution will be successful.

Runnable example: https://github.com/kpenfound/example-voting-app/blob/daggerize/ci/main.go#L21-L25

https://discord.com/channels/707636530424053791/1120503349599543376/1199329512203235349

Same problem here: https://github.com/sagikazarmark/daggerverse/pull/42

Based on @kpenfound's report, this works on v0.9.6, but doesn't on v0.9.7. Did a git bisect, and isolated the issue to #6425 (cc @sipsma).
9bf9f7f303b6768efbba540376a0bd6eae6979a3 is the first bad commit
commit 9bf9f7f303b6768efbba540376a0bd6eae6979a3
Author: Erik Sipsma<EMAIL_ADDRESS>Date:   Mon Jan 15 16:14:37 2024 -0800

    services: key services by server id; auto start cli service flags (#6425)

Got a test that seems to produce the desired issue on v0.9.7, but can't seem to repro on main for whatever reason.
func TestModuleServiceSync(t *testing.T) {
	t.Parallel()

	c, ctx := connect(t)

	modGen := c.Container().From(alpineImage).
		WithMountedFile(testCLIBinPath, daggerCliFile(t, c)).
		WithWorkdir("/work").
		With(daggerExec("mod", "init", "--name=playground", "--sdk=go")).
		WithNewFile("main.go", dagger.ContainerWithNewFileOpts{
			Contents: `
package main

import (
	"context"
)

type Playground struct{}

func (p *Playground) DoThing(ctx context.Context, sync bool) (*Container, error) {
	svc := dag.Container().From("nginx").WithExposedPort(80).AsService()
	foo := dag.Container().From("alpine").
		WithExec([]string{"apk", "add", "curl"}).
		WithServiceBinding("foo", svc).
		WithExec([]string{"curl", "http://foo"})
	if sync {
		if _, err := foo.Sync(ctx); err != nil {
			return nil, err
		}
	}
	return foo, nil
}
`})
	modGen, err := modGen.Sync(ctx)
	require.NoError(t, err)
	logGen(ctx, t, modGen.Directory("."))

	out, err := modGen.
		With(daggerQuery(`{playground{doThing(sync: false){stdout}}}`)).
		Stdout(ctx)
	require.NoError(t, err)
	require.Contains(t, out, "Welcome to nginx")

	out, err = modGen.
		With(daggerQuery(`{playground{doThing(sync: true){stdout}}}`)).
		Stdout(ctx)
	require.NoError(t, err)
	require.Contains(t, out, "Welcome to nginx")
}

It's weird, because I definitely would've expected this to continue to fail.

specifically in such a way that we don't actually update the state of the service to be "not running".

This is changed in #6354 - so maybe it's that

This is changed in #6354 - so maybe it's that

Yep that seems to be the case - specifically we now call stop on the services tracker which deletes it from the maps :tada:
https://github.com/dagger/dagger/pull/6354/files#diff-1ebb5e1bc419d06e30aafaf4b05f75270d16d82924c0afc6b8a2f3332d4bcd92R330

The timing still seems wrong, when closing a client, we shouldn't close all the services on that server IMO. So it no longer gets left in an invalid state - but I think what happens is we spin up the service, then stop it, and then start it again.

Oh true. I should not declare victory while bleary-eyed.
This is tricky because the intent behind the shutdown is for it to happen synchronously as the client goes away so we don't see any services left in a running state from the event logs (e.g. in Cloud cc @marcosnils).

Perhaps we could do a detach like behavior? Although I really wanted to avoid the last client from blocking on it, since that made the code so much neater (I guess there are legitimate reasons to do this though).

I get a similar error even without calling sync(). Basically trying to attach a docker daemon as a sidecar. Similar to this - https://github.com/kpenfound/dagger-modules/blob/main/dockerd/main.go

Yeah @jedevc after running again w/ your fix I can't repro with Kyle's voting app example anymore either 🎉
To address the remaining weirdness around stopping too often, could we:

Detach from services on StopClientServices when it's coming from a non-main-caller (i.e. a module function call)
Force stop when the main client caller stops
?

Yah, either of those options sound totally reasonable :tada: I'll happily pick this up, rework my test to detect the multiple stop case, and try and find a fix.
(re-assigning to myself, but if you still want it @sipsma, feel free to steal it back :laughing:)

To clarify, I meant that we'd do both of those (detach when non-main-caller, force stop when main caller). But yes sounds good on you taking it from here, bandwidth is at a premium right now :-) thank you!

Confirmed things are working for my case in 0.9.8!

Sneaking this into v0.10.x just as a way to not forget about it - seems like we still need to figure this out, since it's kinda working but super janky that it restarts services, which is hard to notice


⚠ T:Riza Api has degraded performance

In 88eca85, T:Riza Api (https://infra.triza.dev/api) experienced degraded performance:

HTTP code: 200
Response time: 26315 ms

Resolved: T:Riza Api performance has improved in a5a36bc.


add a test for different encoding

I add a test for encoding in different situation.
I generate 100million int, classified into 4 type: sequence/random/small step/large step.
the original data size is as following:

sequence
random
small_step
big_step

848
1000M
859
859

tests

I test for encoding method, including: alpha/beta_bitshuffle/beta_for(frame of reference)/beta_rle. The result is as following:

space

the following is space after encoding for 100million ints.

单位（KB）
sequence
random
small_step
big_step

alpha
2865.152
104420.4
2108.416
2224.128

beta_bitshuffle
4094.976
143268.9
1682.432
2679.808

beta_for
4582.4
94251.01
797.3325
956.233728

beta_rle
818.0101
10342.4
778.4581
783.970304

the graph is as following:

query time cost for count(*)

the time is 95% percentile time cost, unit is : ms
| sequence | random | small_step | big_step
-- | -- | -- | -- | --
alpha | 7399.1 | 5416.48 | 6231 | 5372.88
beta_bitshuffle | 14342 | 12059.82 | 9186.91 | 8817.78
beta_for | 8752.04 | 11379.43 | 12403.98 | 8415.49
beta_rle | 8544.95 | 8614.29 | 9299.58 | 8295.44
the graph is:

query time cost for point query

select count(*) from table where id = xxx;
| sequence | random | small_step | big_step
-- | -- | -- | -- | --
alhpa | 8.3 | 8.66 | 477.26 | 10.73
beta_bitshuffle | 9.65 | 9.86 | 413.63 | 10.91
beta_for | 25.3 | 29.98 | 401.32 | 30.13
beta_rle | 8.65 | 9.06 | 398.92 | 10.86
the graph is:

conclusion

beta rle aquire the best space efficiency in all situation than other beta's encodings and alpha encoding. The query performance of beta rle is the best in encodings of Segment V2, but is a bit poor than alpha encoding.

parent issue: #2886

To obtain accurate and reproducible test results, we should

write benchmark code that directly tests different PageBuilder and PageDecoder
open source it so that other people can review and run the benchmark

In addition, I think we should add a test case on seek read performance for segment_v2 because it significant affects the performance of SegmentIterator.


make_vec(...) will raise error "AttributeError: can't set attribute", while vector.make(..) doesn't for customized env

Describe the bug
Hi,
I have some customized RL envs, and I want to create asychronized env vector to make them run in parallel.
Firstly, I used the gymnasium.vector.make(...), and there is some warning saying that it will be deprecated and replaced by the gymnasium.make_vec() function. Thus I decided to use the new one.
My code looks like:
import fancy_gym
import gymnasium as gym

env_id = "metaworld/button-press-v2"
num_envs = 8
render = False

# Buggy
env = gym.make_vec(id=env_id, num_envs=num_envs, vectorization_mode="async",
                       render_mode='human' if render else None)

# Works fine
env = gym.vector.make(id=env_id, num_envs=num_envs,
                          render_mode='human' if render else None)

The former make function will raise an error, as
  File "/home/lige/Software/mamba/envs/tce/lib/python3.8/site-packages/gymnasium/envs/registration.py", line 977, in _create_env
    _env.spec = spec_
AttributeError: can't set attribute

I am not sure if the issue comes from my customized env, as it works ok with the old function.
To reproduce the bug easily, you may need to install the two packages:
conda create -n test_gym python=3.8
conda activate test_gym

pip install git+https://github.com/Farama-Foundation/Metaworld.git@master#egg=metaworld
pip install fancy_gym

where the metaworld is from your organization and fancy_gym is  our custimozed RL wrappers...
Code example
import fancy_gym
import gymnasium as gym

env_id = "metaworld/button-press-v2"
num_envs = 8
render = False

# Buggy
env = gym.make_vec(id=env_id, num_envs=num_envs, vectorization_mode="async",
                       render_mode='human' if render else None)

# Works fine
env = gym.vector.make(id=env_id, num_envs=num_envs,
                          render_mode='human' if render else None)

System info
gymnasium: 0.29.1, installed as a dependency of fancy_gym package (via pip)
Ubuntu 22.04
conda 23.11.0
python 3.8
Additional context
Thank you in advance.
Checklist

[X] I have checked that there is no similar issue in the repo

Does the issue persist with gymnasium==1.0.0a1? (note: metaworld may break though)

Hi, thanks for your reply.
Beyond this issue, I actually found some other weird bugs in v0.29, such as the asych env vector is actually not asych. The running time is propotional to the num of envs :(
I see v1.0.0a1 gets a lot of update to these vector envs. So, I will give a try, but it will take some time from us to adapt our code base to v1.0.0a1.

My guess is that the environment used has a wrapper applied to it, and you can't set the spec for a wrapper (property reasons).
Therefore, I would guess this is a bug but I don't think we will be releasing anymore v0.29 versions to fix this sadly.
I would use gym.vector.make in the meantime. Hopefully gymnasium.make_vec will be fix this in the next release.

I've found similar problems. I'm following the warning
WARN: gymnasium.vector.make(...) is deprecated and will be replaced by  gymnasium.make_vec(...)  in v1.0
Using the following code
envs = gym.make_vec("InvertedPendulum-v4", num_envs = 3, max_episode_steps=600)
it will raise an error, as
  File "C:\Users\87182\anaconda3\envs\gymnasium\lib\site-packages\gymnasium\wrappers\record_episode_statistics.py", line 98, in step
    self.episode_returns += rewards
ValueError: non-broadcastable output operand with shape (1,) doesn't match the broadcast shape (3,)

Change back to the original function
envs = gym.vector.make("InvertedPendulum-v4", num_envs = 3, max_episode_steps=600)
and it worked

My guess is that the environment used has a wrapper applied to it, and you can't set the spec for a wrapper (property reasons). Therefore, I would guess this is a bug but I don't think we will be releasing anymore v0.29 versions to fix this sadly. I would use gym.vector.make in the meantime. Hopefully gymnasium.make_vec will be fix this in the next release.

I'm wrong, this isn't the problem
class CustomWrapper(gym.Wrapper):
    def __init__(self, **kwargs):
        super().__init__(gym.make("CartPole-v1", disable_env_checker=True, **kwargs))

# the entry_point is directly the wrapper class which poses an issue as the Wrapper has `metadata` using a property
gym.register("TestEnv-v0", CustomWrapper)
gym.make_vec("TestEnv-v0", num_envs=1)
del gym.registry["TestEnv-v0"]

So I don't know what the issue is. @BruceGeLi When you updated to v1.0.0, let us know if you still have an issue

Thanks, we will have a try later and will report the result, but will take some time I think.

envs = gym.make_vec("InvertedPendulum-v4", num_envs = 3, max_episode_steps=600)

@Zhaohhya Your example doesn't produce an error, could you provide a large example that raises an error


Fast start the DNS resolution ticker to improve first report latency.

Fixes #1400
First report can take 10s some times, which is suspiciously close to the dns resolution period.  Turns out if the first resolution fails, we wait 10s to try again.  This was we try after 1s, 2s, 4s, 8s then every 10s.

Closing to target master


Project page: Split pick Start/End time component into 2 separate component

@hnnam0906 @phoebehoang85
Please review, Update sample solution at Project Start/End time

I'm ok but also need to change for update phases func.
@phoebehoang85: how about you?


Guide on how to run offline doesn't apply anymore

I just wanted to make you folks aware that the description on how to run MyCrypto locally doesn't apply anymore.
There is no index.html that the user could run without installing dependencies and running the build before.

Added for 3.14.0 and will remember to do for this latest build


[Bug][Parser] Parser/tokenizer doesn't handle inf float

Running AnnotateSpans pass on a module which uses inf float literal (such as in the case of clip(x, 0, np.inf)) causes an error.

I would be happy to mentor anyone who wants to pick this one up.

I would be happy to mentor anyone who wants to pick this one up.

I'm interested in taking this up, @altanh can you post a repro script?

I'm interested in taking this up, @altanh can you post a repro script?

Printing mod shows that inff is a thing:
def @main(%x: Tensor[(3, 4), float32]) {
  clip(%x, a_min=0.5f, a_max=inff)
}

Do we want to special-case inf in the printer as well?

Printing mod shows that inff is a thing:
def @main(%x: Tensor[(3, 4), float32]) {
  clip(%x, a_min=0.5f, a_max=inff)
}

Do we want to special-case inf in the printer as well?

Not sure if Python should be the source of truth but float("inf") returns inf whereas float("inff") fails. Also numpy seems to have similar behavior (but they somehow avoid erroring by ignoring the rest of the input...):
>>> np.fromstring("inff, 1.0", dtype=float, sep=",")
array([inf])

Not sure if Python should be the source of truth but float("inf") returns inf whereas float("inff") fails. Also numpy seems to have similar behavior (but they somehow avoid erroring by ignoring the rest of the input...):
>>> np.fromstring("inff, 1.0", dtype=float, sep=",")
array([inf])


Error on default value

I've a flag defined with default value of "n",
cli.StringFlag{
Name:        "update, u",
Usage:       "Load csv files into database y/n",
Destination: &doUpdate,
Value:       "n",
}
However on running with -u (go run main.go -u) flag it prompts for a value.
ERROR: flag needs an argument: -u
thanks
SJ

Given that this is from last year, I think I'm comfortable closing it 🙂 feel free to re-open / open a new issue if there's still interest here!


Simple-Problem-Solving-Agent

Figure 3.1 contains pseudocode for a "SIMPLE-PROBELM-SOLVING-AGENT". Similar to some names in agents.py (#330), the README.md states this as completed in search.py as SimpleProblemSolvingAgent, however, the code is actually implemented within the __call__ method of the SimpleProblemSolvingAgentProgram class. I have found such a pattern in multiple places now, so I am unsure whether this is just a minor error, or a deliberate design feature.

It is deliberate. If you notice the pseudocode of SIMPLE-PROBLEM-SOLVING-AGENT the seq variable needs to be persistent. Doing that the functional way (as in agents.py) would have required us to have it as some sort of global. The __call__ trick helps us avoid this while making SIMPLE-PROBLEM-SOLVING-AGENT behave similarly to a function.

Oh wow - that is a very neat solution! Thanks for clarifying. I'll try to use this approach when writing codes for other sections too.

Since we use Python 3, which has the nonlocal declaration, a nested function can implement this kind of state with no trouble (and in my opinion less fuss). A better reason to use a class here is to leave hooks for overrides, like update_state and formulate_goal.

I agree, the template-method pattern seems like a good fit.


Fix rrest typo in history detail

There is a misspelling of rrset throughout the history logic, which also effects the json payload in the history database table. The migration will fix the existing payloads, so there is no need for backwards-compatibility and the code-change is a simple search-and-replace.
I am not really happy with the migration, but it is the best I could come up with to modify the json payload in a database-agnostic manner. Any suggestion are welcome.

Hello @corubba,
your migration script is great, and tests have proven that it works even with old databases.
However, I noticed that on powerdnsadmin/models/record.py lines 362 and 365, the variable rollback_rrests still exists.
Could you please fix that as well, so the typo is erased from everywhere? The feature can be merged when this is done.
Thank you!


Limited offers break the script

This will most likely be an issue that will never be closed, as this is difficult to fix.

Limited offer breaks a check, restart the game, close it (I hope) and keep going 😄
The proper way to check it should be to check a color in the middle of the screen each time this popup can show... so no 😉

True. Since v2 of the script, maybe this issue got a little bit less of a problem because the script restarts and attempts again in case something breaks.


Click event not fired for paper-button when rendered using lightDom

From: https://vaadin.com/forum#!/thread/10447255
<v-grid id="dataGrid" selection-mode="single" frozen-columns="2">

    <colgroup>
      <col header-text="#" width="52">
      <col width="60">
      <col header-text="First Name" sortable="true">
      <col header-text="Last Name">
      <col header-text="Email">
      <col header-text="Phone">
    </colgroup>

      <template id="tableData" is="dom-repeat" items="{{data}}">

          {{index}}

            <paper-icon-button icon="delete" on-click="handleTableClick"></paper-icon-button>

          {{item.name}}
          {{item.text}}
          {{item.name}}
          {{item.text}}

      </template>

</v-grid>

The problem is most likely the fact that the on-click handler is lost when we copy the light DOM HTML content into the actual final render tree.
As a workaround, add the paper-icon-button using a JavaScript renderer:

I was able to reproduce this issue with this code placed after <v-grid>:

I think the problem is that, the JS code gets executed after the template has been already rendered.
Running this code without v-grid, I can see that on-click is stripped off as well, but already been bound to handleTableClick function.

v-grid styles hide the actual table-element that's produced by Polymer (inside the ). All the cells inside the visible grid are created&rendered by the Grid itself and the light dom data cells are parsed only for the contained data, ignoring any attributes.

This is a “wont fix” for 1.x, unfortunately. 2.0 will fix this issue.


[ja] Merge dev-ja into main @v4

Describe your changes
Merge dev-ja into main to release the Japanese localization v4!!
Terms to be added

#2968
#2987
#2992
#3017
#3021
#3022
#3032
#3033
#3034
#3035
#3042
#3043

The following modifications/updates are included

#2999
#3006
#3025
#3030
#3039
#3040
#3045
#3049
#3050

Related issue number or link (ex: resolves #issue-number)
No issue related to this PR
Checklist before opening this PR (put x in the checkboxes)

[x] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

Thanks!! on be half of the Japanese team, let me approve and merge this PR.


Fix release build

Fixed database bug
Fixed MQTT typo

Fixes #124

Not sure why workflow had skipped. Will try differently.


[PROPOSAL]  - Style Guide and Components Page is App

Scope
Reviewing and testing components can become tedious and time-consuming as the codebase grows.  While we've got component render tests setup, it would be useful to establish a component test page and style guide for UAT as suggested by @jetpack3331
Motivation
this could allow for easier management, testing and iteration of the components / styles.
Proposal

[ ] Setup component / styleguide view
[ ] Render all components with dummy data, and document their intention
[ ] Add requirements to future contribution docs (mentioned here, #27 )

Expected Outcomes

Component page in app, only available during development
Support for faster UAT process (component check -> flow check)

@jetpack3331 @danielfranca   - what about setting up storybook to handle this style guide?
https://github.com/storybooks/storybook/tree/master/app/react-native
Offers us a great way to navigate components as well as their various states.


Add azure cloud resources

Description of your changes
Added Azure cloud provider and resources to match AWS and GCP examples.
Fixes #
I have:

[ x] Read and followed Upbound's contribution process.
[ x] Run make reviewable to ensure this PR is ready for review.
[ x] Added backport release-x.y labels to auto-backport this PR, as appropriate.

How has this code been tested
Tested on local and Upbound Cloud control plane. Verified package installation methods.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

Any updates or anything that could be done for this PR?