Add documentation for the assets_writer.

Also no longer hide the TOC, since some documentation becomes very hard to find without it.
Fixes #239.

I'm leaving additional comments here, as suggested by Holger.
Regarding the output of Cartographer, I just want to confirm some things:

When the asset_writer finishes, is it supposed to close with this warning?
================================================================================ REQUIRED process [cartographer_assets_writer-2] has died! process has finished cleanly log file: /home/matt/.ros/log/93075828-727a-11e7-953b-e8b1fc8ba78b/cartographer_assets_writer-2*.log Initiating shutdown! ================================================================================
The offline_backpack_3d.launch exports a large .PLY point cloud. Am I correct in assume that this is the fully matched point cloud created by merging and optimising all of cartographers submaps?
The asset writer exports six images, three appear to be identical to what the offline_backpack_3d.launch demo exports, the other three are coloured. What is the significance of the colours? It doesn't seem to be as clear as red = obstacle, green = free space.
The asset_writer doesn't seem to colour the points in a .PLY file or otherwise generate an improved .PLY file. So am I correct in assuming that the original .PLY file exported by offline_backpack_3d.launch is the most-optimised point cloud output from Cartographer?

Thank you as always for your help, I really appreciate it.

yes
yes, but it does not use the submaps. As the new documentation in this PR states, it is created only by using the fully optimized trajectory. Is that not understandable? Could you leave comments in the doc about what is unclear?
The offline demo no longer exports any images. They are not identical, since the asset writer uses every point, while the demo only used the points used for SLAM. See the configuration file to see what the colors are - they are colored by the frame_ids of the sensors.
It is up to you to configure what colors you want in your PLY file, see the assets_writer_backpack_2d.lua example. Cartographer does not optimize the point cloud, but the trajectory. It then uses the trajectory to project each point into a world frame. So yes, it is the best result from Cartographer, but no it is not a optimized point cloud, as we never touch points.

Thanks for the clarification!
For me, I think it's certainly a little unclear as to why the asset writer (cartographer_assets_writer) produces better results than ordinary Cartographer SLAM (cartographer_node), what the fundamental difference between them is, and why the asset writer is useful.
I've added some comments to the file changes, highlighting some of the parts that I initially find unclear.


Improve macOS 11 compatibility

Fixes #57

This cannot be released until Xcode 12 final is out, but if you really need this now, you can use the Git commit in the Xcode's Swift Package Manager tab.
TODO:

[ ] Check if NSImage.preferencesGeneralName becomes the correct SF Symbol before the final macOS 11 release, if so, we could revert to that. Currently, it's colored even on macOS 11.
[ ] Document how to do backwards compatibility. Export the Big Sur icons and then use them.
[ ] Soft-deprecate the centered option, as it's now the default and only option on macOS 11.
[x] Improve the segmented control style for macOS 11.

Thanks for working on this, currently the toolbarItems style cuts a bit of the text in Big Sur. I suppose you are aware.

This is what I see on beta 5 with this PR (ignore the missing icons):

This is what I see on beta 5 with this PR (ignore the missing icons):

Yep, that looks better. Without the PR it tries to show it inline with the window controls on the left, resulting in a funky look.


Bug in find by kind in class promotion

As a Promotion Scheme tester
I need to resolve the bug to check for promotion kind only if the promotion exists
So that it does not raise an error
Assumptions:

The server is up and running

Acceptance Criteria:

When a promotion doesn't exists it must return error status code  else return the kind of promotion

Incorrectly Created


feature: callBranch 增加callOption 参数

callBranch 增加callOptions参数，用于 metadata 接收场景等

Codecov Report

Merging #341 (262f689) into main (8ca8482) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #341   +/-   ##
=======================================
  Coverage   96.44%   96.44%
=======================================
  Files          55       55
  Lines        3206     3206
=======================================
  Hits         3092     3092
  Misses         75       75
  Partials       39       39

Impacted Files
Coverage Δ

client/dtmgrpc/dtmgimp/types.go
100.00% <100.00%> (ø)

client/dtmgrpc/msg.go
91.42% <100.00%> (ø)

client/dtmgrpc/tcc.go
100.00% <100.00%> (ø)

client/dtmgrpc/xa.go
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


GROOVY-9452: Multiple Repeatable Annotations Container generated if a…

…n explicit container is present and an implicit one required

+1

Merged. Thanks.


Enable build for macOS arm64

Checklist

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

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


Doesn't work on FUSE file systems

Run reloader on any FUSE filesystem.
FUSE does not support inotify, the current implementation defaults to 'auto' which defaults to 'inotify' when watchdog.observes exists (https://github.com/pallets/werkzeug/blob/main/src/werkzeug/_reloader.py#L405)
Needs a switch to force 'auto' to 'stat' mode, possibly via environmental variables so that it can be user controlled.
Environment:

Python version: all
Werkzeug version: all

run_simple(..., reloader_type="stat")


docs(.github): add v3 for github documents

Now that v3 is officially in beta, this is needed for bug reports / pull requests
Changes proposed in this pull request:

Added v3 for issues template

Ionic Version: 3.x

Thanks! :)


Build Baseline Image Corpus

Gather a corpus of images we can use as a baseline, for people who don't have their own, and put it in a place that's easy for people to ingest (perhaps in this GH repo).

@CarlosP-MS had the idea of priming the corpus with the example images from the cognitive services site, so I'm starting there.

I've added a sample_images.zip with 22 images (12 from Analysis, 10 from Thumbnail).

I've added sample_images.zip with 22 images (12 from Analysis, 10 from Thumbnail). Would love feedback from others on what they think of the set.


Please Add QDirStat Version Number

Please add the version number of QDirStat to the download page so users see what they will get.
See also https://github.com/linuxserver/docker-qdirstat/issues/2 for the background of this.

What do you mean by download page ?
Version is indicated in release notes (https://github.com/jlesage/docker-qdirstat/releases).

Ah, okay, I had overlooked that one. That should do well enough. Sorry for the noise. ;-)

No problem!


Fix HyperOS xposed hooking

This allows the xposed hooking to work on HyperOS.
Since there were some changed and the MIUI hooking didnt work anymore, I tried to find a fix for it for two hours when I just tried to use the AOSP hooking method, which apparently is working.
So with this I dont need to use the accessibility method anymore :)

Edi


[SMALLFIX] Clean up the loging message for Ufs Creation

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15654/
Test PASSed.

Merged build finished. Test PASSed.

@calvinjia PTAL

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15657/
Test PASSed.


ChannelClosedException in Timer class

From DebugDiag:
In PID__924__Date__09_21_2016__Time_01_35_47PM__900__Second_Chance_Exception_E0434352.dmp the assembly instruction at KERNELBASE!RaiseException in C:\Windows\System32\KERNELBASE.dll from Microsoft Corporation has caused a CLR Exception on thread 668 with the following error information:

    Type:   NsqSharp.Utils.Channels.ChannelClosedException

This exception originated from NsqSharp.Utils.GoFunc+<>c__DisplayClass1.b__0().

Review the faulting stack for thread 668 to determine root cause for the exception.

Thread 668 - System ID 16452

Entry point   clr!Thread::intermediateThreadProc
Create time   9/21/2016 1:31:19 PM
Time spent in user mode   0 Days 00:00:00.062
Time spent in kernel mode   0 Days 00:00:00.000

This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.

The thread has evidence of .net exceptions on the stack. Check the Previous .NET Exceptions Report (Exceptions in all .NET Thread Stacks) to view more details of the associated exception

.NET Call Stack

[[HelperMethodFrame]]
NsqSharp.Utils.GoFunc+<>c__DisplayClass1.b__0()+e6
[[HelperMethodFrame]]
NsqSharp.Utils.Channels.Chan`1[[System.DateTime, mscorlib]].NsqSharp.Utils.Channels.ISendOnlyChan.TrySend(System.Object, System.TimeSpan)+1b9
NsqSharp.Utils.Timer+<>c__DisplayClass2.<.ctor>b__0()+15f
NsqSharp.Utils.GoFunc+<>c__DisplayClass1.b__0()+32
mscorlib_ni!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+285
mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+9
mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)+57
mscorlib_ni!System.Threading.ThreadHelper.ThreadStart()+51
[[GCFrame]]
[[DebuggerU2MCatchHandlerFrame]]

Pretty obvious race condition between calling Stop and sending the Tick on _timerChan.
https://github.com/judwhite/NsqSharp/blob/master/NsqSharp/Utils/Timer.cs#L30


Could WebHostExtensions.Run() use Logging?

Hello,
I have an issue with WebHostExtensions.Run() using Console.WriteLine() instead of writing its log entries to an ILogger instance, just like this.
It seems pretty unintuitive that, after you already haved configured your logging etc. in the WebHostBuilder.Build() method, that the .Run() method after that should not be able to leverage this information.
So I would like to propose that the WebHostExtensions.Run() should try to resolve an ILogger from the host.Services just as it does with the hostingEnvironment and applicationLifetime, and use that if available. Only if there is no logger available it should fall back to writing to the Console directly.
What do you think about this? Could we make this happen?

How would you know if there's no logger available? Also these messages are for the developer. Do you have an actual issue with them being console writeline statements?

I think it would be nice to have it sent to both. For remote loggers it would be an earlier "Hello World, I'm here" message. And I wouldn't remove the console output because it's a nice troubleshooting instrument e.g. in Service Fabric where you sometimes have to inspect console output etc.

The only problem is that by default you'd end up with this duplication of messages. Do you really think logging the bound end point information is useful for your logs? I can see the environment as the only thing being useful. The content root is a developer artifact as well.
If this is a purist argument, then I get it but the practical side of me says this won't add much value.

hmm.. true! My scenario is just an early out-of-the-box "Application started" logging message. But that's obviously something that can easily be done as the first thing in Startup as well.

The main issue is that these logs that are captured from the console are not as easily parsable as they could be, as these lines don't match the desired and configured console logger output format than all the other lines. This is desired for launching a service for automated tests and then simply capturing and analysing the console output instead of having to configure a certain file logger explicitely (which then would lack the environment and port information).
Also, knowing if no logging is available would be the case when no ILogger could be resolved?

Oh, and yes, if you deploy a command line tool that temporarily offers a web service, you actually don't want to print these lines in the the command prompt for the user. Wrapping that in something that calls mytool.exe > nul 2>&1 would just be a ugly workaround for that. It would be great if there would be a way to at least disable the WriteLines for production, as we could log environment and port (and even ContentRootPath or shutdown message if desired) easily by our own when required.
That would be less effort and more convenient than to duplicate the complete Run extension.

@gingters Then use Start() instead of Run

Also, knowing if no logging is available would be the case when no ILogger could be resolved?

No, that's not right. The logger can always be resolved, the producer and consumer of logs is completely decoupled.

How about we add a flag that says if hosting should prefer logging for this? That way we can just use that to determine if we should log or use console output?

We're going to move away from writing to the console when using the generic host

I was about to put in an issue and it suggested this as related.  I noticed the discussion from 20 months ago, and then just so happened a comment from just 10 hours ago.
So when you say you are moving away from writing to the console, does that mean that it is moving towards using logging?
I know this is an old discussion, but I can provide a specific example where this would benefit us (going towards logging.)
We have a web application that loads dynamically on certain ports based on its "role".  This is a microservices application that can be a web app on port 6000 or an API app on port 7000 and others.  When running these services locally we run them on different ports.  When running in the cloud, these services run under different ports and sometimes the same ports but behind load balancers (no direct communication).
The output of the IWebHost.Run() (which just calls the RunAsync()) can help diagnose any url, ip address, or port configuration issues.  We use Serilog with several sinks to capture log data.
Right now, when the application runs, we get console output that looks like...

As you can see, the "Console.WriteLine(...)" areas are not part of the logging.
We can then also see those debug lines missing from our database table that captures the information.

Yes we’re going to use logging


Add Error handling to doc website repo.

Signed-off-by: carolxob<EMAIL_ADDRESS>Description
Add Error handling to doc website repo.
Issues Resolved
Closes #1267.
Checklist

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

@dlvenable This is ready for tech review.


Apply dark mode to FontChooseBox

Currently it has a white background with a black foreground color!

Same for Text-Elements in the Sidebar.


Dockerfile clean up

Remove unnecessary environment variables and clean up dependencies.

Remove ENV_IM_IN_DOCKER
Remove emacs and add vim
Pin protobuf version
Remove torch install

Move DockerfileUI to archive or unsupported branch

Closed. Updated version in branch exp_py.

Closed. Updated version in branch exp_py.


Meet unexpected errors

link: https://github.com/tensorchord/envd-server/actions/runs/3648121383/jobs/6161170673
Message:
Error: Resource not accessible by integration

Hello @VoVAllen, I think the issue is related to the permission of the workflow. Atlas need the write permission to comment on the PR. Can you try again with bellow config?
permissions:
  pull-requests: write

@giautm Thanks! I think it should be mentioned in the doc and also make it configurable

The permissions still not correct, it's read-only

Does not look like a bug in this code.


Add Amiga Retroarch core support.

Retroarch supports Commodore Amiga via the PUAE core, it would be nice to be able to use this.

Retroarch supports Commodore Amiga via the PUAE core, it would be nice to be able to use this.

Last I recalled, the performance was not good for this architecture.  Have you tested by going directly into retroarch are downloading the core and launch some games?

Yeah i have tested it, its not 100% ill give you that, but the games i tested were around 50fps at all times, which is what they should be as a PAL system. I tested Robocop, Another World/Out Of This World and Sensible Soccer and all performed at or very close to full speed. Certainly a far better experience than most Dreamcast and PSP games on this device if you ask me.

PUAE core support has been included with today's update.  Just go the Options section and select update to receive the latest updates.  You can also review this changelog for a list of all the rest of the included updates.


Board Members: Replace Mark Ridley-Thomas with Holly Mitchell

Holly Mitchell was elected as the new Los Angeles County Board Supervisor for District 2. Please remove Mark Ridley-Thomas from the Board Members and replace him with Mitchell. Below are her bio and headshot.

On November 3, 2020, Supervisor Holly J. Mitchell was elected to serve the Second District of Los Angeles County. Throughout her career in public service, Supervisor Mitchell has always worked with the understanding – that creating a California where all residents can thrive – means investing in the communities, small businesses, families and children of LA County.
Having authored and passed over 90 laws in the California Legislature, Supervisor Mitchell brings an extensive public policy record to the Board of Supervisors. Many of her bills have been at the forefront of expanding healthcare access, addressing systemic racism, and championing criminal justice reform.
During her tenure in the California State Legislature, Supervisor Mitchell represented the 54th District for three years as an Assemblymember and later served seven years as State Senator for the 30th District.
As State Senator, she also held the distinction of being the first African American to serve as Chair of the Senate Budget and Fiscal Review Committee. In this capacity, she led the passage of state budgets each totaling over $200 billion for the fifth largest economy in the world.
Prior to serving in elected office, Supervisor Mitchell was CEO of Crystal Stairs, California’s largest nonprofit dedicated to child and family development. In this role, she ensured that families across Los Angeles County gained access to child care and poverty prevention resources. Before leading Crystal Stairs, she gained formidable experience in crafting public policy both as a former Senate district field representative and legislative advocate at the Western Center for Law and Poverty.
Supervisor Mitchell’s leadership has been recognized by over 100 community and business groups. She was recently honored as a 2020 Visionary by Oprah Winfrey’s O Magazine for making California the first state in the nation to ban natural hair discrimination with The CROWN Act.
As Supervisor, Mitchell is proud to serve the two million residents of the Second District which includes  the neighborhood she grew up in, Leimert Park, and the following cities: Carson, Compton, Culver City, Gardena, Hawthorne, Inglewood, Lawndale, Lynwood, parts of Los Angeles, and dozens of unincorporated communities.
Supervisor Mitchell is a University of California at Riverside Highlander, a CORO Foundation Fellow and mother to Ryan.

Note to self: LAMetroPerson.objects.get(family_name='Ridley-Thomas').memberships.filter(end_date__startswith='2021').delete()

Done!


NoMethodError while installing the GEM

I am trying to install asiidoctor-pdf with the following command
gem install asciidoctor-pdf
But I get his error on the terminal. I am using windows 10 and Ruby v3.0 Please help
ERROR:  While executing gem ... (NoMethodError)
    undefined method `request' for nil:NilClass

This is not reflected off github
https://asciidoctor.org/docs/asciidoctor-pdf/#prerequisites

Asciidoctor PDF 1.6.0 is now available with support for Ruby 3. See https://github.com/asciidoctor/asciidoctor-pdf/releases/tag/v1.6.0

Glad to hear it @mojavelinux , It's too nice to have Asciidoctor PDF in Ruby 3.


Raspberry Pi 3

Hi, is is possible to run Coder with the RasPi3 and its embedded WiFi?
Thanks!

Sounds like there are instructions here:
https://github.com/googlecreativelab/coder/wiki
(Haven’t tried Coder in any form, yet. Just noticed this issue while checking how active the project was.)

Thanks!

Did it work?

I wasn't able to test yet.

Okay, I have tired the instructions above. Note that the scripts have changed such that the instructions were different after the first command. IOW-- I didn't do the last two commands as the scripts appeared to do that for me.
However, after following the instructions I was left with nothing to do (i.e., no further instructions). I just assumed all I had to do was reboot.
After rebooting, the system booted as normal. When I logged in as 'pi' I noticed that the Wi-Fi as down (as you would expect if it is hosting CODER). I looked on my Wi-Fi and I did not see a "CoderConfig" WiFi to connect to.
Now what?

I also tried to run it on the model 3, after the command:
chmod +x coder_bootstrap_install.sh
The commands did not work. But the Pi itsself also suggested commands. These commands resulted in a non-booting RPI.

Can confirm problems: the 0.9 image doesn't seem to boot on a Raspberry Pi 3.
No "CoderConfig" network, and even the ACT LED doesn't seem to blink.

The better way I find to run Coder on new Raspberry Pi 3 under Raspbian is install docker and run inside a container:
sudo  apt-get install docker.io

And after this, run the image prepared by resin.io
sudo docker run -d -p 8081:8081 resin/rpi-google-coder

Now you can connect by web browser to https://your-rpi-3-IP:8081
Of course you need to learn a little about docker to start, stop and restar the container.

I tried the 0.9 image, then the wiki commands (could not complete because changing of ownership was not permitted,) and finally i tried to download the docker as suggested in the most recently preceding comment and was unable to download because it kept timing out. Can we expect a coder update for RasPi 3 any time in the near future?

I created a post in Spanish about using Docker and you can see Coder running on top of an armbian intall on Orange Pi One board. https://raspberryparatorpes.net/proyectos/docker-para-torpes-con-raspberry-pi-u-orange-pi/
I know is in Spanish but is more or less easy to follow the steps.

@manuti don't call him torpe. You are mean. :p

sorry @Mycorrhizae and @eskwire I don't want to call torpe to anybody ... is my blog's name! Because when I started 4 years ago I'm a real dummy and "torpe". ^__^

@manuti todo bien am the torpe.

This has been broken for some time now. Could someone who know how to fix it please fix it?

@neilbalch : You can just install the project manually (although that's kind of a pain too).

@neilbalch as I say before here https://github.com/googlecreativelab/coder/issues/110#issuecomment-265422214
This is another orphan project by G**gle


Integrate with ASP.NET Core 3

AC:

Add extension methods(s) which registers a custom unit of work class as a dependency with request scope
Will only currently be supported by ASP.NET Core 3
Add an example ASP.NET project to the solution

Created PR #21


Release/1.9.1

Changelog
#114 Fix _metadata population for unbundled integrations

Codecov Report
Base: 78.13% // Head: 45.44% // Decreases project coverage by -32.69% :warning:

Coverage data is based on head (e7ffee7) compared to base (3bd6a19).
Patch has no changes to coverable lines.

Additional details and impacted files
@@              Coverage Diff              @@
##               main     #115       +/-   ##
=============================================
- Coverage     78.13%   45.44%   -32.70%
+ Complexity      443       14      -429
=============================================
  Files            64        8       -56
  Lines          5758      856     -4902
  Branches        724       85      -639
=============================================
- Hits           4499      389     -4110
+ Misses          693      437      -256
+ Partials        566       30      -536

Impacted Files
Coverage Δ

...n/com/segment/analytics/kotlin/core/PluginTests.kt

...in/core/platform/plugins/DeviceTokenPluginTests.kt

...in/com/segment/analytics/kotlin/core/EventTests.kt

...n/core/utilities/EventManipulationFunctionsTest.kt

...com/segment/analytics/kotlin/core/utils/Plugins.kt

...core/platform/plugins/DestinationMetadataPlugin.kt

...analytics/kotlin/core/utilities/Base64UtilsTest.kt

.../java/com/segment/analytics/kotlin/core/Storage.kt

...om/segment/analytics/kotlin/core/utilities/JSON.kt

...ent/analytics/kotlin/core/utilities/Base64Utils.kt

... and 46 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add Changelog

Add a Changelog file to track the project changes between minor and major release.
The example format is included in this gist:
https://gist.github.com/juampynr/4c18214a8eb554084e21d6e288a18a2c

Included a populated Changelog in #37


How can I use rig camera reconstruction correctly?

Hi, I have found the rig class in this lib, but I don't understand how to use rig camera reconstruction correctly. Especially the reconstuction pipeline with rig cameras. Is there any examples available? Thanks.

Hi @zxiaomzxm ,
What have you tried so far to understand this? I'd suggest a simple search for rig in the repo. Then you'll find documentation and see how it is used in the code.

Hi, can you give a real example or project file on the rig camera? the documantation is too simple.


Shortcut 'Focus Next/Prev Terminal Group' not work after 'Move Terminal Into Panel'

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.77.0
OS Version: Darwin x64 21.6.0

Steps to Reproduce:

Execute "Move Terminal Into Editor Area";
Execute "Move Terminal Into Panel";
Now, shortcut 'Focus Next/Prev Terminal Group'(command + shift + ]) doesn't change the terminal panel, but changes the editor.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.77.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

the problem still exists after upgrading to 1.77.0

@wangtZJU if possible can you please provie a video of you recreating this issue because i havent been able to recreate it myself

@Kathund  during 0:30 ~ 0:40, I cannot use the shortcut to switch terminals, but I can still use the command palette to do that.

Please try upgrading to 1.78.0

More info in dupe: https://github.com/microsoft/vscode/issues/173240

@meganrogge hi.
Doesn't change the terminal panel, but changes the editor.  Should have fixed # 159471.
I can't reproduce it for now.


chore: add electron cache

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


error setup

Describe the issue

How to reproduce the issue

Expected behavior

Screenshots

Software versions

Home Assistant version:
openmediavault integration version:
openmediavault software version:

Diagnostics data

Traceback/Error logs

Additional context

Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.9/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.9/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 79, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 220, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 137, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 205, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 62, in wrapper
result = await method(view, request, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 109, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 260, in async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 335, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/openmediavault/config_flow.py", line 74, in async_step_user
if not await self.hass.async_add_executor_job(api.connect):
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/openmediavault/omv_api.py", line 129, in connect
if cookies := load_cookies(self._cookie_jar_file):
File "/config/custom_components/openmediavault/omv_api.py", line 24, in load_cookies
return pickle_load(f)
_pickle.UnpicklingError: pickle data was truncated

omv 5.6.21-1 usul
Home Assistant Core 2022.6.
integration V1.3.0

looks like corrupted cookie
delete .omv_cookies file in /config

There is no that file

Ok. Ifound it. It helped. Thank you

Ok


Crashes on Ndb.FileSystem.getMetadata

Steps to reproduce
Tell us about your environment:

ndb version: 1.1.5
Platform / OS version: Mac OS Catalina
Node.js version: 15.6.0

When running NDB on a basic Next.js project, it crashes.
package.json:
{
  "name": "ndb",
  "scripts": {
    "dev": "next"
  },
  "dependencies": {
    "next": "^10.0.6",
    "react": "^17.0.1",
    "react-dom": "^17.0.1"
  }
}

pages/index.js
const Page = () =>
hi

export default Page;

Then run ndb npm run dev in your console. As soon as you visit the site, Next.js builds that first page and the whole thing crashes:
 ⮀ ndb npm run dev

> dev
> next

ready - started server on <IP_ADDRESS>:3000, url: http://localhost:3000
event - compiled successfully
event - build page: /
wait  - compiling...
event - compiled successfully
/usr/local/lib/node_modules/ndb/services/ndd_service.js:21
  throw error;
  ^

Error: Error: not implemented
Error: not implemented
    at Ndb.FileSystem.getMetadata (https://domain/ndb.js:3:175663)
    at Persistence.FileSystemWorkspaceBinding.FileSystem.requestMetadata (https://domain/ndb.js:3:131825)
    at Workspace.UISourceCode.requestMetadata (https://domain/ndb.js:1:648280)
    at n (https://domain/ndb.js:3:141810)
    at https://domain/ndb.js:3:141759
    at Array.map (<anonymous>)
    at Persistence.Automapping._pullMetadatas (https://domain/ndb.js:3:141752)
    at Persistence.Automapping._createBinding (https://domain/ndb.js:3:141234)
    at Persistence.Automapping._computeNetworkStatus (https://domain/ndb.js:3:138667)
    at Persistence.Automapping._onUISourceCodeAdded (https://domain/ndb.js:3:137732)
    at Rpc.dispatchMessageLocally_ (/usr/local/lib/node_modules/ndb/node_modules/carlo/rpc/rpc.js:423:16)
    at Rpc.routeMessage_ (/usr/local/lib/node_modules/ndb/node_modules/carlo/rpc/rpc.js:371:12)
    at process.emit (node:events:379:20)
    at emit (node:internal/child_process:918:12)
    at processTicksAndRejections (node:internal/process/task_queues:82:21)
node:events:356
      throw er; // Unhandled 'error' event
      ^

Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed
    at new NodeError (node:internal/errors:329:5)
    at ChildProcess.target.send (node:internal/child_process:722:16)
    at Rpc.routeMessage_ (/usr/local/lib/node_modules/ndb/node_modules/carlo/rpc/rpc.js:379:9)
    at /usr/local/lib/node_modules/ndb/node_modules/carlo/lib/carlo.js:388:71
    at Page._onBindingCalled (/usr/local/lib/node_modules/ndb/node_modules/puppeteer-core/lib/Page.js:548:56)
    at CDPSession.<anonymous> (/usr/local/lib/node_modules/ndb/node_modules/puppeteer-core/lib/Page.js:136:54)
    at CDPSession.emit (node:events:379:20)
    at CDPSession._onMessage (/usr/local/lib/node_modules/ndb/node_modules/puppeteer-core/lib/Connection.js:200:12)
    at Connection._onMessage (/usr/local/lib/node_modules/ndb/node_modules/puppeteer-core/lib/Connection.js:112:17)
    at PipeTransport._dispatch (/usr/local/lib/node_modules/ndb/node_modules/puppeteer-core/lib/PipeTransport.js:65:24)
Emitted 'error' event on ChildProcess instance at:
    at node:internal/child_process:726:35
    at processTicksAndRejections (node:internal/process/task_queues:76:11) {
  code: 'ERR_IPC_CHANNEL_CLOSED'
}

What is the expected result?
It doesn't crash
What happens instead?
It crashes

I've noticed this same error occurs when running ndb ./node_modules/.bin/next dev, which removes npm as a candidate for the crash here.

Try this as a workaround. Note it only works for<EMAIL_ADDRESS>NDB_CARLO_ARGS='{"channel":["r624487"]}' ndb <your-args-here>

getting this error


Error "E117: Unknown function: racer#RacerComplete

I installed racer globally and also I have the source installed by running rustup component add rust-src.
I have the plugin in .vim/bundle/rust_racer/plugin/rust_racer.vim, downloaded from the ftplugin folder from this repo.
And finally - in .vimrc I have:
set runtimepath^=~/.vim/bundle/rust_racer

" Set rust autocompletion tool "racer" ..
set hidden
let g:racer_cmd = "/home/petar/.cargo/bin/racer"
let $RUST_SRC_PATH="/home/petar/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src"

But when I open a rs  file and try Ctrl+x + Ctrl+o - I get this error:
Error "E117: Unknown function: racer#RacerComplete
Any ideas?

I encountered this problem as well. According to the README, the suggestion to clone the repository to ~/.vim/bundle is only for Pathogen users, and I am not using Pathogen.
Ultimately, I prefer to use Vim 8 Packages instead of a separate vim package manager. This is what worked for me:
# Install racer onto PATH
rustup component add rust-src

mkdir -p $HOME/.vim/pack/plugins/start
git clone https://github.com/racer-rust/vim-racer.git $HOME/.vim/pack/plugins/start/vim-racer

mkdir -p $HOME/.vim/plugin
ln -s $HOME/.vim/pack/plugins/start/vim-racer/ftplugin/rust_racer.vim $HOME/.vim/plugin/

I think this should be added to the README unless it's a bad way to install the package under Vim 8.

Sorry.  I don't want to add package manager specific instructions.

Vim 8 Packages is built into Vim 8. That's what I mean.
It's a way to use packages without needing a separate vim package manager.

Yes, I know it is another plugin manager.
It is builtin though.
It depends on your configuration and to add instruction is endless.

Okay, I understand.
Thanks for all of your work on this project. It's really great, and I appreciate it a lot.

Thanks


Placement group support

Enhancment request
To support placement group.
Amazon EKS supports placement group.
The placement group (Cluster placement strategy) should be created and its ID specified in the ASG launch template.
@label: enhancement
Terraform Variable File Details
No response
Steps to Reproduce

Create placement group of Cluster placement strategy
Specify placement group ID in the ASG launch templates

Expected Behavior
The managed node groups will be launched within the single placement group
Actual Behavior
Nodes across the managed node groups are within a placement group to ensure low network latency
Additional Context
No response
References

https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-cluster

No response
Code of Conduct

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

This feature can be effected by leveraging on Launch Template.

Requires PM review.

Found a Terraform example how to implement placement groups in EKS managed node pools: https://github.com/aws-samples/eks-manage-node-groups-placement-group/tree/main/terraform

PM Review was done on 9 April, 2024


Is Worker service project type supported on Azure AppService?

If it is how it should be deployed from Azure Release Pipelines? It seems that it is not. Once deployed using Azure App Service deploy task it just doesn't start. More info also in my question here - https://stackoverflow.com/questions/59770756/workerservice-deployed-to-azure-app-service-is-not-starting

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

ID: c3460b0d-9c60-3a06-ac63-18cf990e53c3
Version Independent ID: b2dece1f-15b8-03af-6d52-7cc070432b4b
Content: Background tasks with hosted services in ASP.NET Core
Content Source: aspnetcore/fundamentals/host/hosted-services.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @guardrex
Microsoft Alias: riande

Looks like the best we can do here is cross-link the WebJob coverage in the Additional Resources section of the Background Tasks/hosted services topic. I'll do that now.


Josephus problem solution in C++

Information about Algorithm
Recursive solution for the Josephus problem

This is a recursive algorithm which gives solution for the Josephus problem.
Have you read the Contributing.md and Code of conduct

[x] Yes
[ ] No

Other context

(Type here)
This problem is available on both GeeksForGeeks as well as Leetcode.

Hi @Pranav-Rustagi,
If you are participating hacktoberfest 2022, please read this #968.


[Stellar Merge] Announcement Bar

add an announcement bar about the docs merge, and supporting styles

Preview is available here:http://soroban-docs-pr742.previews.kube001.services.stellar-ops.com/


Expression Resources consolidation

Need to consolidate expression resources.
Old from Wei's analysis.
Conekt.
arahy1
external resources (if making a separate page for expression resources.

DE from Huang.
NFCore output served as webpage (adf) with interactive graphics.


index.d.ts is not found when installing via npm/yarn

When installing release 2.1.0 via npm or yarn, index.d.ts is missing.  I don't know what is needed to push packages to npm, but when I look at the package.json file for csv-parser, index.d.ts is not included in the list of files:
// csv-parser's package.json
//..
"main": "index.js",
  "files": [
    "bin/csv-parser",
    "index.js"
  ],
//..

I got around the issue by telling yarn to install the master branch of this repo as the current release (2.1.0) does not include index.d.ts.

Operating System: macOS 10.14.14
Node Version: 8.10.0
NPM Version: 5.6.0
csv-parser Version: 2.1.0

Expected Behavior
I expect index.d.ts to be included in contents of node_modules/csv-parser for use with TypeScript
Actual Behavior
The contents of node_modules/csv-parser does not include index.d.ts
How Do We Reproduce?
yarn add csv-parser and then inspect contents of node_modules/csv-parser

Thanks for reporting this. This was resolved some time ago and will be resolved with the next version publish. https://github.com/mafintosh/csv-parser/blob/ead4c1f3a14dbdad961231f3685307e78a03b07e/package.json#L17-L20


Diff output?

It would be great if ocamlint could be ran in a way that produced a unified diff, instead of a warning. Linting, in my opinion, is so useful because it is, by definition, things that don't require much thought eg trailing whitespace, an the things ocamllint is currently doing. If ocamlint could return a diff, then it can be used interactively which tools such as arcanist to either autocorrect problems, or interactively ask the user if they want the corrections.
I didn't look into the implementation, so I do not know how feasible this is. I did notice that you state the rules work on the abstract syntax tree. Is the original syntax still around?
Curious to hear your thoughts on the usefulness of this idea, as well as the difficulty in implementing.
Thanks!

Hey,
Glad you like it!
I agree that such a feature would be great. Hlint got something similar quite recently and I think it's improved the tool a lot.
I'm afraid that ppx modules are a bit too far in the chain, acting on the AST. Most of the elements have a location attached, which makes it possible to know some information, but not everything. For example you can't see tokens like begin/end at all (and they are parsed in the same way as (/).
It is possible to pretty-print an AST using functions like Pprintast.string_of_expression but it will just display the code without honoring the locations. ocp_indent does this job to fix the indentation, but I think it has its own parser. I think that merlin would be able to do this too, so we'd have to see if some interop is possible.
One first step in this direction (that would be required anyway to have a diff mode) is to start by adding a "suggestion" part to each rule, as it is not done at the moment.


.\install.ps1 failed

I followed the setup instructions  with one exception -- my machine already had node v14.16.1 on it, so I did not install node v14.15.
.\install.ps1
AWS Region = us-east-2
Building Java Installer with maven
Java Installer build completed
Downloading dependencies for React Web App, please be patient
Download dependencies completed for React Web App
Launch Java Installer for SaaS Boost
Error: Could not find or load main class .util.logging.config.file=logging.properties
Caused by: java.lang.ClassNotFoundException: /util/logging/config/file=logging/properties

Environment

AWS Region  : us-east-2
AWS SaaS Boost Version : commit 74e9047ce3f06779c645db392236c6dd7fe6fac9 (HEAD -> main, origin/main, origin/HEAD)
Workload OS  (Linux or Windows) : Windows

Other

This is :bug: Bug Report

Hi @jrobbins-LiveData,
node v14.16.1 should be fine. Is there an error stack in the saas-boost-install.log that you can provide? What version of Java are you using?

Hi @4patelr,
I don't see a file named saas-boost-install.log on my hard drive.  Where ought it be?
I installed Java per the setup instructions:
java --version
openjdk 11.0.11 2021-04-20 LTS
OpenJDK Runtime Environment Corretto-<IP_ADDRESS>.1 (build 11.0.11+9-LTS)
OpenJDK 64-Bit Server VM Corretto-<IP_ADDRESS>.1 (build 11.0.11+9-LTS, mixed mode)

The error message is actually talking about java.util.logging not finding the logging.properties file -- we added this to quiet the warning messages from the AWS CLI when you use profiles for multiple AWS accounts. I will spin up a Windows instance to test and figure out what's going on.

Hi @jrobbins-LiveData,
Seems like -D without double quotes is causing an issue with powershell.
Easier fix is to update the run command in Line 138 inside install.ps1 to include double quotes after java command (like below):
java "-Djava.util.logging.config.file=logging.properties" -jar ${CURRENT_DIR}\installer\target\SaaSBoostInstall-1.0.0-shaded.jar

This will let you proceed further. Try it out and let us know.

That fixed the problem -- thank you!

I'm having the same issue

That fixed the immediate problem -- thank you! [edited]
Apparently quite near the end of the process, it raised an error.

CloudFormation Stack: sb-dev completed successfully.

Copy files to S3 web site bucket

Start build of AWS SaaS Boost React web application with yarn ...

===========================================================

Installation Error: null

Please see detailed log file saas-boost-install.log

java.lang.NullPointerException

        at java.base/java.lang.ProcessEnvironment.validateValue(ProcessEnvironment.java:84)

        at java.base/java.lang.ProcessEnvironment.put(ProcessEnvironment.java:97)

        at java.base/java.lang.ProcessEnvironment.put(ProcessEnvironment.java:69)

        at com.amazon.aws.partners.saasfactory.saasboost.SaaSBoostInstall.buildAndCopyWebApp(SaaSBoostInstall.java:2257)

        at com.amazon.aws.partners.saasfactory.saasboost.SaaSBoostInstall.installSaaSBoost(SaaSBoostInstall.java:1459)

        at com.amazon.aws.partners.saasfactory.saasboost.SaaSBoostInstall.start(SaaSBoostInstall.java:977)

        at com.amazon.aws.partners.saasfactory.saasboost.SaaSBoostInstall.main(SaaSBoostInstall.java:198)

The log doesn't seem to have any more context than this NullPointerException.

Hi,
The fix for this issue got merged yesterday so you can either do a git pull or look into this pull request and make the same changes in the local setup and retry again.
https://github.com/awslabs/aws-saas-boost/pull/27


Dark theme seems broken and wrong links in readme.md

In dark mode:

caret is not visible when editing
It's almost the same color as background and can't see it blinking
footer element is white (class "has-background-white")

Platform: Firefox 109.0.1 and Chromium 108.0.5359.125

And link seems not correct in the readme.md:

In Section Documentation:
Generating static site and Overriding Asstes are linked to localhost:3000

I think it supposed to be something like this: https://xlog.emadelsaid.com/Assets/

Hi @conradax thanks for opening the issue, I corrected the readme issue.
The crate issue may take a bit of time, I have some time today I may work on it. but feel free to contribute a fix

fixed the cursor color and width to be more visible in both light and dark theme.

and released version 76
https://github.com/emad-elsaid/xlog/releases/tag/v0.76.0


Added a shuffle function to ArrayExtensions.swift

The shuffle function uses the Fisher-Yates-Durstenfeld algorithm.

Thanks but there are merge conflicts, mind fixing them?
And why are there 2 versions now?

Ok, the conflict is fixed.
The first version was an unproven shuffling algorithm, so I changed it to the well known Fisher-Yates-Durstenfeld algorithm.

I meant why keep the first version in there?

Sorry but I don't understand. There's only one version of shuffle. Are you talking about the shuffle function itself?

Oh it was my mistake, I though the standard and Fisher method were both in the code.
Thanks for the PR :+1:


[chore]: minor code refactor

Minor code refactoring to eliminate code redundancy.

@gaugebot recheck the pull request.


Sometimes hangs in LLDB

When debugging my app and printing a large dictionary in LLDB, Xcode hangs with KZLinkedConsole in the backtrace:
886 Thread_10058798   DispatchQueue_1: com.apple.main-thread  (serial)
+ 886 start  (in libdyld.dylib) + 1  [0x7fff852545ad]
+   886 NSApplicationMain  (in AppKit) + 1176  [0x7fff87f73520]
+     886 -[NSApplication run]  (in AppKit) + 682  [0x7fff87ff0fc8]
+       886 -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:]  (in DVTKit) + 247  [0x10b1720c2]
+         886 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:]  (in AppKit) + 454  [0x7fff883c7943]
+           886 _DPSNextEvent  (in AppKit) + 1067  [0x7fff87ffb0ee]
+             886 _BlockUntilNextEventMatchingListInModeWithFilter  (in HIToolbox) + 71  [0x7fff942055af]
+               886 ReceiveNextEventCommon  (in HIToolbox) + 432  [0x7fff9420576f]
+                 886 RunCurrentEventLoopInMode  (in HIToolbox) + 235  [0x7fff94205935]
+                   886 CFRunLoopRunSpecific  (in CoreFoundation) + 296  [0x7fff9621a338]
+                     886 __CFRunLoopRun  (in CoreFoundation) + 1841  [0x7fff9621acd1]
+                       886 __CFRunLoopDoTimers  (in CoreFoundation) + 298  [0x7fff962dde6a]
+                         886 __CFRunLoopDoTimer  (in CoreFoundation) + 1075  [0x7fff9625f853]
+                           886 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__  (in CoreFoundation) + 20  [0x7fff9625fbc4]
+                             886 __NSFireDelayedPerform  (in Foundation) + 377  [0x7fff8d66a345]
+                               886 -[IDEConsoleTextView _appendConsoleItemsWaitingToBeAppended]  (in IDEKit) + 120  [0x10be37045]
+                                 886 -[IDEConsoleTextView appendConsoleItemsImmediatelyWithoutScrolling:]  (in IDEKit) + 1004  [0x10c03e8bd]
+                                   886 -[DVTTextStorage endEditing]  (in DVTKit) + 652  [0x10b0630d6]
+                                     886 -[NSTextStorage endEditing]  (in UIFoundation) + 111  [0x7fff90f6b4af]
+                                       886 -[DVTTextStorage processEditing]  (in DVTKit) + 82  [0x10b063414]
+                                         886 -[NSTextStorage processEditing]  (in UIFoundation) + 190  [0x7fff90f6b7da]
+                                           886 -[DVTTextStorage invalidateAttributesInRange:]  (in DVTKit) + 211  [0x10b1a1b3c]
+                                             886 -[DVTTextStorage fixAttributesInRange:]  (in DVTKit) + 719  [0x10b082a1f]
+                                               886 _TToFE15KZLinkedConsoleCSo13NSTextStorage23kz_fixAttributesInRangefS0_FVSC8_NSRangeT_  (in KZLinkedConsole) + 80  [0x1182b8ee0]  NSTextStorage+Extensions.swift:0
+                                                 886 _TFE15KZLinkedConsoleCSo13NSTextStorageP33_071CB34855B3BCA24A9667F3084B0B6519injectLinksIntoLogsfS0_FT_T_  (in KZLinkedConsole) + 357  [0x1182b8205]  NSTextStorage+Extensions.swift:42
+                                                   886 -[NSRegularExpression(NSMatching) matchesInString:options:range:]  (in Foundation) + 159  [0x7fff8d64c4fb]
+                                                     886 -[NSRegularExpression(NSMatching) enumerateMatchesInString:options:range:usingBlock:]  (in Foundation) + 1251  [0x7fff8d64c9f0]
+                                                       886 uregex_findNext  (in libicucore.A.dylib) + 45  [0x7fff8df82459]
+                                                         886 icu::RegexMatcher::find(UErrorCode&)  (in libicucore.A.dylib) + 1419  [0x7fff8e0d3b01]
+                                                           886 icu::RegexMatcher::MatchAt(long long, signed char, UErrorCode&)  (in libicucore.A.dylib) + 12669,12665,...  [0x7fff8df85621,0x7fff8df8561d,...]

The issue is reproducible here and instantly goes away when removing the KZLinkedConsole plugin.

which log format are you using?

In this project I haven't (yet) changed to a compatible log format. However, it still shouldn't completely freeze Xcode, imo.

@futuretap of course it should not, I'm asking so we can find the issue causing it

So far I can reproduce it only on a very long LLDB print. Shorter ones work fine.

@futuretap Does https://github.com/ewanmellor/KZLinkedConsole/tree/async-processing help?

Indeed, this helps and I can't reproduce the error anymore in my specific case.

I have made PR #20.  This is the same code as mentioned just above, rebased onto current master.  That PR should fix this issue then.

While Xcode doesn't hang anymore, it constantly uses 200% CPU. I verified that KZLinkedConsole regex stuff hogs 2 threads in Xcode. The CPU is still hogged when I delete  the log which is embarrassing to me. Looks like the parsing job isn't cancelled.

@futuretap It's not doing that for me, and it's a regex so it shouldn't really run forever.  Can you get any debugging info?  A backtrace like the one at the start of this issue would be really useful.  Alternatively, you can run the plugin using Xcode as normal, and it will launch another version of Xcode and you can debug the whole plugin that way.  It would be great to know where that thread is spinning.
Also, are you using https://github.com/ewanmellor/KZLinkedConsole/tree/async-processing or PR #20? (Just in case something got screwed up in the merge.)

I'm using your branch. I tried to let it run at 200% and it eventually finished. But it took like 10 minutes. I admit, the dictionary I printed was a 150 KB JSON with some huge strings. Maybe the Regex can be optimized to only search in the first 100 characters of a line? It seems awfully inefficient. I'm on a tight schedule and can't debug the issue myself, so I've disabled the plugin for now. Have you tried testing with such large data?

OK, well my patch just moves the work to a background thread, it doesn't change how much work gets done.  A busy background thread is better than a hung UI thread of course.  You're right though that 10 minutes of regexing is an awful lot.  Searching only near the start of a line sounds like a good idea.

@futuretap Try https://github.com/ewanmellor/KZLinkedConsole/tree/search-near-start-of-lines

I'm assuming it's fixed now, let me know that's not the case

I just ran in an issue (in another project, not LinkedConsole), where icu::RegexMatcher::MatchAt is stuck at 99% CPU... and it was just acting on a 436 character string. It feels like there are bugs in the regex matcher. I suspect some cyrillic characters in my string, but not sure yet.


Dndungu/add coverage visibility

[Current coverage][cc-pull] is 100%

No coverage report found for master at daf0ff1.

Powered by Codecov. Last updated by [daf0ff1...59d1c81][cc-compare]
[cc-base-branch]: https://codecov.io/gh/zatiti/router/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/zatiti/router/compare/daf0ff1d7c8a26b5211bacd1e1576f0b6509676e...59d1c81dd14e722c2a9346b941f388d52d0e9e24
[cc-pull]: https://codecov.io/gh/zatiti/router/pull/9?src=pr


Create md5s script

Iterates through a gs directory and creates .md5 checksum files for each file in the directory. Useful for composite objects since GCP does not provide md5 checksums for these by default. Skips .crai and .tbi files as this will mostly be used on directories containing CRAM / gVCFs and their indexes - and the latter do not need checksums.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (ad85785) 69.74% compared to head (148d59a) 69.74%.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev     #635   +/-   ##
=======================================
  Coverage   69.74%   69.74%
=======================================
  Files         116      116
  Lines        9538     9538
=======================================
  Hits         6652     6652
  Misses       2886     2886

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Wheels for 32-bit Windows

Hi,
Is there a way to obtain (or build) wheels for 32-bit Windows?
Any help is appreciated.
Best

I have not made 32 bit a priority yet due to the complication it would
bring to automating the wheel creation process however. If you can get
everything you need to compile and make me a workflow with 32-bit support
added then it will happen. I can go as far as compiling you a libuv 32bit
.lib file though.
---------- Forwarded message ---------
From: Musharraf @.>
Date: Mon, Apr 15, 2024 at 8:54 AM
Subject: [Vizonex/Winloop] Wheels for 32-bit Windows (Issue #20)
To: Vizonex/Winloop @.>
CC: Subscribed @.***>
Hi,
Is there a way to obtain (or build) wheels for 32-bit Windows?
Any help is appreciated?
Best
—
Reply to this email directly, view it on GitHub
https://github.com/Vizonex/Winloop/issues/20, or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3K7GGRQ3XB2IH7XAQXUPM3Y5PLXRAVCNFSM6AAAAABGHNG7WKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI2DGNZVGQZTIMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

If you can provide me with a 32-bit lib, that would be helpful.

@mush42  I think I could do better, I have been thinking a lot about it and it actually would not be hard to tweak and then put into the next update

@mush42 I am having trouble with compiling a 32bit version for libuv so may need to wait a bit longer until I have the time to do so. I have been rather busy with other stuff going on.

@Vizonex
No problem at all.
Take your time!

@mush42 so I was able to come up with a solution but I will have to modify the vendor directory with my changes. So instead of using a precompiled binary such as .lib file I was able to compile all the C files directly which may solve compatibility issues with 32 bit operating systems since all someone would have to do after I have made my changes is to configure the workflow to add support for 32 bit wheels.

@mush42 See: https://github.com/Vizonex/Winloop/commit/0a510d32133488699d2d12b779bb6cb868b551fd https://github.com/Vizonex/Winloop/commit/ec7a4ed00ace8a66e5ac2162542f7702d5c38d59

@Vizonex  this works like a charm. Thanks!


Update MD file on new branch 2017-21-20_07-11-54

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


bintrayPublishing.gradle was updated to use project properties to ove…

…rride defaults; removed the bintray block override and added overrides in gradle.properties. Also added a project name override in settings.gradle so the plugin doesn't have a redundant "grails-" prefix in the name

sheehan » grails-console #137 SUCCESS
This pull request looks good
(what's this?)

sheehan » grails-console #138 SUCCESS
This pull request looks good
(what's this?)


Use a specific aka.ms/cli link in tsc --help for tsc CLI options

Suggestion
🔍 Search Terms
tsc cli help options aka ms aka.ms
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
Could an https://aka.ms/tsc-reference link be created that links to the TSC CLI options?
📃 Motivating Example
Right now the main aka.ms links used in tsc are:

The last text printed by tsc --help: https://aka.ms/tsconfig-reference
The first comment in tsc --init's tsconfig.json: https://aka.ms/tsconfig.json

# tsc --help
You can learn about all of the compiler options at https://aka.ms/tsconfig-reference

// tsconfig.json
/* Visit https://aka.ms/tsconfig.json to read more about this file */

The tsc --help one is a little confusing because most would, I think, associate "tsconfig" with specifically the tsconfig.json files. Both links go to the same place.
Could we change them to instead match and be something like:

The last text printed by tsc --help: https://aka.ms/tsc-reference
The first comment in tsc --init's tsconfig.json: https://aka.ms/tsconfig-reference

💻 Use Cases
I'm writing a Learning TypeScript book chapter on how to configure TypeScript that covers both the tsc CLI and TSConfig files. https://aka.ms/tsconfig.json is a great and useful link, but there isn't a friendly aka.ms permalink equivalent for the tsc CLI.

Link created; accepting PRs for the UI update

Oh @RyanCavanaugh, sorry, I just had an epiphany -- what do you think about aka.ms/tsc and aka.ms/tsconfig.json? I rather like them for matching the locations people are seeing them in...

Happy to make whichever links; they're easy to do from our side and helps people who only half-remember or half-type them

In that case, yes please to aka.ms/tsc and aka.ms/tsconfig.json :)


WIP: The DAG API

WIP, just adding notes and discussion here so that all parts are connected and nothing gets dropped

[ ] Review and agree on the DAG API spec

[x] dag.put
[x] dag.get
[x] dag.resolve
[x] dag.rm

[ ] Write down a series of examples to show it is capabilities

[ ] Resolving through formats
[ ] more? Any real case that we can grab directly and show the 'magic'?

[ ] Agree on https://github.com/ipfs/interface-ipfs-core/issues/81 (really important) for internals
[ ] Implementation

[ ] js-ipfs https://github.com/ipfs/interface-ipfs-core/pull/99
[ ] js-ipfs-api
[ ] http-api in go

I want to bring to the DAG API a way to manipulate IPLD objects through paths (aka Patch) and also, have a way to have workbenches where a lot of manipulations happen on a DAG, where checkpoints can be commited, reverted and `flushed.
More on the patch idea and discussion here
On the workbenches proposal, what I'm thinking is something along the lines of:
const wb = ipfs.dag.bench()
wb.put..
wb.put..
wb.patch..
const c1 = wb.commit.. // commits a root by pinCaching all of its nodes
...
const c2 = wb.commit.. //
...
wb.revert(c1) // revert to commit c1
..
wb.flush(rootOfTheDag)

This is something similar to what unixfs-engine is doing, what @whyrusleeping has done with DAG Builder and what @wanderer has done with https://github.com/wanderer/merkle-trie. Would love to get everyone's input, it is something super useful for DAG manipulation that a lot of other devs will have to reinvent if not available through the API. This will also enable IPFS to make smarter choices when it comes to providing (delayed providing), in memory caching (with watermarks) and so on.
First steps:

[ ] Enumerate the needs/concerns DAGBuilder, unixfs-engine and merkle-trie have, see what are those in common.
[ ] Agree on the verbs for this API

what will put and patch do differently?

also i wouldn't recommend the commit and revert mechanism, it can get really messy when working with it. I'm leaning to a copy method.
trie.put([path], value1)
trie2 = trie.copy()
trie.put([path], value2)
// trie2 doesn't have the second val
trie2.flush()

It is also nice because you can lazily copy the trie so its memory efficient

@wanderer
put - store a dag node (just this)
patch - given a CID, a path and a value, sets that value on the key represented by that path and bubbles up the changes to the root node (the CID passed), returning the new CID root

so if I have a vertex on a graph v1 and I want to create an edge e1 from it too v2, would I use v1.put(e1, v2)? or patch?

So far, with what is written (as in: please feel free to improve the API even if it has to be redone from scratch, just make sure it still works within the constraints/needs we have)
// using put
v1.linkToOtherNode = { '/' : cid(v2) }
ipfs.dag.put(v1)

// using patch
ipfs.dag.patch(v1, '/linkToOtherNode/', { '/': cid(v2) }

@diasdavid ok i see, i keep coming at  this from the point of view that the graph operation are methods on the vertices.
Would the ipfs.dag.bench only be writing operations? or would it also have a get and a fetching equivalent to patch?  Would it include more advanced graph operation such as finding the leafs in the graph?  and graph traversals?

@wanderer yeah, the idea o a bench is to create a workspace where nodes can be created and retrieved, creating a new DAG, but with the different that things only get flushed to disk under an explicit order, instead of per operation.

Would it include more advanced graph operation such as finding the leafs in the graph? and graph traversals?

We can expand the DAG API to have those features, yes. I believe @nicola has some ideas here

We also do this kind of patching when building our merkle-btree which is the core network visible data structure in Peergos.

@diasdavid  so i was digging around js-cid and when you do something like v1.linkToOtherNode = { '/' : cid(v2) } the cid needs to has v2.  We really want to avoid double hashing to be preformant.  Is there a way to modify the api so that we only need to store references in the ipfs.dag and only do hashing when flush is called?

I'm going to break this PR into 3 PR

DAG API basics (get, put, rm)
DAG resolve API
DAG workbench API


extended scale for covid cases plots

closes #1131
Prerequisites:

[x] Unless it is a hotfix it should be merged against the dev branch
[x] Branch is up-to-date with the branch to be merged with, i.e. dev
[x] Build is successful
[x] Code is cleaned up and formatted

Summary
see issue
please try it out, Currently it will only be done for covid-cases signal not for others.

Thank you Sam!  To me this looks like a nice improvement and I like it.
I wonder whether I'm biased by the fact I've already familiarized myself with the color scale, having looked at many of these plots at this point over on the issue #1131.
Before merging we may want get at least one more unbiased set of eyes to weigh in.
@capnrefsmmat @krivard @RoniRos Can one of you quick look and see what you think of the extended color scale for cases?  Click here for convenience.
For example, is it confusing that light purple is "worse" than dark red?
When we get approval from at least one of these folks, then we can merge this and we should be ready to launch v3.1 !!

For example, is it confusing that light purple is "worse" than dark red?

I think so, yes. I like the NYTimes scale because it's perceptually uniform, getting darker as it gets worse:

When it goes past red, it goes into a dark reddish purple. In the preview for this PR, the purple is more of a nice lavender that's more blue than red, and is much lighter than the lower case values.
I think if you took this scale, removed the lavender part of it, and made the darker purples a bit more red, it'd look good.

+1 Alex & Ryan (light purple > dark red is a problem.  NYT-like scale is good.)

Thanks Alex. @sgratzl Can you try what Alex suggests?

We should also be careful about contrast -- for example, in this screenshot OH, TX, and AK won't be legible for some users:

I can try to pick specific colors at specific points, but can we try something easier first?
Can we define the extended color scale by just two colors its two ends, medium purple and dark purple.
(Whereas now you start at light purple.)
For medium purple you could use something similar to 2220 on the color scale in Katie's screenshot above, i.e., around the color of Kansas (KS).
For dark purple, the current end of the color scale, i.e., the color of Florida (FL).
We can see how that looks----there might not be enough diversity in the gradient between those two end colors, but we can try.

with
#7c187d to #4d014a

I think it looks good, it has the disadvantage that there's not as much diversity in the "extended range" so it's hard to tell those colors apart, but I think this is about as good as we can get right now, and we should move on.
Thanks for all the iteration Sam.

@sgratzl @krivard This wraps up v3.1. So once this is merged, we should make a release.


Need better placeholder when torrent screenshot is not ready yet

When there's not enough data to show a torrent screenshot, the background is black:

We can do better.

Hash the blob obtained so far, map the hash to a value from a list of light/soft/solarized colors and use that as the background. :3

@giuscri sounds fun but I think that would prove rather expensive. I tried something simple in #57.

Fixed in #57


Invoke contracts' payable method on asset Transfers

I would love that smart contracts could react to asset transfers, I'm not talking about the Mint function, but rather that a smart contract can react, execute, upon receiving NEO or any asset.
(remember our old friend AplicationR from NEP7?)
After studying several options we found that the solution is right in front of us.
In Native Contracts (NEO/GAS) we can add a call to the address in if the destination is a contract.
In the Transfer method of the native contracts we can include a check of whether the destination account is a contract address, check if it has the payable flag and if so, invoke a specific method of the contract, for example bool Payable()
Payable method can be included in the NEP5 standard and must return True if everything is correct or throw an exception otherwise.
In this way smart contracts can react to payments without users having to build a special transaction, invoke Mint or whatever.
Therefore, Mint invocations won't need a second APPCALL, saving network and blockchain resources.
It also gives to the contract full management of received payments such as denying money receipts, issuing refunds, etc ...

@erikzhang @shargon I think I found an interesting solution for this. Please correct me if I missed some recent development.
Suppose we don't make contracts pay for dynamic invoke during deployment, but we make users pay (or not) for it, during invocations (a tiny extra cost).
User wallets will likely disable this, unless they need it (as a failed dynamic invoke would cause FAULT if non paid).
Now, before invoking the "payable" method on other contract, we execute some Interop that requires Manifest/MethodList and verify that the remote contract actually requires some payable "reaction".
Ok, now its easy for wallets: if destination requires payable action, it enables dynamic invoke, otherwise it doesn't (and user saves gas).
In any case, this NEP will still be necessary for NEP5 to declare its "willigness" to call remote payable, but I think this resolves the "dynamic invoke dillema".

Maybe we can add a new SYSCALL: Contract.CallIfExists(). Or we can just add a new flag to CallFlags.

Good idea @erikzhang , automatically checks manifest, simplify a lot coding.
Regarding users paying dynamic invoke fees per execution call, only if needed, instead of contract paying bigger amounts... do you see something like this reasonable? Good thing is that becomes easier to execute parallel tx, if dyn invoke fees are not required in that precise tx.

I'm sorry I think CallIfExists is not a good idea. When you call a contract, you might expect a return value. But if the method does not exist, then there is no return value. Maybe we can add a new SYSCALL Contract.MethodExists() to detect whether the method exists.

Makes sense Erik, otherwise it would require some advanced C# "out" abstraction, to express meaning on smart contract. MethodExists is good enough.

I'm sorry I think CallIfExists is not a good idea. When you call a contract, you might expect a return value. But if the method does not exist, then there is no return value. Maybe we can add a new SYSCALL Contract.MethodExists() to detect whether the method exists.

Maybe we can force this syscall if it has a empty return? for this case we need a void

Maybe we can force this syscall if it has a empty return? for this case we need a void

But if this is the case, how do you tell whether the call was successful?

If it doesn't throw an exception.
Maybe we can create a syscall for this, EmitPayment, generate the payment and if it doesn't exists push a value.

I think system-induced invocations don't have any of these problems. onPayment doesn't exist? OK, moving on without invocation. onPayment returns an error? It will always be properly handled. onPayment throws an exception? We can guarantee that it'll be handled by aborting the execution.

If I understood correctly @shargon , a MethodExists is better because its it never throws exception , always boolean. If the call throws,  it could be that it was an error in the method itself (but it exists). So you neeed to catch specific exception, like "methodNorFound", but what happens if your call tries to call other method that doesn't exist... will you know that payable method exists but it failed (so you must fail) or you think method doesn't exist and proceed besides the error (that will cause inconsistency on the contract expecting payable method execution)?
On the other hand, exception approach is good when we dont need to specify parametee lists for MethodExists... if it works, it doesn't throw, naturally.


sign download_all crash

Issue Description
When running bundle exec fastlane sigh download_all --verbose --download_xcode_profiles we are seeing a crash downloading provision profiles.   It appears that it has to do with a default keychain, but the crash does not appear on a fresh reboot.  Unclear what is missing or changing
Issue started recently ~4/25/2018

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

bundle exec fastlane sigh download_all --verbose --download_xcode_profiles
Successfully loaded Appfile at path '/Users/buildbot/.jenkins/workspace/Client Projects/Airway_Baxter_Suprane_iOS/BuildTools/fastlane/Appfile'

apple_id<EMAIL_ADDRESS>itunes_connect_id<EMAIL_ADDRESS>team_id: 'REDACTED_TEAM_ID'

INFO [2018-05-29 12:20:45.81]: Starting login with user<EMAIL_ADDRESS>INFO [2018-05-29 12:20:48.82]: Successfully logged in
INFO [2018-05-29 12:20:50.40]: Downloading profile 'Pulm EX Development'...
ERROR [2018-05-29 12:20:50.89]: Failure to decode ./Development_d6b39736-08f9-485c-8db2-5fa90d34eed7_com.levelex.pulm.mobileprovision. Exit: 1: security: cert import failed: A default keychain could not be found.
security: problem decoding

Environment

Gem
Version
Update-Status

fastlane
2.96.1
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

slack-notifier
2.3.2

atomos
0.1.2

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.5

xcodeproj
1.5.9

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

terminal-table
1.8.0

plist
3.4.0

public_suffix
2.0.5

addressable
2.5.2

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.6.4

tty-cursor
0.5.0

tty-spinner
0.8.0

babosa
1.0.2

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

gh_inspector
1.1.3

mini_magick
4.5.1

multi_json
1.13.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
1.0.0

bundler
1.16.1

faraday_middleware
0.12.2

naturally
2.1.0

simctl
1.6.4

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.1

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

logging
2.2.2

jwt
2.1.0

memoist
0.16.0

os
0.9.6

signet
0.8.1

googleauth
0.6.2

httpclient
2.8.3

google-api-client
0.21.2

emoji_regex
0.1.1

io-console
0.4.5

excon
0.62.0

CFPropertyList
3.0.0

libxml-ruby
2.9.0

faraday
0.15.2

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20180417

fastimage
2.1.3

json
2.1.0

[INSERT OUTPUT HERE]

It appears that UE4 may be interfering with something fastlane is depending on.
Reboot OSX Machine
Build using fastlane on OSX machine = Success
Remote build UE4 project on OSX machine
Build using fastlane on OSX machine = security crash

@kevinlevelex I can't tell from this but if this is being down from an SSH session, keychains are usually not accessibly. But it does look like something is removing your default keychain from your keychain path.
Does security list-keychains list login.keychain-db before your UE4 build and but after?


chore: improve code style

Some changes from #455 that I'd like to see in master.
/cc @awwit

@broofa I would like to merge this subset of #455 into master first before I merge #455 into a new development branch.


Enhance Configuration Management Documentation

There is little information on how to setup and use configurations in Azure Core, there should be code samples and scenarios in the README for Azure Core.

Resolved by this wiki https://github.com/Azure/azure-sdk-for-java/wiki/Configuration


Import Syntax

Just something I thought I'd throw out there -- A slight change to the import syntax.
Currently you do import "test" for test1, test2.  While this is understandable, it seems a little unintuitive to me.
I think something along the lines of import test1, test2 from "test" or from "test" import test1, test2, if you want to go the python route, would perhaps be more intuitive. (Dropping the quotes would also be preferred.)

Ah, it's good that you brought this up. I would like to do some improvements here, though every attempt I've made so far hasn't panned out. At the very least, I should write down my thoughts on how it was designed and how it differs from Python.
In Python, you are always importing objects and binding them to variables. When you do:
import thing

Python looks up a module (also named "thing"), and then creates a top level variable in your module bound to that module object.
When you do:
from thing import stuff

Python looks up a module "thing", and then creates a top level variable "stuff" bound to "stuff" from that module.
So, in Python, the object of the verb "import" is always the variable that gets created in your top level scope. It also coincidentally refers to the name of the module you are importing in the import foo form, but that's a shorthand. The primary meaning of "import" is "what variables should I create".
Given that, a form like:
import thing for stuff

Wouldn't make sense in Python. You don't import modules, you import variables. "thing" isn't being imported, "stuff" is.
The challenge Python faced, then is how to arrange the syntax when you want to import a list of variables from a module. If you have some syntactic form that takes an open-ended list, you usually want that to be at the tail end. Otherwise, it's too easy for the reader to miss any important bits after the list. Imagine if Python had chosen this syntax instead of from:
import stuff from thing

You'll notice that actually reads a little more naturally than the syntax they did choose. In common speech, we rarely put a "from" clause first. The problem is that this syntax doesn't scale well:
import stuff, more_stuff, lot_of_stuff, so_much_stuff, yeah_lots from thing

It's hard to find the important from thing bit at the end. So they rearranged the clauses even though they read a little weirder that way, and even though it means every import line doesn't start with the same keyword.

Wren is different. In Wren, the object of "import" is the module itself. In Wren, you can do:
import "foo"

This imports a module, but it binds no variables at all, so "import" isn't about variables, it's about loading code. You can also bind variables (and in practice you almost always do), but that's secondary.
That lets us avoid the flipped syntax Python needs to do. We can have syntax that always starts with the module to import, and is then followed by the optional list of variables to bind. The remaining question is what keyword to use. Conveniently, I think for has about the right meaning and is already a reserved word, so I picked that:
import "thing"
import "thing" for stuff

The nice thing is that it means a series of import lines always start the same way, even if some bind variables and some don't. At the same time, the variable list is at the end, which is good in case it gets long:
import "thing"
import "thing" for stuff, more_stuff, lot_of_stuff, so_much_stuff, yeah_lots

There are still some improvements we could make. The syntax feels annoyingly redundant in the common case where a module exposes a single class:
import "scheduler" for Scheduler

And I wouldn't mind an unquoted form either. The nice thing about quoting it is that it gives an opaque string we can hand directly to the host application, so it decouples the VM itself from details of module resolution.
Still, import syntax (and semantics) is on my list of things to revisit once we have more third-party code, and more code reuse in general. At the time I designed the syntax, there literally were no Wren programs that were broken into multiple files, so it was hard to get a sense for how the syntax worked out in practice.
This was the best I could come up with at the time, but I wouldn't be surprised if we could improve it. I'll leave this bug open so we can track that, though my personal feeling is that adopting Python's syntax in particular wouldn't be an improvement.

To me the unquoted version is just a parser difference, what it finds, and how it treats what it finds can still be treated as a plain string just as it is now.
This gets a bit weird is when the import would contain anything more than a simple singular name like the common example. Originally I had thought that the quotes were redundant but after playing with more importing styles (like import "some/file/from/folder" or like dart import "some:thing/here.dart") it may reduce clarity when these get longer:
import some:thing/from/some/other.dart for Something
import https://gist.github.com/something/else.wren for Else
import "some:thing/from/some/other.dart" for Something
import "https://gist.github.com/something/else.wren" for Else

It might not complicate the parsing (since the end marker is always for or new line) but the quotes definitely separate where the module name starts and ends for reading. This could also be handled by the syntax highlighting, but I use js syntax above to make a point: it also has to deal with keywords being inside of the import string and it gets hairy pretty quickly.
I'm of the opinion at the moment that the quotes are a bit clearer, and simpler.

I use js syntax above to make a point: it also has to deal with keywords being inside of the import string and it could get tricky pretty quickly.

Yes, there are a couple of other cases where a user might be surprised how the tokenizer handles what they informally think of an import "string:
import pointless/double//slash/is/valid/path for Something
// Oops! That's a line comment!

import ../from/parent/directory
// Oops! That's a range operator.

The latter we could handle by special casing it. The former is a lot trickier. :) If we were to allow unquoted imports, I think we'd want to limit them to a series of dotted identifiers as in Java, C#, Python.

Right yea!
I do like the flexibility of making the import use case specific on the vm side, i.e just the plain string. This can be interpreted however desired... so I haven't thought about there being a dotted or "uniform import syntax". Those usually follow some form of rules relating to folders, which makes sense if you have a class path construct to look up modules, but in the current vm model it's designed to allow the user to load the modules from wherever it needs to, right? I'd be curious if there's an overlap of consistent import specifier and flexibility to reinterpret that .

it's designed to allow the user to load the modules from wherever it needs to, right?

Exactly right.

I would suggest that the plain import 'x' syntax, if the module x provides a top level variable 'X', would import that implicitly.

That feels a little magical to me. We'd also have to handle cases like:
import "foo_bar"

Providing a top level variable named FooBar. Having the rules to translate between underscore_separated and CamelCase encoded into the language and VM feels pretty sketchy to me. What happens when you do:
import "ftp_stuff"

And expect that to create a variable named FTPStuff, not FtpStuff?
Don't get me wrong. I don't like the redundancy either, but I think the right direction—if we do anything—is to probably infer the import path from the imported identifier, and not vice versa.
This is something I think will probably need some changes.

One thing I would request - file relative imports.

Oh, yes! I feel your pain. I know the current behavior doesn't really work at all.
This is something I have some experience with, since I wrote the package manager for Dart and dealt with all of the underlying machinery around how references to other files are resolved. It's not simple.
What we have in Wren today is clearly not sufficient, but getting to a good solution will take some work and I haven't carved out the time yet. Relative imports are part of that.

That feels a little magical to me.

That's a misunderstanding. He was suggesting that importing any module without specifying any "for", will import all that modules top-level variables in the current scope.
I think it's a nice suggestion, and it would be especially useful when a lot of classes are exposed by a module. However, I think there are problems with name collisions. Also, there would be no way left to import a module without binding any variables. I would personally propose this to work more like:
import "foo_bar" as fb

Now, there would be a local variable fb through which you could access any top-level variables in the "foo_bar" module.

He was suggesting that importing any module without specifying any "for", will import all that modules top-level variables in the current scope.

Ah, OK.
That would be nice, but I've deliberately avoided that, for probably non-obvious reasons. By design, if you look at a single Wren source file, you can tell where every variable is declared. You don't need to actually know the contents of any other file that you're referencing. For static analyis, and general readability, I think that's a nice property to maintain, though it does make imports a bit more verbose.

I would personally propose this to work more like:
import "foo_bar" as fb

Now, there would be a local variable fb through which you could access any top-level variables in the "foo_bar" module.

Yes! This would preserve the above property because then the "names" you import become dynamically dispatched members on the lexically scoped fb.
Alas, I have yet to come up with an implementation for this that I like. Several months ago, I spent a ton of time trying out a lot of different experimental ways to make modules work more like first-class objects. I failed to get anything that hung together well. Every approach I tried had some nice properties but some other really bad ones, and I eventually gave up. For now at least. :(

A commonjs style import wouldn't require any grammar. It's pretty great in terms of how everything that gets imported is explicitly named by the importer (no variable clobbering and no need to disambiguate with namespaces, etc). I think a lot of developers would find it pretty easy to reason about since its been in nodejs/front end tooling for so long now (also the behavior is well defined)... It seems like a pretty natural fit...
var x = require('./foo') // a local module
var x = require('foo') // a core module or an installed module

PR #327 is awesome!

Personally, I like the current model of npm, supporting nested dependencies, but trying to flatten as much as possible.

It might be good for the syntax to require strings, like import "foo" as foo, so the VM users can define their own module resolution algorithm, or extend the default one. For example, one might want to support import "res://foo" as foo and import "doc://bar" as bar to load code from an applications resources or its documents directory on iOS. Another possibility is adding loading code over the network like import "http://example.com/code".

That's already how it works yea :) You implement the load callback and it handles you the string that was imported and can do whatever, which is great.

I meant specifically to allow that capability in addition to a more structured module resolution system, with support for overriding or extending in some way. So one could have something like:
// Attempt to find module with custom resolver (maybe using "res://foo" style)
module = customResolver(key)

// If customResolver returned null it'll flow into the default resolver
if (!module) {
  // "foo" maps to "wren_modules/foo" or something like that.
  module = defaultResolver(key)
}

I still want a more capable default resolution algorithm.

In the CLI, it makes a lot of sense to have some well defined resolution - as discussed above.
Not that you're suggesting it be in the vm level - but rather to be more exact in my appreciation of how it works right now - I'll add some notes from some practical use on the vm level.
I don't see any benefit of an additional (potentially conflicting/confusing for end users) model in the vm. The vm obviously does not know anything about os filesystems it may be running on (packed binary files, game consoles, networked or imaged data, android apk = zip file, etc), and must not. Therefore in every one of those situations, it's of little use. Then there's the issue of user facing scripting (modding), where sandboxing is almost 100% going to be done as step one, so I'd have to explicitly ignore this code path there as well.
When viewed as a 99.9% use case of custom resolution and the tiny percent in the other code path, lugging around a potentially complex import system and IO systems to support it just seems unhelpful from an vm embedding perspective.
Though it's worth mentioning the idea of an optional (but not internal) vm module (like random) that implements this type of resolution and acts as an adapter lets you have it both ways. myloader -> vm becomes myloader -> customloader -> vm. The custom loader accepts a load function and vm, and behaves like a drop in module that does what you're after.
All aside, the CLI part having some resolution process might be useful.


Organize the code-base

Organize the code-base of the program.

Organize the keybindings code
Organize the physics and collision code (engine code)

File structure:

src/engine/ directory

src/engine/collision.cpp
src/engine/collision.hpp
src/engine/physics.cpp
src/engine/physics.hpp

src/keybindings/ directory

src/keybindings/keybindings.cpp
src/keybindings/keybindings.hpp

git fetch origin
git checkout 34-organize-the-code-base


How can I obtain the CVE of the vulnerabilities?

Hi,
Is there a way of print a report including CVE id of the vulnerabilities?

You can get it from here.. https://github.com/pyupio/safety-db/blob/master/data/insecure_full.json
But this also doesn't have all the CVE. Some of them are NULL.
If its not just python you can get the common vulnerabilities ON CVE website https://cve.mitre.org/cve/search_cve_list.html

Please include the CVE in the report:
First, this line should be adapted
https://github.com/pyupio/safety/blob/955de595563482f103d5b7871598ce582baeafbd/safety/safety.py#L14
And then this one https://github.com/pyupio/safety/blob/955de595563482f103d5b7871598ce582baeafbd/safety/safety.py#L145

A little data enrichment in the report could go a long ways.

Just in case, you can use the --full-report option. Let me know if that is not enough.

I realise this is an old issue so happy to open a new one, but it would really help if the "cve" field from insecure_full.json was returned by safety.check. I don't see any equivalent to the --full-report option you mentioned, for use when calling check() programmatically.


Support multi chain config in FeeMarket

Different bridged chain should have different config such as collateralPerOrder, priceRatio etc.

what do you mean?
the market fee is getting from storage. so I think this can be implemented through multi storage keys. A storage key contains the the pallet name.

One FeeMarket only serve for one bridge.


Find better mechanism for syncing

Per this comment by @TomFrost - using rsync is going to have scans and syncs running full-throttle which is resource intensive. Need to find a solution which doesn't cause such heavy utilization and more elegantly syncs back to the host-mounted volume.

Current Plan:

Slow down rsync ops to 30-60m cycles to prevent heavy runs and CPU spikes.
Have sync operations generate a "lockfile" to prevent multiple, concurrent runs, release on complete and check timestamp on existing to handle next-run checks
Add a termination trap task on the container to ensure when container is exited it runs a final sync.
(Maybe) add --bwlimit to rsync to throttle


Display changes in framework statistics over time

Use audit events rather than calling API directly
Previously the stats page called the API on every page load. It could only get the latest data.
This commit changes the stats page to get its data from audit events instead, where the stats are/will be snapshotted every hour, as per: alphagov/digitalmarketplace-api#222
TL;DR:

less expensive API calls
potential for showing change in data over time

Get basic charts on the page
This commit creates charts using C3. Chosen because it is

MIT licensed (unline some other JS charting libraries)
D3 based, which means the results look similar to Performance Platform

The code written in this commit extracts data from the tables on the statistics page and then passes it to C3 to generate the charts.
Refine appearance and behaviour of charts
Including:

some non-canon date formatting
using a time series for the x axis, so that the points are properly spaced, even if they don't get captured at regular intervals
using stacked area charts for most of the data (this seemed to make sense last time)
some variations (colour, tooltip) depending on whether the page is being viewed in big screen mode or not

:+1: