Video issue

As show in the above image, the bottom of the video seems to just stretch out a row of pixels.  This is not an issue in other video players.  Not sure what's causing this.

I'm honestly not sure what would be causing this - maybe its something to do with the aspect ratio? Does it occur on movies/16:9 TV Shows?

After checking other videos of the same and different aspect ratios I've discovered that it seems to just be an issue with this specific show.  Playing the show in a different video player or even in Plex doesn't cause this issue.  Perhaps it's a transcoding problem?  I'm not familiar enough with video to know if that would cause something like this.

Could be a transcoding issue, could be something funky with the specific rip you have. My own DVD rip of that DS9 episode doesn't behave that way in the SyncLounge player. Maybe make sure SL is playing "Original" quality?

Here's the video track info for my copy of this episode:
Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings                          : CABAC / 16 Ref Frames
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 16 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Bit rate                                 : 1 698 kb/s
Width                                    : 704 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Variable
Original frame rate                      : 24.080 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.209
Writing library                          : x264 core 77 r1292 e381f6d
Encoding settings                        : cabac=1 / ref=16 / deblock=1:-3:-3 / analyse=0x3:0x133 / me=tesa / subme=10 / psy=1 / psy_rd=1.0:0.1 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-3 / threads=6 / nr=0 / decimate=0 / mbaff=0 / constrained_intra=0 / bframes=8 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / mbtree=0 / bitrate=1698 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.10
Language                                 : English
Default                                  : Yes
Forced                                   : No

These are the details for mine.  There are a few differences, but I'm not sure which are causing this issue.
Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile<EMAIL_ADDRESS>Format settings                          : CABAC / 9 Ref Frames
Format settings, CABAC                   : Yes
Format settings, RefFrames               : 9 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 45 min 30 s
Bit rate                                 : 1 240 kb/s
Width                                    : 720 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.150
Stream size                              : 393 MiB (71%)
Writing library                          : x264 core 104 r1677 19df41a
Encoding settings                        : cabac=1 / ref=9 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=64 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=9 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=1240 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Language                                 : English
Default                                  : Yes
Forced                                   : No
Color range                              : Limited
Color primaries                          : BT.601 NTSC
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.601

Definitely could be a transcode issue - could you try disabling Force Transcode in SyncLounge Settings? The inbuilt player defaults to ON for compatibility. You should then hopefully get a Direct Stream out of PMS if you're still on Original quality.

Turning off force transcode seems to just crop the image.  Take a look at the two screenshots, the first from SyncLounge and the second from MPC-HC:

Streaming to other devices online through Plex doesn't have this issue, either.  Here is a screenshot of me streaming it on my phone over 4G:

I can test other things I may have missed if that helps.

I'm gonna close this for now as I'm somewhat powerless in fixing it and it seems to be a pretty rare edge case. I suspect the issue is somewhere in either the transcoder or videojs. Either way it's unlikely I'll have the time in the future to investigate further. Sorry :(


System.BadImageFormatException: Could not load file or assembly 'PcapDotNet.Core.dll'

Nope FAQ 6 didn't help at all, i read it carefully and followed the tips but nothing helped. This issue was created after i updated windows.
Full debug details:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.BadImageFormatException: Could not load file or assembly 'PcapDotNet.Core.dll' or one of its dependencies.  is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)
File name: 'PcapDotNet.Core.dll'
at RustyNav.RustySee..ctor(Form2 theForm, Form1 first)
at RustyNav.Form2.Form2_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3815.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
RustyNav
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///C:/Users/pc/AppData/Local/Apps/2.0/X28GZZOC.GG0/6A1MEKZQ.NQ7/rust..tion_0000000000000000_0001.0001_3f43bfed78f7000f/RustyNav.exe
System.Windows.Forms
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3815.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Windows.Forms.dll
System
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3801.0 built by: NET48REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.dll
System.Drawing
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Drawing.dll
System.Configuration
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.dll
System.Core
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3815.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Core.dll
System.Xml
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Xml.dll
Accessibility
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/Accessibility.dll
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Do you have .net 4.8 or later?  It's either that or your using a x64 on a
x32 bit machine
On Wed, Aug 21, 2019, 5:04 AM ratterrr<EMAIL_ADDRESS>wrote:

Nope FAQ 6 didn't help at all, i read it carefully and followed the tips
but nothing helped. This issue was created after i updated windows.
Full debug details:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.BadImageFormatException: Could not load file or assembly
'PcapDotNet.Core.dll' or one of its dependencies. is not a valid Win32
application. (Exception from HRESULT: 0x800700C1)
File name: 'PcapDotNet.Core.dll'
at RustyNav.RustySee..ctor(Form2 theForm, Form1 first)
at RustyNav.Form2.Form2_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3815.0 built by: NET48REL1LAST_C
CodeBase:
file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
RustyNav
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase:
file:///C:/Users/pc/AppData/Local/Apps/2.0/X28GZZOC.GG0/6A1MEKZQ.NQ7/rust..tion_0000000000000000_0001.0001_3f43bfed78f7000f/RustyNav.exe
System.Windows.Forms
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3815.0 built by: NET48REL1LAST_C
CodeBase:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Windows.Forms.dll
System
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3801.0 built by: NET48REL1LAST_B
CodeBase:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.dll
System.Drawing
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Drawing.dll
System.Configuration
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.dll
System.Core
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3815.0 built by: NET48REL1LAST_C
CodeBase:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Core.dll
System.Xml
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Xml.dll
Accessibility
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.3752.0 built by: NET48REL1
CodeBase:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/Accessibility.dll
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PcapDotNet/Pcap.Net/issues/115?email_source=notifications&email_token=AABAY5RN6BQXTQJXQKOIWL3QFUHL5A5CNFSM4IOEVEWKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HGO66AQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABAY5UMDRASFJ5HN5SGR4DQFUHL5ANCNFSM4IOEVEWA
.


Prefetch txs in a background thread

In "tight" iter_txs() loops, much of the time is spent deserializing the transactions.
In cases like this ...
for tx in iter_txs():
    some_io_bound_task(tx)

... it is useful to deserialize the txs of the next block in the bg, while the IO task runs.
Even in cases like this ...
for tx in iter_txs():
    some_cpu_bound_task(tx)

... it can also help, because some of the deserialization code runs with nogil, so this can utilize more than one core concurrently.  (It is hard to estimate if the benefit is significant in this case, though.  My intuition is it can give up to 20-30% speedup, with little effort).
This option should be enabled by default in iter_txs(), and disabled by default in iter_blocks().

I profiled the time the GIL is held:
for tx in iter_tx(): pass -- 73%
for tx in iter_tx(track_spending=True): pass -- 82%
for tx in iter_tx(track_scripts=True): pass -- 86%
This means that, for CPU-bound tasks, we can gain up to 14%-27% speedup by prefetching in a bg thread.
For IO-bound tasks, the gain can be higher, depending on the task.


comp/core/hostname/hostnameinterface added to DEFAULT_MODULES

In https://github.com/DataDog/datadog-agent/pull/22032 new module was added but without corresponding change in modules.py which is used in multiple tasks, including release related ones. That broke scripts.
This PR fixes the problem.
Note: inv tidy-all run was required after updating modules.py and the change in go.sum is the result.

/merge


docker-compose up is failing

Just pulled and did docker-compose up:
ERROR: for landmark-rest  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).

Restarting the machine solved the problem.


the doomsday is coming omg no way

bondario,,,,, doomday coming!!!! scary!

Do I have to do this in a specific order...


Untangling the web server for testability.

Hey @arnau I've split the web server that handles commands in 2.
Not really loving userIn and userOut in WebServerResponse, but they do the job.
Thoughts?

Agree. I wonder if using the Express middleware chain instead of classes would simplify tests.  By that I mean, binding the store to the req object and then inside a middleware call the function passing in the store response.processCommand(store, ...).

wonder if using the Express middleware chain instead of classes would simplify tests

Maybe. I'm currently looking at middleware to do the command auth validation. Once I get a bit more experience with them I might revisit this.

Hey @arnau.
Authentication using middleware and with a more functional style is now in place. It also comes with outside-in testing, which I'm happy about so it's not dependant on implementation.
Also, I've looked at the middleware option for handling server responses too but it doesn't convince me. I feel it would hide too much how / where things happen.
Let me know your thoughts.

Looks good to me 👍


Update to correct version range

Please merge! :+1:

Actually @stefanahman before my +1 is official you should fix this PR by bumping the md-data-table version number as well so those of us using package managers can get the latest.

@brianfeister great input! Will do.


Update documentation for 5th Gen Intel Xeon, update links and minor adjustments

This is an automated message:
You can preview this docs PR at http://471.docs-pr.validatedpatterns.io
Note that they get generated every five minutes, so please wait a bit.

/ok-to-test


⚠ TorrentLeech has degraded performance

In 6177573, TorrentLeech ($TL) experienced degraded performance:

HTTP code: 200
Response time: 1669 ms

Resolved: TorrentLeech performance has improved in 2d98e5c after 13 minutes.


Donation component implementation

WIP.
To fix issue #39.
Layout needs work -- it's not a pretty sight right now -- in addition to some code cleanup and tests.
Tests fail due to linting errors caused by console.log calls that will be removed

Tried and failed to use the github app for looking at this. A commit with some layout fixes is here: https://github.com/5calls/react-dev/tree/pr/48, you can cherry pick that in to fix a few things.

Fix request from the review is implemented in commit 5e3ce9f


Allow parameter HelpMessage to be displayed as autocompletion tooltip

Summary of the new feature / enhancement
As a user I want PowerShell to show more information about my script parameters when using autocompletion, so I see at a glance what data I could or should provide, without having to go extraneous steps to call Get-Help with -Detailed or -Full on them.
Proposed technical implementation details (optional)
When calling a script from the command line and using autocompletion, the suggestions for parameters are only showing the parameter declaration in the tooltip.
E.g. a parameter MyParameter declared as below will show up in the autocompletion menu as MyParameter with a tooltip of [string] MyParameter. The HelpMessage is ignored and only shown when using Get-Help.
param (
	[Parameter(HelpMessage = "More details about my parameter")]
	[string]$MyParameter
)

Instead, it should show the help message as well, either replacing the type information or complementing it. So, in this example it would show like this.
[string] MyParameter - More details about my parameter

Or using two lines for the tooltip, if technically feasible - up for discussion.
[string] MyParameter
More details about my parameter

Furthermore, it could be considered to use the (first line of the) parameter comment-based help text in .PARAMETER or the comment following the parameter declaration [string]$MyParameter # my help text to avoid duplication of information, if only the HelpMessage is used.

It would be very easy to add it based on the HelpMessage property, see this for an example: https://github.com/PowerShell/PowerShell/compare/master...MartinGC94:PowerShell:ParamHelpMessage

I'm not really a fan of having to write the parameter text twice as an author though and I doubt most module authors will go back and populate this property after this change. Reading the help would be best but that's more challenging.

Wow that was quick. Thanks for providing a proof of concept.
Would it be possible to access the HelpSystem APIs to gather the other sources for the tooltip?

I'm not very familiar with the help system but I took a look after I left my comment and it doesn't seem too bad actually. I will (probably) take a deeper look at it tomorrow.

Now I've got it working:

This needs to be a user specified option though because querying the help system noticeably slows down the tab completion. Completing Set-Disk -<Tab> went from 1-2 ms to about 300 ms on my system.
The challenge is that it needs to be changeable on the fly so PSReadLine or VS code can be configured to to skip the help for normal tab completion but show it for menu tab completion. But it also needs to be easy to change by the user so users can completely opt out of it if they have a slow computer.
The Options parameter for TabExpansion2 doesn't seem like a good fit for this because it's hard for users to configure it.

Thanks again for the quick work on the proof of concept!
I also found the keybinds mentioned in your edits after digging a little more. I guess those are fine to get the advanced help text.
With those performance issues of course, it is only reasonable not to invoke the help system and focus on the HelpMessage attribute instead.
While this does not help (pun intended 😉) with existing scripts, it could be a good and useful recommendation going forward to put a short, simple, concise message there and full-blown details in the regular comment-based help.
Just looking at the script in front of me, this short message could help clarify what kind of string I expect, e.g. an URL or a path, without going a bit overboard with descriptive parameter naming - Repository vs RepositoryUrlOrPath.

The dynamic help feature in PSReadLine allows you to "get focused parameter help", which is exactly for this scenario.
With the Windows and Emacs edit mode, the "parameter help" feature is bound to the Alt+h key by default. So, after you tab complete on the parameter to get Get-ChildItem -Depth for example, just press Alt+h and you will see the help content for that parameter, assuming you have updated the help content.
Here is an example to show the use of HelpMessage:

No, unfortunately it is exactly not for this scenario.
Because a) it needs another key press (two actually) and b) provides more information than necessary.
The idea behind my suggestion is, that you do not have to press an additional key and only get a small, concise piece of information, not the full .parameter block from the comment-based help.

Thank you @totkeks for the suggestion. The Dynamic Help feature that @daxian-dbw described is the design we support for this scenario.  Remember, from the information here, you could build your own module, even share it on the gallery, if you would like.

Thanks for the reply. Sad to see it rejected though.

Remember, from the information here, you could build your own module, even share it on the gallery, if you would like.

I would love to do that, but I don't fully understand how that would be possible, since the changes made by @MartinGC94 are in the Powershell engine src/System.Management.Automation/engine/CommandCompletion/CompletionCompleters.cs.
How could/would a module overwrite that behavior and add the tooltip as per his proof of concept?

How could/would a module overwrite that behavior and add the tooltip as per his proof of concept?

While far from ideal, you could create a module that exports a function named "tabexpansion2" to override the default one included with the engine. Inside this function you'd just call the standard completion code and check the results, if the results include a command parameter result you can analyze the Ast to find out which command it provided completions for, run Get-Command to get the command data and loop through the parameter attributes and update the tooltip in the completion results as needed.
This is not ideal for 2 reasons, the first reason being that if you override the tabexpansion2 function then you could potentially be overriding the customization other users have done to that same function. Secondly, you need to perform basically the same work that the existing tab completion code does which takes effort and slows down tab completion (because you are doing unnecessary work).

@theJasonHelmick would it be okay to ask you to reconsider your decision when taking Martin's comment above into consideration?
From my understanding a module based solution for my suggestion doesn't seem feasible.
Looking at the PoC, the changes to add the help message to the tooltip should only have a miniscule performance impact.
And for users that don't use the menu complete, nothing would change.
For the ones that use it, they would get the help message (if available) in addition to the data they are currently getting. Nothing is taken away in that regard.
And the ones that prefer to use alt + h for the additional parameter help, can also still do so.

A module based solution is viable, by overriding the tabexpansion2 function.
Here's an example:
https://github.com/FriedrichWeinmann/LocalizedCompletion/blob/master/LocalizedCompletion/expander/TabExpansion3.ps1


Add additional oscillation indicator

This PR adds an additional check to detect the oscillation between the various iterations when running MESSAGE-MACRO.
The additional check looks to see if the objective function bounces between two points.
Some of the findings and solutions to handling unscaled infeasibilities discussed in issue #337 have also been updated.
How to review
Review code updates to "MESSAGE-MACRO_run.gms".
Review updated documentation to the section "calibrate-and-tune-message-macro" found in "marco.rst".
PR checklist

[x] Continuous integration checks all ✅
~- [ ] Add or expand tests; coverage checks both ✅~ N/A as this cannot be tested
[x] Add, expand, or update documentation.
[x] Update release notes.

As a non-expert GAMS user, can I ask: MESSAGE_LP.optFile = 2; is native GAMS for using a file named cplex.op2?

As a non-expert GAMS user, can I ask: MESSAGE_LP.optFile = 2; is native GAMS for using a file named cplex.op2?

Yes indeed. This is exactly what it results in. Unfortunately there is no option to change the i.e. to override the lpmethod in a loop.

@behnam-zakeri would you like to merge?


Can I download partial ScanNet to train ImVoxelNet?

Hi, it's great work!
I tried to download the 1.2T full ScanNet dataset but the speed is too slow (like taking 20 days to download). Since ImvoxelNet only uses hundred images for each scene. Is it possible that we only download partial version of ScanNet and use it to train ImVoxelNet? And which partial version should I choose? Like how to choose rgb/rgbd images for each scene?
Thank you very much! Looking forward to your kind reply.

Unfotunately, we didn't fix the random seed while sampling 100 images per scene, so you can try random ones.

Thank you very much for your reply!
I will try random sampling 100 images per scene and in your opinion, will random sampling affect the performance of ImvoxelNet?

As I remember we provide the confidence interval in our paper. The randomness is less then 1%.


CI for Python 3.8 + ophyd master build is broken

Per the nightly Travis-CI CRON builds, the  Python 3.8 + ophyd master build has been broken for 13 days. Unclear if this is due to a change in ophyd master or due to a change in some upstream dependency. One theory is that #1314 is related.

From the loop warning that #1314 is fixing we have ~30k line of warnings, add to that at least ~50k (and I supect another 40k+ that gets cut off before it hits the bottom)
  /home/travis/virtualenv/python3.8.0/lib/python3.8/site-packages/ophyd/utils/__init__.py:163: DeprecationWarning: The signature of a Status callback is now expected to be cb(status). The signature cb() is supported, but support will be removed in a future release of ophyd.

The log is being cutoff something around 125k lines.

Closed by #1340 and https://github.com/bluesky/ophyd/pull/852


TabbedPage

I've been messing around with your sample so far (congratz! :D )  noticed one thing: using a TabbedPage as MainPage, doesn't allow to share transitions when navigating.

Hello, thank you for taking your time to play with the plugin :)
Do you mind to share your sample project so i can take a look? It should work if you put the SharedTransitionNavigationPage inside the tab and then navigate (inside the NavigationPage) with standard push&pop.
But i tried it very quickly with an old version so i need to double check things

Will do. I'm making an iOS AppStore clone, hence the tabs. Just grabbed your repo and started editing the Sample App as it was. Will put it into Github and then I'll send you the link

I was able to reproduce this as well using the sample application. I just added a new tabbed page and added the DynamicSampleFrom2 page to it. Then in the MainPage.xaml, I just changed the navigation command like this:
<Button Text="Collectionview (multiple items)"  Command="{prism:NavigateTo 'MainTabbedPage?selectedTab=DynamicSampleFrom2'}" />

@dlmcdonald Shared Transitions  needs to be encapsuled in a SharedTransitionNavigationPage.
So you should have something like this in your main tabbedpage:
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:sharedTransitions="clr-namespace:Plugin.SharedTransitions;assembly=Plugin.SharedTransitions"
......
/>

        <sharedTransitions:SharedTransitionNavigationPage Title="Test" Icon="testIcon">
            <x:Arguments>
                <pages:DynamicSampleFrom2/>
            </x:Arguments>
        </sharedTransitions:SharedTransitionNavigationPage>

....
other pages
....
</TabbedPage>

Then in your App.Xaml you should do this:
NavigationService.NavigateAsync("TabbedPage/SharedTransitionNavigationPage/DynamicSampleFrom2")
Now the DynamicSampleFrom2 can transition to DynamicSampleTo2 with shared animations (or at least should be).
I'm working on shell now, but i will update the repo with an example with tabbedpages, and if i found something not working i'll fix it

@GiampaoloGabba Did you get it working with shell?

@IeuanWalker
Yep, there is a branch dedicated to shell, it need some more work to avoid minor glitches and a bit of polishing. I plan to update it in the next few weeks!

@GiampaoloGabba Perfect thanks :) We are doing a big redesign of out app at the moment (including updating to Xamarin shell), so be nice to include this package as part of that. Could you update this issue once the shell version is released?

@GiampaoloGabba
Hello, I tried SharedTransitionNavigationPage within Tabbed page like you suggested (without prism) but it does not work.
Would you have another suggestion or better wait for shell support?

Any update on this? It's still not working (without prism).

Hello, this is fixed on the next version, its coming very soon!

Nice, I'm waiting for it!

Hello, this is fixed on the next version, its coming very soon!

Nice, I'm waiting for it!

@dlmcdonald Shared Transitions needs to be encapsuled in a SharedTransitionNavigationPage.
So you should have something like this in your main tabbedpage:
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:sharedTransitions="clr-namespace:Plugin.SharedTransitions;assembly=Plugin.SharedTransitions"
......
/>

        <sharedTransitions:SharedTransitionNavigationPage Title="Test" Icon="testIcon">
            <x:Arguments>
                <pages:DynamicSampleFrom2/>
            </x:Arguments>
        </sharedTransitions:SharedTransitionNavigationPage>

....
other pages
....
</TabbedPage>

Then in your App.Xaml you should do this:
NavigationService.NavigateAsync("TabbedPage/SharedTransitionNavigationPage/DynamicSampleFrom2")
Note: This code is not tested, is just an example written quickly
Now the DynamicSampleFrom2 can transition to DynamicSampleTo2 with shared animations (or at least should be).
I'm working on shell now, but i will update the repo with an example with tabbedpages, and if i found something not working i'll fix it

Sorry for commenting on this closed issue but i see a problem with the current implementation for tabbed pages & prism.
When im using your syntax:
NavigationService.NavigateAsync("TabbedPage/SharedTransitionNavigationPage/DynamicSampleFrom2")
there is an animation playing when showing that page.
I'd prefer to use just the normal prism/xf syntax:
NavigationService.NavigateAsync("TabbedPage")
NavigationService.NavigateAsync("TabbedPage?selectedTab=DynamicSampleFrom2")
however, using this syntax only shows a blank white page for me while your syntax shows the desired result but with an animation i dont want..
any input is appreciated!

Sorry!
The culprit seems to be
NavigationService.NavigateAsync("/TabbedPage")
notice the / indicating an absolute syntax.
NavigationService.NavigateAsync("TabbedPage")
gives me the desired page but it is wrapped within a SharedTransitionNavigationPage from the stack before and does not show shared transitions.

Another update:
using
NavigationService.NavigateAsync("TabbedPage/SharedTransitionNavigationPage/DynamicSampleFrom2")
results in the tabbed page being opened in a modal. when i pass in "UseModalNavigation: false", it just doesn't navigate at all.


Can't build on macOS

I just cloned the project on macOS and I'm trying to build following the instructions.
First of all, I was getting this:
omnisharp-roslyn: ./build.sh
zsh: ./build.sh: bad interpreter: /bin/bash^M: no such file or directory

I searched what this error meant and tried a bunch of things with no success. So I decided to take a look at what the script does. I saw that it just calls another script, so I did it manually:
omnisharp-roslyn: bash ./scripts/cake-bootstrap.sh
: command not foundstrap.sh: line 2:
: command not foundstrap.sh: line 8:
: command not foundstrap.sh: line 16:
'/scripts/cake-bootstrap.sh: line 35: syntax error near unexpected token `do
'/scripts/cake-bootstrap.sh: line 35: `for i in "$@"; do

I don't know how I can provide you more information to help diagnose or at least understand if this is a problem with: omnisharp-roslyn, cake, or my machine.
I tried other cake scripts from other projects and they work fine, even having the same "for" loop, which is very strange.
I saw that it may be related to the script being created on Windows and having CR/LF characters issues. From my understanding, omnisharp-roslyn is built on OSX during CI, so this is very weird.
I guess that what I'm trying to understand is: what issues the script may have for people trying to build (and possibly contribute to) the project?
I'm using:
macOS 10.13
zsh 5.3
Any ideas?

FWIW, I could not reproduce this. I'm on 10.13 (High Sierra) and just switched to zsh 5.3. Executing ./build.sh works fine for me:
Last login: Wed Oct 25 12:04:05 on ttys001
dustins-mbp% sw_vers
ProductName:	Mac OS X
ProductVersion:	10.13
BuildVersion:	17A405
dustins-mbp% zsh --version
zsh 5.3 (x86_64-apple-darwin17.0)
dustins-mbp%

I just confirmed, this is an issue with CR characters.
I had to use dos2unix to fix the issue on my Mac. Now everything works. Diff shows that only CR characters were changed.
warning: LF will be replaced by CRLF in build.sh.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in scripts/cake-bootstrap.sh.
The file will have its original line endings in your working directory.

I'm not sure why you can't reproduce and this happens on my Mac.

It's likely due to settings for how git works with line endings. Have you changed this on your machine?

Yes. Does it make sense to open a PR "fixing" this?

Sure

Will do that. Thanks.

All the docs say we should contribute to dev, but there is no dev branch atm. Which one should I use to open the PR?

Yeah, that's old. Make a PR to master.

Ok, I talked to some more people and found out why this is happening: I had a autocrlf = true in my .gitconfig. If anyone else has it when cloning, they will have the same problem.
Anyway, I still think the .sh should always use LF instead of CRLF since this is the default in systems where it will run.
I'll open a PR fixing this in all .sh scripts.

Thanks!

Due to #991 being merged, this shouldn't happen anymore.

Thanks for your contribution!


Incorporate poetry instead of setuptools

https://medium.com/the-academics-field-guide-to-coding/python-dev-setuptools-is-dead-use-poetry-instead-f1e06b77a497

Merged in https://github.com/khuyentran1401/data-science-template/tree/dvc-poetry


fix(linter): move promise/avoid-new to style category

#5961  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @DonIsaac and the rest of your teammates on  Graphite


Skeleton is semi-transparent when placed over surface components with color inversion

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Link to live example: CodeSandbox.
Steps:

Create a surface component such as Sheet
Add color inversion to the Sheet using invertedColors prop.
Apply variant="soft" to the Sheet.
Add a Skeleton component with some text inside the Sheet component.

Current behavior 😯
The skeleton appears slightly transparent revealing the text underneath.
Expected behavior 🤔
The skeleton should be opaque and hide the text underneath.
Context 🔦
I am trying to show a skeleton on a solid-colored sidebar to indicate loading status while I load the actual value.
Your environment 🌎

npx @mui/envinfo
  System:
    OS: Linux 5.15 Ubuntu 20.04.6 LTS (Focal Fossa)
  Binaries:
    Node: 18.17.0 - ~/.nvm/versions/node/v18.17.0/bin/node
    Yarn: Not Found
    npm: 9.6.7 - ~/.nvm/versions/node/v18.17.0/bin/npm
  Browsers:
    Edge: Microsoft Edge Version 117.0.2045.36 (Official build) (64-bit)
    Chrome: Not Found
  npmPackages:
    @emotion/react: ^11.11.1 => 11.11.1
    @emotion/styled: ^11.11.0 => 11.11.0
    @mui/icons-material: ^5.14.12 => 5.14.12
    @mui/joy: 5.0.0-beta.9 => 5.0.0-beta.9
    @mui/material: ^5.14.12 => 5.14.12
    @types/react: ^18.2.25 => 18.2.25
    react: ^18.2.0 => 18.2.0
    react-dom: ^18.2.0 => 18.2.0
    typescript: 5.1.6 => 5.1.6

@siriwatknp This seems to happen because of alpha 0f 0.48 in inverted value of variable palette-background-level3.

I think one way to fix this is to add color: 'transparent' to Skeleton when loading is true.

diff --git a/packages/mui-joy/src/Skeleton/Skeleton.tsx b/packages/mui-joy/src/Skeleton/Skeleton.tsx
index 5f26b0ea8e..e5d7c013a7 100644
--- a/packages/mui-joy/src/Skeleton/Skeleton.tsx
+++ b/packages/mui-joy/src/Skeleton/Skeleton.tsx
@@ -131,6 +131,7 @@ const SkeletonRoot = styled('span', {
         '--unstable_pulse-bg': theme.vars.palette.background.level1,
         overflow: 'hidden',
         cursor: 'default',
+        color: 'transparent',
         '& *': {
           visibility: 'hidden',
         },

I this this helps you if We Get Your Point
import React from "react";
import { Sheet, Skeleton, Typography } from "@mui/joy";
export default function BasicSkeleton() {
return (
<Sheet invertedColors variant="soft" sx={{ width: 343, display: "flex", gap: 2, backgroundColor: "#fff" }}>

<Skeleton sx={{ backgroundColor: "#fff" }}>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente, aperiam.

);
}

hey team, can you assign this issue to me I love to contribute

hey team, can you assign this issue to me I love to contribute

Assigned!


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fine-grained control of type of per-level priority queues in product constructions

In Apply, If-Then-Else, Quantification etc. we can abuse abuse the following observations:

The size of the per-level priority queues are 0 at the beginning of processing each level
At most all elements of the priority queue (at the time of beginning to process a level) is moved into the per-level priority queues.

That is, the worst-case size of the per-level priority queues for that level is the size of the levelized priority queue before processing said level. Hence, we can choose to instantiate these priority queues for each level instead and so switch between internal and external versions per-level by moving all of the internal logic for each level into a templated function.
Priority Queue Wrappers
To this end, we want to add internal_priority_queue and external_priority_queue that are wrappers on the tpie::internal_priority_queue and the tpie::priority_queue and gives them a common interface. The internal_priority_queue should also lift the memory_usage and memory_fits functions to its own static functions.
Algorithms to improve

[ ] internal/product_construction.h
[ ] internal/quantify.h
[ ] bdd/if_then_else.cpp

The implementation of this should happen in a separate commit, such that we can benchmark the (positive or negative) impact is necessary.

I would prefer to do this one after #98 since the reinitialisation may be costlier than the overhead of using the same one all the time.

For small sizes, i.e. where the secondary and tertiary priority queues always can be in internal memory, then this is a bad idea, since we then reinitialise these data structures every time.

I find it very unlikely, that this will have a major positive impact compared to the amount of work it is to implement. We will only switch between the two types for larger sizes and after #273 . What can help is to use the 1-level cuts rather than 2-level cuts for the per-level priority queue similar to #273 .


React.createFactory is depreciated.

Getting the following console warning when importing material-ui-password-field:
Warning: React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.
The trace:
printWarning | @ | react.development.js:220
  | warn | @ | react.development.js:187
  | createFactoryWithValidation | @ | react.development.js:2254
  | (anonymous) | @ | shouldUpdate.js:33
  | pure | @ | pure.js:31
  | createSvgIcon | @ | createSvgIcon.js:22
  |<EMAIL_ADDRESS>| @ | Visibility.js:14
  | __webpack_require__ | @ | bootstrap:872
  | fn | @ | bootstrap:150
  | ./node_modules/material-ui-password-field/lib/PasswordField.js | @ | PasswordField.js:33
  | __webpack_require__ | @

As the trace shows, it's in Material-UI's createSvgIcon. nothing we can fix here.


Import issue

Hi, I am getting an ImportError: cannot import name 'urlencode'
Here's the whole Traceback
Traceback (most recent call last):
  File "test.py", line 3, in <module>
    from apiclient.discovery import build
  File "C:\Program Files (x86)\Python35\lib\site-packages\apiclient-1.0.2-py3.5.egg\apiclient\__init__.py", line 1, in <module>
  File "C:\Program Files (x86)\Python35\lib\site-packages\apiclient-1.0.2-py3.5.egg\apiclient\base.py", line 4, in <module>
ImportError: cannot import name 'urlencode'
I have Python 3.5.1 installed and I am trying to run a tutorial script on official youtube API code sample for python: https://developers.google.com/youtube/v3/code_samples/python
The specific script is Search by keyword. Is this a apiclient issue with trying to import urlencode?

I think you want to contact the folks over at the github.com/shazow/apiclient issue tracker.


Allow robot created notifications

https://github.com/Gold872/elastic-dashboard/assets/68785503/6e22f1bb-cafc-4cf4-82bd-e77da0f40d26
Robot code usage:
 @Override
  public void autonomousInit() {
    Elastic.sendAlert(AlertLevel.INFO, "Autonomous!", "The robot is now in auto.");

There are 3 levels of notifications:
INFO:

WARNING:

ERROR:

The idea is that the driver can get a notification when something happens (eg. an arm extends too far and gets disabled).
Users can copy the Elastic class into their robot project, and use those methods to push notifications to the dashboard.

Hey thanks for looking at this.

There should also be some way of unit testing this, the PR for restructuring the NT dependency makes testing it much easier, so it might make more sense to add unit tests for notifications after the rework is complete

Unit testing is something that I haven't done before (😓), but my summer break starts today, so I will take a look at how to do this and will put in later.

@EmeraldWither quick question, what's the reason for having it send all if it ignores the notification on initial connection?
Also, I merged all of these changes into the nt-dependency-rework branch, so you can add unit tests for this much easier. Whenever you're ready, just make a PR to that branch. Let me know if you need any help with the tests
This is definitely a great addition, thanks for making this!

On the initial connection, when I start listening, it will always call the method with whatever is currently inside the topic, even if it's old/stale data (eg, rebooting elastic will cause the notification so show again even though we haven't actually posted anything).
By ignoring the first time that this happens, this allows us to only receive the new data.


Blank setup screen

Powertoys installs just fine. I used administrator privelages. Win ver 1903. When I click the icon on the taskbar that brings up the PowerToysSetup window as expected. But it is a blank window, except the title bar saying Power Toys Setup
I can run FAncyZonesEditor off the directory so I don’t care so much about the setup window, but think that should work.
I also tried moving the *.pdb files from PowertoysSymbols, but that made no difference. I don’t know what the symbols are for or how to use them.  No explanation was given for them, but tried that anyway.  Thanks for a nice program, I like the FancyZones.
Edit:  Sorry, did not see similar posts and I see you are working on it.

Hi @kellypf
as you mentioned, we are already tracking the problem here https://github.com/microsoft/PowerToys/issues/243
Feel free to add you comments there, I'm closing this one as duplicate.
Thank you.


Stop Trail

Hi the readme states stoptrail only works in bracket orders. Will a normal stoptrail be implemented?
Also hoping if a close can implemented.

for the stop trail order, this should basically work, but you need to provide a tradeID as a parameter when creating the order. The tradeID needs to be the oanda tradeID to close when the stop trail order executes.
For the closing, what exactly do you mean with that? Do you want to close an open position? Then you do either a market or a limit order to close the position, for closing open orders, you could use order_cancel method of the store.

Thanks for the tips on trailing stop.
For my 'Closing' question, I mean the call in backtrader self.close(). This call in backtrader will not work right? Oanda api will not be able to do that right?
I like to ask for your advise too, for forex how do you setcommision? Is this correct for oanda assuming margin 5%, 20 times leverage?
cerebro.broker.setcommission(leverage=20, mult=20.0, stocklike=False, automargin=0.05)
I am trying to put fixed commision in too which is beleive is 5$ under 1mil size. But cannot get it to work.
Possible to share what your setcommission line is (for backtesting) ?

For my 'Closing' question, I mean the call in backtrader self.close(). This call in backtrader will not work right? Oanda api will not be able to do that right?

Actually it may work, (but I did not test it) Since the close method will create a order in the other direction (when you have a long position, it should create a sell position with the same amount).

I like to ask for your advise too, for forex how do you setcommision? Is this correct for oanda assuming margin 5%, 20 times leverage?
cerebro.broker.setcommission(leverage=20, mult=20.0, stocklike=False, automargin=0.05)
I am trying to put fixed commision in too which is beleive is 5$ under 1mil size. But cannot get it to work.
Possible to share what your setcommission line is (for backtesting) ?

I use just a fixed value for that. Maybe this may help you:
https://community.backtrader.com/topic/525/forex-commission-scheme/2

I added the forex commission scheme with small changes to btoandav20

Thanks again.
Can I ask again, this is my really simple code. but getting a error:
print('Timezone from ContractDetails: {}'.format(self.data0.contractdetails.m_timeZoneId))
AttributeError: 'dict' object has no attribute 'm_timeZoneId'
I tried with # tz='US/Eastern' and without. Need your expert help! Thanks alot
def main():
StoreCls = btoandav20.stores.OandaV20Store
BrokerCls = btoandav20.brokers.OandaV20Broker
DataCls = btoandav20.feeds.OandaV20Data
cerebro = bt.Cerebro()

storekwargs = dict(token='a4e17186f1b39b8dd6f0da06890642ed-20805eb73fdaf8f1116649371417db45', account='101-003-14969159-001', practice=True)
store = StoreCls(**storekwargs)

broker = BrokerCls(**storekwargs)
cerebro.setbroker(broker)

data0 = store.getdata(dataname='EUR_USD', timeframe=bt.TimeFrame.Minutes, compression=5, qcheck=1, backfill_start=True, backfill=False)  # tz='US/Eastern'
cerebro.adddata(data0)
cerebro.resampledata(data0, timeframe=bt.TimeFrame.Days, compression=1)

cerebro.addstrategy(BaseStrategy)

strat = cerebro.run(maxcpus=2, exactbars=-1, runonce=False)
print(cerebro.broker.getvalue())

this should help you:

    import pytz

    data0 = store.getdata(dataname='EUR_USD', timeframe=bt.TimeFrame.Minutes, compression=5, qcheck=1, backfill_start=True, backfill=False, tz=pytz.timezone('US/Eastern'))  # tz='US/Eastern'

print('Timezone from ContractDetails: {}'.format(self.data0.contractdetails.m_timeZoneId))
AttributeError: 'dict' object has no attribute 'm_timeZoneId'

This will not work ...
Print out the contract details to see what values are available.
for EURUSD:
{'minimumTradeSize': '1.0', 'displayName': u'EUR/USD', 'name': u'EUR_USD', 'displayPrecision': 5, 'maximumTrailingStopDistance': '1.0', 'minimumTrailingStopDistance': '0.0005', 'marginRate': '0.025', 'tradeUnitsPrecision': 0, 'pipLocation': -4, 'maximumOrderUnits': '100000000.0', 'maximumPositionSize': '0.0', 'type': u'CURRENCY'}

Hi! Thanks for your help. Again I really appreciate how responsive you are to questions.
its been difficult working with backtrader although a really good package.
I have changed this line to just the below instead and it works now.
print('Timezone from ContractDetails: {}'.format(self.data0.contractdetails))
my printout is pretty similar to yours except I have a higher margin required.
Timezone from ContractDetails: {'name': 'EUR_USD', 'type': 'CURRENCY', 'displayName': 'EUR/USD', 'pipLocation': -4, 'displayPrecision': 5, 'tradeUnitsPrecision': 0, 'minimumTradeSize': '1.0', 'maximumTrailingStopDistance': '1.0', 'minimumTrailingStopDistance': '0.0005', 'maximumPositionSize': '0.0', 'maximumOrderUnits': '100000000.0', 'marginRate': '0.05'}

can I check as well if target_order_percent() and oco works with this package?

Ok I am trying to test the order_target_percent() out but my live data is in ticks it seems.
How can I get 5 minute candles for data0 and for resampled data at 1 day for data1?
data0 = store.getdata(dataname='EUR_USD', timeframe=bt.TimeFrame.TFrame(TIMEFRAMES[1]), compression=5, qcheck=300, backfill_start=True, backfill=False, tz='America/New_York')

cerebro.adddata(data0)

cerebro.resampledata(data0, timeframe=bt.TimeFrame.TFrame(TIMEFRAMES[2]), compression=1)

Ok managed to get it to work.
dataX = store.getdata(dataname='EUR_USD', timeframe=bt.TimeFrame.Minutes, compression=1, qcheck=0.5, backfill_start=True, backfill=False,  reconnect=True, reconntimeout=10, tz='America/New_York', bidask=True, bar2edge=True, adjbartime=True, rightedge=True)

cerebro.resampledata(dataX, timeframe=bt.TimeFrame.Minutes, compression=1)
cerebro.resampledata(dataX, timeframe=bt.TimeFrame.Minutes, compression=3)

Thanks! Appreciate the great job on this package.

Another thing, can I check how do I use the sizers you have created?
Some sample code would help me alot. Bascially each trade would be 2% of my cash.
Leverage is 20 times.
I have put in the strat class, next() method, getting this error:
comminfo = self.broker.getcommissioninfo(data)
AttributeError: 'NoneType' object has no attribute 'getcommissioninfo'
self.exe_size = btoandav20.sizers.OandaV20RiskPercent(risk_percents=0.01)
self.exe_size = self.exe_size.getsizing(data=self.data0.close[0], cash=self.broker.cash, isbuy=True)

Obviously this is wrong and my oop is extremely weak...
Appreciate your help in advance.

tried this in runstrat
SizerCls = btoandav20.sizers.OandaV20RiskPercent
perc2sizer = SizerCls(risk_percents=2)
cerebro.addsizer(perc2sizer)

got this error:
TypeError: 'OandaV20RiskPercent' object is not callable

Pls help me out with this:
https://community.backtrader.com/topic/2603/btoandav20-sizers
Thanks alot in advance.

Hi happydasch, I also like to ask how do you modify your bracket order after a position has been opened? I would like to change stop price and limit price or even change the order type of stop to stop trail. I feel this is quite critical.
I can created singular orders like a buy to open the position, then add a stoploss order.But with oanda the margin required is alot more as the stoploss is not linked to the position.
Using parent order parameter to link both orders does not work on oanda too.
Hope to hear from you, many thanks as always.

Hi happydasch, I also like to ask how do you modify your bracket order after a position has been opened? I would like to change stop price and limit price or even change the order type of stop to stop trail. I feel this is quite critical.

This is not possible, you would need to cancel the open orders and create new ones

you can check out the latest commits with comminfo refactoring

Thanks.
Can I also ask another question. You mentioned above the oanda trade id required for a non bracket stoptrail order. Can I check how do you set the trade id or get the trade id?
I tried the below, after refering to the syntax of id in oanda api, seem to be just id of type string:
self.long_trailstop = self.sell(price=trail_stop_px, exectype=bt.Order.StopTrail, size=stop_size, id='888')
but the above does not work.
i got a error which bascially is an error when issueing stoptrail orders wihtout brackets.
okwargs['type'] = self._ORDEREXECS[order.exectype]
KeyError: 5

Any ideas?

Thanks once again.
Can I also ask another question. You mentioned above the oanda trade id required for a non bracket stoptrail order. Can I check how do you set the trade id or get the trade id? Actually on my app it shows the ticket number and its always increasing.
So you mentioned I have to pass in the id parameter, I tried the below, after refering to the syntax of id in oanda api, seem to be just id of type string, link here
https://developer.oanda.com/rest-live/orders/#createNewOrder:
self.long_trailstop = self.sell(price=trail_stop_px, exectype=bt.Order.StopTrail, size=stop_size, trailamount=self.ATR_at_exe * 1.5, id='888')
but the above does not work.
I got an error which bascially is an error when issuing stoptrail orders without brackets.
okwargs['type'] = self._ORDEREXECS[order.exectype]
KeyError: 5

Any ideas?

open a new issue with this, add some example code, so I can see what is causing this error

at the moment I am working on backtesting and sizer, I will write some description on how to use commission, sizer, margin and leverage once it is done.

Thanks ! Appreciate what you are doing for the community. Hope single order trailing stop or perhaps syntax to modify existing bracket orders will be extremely helpful. I think many strats out there will work with trailing stops that are added or modified from initial basic stops after meeting certain conditions. Thanks alot!

Also I have tried the Risk sizer now using risk_percents=2. 1 thing I find interesting and pls correct me if I am wrong, is no matter what, it will use units available due to margin required. I am printing out the calculations from your sizer source code.
source code cash:  5032.7468 (cash)
source code stop pips:  1.2 (self.p.stoploss)
source code position size:  0  (position)
source code cash_to_use SGD:  100.654936 (cash_to_use - this is in account currency)
source code price in SGD price: 1.4, SGD_USD (price - custom for me at 1.4 exchange rate)
source code convert cash to use from sgd to usd:  71.89638285714287 (cash_to_use - in usd)
source code price_per_pip:  59.91365238095239 (price_per_pip)
source code price of pair:  {'type': 'PRICE', 'instrument': 'EUR_USD', 'time': '1591674898.818356540', 'status': 'tradeable', 'tradeable': True, 'bids': [{'price': 1.12865, 'liquidity': 1000000}, {'price': 1.12864, 'liquidity': 2000000}, {'price': 1.12863, 'liquidity': 2000000}, {'price': 1.12861, 'liquidity': 5000000}], 'asks': [{'price': 1.12872, 'liquidity': 1000000}, {'price': 1.12874, 'liquidity': 2000000}, {'price': 1.12875, 'liquidity': 2000000}, {'price': 1.12876, 'liquidity': 5000000}], 'closeoutBid': 1.12861, 'closeoutAsk': 1.12876, 'quoteHomeConversionFactors': {'positiveUnits': '1.38984', 'negativeUnits': '1.39007'}, 'unitsAvailable': {'default': {'long': '64159.0', 'short': '64159.0'}, 'reduceFirst': {'long': '64159.0', 'short': '64159.0'}, 'reduceOnly': {'long': '0.0', 'short': '0.0'}, 'openOnly': {'long': '64159.0', 'short': '64159.0'}}}
(the above is your call on get_pricing(name))
source code size:<PHONE_NUMBER>095239 (size - this is calculated size)
source code disect:  64159.0 (this is the min of earlier calculated size and units available)
close price is self.data0.close[0]: 1.12865 (just for ref)
The size goes to units available. I dont think there is a time when it will use the larger size due to margin. On my app, it shows margin SGD2516 when i have cash of SGD5K. So i am puzzled why I cannot use more margin.
In essence it means I cannot even risk 2% of my account.


Fix NPE encountered after clearing data

Didn't manage to repro, but doesn't mean it's not a real issue.
anyways, i expect the switch(cellInformation) is really looking into the ordinal to compare with the other enum ordinals, and when we pass a null element - which would make sense since we just cleared data - it will surely throw a null in there. don't know how yet, but... lets keep it stable.

Summary by CodeRabbit

Bug Fixes

Added a null check for cell information to prevent potential errors in the user interface.

This enhancement improves the app's stability by ensuring that null values are handled gracefully, maintaining a smooth user experience.

.stream().filter(nonNull) is better, i just didn't wanna change it to stream but... why not. more maintainable solution.


Why public keys are the same in BIP141 testnet and mainnet?

Given the same path, why on BIP32 tab we see a different public key between btc and btc-testnet while on BIP141 tab the public key stays always the same even when switching between btc/btc-testnet?
I looked on the internet to verify if this is the correct way of generating testnet segwit addresses but I couldn't find anything. Thanks!

on BIP32 tab we see a different public key between btc and btc-testnet

I'm not seeing this. Can you please provide some steps to reproduce it?
The steps I took to try to reproduce (using chromium browser):

enter mnemonic abandon abandon ability
ensure 'bitcoin' network is selected
click bip32 tab
observe first public key is 030810...37f265
change to 'bitcoin testnet' network
observe first public key is 030810...37f265 ie the same as btc, so I could not reproduce the issue.

sorry Ian, this was my bad. I was using the wrong tab. Everything is working as expected.


NurseConnect post Nurse registration to Control

@imsickofmaps Please review.

Minor query but :+1:

:+1:


Packing error!

Packaging will report an error because of the ts type!
Of course it's only an error reported at the packaging level, it's fine to use!
See what you want to do about it, I can contribute code!

I think it is specific to your tsconfig.json. Maybe I can change the way the package is built and use a stricter tsconfig.json to support all the other Typescript configuration possibilities, but I do not have a lot of time for this project.
Quick solutions would be:

add "**/solid-component-lib" to the exclude property of your tsconfig.json (you have to make the change)
or add // @ts-nocheck at the top of all files when copying the lib (output-solid.ts:112) (I have to make the change)

I think the last one is ok. Do you have an opinion or another solution to suggest?

I also think the last treatment would be better, I tried it on my side, you can try it?

I have tried another solution on my side, you can try it?

I also tried it (in a different way), but I think the // @ts-check is better to prevent any unexpected future errors.

Does installing #10 fix the bug for you?

Does installing #10 fix the bug for you?

Yes, it does solve the problem!

Does installing #10 fix the bug for you?

No, it still reports an error!

I think you should add // @ts-nocheck to this file.

@ts-nocheck is added to all files in the solid-component-lib at the build step (stencil-solid-output-target build, not your side).
https://github.com/arthur-fontaine/stencil-solid-output-target/blob/71ca4c19896e67feb62bb6db6c6d95485c3bd9a1/build.config.ts#L13-L30
You can see it in the dist directory.
https://github.com/arthur-fontaine/stencil-solid-output-target/blob/71ca4c19896e67feb62bb6db6c6d95485c3bd9a1/dist/solid-component-lib/createComponent.tsx#L1
Did you force reinstall the PR10 version?

@ts-nocheck is added to all files in the solid-component-lib at the build step (stencil-solid-output-target build, not your side).
https://github.com/arthur-fontaine/stencil-solid-output-target/blob/71ca4c19896e67feb62bb6db6c6d95485c3bd9a1/build.config.ts#L13-L30
You can see it in the dist directory.
https://github.com/arthur-fontaine/stencil-solid-output-target/blob/71ca4c19896e67feb62bb6db6c6d95485c3bd9a1/dist/solid-component-lib/createComponent.tsx#L1
Did you force reinstall the PR10 version?

Yes, I meant for you to add it to this file, it doesn't report errors anymore!

@arthur-fontaine Hey👋, I'm really sorry to bother you, don't forget my help me out when you're free!

No, it still reports an error!

Yes, I meant for you to add it to this file, it doesn't report errors anymore!

Does the PR10 works for you or not?

No, it still reports an error!

Yes, I meant for you to add it to this file, it doesn't report errors anymore!

Sorry I don't understand, does the PR10 works for you or not?

This is fine, it's mainly the Event that doesn't work, but it's ok now!

Okay, I will merge and release asap

Okay, I will merge and release asap

Ok, is it possible to consider adding the style and slot types by the way? #12 #13

I will take a look. I do not have a lot of time, do not hesitate to make a PR!

I will take a look. I do not have a lot of time, do not hesitate to make a PR!

Haha, it's possible too!

I will take a look. I do not have a lot of time, do not hesitate to make a PR!

I submitted pr, you can review it for me!


MINOR: Increase timeouts to 30 seconds for ResetIntegrationTest

The ResetIntegrationTest has experienced several failures and it seems the current timeout of 10 seconds may not be enough time
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

ping @guozhangwang @mjsax @vvcephei @ableegoldman @cadonna @abbccdda

Retest this please

Merged #6852 into trunk

cherry-picked to 2.3, 2.2, 2.1, and 2.0


Does this package support multiple languages? (in development)

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
It's more a question then a feature request, but I had to choose and I'm definitely not reporting a bug.
Describe the solution you'd like
A clear and concise description of what you want to happen.
I was wondering if it's possible to supply docs in multiple languages.
Additional context
Add any other context or screenshots about the feature request here.
I use this package for localization.
https://github.com/mcamara/laravel-localization
And this works with the following syntax
__('String to translate')
But I'm not sure if this will work in the .md files.

Hi @aFluxx , thanks for your concern, actually, there is a plan for implementing this feature hopefully in the next major version next month 👍
I'll leave this issue open.

Hi,
Since my documentation doesn't require versioning, I actually changed the version numbers to language.
Change
-docs
-- en
--- index.md
--- overview.md
-- es
--- index.md
--- overview.md
And change the config file as follows:
    'versions'      => [
        'default'   => 'en',
        'published' => [
            'es',
            'en'
        ]
    ],

This isn't directly related to the question, but in case some one else wants to know:
I am developing a SAAS application and as such, version's aren't that important (since there is only one version of the app on the server). So I updated the configuration file to show language tags instead...
'versions'      => [
    'default'   => 'en',
    'published' => [
        'es',
        'en'
    ]
],

and on the folder structure did the same

docs
-- en
--- index.md
--- overview.md
-- es
--- index.md
--- vista.md

It works out pretty great, plus you get the language key on the url, so you can direct users based on their preferences.
Hope this helps!

Hello everyone
Now after I finished the internal search I'm planning to start working on this feature in parallel with RTL support. However, I have a concern about how do you suggest to implement it?
I'm thinking that the relationship between a version and its languages is one to many.
Something like:
'versions'       => [
    'default'    => '1.0',
    'published'  => [
        '1.0'    => [
            'en' => 'ltr',
            'ar' => 'rtl'
        ],
        '1.1'    => [
            'en' => 'ltr',
        ]
    ]
],

what do you think guys?

Suggestion:
If you are planning to introduce Language Support, there really is no
reason to specify RTL or not, since the languages that use RTL are standard
(mainly he [hebrew] and ar [arabic], more info here
https://en.wikipedia.org/wiki/Right-to-left)
So why not just create constant values and if the desired language hits ony
of those keys, automatically shift to RTL. This will avoid incorrect
configuration and will greatly simply your configuration structure to
include a basic array.
Example:
'versions'       => [    'default'    => '1.0',    'published'  => [
'1.0'    => [ 'en', 'ar' ],        '1.1'    => [ 'en' ]    ]],
On Sat, Feb 9, 2019 at 5:49 PM Saleem Hadad<EMAIL_ADDRESS>wrote:

Hello everyone
Now after I finished the internal search I'm planning to start working on
this feature in parallel with RTL support. However, I have a concern about
how do you suggest to implement it?
I'm thinking that the relationship between a version and its languages is
one to many.
Something like:
'versions'       => [    'default'    => '1.0',    'published'  => [        '1.0'    => [            'en' => 'ltr',            'ar' => 'rtl'        ],        '1.1'    => [            'en' => 'ltr',        ]    ]],
what do you think guys?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/saleem-hadad/larecipe/issues/69#issuecomment-462078178,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMAaVk07sm3IPA-vKEJLm0w47RSe_yKgks5vLzRSgaJpZM4Zb_oJ
.

Sounds simple now :D thank you @abhi-cognitivo

Obviously implementing this feature will break a lot of existing usages (I mean it gonna be a major update) since the docs folder's structure will be changed.
However, do you prefer the path to be /docs/1.1/en/page or /docs/en/1.1/page?

@saleem-hadad , language should be before version, as people don't change languages but can and will change versions quite often.
But if you are going to do this, I would suggest applying both Version and Language as an optional feature, similar to what you do with Github Link or Search. Not every one will have multiple languages, and not every one will have multiple versions.
Currently I am using version as language and it works great: Here is a screenshot:

Any news on this features??

Hello there,
I was going through my old tickets and I came across this one. Was wondering how far this is coming along. I'm writing a SaaS application and I'm nearing completion so I'm probably going to write some documentation for it.
If this feature is still in development phase I might use @abhi-cognitivo 's idea to use versioning for translations.
Thanks in advance for an update!

Hi, @aFluxx, I'm sorry for the late reply I was really busy the last two weeks.
I started working on this feature, hopefully, will be ready by 15/6/2019

will be added to the pro version as stated here

Hello @saleem-hadad
Are there any updates of implementing right to left?

Hello @saleem-hadad
Are there any updates of implementing right to left?

@hanifhefaz you can use this package for now
https://github.com/larecipe/rtl


[UI] [Environment Manager] Usability enhancements to templates listing.

There are several issues with the templates listing in the Environment Manager:

The listing takes forever to load because it seems to be hitting the global Kurjun every time: instead an index file is needed listing the templates and their categories that is checksummed. Instead of pulling down this file every time from Kurjun, the checksum should be compared via REST, only if different would the peer download and cache this index file.
The listing does not currently paginate (list large set one block of 10, 20 etc at a time): the template listing will soon be huge (perhaps 2000+) with several docker containers, and when that happens usability will drop.
The listing should allow the user to select from a dropdown of categories. When a category is selected it should be remembered for the user (setting kept in the user's profile). Templates in categories can be expanded to be displayed using an accordion control.
Also we need to find a way to display some kind of icon for templates that do not have one. On the first pass we can use a default icon when the template does not have some icon in its manifest. Might want to add such a manifest, or some kind of optional metadata to our image templates with such a field.

all are done except point 3:
separate issue:
https://github.com/subutai-io/base/issues/787


New Web Embedded mode [Multiview] doesn't support pinch to zoom or pull to refresh on mobile browsers.

Steps to reproduce
Using the old web embedding technique ("hostElement") which was working fine only up-till Flutter 3.22.2, the webpages produced worked like a charm on mobile phone browsers. I could pinch to zoom and pull to refresh on mobile phone browsers. It provided the native web browser experience.
Now, with the new  recommended embedding technique ("Multiview Mode") as long as the Flutter app takes the whole web screen, you cannot pinch to zoom neither swipe to refresh. The web browser experience is fake and terrible.
Expected results
Flutter web apps should have proper UX on mobile web browsers, allowing pinching to zoom and swipe to refresh.
Actual results
UX on mobile web browsers does not allow pinching to zoom or swipe to refresh if the Flutter app takes up the whole screen space. The UX on mobile web browsers does not allow pinching to zoom or swipe to refresh if the Flutter app takes up all the
Code sample
Try running Flutter's official OLD Web embedding code using Flutter 3.22.2 and open the website from a mobile browser, every thing will work perfectly with the native web browser experience.
https://github.com/flutter/samples/tree/main/web_embedding/element_embedding_demo
Now, try running it using newer versions of Flutter, it will no longer work properly on a mobile web browser.
Try running Flutter's official NEW Web Embedding sample on a mobile browser, it will not provide the previously available experience like pinching to zoom or swiping to refresh if the Flutter app takes the whole web page space.
https://github.com/goderbauer/mvp/tree/main/lib
Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
[√] Flutter (Channel stable, 3.24.1, on Microsoft Windows [Version 10.0.22631.3737], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop Windows apps (Visual Studio Build Tools 2022 17.7.6)
[√] Android Studio (version 2024.1)
[√] IntelliJ IDEA Community Edition (version 2024.2)
[√] VS Code (version 1.93.0)
[√] Connected device (3 available)
[√] Network resources

Thanks for the report @MenaRaafat

https://github.com/flutter/samples/tree/main/web_embedding/element_embedding_demo

I cloned this and ran using latest stable version and by changing multiViewEnabled: true in web/index.html` but I was able to pinch and zoom in mobile browser (Android + chrome).
If this isn't proper replication, can you provide steps to replicate and a short video of before and after so that we can properly address this issue ?

Hi @darshankawar, it seems when you you added multiViewEnabled: true in web/index.html, you thought that the app was working, but in fact, it was only the HTML style in the background running not the Flutter app. Thus, it worked fine with you.
The Flutter app does not show on the screen at all in this case of using multiViewEnabled: true on stable neither on mobile or PC browsers.
I have attached screenshots that show the proper behavior working using the same sample app on Flutter 3.22.2. I also published it here:
www.embedded.codemagic.app
Proper behavior using Flutter 3.22.2 on sample app(https://github.com/flutter/samples/tree/main/web_embedding/element_embedding_demo):

Your_trial:

https://embedded_flutter_stable.codemagic.app
Using the latest Flutter Stable version.

https://embedded_flutter_stable.codemagic.app
Using the latest Flutter Stable version.

With this link, I do observe that zooming and pinching aren't actionable.
Keeping the issue open and labeling for team's tracking.


Add more character classes to Transliterate mode

Transliterate mode currently only supports d and w. More classes might be useful, e.g.

Hexadecimal digits, lower and upper case.
Letters only.
Vowels/consonants only.

Maybe also things like the Base-64 alphabet. I'm taking suggestions in the comments of this issue.

It might be useful to have a character class which inserts the other set. Maybe even one which reverses the other set. This would make it much shorter to rotate nontrivial character sets:
T`!"$%^&*()_`_!"$%^&*()

would be become
T`!"$%^&*()_`_i

(If i inserts the other set.)
And likewise, these two would be equivalent:
T`!"$%^&*()_`"$%^&*()_!
T`!i`"$%^&*()_!

As suggested on PPCG it might be good to have a character which reverses the following class. If r was that character,
rd

would expand to
9876543210

I've added hex digits, letters and printable ASCII classes in 154dfafce47a91a4e4511178a42dc4c2f8e8127c. Vowels and consonants will have to wait until I have evidence that they are commonly useful as character classes. i and r as defined above are still planned.

Another suggestion for a class was [:punct:] which would be all of printable ASCII except alphanumerics and spaces.

After rewriting how T-mode is parsed, I've added the reversal suggestion in 9ba6d0527b60171c1276cff8a7c09ba113259245. However, I used R instead of r, because r can't be escaped.
All that's left now is the class referencing the other set.

And now (as of 1cd093ad1957d64f570a7f7a06c409aa61fa2441)we also have o which inserts the other set the first time it is used (afterwards it's a literal o). If o is used in both sets, they both become literal os because recursive insertion doesn't make much sense. That closes this issue. If vowels, consonants, punctuation etc turn out to be useful after all, they'll have to go into new issues.


Possibly a licensing issue

If you take a look at this, The Unlicense is not precisely a public domain license, and have problems in countries like Germany. I think this should be relicensed with the CC0 license, which is this:
Creative Commons Legal Code

CC0 1.0 Universal

    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
    HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.

For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:

  i. the right to reproduce, adapt, distribute, perform, display,
     communicate, and translate a Work;
 ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
     likeness depicted in a Work;
 iv. rights protecting against unfair competition in regards to a Work,
     subject to the limitations in paragraph 4(a), below;
  v. rights protecting the extraction, dissemination, use and reuse of data
     in a Work;
 vi. database rights (such as those arising under Directive 96/9/EC of the
     European Parliament and of the Council of 11 March 1996 on the legal
     protection of databases, and under any national implementation
     thereof, including any amended or successor version of such
     directive); and
vii. other similar, equivalent or corresponding rights throughout the
     world based on applicable law or treaty, and any national
     implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.

4. Limitations and Disclaimers.

 a. No trademark or patent rights held by Affirmer are waived, abandoned,
    surrendered, licensed or otherwise affected by this document.
 b. Affirmer offers the Work as-is and makes no representations or
    warranties of any kind concerning the Work, express, implied,
    statutory or otherwise, including without limitation warranties of
    title, merchantability, fitness for a particular purpose, non
    infringement, or the absence of latent or other defects, accuracy, or
    the present or absence of errors, whether or not discoverable, all to
    the greatest extent permissible under applicable law.
 c. Affirmer disclaims responsibility for clearing rights of other persons
    that may apply to the Work or any use thereof, including without
    limitation any person's Copyright and Related Rights in the Work.
    Further, Affirmer disclaims responsibility for obtaining any necessary
    consents, permissions or other rights required for any use of the
    Work.
 d. Affirmer understands and acknowledges that Creative Commons is not a
    party to this document and has no duty or obligation with respect to
    this CC0 or use of the Work.

ZealOS is public domain, and you have the freedom to fork and/or relicense the entire project under an equivalent or stricter license if you so choose, as does anybody with access to the source code and ISOs. If the Unlicense is not recognized in your country, fork and relicense the project. The main ZealOS repository will keep the license it has had since the beginning.

If the Unlicense is not recognized in your country, fork and relicense your changes to the project.

The legal risks associated with this are identical to the legal risks of using the project under Unlicense. I strongly recommend relicensing to 0BSD without attribution, or at least some sort of choose-one dual licensing.

The Unlicense is an OSI-approved license, backed by the review of teams of international lawyers.
https://opensource.org/licenses/alphabetical
https://opensource.org/licenses/unlicense

Please see:
http://lists.opensource.org/pipermail/license-review_lists.opensource.org/2020-June/004890.html


feat: add google analytics to the web ui

Fixes #29
Checklist

[x] Ensure PR title matches the conventional commits format.

CodiumAI Agent Commands
As required run the following CodiumAI Agent commands:

Request PR review using @CodiumAI-Agent /review (and if required, request an incremental update with @CodiumAI-Agent /review -i)
Request PR improvement suggestions with @CodiumAI-Agent /improve --extended
Request PR update using @CodiumAI-Agent /describe
Request adding missing documentation @CodiumAI-Agent /add_docs
Add custom labels based on content @CodiumAI-Agent /generate_labels
Find similar issues @CodiumAI-Agent /similar_issue

@CodiumAI-Agent /review


[Bug]: Check for ca-certificates even if they are symlinks and not just files

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Currently our entrypoint script does check for ca-certificate files and ignores symlinks.
Steps To Reproduce
Add a cert in ca-certs as symlinks and check if ca-certs are picked up in the logs
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
latest

In Kubernetes when using a secret or configMap the files will always be mounted as symlinks instead of files (some context: https://stackoverflow.com/questions/50685385/kubernetes-config-map-symlinks-data-is-there-a-way-to-avoid-them).
One workaround could be to add an additional init container that copies the files into /appsmith-stacks/ca-certs or adding a copy script to the appsmith container. Being that the init containers are managed by the helm chart I would prefer not to go that route.


add autopromotion template

Add template for autopromotion jobs
This will be executed after each deployment.
Variables will be set within the saas file, so that we won't publish internal addresses

/cc @osherdp


New release request

Description
Describe your issue here.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[x] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Can we get a new release? I would love to use the channel_id output that was added last year but has not made it into a new release yet.

Release v1.24.0 is out!