Scroll Bar fail ?

Hi ! And thank's for this great tool :+1:  !
I'm not shure if this is the right place to write (Sorry).
I try to make a grid with all day of one month but fields exceed size of the  use by the grid.
Usually a horizontal scroll bar appear automatically ?
Cause it don't work for me :/
Other question, as you can see in my code I don't know if i have to use dowload files here on Github (Master) or 1-5-3 version ....
In the two case grid appear but scroll bar no..
In my head

<link type="text/css" rel="stylesheet" href="files/script/jsgrid-1.5.3/jsgrid.min.css" />
<link type="text/css" rel="stylesheet" href="files/script/jsgrid-1.5.3/jsgrid-theme.min.css" />

or ?
<link type="text/css" rel="stylesheet" href="files/script/jsgrid-master/css/jsgrid.css" />
<link type="text/css" rel="stylesheet" href="files/script/jsgrid-master/css/theme.css" />

or ?

My div :

My script :
//build grid
			$("#jsGrid").jsGrid({
			width: "80%",
			height: "500px",
			inserting: true,
			editing: true,
			sorting: true,
			paging: true,
			fields: [
			{ name: "Name", type: "text", width: 150, validate: "required"},
			{name : "L-1", type: "manday", width: 90},
			{name : "Ma-2", type: "manday", width: 90},
			{name : "Me-3", type: "manday", width: 90},
			{name : "J-4", type: "manday", width: 90},
			{name : "V-5", type: "manday", width: 90},
			.
			. //All days
			.
			{ type: "control" , width : 10 }]});

PS : Excuse my english (I'm French ^^ )

Yes, horizontal bar should appear automatically. Please provide a page with public access to show the problem (jsfiddle or any other way).
As for scripts checkout the Getting Started section of the project website http://js-grid.com/getting-started/

Thank's for the help !
Here the link : https://jsfiddle.net/rhwxue73/
Hope you can help me ^^ It's for an important project !

Once you have data in the grid it works https://jsfiddle.net/c6wtLmc0/
Do you want your empty table header to be scrollable?

Oh thank's ! :D
And yeah, if it's possible I want a scrollbar in my empty table !

Opened another issue for the bug.

In order to fix this I have edited main jsgrid css where webkit scrollbars are hidden with a specific css rule, search and remove all webkit-scrollbar rules and set overflow-x: scroll on .jsgrid-grid-header and .jsgrid-grid-body


Restore -Werror compile flag for developer options

See: 3051d3b18469751db1256559714ae99172613b01

Still broken. See: mongodb/mongo-c-driver#256


Release v1.0.3

Change Log
Bug Fixes

Fixes no followers/following bug

Improvements

Combines black and pyflakes into one workflow

New Features

Adds update checking

Adds argument logging for better debugging

Added ability to “small swipe” in case you only need to swipe a little

Improves clicking and double clicking function

Adds debug data for click location

Fixes bug with filtering

Fixes bug when user has a shop button

Fixes a bug where you would follow someone back if they already followed you

Cleans up remains of remove-mass-followers. This may be added back at some point

Fixes bug where hashtag could not be found on compact screens

Fixes unfollow confirmation screen in new UI and simplifies check

Adds (disabled) dubugging plugin

Adds example filter file

Change Log
Bug Fixes

:bug: Fixes bug when you have no followers/following
:bug: Fixes bug with filtering
:bug: Fixes bug when user has a shop button
:bug: Fixes bug where you would follow someone back if they already followed you
:bug: Fixes bug where hashtag could not be found on compact screens
:bug: Fixes bug with unfollow confirmation screen in new UI and simplifies check

Improvements

✅ Combines black and pyflakes into one workflow
:neckbeard: Improves clicking and double clicking function
📝 Cleans remains of remove-mass-followers. This may be added back at some point
:neckbeard: Adds ability to “small swipe” in case you only need to swipe a little
🐈 Adds argument logging for better debugging
🐈 Adds click location for better debugging

New Features

🎁 Adds update checking
🎁 Adds example filter file
🎁 Adds (disabled) debugging plugin

✅ I can't approve my own PR, but I'm ready to release.

Good job to everyone involved!!


Payment options bar wrong styled

Hi guys, testing the project i viewed this:

Paypal buttons as checkout button are out of properly bar.
This will be a styles bug.

This issue related to the django-oscar-paypal package, please submit it to the appropriate repository. Thanks.

Why are you sure about it?


[FEEDBACK]: apiPort setting is not available in devproxyrc.json

Type of issue
Outdated article
Feedback
The documentation mentions various proxy settings but does not include information about the apiPort setting in devproxyrc.json. It would be helpful to clarify if this setting is supported or intended to be configurable in devproxyrc.json. If not, please update the documentation to explicitly state its absence to avoid confusion.
Link to documentation: Proxy Settings - Microsoft Learn
Thank you for your attention!
Page URL
https://learn.microsoft.com/en-us/microsoft-cloud/dev/dev-proxy/technical-reference/proxy-settings
Content source URL
https://github.com/MicrosoftDocs/microsoft-cloud/blob/main/docs/dev/dev-proxy/technical-reference/proxy-settings.md
Author
@garrytrinder
Document Id
6004001f-4791-7ca2-9818-d788175f3f4b

Thank you for reaching out. apiPort is the first setting mentioned in the doc:

Because it's included in this listing, it means that it can be configured in devproxyrc.json. Or am I misunderstanding your comment and you mean something else? 🙂

The apiPort is not available on the schema of the config file https://github.com/microsoft/dev-proxy/blob/main/schemas/v0.23.0/rc.schema.json, and when I was trying to set the apiPort in the config, devproxy was not working for me. Given these circumstances, I was confused whether the documentation needs to be updated.

Understood, thank you for clarifying. Let me verify it and I'll get back to you when I know more.

apiPort missing in the schema is a bug and we'll fix it asap

If I specify apiPort in Dev Proxy config, it seems to be working just fine:

Could you please share with me your repro steps?


Add Mod and refactor to smaller files

Next to adding Mod, I also refactored quite a bit to avoid having very large files. If you don't want this as part of this PR let me know.

Codecov Report

Merging #296 (acbb8ff) into master (ac75fc0) will increase coverage by 0.55%.
The diff coverage is 24.89%.

@@            Coverage Diff             @@
##           master     #296      +/-   ##
==========================================
+ Coverage   14.52%   15.08%   +0.55%
==========================================
  Files           7       17      +10
  Lines        1005      696     -309
  Branches      147       92      -55
==========================================
- Hits          146      105      -41
+ Misses        851      591     -260
+ Partials        8        0       -8

Impacted Files
Coverage Δ

src/common/types.ts
71.42% <ø> (ø)

src/panel/states.ts
16.56% <ø> (ø)

src/panel/basepettype.ts
2.87% <2.87%> (ø)

src/panel/pets/rocky.ts
37.50% <37.50%> (ø)

src/panel/pets/cat.ts
42.85% <42.85%> (ø)

src/panel/pets/clippy.ts
42.85% <42.85%> (ø)

src/panel/pets/cockatiel.ts
42.85% <42.85%> (ø)

src/panel/pets/crab.ts
42.85% <42.85%> (ø)

src/panel/pets/dog.ts
42.85% <42.85%> (ø)

src/panel/pets/mod.ts
42.85% <42.85%> (ø)

... and 10 more

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

Adjusted the English description of mod, so it says "Mod (the .NET bot)" in the dropdown to aid discoverability.

Great contribution! Thanks Marc


Native Notebooks - Moving non-consecutive cells only moves the second

VS Code Version: 1.61.0 - insider
OS Version: Windows
Steps to Reproduce:

Open Notebook
Multiselect two cells that are not consecutive
Drag and drop cells
Only the second gets moved

*Special Note: This issue does not occur if you multiselect cells that are consecutive

This seems to be by design. That makes sense to me, it feels weird to move a non-consecutive multiselection and have those cells put next to each other. I don't think I would actually do that. But moving a chunk of cells next to each other makes more sense to me. Can revisit if you disagree.

Actually, it might feel more weird that I have some cell selected that aren't affected by the drag. You can do this kind of thing in windows explorer, although it's different when order matters.

Working on this, but the math is hard


Add inital README.md and 0000-template.md

This adds the intial README.md and 0000-template.md, copied from the Rust RFCs repository and then modified for our purposes.

Updated typo in commit message.

This should probably be a squash commit. The intermediate revisions of these files don't matter.

The commits make it clear what initially came from the Rust RFCs repository versus what modifications we made in this repository.

Pushed fixes to make 0000-template.md more Sawtooth appropriate.  Also wrapped lines at <80 characters in 0000-template.md.
Intentionally not squashing commits as we would do in other repos, in the spirit of the RFC process as described, which forbids squashing on RFC PRs.

More Rust RFCs->Sawtooth RFCs text updates.
Wishing I could hide the iteration with squash commits, but resisting.

Looks like all of my comments were on lines that got changed in later commits. For clarity, I will re-add the ones that haven't been addressed.

We will be proposing a sub-team/maintainer model as an RFC using this process as part the bootstrap of the process, so all the sub-team stuff is important. This roughly breaks down across repo lines (so supply chain sub-team will differ from the core sub-team, etc.).

@vaporos Should we add a subteam for each repo then on line 72 of the Readme?

Changes to address feedback from @delventhalz added.

@delventhalz We will fill in specific rules for core in a subsequent, more focused PR; we include the link here as an example and because we know we have special rules to write up (around API changes, etc.).  We can leave additional sub-team rules (if they exist for that sub-team) to those sub-teams once they have been defined.

Changed 'feature' to 'change' or 'major change' per Anne's comment.


[Error] the official demo site cannot be logged in with an admin account

the demo site
Account: admin
Password: 123
Logging in will get an error.

@Mcayear see clarification for the two demo sites: https://github.com/casdoor/casdoor?tab=readme-ov-file#online-demo


Chocolatey: Upgrade packaging to 2.1.0.

Chocolatey offers a variety of JREs and JDKs but doesn't support alternate
dependencies[1]. Remove the jre8 dependency for now.
[1] https://github.com/chocolatey/choco/issues/879

Thanks! 🙏


What is "can't connect, no HF2 nor JDUSB" and how to handle it

I apologize for posting this here on GitHub issue.

What is "can't connect, no HF2 nor JDUSB" and how to handle it
Hello?
I have a question because I've been trying to do something with devicescript, but it's not working properly.
I failed to establish a serial connection to "ESP32-C3" board with an error message "can't connect, no HF2 nor JDUSB"
I'm not actually someone who works with devices professionally. I just wanted to try it out as a hobby. Instead of writing in C code, it seems that using TypeScript is an easier approach, so I wanted to give devicescript a try.
Therefore, I find it difficult to understand the meaning of that message and also uncertain about what steps to take next to resolve the issue.
An I also looked at the troubleshooting section in this link, but I couldn't understand at all.
If you could give me a rough idea of what steps I should take, I'll do my best to follow them.
If there's any way I can contribute to resolving the issue, please let me know, and I'll be happy to help.
Environment
I am a macOS user. (Ventura, Apple M1 Pro)
The board I have is "ESP32-C3-DevKitC-02" as shown in the image below. it belongs to the ESP32-C3 series.

I can supply power through USB and establish serial communication by connecting to the UART, as shown below.

Just in case it might work, I also tried connecting it as shown in the picture below.

What I have tried

I used the Arduino IDE to flash and run ESP32 example code on the board (It worked.)
The board doesn't match exactly, but I selected Espressif ESP32-C3 (bare) and also tried flashing it.

However, when attempting to establish a serial connection, it doesn't work.

Related

https://microsoft.github.io/devicescript/devices/esp32#cant-connect-no-hf2-nor-jdusb
https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/get-started/establish-serial-connection.html

moved to https://github.com/microsoft/devicescript/discussions/447


[DM-28993] Bump service versions

Install new versions of checkerboard, neophile, ook, safirdemo,
and segwarides to pick up refreshed dependencies.  The
segwarides Kustomize manifest now pins its Docker version to the
current release, so we don't need to do that in Roundtable.

Actually, never mind on the review -- this is just a version bump so I'm going to self-merge.


Compile error with Apple Clang

At the time of writing, Sol on develop branch (commit d363ccd759b2c0335e046eedc0c71c0b8ecadc62) doesn't compile for me with Apple Clang, on macOS Catalina 10.15.7.
I ran single/single.py to regenerate the Sol header files, and then encountered the following error when compiling my project:
.../include/sol/sol.hpp:24575:16: error: non-const lvalue reference to type 'sol::function' (aka       'basic_function<basic_reference<false>, false>') cannot bind to a value of unrelated type 'sol::basic_protected_function<sol::basic_reference<false>,       false, sol::basic_reference<false> >'                                         function& pairs_function = *maybe_pairs_function;
Apple Clang version:
~ ❯ clang -v Apple clang version 12.0.0 (clang-1<IP_ADDRESS>) Target: x86_64-apple-darwin19.6.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
I took a look at the 'errors' page in the Sol docs, but didn't spot anything applicable.
The previous commit that I had been using from develop branch (68fd0c0166ffda2bd2a0293ce9adcaf8f36f9382, 7 commits behind the latest) compiles fine on Apple Clang, so I have reverted to that for now.
Finally, thank you for your hard work on developing/maintaining this excellent library.

Sorry about that, fixed in latest!

Sorry about that, fixed in latest!


TypeError: unsupported operand type(s) for *: 'int' and 'ENUCoordinate' when toggle RSS visualization

Run Carla 0.9.11_RSS
Run manual_control_rss.py
In game window press F2

OBSERVED in logs:
Destroyed RSS sensor
File "/mnt/old/home/alexey/Downloads/CARLA_0.9.11_RSS/PythonAPI/examples/rss/rss_sensor.py", line 412, in _on_rss_response
self.debug_visualizer.tick(self.route, not response.proper_response.isSafe,
File "/mnt/old/home/alexey/Downloads/CARLA_0.9.11_RSS/PythonAPI/examples/rss/rss_visualization.py", line 621, in tick
self.visualize_route(dangerous, route)
File "/mnt/old/home/alexey/Downloads/CARLA_0.9.11_RSS/PythonAPI/examples/rss/rss_visualization.py", line 648, in visualize_route
self.visualize_enu_edge(edge, color, self._player.get_location().z)
File "/mnt/old/home/alexey/Downloads/CARLA_0.9.11_RSS/PythonAPI/examples/rss/rss_visualization.py", line 663, in visualize_enu_edge
carla_point = carla.Location(x=float(point.x), y=float(-1 * point.y), z=float(point.z + z_offset))
TypeError: unsupported operand type(s) for *: 'int' and 'ENUCoordinate'
EXPECTED:  Visualization enabled
ENVIRONMENT:

Carla 0.9.11_RSS
Ubuntu 20.04
Python 3.8.5

Looks like I manager to overcome this issue by changing:
carla_point = carla.Location(x=float(point.x), y=float(-1 * point.y), z=float(point.z + z_offset))

to
carla_point = carla.Location(x=float(point.x), y=float(-1 * float(point.y)), z=float(point.z + z_offset))

in def visualize_enu_edge(self, edge, color, z_offset): of rss_visualization.py..
However I am still not able to get those colored lines between ego and object as it was shown in demo.

@fpasch could you follow up on this please?

This is not fixed yet! I have the same issue.


Update Composer dependencies (2024-03-29-00-18)

Visual regression test passed!
View the visual regression test report


Create a PowerPoint Presentation for the Product Owner

[ ] Make slides about User Story 1.1 for the powerpoint presentation @Alllessia
[ ] Make slides about User Story 1.2 for the powerpoint presentation @sbgonenc
[ ] Make slides about User Story 2.1 for the powerpoint presentation @juliale102
[ ] Make slides about User Story 2.2 for the powerpoint presentation @hannahmabel

Duplicate issue. Refer to #30

Duplicated issue. Refer to #30


Can't use parseBAM.pl for some reason

Hello,
I have been trying to use the code, and couldn't apply it on the example.
it returned:
(Bullseye) [dorg@epitrans Code]$  perl parseBAM.pl --input file.bam --output output.matrix --cpu 4 --minCoverage 10 --removeDuplicates
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "C.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Missing right curly or square bracket at parseBAM.pl line 511, at end of line
syntax error at parseBAM.pl line 511, at EOF
Execution of parseBAM.pl aborted due to compilation errors.
Do you know what should be the problem.

Hello,
I apologize, I accidentally deleted a curly bracket in an update late last week. I just fixed it. Let me know if you have any other issues!
This will not remove the setting locale warnings which I believe should be harmless. To fix this, you would need to set a language in in your shell, typically by adding it to your .bashrc or .bash_profile.

Great! Thank you so much. Now I have other problem 🙈:
First it says that I have v5.24 though it request v5.26 in line 11
(parseBAM.pl),
so I changed it and it gives me that error:
(Bullseye) @.*** Code]$  perl parseBAM.pl --input file.bam
--output output.matrix --cpu 4 --minCoverage 10 --removeDuplicates
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "C.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Can't locate MCE/Loop.pm in @INC (you may need to install the MCE::Loop
module) @.*** contains: /apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0/x86_64-linux
/apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0
/apps/RH7U2/gnu/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux
/apps/RH7U2/gnu/perl/5.24.0/lib/site_perl/5.24.0
/apps/RH7U2/gnu/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux
/apps/RH7U2/gnu/perl/5.24.0/lib/site_perl/5.24.0
/apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0/x86_64-linux
/apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0 .) at parseBAM.pl line 15.
BEGIN failed--compilation aborted at parseBAM.pl line 15.
Perhaps it is something with how I installed the package? since I did the
exact commands as instructed.
Thanks,
Dor
On Mon, 7 Mar 2022 at 16:13, mflamand @.***> wrote:

Hello,
I apologize, I accidentally deleted a curly bracket in an update late last
week. I just fixed it. Let me know if you have any other issues!
This will not remove the setting locale warnings which I believe should be
harmless. To fix this, you would need to set a language in in your shell,
typically by adding it to your .bashrc or .bash_profile.
—
Reply to this email directly, view it on GitHub
https://github.com/mflamand/Bullseye/issues/2#issuecomment-1060730878,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWG4U4VD6MR7B6XQJYZWO6DU6YFKHANCNFSM5QDCSAZQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

I think perl v5.24 should be fine.
This says that the MCE::Loop package is missing. It should have been install with MCE.
did you successfully install the required perl packages by running the following:
cpanm Bio::DB::Fasta
cpanm Text::NSP
cpanm Array::IntSpan
cpanm MCE
?

I have just a fresh install using conda and the provided .yml file and MCE works with no problems. I do get perl version 5.26.2 though. I think you are using the system version of perl, and not the conda version ( you are getting perl from /apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0)
You could try reloading conda as such :
(Bullseye) *@*:~$ conda deactivate
(base) *@*: ~$ conda activate Bullseye
(Bullseye) *@*:~$ which perl
/home/***/miniconda3/envs/Bullseye/bin/perl
you should be able to see that you are running perl from the miniconda path, not the system path

Hi again, thank you very much. I think that I did activate conda, but after
I uninstall and reinstall the package it's now working.
I did manage to use the command parseBAM.pl but now I struggle when
using Find_edit_site.pl.
This is how I command it :
perl ~/scripts/Bullseye/Code/Find_edit_site.pl --annotationFile
~/DART-project/DART_firstExp_rawdata/bed/geneAnnot_hg19_canonical.bed
--EditedMatrix SRR9940470.matrix.gz --controlMatrix SRR9940477.matrix.gz
--minEdit 5 --maxEdit 90 --editFoldThreshold 1.5 --MinEditSites 3 --cpu 4
--outfile SRR9940470.bed --fallback
/home/labs/schwartzlab/dorg/genomes/hg19/AllHumanChr.fa --verbose
and in turn I get multiple warnings of the kind:
Argument "+" isn't numeric in subtraction (-) at
/home/labs/schwartzlab/dorg/scripts/Bullseye/Code/Find_edit_site.pl line
245, <$annotation_handle> line 27901.
Argument "-" isn't numeric in subtraction (-) at
/home/labs/schwartzlab/dorg/scripts/Bullseye/Code/Find_edit_site.pl line
245, <$annotation_handle> line 27901.
Argument "+" isn't numeric in subtraction (-) at
/home/labs/schwartzlab/dorg/scripts/Bullseye/Code/Find_edit_site.pl line
245, <$annotation_handle> line 27901.
and an empty bed file.
I guess there's some problem with the gene annotation bed file that I gave,
though I can't understand what the exact problem.
If you could help me with that it would be great!
Best regards,
Dor
On Mon, 7 Mar 2022 at 17:11, mflamand @.***> wrote:

I have just a fresh install using conda and the provided .yml file and MCE
works with no problems. I do get perl version 5.26.2 though. I think you
are using the system version of perl, and not the conda version ( you are
getting perl from /apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0)
You could try reloading conda as such :
(Bullseye) @:~$ conda deactivate
(base) @: ~$ conda activate Bullseye
(Bullseye) @:~$ which perl
/home/***/miniconda3/envs/Bullseye/bin/perl
you should be able to see that you are running perl from the miniconda
path, not the system path
—
Reply to this email directly, view it on GitHub
https://github.com/mflamand/Bullseye/issues/2#issuecomment-1060792571,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWG4U4SBAFS7SUVMB2TPY7TU6YMCBANCNFSM5QDCSAZQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi Dor,
The way it is currently setup, the annotation file provided with the --annotationFile needs to be a refFlat file. I will soon add more details on this in the readme. This can be obtained from UCSC table browser :

Alternative 1: if you have a GTF file, you can convert it using the UCSC utilities ("kentUtils") which can be found here: http://hgdownload.soe.ucsc.edu/admin/exe/.
Alternative 2: If you have a .bed6 file (as I can guess from your command line), you can replace the --annotationFile by --KnownSites. However, using this option will not keep track of the relative position of the site (5'UTR/CDR/3'UTR) and will not allow to look for sites in introns or extended 3'UTRs (unless these are also found in the bed file of course).


getFile not rejecting the Promise

Blockstack docs (18.2.0) states that getFile :

resolves to the raw data in the file or rejects with an error

Nevertheless in practice it does resolve the Promise and returns a null object instead, thus never getting into the .catch( statement.
Even the DEBUG log says it so:

[DEBUG] getFile my/file.json returned 404, returning null

getFile now returns a proper error https://github.com/blockstack/blockstack.js/pull/720


tagline?

[x] Add a better description? Something along the lines of "friendly for beginners, convenient for people in the know". (Something that gets away from being just for beginners, or people who don't know the deployment process.)

11/24: "Deployment, for Djangonauts with deadlines."


azure-storage queue async error

Python 3.9.7
Fedora 34 (Workstation Edition)
azure-core          1.16.0
azure-storage-blob  12.8.1
azure-storage-queue 12.1.6

I was expecting the async code below to output the exact same result as the one below when executed against an empty storage queue.
The serial code executes just fine and emits, nothing, as expected on an empty queue.
The async code throws this at me:
Fatal error on SSL transport
protocol: <asyncio.sslproto.SSLProtocol object at 0x7f7fe8b4f4f0>
transport: <_SelectorSocketTransport closing fd=6>
Traceback (most recent call last):
  File "/usr/lib64/python3.9/asyncio/selector_events.py", line 918, in write
    n = self._sock.send(data)
OSError: [Errno 9] Bad file descriptor

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.9/asyncio/sslproto.py", line 684, in _process_write_backlog
    self._transport.write(chunk)
  File "/usr/lib64/python3.9/asyncio/selector_events.py", line 924, in write
    self._fatal_error(exc, 'Fatal write error on socket transport')
  File "/usr/lib64/python3.9/asyncio/selector_events.py", line 719, in _fatal_error
    self._force_close(exc)
  File "/usr/lib64/python3.9/asyncio/selector_events.py", line 731, in _force_close
    self._loop.call_soon(self._call_connection_lost, exc)
  File "/usr/lib64/python3.9/asyncio/base_events.py", line 746, in call_soon
    self._check_closed()
  File "/usr/lib64/python3.9/asyncio/base_events.py", line 510, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f7fe7dda5e0>
Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x7f7fe7dc8b80>, 19043.264955058)]']
connector: <aiohttp.connector.TCPConnector object at 0x7f7fe7dda5b0>

import asyncio
import os, uuid

async def amain():
    from azure.storage.queue.aio import QueueClient
    connect_str = os.getenv("AZURE_STORAGE_CONNECTION_STRING")
    queue_name = os.getenv("QUEUE_NAME", "events")
    queue_client = QueueClient.from_connection_string(connect_str, queue_name)
    messages = queue_client.receive_messages()
    async for msg in messages:
        print(msg.content)
        await queue_client.delete_message(msg)

def main():
    from azure.storage.queue import QueueClient
    connect_str = os.getenv("AZURE_STORAGE_CONNECTION_STRING")
    queue_name = os.getenv("QUEUE_NAME", "events")
    queue_client = QueueClient.from_connection_string(connect_str, queue_name)
    messages = queue_client.receive_messages()
    for msg in messages:
        print(msg.content)
        queue_client.delete_message(msg)

#asyncio.run(amain())

main()

@hholst80 thanks for the feedback and the repro instructions, @xiafu-msft please take a look.

@hholst80, I was able to reproduce your scenario and it looks like you have missed out a small code change in your asynchronous method. Please find the working code below and try running it instead:
import asyncio
import os, uuid

async def amain():

    from azure.storage.queue.aio import QueueClient
    connect_str = os.getenv("AZURE_STORAGE_CONNECTION_STRING")
    queue_name = os.getenv("QUEUE_NAME", "events")
    queue_client = QueueClient.from_connection_string(connect_str, queue_name)

    async with queue_client:
        messages = queue_client.receive_messages()
        async for msg in messages:
            print(msg.content)
            await queue_client.delete_message(msg)

asyncio.run(amain())

Let me know if this works for you.

I will try it. I might have missed it but I cannot recall seeing this construct in the documentation. I will try and find the exact link.

@hholst80 , here is the sample's link.

@HarshitaSingh-MSFT works perfect thank you!
I based my code on this snippet here:
https://docs.microsoft.com/en-us/python/api/overview/azure/storage-queue-readme?view=azure-python
Search for Receive and process messages asynchronously
I think this can be closed, maybe a small doc update to make it clear that the queue_client needs to be wrapped as above async with ...?


Fix docs deployment

@richbrowne
What issues does this address?
Fixes #1067
What's this change do?
Fixes an issue where the docs deploy to the wrong location in clouddocs. They are deploying to newton instead of to master.
Where should the reviewer start?
Any background context?
Previous PR with this change ( #1068) was closed without merging.

Travis build is failing because of stable\newton --> newton-eol branch name change.


Enforce consistent use of aliases

Currently in our codebase we have all sort of import patterns like:
import foo from '../composables/Foo' // change to 👇
import foo from '@/composables/Foo'  // keep this
import foo from './Foo'              // maybe keep this too ? (same directory import)

Should we add a rule to make this consistent? There should be plugins available, or I can write one if we can reach a consensus.

Yeah, general rule is that we use ./ for importing modules that are in the same scope like importing another component from a component.
I think ../ rarely happens, but I'm sure they are somewhere does that 👀
Maybe most solid option would be to always enforce @/ ? Sefirot can be optional I guess since it's a package 🤔


ATLAS-503: Strip Out jekyll Functionality

This PR removes all the installations and files that were only used for creating standalone Jekyll sites. We no longer use that, so the atlas_assets gem has been stripped down to only be a package of assets files for use in the Atlas frontend. I also removed outdated information from the Gemspec and README files.

This looks good, but before I approve, can you confirm that this now imports/works correctly in Atlas, or rather: the tests still pass?

The tests are passing locally for me, but I'll go ahead and push up a branch to orm-atlas to confirm that it passes the CI as well.

Everything looks normal on Staging, so I'm going to go ahead and merge


List supported browsers

Description
We never officially listed the browsers that chaise supports. If you navigate to a Chaise page with an unsupported browser, the page is either broken or blank.
So while we're working on migration, we should investigate browser support and list the official browsers we support. We also should detect browsers and show a warning or error instead of just showing a broken (or partially broken) page.
More info
This came up while I was looking at browser support for an API I was using and realized IE11 doesn't support it. So I decided to test the current chaise with IE11. While the app loads properly, the UI looks broken, and some elements are not in the proper position. Interacting with the page can also cause some broken UX. In some cases, the app doesn't even load and throws terminal errors (like the plot app).
We're currently using React 17 in our react branch of chaise. While React 17 is supposed to be able to support IE11, our react branch of chaise shows a blank page on load. To fix this, we would need to add extra polyfills, which would increase the size of our bundle. Also, React 18, which was released today doesn't support IE anymore since windows is going to retire it on June 15, 2022.
Based on this, I think it's safe to say that we are not supporting IE. For other browsers we should come up with a proper list of their minimum version that we are going to support.

We discussed this a while ago, but I forgot to document it. The following is the summary of what we discussed:

Since the creation of this issue, we've updated React to 18.2.0. The browser support has stayed the same (IE is not supported).
Since we are confident that we cannot support IE, we detect this specific browser and show a modal indicating that we don't support this browser.
We should develop a document similar to our manual test that lists the minimum required features to determine whether a browser can be supported.
We should find a reasonable list of browsers and the minimum version we want to support. We then manually go over the features and list the features that have issues in the specific browser for partial support. We might eventually be able to automate this process.
We most probably want the error to be dismissible. For IE, since we're sure that the page will be blank, the error is completely static on the page.


HAWKULAR-329: 'miliseconds' spelled wrong

I didn't check at all the code and if this typo needs a fix in other components.

@vrockai could you review this ? Should be fine unless there are magic tricks in other places.

@theute no magic tricks in this case :) looks fine to me

:+1:


Purge vm throws an error message when vm is in BUILD state

Hitting with the following error while vm is in ERROR state:
+-------------------------------+---------------------------+--------------------------------------+------+-----+------------------+--------------------------+
|             NAME              |       IP ADDRESSES        |                IMAGE                 | CPUS | RAM |      STATUS      |      CREATION DATE       |
+-------------------------------+---------------------------+--------------------------------------+------+-----+------------------+--------------------------+
| k8s-cluster-1601707345-master | External:                 | d0b1f8a4-016e-4819-a395-3ce1d7a7c3a2 |    0 |   0 | Status: BUILD    | 2020-10-03T06:43:19.000Z |
|                               | Private:                  |                                      |      |     | Health: PENDING  |                          |
| k8s-cluster-1601740430-master | External: <IP_ADDRESS>  | d0b1f8a4-016e-4819-a395-3ce1d7a7c3a2 |  0.5 |  32 | Status: ACTIVE   | 2020-10-03T15:54:49.000Z |
|                               | Private: <IP_ADDRESS>   |                                      |      |     | Health: OK       |                          |
| k8s-cluster-1601710944-master | External:                 | d0b1f8a4-016e-4819-a395-3ce1d7a7c3a2 |    0 |   0 | Status: ERROR    | 2020-10-03T07:43:17.000Z |
|                               | Private:                  |                                      |      |     | Health: CRITICAL |                          |
| k8s-cluster-1601591969-master | External: <IP_ADDRESS> | d0b1f8a4-016e-4819-a395-3ce1d7a7c3a2 |  0.5 |  32 | Status: ACTIVE   | 2020-10-01T22:40:16.000Z |
|                               | Private: <IP_ADDRESS>  |                                      |      |     | Health: OK       |                          |
+-------------------------------+---------------------------+--------------------------------------+------+-----+------------------+--------------------------+
Deleting all the above instances, instances can't be claimed back once deleted. Do you really want to continue?[yes/no]: yes█
I1005 18:34:52.469476   50877 vms.go:61] Deleting the k8s-cluster-1601707345-master, and ID: 187a731b-17c3-4d38-860b-d0a81e913d51
2020/10/05 18:34:52 Calling the Power PVM Delete Method
2020/10/05 18:34:52 Calling the New Auth Method in the IBMPower Session Code
2020/10/05 18:34:52 Calling the crn constructor that is to be passed back to the caller  65b64c1f1c29460e8c2e4bbfbd893c2c
2020/10/05 18:34:52 the region is syd and the zone is  syd04
2020/10/05 18:34:52 the crndata is ... crn:v1:bluemix:public:power-iaas:syd04:a/65b64c1f1c29460e8c2e4bbfbd893c2c:013b8948-6cf4-4fae-9b70-71ddadd4f91a::
Error: {"description":"bad request: pvm-instances can only be deleted in the active, shutoff, or error state","error":"bad request"}
E1005 18:34:53.183318   50877 root.go:38] {"description":"bad request: pvm-instances can only be deleted in the active, shutoff, or error state","error":"bad request"}
╭─manjunath@Manjunaths-MacBook-Pro-2 ~/ppc64le-cloud/src/github.com/ppc64le-cloud/pvsadm ‹master›

this is WAD


Remove EntryArg

Actually the PS4 use the top of main stack for this. Can't remember why I created this struct instead of using the main stack the same as PS4. Now we need to follow the same as PS4 so it will work inside a VM.

This should be done automatically when we migrate the code to kernel-mode kernel.


CLOUD-53143 exception logging in flow

@keyki pls

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2160/


FATAL: Encountered a problem retrieving deposit events from eth1 endpoint

Description
I already synced Teku on Mainnet. I resynced Geth from scratch and at some point during the time that Geth was syncing, Teku started logging a lot of these messages. It kept logging these messages even after Geth was fully in sync:
FATAL - PLEASE CHECK YOUR ETH1 NODE | Encountered a problem retrieving deposit events from eth1 endpoint: Expected next deposit at index 9178, but got 429274 tech.pegasys.teku.ethereum.pow.api.InvalidDepositEventsException: Expected next deposit at index 9178, but got 429274 (See log file for full stack trace)

I found the full stack trace in teku's own logs:
2022-09-04 12:24:16.811+00:00 | pool-3-thread-573 | FATAL | teku-status-log | PLEASE CHECK YOUR ETH1 NODE | Encountered a problem retrieving deposit events from eth1 endpoint: Expected next deposit at index 9178, but got 429274
tech.pegasys.teku.ethereum.pow.api.InvalidDepositEventsException: Expected next deposit at index 9178, but got 429274
at tech.pegasys.teku.ethereum.pow.api.InvalidDepositEventsException.expectedDepositAtIndex(InvalidDepositEventsException.java:26) ~[teku-ethereum-pow-api-22.9.0.jar:22.9.0]
at tech.pegasys.teku.beacon.pow.ValidatingEth1EventsPublisher.assertDepositEventIsValid(ValidatingEth1EventsPublisher.java:56) ~[teku-beacon-pow-22.9.0.jar:22.9.0]
at tech.pegasys.teku.beacon.pow.ValidatingEth1EventsPublisher.onDepositsFromBlock(ValidatingEth1EventsPublisher.java:46) ~[teku-beacon-pow-22.9.0.jar:22.9.0]
at tech.pegasys.teku.beacon.pow.DepositFetcher.postDeposits(DepositFetcher.java:228) ~[teku-beacon-pow-22.9.0.jar:22.9.0]
at tech.pegasys.teku.beacon.pow.DepositFetcher.postEventsForBlock(DepositFetcher.java:194) ~[teku-beacon-pow-22.9.0.jar:22.9.0]
at tech.pegasys.teku.beacon.pow.DepositFetcher.postDepositEvents(DepositFetcher.java:165) ~[teku-beacon-pow-22.9.0.jar:22.9.0]
at tech.pegasys.teku.beacon.pow.DepositFetcher.lambda$postDepositEvents$4(DepositFetcher.java:181) ~[teku-beacon-pow-22.9.0.jar:22.9.0]
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[?:?]
at tech.pegasys.teku.infrastructure.async.SafeFuture.lambda$propagateResult$3(SafeFuture.java:147) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[?:?]
at tech.pegasys.teku.infrastructure.async.SafeFuture.lambda$propagateResult$3(SafeFuture.java:147) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
at java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:887) ~[?:?]
at java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2325) ~[?:?]
at tech.pegasys.teku.infrastructure.async.SafeFuture.whenComplete(SafeFuture.java:580) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at tech.pegasys.teku.infrastructure.async.SafeFuture.whenComplete(SafeFuture.java:32) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at tech.pegasys.teku.infrastructure.async.SafeFuture.propagateResult(SafeFuture.java:142) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at tech.pegasys.teku.infrastructure.async.SafeFuture.lambda$exceptionallyCompose$30(SafeFuture.java:399) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[?:?]
at tech.pegasys.teku.infrastructure.async.SafeFuture.lambda$propagateResult$3(SafeFuture.java:147) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
at java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:887) ~[?:?]
at java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2325) ~[?:?]
at tech.pegasys.teku.infrastructure.async.SafeFuture.whenComplete(SafeFuture.java:580) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at tech.pegasys.teku.infrastructure.async.SafeFuture.whenComplete(SafeFuture.java:32) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at tech.pegasys.teku.infrastructure.async.SafeFuture.propagateResult(SafeFuture.java:142) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at tech.pegasys.teku.infrastructure.async.SafeFuture.lambda$exceptionallyCompose$30(SafeFuture.java:399) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[?:?]
at tech.pegasys.teku.infrastructure.async.SafeFuture.lambda$propagateResult$3(SafeFuture.java:147) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
at java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:887) ~[?:?]
at java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2325) ~[?:?]
at tech.pegasys.teku.infrastructure.async.SafeFuture.whenComplete(SafeFuture.java:580) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at tech.pegasys.teku.infrastructure.async.SafeFuture.whenComplete(SafeFuture.java:32) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at tech.pegasys.teku.infrastructure.async.SafeFuture.propagateResult(SafeFuture.java:142) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at tech.pegasys.teku.infrastructure.async.SafeFuture.lambda$exceptionallyCompose$30(SafeFuture.java:399) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[?:?]
at tech.pegasys.teku.infrastructure.async.SafeFuture.lambda$propagateResult$3(SafeFuture.java:147) ~[teku-infrastructure-async-22.9.0.jar:22.9.0]
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[?:?]
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[?:?]
at org.web3j.utils.Async.lambda$run$1(Async.java:38) ~[core-4.9.3.jar:?]
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]

Steps to Reproduce (Bug)
I'm not sure exactly how to reproduce it. Here is how I started and configured Teku with systemd:
[Unit]
Description=Teku Ethereum Client (Mainnet)
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=teku
Group=teku
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/teku/bin/teku \
    --network mainnet \
    --data-path /var/lib/teku \
    --validator-keys /var/lib/teku/validator_keys:/var/lib/teku/validator_keys \
    --rest-api-enabled true \
    --ee-endpoint http://<IP_ADDRESS>:8551 \
    --metrics-enabled true \
    --validators-proposer-default-fee-recipient 0x0000000000000000000000000000000000000000 \
    --initial-state<EMAIL_ADDRESS>\
    --ee-jwt-secret-file /var/lib/ethereum/jwttoken \
    --p2p-port [hidden]

[Install]
WantedBy=multi-user.target

Here is how I started and configured Geth with systemd:
[Unit]
Description=Go Ethereum Client - Geth (Mainnet)
After=network.target
Wants=network.target

[Service]
User=goeth
Group=goeth
Type=simple
Restart=always
RestartSec=5
TimeoutStopSec=180
ExecStart=geth \
    --mainnet \
    --http \
    --datadir /var/lib/goethereum \
    --metrics \
    --metrics.expensive \
    --pprof \
    --authrpc.jwtsecret=/var/lib/ethereum/jwttoken \
    --port [hidden]

[Install]
WantedBy=default.target

Expected behavior: No FATAL error in the logs during normal usage.
Actual behavior: A lot of FATAL errors in the logs during normal usage.
Frequency: It happened once.
It seems like restarting Teku fixed the issue but it kept saying that my eth1 execution client was not in sync which it was.
Versions

Software version: teku/v22.9.0/linux-x86_64/-eclipseadoptium-openjdk64bitservervm-java-17
Java version:

openjdk <IP_ADDRESS> 2022-08-12
OpenJDK Runtime Environment Temurin-<IP_ADDRESS>+1 (build <IP_ADDRESS>+1)
OpenJDK 64-Bit Server VM Temurin-<IP_ADDRESS>+1 (build <IP_ADDRESS>+1, mixed mode, sharing)

OS Name & Version:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

Geth version:

Geth
Version: 1.10.23-stable
Git Commit: d901d85377c2c2f05f09f423c7d739c0feecd90a
Architecture: amd64
Go Version: go1.18.5
Operating System: linux
GOPATH=
GOROOT=go

Thanks for raising this one - is there any further logging that you may still have access to prior to the exception? It might help add some context if  you're able to provide it is all...
Ideally from teku start, or from prior to it losing eth1 connection through to this message if it's not huge volumes of data? It's possible this is already gone, but I figured I'd ask in case we're lucky :)
I've tried a few different things to replicate this but have had no luck so far, so just hoping to see if anything else is happening that I'm missing...
Happy to get logs privately outside the ticket if thats preferred - i know sometimes there's extra information in there that can be annoying to filter..

Here are the Teku logs: https://www.dropbox.com/s/imizxvutls5fo7q/teku-logs.tar.gz?dl=1
Here are the Geth logs: https://www.dropbox.com/s/o6913g8nqvfdclo/geth.log?dl=1
The Teku logs starts earlier since I tried to since it with Besu and failed at that too. 09-03|11:46:18.976 is when I switch to Geth.
I suspect that machine might have some faulty memory module so I'm launching a memtest to exclude that cause.

That sounds like a good idea just to be sure - I'll download the teku log and just see if there's any more clues...

I've raised a new issue to put onto our backlog to better cater for this scenario, and linked it to this ticket for context, so I'll close this one, but it's really good context when we come to look at the other ticket, and prioritising. Feel free to follow #6170 if you want to track it's progress...
It looks like geth basically restarted at a fairly specific point where we're trying to download deposits in batches, and all of a sudden a batch that should exist is no longer available. In theory it could happen with other eth1 clients, although some do report slightly different which can make it easier to detect the discrepancy...
Currently the best workaround is to restart, as described, and then the CL will go and rebuild its deposit tree.


How about a ol.style.Circle#setRadius?

We have ol.style.Circle#getRadius but no setRadius.

Good suggestion. Pull request welcome.

Closed with #5771.


discrepancy b/w val_loss and val_mse

I am passing in all the many error functions as metric values in Keras while compiling the model as follows,
model.compile(loss='mean_squared_error' , optimizer='sgd', metrics=['mean_squared_error',
                                                                    'mean_absolute_error',
                                                                    'mean_absolute_percentage_error',
                                                                    'mean_squared_logarithmic_error',
                                                                    'squared_hinge',
                                                                    'hinge',
                                                                    'logcosh',
                                                                    'kullback_leibler_divergence',
                                                                    'poisson',
                                                                    'cosine_proximity'])

but I see the value of val_loss and val_mean_squared_error different from each other. They should be same right? what am I missing ?

I observed the same thing. According to me this is probably a bug...

Observed the same thing while training on generators.

This issue happened to me when I changed my generator in a way that it started changing its state ("side-effect"). Removing any side-effects from the generator fixed the issue.

@9rince This is a stale issue.
May be this was an issue with older versions. But, I don't see any discrepancy with TF2.6. Please note that i tried with a simple model and noticed loss and metric are matching when using mean_squared_error. Please check the gist here.
Please verify once and close the issue if this was resolved for you when using recent TF/keras versions. Thanks!

Closing the issue as this was resolved. Please feel free to reopen if the issue persists for you. Thanks!


Using outlook-matters with gitlab SSO

Hi,
is it possible to make outlook-matters to work with gitlab SSO?
For us that is actually the only way to login to our mattermost service.
Right now we get this message:

Thanks. Great work anyway :relaxed:

Hi devTechi,
thanks for writing this issue. We'll have to take a closer look into at this. At the moment we are quite busy implementing the new mattermost v3 procotol for the upcomming version 1.3 of outlook-matters. As soon as this is done (hopefully in about a week from now) we will come back to this issue.

Hi,
great to hear 😃
Looking forward to it. Thanks
Greets
André

Definitely would appreciate this feature as we utilize Gitlab SSO for our entire team as well.

@makmu this will be very very useful indeed


Algo vs filter

Hi,
I feel like naming the example algorithm whats-alf can be confusing as well as the following part of the readme:
1. Implement indexing logic in `src/subscription.ts`.

   This will subscribe to the repo subscription stream on startup, parse events and index them according to your provided logic.

2. Implement feed generation logic in `src/algos`

   For inspiration, we've provided a very simple feed algorithm (`whats-alf`) that returns all posts related to the titular character of the TV show ALF.

When you look at it, it's actually an algorithm that show the latest posts. The logic that filters ALF related posts is actually living in the subscription, when messages are indexed.
This makes sense because for simple feeds, you'll probably want to index as little as possible, so most of the filtering will happen there.
The change I would propose would be:

renamed the algorithm whats-alf to latest
explaining that the subscription is a first level of filtering to get the post that have great chances to be relevant, and that optionally a second level of finer-grained filtering can be implemented in the algorithm

What do you think?

I was confused by this as well when looking through the example code and would welcome the proposed changes.

Thought I was going crazy... algos/whats-alf doesn't contain any of the good stuff! It's confusingly over here.


JetBrains: Links opened inside Cody window as a web view

IDE Information
PyCharm 2023.3.3 (Community Edition)
Build #PC-233.13763.11, built on January 26, 2024
Runtime version: 17.0.9+7-b1087.11 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 14.3
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 8
Metal Rendering is ON
Non-Bundled Plugins:
com.sourcegraph.jetbrains (6.0.19-nightly)
Bug Description
Platform: macOS
Steps to reproduce:

Have Cody plugin installed in your JB IntelliJ editor
Let the Cody load the welcome screen
Click on Terms of Service or Privacy Policy links

Observed behavior:
A web view of that link will be opened inside Cody window.
Expected behavior:
User should be redirected on browser for respective links.
Additional context
Video link:
https://drive.google.com/file/d/1PE1wM5w3tankamzSI2pD0XuOmX7P-9GZ/view?usp=drive_link

Tracking this in CODY-3054.


Implement the BiMPM model

hi, I am having trouble trying to save the model using

evaluate = mz.callbacks.EvaluateAllMetrics(model, x=valid_x, y=valid_y, batch_size=16, once_every=1, model_save_path='path_to_model')
and
model.save('my_model')

I get the following error in both cases:
TypeError: can't pickle SwigPyObject objects
Does anyone have an idea on how to solve this?
thanks a lot!

[Iter-160 Loss-0.109]:
Validation: normalized_discounted_cumulative_gain@3(0.0): 0.6114 - normalized_discounted_cumulative_gain@5(0.0): 0.6667 - mean_average_precision(0.0): 0.622


Possibility to use IP-addresses instead of hostnames

Similar to mesos/elasticsearch#418, it's better if the framework is able to work in environments, where hostnames are not resolvable
Adding -Dmesos.logstash.useIpAddress=true parameter lets Scheduler to use IP addresses instead of hostname. This provided clickable URL to the framework UI on Mesos UI

closing as the framework UI is gone anyway


Suggestions for other receiver

I read your wiki/blog.
As future step in stead of the CC1101 you could also use the very popular RFM69.
In the jeelabs eco system there are various OOK decoders. It might be worthwhile to take a look there.
Here is one implementation of a RFM69 OOK reciever; https://github.com/SevenW/embapps/tree/master/ArduinoRFM69

Thanks for the tip.  Google seems to indicate that the RFM69 is in a similar situation to the CC1101 -- in theory it supports frequencies down to 315 MHz, but the versions I see for sale all specifically advertise 433 MHz or 915 MHz.  Do you have any experience with whether those versions will successfully tune to other frequencies?

They radio chip itself supports the wide range of frequencies, just as the CC1101, however, the modules that are for sale have antenna circuits that are tuned to the specific frequencies. This is no different with CC1101 modules! If you buy a CC1101 for 433MHz, you better not try 868 or 915 with it.
I suggested RFM69, because it has a much wider support in the arduino and related worlds. Both through lowpower labs, and jeelabs. I suggested Jeelabs because there is extensive work done on OOK reception, including SW that can pick up the signal and run it through multiple decoders in parallel so that you can receive OOK signals of different brands with one single receiver.
I can help you implementing a Jeelabs type OOK decoder for this specif Honeywell node if you like.

Thanks for the offer of assistance, but I'll end up going with whichever device I can find a breakout board for that I can tune to 345.  So far that's neither the CC1101 nor the RFM69.

No problem. 345MHz is rare in the world of cheap radio devices. 315MHz can be found if you search really well. You could try a 315MHz module and see how sensitive it is at 345MHz. On CC1101 and RFM69 you can always program the desired frequency. You have a fair chance. For a quick test you could get yourself a $2.50 433MHz module and test your luck. Of course only if you can't source a 345MHz module.

Erwan's blog http://labalec.fr/erwan/?p=497 says the frequency can be set. Not sure which board he is using. His code seems to let the frequency be set (though not sure if only certain preset values are supported.) There are some on Amazon as well as  http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=90_177_92&products_id=568.
Do you think it is worth trying?

@esdad697 - thanks. That purchase link is a nice find.  There's a v2 as well at: http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=90_92&products_id=802

Here is a $15 cc1101 on Amazon: https://www.amazon.com/forum/-/Tx3Q3BOH80WKMM8/ref=ask_dp_dpmw_al_hza?asin=B00NPZ3YUA
Sounds like it can be set to 345 MHz, but will have an antenna issue. It is not clear if setting this frequency requires Smart RF Studio.
I'm not sure how to tune the antenna circuit or obtain a 345 MHz antenna, but it is worth trying unmodified to see how it works.

I'll give it shot.

Could breakdown steps to:

Wire CC1101 (CC1101 to SparkFun Raspberry Pi breakout board mappings: S1-MIS1, S0-MIS0, CSN-CE0, SCK-SCK, G02-G25, G00-G24)
Enable SPI on RPi - https://learn.sparkfun.com/tutorials/raspberry-pi-spi-and-i2c-tutorial
Install SPI driver spi-bcm2835 http://www.airspayce.com/mikem/bcm2835/
Configure and read from CC1101 (like https://github.com/f4exb/picc1101)
Update decoder with https://github.com/denglend/decode345/issues/2

The CC1101 gets hot.
I've only done the first two steps, though overall process does not seem too bad. I don't know how to test it. If I get stuck in Step 4, I might be a simple  SPI device like LED so can file SparkFun tutorial.


feat(PackageDetailTab): implement package version dropdown

This commit includes the work for epic DCOS_OSS-1528 where as a user now
is able to select a version in package detail page.
What is included:

package detail page UI dropdown element
Actions to retrieve data for package versions

How to test:

Go to catalog page click on a package
Notice the dropdown at the top where the package name is
When choosing a version the content should change (if there is any difference) to the chosen version
When deployed the version selected will be installed

Closes DCOS_OSS-1560 DCOS_OSS-1559 DCOS_OSS-1558
before:

after:

Checklist

[x] Did you add a JIRA issue in a commit message or as part of the branch name?
[ ] Did you add new unit tests?
[ ] Did you add new integration tests?
[ ] If this is a regression, did you write a test to catch this in the future?

@weblancaster please squash 0049d92 before moving on with this one, to keep the history clean.

@weblancaster Works great functionality wise. Visually could do with a tweak. Currently looks like the dropdown is floating in an odd position. Please sync with @lilysamimi on visual treatment.

All this is ready to review.
@orlandohohmeier I will squash that commit.

@leemunroe this is the new deisgn version discussed with @lilysamimi.
We need to discuss more since I notice after implementing that if the package name is too long what should we do.

retest this please

@weblancaster @lilysamimi In that screenshot it looks like we're doubling up on the version. If we have the version displayed in the dropdown we don't also need it beside the certified label, right?
Visually, the fact it is styled like a form element looks odd. Can we introduce a class for text style dropdowns? Basically the same type of style as a .button-link which would sit better beside the heading.

@leemunroe @lilysamimi
design updated: turns out we had the ability to accomplish what you guys wanted without "extra" work.

please head to https://github.com/dcos/dcos-ui/pull/2397 since the PR was split into 3 PRs


Results Analysis Scripts

We have some scripts for loading/parsing the results data and making plots with already, however not only do these require updating as our results format has changed, we also need some further analysis:

Metric evaluation metric comparisons.
Aggregation of metric evaluation scores across datasets/models.
Combinations of metrics? #42
Weighting metrics by task agnostic metrics? #37
Further plots of cross sectional analysis of our experiments.

It would be useful to have a script(s) ready that can run these once we have the validation accuracy scores from the fine tuning experiments.

I've put this in work package 3B for now, but scope to move this forward to 3A or back to 4.

This issue is also linked with - and should follow - #62


Update ojAlgo to latest version (v51.3.0)

Description of PR
You're using a very old version of ojAlgo, and there has been significant improvements to the solvers over the years.
How was this patch tested?

Code compiles without any changes
The unit test works

For code changes:

[ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 38s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
36m 45s

trunk passed

+1 :green_heart:
compile
0m 40s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
0m 39s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
mvnsite
0m 44s

trunk passed

+1 :green_heart:
javadoc
0m 48s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
0m 41s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
shadedclient
60m 30s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 22s

the patch passed

+1 :green_heart:
compile
0m 22s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javac
0m 22s

the patch passed

+1 :green_heart:
compile
0m 21s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
0m 21s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
mvnsite
0m 24s

the patch passed

+1 :green_heart:
xml
0m  2s

The patch has no ill-formed XML file.

+1 :green_heart:
javadoc
0m 22s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
0m 22s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
shadedclient
21m  8s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
0m 27s

hadoop-project in the patch passed.

+1 :green_heart:
asflicense
0m 46s

The patch does not generate ASF License warnings.

87m  0s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4343/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4343

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell xml

uname
Linux bbc79b5ceca0 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / f18275bd5a4bc7413214429a620aadf359e80a60

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4343/1/testReport/

Max. process+thread count
700 (vs. ulimit of 5500)

modules
C: hadoop-project U: hadoop-project

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4343/1/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

You need to create a jira as well. add that in the tittle of the PR & most probably run the tests in all the affected modules.
check the doc-
https://cwiki.apache.org/confluence/display/hadoop/how+to+contribute
let me know if you face any issue, will try to help

You need to create a jira as well. add that in the tittle of the PR & most probably run the tests in all the affected modules. check the doc- https://cwiki.apache.org/confluence/display/hadoop/how+to+contribute
let me know if you face any issue, will try to help

I'm not interested in doing all those things. I've pointed out that hadoop depends on a very old version of ojAlgo, and I've shown that upgrading to the latest version works without any code changes (code compiles and no tests fail). Also I know that v51.3.0 is much improved in all aspects – speed, resource consumption, numerical stability... (and there are no transitive dependencies).
It's up to you, or any other hadoop contributor, if you want this update or not.

Cool, If someone finds bandwidth and interest he will do that. Thanx for sharing the details....


nginx default file code for website

hi i am using nginx but don't know what will be default file content to show the front end ..can any one help me what will be the code to show the pool website in front end

server {
        listen 443 ssl;
        listen 80;

        server_name put_your_domain_here;

        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;
        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }
        location ~ .$ {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header Host $host;
                proxy_pass http://<IP_ADDRESS>:8080;
        }
}


Feature request: Add support for image fill sampling and scaling

What problem does this feature solve?
So, I'm trying to build a simple little animated sprite renderer (similar to what you'd see in a game). This is done by using a sprite sheet, and by using the existing API to render.
 Theta (the rotation) is in radians as it should be. We should try to make this API unsurprising for people who've done graphics. :(
(end note)
So, the problem here is that if I want to scale up my little image rectangle, I have to scale the rectangle instead of the image--the texture sample isn't automatically stretched to fit the rectangle in Scenic, which is again unexpected from normal graphics conventions.
My source image is basically this:

And when I render it with the following code (cribbed from other scenic examples and modified):
def init(_, opts) do
    viewport = opts[:viewport]
    IO.inspect ViewPort.info(viewport), label: "viewport info"

    # calculate the transform that centers the parrot in the viewport
    {:ok, %ViewPort.Status{size: {vp_width, vp_height}}} = ViewPort.info(viewport)

    Scenic.Cache.File.load(@image_path, @image_hash)

    graph =
      @root_image_graph
      |> rect( {vp_width, vp_height},
                id: :image_root,
                fill: {:image, {@image_hash, 0,0,100,100,0,255}})
      |> group(
        fn g ->
          g
          |> line({{-10,0},{10,0}}, stroke: {2, :magenta})
          |> line({{0,-10},{0,10}}, stroke: {2, :magenta})
        end,
        id: :cursor_lines,
        transform: {0,0})
      |> push_graph()

    state = %{
      viewport: viewport,
      graph: graph,
      cursor_pos: {0,0},
      in_drag: false,
      start_point: nil,
      end_point: nil
    }

    {:ok, state}
  end

it renders something like this:

So, it looks like it's trying to scale the image down into a sub-rectangle which may or may not be transformed in the Scenic rectangle.
Additionally, you can kinda see image streaks: I'd suggest that that's because of an incorrect GL texture sampling mode, and that nanovg is deciding to clamp to edge. That's fine, but it's nice to be able to do other things (see glTexParameter for GL's take on this). At the least clamp to border would probably be the reasonable choice, or mirroring/repeating.
What is your proposed solution?
So, I'd like to propose a couple of things:
Change the image fill semantics for rectangles to stretch the entire image across the rectangle, always. There's no convenient way to, say, update the image transformation (image fill offset and scale) anyways, so we might as well just leave that up to the transform of the rectangle that is being drawn--this also means we don't have to fight with the scale property on the rectangle at the same time we fight with the image fill's width and height.
Allow users to set the image ST scaling on the rectangle. If I have an image fill (say, a simple brick image), and I want to tile it over the rectangle right now, I can't quite do it. It'd be cool if I could specify multipliers for ST (probably better understood as X and Y tiling scaling) so that the image, once stretch over the rectangle, is scaled out (values < 1) or tiled across (values > 1) properly. This might be the time to include the ability to clamp, repeat, or mirror as seems reasonable.
(note)
The docs erroneously state the image tuple as:
{:image, {image_key, start_x, start_y, end_x, end_y, angle, alpha}}
when it should be:
{:image, {image_key, start_x, start_y, width, height, angle, alpha}}
(end note)
In light of these things, and to make the API non-breaking with what's already been done, I'd propose a new fill type:
{:image_stretched, {image_key, scale_x, scale_y, x_repeat_mode, y_repeat_mode, alpha}}
{:image_stretched, {image_key, scale_x, scale_y, x_repeat_mode, y_repeat_mode, source_offset_x, source_offset_y, source_width, source_height, angle,alpha}}

scale_x is the S (horizontal) scale factor for the image when rendered on the rectangle. 1 is normal, 0.1 would be showing the first tenth of the horizontal parts of the image, 10 would be tiling the horizontal parts 10 times.
scale_y is the T (vertical) scale factor for the image when rendered on the rectangle. 1 is normal, 0.1 would be showing the first tenth of the vertical parts of the image, 10 would be tiling the vertical parts 10 times.
x_repeat_mode would be one of :repeat, :clamp_to_border, :clamp_to_edge, :mirror.
y_repeat_mode would be one of :repeat, :clamp_to_border, :clamp_to_edge, :mirror.
source_offset_x and source_offset_y are the offset (in pixels) of the upper-left corner of the subset of the image to use when texturing the rectangle.
source_width is the horizontal size, in pixels, of the subset of the image to use when texturing the rectangle.
source_height is the vertical size, in pixels, of the subset of the image to use when texturing the rectangle.
angle is the CCW rotation of the image in radians prior to sampling.
alpha is the [0,1] transparency (fully transparent to fully opaque) of the image to use.

Any word on this one?

Been busy with fonts.
I have an alternate proposal, although it is vague. I'd like to see a separate mechanism to officially support sprite atlases. Doing it via the image fill means setting the texture every time you draw a sprite from it. This is slow.
Proper atlas support would look something like here is a single image. Now draw this list of locations out to these spots on the screen. They would all have to have the same transforms on them, but could still be translated around. Then it would set the texture once into the video card, do a bunch of copies, then unset it. Much faster.
This is essentially how rendering text works.

I like sprite atlases, but my counterargument is that this feature would still be helpful for dynamically-generated textures (say, from a camera) that wouldn't make sense to put into an atlas.

@boydm Has there been any progress on this? I've been working on the same problem as @crertel and seeming had all the same assumptions and similar conclusions. I was not previously familiar with a sprite atlas, which does seem like a possible good solution here, though the tuple labelling remains confusing since end_x, end_y don't seem to match expectations.
In particular, I lost a bit of time due to the 0-255 alpha scale since I am used to alpha always being defined on a 0-1 scale and an alpha of 1 on a 0-255 scale is basically invisible. I thought my cache or something wasn't working, but it was just an alpha problem. Unfortunate that a common assumption (1.0 == 100% for an alpha value) will result in confusion and misdiagnosis.
Thanks!

@boydm any word on this sir?

No real progress as I've been swamped in OS level work.
I'd be happy to do a call with @cretel and @jessejanderson to discuss a plan. That might help it move forward.

I hit this problem this weekend.  Looking forward to spritesheet support!

Hi @JEG2. Would love to understand what you are doing with it.

I did a programming contest last weekend where a quick GUI would have come in handy.  I fired up Scenic and got what I needed going.  It was cool!
That inspired me to go back and play around some more.  I thought, I'll build a trivial sprite game to get to know it better.  I pulled in a free spritesheet off the Internet, then lost two days of free time chasing {:image, ox, oy, ex, ey, angle, alpha} through Scenic's code.  I mostly lost the war, but I've learned a fair bit.  We'll call it even.
I might be interested in helping to add this feature.  I'm really a terrible C programmer, but maybe if I had a roadmap.  I understand if you don't have the cycles to provide guidance though.
I am quite surprised about the lack of posts I can find on Scenic.  Googling Elixir Scenic sprite doesn't get a single useful hit (that I've found so far).  I had to go through the example code to figure out what the expected values for alpha are for images and I couldn't find anything to explain angle, until I read this issue.  Maybe I could add some docs if I got my head around it enough.
Anyways, I appreciate having Scenic to use in contests.  Thanks for all your effort!

The  big question is not how to do it on the C side. That is relatively easy. The question is what should the elixir side module and api look like. It isn't straight forward.
First, if possible, you want to blit out all the sprites at once. This is for efficiency reasons on the C side. Setting the image into the driver so that it can be copied from is relatively expensive. Once it is there, lots of copies from it are relatively cheap.
Sorry for the braindump feel for this but it is what has stopped me...
So... A Sprite module would have an image, or a reference to an image in the cache. Then have a list of from/to tuples to copy from. Rendering a list of tuples is nice and efficient from the C side. BUT... The sprites are updated in more of random-access pattern on the elixir side.. That wants to be a map. But if it is a map, then how do I know and efficiently traverse the order?
The graph had the same problem. Updates to it are random access, but rendering is like a list. So the structure of the graph is a map but the contents of each entry contains the key to the next entry. This is complicated and was difficult to get right. I hesitate to do the same thing again for the Sprite sheet api. But maybe that is what it has to be.
You have any ideas on the design from the Elixir side?

Not said direct above but... The Sprite Sheet would be a new primitive as the C side needs to know about. It would get rendered "all at once". All the copies in the tuple list/map/whatever would be rendered in order, but essentially atomically as far as the rest of the graph is concerned.
You could probably have multiple SpriteSheet objects in the graph, but you do not want too many of them as that is inefficient.
Think of it this way. Rendering text in the current implementation is essentially copying characters out of a sprite sheet. The font sheet is set once, then lots of individual characters are copied out of it. This is relatively easy as text is really predictable in where to render each item. (cough cough. Also really hard with kerning). This is also why there is no support for changing the font characteristics in the middle of a string. That would be changing out the font sheet set in the driver.

Thanks for the tips!
I'm very busy at work right now, but I just made a note to fiddle with this a bit on the weekend.  If I come up with anything worth sharing, I'll do so.

I'm a little worried we got distracted with the sprite sheet stuff. It's useful and exactly what you need for games, for example, but the more basic and general case of "I want to render this polygon with scaled repeating textures" was kinda lost in the shuffle I fear.

Hi @crertel. Yes. I think the original purpose got lost.
I know I had "I want to render this polygon with scaled repeating textures" working in the past. Maybe it regressed? Or maybe the docs are wrong.
Sorry for the latency figuring this out. I've been beyond swamped in other C code on a deadline...

Totally understandable, no offense taken. :)


VE-235: Extend Tag component with optional Icon

What❓
This adds an optional Icon to the Tag component. In addition, the Tag component now shows the right cursor when an onClick handler has been provided

This change is


Support bulleted lists

Fixes: #103
Test URLs:

Before: https://main--zeiss--hlxsites.hlx.live/en/semiconductor-manufacturing-technology/news-and-events/smt-press-releases/2023/new-multifunctional-factory-in-wetzlar
After: https://issue-103--zeiss--hlxsites.hlx.live/en/semiconductor-manufacturing-technology/news-and-events/smt-press-releases/2023/new-multifunctional-factory-in-wetzlar

Marking this as draft as the generated output is different in a seemingly unrelated area than the local rendering.

I force-pushed the original change as now it renders correctly. Not sure what caused the strange rendering initially.

If I click on the pagespeed link in the pagespeed report I get 100, so I assume the low LHS is something to so with the setup of obtaining it...


featureSupport analyze materialized view. #30540

While user analyze a whole table or auto analyze a table, collect the columns in materialized view as well.
backport https://github.com/apache/doris/pull/30540

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


Katalog von Quarterback defekt

Hello,
Can you use this script to read back a quarterback backup with a defective catalog?
Unfortunately, I can't run the script correctly.
Can someone please test this for me?
Here, the first disk from the backup in ADF and RAW format.
AMIGA.ZIP
I backed up my Amiga OS where it was on floppy disks with Quarterback,
read out with Kryoflux because I no longer have an Amiga.
When reading back, it showed a few bad sectors at the beginning.
If you now read the first disk into Quarterback, you get an error message that the catalog is defective.
The folders and file structure are displayed almost correctly.
Only when reading back does it ask for the disk number "1855" which doesn't even exist.
The backup has 33 disks.
Regards,
Merlin

Hey @merlin555, due to lack of catalog and directory support, this utility is not designed to reconstruct the full original backup from .ADFs. So if you had, for instance, a full workbench install with programs etc that you wanted to now boot off of -- this doesn't do that.
When you say "Unfortunately, I can't run the script correctly.", what do you mean? You don't understand how to use it? You're running into error? You can't install the dependencies? Or you're seeing "Empty set" output?
The main purpose is to recover key unique original things that has been lost to disk corruption with quarterback. Say you had a folder of .mod files you created in a tracker, or a bunch of text files you wrote in ProWrite, or some long lost .C code you wrote, or a bunch of .GIFs of ferraris, the space shuttle, or pinup scanned in from Sports Illustrated.
While maybe I'll add that support in the future, the argument for it not being essential goes something like this: you can download workbench, you can download the applications, and recreate the environment. Yeah, it might take you bit to remember the name of the virus scanner you had installed, or whether it was Deluxe Paint III and not IV you had installed. But what you can't do, is rewrite that poem you wrote in 6th grade, reproduce that .mod file with all the cool samples, rewrite your first resume.
I'm not seeing any COMPRESSED FILE MARKERS (CFM) in that ADF you sent, which is at the heart of what my script looks for.
I am however, seeing FMRK and uncompressed file content directly in the ADF:
Here's the listing from the .adf you provided:
Certainly! Here's the list of terminated strings following the FMRK entries, separated by commas:
Disk.info, Shell, AddDataT, Ansi, Ashell, Assign, Avail, Binddrivers, Boot, Border, Break, Calc, ChangeTa, Cls, Colors, ConC, Copy, Date, Ddir, Degr, Nu, Disk, DOpusRT, Ed, Edit, ExCo, Execute, Exit, Fastmemf, FD, Form, Frage, Free, GPatcher, Head, IconEdit, Icon, Info, Inst, Installe, IPre, Join, LHA, List, Load, LoadWB, Lock, MagTape, Make, MakeLink, Mount, Move, MuchMore, NInf, PPAn, PPlay This isn't an exhaustive list, but it should be most of it.
If you're interested in how I got that, it was simple: "hexdump -C 01.adf | grep FMRK" and then ask chatgpt to parse it.
While I don't support extracting uncompressed files, this is probably something I could add without too much heartache. Again, the lack of directory support means you get a bunch of files just spit into the same folder. Duplicate named files (but in different original directories) would overwrite each other, etc.

@keithgh1
Thank you for your quick and detailed information.
The point is that I want to emulate my old Amiga OS on the PC.
So many wonderful memories of the Amiga times.
I start the workbench first and then quarterback.
If the folder and file structure is almost readable, the catalog could be repaired and adjusted.
If the catalog is also a file and the format is known.
No, I don't know anything about Python.
I downloaded the Windows version "python-3.12.5-amd64".
I did it with:
"C:\Users\user\AppData\Local\Programs\Python\Python312\python.exe amigaqb_extract.py 01.adf"
The following message then appears:
Traceback (most recent call last):
File "E:\AMIGA\amigaqb_extract.py", line 13, in
import numpy as np
ModuleNotFoundError: No module named 'numpy'
A colleague who is well versed in Python and programming also tried it and he gets the following message:
c:\tmp\Amiga\test>python amigaqb_extract.py 01.adf
Single disk detected.
Found the following files:
Empty DataFrame
Columns: [Offset, FILENAME, Filesize1]
Index: []

@keithgh1
Thank you for your quick and detailed information.
The point is that I want to emulate my old Amiga OS on the PC.
So many wonderful memories of the Amiga times.
I start the workbench first and then quarterback.
If the folder and file structure is almost readable, the catalog could be repaired and adjusted.
If the catalog is also a file and the format is known.
No, I don't know anything about Python.
I downloaded the Windows version "python-3.12.5-amd64".
I did it with:
"C:\Users\user\AppData\Local\Programs\Python\Python312\python.exe amigaqb_extract.py 01.adf"
The following message then appears:
Traceback (most recent call last):
File "E:\AMIGA\amigaqb_extract.py", line 13, in
import numpy as np
ModuleNotFoundError: No module named 'numpy'
A colleague who is well versed in Python and programming also tried it and he gets the following message:
c:\tmp\Amiga\test>python amigaqb_extract.py 01.adf
Single disk detected.

Your problem is a dependency issue: Install numpy with "pip install numpy." Also, install pandas with "pip install pandas". There are python tutorials online.
Your colleague is running it correctly BUT......
My script doesn't support uncompressed files, which your .ADF contains. I can add it, but no promises on timeframe.

Ok @merlin555, I've committed change #29c6dba that adds FMRK support. I tested it with your file and it works fine. If you concatenate your .ADFs together into one massive file, you can process everything at once. I can link a zip and a pastebin (once they come back from their maintenance) showing it. Your .ADF contains just binaries from the c dir of a normal workbench installation.
I'll probably close this soon, but try it and provide some feedback.

@keithgh1
It works!
Yes, this is the first disk where the "C" folder is stored.
Is reading back really impossible for the folder structure?
The possibility is that I look at the folder structure in Quarterback itself and see which files I need.
After that I make a virtual hard drive for the emulator "WinUAE",
where directly makes a shortcut as a virtual hard drive on my hard drive.
So all I have to do is copy the files to the right folder.
Thank you very much for your help with your great script.

Glad to hear it works. And no, I wasn't joking when I said there really was no catalog/directory support. :)
I realize it's a big limitation. The original source code for QB is out there. While it's not poorly written or documented within the code itself, there is traditional C pointer magic that can obfuscate how this stuff works. Certainly no friendly graphic documentation showing headers, field sizes, etc.
I haven't given it an honest try yet. Let me look into it.
Nothing is impossible given enough time and resources!
Fwiw, keeping some of those memories alive is what fuels my work here, some of my other projects over on my retrocomputing blog, and so I'm well aware of the nostalgia drug. Happy to support others in search of it!

@keithgh1
I can probably put the whole thing together well.
Because I still had a backup on 2 disks where I could read back
and at least have most of the folder structure with Workbench.
I would like to say thank you with a small donation.
Do you have PayPal?

Your support is more than enough, but if you still feel compelled to contribute, you can do so here: [https://paypal.me/keithtechtravels](paypal link)
I'm going to close this issue now. Feel free to open others if it comes up!


Add restrictive_version_specifiers to Bundler/GemComment

The problem I'm trying to solve:
There are multiple reasons one might lock the version of a gem in the Gemfile:

When a minimum version of the gem is needed to support the project. (Like ">= 2.0".)
When a specific version of the gem has a known bug. (Should be done like "!= 2.4.0".)
When a major version of the gem is incompatible with the project. (Usually looks like "< 3.0".)
For no reason. Some gems even provide instructions like "add gem 'mygem', '~> 2.3' to your Gemfile".

The last two reasons lead to a project's dependencies falling behind because the bundle update process will not update to 3.0 without manual intervention. This would cause dependencies to continue to fall behind and in some cases even limit other non-locked dependencies because of cross-dependencies.
To combat this, good practice would include a periodic cleanup of Gemfile version specifications that limit updating of gems.
Another good practice is a rule that when a gem has a limiting version specifier like items 3 and 4 above, there's a comment in the Gemfile explaining the reason. This allows the periodic cleanup process to be more effective, since one can determine whether a bug is fixed, or know what kind of breakage or test failure to look for when updating the gem past the version specification.
Currently, the version_specifiers option for this cop checks a gem specification for any version specifier, requiring a gem comment if one exists. This means that a non-limiting version specification like ">= 1.0" without a justification would warrant a complaint.
This new option, limiting_version_specifiers, requires a gem comment only for version specifications that are limiting in nature, but not for other version specifications.
So the following version specifications are permitted without comment:
gem "rubocop", ">= 1.0"
gem "rubocop", "!= 2.3.4"

while the following require an accompanying gem comment:
gem "rubocop", "< 3.0"
gem "rubocop", ">= 1.0", "< 3.0"
gem "rubocop", "~> 2.0"
gem "rubocop", "= 2.3.5"

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

I'm fine with the proposed change, but I think you should expand the cop's documentation to account for its rationale.

@RobinDaugherty ping :-)

The changes look good, but your branch has to be rebased on top of the current master branch due to merge conflicts.

✅ I've rebased it.

Thanks!


Question About: Fixed a startup crash due to DirectInput controller enumeration being broken

I have had an issue open in dinputto8 for a while regarding an issue with NFS: Porsche Unleashed crashing when certain controllers are used.
I troubleshot the issue down to a failing call to the CreateEffect function.  The game cannot handle the fail and tries to access the nullptr after the call fails.
But I don't have the controller to test with so I am not quite sure why it fails.  If you have any ideas that could help here that would be great.

Sounds like #1 could be related - however it doesn't break on my wheel. It probably has to do with the game assuming specific FFB capabilities that the wheel might not have, but I am not sure how to test it more - maybe you could dump the input parameters and the result - who knows, perhaps the error here is not DIERR_INVALIDPARAM but something else.

Sounds like #1 could be related

Yes, that is the same issue.

however it doesn't break on my wheel.

Ok, that is good to know at least.  So it is not all wheels, just that one.

perhaps the error here is not DIERR_INVALIDPARAM but something else.

I just checked the logs and it is returning error code 0x80070057.

maybe you could dump the input parameters and the result

I did that and everything looked good, as far I as I can tell.
Here is the function call:
11420 16:27:50.551 m_IDirectInputDeviceX::CreateEffect (06D0CB60) Failed! GUID_Spring { dwSize: 52, dwFlags: 0x22, dwDuration:<PHONE_NUMBER>, dwSamplePeriod: 2000, dwGain: 10000, dwTriggerButton:<PHONE_NUMBER>, dwTriggerRepeatInterval: 50, cAxes: 2, rgdwAxes: 0019FC58, rglDirection: 0069CD38, lpEnvelope: 00000000, cbTypeSpecificParams: 48, lpvTypeSpecificParams: 0069CCF4, 6B14E57F} null hr: -2147024809

I am also seeing these calls fail:
10204 23:20:56.695 m_IDirectInputDeviceX::CreateEffect (0B119838) Failed! GUID_ConstantForce { dwSize: 52, dwFlags: 0x22, dwDuration:<PHONE_NUMBER>, dwSamplePeriod: 2000, dwGain: 5000, dwTriggerButton:<PHONE_NUMBER>, dwTriggerRepeatInterval: 0, cAxes: 2, rgdwAxes: 0019FC88, rglDirection: 0069CB88, lpEnvelope: 00000000, cbTypeSpecificParams: 4, lpvTypeSpecificParams: 0069CB44 ,00000000} null hr: -2147024809
10204 23:20:56.701 m_IDirectInputDeviceX::CreateEffect (0B119838) Failed! GUID_Square { dwSize: 52, dwFlags: 0x22, dwDuration:<PHONE_NUMBER>, dwSamplePeriod: 2000, dwGain: 5000, dwTriggerButton:<PHONE_NUMBER>, dwTriggerRepeatInterval: 0, cAxes: 2, rgdwAxes: 0019FC78, rglDirection: 0069CC18, lpEnvelope: 00000000, cbTypeSpecificParams: 16, lpvTypeSpecificParams: 0069CBD4 ,00000000} null hr: -2147024809

I don't see anything wrong with these calls, so I am not sure what parameter is wrong.

BTW: here is the raw data with all functions logging:  dinput_log.zip
For this update I created an IDirectInputEffect class and returned a pointer to that class even if the CreateEffect failed so that the game would play without crashing.  Then I tried to add the effect by calling IDirectInputEffect::SetParameters().
3724 18:22:42.350 m_IDirectInputDeviceX::CreateEffect (090AC490) Trying! GUID_ConstantForce null
3724 18:22:42.350 DIEFFECT { dwSize:,52, dwFlags:,0x22, dwDuration:,4294967295, dwSamplePeriod:,2000, dwGain:,9900, dwTriggerButton:,4294967295, dwTriggerRepeatInterval:,0, cAxes:,2, rgdwAxes:,0019FC88, rglDirection:,0069CB88, lpEnvelope:,00000000, cbTypeSpecificParams:,4, lpvTypeSpecificParams:,0069CB44, ,0, }
3724 18:22:42.350 DIEFFECT rgdwAxes 0: 0
3724 18:22:42.350 DIEFFECT rgdwAxes 1: 4
3724 18:22:42.350 DIEFFECT rglDirection 0: 0
3724 18:22:42.350 DIEFFECT rglDirection 1: 0
3724 18:22:42.350 DIEFFECT lpvTypeSpecificParams { lMagnitude: 10000 }
3724 18:22:42.350 DIEFFECT { dwSize:,56, dwFlags:,0x22, dwDuration:,4294967295, dwSamplePeriod:,2000, dwGain:,9900, dwTriggerButton:,4294967295, dwTriggerRepeatInterval:,0, cAxes:,2, rgdwAxes:,0019FC88, rglDirection:,0069CB88, lpEnvelope:,00000000, cbTypeSpecificParams:,4, lpvTypeSpecificParams:,0069CB44, dwStartDelay:,4294967295, }
3724 18:22:42.351 DIEFFECT rgdwAxes 0: 0
3724 18:22:42.351 DIEFFECT rgdwAxes 1: 4
3724 18:22:42.351 DIEFFECT rglDirection 0: 0
3724 18:22:42.351 DIEFFECT rglDirection 1: 0
3724 18:22:42.351 DIEFFECT lpvTypeSpecificParams { lMagnitude: 10000 }
3724 18:22:42.351 m_IDirectInputDeviceX::CreateEffect (090AC490) Failed! hr: DIERR_INVALIDPARAM Retrying!
3724 18:22:42.351 m_IDirectInputDeviceX::CreateEffect (090AC490) SetParameters Failed! 359 hr: DIERR_INVALIDPARAM
3724 18:22:42.351 Creating interface m_IDirectInputEffect::m_IDirectInputEffect (0B510EA8)
3724 18:22:42.351 m_IDirectInputEffect::Unload (0B510EA8)

Yes, that is the same issue.

This issue states

No other DirectInput wrappers. Running Windows 10.

which makes me think it's just a game bug - maybe these wheels just don't support the type of Force Feedback the game expects - although it would be strange not to support the constant force...
I have no further ideas atm, but I'll let you know if I manage to reproduce it or gather any more info.

which makes me think it's just a game bug - maybe these wheels just don't support the type of Force Feedback the game expects

That is what I thought also, but it works without dinputto8.  So I guess something is changing between the v1 CreateEffect() call and the v8 CreateEffect() call.  Or some other function needs to be setup first that is not quite setup for v8, but still works with v1.
Anyways, thanks for looking.  If you think of anything let me know.

Anyways, thanks for looking. If you think of anything let me know.

Next time I have my wheel setup, I will try Porsche with dinputto8 - I use dinput.dll as an ASI loader for the patch, but I can just move to use dinput8.dll instead and both wrappers will co-exist.

Thanks!

Anyways, thanks for looking. If you think of anything let me know.

Next time I have my wheel setup, I will try Porsche with dinputto8 - I use dinput.dll as an ASI loader for the patch, but I can just move to use dinput8.dll instead and both wrappers will co-exist.

This would allow for Xidi to be used too. I'd really appreciate that. Thanks!

This would allow for Xidi to be used too. I'd really appreciate that. Thanks!

You can already do that since UAL is generic - just rename dinput.dll to dinput8.dll and it will work fine. Of course you then need another dinput wrapper that'd load dinput8 so UAL works.

This would allow for Xidi to be used too. I'd really appreciate that. Thanks!

You can already do that since UAL is generic - just rename dinput.dll to dinput8.dll and it will work fine. Of course you then need another dinput wrapper that'd load dinput8 so UAL works.

I'm not sure I understand... What dinput.dll file should I rename to dinput8.dll, yours or Xidi's?

I am not sure if Xidi can load another DLL - if it can use another DLL as a proxy, you should have Xidi as dinput.dll and then rename mine to whatever you set the Xidi's proxy to.

Xidi brings a dinput.dll file and a dinput8.dll file, to use one or the other depending on the game. I've contacted the creator to see if the solution can be found.

Latest version of UAL allows to load original(or not original) dll by renaming it to <ualname>Hooked.dll.
vorbisFile.dll -> vorbisHooked.dll for example. It was previously reserved for specific names, now works for all.

Sounds great. I guess that sorts it out once and for all. Thanks so much!