deletes temp files without merging??

hi Franiac and thanks so much for all your hard work.
i read through the 5 most recent pages of closed issues and mine appears to be different from the others.
running version 2.0.3 on Windows 8.1
trying to download streams from https://www.twitch.tv/insomniac_rap
as far as i can tell, it finishes downloading all the chunks, and says it's going to merge them into one file... but then it deletes the temp files without the merge actually happening??  here is the log text:
Download task has been started!
TWITCH LEECHER INFO
Version: 2.0.3
VOD INFO
VOD ID:<PHONE_NUMBER>
Selected Quality: 360p (640x360)
Download Url: https://www.twitch.tv/videos/1283757675
Crop Start: No
Crop End: No
OUTPUT INFO
Disable Conversion: Yes
Output File: C:\Users\isaacq\Downloads\twitchvids\Insomniac_rap\20220201_1283757675_freestyle rhymes, bonus daytime bars.ts
FFMPEG Path: C:\Program Files\Twitch Leecher\ffmpeg.exe
Temporary Download Folder: C:\Users\isaacq\Downloads\twitchvids\9e558d8594e64695bcbfc3b14dd69aff
Retrieving VOD access information... done!
ACCESS INFO
Token: %7B%22authorization%22%3A%7B%22forbidden%22%3Afalse%2C%22reason%22%3A%22%22%7D%2C%22chansub%22%3A%7B%22restricted_bitrates%22%3A%5B%5D%7D%2C%22device_id%22%3Anull%2C%22expires%22%3A1644981090%2C%22https_required%22%3Atrue%2C%22privileged%22%3Afalse%2C%22user_id%22%3A464457110%2C%22version%22%3A2%2C%22vod_id%22%3A1283757675%7D
Signature: 14fae7457bf6ba000baf13913c81c1daf7aa7760
Sub-Only: No
Privileged: No
Creating temporary download directory 'C:\Users\isaacq\Downloads\twitchvids\9e558d8594e64695bcbfc3b14dd69aff'... done!
Retrieving playlist information for all VOD qualities... done!
PLAYLIST INFO
Playlist for quality '720p' is 'https://d1m7jfoe9zdc1j.cloudfront.net/cd8726e73767cb114060_insomniac_rap_45372164941_1643752848/chunked/index-dvr.m3u8'
Playlist for quality '720p' is 'https://d1m7jfoe9zdc1j.cloudfront.net/cd8726e73767cb114060_insomniac_rap_45372164941_1643752848/720p30/index-dvr.m3u8'
Playlist for quality '480p' is 'https://d1m7jfoe9zdc1j.cloudfront.net/cd8726e73767cb114060_insomniac_rap_45372164941_1643752848/480p30/index-dvr.m3u8'
Playlist for quality 'Audio Only' is 'https://d1m7jfoe9zdc1j.cloudfront.net/cd8726e73767cb114060_insomniac_rap_45372164941_1643752848/audio_only/index-dvr.m3u8'
Playlist for quality '360p' is 'https://d1m7jfoe9zdc1j.cloudfront.net/cd8726e73767cb114060_insomniac_rap_45372164941_1643752848/360p30/index-dvr.m3u8'
Playlist for quality '160p' is 'https://d1m7jfoe9zdc1j.cloudfront.net/cd8726e73767cb114060_insomniac_rap_45372164941_1643752848/160p30/index-dvr.m3u8'
Playlist url for selected quality '360p (640x360)' is 'https://d1m7jfoe9zdc1j.cloudfront.net/cd8726e73767cb114060_insomniac_rap_45372164941_1643752848/360p30/index-dvr.m3u8'
Retrieving playlist... done!
Parsing playlist... done!
Number of video chunks: 757
Starting parallel video chunk download
Number of video chunks to download: 757
Maximum connection count: 10
Parallel video chunk download is running...
Download of all video chunks complete!
Merging all VOD parts into 'C:\Users\isaacq\Downloads\twitchvids\Insomniac_rap\20220201_1283757675_freestyle rhymes, bonus daytime bars.ts'...
Starting temporary download folder cleanup!
Deleting directory 'C:\Users\isaacq\Downloads\twitchvids\9e558d8594e64695bcbfc3b14dd69aff'... done!
Download task ended with an error!
System.AggregateException: One or more errors occurred. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\isaacq\Downloads\twitchvids\Insomniac_rap\20220201_1283757675_freestyle rhymes, bonus daytime bars.ts'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
at TwitchLeecher.Services.Services.ProcessingService.ConcatParts(Action1 log, Action1 setStatus, Action1 setProgress, TwitchPlaylist vodPlaylist, String concatFile)    at TwitchLeecher.Services.Services.DownloadService.<>c__DisplayClass19_0.<StartQueuedDownloadIfExists>b__2()    at System.Threading.Tasks.Task.Execute()    --- End of inner exception stack trace --- ---> (Inner Exception #0) System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\isaacq\Downloads\twitchvids\Insomniac_rap\20220201_1283757675_freestyle rhymes, bonus daytime bars.ts'.    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)    at TwitchLeecher.Services.Services.ProcessingService.ConcatParts(Action1 log, Action1 setStatus, Action1 setProgress, TwitchPlaylist vodPlaylist, String concatFile)
at TwitchLeecher.Services.Services.DownloadService.<>c__DisplayClass19_0.b__2()
at System.Threading.Tasks.Task.Execute()<---

'C:\Users\isaacq\Downloads\twitchvids\Insomniac_rap\20220201_1283757675_freestyle rhymes, bonus daytime bars.ts

seems like a part of this path is not existing. I am unsure actually if the filename is also a problem. Please check if the path C:\Users\isaacq\Downloads\twitchvids\Insomniac_rap actually exists. And as a test, you could go for a very simple filename like test.ts or simething, because maybe the colon in the filename is an issue.
Cannot put my finger on it yet...

the problem is definitely related to the title of the stream, as it worked fine when i changed my filename template to include just the date and stream ID.  thanks for your quick reply!

hmmm, it seems ffmpeg.exe (the tool that converts the .ts file to .mp4) does not like colons. Windows has no problem with it and TL substitutes illegal characters with an underscore already. Seems that I need another illegal characters list....

so I have tried a lot of things and I cannot replicate this error. I have tried the exact same title you got and I saw you did not even have mp4 conversion enabled. So I don't actually know what the problem on your end was. I will close this as unresolved. Maybe it was just a temporary permission issue and another process (like Explorer) blocked the path.


Details panel should default closed and can be toggled open; table horiz scrolling obvious

This can be done with a toggle action button, perhaps
Also, make QSL table's horizontal scrolling ability obvious to user (currently, user might not even know it's possible). Probably want to have horiz scroll bar that is always visible.
Maybe even at top of table rather than bottom? Experiment with this.

I tried it today. It is not easy to use. drag the panel out behaves exactly the same as resize the browser window. 2/3 I accidentally resize the window instead of expand the panel.


setup: upgrade edtf to 5.0.0 and fix bug with dates and times with hour 23 & release: v1.2.0

Fixes #11
:heart: Thank you for your contribution!
Description
See description of the bug in #11.

The bug is coming from the underlying version 4.0.1 of the PyPI package edtf (repo ixc/python-edtf) which we are currently using.
The version 5.0.0 of this package was released in July 2024 after many years of inactivity.
Version 5.0.0 does not have this bug.

The pull request can be reviewed commit by commit.
Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:

[x] I'm aware of the code of conduct.
[x] I've created logical separate commits and followed the commit message format.
[x] I've added relevant test cases.
[x] I've added relevant documentation.
[x] I've marked translation strings.
[x] I've identified the copyright holder(s) and updated copyright headers for touched files (>15 lines contributions).
[x] I've NOT included third-party code (copy/pasted source code or new dependencies).

If you have added third-party code (copy/pasted or new dependencies), please reach out to an architect.

Frontend

[x] I've followed the CSS/JS and React guidelines.
[x] I've followed the web accessibility guidelines.
[x] I've followed the user interface guidelines.

Reminder
By using GitHub, you have already agreed to the GitHub’s Terms of Service including that:

You license your contribution under the same terms as the current repository’s license.
You agree that you have the right to license your contribution under the current repository’s license.

Just updated the release date in the changelog.

@ptamarit thanks for fixing this! It would be good to also update downstream dependencies such as marshmallow-utils and invenio-records-resources so that this fix can also be applied to current InvenioRDM instances (v12 and maybe earlier versions).

One thing we noticed is that the previous version of the library could parse an input like "2024 - 11 - 07" while the new version does not accept spaces.

@ptamarit thanks for fixing this! It would be good to also update downstream dependencies such as marshmallow-utils and invenio-records-resources so that this fix can also be applied to current InvenioRDM instances (v12 and maybe earlier versions).

I did bump dependencies on the InvenioRDM v12 demo instance and then managed to publish a record with the date 1985-04-12T23:20:30.


pkg:meta - Add TargetKind.enumValue (or similar)

I have a case where an annotation is only valid on the values/members/whatever of an enum.
enum Foo {
  @JsonValue('bob')
  robert
}

I'd love to be able to do
@Target({TargetKind.enumEntry})
class JsonValue {
...

See https://github.com/google/json_serializable.dart/issues/616

Sounds reasonable to me. I'd name it enumConstant.
I don't know whether adding a target kind would be a breaking change, but hopefully not.

We should chat with @scheglov – I think we've had issues  with adding here before...and avoiding breaks!

Adding a new enum value is formally a breaking change, it breaks any switch statement making it non-exhaustive. My understanding is that we decided that for meta we allow such breakage and don't expect that there are other consumers of meta than analyzer, that use TargetKind, and the analyzer itself uses TargetKindExtension to encapsulate the switch.
So, we might be fine to add it.


Added default theme kill switch

Apparently https://github.com/silverstripe/silverstripe-docsviewer/pull/86 wasn't 100%, so here's an alternative.

The failing test was failing before this PR.
@camfindlay please fix it at some point. ;)


b/325335791 Extend existing activation

Allow users to extend an activation by requesting it again.
No backend changes required as the backend (as of 1.6)
ignores existing activations in the authorization check.
Implements #141

Obsoleted by #283


[Feat]: Add GitHub Actions for Release and Changelog

What feature?
I have an idea to use GitHub Actions to automate the release and changelog creation process.
Add screenshots
Add screenshots
Code of Conduct

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

Ok, So I'm working on that!


feat: improve message formatting

add slack-block-builder dependency to improve
message formatting.

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


PR: Fix conflict between AsyncDispatcher and run_sync function of jupyter_core

Description of Changes

[X] Wrote at least one-line docstrings (for any new functions)
[X] Added unit test(s) covering the changes (if testable)

Allow AsyncDispatcher to get the "main thread" running loop without depending on asyncio.set_event_loop and asyncio.get_running_loop so it won't trigger conflict with how jupyter_core.utils.run_sync handles creating, setting and executing event loops.
Also, refactor type hints to help with hinting decoreted async functions.
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:
@hlouzada

Hello @hlouzada! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/api/asyncdispatcher.py:

Line 102:13: E125 continuation line with same indent as next logical line
Line 232:34: E221 multiple spaces before operator

@dalthviz, could you check that you can start remote consoles on Windows with this PR? Thanks!
@hlouzada discovered that these fixes are necessary mainly there (although they'll be useful for Linux and Mac too).

Gave this a check on Windows and got some different behaviors. In an old dev env I have I'm got a RuntimeError:
Traceback (most recent call last):
  File "e:\acer\documentos\spyder\spyder otros\hlouzada\spyder\external-deps\qtconsole\qtconsole\manager.py", line 27, in poll
    super().poll()
  File "C:\Users\dalth\anaconda3\envs\spyder-dev\lib\site-packages\jupyter_client\restarter.py", line 121, in poll
    if not self.kernel_manager.is_alive():
  File "C:\Users\dalth\anaconda3\envs\spyder-dev\lib\site-packages\jupyter_core\utils\__init__.py", line 173, in wrapped
    return loop.run_until_complete(inner)
  File "C:\Users\dalth\anaconda3\envs\spyder-dev\lib\asyncio\base_events.py", line 625, in run_until_complete
    self._check_running()
  File "C:\Users\dalth\anaconda3\envs\spyder-dev\lib\asyncio\base_events.py", line 584, in _check_running
    raise RuntimeError('This event loop is already running')
RuntimeError: This event loop is already running
Traceback (most recent call last):
  File "e:\acer\documentos\spyder\spyder otros\hlouzada\spyder\external-deps\qtconsole\qtconsole\manager.py", line 27, in poll
    super().poll()
  File "C:\Users\dalth\anaconda3\envs\spyder-dev\lib\site-packages\jupyter_client\restarter.py", line 121, in poll
    if not self.kernel_manager.is_alive():
  File "C:\Users\dalth\anaconda3\envs\spyder-dev\lib\site-packages\jupyter_core\utils\__init__.py", line 173, in wrapped
    return loop.run_until_complete(inner)
  File "C:\Users\dalth\anaconda3\envs\spyder-dev\lib\asyncio\base_events.py", line 625, in run_until_complete
    self._check_running()
  File "C:\Users\dalth\anaconda3\envs\spyder-dev\lib\asyncio\base_events.py", line 584, in _check_running
    raise RuntimeError('This event loop is already running')
RuntimeError: This event loop is already running

However, in a newer env I got just the connection dialog showing that the connection errored (when using the container private ip):

Checking the container files did a test using localhost/<IP_ADDRESS> and the mapped port and I got a connection to be stablished but then all you see is the console restarting continuously:

and for some reason from the cmd that I used to lauch Spyder seems like the script to install spyder on dev mode starts to run?:

Also, after closing Spyder, I still got some output:

so I had to interrupt things (Ctrl + C):

Just in case, did a check on a Linux VM and I got the same restarting kernel behavior when conneting:

Maybe I'm missing setting up something? 🤔

Maybe I'm missing setting up something? 🤔

After some digging, @hlouzada and @dalthviz think this could be due to a networking in @dalthviz's system. However, we'll continue to investigate that and try to find the problem before 6.0 final is released.


test: fibonacci(55); check works correct memoization

Description

Resolves #(issue number)
What does your PR belong to?

[ ] Website
[ ] Snippets
[ ] General / Things regarding the repository (like CI Integration)
[x] Tests

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (non-breaking improvement of a snippet)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have checked that the changes are working properly
[x] I have checked that there isn't any PR doing the same
[x] I have read the CONTRIBUTING document.

@Chalarangelo how you wanna to check if memoization is worked in Fibonacci function?

@Chalarangelo  PR updated, pls look at code changes


Support for pointy-top layout

This is a great implementation of the hex grid library. I'm missing the layout option for pointy-topped hexagons however. I'm using this tileset which only has pointy-topped hexagons.
The implementation could be made to take the layout orientation into account (see e.g. https://github.com/droxmusic/HexMap/blob/master/HexMap/HexMap.gd).
I hope you'll consider this addition or, alternatively, have some pointers on how to convert your library into using a pointy-topped layout. Thanks!

Hi, thanks, and sorry for the slow response. I've been out of the Godot-verse for a while.
The first way to implement point-top hexes that comes to mind is to use flat-top orientation, and simply rotate the camera! :laughing:
It would be nice to implement pointy-topped natively, but I'm concerned about how much more complicated (or duplicated) it would make the calculation code. I wonder how useful it would be just for HexGrid to be able to automatically convert godot<->grid coordinates in either flat or pointy mode.
I can't promise any action toward this any time soon though.

Okay, thanks for taking the time to reply :)


[SPARK-43519][BUILD][SQL] Bump Parquet 1.13.1

What changes were proposed in this pull request?

Apache Parquet 1.13.1 RC0 passed vote, and is available in Maven Central now.
https://lists.apache.org/thread/0yokbmfcbhz76ftjbxktwxfo5vrt57od
Why are the changes needed?

Upgrade Parquet to the latest patch version of 1.13.x, the change log
https://github.com/apache/parquet-mr/compare/apache-parquet-1.13.0...apache-parquet-1.13.1
Does this PR introduce any user-facing change?

No
How was this patch tested?

Pass GA

cc @wangyum

@pan3793 Could you update the pr description?

+1 for @wangyum 's comment.

@wangyum @dongjoon-hyun, the PR description is updated, please take a look again.

Thank you for updating. Merged to master for Apache Spark 3.5.0.


Javascript download multiple files with the original file name

The demo codes for downloading the files are all in the html page. Is there anyway I can use javascript to download 10 files all with their original file name.  I have the users to select 10 files and click one d/l button and will auto-download the 10 files.  I've tried to use the following codes, but it works on Chrome/Firefox, but not Edge;
console.log(zip.name);
$('', {
"download": zip.name,
"href": url,
"id": id,
"target": "_parent"
}).appendTo("body")[0].click();

   File1

   File2

   File3

   File4

$('#download').click();

Filename specified in download attribute of a (anchor) element will be used as filename of downloaded file.
About Edge - sorry I have no possibility to test it.
Anyways this question is not related to this package, you should ask it on stackoverflow

thx for your gentil reply.


SD cloud is shifted

As I was calibrating the extrinsics for the Kinect2 I realized that there is a shift between the hd (or qhd) cloud and the sd cloud.
I would estimate it to be a shift of 4~5cm to the right so it's probably just because the sd pointcloud is not published in the right frame (it's about the shift between camera_rgb_optical_frame and camera_ir_optical_frame)
Or it could also be due to a problem with the calib_pose.yaml as mentionned in https://github.com/code-iai/iai_kinect2/issues/117
See for yourselves:
HD

QHD

SD

Hi,
the sd cloud is published in the right frame. The difference between (q)hd and sd is the registration method. The (q)hd topics are using a depth to color frame registration, so the depth image is transformed to the color frame using the calibrated extrinsic parameters. For the sd topic a color to depth registration is used, so for each depth pixel the corresponding color pixel is looked up. The sd registration is using parameters from the sensor and not the calibrated ones. It is the registration method that is also part of the official Microsoft SDK.

Thanks @wiedemeyer !
Is there any way to use the calibration file instead?
I would like to use the sd cloud to speed my post processing but if the points are shifted it's going to be a problem.

For that case there is the qhd topic which has just a quater of the HD size, but also allows easy mapping to the HD topics.
But if you want to transformiert the SD depth image using the calibration you might want to take a look at depth_image_proc.

I managed to create the sd points to be on the right spot using depth_image_proc.
Be careful, the color is still shifted on the cloud, but the points are well placed.
Original QHD points

New SD points

I am just using the qhd depth image and projecting the image to be sd. Then I create the pointcloud for the depth image.
Posting my launch file in case this could be helpful to someone.
<launch>

  <arg name="kinect_name" default="kinectV2" />

  <!-- Nodelet manager for this pipeline -->
  <node pkg="nodelet" type="nodelet" args="manager"
        name="$(arg kinect_name)_record_player_manager" output="screen"/>

  <!-- Get the scene depth image transformed to the rgb camera frame -->
  <node pkg="nodelet" type="nodelet" name="$(arg kinect_name)_depth_registration_nodelet"
  args="load depth_image_proc/register $(arg kinect_name)_record_player_manager --no-bond">

      <!-- Input: RGB camera calibration and metadata. (sensor_msgs/CameraInfo) -->
      <remap from="rgb/camera_info" to="$(arg kinect_name)/sd/camera_info"/>
      <!-- Input: Depth camera calibration and metadata. (sensor_msgs/CameraInfo) -->
      <remap from="depth/camera_info" to="$(arg kinect_name)/qhd/camera_info"/>
      <!-- Input: Rectified depth image. (sensor_msgs/Image) -->
      <remap from="depth/image_rect" to="$(arg kinect_name)/qhd/image_depth_rect"/>

      <!-- Output: Camera calibration and metadata. Same as rgb/camera_info but time-synced
      to depth_registered/image_rect. (sensor_msgs/CameraInfo)   -->
      <remap from="depth_registered/camera_info" to="$(arg kinect_name)/sd/depth_registered/camera_info"/>
      <!-- Output: Reprojected depth image in the RGB camera frame. -->
      <remap from="depth_registered/image_rect" to="$(arg kinect_name)/sd/depth_registered/image_rect"/>
  </node>

  <!-- Convert it into a point cloud -->
  <node pkg="nodelet" type="nodelet" name="$(arg kinect_name)_cloudify_nodelet"
        args="load depth_image_proc/point_cloud_xyzrgb $(arg kinect_name)_record_player_manager --no-bond">
    <remap from="depth_registered/image_rect" to="$(arg kinect_name)/sd/depth_registered/image_rect"/>
    <remap from="depth_registered/points" to="$(arg kinect_name)/sd/depth_registered/points"/>
    <remap from="rgb/image_rect_color" to="$(arg kinect_name)/sd/image_color_rect"/>
    <remap from="rgb/camera_info" to="$(arg kinect_name)/sd/camera_info"/>
  </node>

</launch>

Still this is kind of a hack and there should be a proper way to do this.

I would need to write some code to get the small depth image together with a small color image in the color frame. Right now I don't have the time for it, but I will look in it later.

Thanks @wiedemeyer! Good job on this amazing package ;)


Add specs for Refinement#target

This includes some additional updates:

Move old specs for refined_class to a shared spec, use this shared spec for target
Add a spec for Ruby 3.3 to check that refinement_target has been deprecated
Add a spec for Ruby 3.4 to check that refinement_target has been removed

Another checkbox for #1216

I've tested the 3.4 specs with a very recent MRI build (ruby 3.4.0dev (2024-11-27T17:12:23Z master 0af2eafc59) +PRISM), since we don't have that one in the CI yet.

Thank you!


HAWKULAR-752 Propagate timeOffset params across views

@mtho11, @ammendonca I've propagated the hkParams on urls where datepickers are used.
There is a pending question, if we should propagate hkParams across all views.
This PR only works on the case between alerts center, url, and app-server details, which I think is the most visible.
Please, let me know how it looks like, or feel free to take it as start point if you want to add some changes on top.

Adding a small fix for HAWKULAR-811.
Karel, please, could you review as well ?
(Sorry, I can't find your username to link the notification)

LGTM. wdyt @ammendonca, Karel

It looks good to me too. I think we can re-work/think it later, some pages (like url list, app server list) are not bound to a time range, thus passing it may seem strange. In theory once we have it on the rootScope, unless we override it in some way, it should persist across navigation.. but agree this is the best option for now, guarantees it gets persisted.

Merged #668


Fix compilation issue in JoinByString

Change was lost due to a merge.

I'll defer to Eduardo for approval.


glsl support

Hi the description mentions WebGl ... is it possible to write fragment shaders ?

The header is wrong.
It is a port of android Canvas.
No gl or shaders, sorry


Adjusted url match to allow including the query string

A little closer to observed php-mink behavior.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Non-localizable wallet types

Describe the bug
These three strings aren't localizable on Crowdin: "Local Wallet", "Remote Wallet" and "local".
To Reproduce
Go to 'Manage Wallets'.
Screenshots

🙌


黑名单补充

https://twitter.com/Bestlove01_
https://twitter.com/babydolovew
https://twitter.com/yiligouboy
https://twitter.com/Movies9576

https://x.com/onuz2359tv54724
https://x.com/Nonna83443899
https://x.com/Abdelrh94197281
https://x.com/aareyaiden11

https://x.com/sssixin/
https://x.com/ParryBears
https://x.com/sudaji520
https://x.com/qieqie8123
https://x.com/Topboy_80

https://x.com/adultmood_0

done，thanks to you all heros


[solidjs-pod] 2. Add routing and create homepage

Background
We want to demonstrate basic routing as part of each kit. To do so, we want a homepage that directs to all the examples we've created thus far.
Acceptance

[x] Add and configure routing
[x] Create a basic homepage that lives at /
[x] Route the counter component to /counter
[ ] Route the API component to /api-example

Note:

The mock was taken from a different kit. Change the text to be align with the current kit

Mock

Paused at the moment until we add tailwind.
@Zelig880


[Bug] Container entity environment attribute shows incorrect endpoint name

I have 5 environments, i connect 4 of them using portainer agent to portainer installed on my main environment.
So 4 portainer agents installs and 1 portainer install.
I connected the portainer install to the integration.
To make it easy to explain the issue lets name my 5 environments a b c d e
The integration created 2 devices and named them Portainer Endpoints and Portainer a
It added all the container entities under Portainer a which is not a big deal for me.
But inside every container entity there is a attribute called environment that is set to e on all of them.
That is the issue i wanted to point out because i have the same container running on more than 1 endpoint and i can not differentiate.
How to reproduce the issue
On initial install
Expected behavior
Each container entity to have the correct environment name
Screenshots

Software versions

Home Assistant version: 2023.10.5
Portainer integration version: v1.0.2
Portainer software version: 2.19.1

Diagnostics data
config_entry-portainer-e16601bca67a2762bd40d71edfa86a23.json.txt

I just discovered this really cool integration, but I can already confirm this bug. I have my Portainer-CE instance running on an Intel NUC, and I have 2 Portainer agents on my NAS and a Raspberry Pi. Every single container sensor has my NAS listed as its environment, which is incorrect. Sadly, #35 was auto-closed after going stale twice.


Refactor io.jl into two files, one for reading and one for processing

A new folder src/io/ is created and src/io/csv.jl contains the functions related to reading and writing data from csv into dataframes and src/io/processing.jl contains the functions related to transforming these dataframes into the other structures - currently, graph, representative_periods, and timeframe.
Pull request details
Describe the changes made in this pull request

List of related issues or pull requests
Closes #544
Collaboration confirmation
As a contributor I confirm

[x] I read and followed the instructions in README.dev.md
[x] The documentation is up to date with the changes introduced in this Pull Request (or NA)
[x] Tests are passing
[x] Lint is passing

Closing in favour of #607


docs: correct error in link and add verify installation section

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Would like a configurable handling for linebreaks.

Have a look at this example code:
'use strict';

const stringifyObject = require('stringify-object');
const paths = 'Windows path is c:\\Windows\\path\\to\\node\nLinux is /tmp/nowhere';

console.log(stringifyObject(paths));

it results in the output:

'Windows path is c:\Windows\path\to\node\nLinux is /tmp/nowhere'

The bad thing about this is, that in the output I cannot see a difference between the \n that came in from the windows path and the one that came in from the line break.
To avoid this, I would like to have a configuration option that allows me to prevent the linebreak handling.

Thanks for the suggestion, but not interested in having more options in this module.

Do you have any recommendations on how to work around the issue?


CLIP SDXL

Hello,
Thank you for such an inspiring work.
May I ask how you could run the SDXL with the original CLIP code to reproduce the figures in your paper?
I followed the instructions in SDXL.md and could get results for Long-CLIP; however, I'm unsure which lines to change for CLIP-SDXL.

Is

Figured I could just comment out the text encoder part.

For original CLIP, you just simply need to use the demo of official SDXL repo. https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0


Possibly using the wrong .SessionTicketsDisabled field

It seems like we're only using the .SessionTicketsDisabled field from the initial tls.Config, but we should perhaps be using the field from the tls.Config we get for a specific client if we have  tls.Config.GetConfigForClient set. This would allow the server to support session tickets generally, but disable them for certain clients.
That said, I'm not sure if that's actually useful though. So it might also be okay if this wasn't supported.
I took a quick look at what would be required to change this, and I'm not sure it would be easy. The tls.Config for a specific client seems internal to crypto/tls.

You're right. The only "clean" option would be wrapping GetConfigForClient and keeping track of which config is actually in use, which would add a lot of complexity.
This check should probably be performed inside the standard library, and I've opened https://github.com/golang/go/issues/62032 for that.
For now, quic-go can do an error assertion, so this error doesn't end up closing the connection.


Testing how the algorithm scales

Hi,
Since the aim will be to work with very large directories, I think it would be good to test how the current version of the AnDOChecker works with large datasets.
We should create a dataset with 10 subjects and 500 sessions in each subject and see how long it takes to run. Of course, we need a script to create such large dataset!
Also, I don't think this dataset should be included in this repository... Let's think later on how to do this properly!

Hi,
Good idea I have made the test and make a little recap check out   https://github.com/Slowblitz/AnDOChecker/blob/master/examples/README.md

Hi!
Good idea to make it as an example ;)
So it seems to scale linearly with the number of subjects... (no surprise in fact, but it's good to see). Do you have any idea why the slope of the curve changes at 200?
Also: it might be more realistic to have few subjects and a large number of sessions...
Overall, I think that 0.5s for 500 subjects is not too bad, but should be better... Indeed, we do not have any checks on the name of the files for now, but it will probably come, therefore multiplying the number of checks... Can you think about ways to improve execution times?

Hi !
First i ll will change the code to have few subjects and a large number of sessions.
I have no ideawhy the curve change at 200, and to improve execution times we could try to imrpove this function :
def parse_all_path(nested_list_of_dir):
    """
    Transform this
    [
        ['Landing', 'sub-anye', '180116_001_m_anye_land-001', 'source'],
        ['Landing', 'sub-enya', '180116_001_m_enya_land-001', 'source'],
        ['Landing', 'sub-enyo'],
        ['Landing', 'sub-enyo', '180116_001_m_enyo_land-001']
    ]
    to
    [
        ['Landing', 'sub-anye', '180116_001_m_anye_land-001', 'source'],
        ['Landing', 'sub-enya', '180116_001_m_enya_land-001', 'source'],
    ]
    Checking for the longest chain with the same sub chain
    """

    main_list = sorted(nested_list_of_dir, key= lambda sublist: len(sublist))

    # TODO : optimize
    i=0
    j=1
    while i < len(main_list) -1:
        if j <= len(main_list) -1:
            if len(main_list[i]) <= len(main_list[j]):
                all_in = True
                for elmt in main_list[i]:
                    if elmt not in main_list[j]:
                        all_in = False

                if all_in:
                    for elmt_to_add in main_list[j]:
                        if elmt_to_add not in main_list[i]:
                            main_list[i].append(elmt_to_add)
                    main_list.pop(j)

                else:
                    if j < len(main_list) - 1:
                        j+=1
                    else:
                        i +=1
                        j =i+1
            else:
                i+=1
                j=i+1
        else:
            break
    return main_list

After all we can also try to multitreads the checker function as :

By dividing the number of folder to check by the number of threads that we want.

Closing this one, the performances seem to be acceptable overall (the AnDOChecker web interface sends its output in ~10s on a 160GB dataset with lots of files)... We'll see in the future if we need to be even faster!


[Enhancement] a configuration for custom compacting rule

It would be great to have a custom compacting rule like in storage drawers config that doesn't need crafting and uncrafting recipe to be able to compact inside compacting drawer.
For example ex nihilo's 4 ore pieces compacted into its raw ore, even tho the raw ore can't be uncrafted back to ore pieces.

And what would happen if you tried to put a Raw Ore into the drawer? Would the number of Iron Pieces go up?
It is not a compacting recipe.

Yes, the number of ore pieces would go up,
It might break some balances, but at least mod pack devs have configuration options to put it in the pack or not


Mask from automatic mask generator with batch mode not working

Environment Information

samgeo version: 0.10.1
Python version: 3.11.5
Operating System: Windows 11

Description
I was generating a mask for a large image using batch mode. I expected to get a segmentation of the shrubs in the image. The resulting mask has a patch where the segmentation follows the expectation, but the rest of the mask is wrong.
Image:

Mask:

What I Did
The following is the code I ran to generate the mask:
model = SamGeo(
  model_type="vit_h",
  automatic=True,
  device=None,
  checkpoint_dir=None,
  sam_kwargs=None
)
model.generate(
  input_tif_path,
  output="mask.tif",
  foreground=True,
  unique=True,
  batch=True,
)

Has this been fixed or is there a solution for this?


automatic version flag collides with verbose flag

Usually -v stands for "verbose output".
This is not possible when a version is set.
User defined -v should take precedence over the abbreviation of --version.

@Skeeve You can set the HideVersion in command to disable version flag

I know. But given I *want the automatic version command AND a verbose flag, I would have thought that the automatic version refrains from setting "v" as an alias.

The VersionFlag is exported by the cli package for application usage. So you can sets its Aliases to whatever you want or remove them altogether

Can you elaborate on that? I tried to do that, but given my rudimentary go skills, I failed.

Can you share the code you tried ?

@Skeeve Here's an example
package main

import (
	"context"
	"log"
	"os"

	"github.com/urfave/cli/v3"
)

func main() {
	val := true
	app := &cli.Command{
		Version: "0.10.1",
		Flags: []cli.Flag{
			&cli.BoolFlag{
				Name:        "v",
				Usage:       "verbose mode",
				Destination: &val,
			},
		},
		Action: func(ctx context.Context, c *cli.Command) error {
			log.Printf("action %v", val)
			return nil
		},
	}
	cli.VersionFlag.(*cli.BoolFlag).Aliases = nil
	if err := app.Run(context.Background(), os.Args); err != nil {
		log.Fatal(err)
	}
}

This produces the following output
$ go run main1.go -h
NAME:
   main1 - A new cli application

USAGE:
   main1 [global options] [command [command options]] [arguments...]

VERSION:
   0.10.1

COMMANDS:
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   -v          verbose mode (default: false)
   --help, -h  show help (default: false)
   --version   print the version (default: false)

I think it is a bit cumbersome for the user. VersionFlag should be made exportable as a BoolFlag by itself.

Can you share the code you tried ?

Sure: https://play.golang.com/p/zfKOggluwK2
package main

import (
	"context"
	"fmt"
	"os"
	"github.com/urfave/cli/v3"
)

func main() {
	cmd := &cli.Command{
		Name:                   "tester",
		Usage:                  "Tool for sorting anbernic favorites",
		Version:                "0.1",
		UseShortOptionHandling: true,
		Flags: []cli.Flag{
			&cli.BoolFlag{
				Name:    "verbose",
				Aliases: []string{"v"},
				Usage:   "Be verbose.",
			},
		},
		Action: testit,
	}

	if err := cmd.Run(context.Background(), os.Args); err != nil {
		fmt.Fprintln(os.Stderr, err)
		os.Exit(1)
	}
}

func testit(_ context.Context, cmd *cli.Command) (err error) {
	return
}

@Skeeve Here's an example

Ah! Okay! I see how you did it. For me, as you can see in my example, "v" is the alias for "verbose". In that case, it'll conflict.

So the Solution ist to use "v" as the name and "verbose" as an alias?

@Skeeve Its upto you. You can disable version command or enable version command and change its name/aliases to whatever you want and add your verbose flag with whatever name/alias.

@Skeeve Its upto you. You can disable version command or enable version command and change its name/aliases to whatever you want and add your verbose flag with whatever name/alias.

Thanks for your patience with me. I understood now.


Automatically detect browser language

Description
Resolve: https://github.com/near/near-wallet/issues/704
To improve the UX of wallet for non-English users, the wallet should automatically detect the browser language, and switch to the user defined browser language.
Discussion
The browser language detection works for all the languages except Tranditional Chinese zh-hant, because the browser locale retrieved from window.navigator.languages are zh-TW or zh-HK for the Traditional Chinese users, which don't match with the locale code zh-hant we used in the wallet app. All the zh-XX (including zh-CN, zh-TW, zh-HK) codes now will be matched to zh-hans by default in the current design.
To fix this issue, we added some special handing for zh-TW or zh-HK to return zh-hant in https://github.com/near/near-wallet/pull/1884/commits/79b3f49893bbccb84b9cda837c173d81fdd967d0.

@think-in-universe this is really great! I tested on my machine.
We recently added a getUserLocale function (utils/getUserLocale.js) for showing the date/time in local format, and it seems you'd be able to use that, but also add the special handling for traditional Chinese.

@Patrick1904 thanks Patrick. I have updated by using getUserLocales()

Rebased on to master to eliminate conflicts with Routing.js

@MaximusHaximus thanks Daryl. the change looks great!!
I have tested for the Chinese language use case and it works well.


Implement native Select validation for non-native select field

Previously there have been requests (#12749, #11836) to allow native required validation on Select fields without using the native UI, and it was never tackled because it wasn't seen as possible:

@mciparelli Let us know if you find a way to change the implementation to get this done. But I have some doubt that we can achieve it.

However I have found a way to implement it which I believe would resolve any issues.

[X] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡

Currently the hidden native input element rendered by the SelectInput component is as follows:
<input type="hidden" value={value} />

We are allowed to spread other props to the hidden input, however the props type, style, className and required, which can be used to implement my fix, are excluded.
Instead a proper hidden input which detects and displays native required validation messages without polluting the screen or click surface area would be defined as follows:
<input
  type="select"
  value={value}
  required={required} // or just allow `required` to be spread
  style={{
    // make it invisible
    opacity: 0;
    // avoid letting click events target the hidden input
    pointer-events: none;
    // position the input so the validation message will target the correct location
    // (fake input is already position: relative)
    position: absolute;
    bottom: 0;
    left: 0;
  }}
  // added in response to issue comments
  aria-hidden={true}
  tabIndex={-1}
/>

Examples 🌈

And here's a hacky implementation of a Select with validation, using direct DOM manipulation and the current library:
import React, { useRef, useLayoutEffect } from "react";
import { Select } from "@material-ui/core";

export default React.memo(function SelectWithValidation(props) {
  const inputContainerRef = useRef();
  useLayoutEffect(() => {
    if (props.native) {
      return;
    }
    const input = inputContainerRef.current.querySelector("input");
    input.setAttribute("type", "select");
    if (props.required) {
      input.setAttribute("required", "");
    }
    // invisible
    input.style.opacity = 0;
    // don't interfere with mouse pointer
    input.style.pointerEvents = "none";
    // align validation messages with fake input
    input.style.position = "absolute";
    input.style.bottom = 0;
    input.style.left = 0;
    // added in response to issue comments
    input.setAttribute("tabindex", "-1");
    input.setAttribute("aria-hidden", "true");
  });
  return (

      <Select {...props} />

  );
});

And here's that code running in an example app: https://codesandbox.io/s/material-demo-t9eu2
Motivation 🔦

The native client-side validation in the browser can be useful and good sometimes and wanting to use that validation isn't a good reason to forsake the look and feel of the UI.

@benwiley4000 Thanks for taking the time to write this issue. Have you looked into the a11y implications?

@oliviertassinari great points. I think this is solved with the following additional code:
    input.setAttribute("tabindex", "-1");
    input.setAttribute("aria-hidden", "");

https://codesandbox.io/s/material-demo-t9eu2

@benwiley4000 Ok, this sounds good enough but yet sounds too simple 🤔.
I leave it to @eps1lon that has been recently working on the logic of the component.

Thanks!! Great news.

Did a little bit of additional investigation. I believe the solution is robust. Note that the implementation relies on some (pretty safe) assumptions:

pointer-events is supported (all major browsers have since 2015, but IE 10 and earlier do not)
Modern screen readers should support aria-hidden according to this article and has been supported in all major browsers since 2013, with the caveats that:

The input element must never be focused, since it will appear in the accessibility tree for the duration it is focused - but I don't think it's possible for that to happen in our case.
We must avoid passing the aria-describedby attribute to the input element.

Also if we do want to support IE 9/10 we can work around lack of pointer-events by setting the width/height of the hidden input both to 0.

I fully support this request. Using the native version works, but that defeats the whole purpose of using Material-UI.

@RicardoMonteiroSimoes At least, with the native version, it performs really well on mobile and doesn't look like this:

I agree the native version is an ok compromise but it doesn't allow for any type of icon embedding inside the selection options, for example. Meanwhile it's true that many apps will implement their own validation UI eventually but it's frustrating to have to do that immediately because the MUI select UI doesn't support native validation.

The native select could also be an advantage with the browser autofill: https://twitter.com/devongovett/status/1248306411508916224. I think that we can move forward here :).

Would be interesting to see how this is integrated into our component to be able to test it in different browsers etc.
Though I'd like to encourage you to extend your explanations. Most of your components repeat the "what" but I've been left asking "why". For example why not just use hidden? Why use <input type="select"  /> (never seen that one) etc.

Anything that qualifies to the browser in a binary sense as "inaccessible"
(display none, visibility hidden, hidden attribute) will result in the
input being skipped for validation. Opacity 0 + pointer-events none +
position absolute is sort of a hack to get exactly the same effect but
without indicating to the browser that the input isn't accessible to the
user. It is accessible after all, via proxy.
Le ven. 10 avr. 2020 14 h 12, Sebastian Silbermann<EMAIL_ADDRESS>a écrit :

Would be interesting to see how this is integrated into our component to
be able to test it in different browsers etc.
Though I'd like to encourage you to extend your explanations. Most of your
components repeat the "what" but I've been left asking "why". For example
why not just use hidden? Why use  (never seen that
one) etc.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mui-org/material-ui/issues/20402#issuecomment-612151803,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHOD3N2RMTF6KIEMEGB24LRL5OQ3ANCNFSM4L4QPMAA
.

@benwiley4000 I had a closer look at the problem, with this playground case:
import React from "react";
import { Typography, Select, InputLabel, MenuItem } from "@material-ui/core";

export default function SelectDemo() {
  const [option, setOption] = React.useState("");
  const [successMessage, setSuccessMessage] = React.useState("");

  return (
    <form
      onSubmit={e => {
        e.preventDefault();
        setSuccessMessage("submitted with no validation errors!");
      }}
    >
      Full Name
      <input type="text" id="fname" name="firstname" placeholder="John M. Doe" />

      Email
      <input type="text" id="email" name="email"<EMAIL_ADDRESS>/>

      Address
      <input type="text" id="adr" name="address" placeholder="542 W. 15th Street" />

      City
      <input type="text" id="city" name="city" placeholder="New York" />

        <InputLabel id="country">Select an option (required)</InputLabel>
        <Select
          value={option}
          onChange={e => setOption(e.target.value)}
          variant="outlined"
          labelId="country"
          required
          name="country"
          style={{ width: 300 }}
        >
          <MenuItem value="" />
          <MenuItem value="a">Option A</MenuItem>
          <MenuItem value="b">Option B</MenuItem>
          <MenuItem value="c">Option C</MenuItem>
          <MenuItem value="France">France</MenuItem>
        </Select>

        <button type="submit" variant="outlined">
          Submit
        </button>

      <Typography>{successMessage}</Typography>
    </form>
  );
}

I have proposed diff that seems to solve these cases:

Native form validation (#20402):

Autofill (https://twitter.com/devongovett/status/1248306411508916224):

Simpler testing experience (https://github.com/testing-library/react-testing-library/issues/322), the following test pass:

    it('should support the same API as a native select', () => {
      const onChangeHandler = spy();
      const { container } = render(
        <Select onChange={onChangeHandler} value="0" name="country">
          <MenuItem value="0" />
          <MenuItem value="1" />
          <MenuItem value="France" />
        </Select>,
      );
      fireEvent.change(container.querySelector('[name="country"]'), { target: { value: 'France' }});

      expect(onChangeHandler.calledOnce).to.equal(true);
      const selected = onChangeHandler.args[0][1];
      expect(React.isValidElement(selected)).to.equal(true);
    });

It's rare we can solve 3 important problems at once, we a relatively simple diff, exciting. What do you think, should we move forward with a pull request?
diff --git a/packages/material-ui/src/NativeSelect/NativeSelect.js b/packages/material-ui/src/NativeSelect/NativeSelect.js
index 00464905b..f9e1da121 100644
--- a/packages/material-ui/src/NativeSelect/NativeSelect.js
+++ b/packages/material-ui/src/NativeSelect/NativeSelect.js
@@ -90,6 +90,15 @@ export const styles = (theme) => ({
   iconOutlined: {
     right: 7,
   },
+  /* Styles applied to the shadow input component. */
+  shadowInput: {
+    bottom: 0,
+    left: 0,
+    position: 'absolute',
+    opacity: 0,
+    pointerEvents: 'none',
+    width: '100%',
+  },
 });

 const defaultInput = <Input />;
diff --git a/packages/material-ui/src/Select/SelectInput.js b/packages/material-ui/src/Select/SelectInput.js
index 4d17eb618..53a7b59b7 100644
--- a/packages/material-ui/src/Select/SelectInput.js
+++ b/packages/material-ui/src/Select/SelectInput.js
@@ -49,7 +49,6 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
     open: openProp,
     readOnly,
     renderValue,
-    required,
     SelectDisplayProps = {},
     tabIndex: tabIndexProp,
     // catching `type` from Input which makes no sense for SelectInput
@@ -121,6 +120,16 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
     update(false, event);
   };

+  const childrenArray = React.Children.toArray(children);
+
+  // Support autofill.
+  const handleChange = (event) => {
+    const index = childrenArray.map((child) => child.props.value).indexOf(event.target.value);
+    if (index !== -1) {
+      onChange(event, childrenArray[index]);
+    }
+  };
+
   const handleItemClick = (child) => (event) => {
     if (!multiple) {
       update(false, event);
@@ -205,7 +214,7 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
     }
   }

-  const items = React.Children.map(children, (child) => {
+  const items = childrenArray.map((child) => {
     if (!React.isValidElement(child)) {
       return null;
     }
@@ -272,7 +281,7 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
     // eslint-disable-next-line react-hooks/rules-of-hooks
     React.useEffect(() => {
       if (!foundMatch && !multiple && value !== '') {
-        const values = React.Children.toArray(children).map((child) => child.props.value);
+        const values = childrenArray.map((child) => child.props.value);
         console.warn(
           [
             `Material-UI: you have provided an out-of-range value \`${value}\` for the select ${
@@ -288,7 +297,7 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
           ].join('\n'),
         );
       }
-    }, [foundMatch, children, multiple, name, value]);
+    }, [foundMatch, childrenArray, multiple, name, value]);
   }

   if (computeDisplay) {
@@ -349,12 +358,20 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) {
           display
         )}

+      {/**
+       * Use a hidden input so:
+       *  - native form validation can run
+       *  - autofill values can be caputred
+       *  - automated tests can be written more easily
+       *  - the vale can be submitted to the server
+       */}
       <input
         value={Array.isArray(value) ? value.join(',') : value}
         name={name}
         ref={inputRef}
-        type="hidden"
-        autoFocus={autoFocus}
+        aria-hidden
+        onChange={handleChange}
+        tabIndex={-1}
+        className={classes.shadowInput}
         {...other}
       />
       <IconComponent
@@ -500,10 +517,6 @@ SelectInput.propTypes = {
    * @returns {ReactNode}
    */
   renderValue: PropTypes.func,
-  /**
-   * @ignore
-   */
-  required: PropTypes.bool,
   /**
    * Props applied to the clickable div element.
    */

@oliviertassinari that's great! Yes I think it's a good idea. Would you like to make the PR since you have the diff ready? Otherwise I can try to submit something in the next few days.

@benwiley4000 For context, select2 uses this approach (a massively popular select for jQuery), so I suspect it's a safe move. If you could open a pull request, get the credit for the initiative, that would be great.

I would like to work on it, if that's ok

@netochaves Sure, happy exploration :)

Thanks!


No collision detection in RPG demo - add an option in the moveleft/right shortcut?

In the RPG demo the player can move through walls. This is because of the player.moveLeft etc does not take into consideration solid objects. Can  you add some option in the moveLeft /moveRight etc. shortcut to stop if the movement would have if it overlaps with a solid object? Or in some way account for the solid walls.
References:
https://kaboomjs.com/examples#rpg
https://github.com/replit/kaboom/blob/e71c785ce3f1961ab93357d9f612fd564b8962f2/src/kaboom.ts#L1915

Perhaps something like what was implemented here https://replit.com/@AaronJewell/Pathfinding-in-Kaboom ( the collision detection part )
    player.moveLeft()
    // handle tile collision
    const targets = player.resolve()
    if (targets.length
      && targets.find(t => t.obj.gridPos.x === player.gridPos.x && t.obj.gridPos.y === player.gridPos.y)
    ) {
      player.moveRight()
    } else {
      player.findPath(drawSteps);
    }
  })```

I created a local version of the RPG demo and used this:

	K.keyPress("left", () => {
		player.moveLeft();
    const targets = player.resolve()
    if (targets.length
      && targets.find(t => t.obj.gridPos.x === player.gridPos.x && t.obj.gridPos.y === player.gridPos.y)
    ) {
      player.moveRight()
    }
	});

K.keyPress("right", () => {
		player.moveRight();
  // handle tile collision
    const targets = player.resolve()
    if (targets.length
      && targets.find(t => t.obj.gridPos.x === player.gridPos.x && t.obj.gridPos.y === player.gridPos.y)
    ) {
      player.moveLeft()
    }
	});

	K.keyPress("up", () => {
		player.moveUp();
    // handle tile collision
    const targets = player.resolve()
    if (targets.length
      && targets.find(t => t.obj.gridPos.x === player.gridPos.x && t.obj.gridPos.y === player.gridPos.y)
    ) {
      player.moveDown()
    }
	});

	K.keyPress("down", () => {
		player.moveDown();
    const targets = player.resolve()
    if (targets.length
      && targets.find(t => t.obj.gridPos.x === player.gridPos.x && t.obj.gridPos.y === player.gridPos.y)
    ) {
      player.moveUp()
    }
	});

But  in order for this to work I had to turn off solid for the door and the characters:
			//K.solid(),
			"door",

Full working example here https://observablehq.com/@triptych/kaboom-rpg-example

I see a related discussion  here https://github.com/replit/kaboom/issues/16

Yeah, it's an incomplete example. The goal is to develop a system for grid-based games and use cheap grid based collision resolution instead of expensive resolve(). This kinda halted, but will pick up shortly.

@slmjkdbtl any update on when grid based collision will be supported?

Not a priority at the moment. Currently working on a new physics system, I'll give grid-based collision after that's done! It's mainly a matter of API design I think.

Thanks for the update! @slmjkdbtl

Hello, thanks for this awesome library!
I'm working on a small rogue-like using Kaboom and I see here you planned to finish grid based collision but that work is on pause. My plan was to write my own collision system for this game by simply checking the tile/grid that the player would enter on key press. Since I'm making a rogue-like its turn based and this is fairly easy.
I was curious if level.get ing my various entities and checking them is the best way -- or is there some alternative that I could use and is maybe less obvious?
Perhaps if you elaborated in a short description on how you were going to attempt the grid based collision I might be able to use that to track down a better solution, if one exists.


Pitt Modeling the World's systems conference.

We should work towards this Feb 1 deadline for an abstract at this conference. http://pittmodelingconference.sci.pitt.edu/call-for-papers/. It will be in DC and hosted by Paul Cohen, who is leading another ASKE team.

I c/p their LaTeX template and sent overleaf invitations to everyone.

The deadline was moved two weeks back so we have until Feb 14. I think we can include

[ ] Intro

[ ] Related work
[ ] Contributions

[ ] theory.md
[ ] Model modification example (perturbation of SIR)
[ ] Grafting Example

[ ] extraction (show the rules and the graphs)
[ ] reasoning (example from docs)
[ ] generation (some runtime numbers to show it isn't slow)

[ ] Conclusions: semantic modeling frameworks can help scientists integrate and modify complex models. We introduce a theoretical framework for these modeling tasks and describe a software system for augmenting scientific thinking through automated knowledge extraction.

Overleaf
Motivation

"This is due in part to the fact that the peer-reviewed publication process incentivizes novelty and (in so doing), indirectly discourages a subset of the collaborative efforts and convergence toward shared norms that might otherwise emerge; the silos that exist across disciplines only serve to exacerbate such challenges, and complicate the task of modeling complex phenomena whose components cross domains." => "Peer reviewed publications incentivize novelty which indirectly obfuscates convergence toward shared norms that might otherwise emerge. Accompanying the current barriers between domains, this lack of coherence exacerbates such challenges and the task of modeling inter-disciplinary phenomena"
"In addition, the nature of scientific inquiry often lends itself to highly tailored, procedural scriptsthat are primarily intended to produce and extract results, while objectives such as modularity andthe inclusion of relevant semantic information via the type system,  and/or in comments,  take abackseat." => "The nature of scientific inquiry leads to highly restrictive, disposable scripts which display a distinct insufficiency of modularity, comments, and essential semantic information. "

Significance

I think a justification of why julia could make this a much stronger part (mainly type system) - I think @jpfairbanks would be the best for this

Overall

I think that 4.1 could easily be merged with section 3
I dont think the ologs section adds to this paper, but its diagram can be kept
I think that the code can be replaced by the semancticmodelsin10min.ipynb

re: Significance

Cite this julia paper: https://epubs.siam.org/doi/10.1137/141000671?mobileUi=0
Most effort in analysis of programs is either in Functional Languages such as ML and Haskell, or in low level languages such as C/C++. However, scientists write in languages like Python, R, Matlab, and Julia. These languages have the flexibility and productivity that scientists prefer but are difficult to analyze with static analysis tool.
Julia Combines the dynamic productivity of a high level language with the numerical performance of a high performance language. This is possible because Julia is designed to be easy to analyze by a Just In Time (JIT) compiler.
Key elements of this design is a robust and capable type system that programmers can use in coordination with multiple dispatch. Programs that behave like statically typed programs written in high performance languages can be analyzed by the compiler and lead to efficient executable code as generated and optimized by LLVM.
We leverage this design by encoding information about model semantics into the type system and using the Julia type inference implementation to let the Julia compiler manipulate those model semantics.
Julia is the only language that has a sophisticated type system that is commonly used in scientific computing.

We submitted on 2/15/19. Will keep this issue open for future revisions and etc.

PC feedback is over the event horizon of April 1st, so I'll close this and open a new issue with a checklist for referee comments once we hear back from the PC.

Here is the final version: ASKE_MWS19_final.pdf


Question of the maintenance of igv-webapp

Thank to the author for developing this tool to make viewing sequence data easier.
I'm wondering is the repository still being maintained ?
I got the same error as the issue as igv-js #1663. Will that error be fixed here in the future. Or should I use igv-js instead ?

Yes its being maintained, have a look at the commit log.  I am working on 1663 now.   I can't say if it will fix your issue or not, but that will be fixed soon.    As this is a duplicate I am closing it.

igv-js https://github.com/igvteam/igv.js/issues/1633. is fixed


Generalized backwards induction solver (Micro agent version)

The point of the FramedAgentType is to make an AgentType class that has all of the model-specific logic modularized out into configurable Python functions and objects. (Eventually, these will be configured from Dolang configuration files).
Once there is properly designed FramedAgentType, it should be possible to write a generalized backwards induction solver that works on any model that is well defined using Frames.
This ticket is for that general backwards induction solver for the micro- agent case. (I.e., without market equilibria)

There's now a 'block' based system for defining models. (This supersedes the FramedAgentType, which should be removed #1428)
One part of this general solver is an algorithm for solving a specific stage #1438
The micro agent general solver will require looping that stage solving equation appropriately, with a provided set of approximation and solver method parameters.
A draft of those parameters is in PR #1463


Vtune basic python profiling

Hi @rgesteve, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

Thanks! Unfortunately, with the merge of all the rest of our changes here it's basically impossible to do a review, so I'm just accepting the merge and we can do the review when we merge into master.


Setting random seed via unity doesn't seem to work

I have the following setup (with unity sending a random seed from between 0 and 9999):
[r seedFromUnity @hv_param 0 9999 1]
|
[seed $1<
|
[Random 5]
With a print object I've been able to confirm that the seed message is being set to a different value each time, but output from random is always the same sequence nevertheless.
Additionally, not 100% certain about this but it appears as if the [seed $1< message is triggering the [Random] object to send output, which shouldn't be the case
Any ideas what I might be doing wrong?

Thanks @atellio, that's a bug on our side. I've update the dev channel with a fix for this.


Revert "Drop Priority class gardener-shoot-controlplane"

How to categorize this PR?

/area control-plane
/kind bug
What this PR does / why we need it:
This PR reverts https://github.com/gardener/gardener/commit/d2dddea9b0368519a6ae19d0687f7d2cc6c3d5d8. See the motivation in https://github.com/gardener/gardener/issues/6798.
Which issue(s) this PR fixes:
Fix https://github.com/gardener/gardener/issues/6798
Release note:

An issue causing the `gardener-shoot-controlplane` PriorityClass to be deleted too early when there are still Deployments (`vpn-seed-server`) that reference it is now mitigated.

/cherrypick release-v1.57


mock pycurl

import asyncio
from unittest import TestCase

from mocket import mocketize
from mocket.mockhttp import Entry
from tornado.curl_httpclient import CurlAsyncHTTPClient

class AioHttpEntryTestCase(TestCase):

  @mocketize
  def test_http_session_2(self):
    url = 'http://httpbin.org/ip'
    body = "asd" * 100
    Entry.single_register(Entry.GET, url, body=body, status=404)
    Entry.single_register(Entry.POST, url, body=body * 2, status=201)

    async def main(l):
      client = CurlAsyncHTTPClient()
      res = await client.fetch(url)
      assert res.body == body
      assert res.code == 401

    loop = asyncio.get_event_loop()
    loop.run_until_complete(main(loop))

is it possible to mocke pycurl?

What happens if you run the test?

No feedback, closing it. Feel free to open a new issue, maybe with more information.


fix ansible yaml failure

Signed-off-by: Maggie Chen<EMAIL_ADDRESS>https://github.com/stolostron/backlog/issues/20068

/lgtm


MSID: 100162 Version: 1 DOI: 10.1101/2<IP_ADDRESS>3387

MSID: 100162
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>3387
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=100162
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>3387

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/100162v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>3387
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/100162/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

error: [journal-ref-source] This journal reference (id c39) has no source element.
error: [journal-ref-article-title] This journal reference (id c39) has no article-title element.
error: [journal-ref-article-title] This journal reference (id c40) has no article-title element.
warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c7) has a publication-type='other'. Is that correct?


(not a bug of yt-dlp) how to explain mp4 video/audio hard to download?

Checklist

[X] I'm asking a question and not reporting a bug/feature request
[X] I've looked through the README
[X] I've read the guidelines for opening an issue
[X] I've searched the bugtracker for similar questions including closed ones

Question
Recently I find mp4 video/audio file ( NOT stream format that does not need merging ) hard to download - more and more downloading show error. I'm using a GUI that uses yt-dlp as engine. The log did not tell much detail of the error. I guess it's not a bug of yt-dlp, since I also try other download methods like online transfer or other third party website that downloads it for me, all showing error. But if I download M4V directly, it's ok.
I often try to download mp4 720p format, if I see download error, I try mp4 480p, which downloads ok but at the end it says "fail to merge audio". Then I'll try download 720p webm, which usually works fine.
All and all, I use the same proxy.
So, could anybody please explain this?
Verbose log
No response

We can't read your mind or see your computer screen. We don't know what command you ran, what error you got or even what you are downloading... Show verbose logs!


Register our OAI-PMH endpoint with BASE

I thought we had a ticket for that already, but cannot find it right now.
In any case, the registration involves filling in the form at https://www.base-search.net/about/en/suggest_form.php?mainpage=suggest.php , which I just did.
Now let's see what the next steps are and use this ticket to track progress until our endpoint is properly registered with BASE.

This builds on a number of related tickets:

#11
#10
#52
#53
#56
#44


Updating default bootstrapper image to GA'ed image

registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:1.0.0
Signed-off-by: Mohammed Zeeshan Ahmed<EMAIL_ADDRESS>

/approve
done some quick manual testing, and everything looks good so far

/retest

/test v4.2-integration

/test v4.2-benchmark

CI failures
/retest

/refresh

/retest

CI timeout
/retest

/lgtm


Travis build failure

See https://travis-ci.org/music-encoding/music-encoding

I've fixed the Stylesheets build error, so it looks like now it's just that the unit tests are not passing.

What do we need to do?

Works now with 7f7f26d

Ha. Yes, it does, by completely disabling them.

Perhaps the subject should be changed to "fix unit tests" or something?


update docs and release script for post release 2.4.0

Signed-off-by: Scott Nichols<EMAIL_ADDRESS>

Trivial change, Automerging.


[Bug] Youtube-dl does not work

Youtube-dl does not work. Here's the verbose output: youtube-dl https://www.youtube.com/watch?v=pXRviuL6vMY --verbose [debug] System config: [] [debug] User config: [] [debug] Command-line args: [u'https://www.youtube.com/watch?v=pXRviuL6vMY', u'--verbose'] [debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8 [debug] youtube-dl version 2016.02.22 [debug] Python version 2.7.11+ - Linux-4.4.0-22-generic-x86_64-with-Ubuntu-16.04-xenial [debug] exe versions: avconv 2.8.6-1ubuntu2, avprobe 2.8.6-1ubuntu2, ffmpeg 2.8.6-1ubuntu2, ffprobe 2.8.6-1ubuntu2, rtmpdump 2.4 [debug] Proxy map: {} [youtube] pXRviuL6vMY: Downloading webpage [youtube] pXRviuL6vMY: Downloading video info webpage [youtube] pXRviuL6vMY: Extracting video information [youtube] {22} signature length 43.40, html5 player en_US-vflL1__zc [youtube] pXRviuL6vMY: Downloading player https://s.ytimg.com/yts/jsbin/player-en_US-vflL1__zc/base.js ERROR: Signature extraction failed: Traceback (most recent call last):   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 905, in _decrypt_signature     video_id, player_url, s   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 820, in _extract_signature_function     res = self._parse_sig_js(code)   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 883, in _parse_sig_js     initial_function = jsi.extract_function(funcname)   File "/usr/lib/python2.7/dist-packages/youtube_dl/jsinterp.py", line 241, in extract_function     raise ExtractorError('Could not find JS function %r' % funcname) ExtractorError: Could not find JS function u'ur'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.  (caused by ExtractorError(u"Could not find JS function u'ur'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output. Traceback (most recent call last):   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 905, in _decrypt_signature     video_id, player_url, s   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 820, in _extract_signature_function     res = self._parse_sig_js(code)   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 883, in _parse_sig_js     initial_function = jsi.extract_function(funcname)   File "/usr/lib/python2.7/dist-packages/youtube_dl/jsinterp.py", line 241, in extract_function     raise ExtractorError('Could not find JS function %r' % funcname) ExtractorError: Could not find JS function u'ur'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output. Traceback (most recent call last):   File "/usr/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 666, in extract_info     ie_result = ie.extract(url)   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 316, in extract     return self._real_extract(url)   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 1407, in _real_extract     encrypted_sig, video_id, player_url, age_gate)   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 915, in _decrypt_signature     'Signature extraction failed: ' + tb, cause=e) ExtractorError: Signature extraction failed: Traceback (most recent call last):   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 905, in _decrypt_signature     video_id, player_url, s   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 820, in _extract_signature_function     res = self._parse_sig_js(code)   File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 883, in _parse_sig_js     initial_function = jsi.extract_function(funcname)   File "/usr/lib/python2.7/dist-packages/youtube_dl/jsinterp.py", line 241, in extract_function     raise ExtractorError('Could not find JS function %r' % funcname) ExtractorError: Could not find JS function u'ur'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.  (caused by ExtractorError(u"Could not find JS function u'ur'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output

Hmmmm... it seems to work with the manual installed version


Revert "Exclude XCBuildSupport when building with CMake (#7358)"

This reverts commit 52870620e7b550b492086ae877d6eb9afd94c33f, which causes macOS toolchain builds to fail with:
main/main.swift:345: Fatal error: SwiftPM was built without XCBuild support

Also adds the DriverSupport dependency to XCBuildSupport, which was skipped in #7258 because #7358 was merged (but we're reverting that).

@swift-ci please build toolchain macOS platform

@swift-ci please test

@swift-ci please test Windows platform


purescript-bridge compatibility changes (cont of #405)

c/p from #405 ...
Hi CTL folks,
This PR contains fixes/changes to the ToData/FromData machinery that are necessary for the correct operation of purescript-bridge. The changed modules should be well-documented, but the general idea is:
When one extracts a RowList from a Row, the RowList is always lexicographically sorted. Plutus Data records are not lexicographically sorted, so the existing generic To/FromData code in CTL does not work correctly for Records right now. Because both Haskell and PureScript permit (for some reason...seriously who does this?!) data types such as this gem
data Foo = FooA {foo :: String, fooo :: Int}
                | FooB {fooo :: Bool, foo :: Bool}

We have to capture the relation between a constructor and its record fields (if any exist) in order to ensure on-chain compatibility. In order to integrate with most of the existing generic To/FromData code, this has to be done at the type level, so that's where we do it.
I will attempt to pull/merge CTL's master branch ASAP to resolve conflicts, but that may take me a day (this is by far the most complex merge I've attempted, I will probably screw it up at least once). In the meantime, please review this PR and suggest relevant/necessary changes.
Edit:
Actually there are way fewer conflicts than I expected. Will come back to this first thing tomorrow and sort that out.

@gnumonik please apply the commenting style as instructed in https://github.com/Plutonomicon/cardano-transaction-lib/pull/405#discussion_r873518985


IPSec faulty routing with multiple phase 2 tunnels and NAT

When tunneling multiple subnets through an IPSec tunnel I have a problem that all traffic gets routed through one of the p2-tunnels.
I can see the bytes out counter increase on one of the p2-tunnels and by tcpdumping on the WAN-interface I can see that the ESP-packets all go out with the same SPI-identifier no matter the destination subnet.
After lots of troubleshooting I tracked it down to how the manually added SPD entries in the GUI are added to the kernel. As I'm using NAT to get all outbound traffic behind one IP no matter the subnet I enter the same LAN subnet as 'Manual SPD entries' for all phase 2 tunnels.
In ipsec.inc these manually added SPD entries are added to the kernel like this:
"spdadd -%s %s %s any -P out ipsec %s/tunnel/%s-%s/require;",
But for me %s/tunnel/%s-%s/require isn't exact enough and will apparently match all (or rather just the last) of the outbound SPD entries added by Strongswan.
I find the man-page for setkey a bit unclear:
             A value of require means that an SA is required
	     whenever the kernel sends a packet	matched	that matches the pol-
	     icy.  The unique level is the same	as require but,	in addition,
	     it	allows the policy to bind with the unique out-bound SA.	 For
	     example, if you specify the policy	level unique, racoon(8)	will
	     configure the SA for the policy.  If you configure	the SA by man-
	     ual keying	for that policy, you can put the decimal number	as the
	     policy identifier after unique separated by colon `:' as in the
	     following example:	unique:number.	In order to bind this policy
	     to	the SA,	number must be between 1 and 32767, which corresponds
	     to	extensions -u of manual	SA configuration.

But I do know that if I remove the SPD entries added by OPNsense and add new ones using the unique level like this:
spdadd -%s %s %s any -P out ipsec %s/tunnel/%s-%s/unique:<id of matching outbound Strongswan added SPD for given destination subnet>;
it works and the traffic to the different destination subnets get routed through the correct p2-tunnel.
However, I'm not sure how to fix this correctly in OPNsense.

Should the handling of the 'Manual SPD entries' be changed to always use unique instead of require? Or would that break something in some other case?
And how do we get the so called 'policy identifier' (i.e. the number) from the SPD entries added by Strongswan. Can we really trust that Strongswan always has added the SPD entries when ipsec_configure_spd() is called? If so, it's easy to just parse them out.
There is also a weird assumption when removing previous added SPD entries that all entries added by OPNsense are of the required type "we'll assume that the require items in the spd are our manual items, so they will be removed first". This won't hold anymore, so we need some other way to keep track of which SPD entries that OPNsense added, so they can be removed. Not really sure of a good way to do that either.

I can help out with a patch for this problem, but given that I don't know the thoughts and ideas behind the current implementation I feel I need some guidance!

Support for manually defined spd entries was added by @AdSchellevis in 814d18ac37ac477213fcacb43bb5e9920b92f2ff

@AdSchellevis apparently as you discussed in this comment in the #440 issue you thought about doing it with unique:<id> but got convinced that it wasn't necessary and didn't do it.
Something in my setup apparently breaks the assumption that using require is enough :(

@joakim666 yes, that was indeed the case. As far as I know you can't control the internal spd's, which makes it quite hard to setup a policy which will work guaranteed (sensitive to race conditions). Eventually during our testing it didn't seem necessary to bind to specific tunnels.
What does your setup look like? what nets are you trying to route?

Basically it's local lan NAT:ed behind single IP to two remote subnets. So nothing that much out of the ordinary.
<IP_ADDRESS>/24 -> NAT(x.y.z.10/32) -> <IP_ADDRESS>/16, <IP_ADDRESS>/16
Using IKEv2, one Phase 1 entry with multiple Phase 2 entries.
I replaced the public ips below. I hope it's still understandable:
a.b.c.d = remote peer public ip
x.y.z.9 = my peer public ip
x.y.z.10 = my public ip that all traffic is NAT:ed behind
<IP_ADDRESS>/24 = local lan added under Manual SPD entries in GUI
Output of setkey -DP:
<IP_ADDRESS>/16[any] x.y.z.10[any] any
	in ipsec
	esp/tunnel/a.b.c.d-x.y.z.9/unique:1
	created: Feb  6 14:24:43 2018  lastused: Feb  6 14:24:43 2018
	lifetime:<PHONE_NUMBER>854775807(s) validtime: 0(s)
	spid=55 seq=7 pid=99980
	refcnt=1
<IP_ADDRESS>/16[any] x.y.z.10[any] any
	in ipsec
	esp/tunnel/a.b.c.d-x.y.z.9/unique:4
	created: Feb  3 21:01:49 2018  lastused: Feb  3 21:01:49 2018
	lifetime:<PHONE_NUMBER>854775807(s) validtime: 0(s)
	spid=23 seq=6 pid=99980
	refcnt=1
<IP_ADDRESS>/24[any] <IP_ADDRESS>/16[any] any
	out ipsec
	esp/tunnel/x.y.z.9-a.b.c.d/require
	spid=25 seq=5 pid=99980
	refcnt=1
<IP_ADDRESS>/24[any] <IP_ADDRESS>/16[any] any
	out ipsec
	esp/tunnel/x.y.z.9-a.b.c.d/require
	spid=27 seq=3 pid=99980
	refcnt=1
x.y.z.10[any] <IP_ADDRESS>/16[any] any
	out ipsec
	esp/tunnel/x.y.z.9-a.b.c.d/unique:1
	created: Feb  6 14:24:43 2018  lastused: Feb  6 14:24:43 2018
	lifetime:<PHONE_NUMBER>854775807(s) validtime: 0(s)
	spid=56 seq=1 pid=99980
	refcnt=1
x.y.z.10[any] <IP_ADDRESS>/16[any] any
	out ipsec
	esp/tunnel/x.y.z.9-a.b.c.d/unique:4
	created: Feb  3 21:01:49 2018  lastused: Feb  3 21:01:49 2018
	lifetime:<PHONE_NUMBER>854775807(s) validtime: 0(s)
	spid=24 seq=0 pid=99980
	refcnt=1

Given the above, all traffic will go through the 'x.y.z.10[any] <IP_ADDRESS>/16[any] any' tunnel no matter the destination.
If I remove the SPD entries OPNsense added (that uses require) and add new ones using either 'esp/tunnel/x.y.z.9-a.b.c.d/unique:1' or 'esp/tunnel/x.y.z.9-a.b.c.d/unique:4' depending on the destination the traffic will go out the right way.

At the moment I don't have time to build a test setup, not sure if the current construction can work for this. If traffic from  <IP_ADDRESS>/24 -> <IP_ADDRESS>/16 doesn't use the second tunnel [4] we might need to bind it explicit, although that will require more complex logic to keep it in sync.

For now I removed the added 'Manual SPD entries' through the GUI and add them manually (using unique to point to the correct p2-tunnel) with a script through ssh. But that's not an optimal solution.

@joakim666 Excuse me if I'm wrong, but doesn't this sound similar to https://github.com/opnsense/core/issues/1773?

@fraenki sorry for the late reply but it does indeed sound similar, but in your described case it's the ip-address that gets wrong and for me it's the require vs unique:x part. But maybe the core issue is the same?

@joakim666 can you send me the script you use with SSH? I'd like to work on it to get it to core or first as a plugin.

@mimugmail I'm afraid the script got lost when we changed to terminate the IPSec tunnels in strongswan directly and stopped using OPNsense for this. But if I remember correctly I executed the script every few minutes from cron and it basically just checked which ipsec tunnels were up and for each tunnel if it has SPD entries with require remove those and add new SPD entries using unique instead.

hi @mimugmail I have just run into same problem, and for me I wrote a script to help me
I can attach it here, not sure how it can help you.
fixipsec.txt
This solves my problem, it is not generic one.

Wow .. it seems this one fixes it. Got a confirmation of affected customer that adding NAT IP to WAN as an Alias works (but only for outgoing nat and not BINAT).
https://forum.opnsense.org/index.php?topic=19733.msg91414#msg91414 (sadly in German)

@joakim666 @mikipn this is now working out of the box starting with 21.1 RC1 .. maybe you have time to test :)

@joakim666 @mikipn this is now working out of the box starting with 21.1 RC1 .. maybe you have time to test :)

Please update the documentation at https://docs.opnsense.org/manual/how-tos/ipsec-s2s-binat.html: the note at the bottom still mentions a limitation.

@cluck you know contributing is also an option ? (https://github.com/opnsense/docs)

I already contributed what I can herein. I haven't contributed the fix nor do I have studied the original use case, so I don't feel competent to revise the documentation. But I feel competent enough to notice the discrepancy.
Kind instructions on various options for contributing to the quality of the documentation would be best placed in the documentation footer itself.


system_functor missing f_ initiliazation

Summary:
system_functor in algebra_system.hpp missing f in init line
Description:
Reproducible Steps:
This bug causes failure of torsten library's generalOdeModel_test unit test.
Additional Information:
Provide any additional information here.
Current Version:
v2.17.0

How do you run the torsten unit test?
On Wed, Dec 20, 2017 at 10:58 AM, Yi Zhang<EMAIL_ADDRESS>wrote:

Summary:
Please provide a short couple sentence summary.
system_functor in algebra_system.hpp missing f in init line
Description: Reproducible Steps:
This bug causes failure of torsten library's generalOdeModel_test unit
test.
Additional Information:
Provide any additional information here.
Current Version:
v2.17.0
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stan-dev/math/issues/696, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZ_F-FyeXiC4j8JiHMrdkh-s4c_qrOrks5tCS6xgaJpZM4RImH2
.

I'll check in a minimal test to reproduce the failure

Welcome to the project and thanks for reporting.  Feel free to just submit a pull request with a unit test and fix.


QPS limit not working? And additional question

Command line arguments / config
ghz --insecure -q 100 -c 5000 -n 5000 --connections=5000 -D ./getQuotes.json -O "html" -o ./output/quotes_auth_5k.html --call grpc.marketdata.MDRequest.GetQuotes --protoset=grpc-marketdata-2.0.249.pb ipaddr:port
Describe the bug
i set -q at 100, than start load test.
In html report i see this:

Requests / sec | 375.46
i expected to see requests / sec at 100 or less, not 375
Expected behavior
A clear and concise description of what you expected to happen.
Environment

Windows 10 Corporate
ghz v0.53.0-beta4

Additional question
How did u count avg/min/max when u have errors in channels? like deadlines or unuvailable
i have 2 report with this info:

both reports - same command line options for ghz
this screenshot means:
left was faster and send more requests per sec, but slowest, fastest and average are higher than right report.
That's totally confuse me.
and the only difference that right report have more errors (deadline and unavailable)
Deadlines didnt count as min/max/avg? because timeout is 20s and report say that slowest was 5.72s
how is this possible

Im having the same issue, i tried different combinations of configuration but the QPS is always above my configured limit

Hello, can you please give v0.70.0-beta.1 pre-release a try. You can find out more info in PR #235. Feel free to provide feedback.

Hello, I think what's requested here should be available in 0.70.0.


Update LICENSE

Line 189 Copyright [2022] [Futurewei Technologies Inc.]

Duplicate of https://github.com/dora-rs/dora/pull/186


[3.x] Change X11 event timeout from 1 second to 100 milliseconds

I couldn't easily cherry pick https://github.com/godotengine/godot/pull/63464 so I redid the change for 3.x

Closing as per https://github.com/godotengine/godot/pull/63464#issuecomment-1346237299.


[stable] Add IPFS Chart

Adds a chart that lets you install IPFS with a StatefulSet.

@k8s-bot ok to test

Anything else I need to do before I can get it merged? :)

Marking as stale. Please update within one week.

Whoops, shall do!
On Jul 2, 2017 11:06 AM, "Reinhard Nägele"<EMAIL_ADDRESS>wrote:
Marking as stale. Please update within one week.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/charts/pull/1192#issuecomment-312507375,
or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAB23v0WR0qhC1W-eEsAtaXrd2EI7Z81ks5sJ9wdgaJpZM4Npi2Z
.

The 404 is expected, since it's only an API Gateway service. If you access, for example, /ipfs/Qmb8wsGZNXt5VXZh1pEmYynjB6Euqpq3HYyeAdw2vScTkQ, it'll lead you to the same page as https://ipfs.io/ipfs/Qmb8wsGZNXt5VXZh1pEmYynjB6Euqpq3HYyeAdw2vScTkQ. It can also serve a particular hash based on a Host Header. For example, if you do a curl -H 'Host: ipfs.io' <ip> you'll actually get back the contents of ipfs.io landing page.

@yuvipanda
Two things about the Chart.yaml I noticed after merging:

The maintainer name should be a Github user
The appVersion field should be added

Would you mind creating another PR for this?

@unguiculus I sent #1469. Thanks!


Memory Leak with Fetch

Description
I have encountered a memory leak issue when using the fetch function in my React Native application. The memory usage gradually increases over time in iOS, leading to performance degradation and potential crashes.

React Native Version
0.72.4
Output of npx react-native info
  OS: macOS 13.5
  CPU: (10) arm64 Apple M1 Pro
  Memory: 758.45 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.16.0
    path: ~/.nvm/versions/node/v18.16.0/bin/node
  Yarn:
    version: 1.22.19
    path: /opt/homebrew/bin/yarn
  npm:
    version: 9.5.1
    path: ~/.nvm/versions/node/v18.16.0/bin/npm
  Watchman: Not Found
Managers:
  CocoaPods:
    version: 1.12.1
    path: /Users/clemens/.rvm/gems/ruby-2.7.5/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 22.4
      - iOS 16.4
      - macOS 13.3
      - tvOS 16.4
      - watchOS 9.4
  Android SDK: Not Found
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10406996
  Xcode:
    version: 14.3.1/14E300c
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 11.0.19
    path: /usr/bin/javac
  Ruby:
    version: 2.7.5
    path: /Users/clemens/.rvm/rubies/ruby-2.7.5/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.72.4
    wanted: 0.72.4
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Steps to reproduce
1.	Create a React Native project with the necessary dependencies.
2.	Implement a screen or component that utilizes the fetch function to make API requests.
3.	Monitor the memory usage of the application over an extended period.
4.	Observe that the memory usage consistently increases during and after making multiple fetch requests.

Snack, screenshot, or link to a repository
minimal example:
https://github.com/clemensmol/rn-fetch-memoryleak

This also happens on Android, but not as bad as on iOS it seems

any updates on this? still a valid issue in 0.72.5

+1

There's an update from Hermes team that bug occurs in RN code:
https://github.com/facebook/hermes/issues/1147#issuecomment-1756478479

Any fix for this issue?

Easily reproducible on the 0.73.2 as well doing something like this in a loop with big video files:
    const formData = new FormData()

    formData.append('video', {
      uri: partFileUrl.replace('file://', ''),
      type: 'video/quicktime',
      name: `${partNumber}.mov`,
    })

    const response = await fetch('https://example.com/upload', {
      method: 'POST',
      body: formData,
    })

I have also tried switching to JSC from Hermes or calling gc, both didn't help.


efficient_return raises an unnecessary value error in the long/short case

Describe the bug
when passing a vector of expected returns with possibly negative values, as desired for the long short case, i guess max_return_value is still wrongly computed as the max(expected_returns), but, should be computed as max(weight_bounds[0] * neg_expected_returns) and max(weight_bounds[1]) * pos_expected_returns) for the differently signed parts of the expected_returns vector
    399 if target_return > self._max_return_value:
--> 400     raise ValueError(
    401         "target_return must be lower than the maximum possible return"
    402     )
    404 update_existing_parameter = self.is_parameter_defined("target_return")
    405 if update_existing_parameter:

ValueError: target_return must be lower than the maximum possible return

Thanks for the suggestion
max_return is computed as the largest portfolio return within the weight constraints, so I think we are ok on this front.
  def _max_return(self, return_value=True):
      """
      Helper method to maximise return. This should not be used to optimize a portfolio.

      :return: asset weights for the return-minimising portfolio
      :rtype: OrderedDict
      """
      if self.expected_returns is None:
          raise ValueError("no expected returns provided")

      self._objective = objective_functions.portfolio_return(
          self._w, self.expected_returns
      )

      self.add_constraint(lambda w: cp.sum(w) == 1)

      res = self._solve_cvxpy_opt_problem()

      if return_value:
          return -self._opt.value
      else:
          return res


Completed SVG support

I have finally completed the SVG support.
As word wants to have a thumbnail for the SVG images, If there is an SVG file to load, the code will automatically add a 1px red dot png as a "default" thumbnail. in this way, we can load svg files without any trouble.
You can test it with the sample on the folder /packages/docxtemplates/examples/svg (i have added a command to package.json so you can just use 'yarn compile' to build the library and  'yarn playground' to create a docx with an svg on that folder).
Tell me what you think about the resolution :)

Any idea why two tests are failing? Is this expected?

Closing this old PR — please reopen if there's still interest.