PET processing

Hello everyone,
first of all thank you very much for creating pyradiomics. This is an amazing tool!
Has anybody experience with applying Pyradiomics to PET-data?

Are there any pitfalls to consider?
Are there any recommendation regarding the params/setting file.

Best

Hi Jacapan,
I'm currently working on PET application with Radiomics.
We are developing a free and Open source PET/CT viewer (http://petctviewer.org) which generate NIFTI segmentation file that are successfully read by pyRadiomics.
For all Radiomics calculation questions, I'm not from pyRadiomics team so I won't answer your questions about pitfalls or params settings.
But if you are looking a way to segment PET images and send them to pyRadiomics I think it  would be nice to work together.
Salim

Hi Jacapan,
I did apply pyradiomics to PET images for cross validation of the toolbox
that i made for my work.
I only explored radiomics features including first order stats, shape and
size, and glcm related features. One thing to note is to set the the bin
width appropriately for calculating glcm texture features. I think the
default was set at 25 but works well with CT images. I used 0.1 for a fixed
bin width for SUV converted PET images. It may be different for raw PET
images. I didnt explore wavelet related features, but i can see that it may
take some tweaking of the filters suitable for PET images. Otherwise, i was
able to compute radiomic features from the PET images with a given
segmented VOI.
Hope this help!
Cheers,
Clare
On Thu, Oct 12, 2017, 6:34 AM Salim Kanoun<EMAIL_ADDRESS>wrote:

Hi Jacapan,
I'm currently working on PET application with Radiomics.
We are developing a free and Open source PET/CT viewer (
http://petctviewer.org) which generate NIFTI segmentation file that are
successfully read by pyRadiomics.
For all Radiomics calculation questions, I'm not from pyRadiomics team so
I won't answer your questions about pitfalls or params settings.
But if you are looking a way to segment PET images and send them to
pyRadiomics I think it would be nice to work together.
Salim
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Radiomics/pyradiomics/issues/315#issuecomment-336138763,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGz4vHdldeUuQ7wm6EvHygH6M2Ko-TfJks5srhVfgaJpZM4P2_7u
.


Suggest to use BoringSSL in TiKV

Proposal
From #5022 and #5140, TiKV started to use LibreSSL and then OpenSSL as SSL library. Our original intention was to avoid the dependency of Go, and at the same time do not want to sacrifice security feature. But OpenSSL has been proven to be less secure. However, grpc-rs is about to upgrade the version of grpc core, and I found that grpc compiling is no longer dependent on Go.
So let's back to use default secure feature in grpc-rs. cc @siddontang @BusyJay @overvenus

cc @hicqu

Just curious, is there any reference for OpenSSL being less secure?

I think openssl is used for at least three reasons:

To solve https://github.com/tikv/tikv/issues/5389.
Coprocessor needs to use APIs from openssl to implement several hash related and crypto related functions.
Status server is implemented using hyper, which will depend on openssl. So only switching openssl in grpc doesn't make much sense.

#5389 issue exists in OpenSSL not BoringSSL. The second one reason you said just adds some binary volume, it's not reason. The third one is not reason. @BusyJay

The second one reason you said just adds some binary volume, it's not reason.

I'm not sure what do you mean by "not reason", do you mean it's not a blocker? I'm afraid it is, more to see #3875.

The third one is not reason.

Can you explain more why do you think it's OK to depend on both boringssl and openssl? Supposing boringssl was really more secure than openssl and it was possible to link to both libraries, it would not make tikv more secure as tls connections were still handled by openssl.

BTW, some time ago, when I tested the reload cert function, I found that openssl-vendored is more prone to coredump, and the probability is much greater than boringssl or directly use the openssl provided by the system.
What do you think of this

Reloading coredump is a bug of grpc itself, rather than these libraries.

I think openssl is used for at least three reasons:

To solve #5389.
Coprocessor needs to use APIs from openssl to implement several hash related and crypto related functions.
Status server is implemented using hyper, which will depend on openssl. So only switching openssl in grpc doesn't make much sense.

encryption-at-rest is also using openssl.

Given that since the last switch to openssl, many places have introduced the function of openssl, so the switch to boringssl cost is high. Closing the issue.


Update OpenGraph.php

using try...catch wasn't best idea since if there are a lot of   DOMDocument::loadHTML() everything gets really slow.
the libxml_use_internal_errors(true) indicates that you're going to handle the errors and warnings ourselves and so they don'to mess up the output / slow down things.
This is not the same as the @ operator. The warnings get collected behind the scenes and afterwards you can retrieve them by using libxml_get_errors() in case you wish to perform logging or return the list of issues to the caller.
Whether or not you're using the collected warnings you should always clear the queue by calling libxml_clear_errors().

@alinmiron Looks good to me.

@alinmiron Log::warning() was not working with php 5.6, illuminate/log 6.0 requires php 7. Due to which tests cases were also failing. I have removed Log:: warning () for now till we can come up with something which doesn't break and requires package users to upgrade php version.


fix java lints related to unnecessary unboxing

update the service.md file
re-generate
fix some java lints related to unnecessary unboxing of Interger and Boolean types

@danrubel

LGTM


Checkstyle fix

Fixing the checkstyle error thanks to Codacy

WELL WELL WELL
IT'S RED ISN'T IT ?

Yum yum, red errors


Position of header element changes when navigating to Bootcamp link

When navigating to the Bootcamp link from other sections of the site, the position of the header element changes unexpectedly. This should not happen, and the header should remain in the same position across all pages.

When navigate to bootcamps page from any another page header position getting change -> was happening because loader taking more space => resolved
new issue found -> when you navigate from page which have scroll bar to page which don't have scroll bar the header fluctuates => my suggestion was to remove scroll bar and add down arrow (@prasadhonrao what do you think....)

Good analysis @AkankshShigwan.
We should assume that some of these pages will have vertical scroll bar as content will flow from top to bottom, even for bootcamp details page. Eventually we will have pagination implemented at the bottom of the bootcamps page which will help us to limit number of bootcamps we display on home page.
We should not have a down arrow to navigate as that is not a standard practice in web.

@prasadhonrao, ok so I have then hidden the scroll bar (page which scroll only scroll bar is hidden) to resolve these issues is it correct ?

@AkankshShigwan Not really. If the page contains any data (for e.g. footer) which is not visible to the user, then scroll bar is the indication that there is some additional data and user can scroll to it, so we should not hide the scroll bar.
If you visit websites like facebook and twitter login page, they also show the scroll bar even though there is no additional content at the bottom of the page so you have that much width already allocated for scroll bar. Additionally they also show sticky header which makes it easy to navigate through different pages.
Can you analyze something on those lines pls?

@prasadhonrao in the evening meeting we will discuss this clearly as I have many questions.

Closed by PR 90


Make pdk still broken, having trouble installing with conda

Describe the bug
Trying to run the installation as detailed in the documentation. I raised an issue about this yesterday and was said to be solved, but I am having issues still with OpenRAM or Conda.
Version
Most recent
To Reproduce
Running make pdk after installing conda still is not working on my end.
Expected behavior
Installing sucessfully.
Logs
(OpenRAM) jande180@lab-XPS-8950:~/CARP/OpenRAM$ make pdk
Cloning skywater PDK...
HEAD is now at f70d8ca Merge pull request #346 from QuantamHD/add_reram
Installing open_pdks...
/bin/sh: 1: source: not found
make: *** [Makefile:75: /home/jande180/CARP/OpenRAM/sky130A] Error 127

If you have installed conda, make pdk will activate the conda environment and use the Magic tool installed there. The Makefile uses source ./miniconda/bin/activate command to activate it. Your /bin/sh can't find the source command. /bin/sh is usually a symbolic link to your system shell.
This command must be available in /bin/bash. Maybe you can switch to that one? What is your system shell? You can run echo $SHELL to see it.

My system shell is bash

Can you try again after adding the following line somewhere at the top of the Makefile? Your /bin/sh may not be linked to /bin/bash.
SHELL := /bin/bash

The make pdk worked, as did make install, but still running into issues with using make in the macros folder.
~/CARP/OpenRAM/macros$ make 32by2048_1rw1r
make: *** No rule to make target '32by2048_1rw1r'.  Stop.

The make target doesn't match any config name in the config folders in macros. For example, you can try:
make freepdk45_sram_1rw1r_32x2048_8.ok

That matches the name of one of my configs that I added to the sram_configs folder. Any reason for having to add the .ok at the end of the config name? Additionally, running into this issue where the path to the temp.gds is not found.
[openram.router.router_tech/init]: Minimum track wire width: 0.380
Traceback (most recent call last):
File "/home/jande180/CARP/OpenRAM/sram_compiler.py", line 71, in
s = sram()
File "/home/jande180/CARP/OpenRAM/compiler/sram.py", line 58, in init
self.s.create_layout()
File "/home/jande180/CARP/OpenRAM/compiler/modules/sram_1bank.py", line 216, in create_layout
self.route_layout()
File "/home/jande180/CARP/OpenRAM/compiler/modules/sram_1bank.py", line 1080, in route_layout
init_bbox = self.get_bbox(side="ring",
File "/home/jande180/CARP/OpenRAM/compiler/base/hierarchy_layout.py", line 1805, in get_bbox
self.gds_write(gds_filename)
File "/home/jande180/CARP/OpenRAM/compiler/base/hierarchy_layout.py", line 1492, in gds_write
writer.writeToFile(gds_name)
File "/home/jande180/CARP/OpenRAM/compiler/gdsMill/gdsMill/gds2writer.py", line 563, in writeToFile
self.fileHandle = open(fileName,"wb")
FileNotFoundError: [Errno 2] No such file or directory: '/results/32by2048_1rw1r/tmp/temp.gds'
make: *** [Makefile:84: 32by2048_1rw1r.ok] Error 1

We have .ok at the end because it's how the Makefile targets are defined here.
Can you make sure that this path exists? Notice that it is an absolute path, not a relative one. Maybe you wanted ./results/32by2048_1rw1r/tmp/temp.gds?

We used to not have the ok in the target but it got added somehow. I think we used to have an additional target without the .ok as well? It's supposed to create a "stamp" file with .ok just to know that it was run and not run again until deleted or cleaned.
If we can remove the .ok from the target that would be more intuitive.

On the issue of the path to the temp.gds, I am confused as to why I would specify a path to that. It seems like the flow is trying to open a temporary file it had previously created, but is looking in the wrong place. Running the flow with some of the example modules results in the same error.

I think I found the root cause of this issue. Can you look at what OpenRAM's log says about "temp" directory. Seems like it fails to create that directory but doesn't give an error.

[openram.globals/init_openram]: Initializing OpenRAM...
[openram.globals/setup_paths]: OpenRAM source code found in /home/jande180/CARP/OpenRAM/compiler
[openram.globals/setup_paths]: Temporary files saved in /results/32by2048_1rw1r/tmp/
ERROR: file globals.py: line 328: Configuration file name is not a valid Python module name: 32by2048_1rw1r. It should be a valid identifier.
[openram.globals/read_config]: Configuration file is /home/jande180/CARP/OpenRAM/macros/sram_configs/32by2048_1rw1r.py
[openram.globals/read_config]: Output saved in /home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/
[openram.globals/install_conda]: Creating conda setup...
[openram.globals/import_tech]: Tech directory found in /home/jande180/CARP/OpenRAM/technology:/home/jande180/.local/lib/python3.10/site-packages/openram/technology
[openram.globals/import_tech]: Adding technology path: /home/jande180/CARP/OpenRAM/technology
[openram.globals/import_tech]: Adding technology path: /home/jande180/.local/lib/python3.10/site-packages/openram/technology
[openram.globals/init_paths]: Creating temp directory: /results/32by2048_1rw1r/tmp/
[openram.globals/setup_bitcell]: Using bitcell: bitcell_2port
[openram.characterizer/]: Initializing characterizer...
[openram.characterizer/]: Analytical model enabled.
[openram.verify/]: Initializing verify...
[openram.verify/]: LVS/DRC/PEX disabled.
[openram.globals/setup_bitcell]: Using bitcell: bitcell_2port
|==============================================================================|
|=========                      OpenRAM v1.2.11                       =========|
|=========                                                            =========|
|=========               VLSI Design and Automation Lab               =========|
|=========        Computer Science and Engineering Department         =========|
|=========            University of California Santa Cruz             =========|
|=========                                                            =========|
|=========          Usage help<EMAIL_ADDRESS>         =========|
|=========        Development help<EMAIL_ADDRESS>      =========|
|=========                See LICENSE for license info                =========|
|==============================================================================|
** Start: 05/04/2023 15:49:22
Technology: sky130
Total size: 65536 bits
Word size: 32
Words: 2048
Banks: 1
RW ports: 1
R-only ports: 1
W-only ports: 0
DRC/LVS/PEX is only run on the top-level design to save run-time (inline_lvsdrc=True to do inline checking).
DRC/LVS/PEX is disabled (check_lvsdrc=True to enable).
Characterization is disabled (using analytical delay models) (analytical_delay=False to simulate).
Words per row: None
Output files are:
/home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/32by2048_1rw1r.lvs
/home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/32by2048_1rw1r.sp
/home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/32by2048_1rw1r.v
/home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/32by2048_1rw1r.lib
/home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/32by2048_1rw1r.py
/home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/32by2048_1rw1r.html
/home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/32by2048_1rw1r.log
/home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/32by2048_1rw1r.lef
/home/jande180/CARP/OpenRAM/macros/32by2048_1rw1r/32by2048_1rw1r.gds
[openram.sram_config/recompute_sizes]: Recomputing with words per row: 8
[openram.sram_config/recompute_sizes]: Rows: 256 Cols: 256
[openram.sram_config/recompute_sizes]: Row addr size: 8 Col addr size: 3 Bank addr size: 11
[openram.sram_config/compute_sizes]: Set SRAM Words Per Row=8
[openram.modules.bitcell_base_array/init]: Creating 32by2048_1rw1r_capped_replica_bitcell_array 256 x 256
[openram.modules.capped_replica_bitcell_array/init]: Creating 32by2048_1rw1r_capped_replica_bitcell_array 256 x 256 rbls: [1, 1] left_rbl: [0] right_rbl: [1]
[openram.modules.bitcell_base_array/init]: Creating 32by2048_1rw1r_replica_bitcell_array 256 x 256
[openram.modules.replica_bitcell_array/init]: Creating 32by2048_1rw1r_replica_bitcell_array 256 x 256 rbls: [1, 1] left_rbl: [0] right_rbl: [1]
[openram.modules.bitcell_base_array/init]: Creating 32by2048_1rw1r_bitcell_array 256 x 256
[openram.modules.bitcell_array/init]: Creating 32by2048_1rw1r_bitcell_array 256 x 256
[openram.modules.bitcell_base_array/init]: Creating 32by2048_1rw1r_replica_column 258 x 1
[openram.modules.bitcell_base_array/init]: Creating 32by2048_1rw1r_replica_column_0 258 x 1
[openram.modules.bitcell_base_array/init]: Creating 32by2048_1rw1r_dummy_array 1 x 256
[openram.modules.bitcell_base_array/init]: Creating 32by2048_1rw1r_col_cap_array 1 x 258
[openram.modules.bitcell_base_array/init]: Creating 32by2048_1rw1r_col_cap_array_0 1 x 258
[openram.modules.bitcell_base_array/init]: Creating 32by2048_1rw1r_row_cap_array 258 x 1
[openram.modules.bitcell_base_array/init]: Creating 32by2048_1rw1r_row_cap_array_0 258 x 1
[openram.modules.and2_dec/init]: Creating and2_dec and2_dec
[openram.modules.and3_dec/init]: Creating and3_dec and3_dec
[openram.modules.and4_dec/init]: Creating and4_dec and4_dec
[openram.modules.wordline_driver_array/init]: Creating 32by2048_1rw1r_wordline_driver_array
[openram.modules.wordline_driver/init]: Creating wordline_driver wordline_driver
[openram.modules.and2_dec/init]: Creating and2_dec and2_dec_0
[openram.modules.precharge_array/init]: Creating 32by2048_1rw1r_precharge_array
[openram.modules.sense_amp_array/init]: Creating 32by2048_1rw1r_sense_amp_array
[openram.modules.column_mux_array/init]: Creating 32by2048_1rw1r_column_mux_array
[openram.modules.write_driver_array/init]: Creating 32by2048_1rw1r_write_driver_array
[openram.modules.precharge_array/init]: Creating 32by2048_1rw1r_precharge_array_0
[openram.modules.column_mux_array/init]: Creating 32by2048_1rw1r_column_mux_array_0
[openram.modules.pand3/init]: Creating pand3 pand3
[openram.modules.pdriver/init]: creating pdriver pdriver
[openram.modules.dff_array/init]: Creating 32by2048_1rw1r_row_addr_dff rows=8 cols=1
[openram.modules.dff_array/init]: Creating 32by2048_1rw1r_col_addr_dff rows=1 cols=3
[openram.modules.dff_array/init]: Creating 32by2048_1rw1r_data_dff rows=1 cols=32
[openram.modules.control_logic_base/init]: Creating control_logic_rw
[openram.modules.dff_buf/init]: Creating 32by2048_1rw1r_dff_buf
[openram.modules.dff_buf_array/init]: Creating 32by2048_1rw1r_dff_buf_array
[openram.modules.dff_buf/init]: Creating 32by2048_1rw1r_dff_buf_0
[openram.modules.pand2/init]: Creating pand2 pand2
[openram.modules.pdriver/init]: creating pdriver pdriver_0
[openram.modules.pbuf/init]: creating pbuf with size of 256
[openram.modules.pdriver/init]: creating pdriver pdriver_1
[openram.modules.pdriver/init]: creating pdriver pdriver_2
[openram.modules.pand3/init]: Creating pand3 pand3_0
[openram.modules.pdriver/init]: creating pdriver pdriver_3
[openram.modules.pand3/init]: Creating pand3 pand3_1
[openram.modules.pdriver/init]: creating pdriver pdriver_4
[openram.modules.pdriver/init]: creating pdriver pdriver_5
[openram.modules.delay_chain/init]: creating delay chain [4, 4, 4, 4, 4, 4, 4, 4, 4]
[openram.modules.control_logic_base/init]: Creating control_logic_r
[openram.modules.dff_buf_array/init]: Creating 32by2048_1rw1r_dff_buf_array_0
[openram.modules.pdriver/init]: creating pdriver pdriver_6
** Submodules: 25.6 seconds
** Placement: 0.0 seconds
[openram.router.router_tech/init]: Minimum track width: 0.680
[openram.router.router_tech/init]: Minimum track space: 0.300
[openram.router.router_tech/init]: Minimum track wire width: 0.380
This is the entire log from the failed run. One of the first lines seems to try to make the results directory but fails.

I'll try to fix this issue. For now, you can define openram_temp in your config file to a path that actually exists so that OpenRAM can write the temporary files.

Put that into my python file in the sram_configs file? I've tried your suggestion and it seems like adding this parameter does not make a difference where it tries to create the temporary files.

Update, it was likely an issue with permissions, as I am running the OpenRAM on a machine at my university which has different permissions. I added sudo and ran and it seems to not be failing out and has the ability to make the directory.

OpenRAM should now throw an error if it can't make the temp directory (420ce01b46d2db06e0132e5f18f0e0dcd86949ba, v1.2.13).


schedule_interval not working as expected?

Hi there,
I created a DAG like such:

default_args = {
  'owner': 'kmandich',
  'pool': 'ep_feedback_report',
  'depends_on_past':False,
  'start_date': START_DATE,
  'email'<EMAIL_ADDRESS>  'schedule_interval':timedelta(days=7),
  'email_on_failure': True,
  'email_on_retry': True
}

dag = DAG('feeback_report', default_args=default_args)```

I was expecting this DAG to run once every 7 days, starting at 0:00 UTC on Sep. 14, 2015. However, it seems to be running every dat at 0:00 UTC. Am I not setting the `schedule_interval` field correctly? From what I can tell after checking the documentation, this is how this parameter should be defined. Please let me know, and thank you.

schedule_interval is a DAG param now...

I just added a warning to clarify this:
https://github.com/airbnb/airflow/commit/3e8bb2abf18c3a130c52288e25f5f7d114e407ad

For sure, thanks!


Stuff I would like to have available

If you can tell me which packages contain these items, I would be more than happy to install them.
Thank you very much in advance.
gimp (Gnu Image Manipulation Program)
xemacs
gnu octave
gnuplot
thunderbird (or similar)
opera (I've got it on Sabayon but don't know if I really need it)
deluge (or similar)
gkrellm
brasero
k3b
gnome-disks
gparted
oracle vm virtualbox
as many games as I can find...got to entertain myself and others. ;-)

Hi, if you know what you need, try luet search and the name of the app, like this, as su:
luet search gimp
or simply:
sudo luet search gimp
The output is like this:
 INFO   --- Search results (gimp): ---
> apps/gimp-2.10.32
 -> Category: apps
 -> Name: gimp
 -> Version: 2.10.32
 -> Description: GNU Image Manipulation Program
 -> Repository: mocaccino-community-stable
 -> Uri: https://www.gimp.org/
 -> Installed: false

So there is a package for gimp (in the community repository which you must have it installed).
So, you issue as su or by using sudo:
sudo luet install apps/gimp and follow the steps (you will be asked to confirm).
Alternately, to skip confirmation, you can issue directly:
sudo luet install apps/gimp -y
Note, you need the category and the name, not the version, but it accepts the version if you provide it.
If you don't have community repository installed, you can perform a similar procedure for it:
sudo luet search community
and you get:

 INFO   --- Search results (community): ---
> repo-updater/mocaccino-community-stable-0.1+30
 -> Category: repo-updater
 -> Name: mocaccino-community-stable
 -> Version: 0.1+30
 -> Description:
 -> Repository: mocaccino-repository-index
 -> Uri:
 -> Installed: false
> repository/mocaccino-community-stable-20220912225446
 -> Category: repository
 -> Name: mocaccino-community-stable
 -> Version:<PHONE_NUMBER>5446
 -> Description:
 -> Repository: mocaccino-repository-index
 -> Uri:
 -> Installed: true
> repository/mocaccino-community-20220912225446
 -> Category: repository
 -> Name: mocaccino-community
 -> Version:<PHONE_NUMBER>5446
 -> Description:
 -> Repository: mocaccino-repository-index
 -> Uri:
 -> Installed: false

Above you see both repos,

staging: repository/mocaccino-community
stable: repository/mocaccino-community-stable

As end user, you install the stable one:
sudo luet install repository/mocaccino-community-stable
Note, in the above list you have the information stating if some package or repo is already installed:
 -> Installed: true
Also noteluet search supports partial names, as you can see above. In facts it supports a regex.
sudo luet search "gimp|xemacs"
 INFO   --- Search results (gimp|xemacs): ---
> apps/gimp-2.10.32
 -> Category: apps
 -> Name: gimp
 -> Version: 2.10.32
 -> Description: GNU Image Manipulation Program
 -> Repository: mocaccino-community-stable
 -> Uri: https://www.gimp.org/
 -> Installed: false

The above means gimp is present in the repos, but not installed. There is no xemacs. Actually, there is emacs only.
Taking your list, I would do:
sudo luet search "gimp|emacs|octave|gnuplot|thunderbird|opera|deluge|gkrellm|brasero|k3b|gnome-disks|gparted|virtualbox"

@msdobrescu Thank you!  Your response is excellent.  This is exactly what I was looking for.  I'm not a developer and have not enough time to get in-depth on luet and mocaccino packages, so your nearly-cookbook instructions are exactly what I needed to read.  I am a little curious how you learned all this, but I am extremely appreciative that you shared your knowledge.

I just thought of another question regarding luet and installation.  Can you install multiple applications with a single call to luet?  That is, perhaps something like "sudo luet install apps/gimp apps/emacs -y"?  Or can you install only one application with a single luet command?  (I haven't tried this and instead wrote a shellscript that runs many "luet install <insertNameHere> -y" commands.)
Thank you in advance!

Hi, don't mention it! I have learned luet directly from its creator, @mudler, and @joostruis. They dedicated a lot of time to teach me and I am glad to pass further that time and the knowledge :).
Indeed, sudo luet install apps/gimp apps/emacs -y works and It does not hurt the system to try it even though it wouldn't work.
Generally, luet would bring the deps too, which are apps and libs. If you encounter some conflicts and can't install, please report. In that case must uninstall the apps and the deps one by one. It's a case should not happen unless some libs are moved between packages by us, which may happen sometimes.
Enjoy our distro ;)!

Hi, sorry for the confusion! Au contraire, it works to specify several packages like that. I wanted to say if you are not sure and try it, would not harm, in the worst case you get an error.
So issue sudo luet install apps/gimp apps/emacs -y, it works!

Concerning the packages meaning, I can't tell all the packages by heart. I can do, for example:
luet search fluid
 INFO   --- Search results (fluid): ---
> apps/fluidsynth-2.2.8
 -> Category: apps
 -> Name: fluidsynth
 -> Version: 2.2.8
 -> Description: Software real-time synthesizer based on the Soundfont 2 specifications
 -> Repository: mocaccino-community-stable
 -> Uri: https://www.fluidsynth.org
 -> Installed: true
> libs/fluid-soundfont-3.1
 -> Category: libs
 -> Name: fluid-soundfont
 -> Version: 3.1
 -> Description: The Fluid R3 soundfont
 -> Repository: mocaccino-community-stable
 -> Uri: http://musescore.org/en/handbook/soundfont
 -> Installed: true
> libs/fluidsynth-dssi-1.0.0-r1
 -> Category: libs
 -> Name: fluidsynth-dssi
 -> Version: 1.0.0-r1
 -> Description: DSSI Soft Synth Interface
 -> Repository: mocaccino-community-stable
 -> Uri: http://dssi.sourceforge.net/
 -> Installed: true

Above, you see a description and a URL for the application's upstream source, taken from one of https://packages.gentoo.org,  the official Gentoo overlay, where fluidsynth search leads eventually to https://packages.gentoo.org/packages/media-sound/fluidsynth, or https://gpo.zugaina.org, the official and third party Gentoo overlays, that similarly leads to https://gpo.zugaina.org/media-sound/fluidsynth.

I tried to replicate the gkrellm system monitoring graphical tool found on Sabayon onto my Mocaccino system.  In the Sabayon repositories it existed within app-admin/gkrellm.  I note that in mocaccino there exists an entity/gkrellmd, which I installed.  However, I cannot find the executable gkrellm which places the system monitoring graphical tool onto my display.  Also, when I use sudo luet search gkrellm the resulting "Description:" field is empty.  Perhaps the entity/gkrellmd package (or app) is just the daemon-side of the complete tool.  I don't know.  I don't know how to drive up the graphical tool.  I performed find / -iname "*gkrellm*" -print and found several gkrellm-related files but no gkrellm executable:
/etc/entities/gkrellmd (a directory containing group and passwd subdirectories)
/usr/share/vim/vim90/syntax/gkrellmrc.vim
/usr/share/bash-completion/completions/gkrellm
/usr/share/bash-completion/completions/gkrellm2
and of course
/var/luet/db/repos/mocaccino-os-commons-stable/treefs/entity/gkrellmd
And of course, being someone who likes games, I am looking for those as well.  LSkat, KPatience, Tetravex, KNetWalk, Konquest, KBlackBox, KSquares, Mahjongg, etcetera, ad nauseum, ad infinitum. ;-)  I just don't know how to find them yet.

Entities are the packages for the system groups and/or users that are required by a specific software to run. There are entities defined in preparation for the future apps because those are deployed at a lower level than the community packages themselves.
That being said, I'd say gkrellm is not yet available. Also the games you have listed above.
As a general rule, packages requests are made for each piece of software alone, meaning, if you need some application or several, for each of those a request should be done.
Depending of their nature, will be added or not, to a layer of the main distro or to the community repo, according to our man power available, if available, but also to the planned milestones or current priorities etc.. I hope you understand.

I understand.  It's perfectly understandable.  Macaccino is a work in progress.  From what I have observed in my new installation of Mocaccino, I think the developers have done an excellent job!

Thank you for appreciation, in the name of the entire team!

@VolvoBirkenstock, gkrellm was added. However, it may not be accessible right now unless you force repository updates:
sudo luet repo update
Then search for it and install. I have no experience with it, could you please provide feed-back for it?
If you want a full update too, you may use:
`sudo luet repo update && luet upgrade -y'
After repos are forcibly updated and, generally, a system upgrade, may need to run sudo etc-update for configs changes merging.
If things moved across packages, it's possible to have upgraded successfully, but still some binaries be missing due to the order the upgrade packages were applied. So, it's  advised to run a sanity check:
sudo luet oscheck --reinstall or sudo luet oscheck --reinstall -y, to automatically apply the fixes.
A restart is needed too if the check reinstalled or removed some packages. Then run the command again until you get a SUCCESS All good! message.

Thank you, @msdobrescu !   I followed your instructions literally.  gkrellm is running and it checks out.  (After installing Mocaccino, I untar'd my data into my user space, and when I ran gkrellm and opened the configuration by right-clicking on the gkrellm window frame, I saw my old settings.)  I suspect that a future improvement would include a package called "lm_sensors" that is either not currently available or is already incorporated within your gkrellm package.  Within Sabayon, there was a package called sys-apps/lm_sensors.  I'm not asking for it at this time, but I am thankful for the generosity of your time and effort.  Very much appreciated!

sys-apps/lm-sensors is included in the main distro. Try sensors or sensors-detect commands. gkrellm should be able to use them already. You may need to reconfigure them again.

Thank you again, @msdobrescu .  I have verified that it is all there and it is working.  I learn something new every day. :-)


fix ‘uint32_t’ has not been declared error

Fixes build error with gcc 13.2 on Ubuntu 24.04

Thanks!


cmd/cue: fmt should not attempt to resolve imports

What version of CUE are you using (cue version)?

$ cue version
cue version +fdccfbc5 linux/amd64

Does this issue reproduce with the latest release?
Yes
What did you do?
A variation on #653
exec cue fmt x.cue
rm a/a.cue
exec cue fmt x.cue

-- a/a.cue --
package a
-- cue.mod/module.cue --
module: "mod.com"
-- x.cue --
package x

import "mod.com/a"

x: 5

What did you expect to see?
No error
What did you see instead?
> exec cue fmt x.cue
> rm a/a.cue
> exec cue fmt x.cue
[stderr]
import failed: build constraints exclude all CUE files in mod.com/a (ignored: x.cue):
    ./x.cue:3:8

This issue has been migrated to https://github.com/cue-lang/cue/issues/728.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Is there a way to conditionally log the HTTP request/response?

Is it possible to hook into all requests made by supertest and conditionally log the request/response details?

yes, we need that! the stacktrace is telling you nothing at the moment!


Syncing with upstream ipfs-service-provider

:tada: This PR is included in version 1.8.8 :tada:
Your semantic-release bot :package::rocket:


Sample Bot ready to be hosted on Heroku

Hey, Great Bot API Actually!
And It really needs one of those boilerplate set-ups on cloud hostings, does it?
I can add one for GAE as well, if you find it useful.

Thank you. I appreciate it. But I'd like to focus on 8.2 before looking at this. I will get back to you after 8.2 is done.
As for GAE, some people have reported problem getting telepot to run there (issue #55). Do you see this as a problem?

@vavdoshka Have you had any luck launching a bot on Heroku using aiohttp with Gunicorn instead of flask and Gunicorn?

Just a little question,
Assuming my current code uses polling instead of webhooks, is there a way to deploy it that way or do I have to convert it?


Support for TLS tunnels with Postgres without using the Postgres-specific upgrade protocol

Google Cloud SQL has its own scheme for connecting securely to databases, as (lightly) described here: https://cloud.google.com/sql/docs/postgres/sql-proxy
The general approach is that the client creates an ephemeral public/private key pair; the client then sends the public key to Google, which hands back a private key to use to verify the server side of the connection; the client then connects using the locally generated private key.
I'm not really asking for any of this to be supported inside SQLx, but the largest blocking issue for implementing this externally is that SQLx can only create TLS connections to Postgres using the Postgres protocol - i.e. the SSLRequest message section of postgres::connection::tls::upgrade which implements https://www.postgresql.org/docs/current/protocol-flow.html#id-<IP_ADDRESS>.11
To be able to make one of these connections, one of these is necessary:

a Postgres mode which upgrades to TLS without that request/response section, OR
a way to pass a socket in to SQLx, and the whole security layer is implemented externally.

I'd be happy to work on the code for this, given any guidance on which (if any) of these might be an acceptable approach.
Additional notes:
Separately, it will need to be possible (for my purposes) to set the client cert in PgConnectOptions - the change to make this possible looks like it should be straightforward now that client certs are supported in the config.
Also, I'm just concentrating on Postgres here because it's the DB type I care about, and all the code changes look like something that would be implemented separately for each database type.

It sounds like you're supposed to run the other end of the proxy locally and connect to that as if it were the Postgres database: https://cloud.google.com/sql/docs/postgres/connect-auth-proxy
You can just use Unix domain sockets for that.


CI: add regen job

Simple test using regen_all on 2 segments: TOYOTA (old EON) and FORD (recent TICI). Only thing tested here is if openpilot was engaged for min. of 10 seconds.

These segments aren't that unique. I was thinking this is a separate segment list that would have interesting cases like comma two, pandaState, etc.

prius segments its kinda unique on its own, and covers a lot of cases: comma 2, no peripheral state, old panda state

This test is still fairly slow and only covers 2 segments. Is there any downside to only covering 5-10% of segment?

I feel the main goal of this test is to see if full op replay still works - so even the single segment would be fine.
Tests for migration mechanism for old files and edge cases could run individual processes in isolation (like controlsd).


IndexOutOfRangeException in AngleSharp.Common.ArrayPoolBuffer.Append

Prerequisites

[X] Can you reproduce the problem in a MWE?
[X] Are you running the latest version of AngleSharp?
[X] Did you check the FAQs to see if that helps you?
[X] Are you reporting to the correct repository? (there are multiple AngleSharp libraries, e.g., AngleSharp.Css for CSS support)
[X] Did you perform a search in the issues?

Description
Malformed input found by fuzzer crashes HtmlParser.ParseDocument.
Steps to Reproduce
var html = Encoding.UTF8.GetString(File.ReadAllBytes("crash-1a949173befa2cc26c41985adefc49b3d79cdad4.txt"));
var parser = new AngleSharp.Html.Parser.HtmlParser();
parser.ParseDocument(html.ToCharArray(), 0);

Input file appended:
crash-1a949173befa2cc26c41985adefc49b3d79cdad4.txt
Expected Behavior
Don't crash :)
Actual Behavior
Crash :(
Possible Solution / Known Workarounds
I see recent changes to ArrayPoolBuffer.

Fixed in 1.1.1.


Add Your Name and suggestions

Hello Contributor! 👋
We all know sharing is caring. This issue is meant for the same purpose. 🌷
We invite all the techies 😎 , enthusiast 😸 , and newbies 🤩 to share your resources. We are a big family here and every help counts 😉
This issue is meant for all whether it's your first pull request 🎊  or you are a frequent visitor 💃
These resources can be anything:

A good book 📖
A blog/s ✍
A site ⭐
Youtube Channel 🤟
Courses 🔢
Anything of your choice 😃

Add these useful resources and some basic information to the Issue_Resource_Template !
Follow these simple steps:

Fork this repository
Clone the repository
Open the Issue_Resource_Template
Copy the required and add information
Push The changes
Create the Pull Request!

Wait for the request to be merged. Till then celebrate for contributing 🥳 🥳

can l work on this.

Hey @crazy548 this isssue is open for all go for it 🎉

Closing due to inactivity.


Automate legal notices

Description
Add a fastlane action (bundle exec fastlane ios update_licenses) to generate the licenses in AppInformationViewController+LegalModel.swift and the THIRD-PARTY-NOTICES based on a new licenses.json.
Maybe this helps with issue #204.

@dfelber @frnkschmtt please align with #371.

@dfelber @frnkschmtt please align with #371.

Discussion already done in the related issue #204


Develop Racket library for Forecast

First pass:

Return all People, Projects, and Assignments

This interface should:

obtain the JSON-encoded data
convert each person, project, assignment, or client record to a struct
return a list of structs
provide contracts for those structs

On the last point, the contracts guarantee that the values in the returned structs are of the appropriate type. I think we don't need to protect the structs against misuse outside the library.

Actually, on reflection, I think we want a lower layer which handles authentication and connection to the Forecast server, and returns the json as returned by Forecast; then a layer on top of that to convert to more sensible datatypes.
Also, on reflection, I think I won't try to hide the connection details (ie, which Forecast instance we are connecting to) in the library; instead, we'll pass a connection object to each request. It's not too much hassle.


error: bad char in struct format in read_plain_int96

"<qi" * count produces something like <qi<qi<qi
The docs indicate that the first character of the format string can be used to indicate the byte order, size and alignment.
I've tested potential fixes for this but I suspect the results may be incorrect because the values aren't what I expected. I tried calling an old version of read_plain_int96 multiple times, but that didn't produce values I expected either.
Does anybody have a good test case for this or know what the format ought to be?
(most recent call last):
  File "/usr/lib64/python2.7/pdb.py", line 1314, in main
    pdb._runscript(mainpyfile)
  File "/usr/lib64/python2.7/pdb.py", line 1233, in _runscript
    self.run(statement)
  File "/usr/lib64/python2.7/bdb.py", line 400, in run
    exec cmd in globals, locals
  File "<string>", line 1, in <module>
  File "transformParquet.py", line 1, in <module>
    import parquet
  File "/home/ec2-user/poll-pull-transform-parquet/pptp/local/lib/python2.7/site-packages/parquet/__init__.py", line 379, in DictReader
    for row in reader(fo, columns):
  File "/home/ec2-user/poll-pull-transform-parquet/pptp/local/lib/python2.7/site-packages/parquet/__init__.py", line 433, in reader
    dict_items = read_dictionary_page(fo, ph, cmd)
  File "/home/ec2-user/poll-pull-transform-parquet/pptp/local/lib/python2.7/site-packages/parquet/__init__.py", line 359, in read_dictionary_page
    page_header.dictionary_page_header.num_values)
  File "/home/ec2-user/poll-pull-transform-parquet/pptp/local/lib/python2.7/site-packages/parquet/encoding.py", line 88, in read_plain
    return conv(fo, count)
  File "/home/ec2-user/poll-pull-transform-parquet/pptp/local/lib/python2.7/site-packages/parquet/encoding.py", line 46, in read_plain_int96
    items = struct.unpack("<qi" * count, fo.read(12) * count)
error: bad char in struct format

Thanks for the report. Looks like there was more than one bug in that parsing code. Putting together a fix now.

Should be fixed by #50 . Please reopen if you're still seeing issues!


Better Bun Support (bun:sqlite)

Hello! :wave:
I'm currently using your awesome package to build an internal local-first app at my company. I'm using Bun & SvelteKit to build my project, and so I noticed that this package has experimental support for Bun. Now I'm still a beginner in this whole local-first cr-sqlite CRDT world. But as I understand it, any SQLite instance that works with cr-sqlite should be able to work with CRStore, bun:sqlite included.
Problem
When I try to run this file in Bun:
import { crr, primary } from "crstore";
import { boolean, object, string } from "superstruct";
import { database } from "crstore";
import Os from 'os';
import { Database } from 'bun:sqlite';

const macOS = Os.platform() === "darwin";

if (macOS) {
    /**
     * By default, macOS ships with Apple's proprietary build of SQLite
     * which doesn't support extensions. (therefore does not support cr-sqlite)
     * To use extensions, you'll need to install a vanilla build of SQLite.
     * Reference: https://bun.sh/docs/api/sqlite#loadextension
     */
    Database.setCustomSQLite("/opt/homebrew/opt/sqlite/lib/libsqlite3.dylib");
}

// Struct that represents the table
const todos = object({
  id: string(),
  title: string(),
  text: string(),
  completed: boolean(),
});
crr(todos); // Register table with conflict-free replicated relations
primary(todos, "id"); // Define a primary key (can be multi-column)

const schema = object({ todos });

const { close } = database(schema);

close();

I get this error:
53 |             return Promise.resolve({
54 |                 rows: stmt.all(parameters),
55 |             });
56 |         }
57 |         else {
58 |             const { changes, lastInsertRowid } = stmt.run(parameters);
                                                      ^
TypeError: Right side of assignment cannot be destructured
      at executeQuery (/Users/fawaz/Projects/crstore-bun-issue/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js:58:50)
      at /Users/fawaz/Projects/crstore-bun-issue/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js:35:15
      at rollbackTransaction (/Users/fawaz/Projects/crstore-bun-issue/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js:34:31)
      at /Users/fawaz/Projects/crstore-bun-issue/node_modules/kysely/dist/esm/kysely.js:417:23

Minimal Reproduction: https://github.com/fawaz-alesayi/crstore-bun-issue
Why I think this happens
After a couple of minutes of investigation I noticed that you're using Kysely when creating the new tables defined by superstruct.
As I understand it, Kysely only supports bun:sqlite if you're using a custom adapter like these ones
https://github.com/dylanblokhuis/kysely-bun-sqlite
https://github.com/subframe7536/kysely-sqlite-tools/tree/master/packages/dialect-bun-worker
Solutions
Here are some ways I thought up of making Bun support better:
Solution 1: Allow users to provide their own Kysely adapters
This is the solution I'm using in my fork and it works great. The new API for the database function would be
import { object, string, type Infer } from "superstruct";

    const db = database(schema, {
      name: "test.db",
      kysely: ({ database }) => {
        return new Kysely<Schema<Infer<typeof schema>>>({
          dialect: new SqliteDialect({ database }), // Or BunDialect, LibSQL, whatever works with cr-sqlite
          plugins: [new JSONPlugin()],
        });
      },
    });

Solution 2: Conditional check to load appropriate Kysely Dialect
Would look something like this:
// https://github.com/Azarattum/CRStore/blob/main/src/lib/database/index.ts
async function init<T extends CRSchema>(
  file: string,
  schema: T,
  paths = defaultPaths,
) {
  type DB = Schema<T>;
  if (connections.has(file)) return connections.get(file) as Connection<DB>;

  const { database, browser } = await load(file, paths);
  const Dialect = browser ? CRDialect : process.isBun ? SqliteBunDialect : SqliteDialect;
  const kysely = new Kysely<DB>({
    dialect: new Dialect({ database }),
    plugins: [new JSONPlugin()],
  });

// ... rest of the code

I haven't had much time to dig into the actual error that is produced by Kysely and why it happens with Bun. but my guess is that there's some subtle API differences between bun:sqlite and better-sqlite3 that causes this error.

Hello, @fawaz-alesayi. Thank you for an awesome description of an issue and all your investigation on the problem.
The issue is indeed originates from bun:SQLite having a slightly different API. In particular, run function doesn't return any metadata unlike better-sqlite. In fact we cannot even differentiate whether a prepared statement returns any result or not (because reader property is not implemented in bun:sqlite). kysely-bun-sqlite works around this issue by treating every query as if it returned something (running them with .all()).
I have made a separate runtime entry in CRStore for bun which makes reader always be true in prepared statements therefore making them compatible with default SQLite adapter. That also brought some QOL changes, like now you don't have to do Database.setCustomSQLite nonsense to make it work on MacOS (CRStore does that for you). You can also overwrite that default path with the the same binding path option that you would use in node.
I've published 0.23.0 version with these changes. Although I was able to run CRStore's test suit successfully with bun (even without vitest), let me know if there are any other bun-related difficulties you encounter while building your app. So, that we can finally bring bun support out of the experimental stage.


Can't download MPIIFaceGaze_supplementary.h5 and GazeCapture_supplementary.h5 now

This is now resolved with 4e76176 - thanks for letting me know about the broken link!

This is now resolved with 4e76176 - thanks for letting me know about the broken link!

Thanks a lot!


multiple text strokes feature request

It would be cool to be able to apply multiple strokes to text. Something like:
text.multiStroke(['#ff0000', 6], ['#ffff00', 12]);
It would automatically sort the layers by thickness so they are rendered in the correct order.
I'm wondering if this can be done already, but didn't see anything in the text examples.

This seems too specialized..
..but a little example of such an a effect be neat.

Hi pnstickne,
This is actually a common text treatment for my client. I am using it for level names in my game. Currently I have to cut this as a graphic, but if I had this capability I could use text.

Here is the client using the technique:

Here are some examples from a Google image search.

Anyway, I think it would be a cool feature that I'm guessing wouldn't be too difficult to implement.

Actually I don't think it's possible to implement at all. Strokes on Text elements are handled by the Canvas API itself, and they certainly have no support for multi-strokes in there. Which means it would need coding specifically, and is never going to look as good as Photoshop can manage it.

Bummer. Yeah, I had just edited my comment after scrutinizing the images more closely. Many of them require touching up in Photoshop to get the final effect.

You can use a drop shadow and a stroke together, which with the right settings allows for a double layer outline at least - but it's never as precise or smooth as the images posted above.

@bvargish I've got around this in the past by having two text objects layered on top of one another. The text object at the back has a larger stroke which shows around the sides. It's not perfect but can work in some cases.

That works pretty well actually! I had to re-align the text layers based on the stroke thickness, but due to the fraction pixel issue the layers are slightly off unless using all odd or even numbers. So instead of 14, 9 here I'd have to use 14, 10 or 15, 9 to make it perfect. It doesn't exactly match my original graphic, but pretty darn close.
var myText = multistroke('ANTSY ANTICS', '20px bpreplaybold', '#FFF', ['#000', '#a8bf38'], [14, 9]);
myText.x = 100;
myText.y = 100;
levelSelect.add(myText);
function multistroke(chars, font, fill, stroke, strokeThickness) {
var multistroked = game.add.group();
for (var i = 0; i < stroke.length; i++) {
var text = game.add.text(-strokeThickness[i] / 2, -strokeThickness[i] / 2, chars, {
font: font,
fill: fill
});
text.stroke = stroke[i];
text.strokeThickness = strokeThickness[i];
multistroked.add(text);
}
return multistroked;
}

Oh duh, nevermind. I forgot that I was rounding pixels by doing this:
game.renderer.renderSession.roundPixels = true;

I'm going to close this off. It's not a feature I think is vital enough to include in the core, and looks like it can be resolved with a little creative coding re: above.

See http://www.html5gamedevs.com/topic/17730-multistroked-text-function/ for my final function.


Thoughts on smaller methods, and more on extensibility

Hi @yihong0618, thanks for building this great project! As I have touched more on it, I came up with some thoughts to share with you.
Separate the methods
Currently, the project is relatively short - only several hundreds of code. However, there is still space of improvement, especially in further separate the methods into smaller ones or into their own modules. e.g.
utility:

File system management utils (create temp & remove temp directories and files)
File processing utils (dealing with anything with creating  intermediate helper files to be processed by bs4 or cssutils)
HTML processing utils (mainly bs4 relevant)
CSS processing utils (cssutils-relevant)

and
pluggable functionality module:

direction-changing module
openCC convert module
punctuation convert module

and
User Interface:
It can be totally decoupled from utility and pluggable functionality module:,
e.g.

CLI that contains both args parsing and CLI output
Since it's already decoupled, it can unblock EPUBHV's potentials to be integrated into various services. e.g. can be exposed to https://github.com/yihong0618/bilingual_book_maker as an optional module too.

Let me how you think about it :)

of course strongly agree with you just go for it.
to be honest, bilingual_book_maker is kind of out of control because of we messed up the code, and I lost interest to add more feature on it, so just do it, and really thanks~

@yihong0618 Thanks! I will do when I got more time later (I've been totally packed this week). Meanwhile, it would be great if other contributors are interested in this refactoring.

OK, I pin this issue


Example error

Hi, interesting looking tool!
I'm getting an error similar to nicoguaro's on the example. Using footballdata installed via pip with Python3.6 I get KeyError: 'premier-league_matches'
when running :
games = five38.read_games()
games.sample(5)

I do have FiveThirtyEight_1617.json in the data directory, and / or a renamed version for this year. Has too much changed on FiveThirtyEight for this to work, or did I break something?

I can't reproduce this. Did you use the json file from this repo?
fivethirtyeight.com did change the way they publish their data. As far as I can tell it is now embedded in obfuscated javascript. It would be possible to create a webscraper to get the data, but I haven't had time for this.

I'll have a play and see whether I get anywhere.


chore: Grouping & reorganisation for multiple widgets

Description
Grouping & reorganisation implemented for the following widgets:

Text Widget
Rating Widget
Divider Widget
Progress Widget
List Widget
Tab Widget
IFrame Widget
Statbox Widget
Modal Widget

Fixes #15662
Fixes #15663
Fixes #15665
Fixes #15666
Fixes #15667
Fixes #15668
Fixes #15669
Fixes #15670
Fixes #15671
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Manual

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

/ok-to-test sha=b0e432c

/ok-to-test sha=b0e432c


Android: Updating badge number not working when app is in background or closed state.

Hi there.
I've problem with updating badge number.
on iOS,  appIcon badge number automatically updated everytime when I get push notification even the app is in background or closed.
but on Android, appIcon badge number is only changed when app is in foreground and if the app is in background or closed state, I receive fcm push notification but the app badge icon is not automatically changed.
I don't want to go on with FCM.setBadgeNumber(), because if I call it in javascript code, it will not fired when app is closed or in background and it will not work too.
So is there anyway to update badge number automatically when getting push notification even the app is closed on Android?
Do I need to run kind of background service or task which calls FCM.setBadgeNumber() to achieve this?
iOS is really working well and I want Android should working same as iOS.
My message payload looks like this.
message = {   to: 'push token',   data: { badge: 3 }, // for Android badge number and only works when app is alive.   notification: {     title: 'xxx',     body: 'xxx',     badge: 3 // for iOS badge number and this changes iOS app badge count even app is closed.   } };
Thanks

hi @binzailani3136 I'm not expert on the badge implementation and I don't have android device that supports badge to test.
If you can debug the android solution, try check if BadgeHelper.java's setBadgeCount gets called correctly.

Hi @binzailani3136 Do you find a solution for this? I'm with the same problem.

+1 same here
{
"react": "16.0.0-alpha.12",
"react-native": "0.45.1",
"react-native-fcm": "^9.1.0", or 7.5.1
}

can you try set "content_available": true and "priority": "high"?

solved this problem?

Facing same problem...

any solution ?

me too. can't make it work on Android

I am facing the same issue. I used the below format to send notification but still it doesn't show the badge number on app icon when the app is in background or killed. But it does update the badge number when the app is in active state. The sound works fine when app is in background or kill state.
{
"to":"FCM_DEVICE_TOKEN",
"data": {
"custom_notification": {
"body" : "Test body",
"title": "Test title",
"badge": 15,
"sound": "default",
"content_available": true,
"priority":"high",
"show_in_foreground": true
}
}
}

@tawsifalam - put badge number in data payload instead of custom_notification
var payload ={
                    data: {
                        custom_notification: JSON.stringify({
                        ...
                        }),
                        badge: '15',
                    }
                }

@shekharskamble I did that and it works only when the app is in foreground. It doesn't update or show badge count when the app is in killed or background state.

same problem, is there any solution to fix?
"react": "16.3.1",     "react-native": "0.55.4",     "react-native-fcm": "^16.0.0",

facing same issue 😢 . I can't update badge on Android when app in background state. but IOS is auto trust notification badge, everything is ok on IOS.
Any solution ?

I'm resolved. Badge worked on Android when app state is background and forefround. I'm using brozot/Laravel-FCM to push notification. I'm manage badge on serve. With Android devices, i pass only Data builder, so badge is fine.
Here is my source using laravel and fcm package:
    $token = 'Your Device Token Here ';
    // Option builder
    $optionBuilder = new OptionsBuilder();
    $optionBuilder->setTimeToLive(60 * 20);
    $option = $optionBuilder->build();
    // Data builder
    $dataBuilder = new PayloadDataBuilder();
    $dataBuilder->addData([
        'custom_notification' => [
            "sound" => "default",
            "priority" => "high",
            "show_in_foreground" => true,
            "opened_from_tray" => 1,
            "title" => "test title",
            "body" => "test body",
            "type" => "2" // Custom data
        ],
        'badge' => 6,
    ]);
    $data = $dataBuilder->build();

    \FCM::sendTo($token, $option, null, $data);

References: http://faysal515.xyz/2018/06/react-native-push-notifications-counter-implementation/

Anyone able to resolve this issue. Working fine on IOS but on Android, badge is not updated in background or closed mode.
Thanks !

badge is for ios
With android you need number
See https://github.com/evollu/react-native-fcm/blob/master/Examples/simple-fcm-client/app/App.js#L93

Hi Everyone,
This issue has been around for a while but I was wondering if anyone has found a solution. In our application, the badge count is getting updated but it is adding the badge count every time a new notification comes in. For example, if the current badge count is 5 and a push notification comes with a badge count of 6, then instead of setting the badge count to 6, it will set it to 11, i.e. it adds 5 to 6 instead of replacing it.
It would be great if anyone could give some insight into the solution to this problem. iOS automatically updates the badge count using the payload but Android is not complying.
Regards,
AJ

hi @ajinkyap7 ,
There could be various ways of implementing badgecount in android.One of the ways could be
Store badgeCount at server/database table. Everytime you send push notification, retrieve from server/database  and   add + 1 while sending it. In my application, I am using firebase to store badgecount for each user. And count on the mobile app comes correct
This solution is quite general. if you post your implementation , it would be more easier to get solution. It would be nice to see how your FCM payload from server looks like

Hi @gitpayal ,
Thanks for the reply. At least the thread is still going :)
Regarding the payload, we are using the following structure:
{
"title": "MESSAGE_TITLE",
"body": "MESSAGE_BODY",
"badge": BADGE_COUNT
}
In the above JSON, BADGE_COUNT is an integer so while sending the push notification, the actual badge count, for example 5, will be sent. This badge count is the current number that should be shown on the App Icon (or in the list after long-pressing the app icon from Android 8.0 onward)
We are also using Firebase Push Notifications in the application. Everything works well for iOS (payload is different though) but for Android the badge count doesn't get updated the way it should.
Let me know how you implemented the badge count in your application. It may prove to be helpful.
Regards,
AJ

in your index.js file add this and make sure you PushNotification.configure outside of a component
    async (remoteMessage) => {
             PushNotification.setApplicationIconBadgeNumber(parseInt(remoteMessage?.data?.badge));
    });


Two simple modules hang the extension

Example:
$ cat a.f90
module a
implicit none

integer :: x

contains

    subroutine f(n)
    integer, intent(in) :: n
    print *, n
    end subroutine

end module
$ cat expr2.f90
program expr2
use a, only: x, f
implicit none

x = (2+3)*5
print *, x
call f(x)

end program

Open expr2.f90, it will hang:

What's worse, even when I close VSCode, it will keep the lfortran-lsp extension running at 100% CPU:

It must be manually killed. That's bad.
LFortran seems to work:
$ lfortran --show-document-symbols --continue-compilation expr2.f90
[{"kind":2,"location":{"range":{"start":{"character":1,"line":0},"end":{"character":10,"line":12}},"uri":"uri"},"name":"a","filename":"a.f90"},{"kind":12,"location":{"range":{"start":{"character":5,"line":7},"end":{"character":18,"line":10}},"uri":"uri"},"name":"f","filename":"a.f90"},{"kind":13,"location":{"range":{"start":{"character":28,"line":8},"end":{"character":28,"line":8}},"uri":"uri"},"name":"n","filename":"a.f90"},{"kind":13,"location":{"range":{"start":{"character":12,"line":3},"end":{"character":12,"line":3}},"uri":"uri"},"name":"x","filename":"a.f90"},{"kind":12,"location":{"range":{"start":{"character":1,"line":0},"end":{"character":11,"line":8}},"uri":"uri"},"name":"expr2","filename":"expr2.f90"},{"kind":12,"location":{"range":{"start":{"character":5,"line":7},"end":{"character":18,"line":10}},"uri":"uri"},"name":"f","filename":"a.f90"},{"kind":12,"location":{"range":{"start":{"character":12,"line":3},"end":{"character":12,"line":3}},"uri":"uri"},"name":"x","filename":"a.f90"}]%

This happens with me as well,

This is now fixed, these two modules do not hang. There is another bug in these two files though: https://github.com/lfortran/lfortran-lsp/issues/55.


IndexError when using count_overlaps

Hi, I am trying to count the number of aligned fragments that occur in called peaks by overlapping aligned fragments from a bam file with peaks from a bed file. I read those in to data frames and then create pyranges objects with them:
sample_id = 'h3k27me3_R1'
pyr_seacr = pr.PyRanges(chromosomes=seacr_bed_i['chrom'], starts=seacr_bed_i['start'], ends=seacr_bed_i['end'])
pyr_bam = pr.PyRanges(df=bam_i)
pyr_bam_dict = {sample_id : pyr_bam}

This step seems successful, as when I print I get:
print(pyr_bam_dict)
print(pyr_seacr)

{'h3k27me3_R1': +--------------+-----------+-----------+--------------+------------+
| Chromosome   | Start     | End       | Strand       | Flag       |
| (category)   | (int32)   | (int32)   | (category)   | (uint16)   |
|--------------+-----------+-----------+--------------+------------|
| chr1         | 10410     | 10435     | +            | 83         |
| chr1         | 31292     | 31315     | +            | 83         |
| chr1         | 57460     | 57485     | +            | 147        |
| chr1         | 91169     | 91194     | +            | 147        |
| ...          | ...       | ...       | ...          | ...        |
| chrY         | 56835550  | 56835575  | -            | 99         |
| chrY         | 56842707  | 56842730  | -            | 163        |
| chrY         | 56855765  | 56855790  | -            | 99         |
| chrY         | 56863334  | 56863358  | -            | 163        |
+--------------+-----------+-----------+--------------+------------+
Stranded PyRanges object has 5,552,966 rows and 5 columns from 113 chromosomes.
For printing, the PyRanges was sorted on Chromosome and Strand.}
+--------------+-----------+-----------+
| Chromosome   | Start     | End       |
| (category)   | (int32)   | (int32)   |
|--------------+-----------+-----------|
| chr1         | 388639    | 388687    |
| chr1         | 393785    | 393833    |
| chr1         | 393974    | 394007    |
| chr1         | 396145    | 396182    |
| ...          | ...       | ...       |
| chrY         | 24325979  | 24326019  |
| chrY         | 25314241  | 25314300  |
| chrY         | 25326416  | 25326463  |
| chrY         | 26482440  | 26482484  |
+--------------+-----------+-----------+
Unstranded PyRanges object has 753,256 rows and 3 columns from 72 chromosomes.
For printing, the PyRanges was sorted on Chromosome.

However when I do frag_count_pyr = pr.count_overlaps(pyr_bam_dict, pyr_seacr) I get the error message:
Traceback (most recent call last):
  File "/home/repo/bin/python/reporting/main.py", line 72, in <module>
    parsed_args.func(parsed_args)
  File "/home/repo/bin/python/reporting/main.py", line 44, in gen_png
    fig.gen_plots_to_folder(output_path)
  File "/home/repo/bin/python/reporting/lib/figures.py", line 316, in gen_plots_to_folder
    plots, data = self.generate_plots()
  File "/home/repo/bin/python/reporting/lib/figures.py", line 240, in generate_plots
    self.load_data()
  File "/home/repo/bin/python/reporting/lib/figures.py", line 222, in load_data
    frag_count_pyr = pr.count_overlaps(pyr_bam_dict, pyr_seacr)
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pyranges/multioverlap.py", line 150, in count_overlaps
    res = features.apply_pair(gr, _count_overlaps, **kwargs)
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pyranges/pyranges.py", line 775, in apply_pair
    result = pyrange_apply(f, self, other, **kwargs)
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pyranges/multithreaded.py", line 268, in pyrange_apply
    result = call_f(function, nparams, df, odf, kwargs)
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pyranges/multithreaded.py", line 22, in call_f
    return f.remote(df, odf, **kwargs)
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pyranges/methods/intersection.py", line 106, in _count_overlaps
    sx.iloc[vc.index, 0] = vc.values
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pandas/core/indexing.py", line 692, in __setitem__
    iloc._setitem_with_indexer(indexer, value, self.name)
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pandas/core/indexing.py", line 1637, in _setitem_with_indexer
    self._setitem_single_block(indexer, value, name)
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pandas/core/indexing.py", line 1861, in _setitem_single_block
    self.obj._mgr = self.obj._mgr.setitem(indexer=indexer, value=value)
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 568, in setitem
    return self.apply("setitem", indexer=indexer, value=value)
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pandas/core/internals/managers.py", line 427, in apply
    applied = getattr(b, f)(**kwargs)
  File "/opt/conda/envs/reporting/lib/python3.8/site-packages/pandas/core/internals/blocks.py", line 1029, in setitem
    values[indexer] = value
IndexError: index 344275 is out of bounds for axis 0 with size 1

Thank you in advance for taking a look!

^sorry, accidentally trigger happy when trying to upload the example data!

test_bam_1.csv.gz
test_bam_2.csv.gz
test_bam_3.csv.gz
test_bam_4.csv.gz
test_bed.csv.gz

I installed a live version of the code to see if I could do some debugging. It looks to me to be an error that would occur when the pyranges objects have ranges for more than one chromosome (indeed it works when I do count_overlaps for only one chromosome but errors for data with multiple). I have got it to run by replacing line 106 in intersection.py from
sx.iloc[vc.index, 0] = vc.values

to
sx.iloc[(vc.index - vc.index[0]), 0] = vc.values

It produces a reasonable looking result, but perhaps this attempted fix is wreaking havoc somewhere else that I cannot see!

Weird. It was not that fragile before. Perhaps pandas has changed
underneath? Will investigate.
On Tue, May 4, 2021 at 4:32 PM charlotte-west @.***>
wrote:

I installed a live version of the code to see if I could do some
debugging. It looks to me to be an error that would occur when the pyranges
objects have ranges for more than one chromosome (indeed it works when I do
count_overlaps for only one chromosome but errors for data with multiple).
I have got it to run by replacing line 106 in intersection.py from
sx.iloc[vc.index, 0] = vc.values
to
sx.iloc[(vc.index - vc.index[0]), 0] = vc.values
It produces a reasonable looking result, but perhaps this attempted fix is
wreaking havoc somewhere else that I cannot see!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/biocore-ntnu/pyranges/issues/184#issuecomment-831988467,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHURUS3HROGRCKI3PBVB23TMAAQZANCNFSM43326JVQ
.

Have you tried pyr_bam.count_overlaps(pyr_seacr) ? :)
If you do help in the REPL you'll see docs with examples.
help(pr.count_overlaps)
help(pyr_bam.count_overlaps)
Tell me if the above suggestion does not work :)
On Tue, May 4, 2021 at 4:46 PM Endre Bakken Stovner @.***>
wrote:

Weird. It was not that fragile before. Perhaps pandas has changed
underneath? Will investigate.
On Tue, May 4, 2021 at 4:32 PM charlotte-west @.***>
wrote:

I installed a live version of the code to see if I could do some
debugging. It looks to me to be an error that would occur when the pyranges
objects have ranges for more than one chromosome (indeed it works when I do
count_overlaps for only one chromosome but errors for data with multiple).
I have got it to run by replacing line 106 in intersection.py from
sx.iloc[vc.index, 0] = vc.values
to
sx.iloc[(vc.index - vc.index[0]), 0] = vc.values
It produces a reasonable looking result, but perhaps this attempted fix
is wreaking havoc somewhere else that I cannot see!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/biocore-ntnu/pyranges/issues/184#issuecomment-831988467,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHURUS3HROGRCKI3PBVB23TMAAQZANCNFSM43326JVQ
.

Yes it looks like that has worked, thank you! Sorry, I should have seen that syntax. I was going off of another syntax that I saw in the documentation pr.count_overlaps(grs, gr). Thanks again!

No problem. Learning a new API is difficult :)
On Tue, May 4, 2021 at 6:07 PM charlotte-west @.***>
wrote:

Closed #184 https://github.com/biocore-ntnu/pyranges/issues/184.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/biocore-ntnu/pyranges/issues/184#event-4684305203,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHURUTI6WEYRIGPNQUFC63TMALT5ANCNFSM43326JVQ
.


Websocket Handshake Unexpected Error

I am using Chrome and accessing droppy on my docker in Synology device but I could not be able to access droppy page due to the websocket connection error: WebSocket connection to 'wss://drop.DOMAINNAME.com/!/socket' failed: Error during WebSocket handshake: Unexpected response code: 307
It works well via HTTP with port number but it does not work with the domain secured by HTTPS.
Error occurs at "client.js:1"
What should I do to resolve this problem?

I'm running droppy 11.1.0 on node 12.15.0, on ubuntu bare metal (not docker), behind nginx proxy.
It works fine in Firefox.
In Chrome, I get: WebSocket connection to 'wss://73k.us/drop/adam/!/socket' failed: HTTP Authentication failed; no valid credentials available
If I use the local IP+port instead, it works in chrome.

If you are using Nginx do something like that:
location /droppy/ {
			rewrite /droppy/(.*)$ /$1 break;

			proxy_ssl_server_name on;
			proxy_pass http://app_droppy;
			proxy_redirect off;
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
			proxy_set_header Host $host;
		}
	}

I also had that problem and I solved it by adding the headers.

For me, my websocket Auth failed issue is dependent on the browser cache.
My droppy is ok on some computers, in all browsers, and only fails on two computers in Chrome.
For the browsers where this websocket auth error occurs, if I go to the devtools (F12), the Application area, click "Clear Storage" under Application, and then with everything checked for the site, click "Clear site data" button, and reload droppy, I'm able to sign in and everything loads fine.

So others looking for the solution: All I had to do was add the header lines mentioned above to fix the problem.


[Event Bus] Future

This epic is part of the Event Bus work documented in https://github.com/openedx/platform-roadmap/issues/28.
This epic can be used for future event bus tasks that don't yet fall into an existing planned epic/milestone. Tasks can be moved from this milestone to a planned milestone as-needed.
Milestone Details:

Title: [Event Bus] Future
Description: See https://github.com/openedx/openedx-events/issues/74 for Epic details.
Due Date: n/a

Open issues/PRs with this milestone: https://github.com/pulls?q=is%3Aopen+milestone%3A"[Event+Bus]+Future"

@mariajgrimaldi: See https://github.com/openedx/platform-roadmap/issues/28 and links at the top of this issue for details of how we are handling this. It's unclear if you are trying to fill in a gap in this, or just weren't aware of how we are trying to track this work.

Alright, thanks for the context @robrap. Sorry for the lack of context. I'm not sure this was the best place to post about this, but I wanted your opinion since most of the issues are event-bus related & also your involvement with the library. Anyway, I was considering creating a project -for the library itself- where all the issues and their status could be gathered mainly to keep track of the library roadmap (all the issues/PR(s)/improvements).

No worries @mariajgrimaldi. I really just wanted to understand the context of your proposal. If something becomes a challenge around this, just let us know and we'll find a solution. If you create a project for the library itself, we can see then if you want to include the event-bus issues.

Update: We are now tracking epics with a custom field on our board, rather than milestones.

Hello @mariajgrimald.

As noted above, we've switched from milestones to a project view, but this is a team project view for arch-bom.
It may be that some event bus work could move (or be duplicated) in a more public github project soon. I'm not sure who will be the audience though, so I don't know whether it is needed.


Have TileStorage iterator have items that are Entity rather than Option<Entity>.

This works better in terms of the ergonomics, as the user only has to iterate over tiles that exist.

Part of the issue here that is sparse tilemaps require Option or a HashMap but the HashMap's random access is slow. Maybe something like this could be used:
https://crates.io/crates/sparsevec

I did some quick benchmarking with HashMap Tilemaps with different filling grades of the Tilemaps. I could not really find a big performance difference. The overhead of the HashMap easily compensates the wins in iterating. But more thorough benchmarks may be necessary.

I did some quick benchmarking with HashMap Tilemaps with different filling grades of the Tilemaps. I could not really find a big performance difference. The overhead of the HashMap easily compensates the wins in iterating. But more thorough benchmarks may be necessary. I think if one iterates very often over the tiles there may be some gains possible.
Edit: I also tested SparseVec with the same results.

I mainly found issues when dealing with very massive tile maps, but yeah we should maybe benchmark and see what kind of performance we can get. I think if we upscaled the accessing_tiles example to have say a 100k tiles it might be a good refection  on how well it performs across different tile storages mediums.


Docker Compose help

Hey i have configured the docker compose and deploying using portainer.
I receive the error below:
I expect this docker image should install CS to the below directories? Or am i wrong? new to this kind of thing but learning as i go along! appreciate the help.
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
Error! App '730' state is 0x202 after update job.
cp: cannot create regular file '/home/steam/cs2-dedicated/game/csgo/cfg/server.cfg': No such file or directory
sed: can't read /home/steam/cs2-dedicated/game/csgo/cfg/server.cfg: No such file or directory
entry.sh: line 71: cd: /home/steam/cs2-dedicated/game/bin/linuxsteamrt64: No such file or directory
pre-hook: noop
Starting CS2 Dedicated Server
entry.sh: line 104: ./cs2: No such file or directory
post-hook: noop
Memory is fine!
root@bradserver / # df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           6.3G  1.1M  6.3G   1% /run
/dev/md2        9.8G  6.4G  2.9G  69% /
tmpfs            32G     0   32G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/md1       1005M  255M  700M  27% /boot
/dev/md4        449G   35G  392G   9% /home
/dev/md3        5.0G   68M  4.9G   2% /tmp
tmpfs           6.3G     0  6.3G   0% /run/user/0
overlay         9.8G  6.4G  2.9G  69% /var/lib/docker/overlay2/1de4506c67d85ba7ecdae3c34f2451b7a7e3c03ed4564b89af8ef0760982dc9f/merged

Full pastebin here: https://pastebin.com/CC7bUBDy
Really would appreciate the help guys! banging my head :)

root@bradserver /home # docker run -d --name=cs2 -e SRCDS_TOKEN=552F39806FC92A7EF834536085279DD9 -v $(pwd)/cs2-data:/home/steam/cs2-dedicated/ -p 27015:27015/tcp -p 27015:27015/udp -p 27020:27020/tcp joedwards32/cs2
++ pwd

docker run -d --name=cs2 -e SRCDS_TOKEN=fdsfds -v /home/cs2-data:/home/steam/cs2-dedicated/ -p 27015:27015/tcp -p 27015:27015/udp -p 27020:27020/tcp joedwards32/cs2
cd01d1c60a2448db81adf21177b5f339b924a2aa2aefde59a1ea917eb0500a52

Interesting, the above worked. What retrospective changes do i need to make in my compose file for this to work?

Duplicate of #101
You didn't paste your docker-compose file, but the error indicates the container ran out of disk space:
Error! App '730' state is 0x202 after update job.

Double check that you define the bind mount from your docker run command: -v /home/cs2-data:/home/steam/cs2-dedicated in your docker-compose file.

Apologies should of wrote back!
Yes I didn't use the persistent mount when launching it and it was complaining.
Appreciate it.


Treat breadcrumbs as links

Also "leader" hints are removed (we assume a tablet is a leader by default now)

Tablet leader text is a separate issue, please split such changes to separate PRs further


feat: start monitoring manually on non current contexts

Signed-off-by: Philippe Martin<EMAIL_ADDRESS>What does this PR do?
Start monitoring manually on non current contexts
Send telemetry when:

monitoring is started for a non-current context (from Settings > Kubernetes page)
monitoring is retsarted from the current context (from any Kubernetes resource page)

Note that, when changing the current context, all monitoring started manually are stopped, and not restarted. This may be covered in follow-up PR, depending on the usage seen in telemetry
Screenshot / video of UI

What issues does this PR fix or reference?
Fixes #10323
How to test this PR?

[x] Tests are covering the bug fix or the new feature

Screen.Recording.2024-12-13.155204.mp4
Is expected to "restart monitoring" when switching default context?

Yes, this is expected for now:

Note that, when changing the current context, all monitoring started manually are stopped, and not restarted. This may be covered in follow-up PR, depending on the usage seen in telemetry

I have a shared opinion, I understand the need but from a user POV, it does not really make sense, "Monitoring" mean nothing to a user ?
I feel like a user would only expect "connect | disconnect"...


add cifar10-resnet160.log

thanks. please consider also change the resnet-164 result in the repo reamdme~


Angular Material official site is NOT RESPONSIVE on small devices.

What is the expected behavior?
Responsive on small devices.
What is the current behavior?
Not responsive on small devices.
What are the steps to reproduce?
I use Chrome Dev Tool to check if the site responsive on small devices, but it's not.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?

Angular, Material, TypeScript: latest version.
OS: MacOs.
Browser: Chrome.

Is there anything else we should know?

Looks like some pages, namely component documentation, stop responding at about 450 px when using emulation mode in development tools. When I pulled up the same pages on my OG pixel, Which is about 400px, The issue did not occur. Can anyone confirm that this issue occurs on mobile devices, and not just in emulation mode?

I tried testing this and everything seems to work as expected on small screens. I'm guessing that the issue popped up from changing mobile screen sizes while the app was loaded (which could break the layout, since real devices never change screen size). Feel free to open a new issue if you have further details.


Perform actions on GitHub without redirecting

The screenshot on Chrome Web Store indicates that at least we can do some search in the side pane while browsing GitHub.

But now there is only a file tree. Search, Go To Definition and Find References will be redirected to sourcegraph.com. I'm new to sourcegraph, so I don't know if I'm missing something, but I couldn't find relevant information on Chrome Web Store, issues in this repo or any change notes.
Is it possible that I

view source code on GitHub
hover on something interesting
click Go To Definition
get a new github page that contains the definition?

Now in the final step I would be redirected to sourcegraph.com/something-definition and then click View on GitHub to jump back to GitHub.
BTW, what is the advanced option Sourcegraph URL for?
PS. The video in readme.md could not be played (https://github.com/sourcegraph/sourcegraph-browser-extensions/blob/master/README.md)

The search feature no longer lives in the file tree, but instead takes over the GitHub search bar in the header.  You can toggle this on and off by clicking the Sourcegraph logo.  We'll update the screenshot soon, thanks for bringing this up!
Our extension currently only supports jumping to Sourcegraph. We are considering other options for the future, but at the moment the extension is designed to bring you to Sourcegraph.
The advanced Sourcegraph URL option is for those who are running their own Sourcegraph server and want to get code intelligence from their own instance of Sourcegraph.

Got it. Thanks for your awesome work.


Test video file for example video_on_demand

I'm assuming the file hosted in
http://www.live555.com/liveMedia/public/264/test.264
damaged

Sorry, I was wrong. This file is normal.


Fix for istio-proxy-cfg.py backtrace when pod has no labels

See https://github.com/istio/issues/issues/199

/lgtm

/assign @yutongz

This is a one-line change to a utility.  It needs an approval from @yutongz .  Everything passed except a lint on a line that is unrelated to this change.
The issue is https://github.com/istio/issues/issues/199 which I cannot link this PR with because it is in a different repository.
What do I need to do to move this forward?


Feature/webapp strategy

Coverage increased (+43.8%) to 100.0% when pulling<PHONE_NUMBER>b71d5694278d31c8e489eda59784a3 on feature/webapp-strategy into 776cef935f0a9130fd469d87aa2e368a5d2ca432 on development.

Coverage increased (+43.8%) to 100.0% when pulling 9920af8a9d767c93293f7c08cd86531211ad14e9 on feature/webapp-strategy into 776cef935f0a9130fd469d87aa2e368a5d2ca432 on development.


Clean up dialog event hide reasons

There were a lot of places where we either weren't capturing the hide reason or had an incorrect reason. This mostly cleans them up.
The whole cancel/close/ok thing is a huge mess across all these dialogs - I didn't want to start trying to make sense of that all and so just kept my changes extremely minimal (hence why you see weird stuff like calling close with 'cancel')

Pull Request Test Coverage Report for Build 623010436

6 of 26 (23.08%)  changed or added relevant lines in 13 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.003%) to 43.272%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/contrib/charts/browser/configureChartDialog.ts
0
1
0.0%

src/sql/workbench/services/accountManagement/browser/autoOAuthDialog.ts
0
1
0.0%

src/sql/workbench/services/connection/browser/connectionDialogService.ts
2
3
66.67%

src/sql/workbench/services/dialog/browser/customDialogService.ts
0
1
0.0%

src/sql/workbench/services/accountManagement/browser/accountDialog.ts
0
2
0.0%

src/sql/workbench/services/resourceProvider/browser/firewallRuleDialog.ts
0
2
0.0%

src/sql/workbench/browser/modal/modal.ts
0
3
0.0%

src/sql/workbench/browser/modal/optionsDialog.ts
0
3
0.0%

src/sql/workbench/services/dialog/browser/dialogModal.ts
0
3
0.0%

src/sql/workbench/services/dialog/browser/wizardModal.ts
0
3
0.0%

Files with Coverage Reduction
New Missed Lines
%

extensions/import/src/wizard/pages/fileConfigPage.ts
3
72.99%

Totals

Change from base Build 622982231:
-0.003%

Covered Lines:
25208

Relevant Lines:
53187

💛  - Coveralls


Update API Urls

Update the API URLs as soon as (these) changes uploaded to server.

Updating as follows:
validationtestdef --> tests
validationtestscode --> test-instances
validationmodelresultrest2 --> results
scientificmodel --> models
scientificmodelinstance --> model-instances
scientificmodelimage --> images


I NEED HELP URGENTLY!!! Error when running second cell of the pre-release notebook

I am using Deforum for a school project that is due tomorrow. When running the second cell of the pre-release notebook found on this repository I get the error:
The cache for model files in Transformers v4.22.0 has been updated. Migrating your old cache. This is a one-time only operation. You can interrupt this and resume the migration later on by calling transformers.utils.move_cache().
0/0 [00:00<?, ?it/s]
ImportError                               Traceback (most recent call last)
 in <cell line: 6>()
4 from types import SimpleNamespace
5 from IPython.display import display
----> 6 from deforum import Deforum, DeforumConfig, GenerationArgs
7 from diffusers.utils import load_image
8 from deforum.utils.image_utils import ImageHandler
7 frames
/usr/local/lib/python3.10/dist-packages/deforum/backend/mixins/stable_diffusion/stable_base_mixin.py in
15 )
16 from diffusers.schedulers import KarrasDiffusionSchedulers
---> 17 from diffusers.utils import deprecate, randn_tensor
18 from loguru import logger
19 from packaging import version
ImportError: cannot import name 'randn_tensor' from 'diffusers.utils' (/usr/local/lib/python3.10/dist-packages/diffusers/utils/init.py)

NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.
To view examples of installing some common dependencies, click the
"Open Examples" button below.
I really need help guys, or I might fail this project. PLEASE!!!!!!!!!!!

Just run this before importing - pip install diffusers==0.20.2
It will be fixed! 😊


Error: EACCES: permission denied

I can't install Electron
/usr/local/lib/node_modules/electron-prebuilt/install.js:22
  throw err
  ^

Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/electron-prebuilt/electron-tmp-download-38084-1450324686168/electron-v0.36.0-darwin-x64.zip' -> '/Users/andyfang/.electron/electron-v0.36.0-darwin-x64.zip'
    at Error (native)
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "electron-prebuilt"
npm ERR! node v5.1.0
npm ERR! npm  v3.5.2
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>postinstall: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'node install.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the electron-prebuilt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node install.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs electron-prebuilt
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls electron-prebuilt
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/andyfang/Desktop/platformatr/app/npm-debug.log

I tried https://github.com/mafintosh/electron-prebuilt/issues/27#issuecomment-128760028 but get
[electron-prebuilt] sudo npm link                   master  ✭ ✱
Password:
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "link"
npm ERR! node v5.1.0
npm ERR! npm  v3.5.2

npm ERR! Cannot read property 'target' of null
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/andyfang/Desktop/platformatr/app/test/node_modules/electron-prebuilt/npm-debug.log

Hmm, could you try https://github.com/mafintosh/electron-prebuilt/issues/27#issuecomment-158757793 ? Seems to be a weird thing with permissions. I was never able to reproduce this on my machine...

Tried it but got
[electron-prebuilt] sudo npm link                   master  ✭ ✱
Password:
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "link"
npm ERR! node v5.1.0
npm ERR! npm  v3.5.2

npm ERR! Cannot read property 'target' of null
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/andyfang/Desktop/platformatr/app/test/node_modules/electron-prebuilt/npm-debug.log

try this? https://github.com/electron-userland/electron-prebuilt/issues/48#issuecomment-197950793

Thank you @ariu, your reference works

Here's @ariu's solution:

had the same problem.
Solved with this:
rm -Rf ~/.electron/
then it worked
sudo npm install electron-prebuilt -g

Marking this issue as resolved. Thanks!


[Feature]: Support Cosmos DB as an alternative to MongoDB

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Appsmith requires MongoDB today, as it's the database to store all application data.
Azure Cosmos DB is a globally distributed, multi-model database service offered by Microsoft Azure. Appsmith needs to be compatible with Cosmos DB as well so that it can be run with DocumentDB instead of MongoDB.
Why should this be worked on?
Some self-hosted users are using Azure and it would enhance their experience it they can use Cosmos DB instead or MongoDB for storing Appsmith's application data.
 Front conversations

We're undertaking a migration to mongoDB so this should be solved


Add ipc-notify program for custom scripting

This PR adds a slightly modified version of ipc_read enabling functionality similar to hooks. The program accepts an additional --command parameter which is expected to be a path to a script/program. Once a message arrives the specified program is called with the message as the first parameter.
Autostarting this program on boot enables the user to execute custom scripts/programs on any event.
Example
ipc_notify -n 2 -c "/bin/ash /tmp/sd/yi-hack/script/echo_event.sh"

echo_event.sh
#!/bin/ash

echo "${1}"

Thank you for your PR.
Can I add this feature to the other repos?
MStar and Allwinner?

Sorry, I was on vacation. Sure, feel free to use it in the other repos as well :slightly_smiling_face:


Manual cherry-pick Add webhook for limit 64 char name+np

The 63-character limit validation for policy name is not working while creating a Policy via CLI.
Policy creation - Policy name + namespace name can’t go longer than 63 From CLI, it possible to create a policy with a name like “policy-check-setupjob-setupjob-operator-installer” with no issue; but, while wanting to edit it, we can’t.
Getting this error: “The combined length of namespace and policy name (namespaceName.policyName) should not exceed 63 characters (see attached screenshot)
Ref: https://issues.redhat.com/browse/ACM-3558

Resolve makefile conflict issue

Signed-off-by: Yi Rae Kim<EMAIL_ADDRESS>(cherry-picked from commit c93f938892c18f3fe84655246ee1a92a963ad62e)

@yiraeChristineKim once this merges, please close https://github.com/stolostron/governance-policy-propagator/issues/418.


Publish a Dockerfile for yt2doc

In order to make it work in Docker, we need to allow specifying the Ollama URL (for now yt2doc just hard codes it as http://localhost:11434). This should require little work.

Resolved by https://github.com/shun-liang/yt2doc/pull/39
https://github.com/shun-liang/yt2doc?tab=readme-ov-file#run-in-docker


Make @retry_endpoint a default for all test

We currently use @retry_endpoint on endpoint tests to retry on HTTPError 504 or OSError (git clone race condition). It has being introduced in https://github.com/huggingface/huggingface_hub/pull/682 to improve stability of the CI. What's still annoying is that it is a decorator that has to be added to every test case individually -which is prone to forgetting. This PR updates the CI by automatically applying the retry mechanism to all tests.
(Note: if in the future we specifically want to opt-out some tests, it is still doable using a pytest.mark. But I don't see a reason to do it.).

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Thanks for the quick review!


Suggestion

Could you also try to add the old thinker anonymous text to speech tool I will hmget up later today and send you a link to it including the models

Hello tomas122727,
Do you mean tkinterAnon's TTS tool? I saw a video of it being used once but I have not played around with it myself. Hay Say is in desperate need of more TTS options, so I would definitely like to add it if possible. I look forward to receiving links to the tool and models from you.
Right now, I am working on adding RVC, and after that I would like to tackle the problem of Hay Say taking up so much hard drive space, so be aware that it may take a while for me to get around to adding TkinterAnon's tool.
Best,
HydrusBeta

yes sorry it was late when i typed that

Here is link to models (reminder Some Links Do Not work Anymore For Some Reason ask epople on PPP forumn to reuplaod them if possible and update links but some still work
https://docs.google.com/document/d/17VAnMQI4NJzu7UXZALs14AFvhpw8wvbLdA9HrA2xLus/edit
sending u a link to tksynthesis soon it also needs major updates and fixing i wonder if your able to do that possibly cause it stopped launching on my pc for some reason

https://mega.nz/file/O5R1yDgA#CbfceC-yk_X7-AbF8xIQz3QDHbg6w-35bHoSUrfd3Ig
new link to tksynthesis

tho atm i cant find the patch now im gonna see if i have that on my hardrive ill send it right away

ur in luck i do :D

Link to The Patch https://mega.nz/file/61Z3lRQC#zGOHT1Rv7yKHcpwo6xXGxDy-0QlPsSU70YbG9yl6s7o

you could also use tortoise tts include the training tabs and all that so ppl can train their models as normal on their to

I took a look at Tortoise about a month ago and managed to train a Rainbow Dash model. Here is some sample output:
https://files.catbox.moe/is2y8a.mp3
I'll plan on adding Tortoise to Hay Say in the near future, although it will only be for inference, not training. Using Hay Say for training is tricky because the user would need to load all of the audio training files into the docker container first and it is difficult to view or manipulate the files once they are loaded in. It would take a fair amount of work to make it more user-friendly and my guess is that not very many people would use it, so I'll focus on an inference UI.
Thanks for the links to tksynthesis, the patch file, and all the old Tacotron models. Although they're all crossed out in the doc, it seems that some of those models still exist.


fix parse reference incorrect of java.util.Arrays$ArrayList

What this PR does / why we need it?
fix #2096
Summary of your change
Please indicate you've done the following:

[x] Made sure tests are passing and test coverage is added if needed.
[x] Made sure commit message follow the rule of Conventional Commits specification.
[x] Considered the docs impact and opened a new docs issue or PR with docs changes if needed.

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

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (3f6275b) 75.34% compared to head (fceeeaf) 75.36%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #2097      +/-   ##
============================================
+ Coverage     75.34%   75.36%   +0.01%
- Complexity    21601    21608       +7
============================================
  Files           634      634
  Lines         85314    85314
  Branches      18906    18906
============================================
+ Hits          64277    64293      +16
+ Misses        13108    13105       -3
+ Partials       7929     7916      -13

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Create comparator folder and files

The comparator folder includes several files:
model/ contains the model file
spice/ contains the testbench spice file
scripts/ contains the python scripts
src/ contains the circuit netlist

I guess I have to move this PR to openfasoc-tapeout?

Yes @StanleyAlwaysLoveYou !


Make the add generator try and add component stuff to your importmap and tailwind config

This could also maybe be it's own command? Like a rails g cogs_ui:setup


Docker Swarm: Replicate traefik on all managers

One thing in favor of the env-var in STAG / MASTER might be: You can reduce in portainer the replicas to "1" and see everything in one container's logs.