Encoding Failed

I am running the basic script provided in the documentation. This is on a linux server. I am using a .mov file for testing. The frame is generated but the encoding fails with the following error.
exception 'Alchemy\BinaryDriver\Exception\ExecutionFailureException' with message 'ffmpeg failed to execute command '/usr/bin/ffmpeg' '-y' '-i' 'Algonquin elevators 4.mov' '-f' 'webm' '-vcodec' 'libvpx' '-acodec' 'libvorbis' '-b:v' '1000k' '-refs' '6' '-coder' '1' '-sc_threshold' '40' '-flags' '+loop' '-me_range' '16' '-subq' '7' '-i_qfactor' '0.71' '-qcomp' '0.6' '-qdiff' '4' '-trellis' '1' '-b:a' '128k' 'export-webm.webm'' in /var/www/aims/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunner.php:100 Stack trace: #0 /var/www/aims/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunner.php(72): Alchemy\BinaryDriver\ProcessRunner->doExecutionFailure(''/usr/bin/ffmpe...') #1 /var/www/aims/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php(209): Alchemy\BinaryDriver\ProcessRunner->run(Object(Symfony\Component\Process\Process), Object(SplObjectStorage), false) #2 /var/www/aims/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php(137): Alchemy\BinaryDriver\AbstractBinary->run(Object(Symfony\Component\Process\Process), false, Array) #3 /var/www/aims/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/Video.php(155): Alchemy\BinaryDriver\AbstractBinary->command(Array, false, Array) #4 /var/www/aims/ffmpeg-test/index.php(37): FFMpeg\Media\Video->save(Object(FFMpeg\Format\Video\WebM), 'export-webm.web...') #5 {main} Next exception 'FFMpeg\Exception\RuntimeException' with message 'Encoding failed' in /var/www/aims/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/Video.php:165 Stack trace: #0 /var/www/aims/ffmpeg-test/index.php(37): FFMpeg\Media\Video->save(Object(FFMpeg\Format\Video\WebM), 'export-webm.web...') #1 {main}

The ffmpeg is working good through cmd line, also it works  if I run shell_exec
shell_exec("ffmpeg -i Algonquin elevators 4.mov output.webm &");

@sean-madhavan, how did u solve that problem i got same error too. and i downloaded the latest version what the next step? thank you in advance

Install FFMpeg like this
brew reinstall ffmpeg --with-faac --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools

Remove the older version first.

thanks @ghotgalkar for the comment. How about on linux platform?

Hi guys, why i can't transcode video using php-ffmpeg in CENTOS server I tried in terminal and it works perfectly using root then the command but if not root 'encoding failed' occured. any idea what happening?

thanks @ghotgalkar!!

Thanks @romainneutron for your commnt! Printing out errors revealed me that $ffmpeg->save(); could not save to target directory (even it was chmodded to 0777). I have changed it to /tmp/anyname and now it works.

Thanks @ghotgalkar

@Grald sorry for the super late reply. Not tried on linux. The main issue is that you need the compile flags to make sure you have all the requirements for audio and video encoding.
I found a lot of info on https://trac.ffmpeg.org/wiki/CompilationGuide
and also there is something specific for CentOS on https://trac.ffmpeg.org/wiki/CompilationGuide/Centos
Hopefully this helps.

@ghotgalkar it's okay now thanks :)

      use FFMpeg\FFMpeg;
      use FFMpeg\Format\Video\X264;
     ......
        set_time_limit(0);
     .......
        $ffmpeg = FFMpeg::create([
            'ffmpeg.binaries' => '/usr/bin/ffmpeg',
            'ffprobe.binaries' => '/usr/bin/ffprobe',
            'timeout' => 0, // The timeout for the underlying process
            //'ffmpeg.threads' => 12,   // The number of threads that FFMpeg should use
        ]);
         $video = $ffmpeg->open( '/var/www/webroot/ccbank/frontend/web/uploads/vimeo.mp4');
        $watermark = '/var/www/webroot/ccbank/frontend/web/uploads/logo-h100.png';
        $video->filters()->watermark($watermark, [
            'position' => 'relative',
            'right' => 50,
            'top' => 50,
        ]);
        $format = new X264();
        $output =  '/var/www/webroot/ccbank/frontend/web/uploads/watermark1.mp4';
        $video->save($format, $output);

Browser error:

Terminal:

How to fix that?

@zinzinday Have you managed to solve your issue?
If no, what is your environment? OS, FFMPEG version, etc...

echo "Starting ffmpeg...\n\n";
echo shell_exec("ffmpeg -y -i input.avi output.avi </dev/null >/dev/null 2>/var/log/ffmpeg.log &");
echo "Done.\n";

 echo "Starting ffmpeg...\n\n";     echo shell_exec("ffmpeg -y -i input.avi output.avi </dev/null >/dev/null 2>/var/log/ffmpeg.log &");     echo "Done.\n";

echo "Starting ffmpeg...\n\n"; echo shell_exec("ffmpeg -y -i input.avi output.avi </dev/null >/dev/null 2>/var/log/ffmpeg.log &"); echo "Done.\n";

shell_exec("ffmpeg -y -i input.avi output.avi </dev/null >/dev/null 2>/var/log/ffmpeg.log &");

@Romain OK!

I have the same issue, when adding watermark to images. some of images will throw Encoding error. and the result file size become zero.

Hi @shtse8,
This issue is pretty old, and doesn't relate specifically to watermarking.
Could you create a new one pasting the error throwed, your piece of code, and the result of the execution of the command line if you have it, so that we can help you debug your code?
Thanks

run it manually, it's probably about reading the passfile

Thanks, that's a smart way~


Slack channel on kotlinslack

Folks, why don't you create a channel on kotlinslack until someone else did :)

I guess we could create one, but 50% of Javalin users use Java so the official channel should be gitter.


Documentation updates

There's like zero comments in the code, and we probably need a quick run through to add some, at least some docstrings

Someday


Update scala3-library to 3.0.2

Updates org.scala-lang:scala3-library from 3.0.1 to 3.0.2.
GitHub Release Notes - Version Diff - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (3.0.1).
You might want to review and update them manually.
.mergify.yml

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala3-library" } ]

labels: library-update, semver-patch, old-version-remains

Codecov Report

Merging #16 (0eb4443) into main (0c4863d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #16   +/-   ##
=======================================
  Coverage   59.83%   59.83%
=======================================
  Files           8        8
  Lines         122      122
=======================================
  Hits           73       73
  Misses         49       49

Continue to review full report at Codecov.

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


[comp:modal] 增加关闭动画的 props

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

What problem does this feature solve?

关闭弹窗的动画，因为在有些场景下需要关闭动画。
What does the proposed API look like?

增加一个类型为 boolean 的 props 来控制。

这个我来加一下。


Add migration to fix Highway Code change note data

This is the first part of the fix for the problem described in issue
#861.
There are unexpected updates listed for The Highway
Code1 against 1 March 2017.
We expect to see "Annex 5 Penalties" with a single change described as
"Updated the penalty table to increase penalty points for using a
hand-held mobile phone when driving from 3 to 6.".
We're also seeing:

Road users requiring extra care (204 to 225)

Updated Rule 209 to add an image of the school bus road sign.

Signals to other road users

New section added.

Signals by authorised persons

New section added.

Road markings

New section added.

Vehicle markings

New section added.

Annex 8. Safety code for new drivers

Updated the Pass Plus email address to<EMAIL_ADDRESS>

For all the updates on 1 March 2017 we're seeing two identical change
notes, one with a timestamp of 2017-03-01T09:49:18Z and the other with a
timestamp of 2017-03-01T11:03:18Z.
The problem is due to duplicate "major update" SectionEditions and
their change notes. The presence of these SectionEditions result in
"duplicate" PublicationLogs which are sent to the Publishing API as
change notes.
This migration updates the affected SectionEditions to make them minor
changes and removes their changes notes.
We still need to rebuild the PublicationLogs and update the content in
the Publishing API but they will happen separately.

This looks good to me and I think it should work fine on production-like data.
In development however I ran the migration and got:
13:17 $ be rake db:migrate
==  FixChangeNoteDataForTheHighwayCode: migrating =============================
rake aborted!
StandardError: An error has occurred,<PHONE_NUMBER>2512 and all later migrations canceled:

Only expected to find a single match, found 0

Which is caused by line 7 of the migration returning 0 results. Perhaps it could fail more gracefully in this situation?

I think it also might be worth mentioning in the commit note why there is no down migration - I think it would be possible to write one, but given that the data is bad, I'm not sure it's needed.

Thanks @chrislo. I've updated the migration based on your feedback. Can you take another look when you have a moment, please?

Looks great!

Thanks @chrislo! Merging now.


Implement draft-wang-ppm-dap-taskprov-01

The first drat, 00, was implemented in #139. The new draft has a few minor changes.

This is done.


GUARD-312 Allow logging to be enabled through ServiceFactory.CreateIt…

…emsService

This extra logging doesn't appear to be needed since it appears to be a general slowness


Adapt buildscripts for changes in our testing framework

So that they build using multiprocessing

Hmm... so sys.argv is not considered anymore?


compatibility for OpenNebula

Hello,
I would like to add compatibility for OpenNebula. Are there any standards (rules), that I have to keep, or do you have any hints for me? What do I have to do for you to accept my pull request?
Thanks for your response.
Slavomír Polák

Great! Thanks for your help.
Take a look at the other datasources to get an idea of how the code is structured. Other than the golang standards, there really aren't any other rules for the codebase. Just make sure you have tests.
You should also know that we are transitioning to Ignition with the intent of dropping coreos-cloudinit at some point in the future. You may want to work on that instead, but it's up to you.


made relevant protocols generic

Closes #1821

I think this PEP relates to why we have to define the typevar as contravariant https://peps.python.org/pep-0544/#overriding-inferred-variance-of-protocol-classes

@danielballan Are we okay to merge this?


Arguments can't fit into locals in class file org/apache/tomcat/util/http/FastHttpDateFormat

First, I added these dependencies into it/spring-fat/pom.xml:
<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
</dependencies>

I've used latest JEO version<EMAIL_ADDRESS>Then, I used invoker to run the test:
mvn clean integration-test -Dinvoker.test=spring-fat -DskipTests -e

Which invokes these goals: clean test -e.
Both disassembling and assembling passes, but application failed to start Tomcat web server due to problems with class file (after jeo-maven-plugin:assemble): test.log (it's too big to paste it here)
I'm not sure, but probably jeo-maven-plugin:assemble goal fails to build valid class file for org.apache.tomcat.util.http.FastHttpDateFormat and org.apache.tomcat.util.http.SocketWrapperBase

@volodya-lombrozo take a look, please

@h1alexbel It seem we have the problem related to the  max_locals value computation this time. Thank you for reporting the bug!

@rultor release, tag is 0.6.14, title is 0.6.14

@rultor release, tag is 0.6.14, title is 0.6.14

@volodya-lombrozo OK, I will release it now. Please check the progress here.

@rultor release, tag is 0.6.14, title is 0.6.14

@volodya-lombrozo Done! FYI, the full log is here (took me 14min).

@h1alexbel Would you mind trying the new 0.6.14 version, please? It should solve the problem.

@volodya-lombrozo checked new version - it works now, thanks!


"Versions, Versions, Versions" page out of date

Just a heads up that the Version, Versions, Versions page appears out of date. It was linked to from the Play 2.5 documentation, but the latest Play version it mentions as supported is 2.4.

This is a duplicate of #54. I think @bvenners and Artima maintain the page. Perhaps if they're unable to update it we should just stop pointing to that page and move the information to the README. Though I'd prefer if they just took down the page completely and moved the information here.

Perhaps if they're unable to update it we should just stop pointing to that page and move the information to the README.

Greg, see #44. I think your suggestion could be added as part of that issue.


Add additional show settings to markdown generator

Is your feature request related to a problem? Please describe.
There are certain circumstances where I only want to embed the args/returns, and no title/description/etc.
Describe the solution you'd like
The main concept here is the ability to enable/disable rendering for all major blocks.
Expand the current set of show settings (currently only show_root_heading and show_source) to also include the following:

show_title
show_description
show_parameters
show_returns
show_raises

... and for classes:

show_method_title
show_method_description
show_bases

A nice to have bonus feature would be the ability to globally change these default values.
Describe alternatives you've considered
Could alternatively develop a use_template="path_to_template.html" variable that allows the user to select their own Jinja template for that one specific include tag to use.
This would require additional documentation as to what context variables are accessible within the jinja context.
I wouldn't advise doing this though, as it seems unnecessarily complex for most people who just wanna hide basic stuff without changing the core rendering behavior.
Additional context
N/A

This is probably more relevant on the handler-level, e.g. mkdocstrings-python if you're talking about python, rather than mkdocstrings. Since that's the cog in the wheel that handles the rendering into html.
@pawamoy Would you accept a PR in mkdocstrings-python for this? I'm thinking of an approach like:

make the python handler accept all these new "show" config options, default will be True for all.
modify base templates for docstrings/ to only render if kind == "Parameters" and show_parameters

Should be simple enough to implement, the only thing is that we'll be introducing a ton of new config options.

Yes, I would accept such a PR :rocket:
Indeed that's quite a lot of options. I'm not yet sure how I would like to handle the growing number of options in the future (nest them? keep them flat? factorize them somehow?), so I suggest we don't lose time waiting, and we'll see later if we need to reorganize them or not :slightly_smiling_face:

On the bright side they're basically invisible settings in user land.
Even if the amount of parameters increase in the future, it's probably pretty rare to see occasions where users will modify a substantial amount of them at once.
Being able to globally change the defaults would be nice though.

Cool cool, I'll get on it 🚀

Not a global override, but rather a global default settings change.
For example, perhaps 90% of the time I don't want show_bases, but there might be specific occasions where it's needed.

Yep, should be possible, if I understand u correctly. We'll expose the option globally (i.e,. you'll set show_bases: false in mkdocs.yml), then specify show_bases: true in the autodoc specification where you want to show base. For precise control.

Even if the amount of parameters increase in the future, it's probably pretty rare to see occasions where users will modify a substantial amount of them at once.

What worries me a bit is more the maintenance (and deprecation periods that will ensue if we reorganize options), more than the list being long in users' configs. But as I said, I'll see that later :slightly_smiling_face:

Implemented in https://github.com/mkdocstrings/python/pull/56, thanks @thatlittleboy and @Archmonger!


[BIG BIG FEATURE]: Support PUG files as alternative to HTML

Which @angular/* package(s) are relevant/related to the feature request?
compiler-cli, compiler
Description
Hello Angular Team,
First of all I wanna say I love you and I'm very glad you make Angular possible!!! I use Angular since 5 last years and I really think this is the best framework ever done !!
I do programming since 2009, and I dicovered today the PUG format file which is a wonderful alternative to HTML. It is so energy less reading those files it surprised me!
I did some research to know if it's compatible with Angular and it is not the case by default.
I think this is one of the best features that Angular can comes with by default for the next version!!! Support everything from PUG format files :)
Proposed solution
Read above : Support everything from PUG format files :)
Alternatives considered
Do nothing, but don't do that!

Hi @samantha-letourneau,
Thanks for opening this feature request.
Supporting PUG right out of the box, has a massive impact on template authoring experience and splits Angular development experience as such this is not currently not in scope of the Angular CLI.
You are still free to use PUG however, and this is possible by using a 3rd party builder that extends the Angular CLI.


Add compilers bibliography apprendix

There's already a Rust Bibliography appendix, I think it would be great to start a compilers bibliography appendix that may help give some background to better understand the compiler.
For instance, we could start by adding some of these resources from Rust Programming Language Community Server #lang-dev channel.
/cc @mark-i-m

I like the idea. Perhaps a section at the end of Background Appendix with extra reading?

@mark-i-m yes, I think that would be fine.

@spastorino The link appears to be broken... Do you happen to know what was there...
Also, in the future, perhaps it would be best not to post links to discord?

What was there is the following ...
BOOKS
----
Types and Programming Languages: https://www.cis.upenn.edu/~bcpierce/tapl/
Programming Language Pragmatics: https://www.cs.rochester.edu/~scott/pragmatics/
Practical Foundations for Programming Languages: https://www.cs.cmu.edu/~rwh/pfpl/2nded.pdf
Compilers: Principles, Techniques, and Tools 2nd: https://www.amazon.com/dp/9332518661/ref=cm_sw_r_other_apa_1tUSBb5VHAVA1
Garbage Collection: Algorithms for Automatic Dynamic Memory Management: https://www.cs.kent.ac.uk/people/staff/rej/gcbook/
Linkers and Loaders: https://linker.iecc.com/
Advanced Compiler Design and Implementation: https://www.goodreads.com/book/show/887908.Advanced_Compiler_Design_and_Implementation
Building an Optimizing Compiler: https://www.goodreads.com/book/show/2063103.Building_an_Optimizing_Compiler
Crafting Interpreters: http://www.craftinginterpreters.com/

COURSE RELATED
----
University of Oregon Programming Languages Summer School archive: https://www.cs.uoregon.edu/research/summerschool/archives.html

WIKIS
----
Wikipedia: https://en.wikipedia.org/wiki/List_of_programming_languages_by_type
Esoteric Programming Languages: https://esolangs.org/wiki/Main_Page
Stanford Encyclopedia of Philosophy: https://plato.stanford.edu/index.html
nLab: https://ncatlab.org/nlab/show/HomePage

MISC (PAPERS/BLOG POSTS)
----
Programming in Martin-Löf's Type Theory: http://citeseerx.ist.psu.edu/viewdoc/download?doi=<IP_ADDRESS>.6683&rep=rep1&type=pdf
Polymorphism, Subtyping, and Type Inference in MLsub: https://www.cl.cam.ac.uk/~sd601/papers/mlsub-preprint.pdf

Thanks to mem, scottmcm, and Levi (on the official Discord) for the recommendations, and to tinaun for posting a link to a twitter thread from Graydon Hoare (https://twitter.com/graydon_pub/status/1039615569132118016) which had some more recommendations!
Other sources:
- https://gcc.gnu.org/wiki/ListOfCompilerBooks (not all included)

If you have a suggestion for this list, please @ me!


[BUG] [MSInstallation isEqualToMSInstallation:] is passing nil to NSCalendar method

Describe the bug
[MSInstallation isEqualToMSInstallation:] is passing nil to NSCalendar method. This is generating the following log spew from Apple, which indicates this will be an exception in the future:
*** -[NSCalendar isDate:equalToDate:toUnitGranularity:]: date1 cannot be nil
Future exception.
A few of these errors are going to be reported with this complaint, then further violations will simply be ignored.
Exception or Stack Trace
CoreFoundation 0x00000001a68b4168 935533F2-35EE-314E-A760-E74521F68435 + 1278312
WindowsAzureMessaging 0x0000000102ca3724 -[MSInstallation isEqualToMSInstallation:] + 588
WindowsAzureMessaging 0x0000000102ca3d30 -[MSInstallation isEqual:] + 204
WindowsAzureMessaging 0x0000000102c9ba40 -[MSDebounceInstallationManager execute] + 120

This codepath should nil check before calling the NSCalendar API.
To Reproduce

Start MSNotificationHub
Set the user ID

Code Snippet
Seems to ultimately be triggered by setting the user ID:
MSNotificationHub.setUserId("\(userId.lowercased())")

Expected behavior
A clear and concise description of what you expected to happen.
Setup (please complete the following information):

OS: iOS 14.3
IDE : Xcode 12.3
WindowsAzureMessaging 3.1.1 (SwiftPM)

Additional context
(lldb) po self.expirationTime
 nil
(lldb) po installation.expirationTime
2021-04-06 02:55:33 +0000

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[X] Bug Description Added
[X] Repro Steps Added
[X] Setup information Added

@GyroJoe Yes, this seems to be an issue with Xcode, luckily it does not cause a crash but yet seems now.  Will investigate

@GyroJoe Yes, this seems to be an issue with Xcode, luckily it does not cause a crash but yet seems now.  Will investigate

Closed by #108

Closed by #108


Register multiple WorkflowStatusListeners

We are using the DynoQueueStatusPublisher for scheduling workflows, but we would also like to use the Archiving Module, when enabling both of them I get an error saying that a class is already bound to WorkflowStatusListener either here
https://github.com/Netflix/conductor/blob/2aae31cff1a3cf4c304cf937deaf4152081cce08/contribs/src/main/java/com/netflix/conductor/contribs/DynoQueueStatusPublisherModule.java#L10
or here, depending on the order I add them to conductor.additional.modules in the config
https://github.com/Netflix/conductor/blob/b086bdc9c4002a45ec690d9268e5bd1063406803/contribs/src/main/java/com/netflix/conductor/contribs/ArchivingWorkflowModule.java#L28
How can I enable both?

Currently, only one implementation of the WorkflowStatusListener can be plugged in. In order to enable both, you would need to create your implementation where you invoke both these listeners.

@apanicker-nflx Is it possible to enable multiple listener registrations? Is there any reason you wouldn't want to have all the status listeners be called one after the other in an order specified by the user? What is the correct/preferred pattern for implementing that? (I can open ap pr)

Is it possible to enable multiple listener registrations?

This is not supported.

Is there any reason you wouldn't want to have all the status listeners be called one after the other in an order specified by the user?

The primary reason to not do this would be the failure scenarios that would arise from chaining multiple listener implementations. Apart from this, how failures need to be handled in each of these would be different for different use-cases. This would mean additional complexity that is introduced into the project when it could be differed to the implementer.

What is the correct/preferred pattern for implementing that?

As mentioned earlier, I would recommend you to implement a custom listener where you would invoke both these implementations and you could also further extend this to add some other custom post processing that you may need for your use-case.


Math in Jupyter

@jlperla and I have been some issues with math in Weave.notebook().
In particular, syntax like the following works fine weaved to HTML, but not to notebook (ignore the \ characters, as I couldn't get GH to render it without them).
I tried convert_doc() instead of notebook(), but it didn't make much difference.
\```math
\begin{equation}
...some thing
\end{equation}
\```

See here for a solution: https://github.com/mpastell/Weave.jl/issues/182#issuecomment-467929113 . More generally Weave doesn’t do any formatting on the markdown passed to Jupyter so you need use subset of markdown that is compatible with both.

Right, the issue is that we have one set of source Markdown which we are weaving jointly to HTML and Jupyter, and the $$ syntax breaks the HTML.
Is there a solution which is compatible with both outputs?

$$ should work with both formats with the latest release, can you check that you have updated Weave.

Yeah, I'm on v0.8.1. Let me find a minimal example.

Nevermind, I confused the fence and $$ syntax. Will switch over to $$ then for the math blocks.

Wait, sorry, I remember the issue. If we switch to the $$ syntax, that works for math blocks, but how do we do inline math without the double backticks?

Closing as I think the solution is  just to use $.


Load megaD configuration in fetch_ports_state for devices that was power down at startup

not relevant to the current version


New ADT structure including checking

[ ] Data strucutre for ADT
[ ] Checking / validation of data structure (when and what)
[ ] test : generator for ADT (in Quickcheck using sized)
[ ] test: tests for ADT
[ ] documentation: haddock documentation

[ ] make interface of ValExpr w.r.t. ADT clear

[ ] follow changes in higher levels of TorXakis

estimate time: 3 weeks

@keremispirli @capitanbatata Could we use https://wiki.haskell.org/Mutually_recursive_modules to break the cycle of  Sort and ADTDEF?

@pjljvandelaar Looks like we can break the cycle by changing SortADT (Ref ADTDef) to SortADT (Ref t), sacrificing type-safety for SortADT.
Other option is writing a .hs-boot file, about which I have no idea.

I thought we tried SortADT (Ref t) then
Sort would also get a t and ADTDef that uses sort would also get a t.....
So it would become Ref ADTDEF Sort (maybe with brackets) which I don't consider readable....

Experiment results:
Using Ref Int introduces a lot of complexity when creating and accessing data structures. Yet it does not provide significant performance gains against using HashMap with entity names (Text).
Test results: Access 1m values with Map lookups

Map     -> 1.8s
IntMap -> 0.5s
HashMap -> 0.7s

Using names (as Text) as references also removes the need of looking up data structure just for its name when name is the only thing that is needed.

We have two different ways to specify Sort:

The user uses Name: it is unchecked whether this name is valid.
Internally we use Sort (Ref ADTDef): the reference is checked and is either a predefined sort, or points to a declared ADT.

This mean that we have a number of data structure where both ways to specify sort are possible

FieldDef v
FieldDefs v
ConstructorDef v
ConstructorDefs v
ADTDef v

When we make ADTDefs the reference are checked and we no longer need the distinction between user specified and still unchecked values and internal representation with checked values!
The transformation from X Name to X (Sort (Ref ADTDef)) can be realized using [https://wiki.haskell.org/Scrap_your_boilerplate](scrap your boilerplate)
See also http://expressiveprogramming.com/presentations/syb_talk.html

So the code for FieldDef v and FieldDefs v becomes
-- | Data structure for a field definition.
data FieldDef v = FieldDef { fieldName :: Text -- ^ Name of the field
                           , sort      :: v    -- ^ Sort of the field
                           }
    deriving (Eq,Ord,Read,Show, Generic, NFData, Data)

-- | Data structure for a collection of 'FieldDef's.
data FieldDefs v = FieldDefs  { -- | Transform 'FieldDefs' to a list of tuples of 'Ref' 'FieldDef' and 'FieldDef'.
                               fDefsToList :: [(Ref (FieldDef v), FieldDef v)]
                                -- | Number of field definitions in a 'FieldDefs'.
                              , nrOfFieldDefs :: Int
                              }
    deriving (Eq, Ord, Read, Show, Generic, NFData, Data)

@pjljvandelaar I don't know whether we have a convention about it yet; it looks like right now we have both.
Comparing current definitions above with what you wrote, are we replacing Sort altogether with type parameter v ?

How to handle v in Ref (ADTDef v)?
See
https://wiki.haskell.org/Empty_type and
https://stackoverflow.com/questions/16892570/what-is-in-haskell-exactly
or just use Ref ADTDefs?

We are creating variants: the non-checked (v equals Name) and the checked (v equals Ref (ADTDef v))

Indeed, FieldDef Name contains unchecked sort references (user input), ie, Name, while
FieldDef Sort contains checked sort references, ie., Sort that internally contains Ref (ADTDef v).
Since by defining ADTDefs everything is checked, one doesn't need the variant anymore at that level.

If we would write Ref (ADTDef Sort), I think we have the solution as mentioned on https://wiki.haskell.org/Mutually_recursive_modules

@keremispirli  about the convention: I think we should use -- |  when the constructor is NOT public and -- ^  when it is!

@pjljvandelaar @keremispirli I've updated the issue by adding some checkboxes with the tasks I understand need to be finished in order to complete this task. @pjljvandelaar Please take a look at these. Maybe we can merge the checkboxes into one.

@keremispirli about the convention: I think we should use for the fields/accessors -- | when the constructor is NOT public and -- ^ when it is!

Why not just using --| everywhere? In that way we have more characters to fit in one line.

For me '--|' is as long as '--^' ... so I don 't understand your remark....

For me '--|' is as long as '--^' ... so I don 't understand your remark....

You use -- ^ to refer to the element that precede the comment, and -- | to refer to elements that follow. Example:
data D = D
  { f0 :: A -- ^ First field
    -- | Second field
  , f1 :: B
  }

See http://haskell-haddock.readthedocs.io/en/latest/markup.html ...

See http://haskell-haddock.readthedocs.io/en/latest/markup.html ...

Ok, you meant the top level declaration. Why not stick to -- |? Less cognitive load (than having to remember conventions about whether it is a private or public function), and nothing needs to be changed if a function is changed to public or vice-versa.

I agree just stick to -- | (had to read the docs to get the real meaning of -- ^).

I built and installed argon on Linux, and it seems to work. See for instance the lpe dode:

Sadly I think it does not work on Windows, but I can run the analysis and report it here.

I'm adding an extra task to move the .cabal file to use hpack since that will simplify our maintenance tasks.

Why not make a separate issue: move to hpack?
We can then discuss the pros and cons.
Furthermore it keeps this issue more focussed.

I already migrated to hpack 🙃
New projects in stack come with hpack by default. See if you like the new approach, we can revert later. But hpack is seen as a superior alternative to cabal (hpack generates cabal files automatically).

For example, can we still use 'weeder'?
Yes.

@pjljvandelaar and @keremispirli I've finished an alternative version of what you guys did so far. In the ADTExp.hs file you can find the untidy version. In the Alt folder you can find the more organized version.
Since @pjljvandelaar starts early on Monday, he can take a look at what I've done already. On Monday after 9:30 the three of us can discuss my questions and suggested changes, and merge what we think appropriate into the work you've done. Hopefully we can all agree, and move forward to try to merge the changes into TorXakis, and finish this story.
To play with the examples, fire up the ghci REPL selecting the sort-test as target:
stack ghci --ghc-options -Wno-all sort:test:sort-test

Then take a look at:
Alt.Examples.mADTDefs
-- or
Alt.Examples.mCircularADTDefs

The examples are in the test folder (sys/sort/test/Alt/Examples.hs). For instance:
tPerson = "Person" .::= ["Person" .= ["name" .: "String", "age" .: "Int"]]
tOperation = "Operation" .::= [ "Plus"  .= ["p0" .: "Int", "p1" .: "Int"]
                              , "Minus" .= ["m0" .: "Int", "m1" .: "Int"]
                              ]
tStudent = "Student" .::= [ "Student" .= ["who" .: "Person", "grade" .: "Int"]]
mADTDefs = mkADTs' [tPerson, tOperation, tStudent]

ADT generators are ready. We should be able to quick-check good weather scenarios. @pjljvandelaar please check if this is what you had in mind.

@capitanbatata I think you forgot to check in ;-)
I get build errors.
``

f:fs <- elements famousPeople assumes that although O is a real last name, O will not become famous ;-)

-- The first list of constructors must contain at least one element, and
    -- may not use the type of the containing ADT.
    cs0 <- listOf1 $ arbitraryConstructorDef Nothing

I would have create just one element c0 instead of a list, but both are fine.

Maybe it is for later, but I am missing some termination logic needed for making ValExpr that use constructors and accessors (and which have to terminate despite recursive data types).

Final remark:
In arbitraryConstructorDefs, I read
    -- Clear the field names.
    lift $ modify clearFields

I assume this explicitly uses the way the generator works: from the ConstructorDefs a single ADT is made (next). And never is a single ADT made from multiple ConstructorDefs.

@keremispirli We have to discuss Referencable once more.
We have ref by name ref by signature and ref by unique id.
For ref by unique id we need a Monad (to remember the look up table).
We as developers have a choice: how do we refer?
For example, a reference to a function can be ref by signature and ref by unique id.
So the convertsTo  for
instance (Referencable a', ConvertsTo a a') => ConvertsTo [a] (HashMap (Ref a') a') where
    convertTo as =
        Map.fromList
        $ map ((\a' -> (mkRef a', a')) . convertTo) as

might be too prescribing: it should be an explicit decision by us (the developers) based on the results of some benchmarks.

I get build errors.

That's because I did not remove the warnings yet. Try with:

stack build --fast --file-watch --ghc-options -Wno-all sort-gen

And to play with the generators load the REPL with:

stack ghci --ghc-options -Wno-all sort-gen:lib

@capitanbatata what is generated looks good!
Since I only see [a-zA-Z] as characters, we might not be testing it as thoroughly as we want since I think more characters are allowed to make valid names. Or should we limited what is valid in the smart constructor of Name?

Since I only see [a-zA-Z] as characters, we might not be testing it as thoroughly as we want since I think more characters are allowed to make valid names. Or should we limited what is valid in the smart constructor of Name?

I don't know if we want to generate strings with any  printable characters at this point. In the sort package we only use the name for string comparison, so I don't know if using random strings will help us in testing. In the future we might add a switch to toggle between readable names and more random stuff.

let's discuss on Monday the composability of generators.
How would you generate a function definition that has arguments including adt as sort?
Could we also have made a field generator that would get a set of available data dataypes and a set of forbidden field names, and similar a constructor generator and adt generator?

I realized that the generators allow recursive data types but only to themselves: like List
  List ::= Nil
           | Cstr (head :: Int, tail :: List)

I think a group of recursive data types is not generated,
For example,
A ::= C | D (b :: B)
B ::= E (a :: A)

is imho not covered.
@capitanbatata Do you agree?

@pjljvandelaar agree.  I'll make a new checkbox out of it. @keremispirli please bear in mind that we don't need to complete all the TODO's in the issue description to close https://github.com/TorXakis/TorXakis/pull/585, let's aim to finish the absolute minimum, and promote the unfinished tasks as TODO's.

When we want to merge this branch with the main development, we have a lot of issues
PS C:\TorXakis.git> git merge develop
Auto-merging test/sqatt/stack_linux.yaml
Removing test/sqatt/src/Integration/Any.hs
Removing test/sqatt/data/integration-test/Any/anyTest.txscmd
Removing test/sqatt/data/integration-test/Any/anyTest.txs
Auto-merging test/environment/environment.cabal
CONFLICT (content): Merge conflict in test/environment/environment.cabal
Auto-merging sys/value/value.cabal
Auto-merging sys/value/src/Eval.hs
CONFLICT (content): Merge conflict in sys/value/src/Eval.hs
Auto-merging sys/valexpr/valexpr.cabal
CONFLICT (content): Merge conflict in sys/valexpr/valexpr.cabal
Auto-merging sys/valexpr/test/ProductGen.hs
Auto-merging sys/valexpr/src/ValExprImpls.hs
CONFLICT (content): Merge conflict in sys/valexpr/src/ValExprImpls.hs
Auto-merging sys/valexpr/src/ValExprDefs.hs
CONFLICT (content): Merge conflict in sys/valexpr/src/ValExprDefs.hs
CONFLICT (modify/delete): sys/valexpr/src/SortId.hs deleted in HEAD and modified in develop. Version develop of sys/valexpr/src/SortId.hs left in tree.
Auto-merging sys/valexpr/src/FuncDef.hs
CONFLICT (content): Merge conflict in sys/valexpr/src/FuncDef.hs
CONFLICT (modify/delete): sys/valexpr/src/CstrDef.hs deleted in HEAD and modified in develop. Version develop of sys/valexpr/src/CstrDef.hs left in tree.
CONFLICT (modify/delete): sys/valexpr/src/ConstDefs.hs deleted in develop and modified in HEAD. Version HEAD of sys/valexpr/src/ConstDefs.hs left in tree.
Auto-merging sys/sort/src/Sort/Internal.hs
CONFLICT (content): Merge conflict in sys/sort/src/Sort/Internal.hs
Auto-merging sys/sort/src/Id.hs
Auto-merging sys/solve/test/TestVexprToSMT.hs
CONFLICT (content): Merge conflict in sys/solve/test/TestVexprToSMT.hs
Auto-merging sys/solve/test/TestSortDefToSMT.hs
Auto-merging sys/solve/test/TestSolvers.hs
CONFLICT (content): Merge conflict in sys/solve/test/TestSolvers.hs
Auto-merging sys/solve/test/TestSMTValue.hs
Auto-merging sys/solve/test/TestRecursiveFunction.hs
CONFLICT (content): Merge conflict in sys/solve/test/TestRecursiveFunction.hs
Auto-merging sys/solve/test/TestPushPop.hs
CONFLICT (content): Merge conflict in sys/solve/test/TestPushPop.hs
Auto-merging sys/solve/test/TestMultipleInstances.hs
CONFLICT (content): Merge conflict in sys/solve/test/TestMultipleInstances.hs
Auto-merging sys/solve/test/TestFuncDefToSMT.hs
CONFLICT (content): Merge conflict in sys/solve/test/TestFuncDefToSMT.hs
Auto-merging sys/solve/test/TestConstraint.hs
CONFLICT (content): Merge conflict in sys/solve/test/TestConstraint.hs
Auto-merging sys/solve/test/HelperVexprToSMT.hs
CONFLICT (content): Merge conflict in sys/solve/test/HelperVexprToSMT.hs
Auto-merging sys/solve/test/HelperFuncDefToSMT.hs
CONFLICT (content): Merge conflict in sys/solve/test/HelperFuncDefToSMT.hs
Auto-merging sys/solve/src/TXS2SMT.hs
CONFLICT (content): Merge conflict in sys/solve/src/TXS2SMT.hs
Auto-merging sys/solve/src/Solve.hs
CONFLICT (content): Merge conflict in sys/solve/src/Solve.hs
Auto-merging sys/solve/src/SMTInternal.hs
CONFLICT (content): Merge conflict in sys/solve/src/SMTInternal.hs
Auto-merging sys/solve/src/SMT2TXS.hs
CONFLICT (content): Merge conflict in sys/solve/src/SMT2TXS.hs
Auto-merging sys/solve/src/RandTrueBins.hs
CONFLICT (content): Merge conflict in sys/solve/src/RandTrueBins.hs
Auto-merging sys/solve/src/RandPartition.hs
CONFLICT (content): Merge conflict in sys/solve/src/RandPartition.hs
Auto-merging sys/solve/src/RandIncrementChoice.hs
CONFLICT (content): Merge conflict in sys/solve/src/RandIncrementChoice.hs
Auto-merging sys/solve/src/FreeVar.hs
Auto-merging sys/solve/solve.cabal
CONFLICT (content): Merge conflict in sys/solve/solve.cabal
Auto-merging sys/server/server.cabal
CONFLICT (content): Merge conflict in sys/server/server.cabal
Removing sys/front/test/Main.hs
CONFLICT (modify/delete): sys/front/src/TxsHappy.y deleted in develop and modified in HEAD. Version HEAD of sys/front/src/TxsHappy.y left in tree.
Removing sys/front/src/TxsAlex.x
CONFLICT (modify/delete): sys/front/front.cabal deleted in develop and modified in HEAD. Version HEAD of sys/front/front.cabal left in tree.
Auto-merging sys/defs/src/XmlFormat.hs
CONFLICT (content): Merge conflict in sys/defs/src/XmlFormat.hs
Auto-merging sys/defs/src/TxsUtils.hs
CONFLICT (content): Merge conflict in sys/defs/src/TxsUtils.hs
Auto-merging sys/defs/src/TxsShow.hs
CONFLICT (content): Merge conflict in sys/defs/src/TxsShow.hs
Auto-merging sys/defs/src/StdTDefs.hs
CONFLICT (content): Merge conflict in sys/defs/src/StdTDefs.hs
Removing sys/defs/src/Params.hs
Auto-merging sys/defs/src/Ident.hs
Auto-merging sys/defs/src/FuncTable.hs
CONFLICT (content): Merge conflict in sys/defs/src/FuncTable.hs
Removing sys/defs/src/BehExprDefs.hs
Auto-merging sys/defs/defs.cabal
CONFLICT (content): Merge conflict in sys/defs/defs.cabal
Auto-merging sys/coreenv/coreenv.cabal
Auto-merging sys/core/src/TxsCore.hs
Auto-merging sys/bexpr/src/VarEnv.hs
Auto-merging sys/bexpr/src/ProcId.hs
CONFLICT (content): Merge conflict in sys/bexpr/src/ProcId.hs
Auto-merging sys/bexpr/src/ProcDef.hs
Auto-merging sys/behaveenv/behaveenv.cabal
Auto-merging sys/behavedefs/src/BTree.hs
Auto-merging sys/behavedefs/behavedefs.cabal
Auto-merging sys/behave/test/TestHelperFuncContent.hs
Removing sys/behave/src/Subst.hs
Auto-merging sys/behave/src/Expand.hs
CONFLICT (content): Merge conflict in sys/behave/src/Expand.hs
Auto-merging sys/behave/behave.cabal
CONFLICT (content): Merge conflict in sys/behave/behave.cabal
Auto-merging stack_linux.yaml
Auto-merging stack.yaml
Removing snap/snapcraft.yaml
Removing snap/hooks/install
Removing snap/data/.torxakis.yaml
Removing snap/README.md
Auto-merging ci/updateAndPushGhPagesFromDevelop.sh
CONFLICT (content): Merge conflict in ci/updateAndPushGhPagesFromDevelop.sh
Auto-merging .gitignore
Automatic merge failed; fix conflicts and then commit the result.

@keremispirli Why is a user defined ADTDef of type ADTDEF (Either Sort Name)?
Can't it be just ADTDEF Name (i.e. user refer by name)
and ADTDEF Sort for all internal references (i.e. we refer by checked names)?

I think we have tried ADTDEF Name and ADTDEF Sort but at some point (I think it was close to the compiler) we got stuck; the only choice was ADTDEF (Either Sort Name). I remember writing the details down somewhere but can't find it now.
On the other hand, since now we have a new compiler it may indeed be possible to use something simpler.


⚠ Bofrost.fr has degraded performance

In 4b64b2f, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 2170 ms

Resolved: Bofrost.fr performance has improved in 17169e8 after 26 minutes.


Whitelist system

Add a whitelist system to not automatically convert whitelisted websites in auto mode.

Would like to know is there any progress on this issue? : )
BTW thanks for your great effort!


Add clipBehavior to widgets with clipRect

Description
We add clipBehavior to

Flex
FittedBox
UnconstrainedBox
Stack
Wrap
EditableText
ListWheelScrollView
SingleChildScrollView
NestedScrollView
ShrinkWrappingViewport

The first 5 of them are default to Clip.none while the second 5 of them are default to Clip.hardEdge.
Related Issues
This is a continuation of https://github.com/flutter/flutter/issues/18057, and this fixes https://github.com/flutter/flutter/issues/21830
Tests
Unit tests added to each modified widget and render object.
Breaking Change

[x] Yes, this is a breaking change as all those widgets previously default to clip with anti-alias.

[x] I wrote a design doc: https://flutter.dev/go/clip-behavior
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[x] I wrote a migration guide

Gold has detected one or more untriaged digests on patchset 9.
Please triage them at https://flutter-gold.skia.org/search?issue=55977.

This appears to be breaking some tests (see cirrus).

@goderbauer : thanks! Just fixed them.

Gold has detected one or more untriaged digests on patchset 10.
Please triage them at https://flutter-gold.skia.org/search?issue=55977.

Can you please fill out the PR template. The section about breaking changes would be most relevant.
What's the plan to make this breaking change? Will this not break many customers in unsuspecting ways?

Gold has detected one or more untriaged digests on patchset 12.
Please triage them at https://flutter-gold.skia.org/search?issue=55977.

Gold has detected one or more untriaged digests on patchset 12.
Please triage them at https://flutter-gold.skia.org/search?issue=55977.

Gold has detected one or more untriaged digests on patchset 13.
Please triage them at https://flutter-gold.skia.org/search?issue=55977.

Does this change cause any trouble when rolled into google3?

Imagine an application that rotates everything by 15 degrees, and therefore needs all these clips to be antialiased. It's going to be a huge pain for them to set this on every widget. I wonder if at the widget layer we should have an inherited widget that provides the default... probably too expensive sadly.

Does this change cause any trouble when rolled into google3?

@goderbauer : yes, the golden image update and code changes are expected according to the migration plan. Specifically, all references to overflow and clipToSize need to be updated.

Gold has detected about 3 untriaged digest(s) on patchset 14.
Please triage them at https://flutter-gold.skia.org/search?issue=55977.

LGTM if devrel is OK with putting this breakage onto our users.

It appears that tests are failing, though.

@goderbauer : the PR right now should be non-breaking as I restored the default clipBehavior to hardEdge, and restored overflow to override clipBehavior. The clipToSize is still removed because I didn't see any usage in cs/.

The migration guide should be published on our website with the other guides here: https://github.com/flutter/website/tree/59e2f232626b8d70779b05a13c5cdddd9c605a23/src/docs/release/breaking-changes

The website change is now also ready in https://github.com/flutter/website/pull/4143

What about ScrollView and its children (ListView)?

@urusai88 : they're being added in https://github.com/flutter/flutter/pull/63147


Add iMouseTrick v1.1

iMouseTrick is a program designed to perform only one function: click
many times and as fast as you want. When this program is useful? For
example, when you are playing a game where you have to do a lot of
clicks and you're not fast enough or you don't want to lose your finger
clicking all the time. The limit is up to you.

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if adding a new cask:

[x] Named the cask according to the token reference.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.
[x] Checked there are no open pull requests for the same cask.
[x] Checked the cask was not already refused in closed issues.
[x] Checked the cask is submitted to the correct repo.

@vitorgalvao Question: Why not delete the /private/var/folders/ data files?

@karbassi Because those are temporary files that the system should handle. They’re not meant to be taken care of manually or by software that isn’t the one that created them.


Distributed Tracing

Purpose

Enrich ELMS with an end-to-end distributed tracing sample so the repo contains a comprehensive guidance on all three observability data types: logs, metrics, traces.
The PR contains:

End-to-end distributed tracing sample for IoT Edge -> Cloud scenario
Updated scripts and templates to deploy the sample

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

@marvin-garcia could you please look at this PR?

Revoking in favor of https://github.com/Azure-Samples/iotedge-logging-and-monitoring-solution/pull/19


Committed marker for GFG

Is your feature request related to a problem? Please describe.
AFAIK there is no way to know if a solution is committed to the user's repository for GeeksForGeeks.
Describe the solution you'd like
It would be nice to add a marker, such as the green tick in leetcode, for GFG too.

Sure, i think this is a pretty good idea.


Wallet history does not list unshielded deposit transaction

Bug vs expected behavior
I've transferred some ZEC to my Nighthawk wallet from an exchange which supports only withdrawals using transparent transactions.
I could see the coins in my wallet balance, but that initial transparent transaction does not show in wallet history section. In fact, the view clearly says that it is wallet history for the specific shielded address. All subsequent outgoing and incoming shielded transactions are shown correctly. So, the view does not really show wallet history as it states, but an address history instead.
I think that transaction history should not be filtered per address type, but instead it should show all transactions to and from any address managed by my wallet, no matter which type of address is used.
Nighthawk version
1.0.23
Device (please complete the following information):

Android Device: OnePlus 3
Android Version 9

To Reproduce

Make a transfer to your wallet's transparent address
Go to Wallet History
"Received From" transaction is not shown in the list, while all transactions sent to my shielded address are shown

This is as per design, the wallet is only the Shielded Address, T-address is for receive + shielding only.
Maybe improved wording and UX would help. We have a Design Sprint starting in October.


[BEAM-11695] [cherry-pick] Combiner packing in Dataflow (#13763)

Previously, combiner packing did not work in Dataflow because the optimizations were only applied to the proto_pipeline object and not the pipeline object. This fixes combiner packing, and also makes it disabled by default unless enabled using the pre_optimize option.
Cherry-pick of #13763.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @chamikaramj
cc: @tvalentyn

R: @chamikaramj
cc: @tvalentyn

Thanks. preCommitIT_streaming_V2 failure is unrelated (due to Dataflow containers not being available)

Thanks. preCommitIT_streaming_V2 failure is unrelated (due to Dataflow containers not being available)


Error entering Github access token

Ut oh! Thanks for reporting this, @uparix. How did you go about adding the token? I just tried the process again from the README.md and it worked.
The rough steps looked something like this:

Going to https://github.com/settings/tokens/new

Selecting the repo and user scopes:

Clicking the Copy Token button

Going into the GitHub action

Chose "Set GitHub access token from clipboard"

Which gave me this:

My hunch would be that you didn't select the user scope when generating the token, which would make this similar to https://github.com/bswinnerton/launchbar-github/issues/37. Is that true @uparix?

Just tried it again as given in your instructions, but have the same result. Maybe the only difference is that I have two factor auth enabled. Not sure if that has an effect. I have selected user and repo scope, but it fails on line 38.

Does it fail on step 4 or step 5?

Step 5

I verified that I have the access token in the clipboard

Now it worked. I created a new access token. But not sure if that was the issue. I guess you can close this issue.

Hmph. That's bizarre, I'm not sure what exactly is causing this, but I'm relatively confident that the issue is happening right here.
I'll try to see if I can find a way to reproduce the issue. In the mean time, it'd be very helpful to see what the response is coming back from GitHub. You can do so by taking these steps:

Opening up LaunchBar's Action Editor (I usually do this by invoking LaunchBar and typing "Action"

Choosing the GitHub action on the left

Enabling Debug Log

Quit and reopen LaunchBar

Repeating the steps to try and set the access token

Open up the Console application (/Applications/Utilities/Console.app)

Filter the requests by action=launchbar-github response=

From here, you should see the responses coming back from GitHub. As long as there is no sensitive information (like your token), it'd be great if you could post that here ❤.

Now it worked. I created a new access token. But not sure if that was the issue. I guess you can close this issue.

Ah, interesting. Were you reusing an older token, or one that was created just for LaunchBar?
I'm just curious for anyone else who may run into this problem.

👋 @uparix,
I've created http://launchbar-github.com to hopefully assist with this sort of thing in the future. By clicking on "Install" on that page, it should go through the GitHub OAuth dance and automatically configure your OAuth token (as of version v0.2.6). No more having to go to https://github.com/settings/tokens/new and manually checking checkboxes.
I hope this helps people out in the future.
For now, I'm going to close out this issue since it sounds like you were able to resolve the problem. Thanks again for reporting it, and let me know if you have any feedback!


invalid character '<' looking for beginning of value

Whenever I try to run sudo drone status, repos or whoami I get a weird error message:
invalid character '<' looking for beginning of value

I am using the latest .deb, so I guess it is version 17d773fac

For me it got fixed after sync-up drone CLI and drone Server version. I was using higher CLI version. Later I down-grade the CLI and it worked.


[KYUUBI #4387][DOCS][FOLLOWUP] Update Flink version requirements

Why are the changes needed?

Update docs to mention that Kyuubi requires Flink 1.15+ now
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Thanks, merged to master


Document external applications for Fly.io

This PR resolves a help thread in the Discord server by providing documentation for clarity on proxying a Fly.io app connection based off of its port. Proxying connections is now a top-level section under the Fly.io docs and currently details secure TLS resolution by using SSH to provide the secret result

Thanks!


Real or Fake Text (RoFT) Task: Bug Fix and Addition of Subtask README files

This Pull request fixes a bug in the RoFT task #142 where passages of the "recipes" genre in the "easy" subtask occasionally did not add up to length 10.
This also adds short README files to the three subtasks.

Thanks for fixing this. LGTM.


First contribution by Desire Oluwarotimi.

NAME :- Desire Oluwarotimi
ASSIGNED PROJECT :- PyTorch
LINK TO PROJECT GOVERNANCE MODEL :-  https://pytorch.org/docs/stable/community/governance.html
PYTORCH GOVERNANCE MODEL.
PyTorch has a governance model in place which is traditionally hierarchical to manage the development, maintenance and decision making processes. The PyTorch governance model constitutes a main team that is largely in charge of the overall growth and overseeing of PyTorch. The main team is backed up by a community of contributors. The PyTorch governance model looks to be maximally transparent and involving because it has a place for contributors who submit code, documentation, bug reports and feature requests.
Conclusively, the PyTorch model is designed to enhance a collaborative and inclusive development procedure involving its main team and group of contributors ensuring that the project meets the preferred need of its users.
PYTORCH PROJECT ROLES.

Contributors
Module maintainers
Core maintainers
Lead core maintainers.

PYTORCH DECISION MAKING PROCESS.
While seeking to maintain an aforementioned characteristic of transparency, PyTorch ensures to conduct a community-driven decision making process that incorporates feedbacks and opinions from every beneficiary of the project which includes the main team, contributors and users. Primarily, the decision making process happens on public forums such as GitHub and If need be, a vote could be conducted to arrive at a decision that would further promote the activities of PyTorch.
FINDING AND UNDERSTANDING THE PYTORCH GOVERNANCE MODEL.
Finding and locating the Pytorch governance model was pretty easy and stress free. This was majorly because the governance model had a dedicated page of its own on the PyTorch website.
Understanding the the PyTorch governance model wasn’t a hassle in any way. There was a clear outline about what the governance model is all about on the website starting from a summary of PyTorch’s adoption of a technical governance structure to explaining the different available project roles and their responsibilities. Other important details about PyTorch such as the decision making process as well as the nominating, confirming and removing of maintainers were also not left out.

@arliss-NF This is my first contribution. Kindly review. Thanks.

@RotimiDesire . You may proceed to the second project while you await the review of your first Contribution

@maryamgbemisola I'm aware. Thank you.

You are welcome

@RotimiDesire - great first task.  Apologies for not reviewing sooner.  I will move on to your second right away.

@arliss-NF Thank you for the review.


fix: correcting typo on jpeg

It's not a typo, it's a regex, meaning it's taking jpeg or jpg, the ? after the e means 0 or 1 time.
We can add jpg & jpeg as another list item if it makes it clearer?


GitFlow: Merge develop into main for release

This is a GitFlow PR to get the FMS CMake change ( fms_r8 → FMS::fms_r8 ) into main for a v3.1.0 release.

As before, this will fail CI since it's looking for the new v12 GEOSgcm.


add new resetUserInvalidation action to clear invalidation state before login, clear order history and refresh token

Short Description and Why It's Useful

add new resetUserInvalidation action which is responsible to clear invalidation state before user wants to log in. Right now when invalidation fails (token and refresh token are invalid) then we can't log in because task execution is locked. So when user wants to login then he should have clear state.
login => modify token and refresh token => refresh page => now try to login (it shows same notification all the time)

clear order history and refresh token - I think we should clear those things after logout

add redirection when user is logged out - when invalidation happens and user is in myaccount then we should be redirected to homepage because we are not logged in anymore
login => go to my account => modify token and refresh token => refresh page

Screenshots of Visual Changes before/after (if There Are Any)

Which Environment This Relates To
Check your case. In case of any doubts please read about Release Cycle

[ ] Test version (https://test.storefrontcloud.io) - this is a new feature or improvement for Vue Storefront. I've created branch from develop branch and want to merge it back to develop
[ ] RC version (https://next.storefrontcloud.io) - this is a stabilisation fix for Release Candidate of Vue Storefront. I've created branch from release branch and want to merge it back to release
[x] Stable version (https://demo.storefrontcloud.io) - this is an important fix for current stable version. I've created branch from hotfix or master branch and want to merge it back to hotfix

Upgrade Notes and Changelog

[x] No upgrade steps required (100% backward compatibility and no breaking changes)
[x] I've updated the Upgrade notes and Changelog on how to port existing Vue Storefront sites with this new feature

IMPORTANT NOTICE - Remember to update CHANGELOG.md with description of your change
Contribution and Currently Important Rules Acceptance

[x] I read and followed contribution rules

 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.


3 -Header search results are not scrollable

The search results still aren’t scrollable — which means that some of the results aren’t showing up.

Done :)


Notification about tests in progress

Description
Notification about tests in progress.
Steps to reproduce
Run the same test for the second time.
Expected behavior
When starting the test for the second time, mark the test as s Not run

Actual behavior
Test is starting but it is hard to read by numbers how many tests that have been executed. If all test have the same status as before (passed/failed) and the only indication is the progress bar that somehow shows how many tests in the new run that have been tested.
Environment
Microsoft Visual Studio Enterprise 2019
Version 16.7.2

@Tasteful Thanks for reporting, this is a VS specific issue, we can't do much about it here, but I am tagging John below, maybe he knows about a Feedback ticket that already mentions this.
@jfleisher is there any Feedback ticket for this where it can be redirected please?

Ping @AbhitejJohn

This is addressed with the new status bar we've added into Test Explorer in 17.2.


Replaced Helpers.ipStringToInt with StdLib.IPv4.stringToInt

Helpers.ipStringToInt was removed in 4bcdb97 commit, but was not replaced with StdLib.IPv4.stringToInt in getAuthSessionTicket
Fixes https://github.com/DoctorMcKay/node-steam-user/issues/230

:+1: Thanks! Pushing out to npm now.


[packchk] linux version is crashing

Describe the bug
Linux packchk tool is crashing
To Reproduce
$ curl -O -L https://github.com/Open-CMSIS-Pack/cmsis-toolbox/releases/download/2.0.0/cmsis-toolbox-linux-amd64.tar.gz
$ tar -xf cmsis-toolbox-linux-amd64.tar.gz
$ ./cmsis-toolbox-linux-amd64/bin/packchk -V
packchk 1.4.1 (C) 2012-2023 Arm Ltd. and Contributors

CMSIS Pack Checker 1.4.1 (C) 2012-2023 Arm Ltd. and Contributors

$ ./cmsis-toolbox-linux-amd64/bin/packchk <xxx>.pdsc
packchk: dl-call-libc-early-init.c:37: _dl_call_libc_early_init: Assertion `sym != NULL' failed.
Aborted

Environment (please complete the following information):
Ubuntu 20.04.6 LTS

Info from @brondani

A possible workaround is to disable the schema validation by calling packchk with the option ‘--disable-validation’.

I confirm:
$ ./cmsis-toolbox-linux-amd64/bin/packchk xxx.pdsc --disable-validation

CMSIS Pack Checker 1.4.1 (C) 2012-2023 Arm Ltd. and Contributors

Phase1: Read PDSC files

Phase2: Static Data & Dependencies check

Phase3: RTE Model based Data & Dependencies check

Found 0 Error(s) and 0 Warning(s).

The issue is caused by Xerxes when equalizing all possible input formats via iconf lib to UTF16 internal representation. The lib has changed in glibc between Ubuntu 20.4 and 22.4.
PackChk will be changed to build on Ubuntu 20.4 (remaining devtools left untouched), which schould solve the issue (tested, also runs on Debian 10).
There is a workaround, as already mentioned, which disables Xerxes:
--disable-validation


feat(behavior_path_planner/route_handler): better avoidance drivable areas extension in behavior path planning

Related Issue(required)
#234

Description(required)
This PR is a port from .iv.
The feature implement adjacent lanelet search to prevent planner from generating avoidance path that extend towards non-lane areas
It also improve drivable area extension by appending lanelet that is nearby obstacle.
Review Procedure(required)
Related PR(optional)
Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[ ] Read commit-guidelines
[ ] Assign PR to reviewer

If you are adding new package following items are required:

[ ] Documentation with description of the package is available
[ ] A sample launch file and parameter file are available if the package contains executable nodes

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets

CI Checks

Build and test for PR / build-and-test-pr: Required to pass before the merge.
Build and test for PR / clang-tidy-pr: NOT required to pass before the merge. It is up to the reviewer(s). Found false positives? See the [guidelines][clang-tidy-guidelines].
Check spelling: NOT required to pass before the merge. It is up to the reviewer(s). See here if you want to add some words to the spell check dictionary.

Closing this PR due to decisions to separate the PR into route_handler, feature, and visualization.


Xrdp stuck on login, after password is entered, unblocked if I unlock from the ubuntu rdp server

I'm running Ubuntu 20.04.1. LTS on Hyper-V, also has Xrdp 0.9.12 installed and running on this VM. Here's how I can reproduce this issue,

connect to the machine from mstsc
a. type in username and password on xorg dialog
b. type in password on ubuntu lock screen
wait for ubuntu to lock or directly lock it from xrdp session
unlock xrdp, it'll stuck at below screen forever, until, I unlock ubuntu from the hyperv VM.

This happens a lot on multiple VMs, for some reason, the remote unlock is linked to the local unlock. Any idea how I can fix this? is it known?

Hi @chandde
The unlock functionality in GNOME is different from other desktops - it needs gdm to be running.
Have you got a graphical login on your VM console in Hyper-V?
If not, enable it with sudo systemctl isolate graphical and try again.
You can make the change permanent with sudo systemctl set-default graphical
Can you try that and report back?

Hi @chandde
The unlock functionality in GNOME is different from other desktops - it needs gdm to be running.
Have you got a graphical login on your VM console in Hyper-V?
If not, enable it with sudo systemctl isolate graphical and try again.
You can make the change permanent with sudo systemctl set-default graphical
Can you try that and report back?

Hi! @matt335672
thanks for help it really works!

That's great news.
Can we close this one then?

oh It only worked to moment when screensaver start

I don't quite understand you. Are you saying when the screensaver starts you're unable to unlock the screen?
Can you post a series of events where you see the problem happening?
Thanks.

Here are the limitations with GNOME 3 as I understand them at the moment:-

You can not have the same user logged in to the same machine on more than one graphical session at the same time. So you can't have the same user logged in to Xorg/Xwayland on the console and start an xrdp session. Also you can't have more than one xrdp session running for one user (for example an Xorg session and an Xvnc session).
The advice about installing dbus-x11 on the wiki does NOT apply.
You must have gdm3 running, as this forms an important part of the screen lock/unlock mechanism:-sudo systemctl set-default graphical
sudo systemctl isolate graphical

Try that and let us know how it goes. I can then update the wiki about this.

sorry for replying so late!
I know little about xrdp. What I said below are what I have found in using xrdp.
If I use the default settings of xrdp, i.e., fork=true specified in /etc/xrdp/xrdp.ini
There are multiple sessions listed If I have multiple connections and don' logout the session after I have logined a xrdp session.  This will results in some weird problems, such as failed to logon the remote server. It's highly possible because of computational resources exhausted.
However, if I set  fork=false in /etc/xrdp/xrdp.ini, I found that the xrdp server can keep the latest status as what the MS counterpart does except for the data transfer, this may be another problem. The problem of failed to logon remote server and unlock screen also disappeared! it seem that this setting is what I want.
The result of sudo systemctl get-default is graphical.target in my box.
hope these observations are useful and thanks for your kind suggestions!

Having multiple sessions running for the same user will break modern GNOME 3, that's for sure.
I'm not that familiar with the fork=false setting, but I've had a look at what the code does.
The disadvantage of setting fork=false that I can see is that only one person at a time will be able to connect to the box using xrdp. If that's a limitation that you're happy to live with, it's probably the simplest solution for now.
I can give you some other solutions, but bear-in-mind they are relatively complicated. I've listed them below, and you can make up your own mind about that.
The version of XRDP you have (0.9.12) doesn't support resizing on connect with VNC sessions. So if you start a VNC session from one client and then reconnect from a different client at a different resolution, you will get another session.
This can be fixed in one of the following ways:-

Install a later version of xrdp (at least 0.9.14) to get the resize working properly with the Xvnc backend. You'll need to build xrdp from source to do this I think.
Install the xorgxrdp package and use the Xorg backend which does support resizing. This will give you other issues to deal with relating to prompts about colour devices - see #1832 for an example of this. It's the easiest option to try however.
Use a different desktop. You'll still get multiple sessions, but the unlock will work properly. Other changes are needed to support this.

Let me know if you'd like any more information on any of these.

I'm happy with the setting fork=false for only one person at a time will be able to connect to the box using xrdp so far
and also happy to see that the future xrdp will be more versatile.
The current setting fork=true will result in multiple sessions for the same user and, to me, that's so weird. I wish the future xrdp will keep the last state for the same user as it does for fork=false now.
thanks for your help!

I'm still having issues getting xrdp to open correctly. I can remote from Windows 10 to my Ubuntu 20.04 box, but then it connects to a screen with the time and a prompt to Click or press a key to unlock.
And when I do, it prompts me for my password, but then does nothing after I hit enter.

3. You must have gdm3 running, as this forms an important part of the screen lock/unlock mechanism:-
   ```
   sudo systemctl set-default graphical
   sudo systemctl isolate graphical
   ```

I am trying to log in from a Mac using Microsoft Remote Desktop and have Ubuntu 20.04. running on a Proxmox 7.1 server (on old hardware). The problem is that I cannot login after entering my password sometimes.
Applying your suggestions resulted in the system going into the shutdown process and hanging there after I entered sudo systemctl isolate graphical.
Stopping the VM and then rebooting and then trying to log in results in a hang after typing in the password.
When I logout from the VNC session that proxmox provides it asks me if it is okay to log out while another user is logged in.
I had made changes to the config to enable multi user but now reverted them.
I also tried the install using the widely known xrdp script some guy provided.
I am happy to set up a new VM and test it if you think it should work.

Not sure if I used the word "console" in the right sense. I meant the proxmox console which is a noVNC connection to QEMU (I think. I am not an expert, this is just what it says).
Already had xorgxrdp installed on my Ubuntu 20 client, probably just by installing it as a dependency of xrdp.

I did not yet find the reason for the hang in the issues. This is why I will post two screenshots of the logs of xrdp.log and xrdp-sesman.log from a situation where I started the VM freshly, then tried to connect via Microsoft RDP on Mac, which hangs after entering the password. This is until timestamp 19:36.
At 20:23 I am entering the password via the graphical console/display of proxmox, which results in both connections to resolve and show the Ubuntu desktop (I made it possible to be logged in with two connections).
Also, the RDP session is very slow.
Thanks for the link to the missing dock issue, which I was able to resolve.

Apparently, xrdp -v shows 0.9.12. Is this too old? Should I remove the package and install from source?
This is my sesman.ini:
ben@uprox:~$ cat /etc/xrdp/sesman.ini
;; See `man 5 sesman.ini` for details

[Globals]
ListenAddress=<IP_ADDRESS>
ListenPort=3350
EnableUserWindowManager=true
; Give in relative path to user's home directory
UserWindowManager=startwm.sh
; Give in full path or relative path to /etc/xrdp
DefaultWindowManager=startwm.sh
; Give in full path or relative path to /etc/xrdp
ReconnectScript=reconnectwm.sh

[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
; When AlwaysGroupCheck=false access will be permitted
; if the group TerminalServerUsers is not defined.
AlwaysGroupCheck=false
; When RestrictOutboundClipboard=true clipboard from the
; server is not pushed to the client.
RestrictOutboundClipboard=false

[Sessions]
;; X11DisplayOffset - x11 display number offset
; Type: integer
; Default: 10
X11DisplayOffset=10

;; MaxSessions - maximum number of connections to an xrdp server
; Type: integer
; Default: 0
MaxSessions=50

;; KillDisconnected - kill disconnected sessions
; Type: boolean
; Default: false
; if 1, true, or yes, kill session after 60 seconds
KillDisconnected=false

;; DisconnectedTimeLimit - when to kill idle sessions
; Type: integer
; Default: 0
; if not zero, the seconds before a disconnected session is killed
; min 60 seconds
DisconnectedTimeLimit=0

;; IdleTimeLimit (specify in second) - wait before disconnect idle sessions
; Type: integer
; Default: 0
; Set to 0 to disable idle disconnection.
IdleTimeLimit=0

;; Policy - session allocation policy
; Type: enum [ "Default" | "UBD" | "UBI" | "UBC" | "UBDI" | "UBDC" ]
; Default: Xrdp:<User,BitPerPixel> and Xvnc:<User,BitPerPixel,DisplaySize>
; "UBD" session per <User,BitPerPixel,DisplaySize>
; "UBI" session per <User,BitPerPixel,IPAddr>
; "UBC" session per <User,BitPerPixel,Connection>
; "UBDI" session per <User,BitPerPixel,DisplaySize,IPAddr>
; "UBDC" session per <User,BitPerPixel,DisplaySize,Connection>
Policy=Default

[Logging]
LogFile=xrdp-sesman.log
LogLevel=DEBUG
EnableSyslog=1
SyslogLevel=DEBUG

;
; Session definitions - startup command-line parameters for each session type
;

[Xorg]
; Specify the path of non-suid Xorg executable. It might differ depending
; on your distribution and version. The typical path is shown as follows:
;
; Fedora 26 or later    :  param=/usr/libexec/Xorg
; Debian 9 or later     :  param=/usr/lib/xorg/Xorg
; Ubuntu 16.04 or later :  param=/usr/lib/xorg/Xorg
; Arch Linux            :  param=/usr/lib/xorg-server/Xorg
; CentOS 7              :  param=/usr/bin/Xorg or param=Xorg
;
param=/usr/lib/xorg/Xorg
; Leave the rest paramaters as-is unless you understand what will happen.
param=-config
param=xrdp/xorg.conf
param=-noreset
param=-nolisten
param=tcp
param=-logfile
param=.xorgxrdp.%s.log

[Xvnc]
param=Xvnc
param=-bs
param=-nolisten
param=tcp
param=-localhost
param=-dpi
param=96

[Chansrv]
; drive redirection, defaults to xrdp_client if not set
FuseMountName=thinclient_drives
; this value allows only the user to acess their own mapped drives.
; Make this more permissive (e.g. 022) if required.
FileUmask=077

[SessionVariables]
PULSE_SCRIPT=/etc/xrdp/pulse/default.pa

This is my xrdp.ini
ben@uprox:~$ cat /etc/xrdp/xrdp.ini
[Globals]
; xrdp.ini file version number
ini_version=1

; fork a new process for each incoming connection
fork=true

; ports to listen on, number alone means listen on all interfaces
; <IP_ADDRESS> or :: if ipv6 is configured
; space between multiple occurrences
;
; Examples:
;   port=3389
;   port=unix://./tmp/xrdp.socket
;   port=tcp://.:3389                           <IP_ADDRESS>:3389
;   port=tcp://:3389                            *:3389
;   port=tcp://<any ipv4 format addr>:3389      <IP_ADDRESS>:3389
;   port=tcp6://.:3389                          ::1:3389
;   port=tcp6://:3389                           *:3389
;   port=tcp6://{<any ipv6 format addr>}:3389   {FC00:0:0:0:0:0:0:1}:3389
;   port=vsock://<cid>:<port>
port=3389

; 'port' above should be connected to with vsock instead of tcp
; use this only with number alone in port above
; prefer use vsock://<cid>:<port> above
use_vsock=false

; regulate if the listening socket use socket option tcp_nodelay
; no buffering will be performed in the TCP stack
tcp_nodelay=true

; regulate if the listening socket use socket option keepalive
; if the network connection disappear without close messages the connection will be closed
tcp_keepalive=true

; set tcp send/recv buffer (for experts)
#tcp_send_buffer_bytes=32768
#tcp_recv_buffer_bytes=32768

; security layer can be 'tls', 'rdp' or 'negotiate'
; for client compatible layer
security_layer=negotiate

; minimum security level allowed for client for classic RDP encryption
; use tls_ciphers to configure TLS encryption
; can be 'none', 'low', 'medium', 'high', 'fips'
crypt_level=high

; X.509 certificate and private key
; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
; note this needs the user xrdp to be a member of the ssl-cert group, do with e.g.
;$ sudo adduser xrdp ssl-cert
certificate=
key_file=

; set SSL protocols
; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'
ssl_protocols=TLSv1.2, TLSv1.3
; set TLS cipher suites
#tls_ciphers=HIGH

; Section name to use for automatic login if the client sends username
; and password. If empty, the domain name sent by the client is used.
; If empty and no domain name is given, the first suitable section in
; this file will be used.
autorun=

allow_channels=true
allow_multimon=true
bitmap_cache=true
bitmap_compression=true
bulk_compression=true
#hidelogwindow=true
max_bpp=32
new_cursors=true
; fastpath - can be 'input', 'output', 'both', 'none'
use_fastpath=both
; when true, userid/password *must* be passed on cmd line
#require_credentials=true
; You can set the PAM error text in a gateway setup (MAX 256 chars)
#pamerrortxt=change your password according to policy at http://url

;
; colors used by windows in RGB format
;
blue=009cb5
grey=dedede
#black=000000
#dark_grey=808080
#blue=08246b
#dark_blue=08246b
#white=ffffff
#red=ff0000
#green=00ff00
#background=626c72

;
; configure login screen
;

; Login Screen Window Title
#ls_title=My Login Title

; top level window background color in RGB format
ls_top_window_bg_color=009cb5

; width and height of login screen
ls_width=350
ls_height=430

; login screen background color in RGB format
ls_bg_color=dedede

; optional background image filename (bmp format).
#ls_background_image=

; logo
; full path to bmp-file or file in shared folder
ls_logo_filename=
ls_logo_x_pos=55
ls_logo_y_pos=50

; for positioning labels such as username, password etc
ls_label_x_pos=30
ls_label_width=65

; for positioning text and combo boxes next to above labels
ls_input_x_pos=110
ls_input_width=210

; y pos for first label and combo box
ls_input_y_pos=220

; OK button
ls_btn_ok_x_pos=142
ls_btn_ok_y_pos=370
ls_btn_ok_width=85
ls_btn_ok_height=30

; Cancel button
ls_btn_cancel_x_pos=237
ls_btn_cancel_y_pos=370
ls_btn_cancel_width=85
ls_btn_cancel_height=30

[Logging]
LogFile=xrdp.log
LogLevel=DEBUG
EnableSyslog=true
SyslogLevel=DEBUG
; LogLevel and SysLogLevel could by any of: core, error, warning, info or debug

[Channels]
; Channel names not listed here will be blocked by XRDP.
; You can block any channel by setting its value to false.
; IMPORTANT! All channels are not supported in all use
; cases even if you set all values to true.
; You can override these settings on each session type
; These settings are only used if allow_channels=true
rdpdr=true
rdpsnd=true
drdynvc=true
cliprdr=true
rail=true
xrdpvr=true
tcutils=true

; for debugging xrdp, in section xrdp1, change port=-1 to this:
#port=/tmp/.xrdp/xrdp_display_10

; for debugging xrdp, add following line to section xrdp1
#chansrvport=/tmp/.xrdp/xrdp_chansrv_socket_7210

;
; Session types
;

; Some session types such as Xorg, X11rdp and Xvnc start a display server.
; Startup command-line parameters for the display server are configured
; in sesman.ini. See and configure also sesman.ini.
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=<IP_ADDRESS>
port=-1
code=20

[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=<IP_ADDRESS>
port=-1
#xserverbpp=24
#delay_ms=2000

[vnc-any]
name=vnc-any
lib=libvnc.so
ip=ask
port=ask5900
username=na
password=ask
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=<IP_ADDRESS>
#delay_ms=2000

[neutrinordp-any]
name=neutrinordp-any
lib=libxrdpneutrinordp.so
ip=ask
port=ask3389
username=ask
password=ask

; You can override the common channel settings for each session type
#channel.rdpdr=true
#channel.rdpsnd=true
#channel.drdynvc=true
#channel.cliprdr=true
#channel.rail=true
#channel.xrdpvr=true

session manager:
ben@uprox:~$ sudo update-alternatives --query x-session-manager
[sudo] Passwort für ben:
Name: x-session-manager
Link: /usr/bin/x-session-manager
Slaves:
 x-session-manager.1.gz /usr/share/man/man1/x-session-manager.1.gz
Status: auto
Best: /usr/bin/gnome-session
Value: /usr/bin/gnome-session

Alternative: /usr/bin/gnome-session
Priority: 50
Slaves:
 x-session-manager.1.gz /usr/share/man/man1/gnome-session.1.gz

Just for information, I am running High Sierra on an old iMac. But my RDP connections work very well to other machines.

I can't see any problems with those log files. The xrdp.log shows the connection happening immediately. The request comes in at 20:23:59, and the actual connect is done by 20:24:00
So it's more likely your actual session is hanging for some reason.
With modern Linux systems using systemctl --user, you can only have one graphical session at a time for any one user, although you can have any number of terminal sessions. A graphical session will be an xrdp login, or a login on the system console. Is that likely to be an issue here?

Thank you very much!
Yes, when I deactivate the display in the console of proxmox RDP works. I did test this before but had issues with it. Now I cannot reproduce them. I can shutdown and restart and suspend and put in my password after suspension and it it works.
But when I shutdown or suspend I have to put in my password to actually shutdown. I don't have to do this over the proxmox console.
Do you also happen to have a resolution for this?

The password is related to a program called polkit.
Because xrdp is a remote session it doesn't have privilege to do many things you can do from the console by default. For example, rebooting a system is fine if it's your own personal system, but not fine at all if you are sharing a server with ten other people.
You can configure the system not to ask for a password. The first thing to do is identify the policy kit action, and the second is to create a .pkla file to allow the action to succeed.
To find the action, the simplest thing is to cancel the password prompt and then look in /var/log/auth.log. On my ubuntu system, if I try to shut down over xrdp and cancel, I get this in the log:-
Apr  7 13:49:08 xrdp-test polkitd(authority=local): Operator of unix-session:c5 FAILED to authenticate to gain authorization for action org.freedesktop.login1.power-off-multiple-sessions for system-bus-name::1.234 [/usr/libexec/gnome-session-binary --systemd-service --session=ubuntu] (owned by unix-user:testuser)

The policy kit action org.freedesktop.login1.power-off-multiple-sessions looks like this:-
$ pkaction  --verbose --action-id org.freedesktop.login1.power-off-multiple-sessions
org.freedesktop.login1.power-off-multiple-sessions:
  description:       Power off the system while other users are logged in
  message:           Authentication is required to power off the system while other users are logged in.
  vendor:            The systemd Project
  vendor_url:        http://www.freedesktop.org/wiki/Software/systemd
  icon:
  implicit any:      auth_admin_keep
  implicit inactive: auth_admin_keep
  implicit active:   yes
  annotation:        org.freedesktop.policykit.imply -> org.freedesktop.login1.power-off

For RDP, implicit any is the relevant setting. auth_admin_keep means you need to authenticate, or need to have authenticated very recently.
Creation of a pkla file is left to you - it's a good way to learn about polkit. #1568 has some useful information in it.

Thank you very much!
Yes, when I deactivate the display in the console of proxmox RDP works. I did test this before but had issues with it. Now I cannot reproduce them. I can shutdown and restart and suspend and put in my password after suspension and it it works.
But when I shutdown or suspend I have to put in my password to actually shutdown. I don't have to do this over the proxmox console.
Do you also happen to have a resolution for this?

Hi, if I got it right, it's impossible to work simultaneously with one user on different graphical sessions, e.g., server direct screen and RDP sessions. Actually, it works perfectly before the first screen lock, but after, you can't type a password (just no reaction after pressing Enter). I resolved this by turning off autologin mode at the main Ubuntu machine, so after rebooting it is not autologged and I'm able to use my user session through RDP even after screen lock. I hope it will help someone. If anybody knows how to use one user in different graphical sessions, I would appreciate the advices.

At my company, we had an issue with screen lock being not responsive upon xrdp login sometimes. I figured, that one can unlock from command line via loginctl like:
loginctl list-sessions
loginct unlock-session cX

where X is an integer. cX is a session associated with the user running the above command.


new demo task: fire custom event on variant change

New task that demonstrates how to monitor products for changes to a specific attribute (e.g. price).
The task was purposely developed to only look at variant attributes, so that advanced logic wasn't needed to drill down into variants from the product level.

@isaacbowen - can you take a quick look at this one, because you had a vision in mind for this task :)

my review is coming! ;) thanks for your patience, y'all - and @tekhaus, thanks for your work on this 🙏

Closed in favor of reworked, and enhanced version in #300


Fix compile issues on MacOS

Expected behavior
TerarkDB should be built on MacOS without problem
Actual behavior
Cannot be built due to some library missing problem
Steps to reproduce the behavior
./build.sh

@royguo Hi, Does this issue still exist?
I complie project still failed.

@royguo Hi, Does this issue still exist?
I complie project still failed.

Would you please attach some detailed compile errors?

building zstd with .gz decompression support
Installing binaries
Installing man pages
zstd installation completed
[ 15%] Completed 'zstd-project'
[ 15%] Built target zstd-project
make[1]: *** [CMakeFiles/c_test.dir/rule] Error 2
make: *** [c_test] Error 2

Here is outputing log in th

What's more, it maybe also occurred in the Linux.
I have found that it happened in the CI build.

The failure happens long before the program exits.
/usr/bin/ld: zstdcli.o: in function `usage_advanced':
zstdcli.c:(.text+0x458): undefined reference to `ZSTD_maxCLevel'
/usr/bin/ld: zstdcli.o: in function `main':
zstdcli.c:(.text.startup+0x12d4): undefined reference to `ZSTD_maxCLevel'
/usr/bin/ld: ../lib/compress/zstdmt_compress.o: in function `ZSTDMT_compressChunk':
zstdmt_compress.c:(.text+0x3c): undefined reference to `ZSTD_compressBegin_usingCDict'
/usr/bin/ld: zstdmt_compress.c:(.text+0x79): undefined reference to `ZSTD_compressContinue'
/usr/bin/ld: zstdmt_compress.c:(.text+0xa1): undefined reference to `ZSTD_compressEnd'
/usr/bin/ld: zstdmt_compress.c:(.text+0xd6): undefined reference to `ZSTD_compressBegin_advanced'
/usr/bin/ld: zstdmt_compress.c:(.text+0x105): undefined reference to `ZSTD_compressContinue'
/usr/bin/ld: zstdmt_compress.c:(.text+0x136): undefined reference to `ZSTD_setCCtxParameter'
/usr/bin/ld: zstdmt_compress.c:(.text+0x154): undefined reference to `ZSTD_invalidateRepCodes'

Seems to be some linker errors.

I just found out that you are creating a pull request on master branch in https://github.com/bytedance/terarkdb/pull/102. It turns out that our main branch is dev.1.4.

I found the same problem and come from #163 .


pin-project-lite 0.1.9 breaks surf v2.0.0-alpha.*.

To reproduce the problem, create a new cargo project with the following dependencies:
[dependencies]
pin-project-lite = "0.1.9"
surf = "2.0.0-alpha.6"

Run cargo check. It will report the following error:
    Checking surf v2.0.0-alpha.6
error[E0453]: allow(explicit_outlives_requirements) overruled by outer forbid(rust_2018_idioms)
  --> /Users/chengxu/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/surf-2.0.0-alpha.6/src/response.rs:17:1
   |
17 | / pin_project_lite::pin_project! {
18 | |     /// An HTTP response, returned by `Request`.
19 | |     pub struct Response {
20 | |         #[pin]
21 | |         res: http_client::Response,
22 | |     }
23 | | }
   | |_^ overruled by previous forbid
   |
  ::: /Users/chengxu/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/surf-2.0.0-alpha.6/src/lib.rs:73:11
   |
73 |   #![forbid(rust_2018_idioms)]
   |             ---------------- `forbid` level set here
   |
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to previous error

For more information about this error, try `rustc --explain E0453`.
error: could not compile `surf`.

To learn more, run the command again with --verbose.

forbid is opt-in and basically means "if rustc adds a new warning or an external macro allows lint, a previously released version may not compile". (forbid(unsafe_code) has another meaning)
And basically, most macros do not guarantee compatibility with forbid, as lints warn of accidentally (or intentionally) macro-generated code. (In pin-project/pin-project-lite, the only exception is forbid(unsafe_code), because compatibility with forbid(unsafe_code) has another meaning.)
So, as long as there is good reason to allow that lint, I believe this is a problem on the part of the user using forbid.
FYI: allow(explicit_outlives_requirements) (added in 0.1.9) is needed to silence rustc's warning on macro-generated code. (Without this, you would have to write #![allow(...)] at the module level to allow explicit_outlives_requirements.)

Closing in favor of https://github.com/http-rs/surf/issues/244.

This will be fixed in https://github.com/http-rs/surf/pull/245

forbid is opt-in and basically means "if rustc adds a new warning or an external macro allows lint, a previously released version may not compile"

The "rust 2018" idioms lint should only be cover the rules introduced for the 2018 edition; the plan as I understood it was that during the 2018 edition these opt-in lints would gradually become warnings out of the box. And in the next edition these will become hard errors and disallowed.
Reality is a bit more fluid, and it's unclear what exactly will happen in the 2021 edition. But unless I'm mistaken, the set of rules covered by rust_2018_idioms was pretty much defined at the start of the 2018 edition, and we don't need to worry about more lints being added to it.

But unless I'm mistaken, the set of rules covered by rust_2018_idioms was pretty much defined at the start of the 2018 edition, and we don't need to worry about more lints being added to it.

"Add a new warning" does not mean "Add a new lint". It includes adding warnings to existing lint.
For example:

explicit_outlives_requirements had a large number of false positives / false negatives at the 1.31, which were significantly improved at 1.37 (https://github.com/rust-lang/rust/pull/61172).
unused_imports did not previously warn redundant imports, but now it can. (https://github.com/rust-lang/rust/pull/58805)

Both are "improvements to existing lint", but they are also "adds warnings". So crates released with forbid/deny prior to these improvements might not compile with rustc version that contains these improvements.

And in the next edition these will become hard errors and disallowed.

If I remember correctly, this should only happen in parts of rust_2018_idioms, not all.

bare-trait-objects, ellipsis-inclusive-range-patterns, and elided-lifetimes-in-paths are warnings about deprecated syntax and may be hard errors in the future editions.
On the other hand, unused-extern-crates and explicit-outlives-requirements belong to almost the same category as unused, so they do not need to be hard errors.

So crates released with forbid/deny prior to these improvements might not compile with rustc version that contains these improvements.

Ah yeah, that's very fair. I think you're right that these lints should have been warn all along; I was wrong in my assumptions around them.


Update test comment

Follow up from https://github.com/dropbox/mypy-protobuf/pull/145

thank you!


Feature request, Can we use translate API for auto translate, then modify the translated content?

For example,  we have deepL translate api, and we have written a blog in English, would like to use API to auto translate the blog into other language, then human author do the final check before publishing it. Thank you.

I don't think it's possible to do that in theme's and module's side~

You can use some tools, like GitHub action, to auto translate the content into other languages to achieve that, workflow:

Translate content on push.
Create a PR.
Review and reject/merge.

I couldn't provide an example, but it should work.


Add permission support

This plugin is pretty useless (sorry for the harsh words) as-is because it allows anyone to sign up on your TC server.  Sure you can make it so it doesn't create new users but what would be the point then - you might as well just create users manually.
There should be some sort of permission model like being able to restrict it to users from a specific github organization, and further permission levels based around that organizations groups.

support for organization was added now


Event objects not passing underlying object as Event.target

I may have missed something, but it seems that event.target is not getting populated.
RTCPeerConnection events raised by the browser will pass the peer object as event.target for listeners to use. It seems when events are raised that this object is empty. While you can work around this by ensuring the object is referenced in event listeners it would be helpful to have this available.
I've only had this issue with the RTCPeerConnection events, but am not certain it's not a problem for many objects/events.
If there's interest in having support with resolving this issue let me know.

Just noting that it's still readily possible to just pass the peer to events when adding listeners. Probably more obvious anyway. Sorry to bother...