AI doesn't work on firefox and chrome.

The AI gives and error message for chrome and for firefox it gets the board layout like
0  0  2  0
0  0  0  0
0  0  0  0
0  2  0  0
but it never sends keys it just exits out inmediatly.
I have setup firefox correctly and it should be working. I even tried -k keyboard but that didn't work either.

What error(s) does it give you? What version of the remote control
extension do you have installed? What version of Firefox did you try it
with?
On Fri, Jan 1, 2016, 12:20 RamonRobben<EMAIL_ADDRESS>wrote:

The AI gives and error message for chrome and for firefox it gets the
board layout like
0 0 2 0
0 0 0 0
0 0 0 0
0 2 0 0
but it never sends keys it just exits out inmediatly
I have setup firefox correctly and it should be working I even tried -k
keyboard but that didn't work either
—
Reply to this email directly or view it on GitHub
https://github.com/nneonneo/2048-ai/issues/44.

What error(s) does it give you? What version of the remote control
extension do you have installed? What version of Firefox did you try it
with?
On Fri, Jan 1, 2016, 12:20 RamonRobben<EMAIL_ADDRESS>wrote:

The AI gives and error message for chrome and for firefox it gets the
board layout like
0 0 2 0
0 0 0 0
0 0 0 0
0 2 0 0
but it never sends keys it just exits out inmediatly
I have setup firefox correctly and it should be working I even tried -k
keyboard but that didn't work either
—
Reply to this email directly or view it on GitHub
https://github.com/nneonneo/2048-ai/issues/44.

I'm using Firefox 43.0.1 with Remote Control <IP_ADDRESS>-signed.
Also on install i get this error log:
$ make
g++  -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC -c -o bin/2048.o 2048.cpp
2048.cpp:1:0: warning: -fPIC ignored for target (all code is position independen                                                                                t)
 #include <ctype.h>
 ^
2048.cpp: In function ‘void init_tables()’:
2048.cpp:90:6: warning: ‘void init_tables()’ redeclared without dllimport attrib                                                                                ute: previous dllimport ignored [-Wattributes]
 void init_tables() {
      ^
2048.cpp: In function ‘float score_toplevel_move(board_t, int)’:
2048.cpp:388:7: warning: ‘float score_toplevel_move(board_t, int)’ redeclared wi                                                                                thout dllimport attribute: previous dllimport ignored [-Wattributes]
 float score_toplevel_move(board_t board, int move) {
       ^
2048.cpp: In function ‘int find_best_move(board_t)’:
2048.cpp:409:5: warning: ‘int find_best_move(board_t)’ redeclared without dllimp                                                                                ort attribute: previous dllimport ignored [-Wattributes]
 int find_best_move(board_t board) {
     ^
2048.cpp: In function ‘int ask_for_move(board_t)’:
2048.cpp:429:5: warning: ‘int ask_for_move(board_t)’ redeclared without dllimpor                                                                                t attribute: previous dllimport ignored [-Wattributes]
 int ask_for_move(board_t board) {
     ^
2048.cpp: In function ‘void play_game(get_move_func_t)’:
2048.cpp:488:6: warning: ‘void play_game(get_move_func_t)’ redeclared without dl                                                                                limport attribute: previous dllimport ignored [-Wattributes]
 void play_game(get_move_func_t get_move) {
      ^
g++ -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC  bin/2048.o  -o bin/2048.exe
g++ -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC -shared  bin/2048.o  -o bin/2048                                                                                .so
rm bin/2048.o

And the error it gives me when i try to run the program with cygwin terminal:
$ python 2048.py -b firefox -k keyboard
Traceback (most recent call last):
  File "2048.py", line 149, in <module>
    exit(main(sys.argv[1:]))
  File "2048.py", line 125, in main
    ctrl = FirefoxRemoteControl(args.port)
  File "/cygdrive/d/users/ramon/desktop/2048-ai-master/ffctrl.py", line 8, in __init__
    self.sock.connect(('localhost', port))
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 111] Connection refused

I'm using Firefox 43.0.1 with Remote Control <IP_ADDRESS>-signed.
Also on install i get this error log:
$ make
g++  -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC -c -o bin/2048.o 2048.cpp
2048.cpp:1:0: warning: -fPIC ignored for target (all code is position independen                                                                                t)
 #include <ctype.h>
 ^
2048.cpp: In function ‘void init_tables()’:
2048.cpp:90:6: warning: ‘void init_tables()’ redeclared without dllimport attrib                                                                                ute: previous dllimport ignored [-Wattributes]
 void init_tables() {
      ^
2048.cpp: In function ‘float score_toplevel_move(board_t, int)’:
2048.cpp:388:7: warning: ‘float score_toplevel_move(board_t, int)’ redeclared wi                                                                                thout dllimport attribute: previous dllimport ignored [-Wattributes]
 float score_toplevel_move(board_t board, int move) {
       ^
2048.cpp: In function ‘int find_best_move(board_t)’:
2048.cpp:409:5: warning: ‘int find_best_move(board_t)’ redeclared without dllimp                                                                                ort attribute: previous dllimport ignored [-Wattributes]
 int find_best_move(board_t board) {
     ^
2048.cpp: In function ‘int ask_for_move(board_t)’:
2048.cpp:429:5: warning: ‘int ask_for_move(board_t)’ redeclared without dllimpor                                                                                t attribute: previous dllimport ignored [-Wattributes]
 int ask_for_move(board_t board) {
     ^
2048.cpp: In function ‘void play_game(get_move_func_t)’:
2048.cpp:488:6: warning: ‘void play_game(get_move_func_t)’ redeclared without dl                                                                                limport attribute: previous dllimport ignored [-Wattributes]
 void play_game(get_move_func_t get_move) {
      ^
g++ -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC  bin/2048.o  -o bin/2048.exe
g++ -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC -shared  bin/2048.o  -o bin/2048                                                                                .so
rm bin/2048.o

And the error it gives me when i try to run the program with cygwin terminal:
$ python 2048.py -b firefox -k keyboard
Traceback (most recent call last):
  File "2048.py", line 149, in <module>
    exit(main(sys.argv[1:]))
  File "2048.py", line 125, in main
    ctrl = FirefoxRemoteControl(args.port)
  File "/cygdrive/d/users/ramon/desktop/2048-ai-master/ffctrl.py", line 8, in __init__
    self.sock.connect(('localhost', port))
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 111] Connection refused

The connection refused error means that the remote control extension isn't
running or active. Make sure it's turned on and that the port is set to
32000 (or specify the port to 2048.py otherwise).
On Fri, Jan 1, 2016, 12:53 RamonRobben<EMAIL_ADDRESS>wrote:

I'm using Firefox 43.0.1 with Remote Control <IP_ADDRESS>-signed.
Also on install i get this error log:
$ make
g++  -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC -c -o bin/2048.o 2048.cpp
2048.cpp:1:0: warning: -fPIC ignored for target (all code is position independen                                                                                t)
#include <ctype.h>
^
2048.cpp: In function ‘void init_tables()’:
2048.cpp:90:6: warning: ‘void init_tables()’ redeclared without dllimport attrib                                                                                ute: previous dllimport ignored [-Wattributes]
void init_tables() {
^
2048.cpp: In function ‘float score_toplevel_move(board_t, int)’:
2048.cpp:388:7: warning: ‘float score_toplevel_move(board_t, int)’ redeclared wi                                                                                thout dllimport attribute: previous dllimport ignored [-Wattributes]
float score_toplevel_move(board_t board, int move) {
^
2048.cpp: In function ‘int find_best_move(board_t)’:
2048.cpp:409:5: warning: ‘int find_best_move(board_t)’ redeclared without dllimp                                                                                ort attribute: previous dllimport ignored [-Wattributes]
int find_best_move(board_t board) {
^
2048.cpp: In function ‘int ask_for_move(board_t)’:
2048.cpp:429:5: warning: ‘int ask_for_move(board_t)’ redeclared without dllimpor                                                                                t attribute: previous dllimport ignored [-Wattributes]
int ask_for_move(board_t board) {
^
2048.cpp: In function ‘void play_game(get_move_func_t)’:
2048.cpp:488:6: warning: ‘void play_game(get_move_func_t)’ redeclared without dl                                                                                limport attribute: previous dllimport ignored [-Wattributes]
void play_game(get_move_func_t get_move) {
^
g++ -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC  bin/2048.o  -o bin/2048.exe
g++ -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC -shared  bin/2048.o  -o bin/2048                                                                                .so
rm bin/2048.o
And the error it gives me when i try to run the program with cygwin
terminal:
$ python 2048.py -b firefox -k keyboard
Traceback (most recent call last):
File "2048.py", line 149, in
exit(main(sys.argv[1:]))
File "2048.py", line 125, in main
ctrl = FirefoxRemoteControl(args.port)
File "/cygdrive/d/users/ramon/desktop/2048-ai-master/ffctrl.py", line 8, in init
self.sock.connect(('localhost', port))
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 111] Connection refused
—
Reply to this email directly or view it on GitHub
https://github.com/nneonneo/2048-ai/issues/44#issuecomment-168332044.

The connection refused error means that the remote control extension isn't
running or active. Make sure it's turned on and that the port is set to
32000 (or specify the port to 2048.py otherwise).
On Fri, Jan 1, 2016, 12:53 RamonRobben<EMAIL_ADDRESS>wrote:

I'm using Firefox 43.0.1 with Remote Control <IP_ADDRESS>-signed.
Also on install i get this error log:
$ make
g++  -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC -c -o bin/2048.o 2048.cpp
2048.cpp:1:0: warning: -fPIC ignored for target (all code is position independen                                                                                t)
#include <ctype.h>
^
2048.cpp: In function ‘void init_tables()’:
2048.cpp:90:6: warning: ‘void init_tables()’ redeclared without dllimport attrib                                                                                ute: previous dllimport ignored [-Wattributes]
void init_tables() {
^
2048.cpp: In function ‘float score_toplevel_move(board_t, int)’:
2048.cpp:388:7: warning: ‘float score_toplevel_move(board_t, int)’ redeclared wi                                                                                thout dllimport attribute: previous dllimport ignored [-Wattributes]
float score_toplevel_move(board_t board, int move) {
^
2048.cpp: In function ‘int find_best_move(board_t)’:
2048.cpp:409:5: warning: ‘int find_best_move(board_t)’ redeclared without dllimp                                                                                ort attribute: previous dllimport ignored [-Wattributes]
int find_best_move(board_t board) {
^
2048.cpp: In function ‘int ask_for_move(board_t)’:
2048.cpp:429:5: warning: ‘int ask_for_move(board_t)’ redeclared without dllimpor                                                                                t attribute: previous dllimport ignored [-Wattributes]
int ask_for_move(board_t board) {
^
2048.cpp: In function ‘void play_game(get_move_func_t)’:
2048.cpp:488:6: warning: ‘void play_game(get_move_func_t)’ redeclared without dl                                                                                limport attribute: previous dllimport ignored [-Wattributes]
void play_game(get_move_func_t get_move) {
^
g++ -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC  bin/2048.o  -o bin/2048.exe
g++ -g -O2 -std=gnu++11 -O3 -Wall -Wextra -fPIC -shared  bin/2048.o  -o bin/2048                                                                                .so
rm bin/2048.o
And the error it gives me when i try to run the program with cygwin
terminal:
$ python 2048.py -b firefox -k keyboard
Traceback (most recent call last):
File "2048.py", line 149, in
exit(main(sys.argv[1:]))
File "2048.py", line 125, in main
ctrl = FirefoxRemoteControl(args.port)
File "/cygdrive/d/users/ramon/desktop/2048-ai-master/ffctrl.py", line 8, in init
self.sock.connect(('localhost', port))
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 111] Connection refused
—
Reply to this email directly or view it on GitHub
https://github.com/nneonneo/2048-ai/issues/44#issuecomment-168332044.

Ah I did a full reinstall of Firefox and the remote control and that seemed to do the job for me.
Also is there by any chance a possibility to set a timout so that the actions are easily to follow with the eye because as for now it goes pretty quick.

Ah I did a full reinstall of Firefox and the remote control and that seemed to do the job for me.
Also is there by any chance a possibility to set a timout so that the actions are easily to follow with the eye because as for now it goes pretty quick.

nevermind found it already. at the execute_move function just add a time.sleep at the top

nevermind found it already. at the execute_move function just add a time.sleep at the top


[Windows Testing] Add timeouts to testsuite tests so that they won'…

…t run forever.
Discovered (the hard way) that go tests, when compiled into standalone binaries, don't time out by default.  Add a 10 minute timeout to set a reasonable bound on the Testing time.

What does this PR do?

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


viewable_range and iota_view not to spec

static_assert(nano::ranges::viewable_range<nano::ranges::iota_view<int>>); // okay
static_assert(std::ranges::viewable_range<ranges::iota_view<int>>); // error

Ah, this is because std::ranges::view looks for std::ranges::enable_view, which is not nano::ranges::enable_view.
NAD.

Ah, this is because std::ranges::view looks for std::ranges::enable_view, which is not nano::ranges::enable_view.
NAD.


Improve LowNodeUtilization's consideration of evictable pods

Similar to how we check that a pod fits on other nodes before evicting in strategies like Affinity/TopologySpread, it would be an improvement if LowNodeUtilization checked that a pod from an overutilized node can fit on the intended underutilized node before evicting it (ie, check for taints/affinity). This could improve the performance of the strategy and prevent unnecessary infinite evictions each run.

I can try this one.

/assign

@damemi I've noticed that the Affinity and TopologySpread strategies check for affinity on other nodes, but don't necessarily check for taints. Is checking for taints on other nodes still something that should be included in this feature?

@RyanDevlin I guess eviction only makes sense if the Pod can be scheduled on another node, therefore it seems reasonable that all scheduling constraints (Affinity, TopologySpread and Taints) should be checked. Otherwise we would just evict a Pod to see it being scheduled to the same node again, which just increases the risk of service outages caused by Pod eviction (restart).

@rustrial At the bottom of #551 @ingvagabund commented about how, for the purposes of this feature, it would be overkill to take into account every filtering plugin. I'm currently implementing this feature with checks for NodeAffinity, Taints, and NodeSelector. The optimization isn't perfect, but statistically it should improve performance.

Overkill on the code level view (duplicating the code since we can't import kubernetes/kubernetes code).

Otherwise we would just evict a Pod to see it being scheduled to the same node again, which just increases the risk of service outages caused by Pod eviction (restart).

That's responsibility of PDB to take care of disruptions.

@RyanDevlin I guess eviction only makes sense if the Pod can be scheduled on another node

I mentioned this in the other thread (https://github.com/kubernetes-sigs/descheduler/issues/551#issuecomment-820542336), sorry for not bringing it up here... but there are use cases where a pod could be evicted regardless of if it fits on another node. For strategies like PodLifetime, you might actually want to evict a pod that will only be recreated on the same node

/remove-lifecycle stale

/remove-lifecycle stale

Still valid

Bumped the NodeFit PR to get that moving again
/remove-lifecycle stale

Fixed in https://github.com/kubernetes-sigs/descheduler/pull/790
/close


Require ignition-utils1 in find_package call

🦟 Bug fix
Fixes dependency change introduced by #244.
Summary
Since #244, we are now using ignition-utils1 in the core library, so we need to declare it a required dependency in its find_package call. Currently downstream builds are giving configuration warnings if ign-utils1 is not found but failing to compile. This should cause a configuration failure if ignition-utils1 is not found, instead of a warning.
 https://build.osrfoundation.org/job/ign_fuel-tools-ci-win/8/
Checklist

[X] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge

I should update the migration guide before merging

I should update the migration guide before merging

https://github.com/ignitionrobotics/ign-common/pull/247/commits/2c2b869a4d2e8bca4c74e19c76d805c3a07ffb68

Shall we close this in favor of #248?


[Bug] Connect from PowerBI

Code of Conduct

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

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the bug
Since Kyuubi is an alternative to STS, I've tried to connect to it from PowerBI (PB) for some reports but met some errors along the way. PB refuses to connect to version 1.5.2 with the error "The host and port specified for the connection do not seem to belong to a Spark server", connection to 1.4.1 works OK, but functionality is very limited, e.g. creating a "Top N" filter fails with an error.
After some investigation on the second one, I found out PB thinks that 1.4.1 is a Spark version and cuts functionality as it's too old.
Simba::SparkODBC::SOConnection::Connect: Server version (1.4.1-incubating) is lower than 2.1.0. Setting FETCH_FIRST fetch orientation as                 not supported because server lower than version 2.1.0 treats FETCH_FIRST as                 FETCH_NEXT.
Simba::SparkODBC::HardySettings::SetServerNotSupportsFetchFirst: +++++ enter +++++

ODBC logs can bee found here
SparkODBC-1.4.1.log
SparkODBC-1.5.2.log
I've built Kyuubi with spark version (3.2.1) instead of 1.4.1 and PB was working as expected. Under the hood, PB is using Microsoft Spark ODBC Driver.
Is there a way to configure Kyuubi metadata to work with Power BI? Otherwise it's a great tool that can't be used in companies that have found themselves in a vendor lock-in and since Power BI is a Microsoft tool, I believe there are enough of them
Affects Version(s)
1.4.1-incubating, 1.5.2-incubating
Kyuubi Server Log Output
No response
Kyuubi Engine Log Output
No response
Kyuubi Server Configurations
No response
Kyuubi Engine Configurations
No response
Additional context
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

I'm sorry I'm not familiar w/ PB and ODBC, and I think the Microsoft Spark ODBC Driver is not open source.
I see Simba::SparkODBC from your logs, and we got reported that "Simba" ODBC drvier use a tricky way to retrieve server versions, please try set spark.sql.hive.version=2.3.9 and spark.sql.hive.metastore.version=2.3.9 (actually I forget which one take effect) in your $SPAKR_HOME/spark-defaults.conf (2.3.9 is chosen because you are using Spark 3.2.1)

And for Simba::SparkODBC::SOConnection::Connect: Server version (1.4.1-incubating) ...
The DBMS_NAME and DBMS_VER are defined at
https://github.com/apache/incubator-kyuubi/blob/95cb57e80bf9ca8dd0510df3d45c52d9f22ef448/kyuubi-common/src/main/scala/org/apache/kyuubi/session/AbstractSession.scala#L110-L111
You can change it to "2.3.9" to see what will happen, if it does work, I think we can make these two values configurable.

hi @pan3793, thanks for your help
setting  spark.sql.* params didn't help, but changing the source code - did!
So far, everything seems to be working fine.
I checked with 1.4.1-incubating version, let me check with 1.5.2

So, great news, 1.5.2 with the code edit is working as well :)

Yes, would like to. Except, this would be my first commit to kyuubi project, so guide me here :)
By configurable you mean that a user can override that value in kyuubi-defaults.conf via some parameter?

this would be my first commit to kyuubi project, so guide me here :)

Yes, of course.

By configurable you mean that a user can override that value in kyuubi-defaults.conf via some parameter?

Yes. To achieve this, you should add the configurations(they should be named as kyuubi.server.cli.dbms.name and kyuubi.server.cli.dbms.ver or something) in KyuubiConf, and refer to them in AbstractSession#getInfo, then we can configure them in kyuubi-defaults.conf
For documents, you can add a new page in the folder docs/quick_start and follow the https://kyuubi.readthedocs.io/en/latest/develop_tools/build_document.html to build and preview the document site in local

This issue has been addressed in https://github.com/apache/incubator-kyuubi/pull/3122, w/ configuration kyuubi.server.info.provider=ENGINE, the GetInfo will return the engine(e.g. Spark)'s information instead of Kyuubi.
The feature will be available in 1.6.1-incubating.

cc @WANGHui2022, since you reported this issue in another channel.

@hanna-liashchuk  I used PowerBi to connect kyuub_1.6.0, but there was a problem. Because there was an extra layer of "spark_catalog" in kyuubi's schema, PB would treat the database as a table. I saw that you also used PB to connect kyuubi, could you please give me some advice.

ODBC configuration

Problem phenomenon

@marszd we are using Spark connector with  protocol: Standart. Have you tried using it?


Photo exit event never fires.

Hi @troyth @dsteinborn @markelarizaga @mattmcneeney !
Not sure if this repo is still being maintained, but I've run into an issue.
Using the example code in "eg/photo.js" for capturing a photo, but the "exit" event never seems to fire. In fact, it seems to be stuck in some kind of loop.
Output:

Code:
var RaspiCam = require("../lib/raspicam");

var camera = new RaspiCam({
	mode: "photo",
	output: "./photo/image.jpg",
	encoding: "jpg",
	timeout: 0 // take the picture immediately
});

camera.on("started", function( err, timestamp ){
	console.log("photo started at " + timestamp );
});

camera.on("read", function( err, timestamp, filename ){
	console.log("photo image captured with filename: " + filename );
});

camera.on("exit", function( timestamp ){
	console.log("photo child process has exited at " + timestamp );
});

camera.start();

Notice: using Raspberry Pi 2, running Raspbian, and using official Raspberry Pi camera, with latest version of this node module Raspicam.

I could never get exited event to fire but the following did stop the endless loop of taking photos:
camera.on("read", function(err, filename) {

    console.log('Photo taken!', err);

    if(!err) {
        console.log('Photo taken and saved');
    } else {
        console.log('Error taking photo!');
    }

    camera.stop();
});

camera.start();


[Question] V16's "3-3 point Openning" is lasting so long time.

Through V9 to V15, "3-4" or "4-4" starting was Top-trend.
And It is a hallmark of other artificial intelligence, including AGZ.
It is so curious that V16's "3-3 point Openning" is lasting so long time.

Until 18M games, Model No.747

Is it a "overfitting" problem?

pls arrange a match between v15 990 and v16 715

v16-805 just took a few seconds from 3-3 to 4-4 by 1080ti (-t11).

https://cloudygo.com/v16-19x19/details/001092-achates v16 1092 still plays 96% 3-3

An anonymous user from discord created this interesting graphic
"x axis: model number, y axis: combined policy of 3-3, 3-4, and 4-4. Sampled every 10 models."


[WIP][POC][RFC] Generic Device Data Context

Note: this is a WIP. It's not ready yet (a few modification still required to get the test working), it's only published in this PR for pre-review.
This is at attempt to solve the issues that came up during #44693, but it goes way beyond the original idea of bringing generic control mechanism for device instances.
Instead, it tries to normalize (not generalize: this is totally optional and can be used only per device instance, on the contrary to previous referenced PR) device context into it's data pointer. Such context can be about concurrent access (control mechanism) but also statistics (on i2c or can), or anything else sufficiently generic that could exist among a bunch drivers.
Doing it that way solves all the issues from previous PR:

device_state pointer into struct device can be fully removed
i2c/can/... stats are no longer a container of device_state, but a lone object that can be integrated within the data context
ALL can be enabled/disabled fully per-device instance. i.e.: ROM/RAM space is only consumed on relevant device instance and only for the objects that instance requires (an i2c device may have the i2c stats object but no control mechanism, where another i2c device may have both etc...)

Current implementation is only meant to be a PoC. Naming, technical choices (like the q&d python script) may change. It's only there to present the idea.

This shouldn't be closed yet, and I'm intrigued by the ideas here

Keep it open please, thanks


A release would be good

Running into a timeout seems to be the norm rather than the exception in https://github.com/pangeo-bot/dispatcher/actions/workflows/watch-pangeo-notebook-feedstock.yml.
This was mitigated in #11, but its not released yet.
I've opened #12 and #13 to nudge towards a release - could you take it all the way @jacobtomlinson? Note that it would be great if you cut 1.0.0 instead of 0.1.4 or 0.2.0 as then users can pin to v1 instead and rely on nothing breaking to occur until v2 etc.

Thank you @jacobtomlinson!!


Introduce Typescript

First review, merge #8 and #11, then change destination branch to main

Added noise in repo due to invalid yarn version, closing, will open new PR.


Bootstrap and sandbox shells miss getopts

Issue description
See in title. This breaks build of acl and attr among other things. The problem arises from install-sh using getopts.
This is not strictly Nix issue -- one can argue that install-sh should be patchShebangsed to use proper shell. However during bootstrap builds Busybox shell is used with configuration which doesn't support getopts.
Steps to reproduce

Use nixUnstable;
Try to build attr from source.

Technical details

system: "x86_64-linux"
host os: Linux 4.15.2, NixOS, 18.03.git.e22d2b0 (Impala)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.0pre5889_c287d731
channels(abbradar): ""
nixpkgs: /home/abbradar/nixpkgs

Upon further investigation it seems I was mistaken after all and patchShebangs fixes the problem. I'll submit a PR later. Not sure why didn't it work before -- perhaps I was mistaken in patchShebangs syntax and didn't notice it?...


Fixed crashing of game when minimised

Description

This PR will fix the crashing of DestinationSol which crashes while  minimizing the application in main menu.

Testing

To test the PR, just minimize the DestinationSol window and the application will not crash

Notes

Include any extra notes here

Pre Pull Request Checklist:

[ ] Code has been scanned with SonarLint
[ ] There are no errors present in the project
[ ] Code has been formatted and indented
[ ] Methods have appropriate Javadoc (How to write Javadoc)

Thanks for final tweaks - merging! Using squash merge to cut down the commits a bit since they're generic messages and this is a pretty tiny change (which makes a big difference!)


fix: drag and drop 6-digit code

Fixed issue #6

onDrag must return
NSItemProvider(object: String(item.code) as NSString)


feat: replace lodash with ramda

This work is instigated by the efforts to support browser testing, specifically regarding Vitest. The version of lodash we use does not export for ESM. This PR looks to swap out lodash for ramda, which exports both CJS and ESM.
Relates to #284 and specifically this comment.

@Dhaiwat10 I can get a topic branch going if that is preferred, however I as part of this work I will also be upgrading other packages. For example, ethers v5 -> v6 as that bring ES support, which I think would be good to have on master to keep us up to date, rather than being directly tied to the browser compatibility work.

@camsjams Ramda has supported tree-shaking since v0.25.0, however I believe it depends more on our tsup configuration, I'll compare bundle sizes and will report back.

@camsjams the bundle size actually looks to be smaller with ramda so yes definitely some smart bundling happening, therefore I am going to merge this PR.
Master:
ESM dist/index.mjs     883.00 B
ESM dist/cli.mjs       684.00 B
ESM dist/bin.mjs       721.00 B
ESM dist/index.mjs.map 1.12 KB
ESM dist/cli.mjs.map   1.16 KB
ESM dist/bin.mjs.map   1.28 KB
ESM ⚡ Build success in 10ms
CJS dist/bin.js       761.00 B
CJS dist/index.js     3.49 KB
CJS dist/cli.js       1.66 KB
CJS dist/bin.js.map   1.31 KB
CJS dist/cli.js.map   1.24 KB
CJS dist/index.js.map 1.32 KB
CJS ⚡ Build success in 10ms
IIFE dist/bin.global.js       871.63 KB
IIFE dist/cli.global.js       871.58 KB
IIFE dist/index.global.js     1.94 MB
IIFE dist/cli.global.js.map   1.50 MB
IIFE dist/bin.global.js.map   1.50 MB
IIFE dist/index.global.js.map 3.48 MB

w/ Ramda:
ESM dist/bin.mjs       721.00 B
ESM dist/cli.mjs       684.00 B
ESM dist/index.mjs     883.00 B
ESM dist/index.mjs.map 1.12 KB
ESM dist/cli.mjs.map   1.16 KB
ESM dist/bin.mjs.map   1.28 KB
ESM ⚡ Build success in 11ms
CJS dist/index.js     3.49 KB
CJS dist/cli.js       1.66 KB
CJS dist/bin.js       761.00 B
CJS dist/index.js.map 1.32 KB
CJS dist/bin.js.map   1.31 KB
CJS dist/cli.js.map   1.24 KB
CJS ⚡ Build success in 11ms
IIFE dist/bin.global.js       873.39 KB
IIFE dist/cli.global.js       873.34 KB
IIFE dist/index.global.js     1.92 MB
IIFE dist/bin.global.js.map   1.49 MB
IIFE dist/cli.global.js.map   1.49 MB
IIFE dist/index.global.js.map 3.42 MB


Where to find the code of .cfg, .to(device) and .eval()

When a certain detector is being trained or tested, we set one of these lines of code:
model.cfg = cfg
model.to(device)
model.eval();

But where exactly in the mmdet or mmcv folders we can find the code definition of .cfg, .to(device) and .eval()? Where are the functions defined?

All of these methods are not defined by mmdetection or mmcv.

model.cfg = cfg

This is a use case of Python's magic method __setattr__
Please refer to https://docs.python.org/3.8/reference/datamodel.html?highlight=setattr#object.setattr

model.to(device)
model.eval()

These are PyTorch Module's to method. Please refer to
https://pytorch.org/docs/stable/generated/torch.nn.Module.html?highlight=module#torch.nn.Module.to
https://pytorch.org/docs/stable/generated/torch.nn.Module.html?highlight=module#torch.nn.Module.eval

All of these methods are not defined by mmdetection or mmcv.

model.cfg = cfg

This is a use case of Python's magic method __setattr__ Please refer to https://docs.python.org/3.8/reference/datamodel.html?highlight=setattr#object.setattr

model.to(device)
model.eval()

These are PyTorch Module's to method. Please refer to https://pytorch.org/docs/stable/generated/torch.nn.Module.html?highlight=module#torch.nn.Module.to https://pytorch.org/docs/stable/generated/torch.nn.Module.html?highlight=module#torch.nn.Module.eval

@RangiLyu Thanks for these. Do you have any idea how to extract the features from the different modules of mmdetection?
Say for example I want to extract the backbone and neck features in different levels, can I use model.backbone or model.neck?

You can use extract_feat method in the detector to extract features. Please refer to mmdet/models/detectors/base.py


Utilization Bar Card Filters default position value

The filters for the "Utilization Bar Card" is not showing unless a position is defined in the filters declaration.
The documentation  is out to date, the position property is not explained.
Example:
<div pf-card head-title="{{chartConfig.chartTitle}}" show-top-border="true" filter="chartConfig.periodPicker" style="width: 33%">
Where:
periodPicker = {                 filters: [                     {label:'Últimos 15 días', value: '15'},                     {label:'Últimos 30 días', value: '30'},                     {label:'Últimos 60 días', value: '60'}                 ],                 callBackFn: function (f) {                     console.debug( $scope );                     alert("Filter Callback Fn Called for '" + f.label + "' value = " + f.value);                 },                 defaultFilter: '0',                 position: 'header' // --> this is making it appear... it should be the default value             }

http://www.patternfly.org/angular-patternfly/#/api/patternfly.card.component:pfCard - Timeframe Filters is the out of date documentation that does not explain the position field of the filter configuration properties.
Agreed, there should be a default value.

Hi, I'm a little confused.  If you do not specify a position, the default is 'footer' -meaning the filter dropdown will appear in the footer.  This is show by the "Footer with Link & Timeframe filter" example which doesn't specify a position, but by default the time filter dropdown appears in the footer.


metrics: Add remote networking bandwidth test.

This measures network bandwidth using an iperf3 container directly.
Fixes #806
Signed-off-by: Gabriela Cervantes<EMAIL_ADDRESS>

lgtm

lgtm

@grahamwhaley changes applied

@klynnrif could you please review it? thanks

@klynnrif changes applied


Plotting Fix: fixing capitalization for Bokeh plotting for version 3.1.1 compatibility

Addresses #1011.
Updates capitalization issue for plotting functionality to address recent Bokeh version update to 3.1.1.

Thanks!


feat(menu): add disabledField prop

Signed-off-by: Sepush<EMAIL_ADDRESS>

Codecov Report

Merging #3559 (f352001) into main (bde60ff) will decrease coverage by 0.00%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##             main    #3559      +/-   ##
==========================================
- Coverage   62.99%   62.99%   -0.01%
==========================================
  Files        1056     1056
  Lines       21946    21947       +1
  Branches     5727     5727
==========================================
  Hits        13825    13825
- Misses       6628     6629       +1
  Partials     1493     1493

Impacted Files
Coverage Δ

src/menu/src/Menu.tsx
49.48% <50.00%> (-0.26%)
:arrow_down:

src/locales/common/frFR.ts
40.00% <0.00%> (ø)

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


增加适配android13

描述需求
Manifest merger failed : Apps targeting Android 12 and higher are required to specify an explicit value for android:exported when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.

看代码已经加了，抱歉打扰


Fix console

@bajtos , ready to review.

@3y3 I am afraid I don't have enough time to review this in detail. I don't see any obvious problem, if the patch works for you then I am fine with it. :shipit:

Perhaps we should use -1 instead

Everywhere? Or only for console? I'm :+1:  for -1

Everywhere? Or only for console? I'm :+1: for -1

I don't have a strong opinion. Shall we try to use it everywhere and see if it breaks anything?


Cu jf4uv5 cu 1jzahap

Premiums are now specified as follows:
[date1, premium1, date2, premium2, ...]
Removed premiumInterval. From now on the premiums can be specified at any time between the initiation and maturation dates.
calculateMaxNumOfPremiums() has been removed as it is no longer needed. Instead, the policy constructor checks to make sure the premiums are in increasing order and between the initiation date and the maturation date.
Updated unit tests to take permiumsDiff instead of premiums and tranchData
Diff instead of tranchData. These inputs include the premium input in the new format, but with the time difference from the initiation date rather than an absolute date.
Tranche is spelled "tranche" everywhere.

Task linked: CU-1jzahap Change premium variable in smart contracts to shorten its length and replace premium interval with an array of ordered timestamps. - BREAKING

Task linked: CU-jf4uv5 Document Hash on Policy


 But I find it cost a very long to get the result. I have used Azure speech recognizer, it is about 4-5 to get the result. But I think whisper cost about 10 seconds. It is very hard to use it in the production.

Sorry for taking time to reply.
I have no access to Azure so I cannot do comparison.
However, I made a test to check the speed so please see if you have the same result.
Audio data
Damian Lewis as Antony in Julius Caesar via Guardian Culture
URL: https://youtu.be/q89MLuLSJgk
Duration: 02:33
App settings
Using whisper-api
MaxPause: 2500ms
MinDecibels: -60dB
Transcriptions
Language: English
Temperature: 0
Note that from the setting, it will wait for 2.5s before processing.
Because of the MaxPause setting, the transcription is divided into three files.
Audio data is saved as webm.
Result
1st part
File size: 693KB
Duration: 01:03
Process time: 4s
2nd part
File size: 808KB
Duration: 01:00
Process time: 4s
3rd part
File size: 462KB
Duration: 00:29
Process time: 2s

Thank you for your reply. I have changed to fast-whisper which runs on local.


Rewrite Message from @nx/devkit

This PR addresses Issue #46 by rewriting the error message, removing 'ERROR', while still maintaining the necessary information

@koliveira15 The following is failing - this isn't related with my PR:
ERROR: Error during SonarScanner execution
ERROR: Project not found. Please check the 'sonar.projectKey' and 'sonar.organization' properties, the 'SONAR_TOKEN' environment variable, or contact the project administrator
ERROR:
The SonarQube scan failed for project 'nx-sonarqube-e2e'. Error: Error: Command failed: /home/runner/.sonar/native-sonar-scanner/sonar-scanner-<IP_ADDRESS>47-linux/bin/sonar-scanner --from=ScannerNpm/3.0.1
FAIL nx-sonarqube-e2e e2e/nx-sonarqube-e2e/tests/nx-sonarqube.spec.ts (51.991 s)
  nx-sonarqube e2e

@koliveira15 The following is failing - this isn't related with my PR:
ERROR: Error during SonarScanner execution
ERROR: Project not found. Please check the 'sonar.projectKey' and 'sonar.organization' properties, the 'SONAR_TOKEN' environment variable, or contact the project administrator
ERROR:
The SonarQube scan failed for project 'nx-sonarqube-e2e'. Error: Error: Command failed: /home/runner/.sonar/native-sonar-scanner/sonar-scanner-<IP_ADDRESS>47-linux/bin/sonar-scanner --from=ScannerNpm/3.0.1
FAIL nx-sonarqube-e2e e2e/nx-sonarqube-e2e/tests/nx-sonarqube.spec.ts (51.991 s)
  nx-sonarqube e2e

Please ignore for now. e2e passes for me so I need to check whats going on with Actions and the sonar runner


[docs] docusaurus in dev crashes

Bug description
When running docusaurus locally, as described in pulsar/site2/README.md, the server will run and serve for a while, and then, after some minutes (11:55 in the one case that I timed) crash out of the blue - without any browsing activity at the time of the crash that could be related.
The error message:
RangeError: Maximum call stack size exceeded
    at pulsar/site2/website/node_modules/gaze/lib/helper.js:76:11

To Reproduce
git clone https://github.com/apache/pulsar.git
cd pulsar/site2/website
yarn install
yarn start

Then browse to a page like e.g. http://localhost:3000/docs/en/next/reference-metrics
Expected behavior
Why - no crash, of course.
Environment
NodeJs version: v10.15.2
Yarn version: 1.13.0
OS: Linux 5.3.0-26-lowlatency #28-Ubuntu SMP PREEMPT Wed Dec 18 06:21:38 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Additional context
This gaze issue may be related: https://github.com/shama/gaze/issues/126
Before the crash, the docusaurus will constantly consume around 70% of one core on my machine.
Here's the complete output (on debian, yarn is invoked as yarnpkg):
pulsar/site2/website$ time yarnpkg start
yarn run v1.13.0
warning package.json: No license field
$ docusaurus-start
Failed to start live reload server: RangeError: Maximum call stack size exceeded
LiveReload server started on port 35729
[BABEL] Note: The code generator has deoptimised the styling of pulsar/site2/website/node_modules/docusaurus/lib/core/metadata.js as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of pulsar/site2/website/node_modules/docusaurus/lib/core/metadata.js as it exceeds the max of 500KB.
Docusaurus server started on port 3000
Warning: Each child in a list should have a unique "key" prop.

Check the top-level render call using <div>. See https://fb.me/react-warning-keys for more information.
    in div
    in UsersBlock
    in div
    in div
    in Index
    in div
    in body
    in html
    in Site
Warning: Invalid DOM property `class`. Did you mean `className`?
    in div
    in div
    in div
    in Container
    in UsersBlock
    in div
    in div
    in Index
    in div
    in body
    in html
    in Site
pulsar/site2/website/node_modules/gaze/lib/helper.js:76
          callback(null);
          ^

RangeError: Maximum call stack size exceeded
    at pulsar/site2/website/node_modules/gaze/lib/helper.js:76:11
    at pulsar/site2/website/node_modules/gaze/lib/gaze.js:452:5
    at iterate (pulsar/site2/website/node_modules/gaze/lib/helper.js:69:5)
    at pulsar/site2/website/node_modules/gaze/lib/helper.js:78:11
    at pulsar/site2/website/node_modules/gaze/lib/gaze.js:452:5
    at iterate (pulsar/site2/website/node_modules/gaze/lib/helper.js:69:5)
    at pulsar/site2/website/node_modules/gaze/lib/helper.js:78:11
    at pulsar/site2/website/node_modules/gaze/lib/gaze.js:452:5
    at iterate (pulsar/site2/website/node_modules/gaze/lib/helper.js:69:5)
    at pulsar/site2/website/node_modules/gaze/lib/helper.js:78:11
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

real    11m54.598s
user    4m10.198s
sys     4m20.086s

Thanks @EugenDueck for the help of report and analysis this issue, seems this is related to  shama/gaze#126


Some input_data abbreviations are failing

These inputs throw a key error:
model.input_data('C', low=10, mode=30, high=40)
model.input_data('CF', low=10, mode=30, high=40)
model.input_data('Contact Frequency', low=10, mode=30, high=40)

This works fine:
model.input_data('Contact', low=10, mode=30, high=40 )
Similarly, 'A', 'Probability of Action' fail but'Action'works.
I've tested all other abbreviations from target_map and they seem to work fine. Please do check.

Thanks, @vidhisshah . Will check this evening and reply back.

@vidhisshah ,
Thanks for your detailed report. Much appreciated.
FairModel has an attribute called _tree. This attribute is a FairDependencyTree instance that is used to track calculation dependencies. This class was using erroneously using "Contact" and "Action" as handles for tracking, which is where the issue arose.
I am going to take this fix and another I've been meaning to get out (#24) and package them up this weekend for version 0.1-alpha.11.
For posterity. going forward these will work:

C
A
Contact Frequency
Probability of Action

These will not work:

CF
Contact
Action

@vidhisshah ,
Would you please download version 0.1-alpha.11 from PyPI, ensure it fixes your problem, and then close this issue out?
Thanks again for the bug report.

@theonaunheim Thanks a lot!
The keywords 'C', 'Contact Frequency', 'A', and 'Probability of Action' are working fine.
One small issue though, it doesn't seem to be doing the check where values need to be between zero and one. Could you please check that? For example,  model.input_data('Probability of Action', low=2, mode=10, high=20)  would have thrown an error earlier, but it seems to be accepting it now.

Brilliant, and thanks for your attention to detail, @vidhisshah !
It appears that FairDataInput validator and accompanying unit tests use the term "Action" as well. I will modify FairDataInput._le_1_targets attribute, look for any stray "Action" references in the code base, and check back with you in the next day.

@vidhisshah , I believe I have fixed the validation problems.
At your convenience, would you please check version 1.0-alpha.12 on your machine, and close out this issue if fixed?
Thanks again for your diligence.

Works! Thank you.


small improvements before the big rewrite and redesign

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


Update Posts “license”

Automatically generated by Netlify CMS

👷 Deploy Preview for cheerful-bublanina-9c58de processing.

Name
Link

🔨 Latest commit
ca0233d0c001f35b05a2d50289b28d7f0dac404f

🔍 Latest deploy log
https://app.netlify.com/sites/cheerful-bublanina-9c58de/deploys/645510bc5d7bee0008f3a8de


Ability to change the color scheme of the interfacefeat: INSERT_DESCRIPTIVE_TITLE

Describe the feature request
I use Google Chrome on Windows 10, I have the problem that the interface of the site (bridge) is very dark, I can not see the letters!
I propose to add a change in the appearance of the interface to (light and dark)
Describe alternatives you've considered
An alternative solution if you change the color of the letters on the site (the bridge) to white
Additional context

I attached a screenshot, where I indicated (with a red stripe) the place where the letters are not visible

Thanks @Osmorad for pointing this out. Would you be able to share if you have any chrome extension installed which might be interfering with the styles?

Thanks @Osmorad for pointing this out. Would you be able to share if you have any chrome extension installed which might be interfering with the styles?

I only have these extensions installed
Another question, why I could not claim 2023 Taiko Contributor GitPOAP?

@Osmorad Thanks for sharing this. Will push a fix soon which should solve these issues.
Regarding the POAP, I don't have any information on that. Maybe @d1onys1us can help answer this.

Thanks @Osmorad for pointing this out. Would you be able to share if you have any chrome extension installed which might be interfering with the styles?

 I only have these extensions installed
Another question, why I could not claim 2023 Taiko Contributor GitPOAP?

hello @Osmorad , in order to receive a 2023 Taiko Contributor GitPOAP, please refer to CONTRIBUTING.md#claim-a-taiko-contributor-gitpoap


Update row-level TTL docs with add'l details

Fixes DOC-3545
Summary of changes:

Note that TTL update runs a schema change; also add some specifics
around per-row overrides vs. updating the whole table

High metrics cardinality can lead to bad perf (see CDC doc
description)

List required privileges for TTL

Show an example of updating ttl_expire_after once already set

This change is


Narrow view is too tall

Height is hardcoded into the javascript, so both sizes get 254px tall, even though the narrow size could afford to be a little shorter

Instead of trying to put media queries entirely in either js or css, put them in both, but use a common variables file and insert through gulp

heights no longer coded into javascript, so this should now be fixable


Logging of DLS (and maybe DL+)

We can save slides from SLS, or log the complete SPI, but when recording, a separate txt-file with the DLS (and/or DL+) texts with a time stamp will improve long recording.
This feature was introduced by DAB Player under Windows some years ago.

Do you have any proposal for the format of the file?

I don't care.
Date Time {tab} DL {tab} artist {tab} title

or similar...

Just a side note - when you do audio recording in AAC or MP2 format, DL(+) is inside the file in so called X-PAD. You can use for example XPADxpert application to check it. In most of the cases slides are also inside because they are rarely broadcasted in dedicated data service. So at the end it would be probably much more interesting to develop player that would play audio and display associated DL(+) and slides ;-)

I know, that's what I am doing. But it will fail loading when the file is too big for xpadxpert.

I see, will implement the exporting when I have some time, but now I have to finalize TII, but it will still take a lot of time :-(


Support custom pagesDir in options

I want to use docs directory, make it co-exist with app/pages of next,  is it feasible?

Sorry, but not, lack of interest


Add explainer on accessibility testing using XCTest

There are fantastic examples in this repo of using XCTest to perform accessibility related UI tests. I think it would be helpful to provide an overview in a separate markdown file that people can read before diving in to get a high level understanding of this topic.
This explain could cover things like:

types of issues can you check for: missing labels for elements, lack of support for Dynamic Type, asserting existing of specific semantic accessibility properties/modifiers, etc.
key APIs used when writing tests
related resources like the following WWDC video: https://developer.apple.com/videos/play/wwdc2023/10035/

Great suggestion! I have some other good sources also:
https://a11y-guidelines.orange.com/en/mobile/ios/wwdc/nota11y/2023/2310035/
https://www.hackingwithswift.com/articles/148/xcode-ui-testing-cheat-sheet
https://www.polpiella.dev/xcode-15-automated-accessibility-audits
https://mobilea11y.com/guides/xcui/


Process urls when compiling SCSS

Closes #320.

Interested on how this would work in this scenario:
theme/
  assets/
    icon-delete.svg
  partials/
    general/
      _chat.scss
  index.scss
  _mixins.scss

// index.scss
@import 'mixins';
@import 'partials/general/chat';

// _mixins.sxss
@mixin theme-icon ($icon) {
  background-image: url('#{$icon)');
  background-size: 24px;
  background-position: center;
  background-repeat: no-repeat;
}

// partials/general/_chat.scss
.da-toolbar::before {
  @include theme-icon('../../assets/icon-delete.svg');
  content: '';
  display: block;
  height: 30px;
  width: 30px;
}

As PostCSS runs before Sass it will see the mixin as a custom at rule and process url('#{$icon)') exactly as it is. If PostCSS was run after Sass it wouldn't know where to look for anything.
// index.scss postcss
@import 'mixins';
@import 'partials/general/chat';

// _mixins.scss postcss
@mixin theme-icon ($icon) {
  background-image: url('#{$icon}'); // `#{$icon}` doesn't exist so is returned as it is
  background-size: 24px;
  background-position: center;
  background-repeat: no-repeat;
}

// partials/general/_chat.scss postcss
.da-toolbar::before {
  @include theme-icon('../../assets/icon-delete.svg');
  content: '';
  display: block;
  height: 30px;
  width: 30px;
}

/* index.scss sass */
.da-toolbar::before {
  background-image: url('../../assets/icon-delete.svg');
  background-size: 24px;
  background-position: center;
  background-repeat: no-repeat;
  content: '';
  display: block;
  height: 30px;
  width: 30px; }

Ah, thanks for the info.

Not sure if @Jiiks had something else in mind to accomplish this


Cannot launch Open LaTeX Studio on Ubuntu

Invalid maximum heap size: -Xmx512m
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occured. Program will exit.

Apparently there's some problem with the OpenLaTeXStudio/application/src/main/build/launcher.conf file. It works on Windows, but not on Ubuntu. Commenting the line resolves the issue, but we need to be able to set Java max heap size on launch.

Fixed


Use GitHub's workflow message feature to present errors on the PR itself

The new nixf-tidy provides a great example of how nixpkgs-check-by-name can level up. It uses GitHub’s workflow message feature to render error messages in the ‘Files changed’ overview, directly below the lines with errors.
Check an example here: workflows/check-nixf-tidy.yml: by Aleksanaa · Pull Request #1 · Aleksanaa/nixpkgs · GitHub 41.
We should do the same thing when run from CI. The current output is great for terminal use cases; this output is better for CI.

I've considered this before, but a problem is that such errors are limited to a single line, which then kind of requires either making two separate ways of printing every error, or not using multi-line errors in the terminal too. I don't have a strong opinion on this though. If it can be made to work well, I'm all for this :)

The schema seems to indicate that it's not: it contains both line and endLine.

I mean that the error message itself is limited to only being a single line


chore(upgrade): upgrade packages

Codecov Report

Merging #318 (6d4e0ae) into master (01c45e7) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master      #318   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines           46        46
  Branches        14        14
=========================================
  Hits            46        46

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 01c45e7...6d4e0ae. Read the comment docs.


display and escape grid prompt and prompt replace labels

Will see if i can do a PR, but in the mean time, i've noticed that when viewing the grid it would help if we could see the actual full prompt rather than the key for it.
Also, we were testing the effect of having prompts where we'd trained a model with <mystyle> and this isn't escaped in the grid view, so you don't actual see the replacement prompt as its treated as html.

Html escaping: replicated and fixed, thank you for the report. (Note that users emitting HTML is an intended feature, but of course it's not meant to happen from simple parameter text as happened here)
For viewing the full prompt after a prompt replace, you can click an image to see that image's unique metadata.
Implementing that directly in the grid itself would have two issues:
A: Long prompts would be a mess. I've had fun generating grids with Prompt as an axis, formatting gets wonky when that's huge.
B: If you have multiple prompt replace keys on axes, I don't know that there'd be a sane way to render that. There'd be two different "full prompts" visible and you'd have to guess which is the "real" one.
Let me know if being able to click to view is insufficient for you, and you have an idea for how it handle it well in a way that avoids the issues above.


Import issue with Angular update 18.2.5 -> 18.2.7

Hello,
we are happy users of your lightweight editor component.
When updating from Angular version 18.2.5 to 18.2.7 we encounter an import error:
src/app/components/new/code/prism-editor.component.ts:12:43 - error TS2307: Cannot find module 'prism-code-editor' or its corresponding type declarations.
import { createEditor, PrismEditor } from "prism-code-editor";

src/app/components/new/code/prism-editor.component.ts:13:31 - error TS2307: Cannot find module 'prism-code-editor/match-brackets' or its corresponding type declarations.
import { matchBrackets } from "prism-code-editor/match-brackets";

...

Do you have any idea where to look further?
Demo: https://demo.springwolf.dev
PR: https://github.com/springwolf/springwolf-core/pull/952
Build (springwolf-ui): https://github.com/springwolf/springwolf-core/actions/runs/11296135257/job/31420337212?pr=952

Does it happen locally as well, or only when running GitHub actions?
I don't think this is an issue with Prism code editor, and it's not something I've encountered. typesVersions is used to locate type declarations. Since moduleResolution is set to Bundler in your TSConfig, there shouldn't be any issues.

Thank you for the fast response.
Yes, I am able to reproduce this locally.
I also ruled out the potential GitHub cache by disabling the cache temporarily in one of the earlier attempts.
Thank you for pointing out the typesVersions setting.
With typescript and bundles there are just so many settings by now...

I went ahead and cloned the springwolf repository, and navigated to your branch with angular 18.2.8, and opened the springwolf-ui directory. I then ran npm install followed by npm run build. The build completed with zero errors. I subsequently ran the dev server with npm start. That worked too, and the website ran just fine. The TS server in VSCode also resolved the type declarations for prism-code-editor without issue... Not sure I'm able to help solve a problem I can't reproduce.
Although, there is another problem I can solve. Not sure you've noticed, but the rainbow brackets don't work in your demo. This is because the bracket styles are overridden by the Okaidia theme from PrismJS. To fix the problem make sure that "./node_modules/prismjs/themes/prism-okaidia.css" comes before "prism-code-editor/themes/prism-okaidia.css" in the styles list. Swapping the stylesheet order should have no downsides.

Thank you for checking, I will switch the css files around.
Yesterday, I experimented a little more on that branch and also got it working locally. The issue seemed to be related to how dependabot updates dependencies vs how ng update does them.
Currently the pipeline is failing due to a different reason, where an updated, not compatible dependency is pulled due to npm install vs npm ci.
From my point of view, this issue can be closed. Thank you for looking into it too and building this easy to use component.

Possibly interesting for your list of use-cases/compatibility:
We use also another component (ng-markdown), which internally uses prism to highlight code.
My best guess on how to bridge the call from the global Prism object to your prism implementation is this: https://github.com/springwolf/springwolf-core/blob/chore%2Fremove-old-ui/springwolf-ui%2Fsrc%2Fapp%2Fcomponents%2Fcode%2Fprism.bridge.ts
In case there is an easier method, I am happy hear about it.

Sounds good.

My best guess on how to bridge the call from the global Prism object to your prism implementation is this: https://github.com/springwolf/springwolf-core/blob/chore%2Fremove-old-ui/springwolf-ui%2Fsrc%2Fapp%2Fcomponents%2Fcode%2Fprism.bridge.ts

In case there is an easier method, I am happy hear about it.

You can use editorFromPlaceholder() to replace the <pre> element with an editor. If you don't need an editor and just want syntax highlighting, you can use highlightText() and set the innerHTML of the <code> element. The next major release will add support for static code blocks, so you could switch to those in the future.

We will stick to createEditor for now.
Our input text needs trimming, since it has a new line marker at the end - which also (correctly) shows up when using editorFromPlaceholder. highlightText is missing the nice background styling that is included in the editor.


Move fuzzers out of core/test

@var-const OSS Fullz will not work in this case. Our build script assumes that fuzzing is in core/test

@minafarid Would that be a trivial fix (just changing that path in the build script), or are there any issues involved?

Yes it is trivial but requires OSS Fuzz approval. I will make the necessary changes in the OSS Fuzz repository and merge this PR.

I will fix the conflicts as well.

Changes to OSS Fuzz are done and Merged (quickly!) in PR.
I will merge this PR right after PR #1669 because I merged that branch here.

Edit - will remove dependency on PR #1669 and merge this.


Support for decrypted checksum

Describe the pull request:

[ ] Bug fix
[x] Functional change
[ ] New feature
[ ] Code cleanup
[ ] Build system change
[ ] Documentation change
[ ] Language translation

Pull request long description:

Adds fields for storing decrypted file info (size, checksum, checksum type) to both table main and view files.
Changes made:

init script
migration script

Related issues:

Relates to neicnordic/sda-pipeline#142.
Additional information:

Release note:

Documentation change:

Mentions:

        archive_file_checksum                    AS unencrypted_checksum,
        archive_file_checksum_type               AS unencrypted_checksum_type,
+       decrypted_file_size                     AS decrypted_file_size,
+       decrypted_file_checksum                 AS decrypted_file_checksum,
+       decrypted_file_checksum_type            AS decrypted_file_checksum_type,

Cleaning that up will be a different PR, though.


[MX-518] feat: add auction lots filtering

The type of this PR is: Feature
This PR resolves MX-518
Description
Add auction lots filters

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)

Maybe remove the Jira reference from the PR title? 😬


⚠ Spryr has degraded performance

In 5d0c476, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 4330 ms

Resolved: Spryr performance has improved in 5e423c3 after 7 minutes.


Set committer and author to be GitHub

We can but then it will not have a GitHub user associated with it. It will also not display [bot]. I think this is the right solution.

It will display like this: https://github.com/wpilibsuite/frc-docs/pull/746


Fixes 2261. Windows & NetDriver use incorrect ESC code to clear buffer when exiting

Fixes #2261 -
The fix is to emit [0J instead of [3J

@tig this only solves when you exit the app, but if buffer as height is false, when you runni

@tig this only solves when you exit the app, but if buffer as height is false, when you running the app you can scroll and you shouldn't. Here you needed the 3j. I'll work on it today.

I don't understand this at all. I don't see the app scrolling. This code is only emitted when the app exits, so it should have no impact while the app is running.

I don't understand this at all. I don't see the app scrolling. This code is only emitted when the app exits, so it should have no impact while the app is running.

I'm talking about this:

I think you would want like this:

This isn't working well with Windows Terminal due to this issue https://github.com/microsoft/terminal/issues/14568.

Got it. I now understand. Thank you.
For now, until #5094  is fixed by the WT team, I think the behavior shown in your first video is preferrable to clearing the buffer and causing what I (and @kingzawar, apparently) think data loss.
Make sure y'all thumbs-up #5094 so the Terminal team takes it seriously.

Got it. I now understand. Thank you.
For now, until #5094 is fixed by the WT team, I think the behavior shown in your first video is preferrable to clearing the buffer and causing what I (and @kingzawar, apparently) think data loss.
Make sure y'all thumbs-up #5094 so the Terminal team takes it seriously.

The CSI 8;n;mt for resize is good when we want to have the buffer size equal to window size. But if you want to have a buffer size greater than the window size, then we can't use it because it'll always set the window size. I couldn't find a escape sequence that set the terminal buffer size.

Got it. I now understand. Thank you.
For now, until #5094 is fixed by the WT team, I think the behavior shown in your first video is preferrable to clearing the buffer and causing what I (and @kingzawar, apparently) think data loss.
Make sure y'all thumbs-up #5094 so the Terminal team takes it seriously.

The CSI 8;n;mt for resize is good when we want to have the buffer size equal to window size. But if you want to have a buffer size greater than the window size, then we can't use it because it'll always set the window size. I couldn't find a escape sequence that set the terminal buffer size.

I think I understand you.
However, what I don't know is how often people want a buffer size that's different than the window size. I suspect it's a very rare use case?

I think I understand you.
However, what I don't know is how often people want a buffer size that's different than the window size. I suspect it's a very rare use case?

Not exactly. See the example of the second video where I enabled the BufferAsHeight and reduced the window size but I still can get see all the rows by using the vertical scroll.

I think I understand you.
However, what I don't know is how often people want a buffer size that's different than the window size. I suspect it's a very rare use case?

Not exactly. See the example of the second video where I enabled the BufferAsHeight and reduced the window size but I still can see all the rows by using the vertical scroll.

But WHY would someone want to enable HeightAsBuffer? The API docs are confusing to me.
I'm sorry if I am being persistent on this, but I sincerely do not understand (and never have) the use case. This is likely just me being slow.

But WHY would someone want to enable HeightAsBuffer? The API docs are confusing to me.
I'm sorry if I am being persistent on this, but I sincerely do not understand (and never have) the use case. This is likely just me being slow.

It's only an option. Why the author opened issue? Because it was clearing the historic after exit the app. But, why he needs to scroll to see the historic? Well, before I fixed the window resize on the WindowsDriver, it only used the buffer size.
I was preparing a fix for this that was by using the escape sequence CSI ?1049h on the Init method to enable alternative screen buffer and CSI ?1049l on the End method to disable alternative screen buffer. In practice it save the original screen buffer before start the app and restore the original screen buffer after exit the app. Do you still want I open a PR to this branch or it not worth?

If one were to re-write the API docs for HeightAsBuffer to accurately reflect what it does what would they say?
Application.HeightAsBuffer currently reads as
		/// <summary>
		/// The current <see cref="ConsoleDriver.HeightAsBuffer"/> used in the terminal.
		/// </summary>
		public static bool HeightAsBuffer {

ConsoleDriver.HeightAsBuffer currently reads as:
		/// <summary>
		/// If false height is measured by the window height and thus no scrolling.
		/// If true then height is measured by the buffer height, enabling scrolling.
		/// </summary>
		public abstract bool HeightAsBuffer { get; set; }

"If set to false (the default), the height of the Terminal.Gui application's top-most, TopLevel will be resized to match the visible console size if the console is resized and the console will not scroll. If set to true, the height of the Terminal.Gui application's top-most, TopLevel, will not resize when the console is resized and the console can be scrolled."
Is that correct? If not, please re-write it so that it is correct.

	/// <summary>
	/// If false height is measured by the window height and thus no scrolling.
	/// If true then height is measured by the buffer height, enabling scrolling.
	/// </summary>
	public abstract bool HeightAsBuffer { get; set; }

This definition is perfectly wright. Should be copied to the Application.HeightAsBuffer too?

		/// <summary>
		/// If false height is measured by the window height and thus no scrolling.
		/// If true then height is measured by the buffer height, enabling scrolling.
		/// </summary>
		public abstract bool HeightAsBuffer { get; set; }

This definition is perfectly right. Should be copied to the Application.HeightAsBuffer too?
It may be perfectly right, but I find it VERY confusing and unclear.

It is not clear what 'height' refers to. Is it the height of the ConsoleDriver Contents (e.g. Rows)? Or is it the height of Application.Top?
It is not clear what window refers to. Is it the height of Application.Top or is it the height of the visible console view (or both)?
It is not clear what buffer is. Is it the console's scroll-back buffer? Or is it the buffer for the visible console view (e.g. for WindowsConsole, the buffer managed by SetConsoleOutputWindow? Or something else?
It is not clear that scrolling refers to scrolling the console (and not within the app).
It is not clear what scrolling has to do with any of this.

Would it have made more sense to name this property "EnableConsoleScrolling"?
I'm not challenging or disagreeing with you. I seriously do not understand how this is supposed to work.

		/// <summary>
		/// If false height is measured by the window height and thus no scrolling.
		/// If true then height is measured by the buffer height, enabling scrolling.
		/// </summary>
		public abstract bool HeightAsBuffer { get; set; }

This definition is perfectly right. Should be copied to the Application.HeightAsBuffer too?
It may be perfectly right, but I find it VERY confusing and unclear.
* It is not clear what 'height' refers to. Is it the height of the ConsoleDriver `Contents` (e.g. `Rows`)? Or is it the height of `Application.Top`?

Refers to the Rows.

* It is not clear what `window` refers to. Is it the height of `Application.Top` or is it the height of the visible console view (or both)?

It's the visible console view.

* It is not clear what `buffer` is. Is it the console's scroll-back buffer? Or is it the buffer for the visible console view (e.g. for `WindowsConsole`, the buffer managed by `SetConsoleOutputWindow`? Or something else?

It's the Rows length.

* It is not clear that scrolling refers to scrolling the console (and not within the app).

Refers scrolling the console within the app.

* It is not clear what scrolling has to do with any of this.

Scrolling the console within the app allows view all the available rows.

Would it have made more sense to name this property "EnableConsoleScrolling"?

Perhaps is better. I leave that up to you.

I'm not challenging or disagreeing with you. I seriously do not understand how this is supposed to work.

No problem. I hope you now understanding all my concern about this. Thanks.

No problem. I hope you now understanding all my concern about this. Thanks.

I would appreciate it if you used your answers above to recraft the API documentation for HeightAsBuffer so that it is more clear and complete.

I would appreciate it if you used your answers above to recraft the API documentation for HeightAsBuffer so that it is more clear and complete.

I will in both, ConsoleDriver and Application. In WindowsDriver it's already working as expected but I'm facing some problems with NetDriver and CursesDriver. I'll continue try to find the solution.

I would appreciate it if you used your answers above to recraft the API documentation for HeightAsBuffer so that it is more clear and complete.

I will in both, ConsoleDriver and Application. In WindowsDriver it's already working as expected but I'm facing some problems with NetDriver and CursesDriver. I'll continue try to find the solution.

Could you draft it here in a comment first?

Could you draft it here in a comment first?

Sure and please make the changes needed.
In ConsoleDriver.cs:
		/// <summary>
		/// If <see langword="false"/> height sets to <see cref="Rows"/> is measured by the window height
		/// and thus no scrolling, showing all the available <see cref="Rows"/> contents.
		/// If <see langword="true"/> then height sets to <see cref="Rows"/> is measured by the buffer height,
		/// enabling scrolling within the app to allow showing all the <see cref="Rows"/> contents
		/// in the visible console window height for the current scrolling view-port.
		/// </summary>
		public abstract bool HeightAsBuffer { get; set; }

In Application.cs:
		/// <summary>
		/// The current <see cref="ConsoleDriver.HeightAsBuffer"/> used in the terminal.
		/// </summary>
		/// <remarks>
		/// If <see langword="false"/> height sets to <see cref="ConsoleDriver.Rows"/> is measured by the window height
		/// and thus no scrolling, showing all the available <see cref="ConsoleDriver.Rows"/> contents.
		/// If <see langword="true"/> then height sets to <see cref="ConsoleDriver.Rows"/> is measured by the buffer height,
		/// enabling scrolling within the app to allow showing all the <see cref="ConsoleDriver.Rows"/> contents
		/// in the visible console window height for the current scrolling view-port.
		/// </remarks>
		public static bool HeightAsBuffer {

I edited your post. Is it still accurate?

I edited your post. Is it still accurate?

Only this is incorrect:
                /// If <see langword="true"/> then height of the Terminal.Gui application <see cref="Rows"/> does not
                /// change when the console is resized (it stays the same value it was set to at application startup).

The height only changes if the current height after resizing is greater than the current Rows. So, it may be different than the value it was set to at application startup. Another observation is it depends of when the HeightAsBuffer is toggled from false to true. If HeightAsBuffer is false and Rows is equal to 10, toggling HeightAsBuffer to true the minimum Rows is 10 on window shrink. If the window is expanded to 20, then the Rows will be also equal to 20 and will maintain this will if window is shrink. If HeightAsBuffer is toggled to true Rows will be equal to window height again.
Please do the changes you think more appropriate.

@tig I sent the PR https://github.com/tig/Terminal.Gui/pull/8 which is currently working on Windows. Also the scroll bar is only hidden when the app is running and HeightAsBuffer is false, but is restored when returned to the console after exit the app. When the app is running the scroll is only showed on Windows when HeightAsBuffer is true.

Hey @BDisp,
I'm playing with https://github.com/tig/Terminal.Gui/pull/8 merged in to this and regardless of what I set _heightAsBuffer/_enableConsoleScrolling in UICatalog to, I get the same behavior: The vertical scroll bar in Windows Terminal is always active, and scrolling works.
The only difference in behavior I see is on resize:

When false UICatalog resizes when the console is made bigger OR smaller vertically

When true UI Catalog only resizes when then console is made bigger.

I like the behavior, but I think I confused you or you confused me on creating the new name for the property.
If this is the correct behavior, then the property means "Do Not Shrink Vertically On Console Resize`.
Am I now (finally) thinking of this correctly?
If so, I will update the property name and API docs in this PR to:
/// <summary>
/// Prevents the application window from shrinking vertically when the terminal is resized smaller. Tracks <see cref="ConsoleDriver.NoVerticalShrink"/>.
/// </summary>
/// <remarks>
/// <para>
/// If <see langword="false"/> (the default) the height of the Terminal.Gui application (<see cref="ConsoleDriver.Rows"/>)
/// tracks to the height of the visible terminal view when the terminal is resized. In this case
// all <see cref="ConsoleDriver.Rows"/> will remain visible regardless of the vertical size of the terminal.
/// </para>
/// <para>
/// If <see langword="true"/> then height of the Terminal.Gui application <see cref="ConsoleDriver.Rows"/> only tracks
/// the visible terminal height when the terminal is made larger (the application will only grow in height, never shrink).
/// </para>
/// This API was previously named 'HeightAsBuffer` but was renamed to clarify its purpose.
/// </remarks>
public static bool NoVerticalShrink {

What do you think?

@tig sorry I didn't test with Windows Terminal, but only with cmd, conhost and powershell. I removed the
			Console.Out.Write ("\x1b[3J");
			Console.Out.Flush ();

because it wasn't needed on those consoles, as it was echoing to the console buffer after exit. But with the Windows Terminal is needed. But please, believe me, you must use the "\x1b[3J", otherwise the scrolling of the original buffer isn't cleaned. The problem is it isn't allowing resizing the buffer size. Do you remember the issue on the terminal repo?
I'll submit a new PR with the fix, but remember that the scrolling will not working on the Windows Trerminal until they decide allowing resizing the buffer. So, I don't agree with changing to NoVerticalShrink because is a Windows Trerminal issue.

@tig  here is the fix https://github.com/tig/Terminal.Gui/pull/9.

The NetDriver is also having issue in Windows Terminal on resizing causing some lines not be drawing after exceptions. I'll commit a fix in your branch on the same PR.
Before:

After:

The Windows Terminal buffer resize is discussing here.

@tig sorry I didn't test with Windows Terminal, but only with cmd, conhost and powershell. I removed the
			Console.Out.Write ("\x1b[3J");
			Console.Out.Flush ();

because it wasn't needed on those consoles, as it was echoing to the console buffer after exit. But with the Windows Terminal is needed. But please, believe me, you must use the "\x1b[3J", otherwise the scrolling of the original buffer isn't cleaned. The problem is Windows Terminal isn't allowing resizing the buffer size. Do you remember the issue on the terminal repo? I'll submit a new PR with the fix, but remember that the scrolling will not working on the Windows Trerminal until they decide allowing resizing the buffer. So, I don't agree with changing to NoVerticalShrink because is a Windows Trerminal issue.

Because the Console that's being written to is now the alternate frame buffer, emitting [3J only clears the alternate frame buffer.
Thus the bug reported in #2261 is fixed (in Windows Terminal) by your updates; The scroll buffer is not deleted when the Terminal.Gui app exits.
However, in cmd.exe, when the Terminal.Gui app exits, garbage is printed (WindowsDriver) and the scrollback buffer is nuked:

With -usc in cmd.exe no garbage is printed, and the scrollback buffer seems ok, but the prompt goes in the wrong place:

Curses under WSL in cmd.exe works as expected:

In ConEmu, the scrollback buffer is deleted with and without -usc.
So this bug is still not fixed for:

cmd.exe
ConEmu

@BDisp Why are you using ESC [ ? 1049 h instead of ESC [ ? 1047 h?
I have found Windows Terminal works as expected if ESC [ ? 1047 h and ESC [ ? 1047 l are used and ESC [ n J is NOT used at all!
I also removed all calls to Console.Out.Flush() because I couldn't see it having any impact.

This does not fix cmd.exe or ConEmu though.
BUT: Even with v1.6.4 the backscroll buffer doesn't work in cmd.exe and ConEmu.

However, in cmd.exe, when the Terminal.Gui app exits, garbage is printed (WindowsDriver) and the scrollback buffer is nuked:

That what I referred when I said that with cmd, conhost and powershell, was echoing to the console buffer after exit using WindowsDriver. The escape sequence is only recognized on Windows Terminal. A workaround is a way that recognize the app is using the Windows Terminal and in this case apply the escape sequences. The scrollback buffer is nuked because of the expose reasons and the solution might be some other solution that not use escape sequences but only Win32 Api.

With -usc in cmd.exe no garbage is printed, and the scrollback buffer seems ok, but the prompt goes in the wrong place:

The prompt goes to wrong place on exit if the app did some resizing. I think that because the virtual terminal of the Win32 console and the System.Console aren't processing well the escape sequences, like CursesDriver does on WSL.

@BDisp Why are you using ESC [ ? 1049 h instead of ESC [ ? 1047 h?

Because the ESC [ ? 1049 h saves the cursor.

I have found Windows Terminal works as expected if ESC [ ? 1047 h and ESC [ ? 1047 l are used and ESC [ n J is NOT used at all!

The ESC [ n J is only needed if EnableConsoleScrolling is false, to clear the buffer of the app and not the original saved .

I also removed all calls to Console.Out.Flush() because I couldn't see it having any impact.

Maybe the Console.AutoFlush is enabled and thus the Console.Out.Flush() isn't needed.
@tig that isn't the behavior expected by the app. On the app we only want to scroll if EnableConsoleScrolling is enabled, through our app and not through the saved buffer. On your video you didn't do any resize. Try do it and you'll the garbage when scrolling while the app is running. The user who open the issue only reported that the original buffer and thus if it's greater than the windows size, the vertical scroll bar. I don't think he, and us, of course, don't want to see other buffer than the one generated by the app.

@tig that isn't the behavior expected by the app. On the app we only want to scroll if EnableConsoleScrolling is enabled, through our app and not through the saved buffer. On your video you didn't do any resize. Try do it and you'll the garbage when scrolling while the app is running. The user who open the issue only reported that the original buffer disappeared and thus if it's greater than the windows size, also the vertical scroll bar. I don't think he, and us, of course, while app is running, don't want to see other buffer than the one generated by the app.

I disagree.
The way Terminal.Gui worked from v1.6.4 and earlier was as follows:

The default behavior (HeightAsBuffer = false) was

the app would fill the terminal and any resizing would resize the app.
If the terminal had scroll bars (some do; some don't) and the user scrolled up, they could see the scrollback buffer
Exiting the app would PRESERVE the scrollback buffer

If HeightAsBuffer = true

the app would fill the terminal and resizing vertically would grow the app, but never shrink it
If the terminal had scroll bars (some do; some don't) and the user scrolled up, they could see the scrollback buffer.
Scrolling after changing the size of the terminal would cause garbage
Exiting the app would PRESERVE the scrollback buffer (but sometimes with some garbage).

MOST IMPORTANTLY: when the app exited, in EITHER case, the scrollback buffer was NOT cleared.
I assert HeightAsBuffer has never really worked well (at least on Windows).
Only a few users set HeightAsBuffer to true. Most do not use it.
Most of our users are on Windows, and Windows Terminal is now the default terminal for Windows.
With my latest push, I believe things are working properly on Windows Terminal (our most important terminal on Windows) with the exception of Windows Terminal not really honoring the alternative screen buffer (and corrupting the scrollback buffer) when resizing.
Users do not want the scrollback buffer cleared by a console app running (except the cls command).  They also don't want the scrollback buffer corrupted. But if they don't resize the terminal, the current code doesn't clear the scrollback buffer when the app exits.
The fact that conhost/cmd.exe doesn't handle the esc sequences and prints them is annoying. if we can find a way to detect the terminal, that would be great.
The fact that conemu acts weird is annoying, but conemu is just weird, IMO.
Can you show me an example of EnableConsoleScrolling = true on any platform that is working correctly?

@tig if you happy with this, no problem. Though Windows Terminal is the default terminal on Windows, doesn't mean that everything is well done. It's working well on cmd, conhost and powershell, despite the echoing Ansi Escape Codes, which is better than the Windows Terminal garbage does. But for me I'll not talk more about this,

@BDisp Can you show me an example of HeightAsBuffer/EnableConsoleScrolling = true on a platform other than Windows/Windows Terminal that is working as you expect?
Here's Debian/xterm/CursesDriver (using develop):

It has no effect.
Debian/xterm/NetDriver behaves identically (HeightAsBuffer has no effect).

@BDisp Can you show me an example of HeightAsBuffer/EnableConsoleScrolling = true on a platform other than Windows/Windows Terminal that is working as you expect?

With cmd has the ansi escape code echos but is less garbage than Windows Terminal.

It has no effect.
Debian/xterm/NetDriver behaves identically (HeightAsBuffer has no effect).

On WSL the CursesDriver only use the LINES equal to windows height and the NetDriver also only uses the windows height. But I think there is some ansi escape code that can set the buffer height greater than the windows height.

@BDisp Can you show me an example of HeightAsBuffer/EnableConsoleScrolling = true on a platform other than Windows/Windows Terminal that is working as you expect?

With cmd has the ansi escape code echos but is less garbage than Windows Terminal.

It has no effect.
Debian/xterm/NetDriver behaves identically (HeightAsBuffer has no effect).

On WSL the CursesDriver only use the LINES equal to windows height and the NetDriver also only uses the windows height. But I think there is some ansi escape code that can set the buffer height greater than the windows height.

So, if I understand you correctly (and this is backed by my tests):

The "HeightAsBuffer"/"EnableConsoleScrolling" feature only works on Windows.
When used on Windows Terminal, scrolling is always enabled, the only difference is the app will grow, but never shink vertically.
When used on cmd.exe, setting it to false enables the scroll bar.
The setting has no effect on the CursesDriver on Windows or Linux

I've now tried 2 different Linux terminals (xterm and terminator) and I have fixed all issues having to with THIS issue (independent of HeightAsBuffer). Please review my code.
I also took the liberty of fixing the formatting in all the ConsoleDrivers files and removing extraneous comments since so many of the files were already touched.

So, if I understand you correctly (and this is backed by my tests):
* The "HeightAsBuffer"/"EnableConsoleScrolling" feature only works on Windows.

For now yes. My intention is also use a workaround on Unix to add new lines after the windows bottom while the Rows is greater than the windows height. I also want to use ansi escape to request the windows size, but this is only working on a real Linux and not on Windows and WSL.

* When used on Windows Terminal, scrolling is always enabled, the only difference is the app will grow, but never shink vertically.

Negative. The scrolling is only enabled if the EnableConsoleScrolling property is enabled, otherwise the app will never scroll. If EnableConsoleScrolling is disabled and the scroll bar is visible before start the Terminal.Gui app, the scroll bar will be disabled when the app start and the scroll bar will be restored after exit the app, making it visible if it was already visible before. If the EnableConsoleScrolling is enabled and the scroll bar is visible before start the Terminal.Gui app, the scroll bar will be disabled when the app start. If the window is shrunken the scroll bar will be visible and we can scroll between our app, in the case of UICatalog will be possible to scroll between the menu bar and the status bar, but never the scrollback buffer while app is running. After exit the app the scroll bar will be visible, if it was visible before, to allow scrollback buffer.

* When used on cmd.exe, setting it to false enables the scroll bar.

False, it shouldn't. Only must enable the scroll bar if the EnableConsoleScrolling property is enabled. Remember that setting to true the scroll bar isn't show immediately, but when the windows is shrunken. When the window is expanded until the windows height is equal to Rows, the scroll bar is invisible and if is shrunken again the scroll bar is visible again.

* The setting has no effect on the CursesDriver on Windows or Linux

For now isn't working but as I said above maybe is possible to make it work. The behavior is intended to make it work with all terminal, but sometimes there are some incompatibilities

I've now tried 2 different Linux terminals (xterm and terminator) and I have fixed all issues having to with THIS issue (independent of HeightAsBuffer). Please review my code.

You have to be more specific and explain what was bad and now it's working. I know that as I said that scrolling wasn't working on Linux if EnableConsoleScrolling property is enabled.

I also took the liberty of fixing the formatting in all the ConsoleDrivers files and removing extraneous comments since so many of the files were already touched.

I agree, it was needed but you know I'm not nothing good with docs :-)
PS: When I create the HeightAsBuffer, now EnableConsoleScrolling, was with the intentions I described above. If you want to give another behavior than that, then I disagree, but it is in your hand decide.

@tig but I admit another scenario for the vertical scroll bar behavior, like an enum:
public enum VerticalScrollBehavior {
	// No scroll at all.
	None,
	// Only allow scrolling into the app.
	AppScrolling,
	// Allow scrolling on all scrollback buffer (original buffer more app buffer)
	// This allows an app write to the console preserving with all scrollback buffer.
	ScrollBackBuffer
}

We need to retarget this PR at the v2_develop branch or delete it if it's already been merged via other PRs. I don't remember.

I'm going to get back to working on this asap. I think this may be worth taking into develop / v1, so I've tagged it as such.
Please debate if you don't agree.

WindowsDriver: was emitting ESC [3J on both Resize and End. This always clears the scrollback buffer (even if the alternative screen buffer is activated).
NetDriver: was emitting ESC [3J.
CursesDriver; was emitting ESC [3J instead of calling Curses.refresh() in resize.

We were using ESC [ ? 1049 h/l to activate the alternative buffer in both WindowsDriver and NetDriver. Changed this to ESC [ ? 1047 h/l because it is less destructive (doesn't mess with the cursor) and simply works better on Windows Terminal.

I can't remember what we finally decided to do here.

NetDriver is still using [?1049h; WindowsDriver is using 1047 and I think NetDriver should as well.
WindowsDrivder is still emittting [?3J in ResizeScreen (for EnableconsoleScrolling); I think it should be using [0J?.

The only other thing in that was in this PR, that does not appear to be in v2_develop is the code added to UpdateScreen that prevents writing to the console if SetCursorPos failed. I don't know what that is for.
@bdiisp, do you have an opinion on what we should do with this PR?

If EnableconsoleScrolling is enabled the app can scroll through the console (note that is the app scrolling, not the content existing before the app running). The [?3J allows all the scroll-back is cleared before update screen the app. But, also before that was only working on conhost and not on Windows Terminal (because doesn't allows resize the console buffer by code). The [?1049h and ?1049l allows save and restore the original screen buffer. Now I don't know how it's.

Dupe of #2764